KDevelop API Documentation

doctreeviewwidget.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 1999-2002 by Bernd Gehrmann                            *
00003  *   bernd@kdevelop.org                                                    *
00004  *   Copyright (C) 2002 by Sebastian Kratzert                              *
00005  *   skratzert@gmx.de                                                      *
00006  *                                                                         *
00007  *   This program is free software; you can redistribute it and/or modify  *
00008  *   it under the terms of the GNU General Public License as published by  *
00009  *   the Free Software Foundation; either version 2 of the License, or     *
00010  *   (at your option) any later version.                                   *
00011  *                                                                         *
00012  ***************************************************************************/
00013 
00014 #ifndef _DOCTREEWIDGET_H_
00015 #define _DOCTREEWIDGET_H_
00016 
00017 #include <qmap.h>
00018 #include <qstringlist.h>
00019 #include <qlayout.h>
00020 #include <qapplication.h>
00021 #include <qvbox.h>
00022 #include <qlineedit.h>
00023 #include <qcheckbox.h>
00024 
00025 #include <klistview.h>
00026 #include <ktabctl.h>
00027 
00028 
00029 class DocTreeItem;
00030 class DocTreeDoxygenFolder;
00031 class DocTreeBookmarksFolder;
00032 class DocTreeProjectFolder;
00033 class DocTreeDocbaseFolder;
00034 class DocTreeQtFolder;
00035 class DocTreeKDELibsFolder;
00036 class DocTreeTocFolder;
00037 class DocTreeDevHelpFolder;
00038 class DocTreeViewPart;
00039 class KDevProject;
00040 class CustomizeDialog;
00041 class QToolButton;
00042 class KHistoryCombo;
00043 class ChooseDlg;
00044 class DocLineEdit;
00045 
00046 class DocSearchDialog;
00047 
00048 class IndexTreeData
00049 {
00050 public:
00051     IndexTreeData(const QString &text, const QString &parent, const QString &filename);
00052 
00053     void setVisible(bool v)     { m_visible = v;}
00054 
00055     bool isVisible()            { return m_visible; }
00056     QString text()              { return m_text; }
00057     QString fileName()          { return m_filename; }
00058     QString parent()            { return m_parent; }
00059 
00060 private:
00061     QString m_text;
00062     QString m_parent;
00063     QString m_filename;
00064     bool m_visible;
00065 };
00066 
00067 class DocTreeViewWidget : public QVBox
00068 {
00069     Q_OBJECT
00070 
00071 public:
00072     DocTreeViewWidget(DocTreeViewPart *part);
00073     ~DocTreeViewWidget();
00074 
00075     void configurationChanged();
00076     void projectChanged(KDevProject *project);
00077 
00078     static QString locatehtml(const QString &fileName);
00079 
00080 private slots:
00081     void refresh();
00082     void slotConfigure();
00083     void slotConfigureProject();
00084     void slotItemExecuted(QListViewItem *item);
00085     void slotContextMenu(KListView *, QListViewItem *item, const QPoint &p);
00086     void slotJumpToNextMatch();
00087     void slotJumpToPrevMatch();
00088     void slotStartSearching();
00089     void slotHistoryReturnPressed ( const QString& );
00090     void slotSelectionChanged ( QListViewItem* );
00091     void slotAddBookmark();
00092     void slotRemoveBookmark();
00093 
00094     void slotFilterTextChanged(const QString &);
00095     void slotFilterReturn();
00096     void slotIndexItemExecuted(QListViewItem *item);
00097     void slotCurrentTabChanged(int);
00098     void slotSubstringCheckClicked();
00099     void slotIndexModeCheckClicked();
00100     void slotIndexNextMatch();
00101     void slotIndexPrevMatch();
00102     void slotIndexPgUp();
00103     void slotIndexPgDown();
00104     void slotIndexHome();
00105     void slotIndexEnd();
00106 
00107 protected:
00108     void searchForItem ( const QString& );
00109     bool initKDocKDELibs();
00110     void filterMultiReferences();
00111 
00112 private:
00113     bool kdelibskdoc;
00114     KListView* docView;
00115     QPtrList<QListViewItem> searchResultList;
00116 
00117     QListViewItem *contextItem;
00118     QPtrList<DocTreeDoxygenFolder> folder_doxygen;
00119 //    DocTreeKDELibsFolder *folder_kdelibs;
00120     QPtrList<DocTreeKDELibsFolder> folder_kdoc;
00121     DocTreeBookmarksFolder *folder_bookmarks;
00122     DocTreeDocbaseFolder *folder_docbase;
00123     DocTreeProjectFolder *folder_project;
00124     QPtrList<DocTreeTocFolder> folder_toc;
00125     QPtrList<DocTreeDevHelpFolder> folder_devhelp;
00126     DocTreeViewPart *m_part;
00127     QPtrList<DocTreeQtFolder> folder_qt;
00128 
00129     QHBox* searchToolbar;
00130 
00131     QToolButton* prevButton;
00132     QToolButton* nextButton;
00133     QToolButton* startButton;
00134     KHistoryCombo* completionCombo;
00135 
00136     DocTreeItem* m_activeTreeItem;
00137 
00138     KTabCtl *modeSwitch;
00139     QVBox *treeWidget;
00140     QVBox *indexWidget;
00141     DocLineEdit *filterEdit;
00142     KListView *indexView;
00143     QToolButton *subSearchButton;
00144     QToolButton *indexModeSwitch;
00145     int indexMode;
00146     bool subStringSearch;
00147 
00148     enum { filteredMode, plainListMode };
00149 
00150     QPtrList<IndexTreeData> indexItems;
00151 };
00152 #endif
KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Feb 22 09:22:39 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003