summaryrefslogtreecommitdiffstats
path: root/umbrello/umbrello/dialogs/selectopdlg.h
diff options
context:
space:
mode:
Diffstat (limited to 'umbrello/umbrello/dialogs/selectopdlg.h')
-rw-r--r--umbrello/umbrello/dialogs/selectopdlg.h120
1 files changed, 120 insertions, 0 deletions
diff --git a/umbrello/umbrello/dialogs/selectopdlg.h b/umbrello/umbrello/dialogs/selectopdlg.h
new file mode 100644
index 00000000..c5d8c93b
--- /dev/null
+++ b/umbrello/umbrello/dialogs/selectopdlg.h
@@ -0,0 +1,120 @@
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ * copyright (C) 2002-2006 *
+ * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> *
+ ***************************************************************************/
+
+
+#ifndef SELECTOPDLG_H
+#define SELECTOPDLG_H
+
+#include <kdialogbase.h>
+
+#include <qgroupbox.h>
+#include <kcombobox.h>
+#include <qradiobutton.h>
+#include <qbuttongroup.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+#include "../classifier.h"
+
+class UMLView;
+
+#define OP 0
+#define CUSTOM 1
+
+/**
+ * A dialog used to select an operation.
+ *
+ * @short A dialog to select an operation.
+ * @author Paul Hensgen <phensgen@techie.com>
+ * Bugs and comments to uml-devel@lists.sf.net or http://bugs.kde.org
+ */
+
+class SelectOpDlg : public KDialogBase
+{
+ Q_OBJECT
+public:
+ /**
+ * Constructs a SelectOpDlg instance.
+ *
+ * @param parent The parent to this instance.
+ * @param c The concept to get the operations from.
+ */
+ SelectOpDlg(UMLView * parent, UMLClassifier * c);
+
+ /**
+ * Standard deconstructor.
+ */
+ ~SelectOpDlg();
+
+ /**
+ * Returns the operation to display.
+ *
+ * @return The operation to display.
+ */
+ QString getOpText();
+
+ /**
+ * Return whether the user selected a class operation
+ * or a custom operation.
+ *
+ * @return True if user selected a class operation,
+ * false if user selected a custom operation
+ */
+ bool isClassOp() const;
+
+ /**
+ * Returns the sequence number for the operation.
+ *
+ * @return Returns the sequence number for the operation.
+ */
+ QString getSeqNumber();
+
+ /**
+ * Set the sequence number text.
+ *
+ * @param num The number to set the sequence to.
+ */
+ void setSeqNumber(const QString &num);
+
+ /**
+ * Set the custom operation text.
+ *
+ * @param op The operation to set as the custom operation.
+ */
+ void setCustomOp(const QString &op);
+ /**
+ * Set the class operation text.
+ *
+ * @param op The operation to set as the class operation.
+ * @return false if no such operation exists.
+ */
+ bool setClassOp(const QString &op);
+protected:
+ /**
+ * Inserts @p type into the type-combobox as well as its completion object.
+ */
+ void insertOperation( const QString& type, int index = -1 );
+private:
+ QGroupBox * m_pOpGB;
+ KComboBox * m_pOpCB;
+ QLabel * m_pSeqL;
+ QLineEdit * m_pOpLE, * m_pSeqLE;
+ QRadioButton * m_pCustomRB, * m_pOpRB;
+ QButtonGroup * m_pOpBG, * m_pDocGB;
+ QString m_Text;
+ int m_nOpCount;
+ int m_id; ///< takes on the value OP or CUSTOM according to what the user selected
+ UMLView *m_pView;
+public slots:
+ void slotSelected(int id);
+};
+
+#endif
+