classtooldlg.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 * Copyright (C) 1999 by Jonas Nordin * 00003 * jonas.nordin@syncom.se * 00004 * Copyright (C) 2000-2001 by Bernd Gehrmann * 00005 * bernd@kdevelop.org * 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 _CLASSTOOLDLG_H_ 00015 #define _CLASSTOOLDLG_H_ 00016 00017 #include <qdialog.h> 00018 #include <qlabel.h> 00019 #include <qtoolbutton.h> 00020 #include <qcombobox.h> 00021 #include <qlayout.h> 00022 #include "classtoolwidget.h" 00023 #include "parseditem.h" 00024 00025 class ClassViewPart; 00026 class ClassStore; 00027 class ParsedClass; 00028 00029 00030 class ClassToolDialog : public QWidget 00031 { 00032 Q_OBJECT 00033 00034 public: 00035 enum Operations { ViewParents, ViewChildren, ViewClients, ViewSuppliers, 00036 ViewMethods, ViewAttributes, ViewNone }; 00037 00038 ClassToolDialog( ClassViewPart *part ); 00039 ~ClassToolDialog(); 00040 00041 void setClassName(const QString &name); 00042 00043 public slots: 00044 00046 void viewNone(); 00048 void viewParents(); 00050 void viewChildren(); 00052 void viewClients(); 00054 void viewSuppliers(); 00056 void viewMethods(); 00058 void viewAttributes(); 00059 00060 private slots: 00061 void setLanguageSupport(KDevLanguageSupport *ls); 00062 void refresh(); 00063 00064 void delayedClose(); 00065 void slotClose(); 00066 void slotAccessComboChoice(const QString &str); 00067 void slotClassComboChoice(const QString &str); 00068 00069 00070 private: 00071 void updateCaptionAndButtons(); 00072 void buildTree(); 00073 00074 ClassToolWidget *class_tree; 00075 QComboBox *class_combo; 00076 00077 QToolButton *parents_button; 00078 QToolButton *children_button; 00079 QToolButton *clients_button; 00080 QToolButton *suppliers_button; 00081 QToolButton *methods_button; 00082 QToolButton *attributes_button; 00083 QComboBox *access_combo; 00084 00086 ClassStore *m_store; 00087 KDevLanguageSupport *m_ls; 00088 ClassViewPart *m_part; 00089 00091 ParsedClass *currentClass; 00093 PIAccess comboAccess; 00095 Operations currentOperation; 00096 }; 00097 00098 #endif