// // C++ Interface: annotationoutput // // Description: // // // Author: Andras Mantia , (C) 2005 // // Copyright: See COPYING file that comes with this distribution // // #ifndef ANNOTATIONOUTPUT_H #define ANNOTATIONOUTPUT_H #include #include /** @author Andras Mantia */ class TQDomDocument; class TQListViewItem; class TQTimer; class TDEListView; class TDEListViewItem; class MessageOutput; enum AnnotationScope { CurrentFile = 0, AllFiles }; class AnnotationOutput : public KTabWidget { TQ_OBJECT public: AnnotationOutput(TQWidget *parent = 0, const char *name = 0); ~AnnotationOutput(); MessageOutput *currentFileAnnotations() const {return m_currentFileAnnotations;} TDEListView *allAnnotations() const {return m_allAnnotations;} void writeAnnotations(const TQString &fileName, const TQMap > &annotations); public slots: /** * Scans the project files to see if there were annotations added or modified outside of Quanta. The scan is done in background. */ void updateAnnotations(); void readAnnotations(); void clearAnnotations(); void insertAnnotation(uint line, const TQString& fileName, const TQPair& annotation); private slots: void tabChanged(TQWidget *w); void allAnnotationsItemExecuted(TQListViewItem *item); void yourAnnotationsItemExecuted(TQListViewItem *item); void slotUpdateNextFile(); signals: void clicked(const TQString& fname, int line, int col); private: /** * Updates the annotation for a file. * @param url */ void updateAnnotationForFile(const KURL& url); MessageOutput *m_currentFileAnnotations; TDEListView *m_allAnnotations; TQDict m_annotatedFileItems; TQMap m_fileNames; TQMap m_lines; uint m_yourAnnotationsNum; TDEListView *m_yourAnnotations; TQDict m_yourFileItems; TQMap m_yourFileNames; TQMap m_yourLines; TQTimer *m_updateTimer; KURL::List m_files; uint m_fileIndex; }; #endif