summaryrefslogtreecommitdiffstats
path: root/parts/classview/classtooldlg.h
diff options
context:
space:
mode:
Diffstat (limited to 'parts/classview/classtooldlg.h')
-rw-r--r--parts/classview/classtooldlg.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/parts/classview/classtooldlg.h b/parts/classview/classtooldlg.h
new file mode 100644
index 00000000..1ab8b5c1
--- /dev/null
+++ b/parts/classview/classtooldlg.h
@@ -0,0 +1,98 @@
+/***************************************************************************
+ * Copyright (C) 1999 by Jonas Nordin *
+ * jonas.nordin@syncom.se *
+ * Copyright (C) 2000-2001 by Bernd Gehrmann *
+ * bernd@kdevelop.org *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef _CLASSTOOLDLG_H_
+#define _CLASSTOOLDLG_H_
+
+#include <qdialog.h>
+#include <qlabel.h>
+#include <qtoolbutton.h>
+#include <qcombobox.h>
+#include <qlayout.h>
+#include "classtoolwidget.h"
+#include "parseditem.h"
+
+class ClassViewPart;
+class ClassStore;
+class ParsedClass;
+
+
+class ClassToolDialog : public QWidget
+{
+ Q_OBJECT
+
+public:
+ enum Operations { ViewParents, ViewChildren, ViewClients, ViewSuppliers,
+ ViewMethods, ViewAttributes, ViewNone };
+
+ ClassToolDialog( ClassViewPart *part );
+ ~ClassToolDialog();
+
+ void setClassName(const QString &name);
+
+public slots:
+
+ /** View nothing. */
+ void viewNone();
+ /** View the parents of the current class. */
+ void viewParents();
+ /** View the children of the current class. */
+ void viewChildren();
+ /** View all classes that has this class as an attribute. */
+ void viewClients();
+ /** View all classes that this class has as attributes. */
+ void viewSuppliers();
+ /** View methods in this class and parents. */
+ void viewMethods();
+ /** View attributes in this class and parents. */
+ void viewAttributes();
+
+private slots:
+ void setLanguageSupport(KDevLanguageSupport *ls);
+ void refresh();
+
+ void delayedClose();
+ void slotClose();
+ void slotAccessComboChoice(const QString &str);
+ void slotClassComboChoice(const QString &str);
+
+
+private:
+ void updateCaptionAndButtons();
+ void buildTree();
+
+ ClassToolWidget *class_tree;
+ QComboBox *class_combo;
+
+ QToolButton *parents_button;
+ QToolButton *children_button;
+ QToolButton *clients_button;
+ QToolButton *suppliers_button;
+ QToolButton *methods_button;
+ QToolButton *attributes_button;
+ QComboBox *access_combo;
+
+ /** Store that holds all classes in the system. */
+ ClassStore *m_store;
+ KDevLanguageSupport *m_ls;
+ ClassViewPart *m_part;
+
+ /** The class we are currently viewing. */
+ ParsedClass *currentClass;
+ /** The current exportstatus selected in the combo. */
+ PIAccess comboAccess;
+ /** Stores what operation the user selected last. */
+ Operations currentOperation;
+};
+
+#endif