summaryrefslogtreecommitdiffstats
path: root/kpovmodeler/pmobjectselect.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit47d455dd55be855e4cc691c32f687f723d9247ee (patch)
tree52e236aaa2576bdb3840ebede26619692fed6d7d /kpovmodeler/pmobjectselect.h
downloadtdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.tar.gz
tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpovmodeler/pmobjectselect.h')
-rw-r--r--kpovmodeler/pmobjectselect.h132
1 files changed, 132 insertions, 0 deletions
diff --git a/kpovmodeler/pmobjectselect.h b/kpovmodeler/pmobjectselect.h
new file mode 100644
index 00000000..c69af315
--- /dev/null
+++ b/kpovmodeler/pmobjectselect.h
@@ -0,0 +1,132 @@
+//-*-C++-*-
+/*
+**************************************************************************
+ description
+ --------------------
+ copyright : (C) 2000-2002 by Andreas Zehender
+ email : zehender@kde.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 PMOBJECTSELECT_H
+#define PMOBJECTSELECT_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <kdialogbase.h>
+#include <qlistbox.h>
+#include <qsize.h>
+#include <qvaluelist.h>
+#include <qstringlist.h>
+#include "pmobject.h"
+#include "pmdeclare.h"
+
+/**
+ * QListBoxItem for @ref PMObject
+ */
+class PMListBoxObject : public QListBoxPixmap
+{
+public:
+ /**
+ * Constructs a list box item in listbox listbox showing the
+ * object obj. The item gets inserted after the item after
+ */
+ PMListBoxObject( QListBox* listbox, PMObject* obj, QListBoxItem* after );
+ /**
+ * Constructs a list box item in listbox listbox showing the object obj
+ */
+ PMListBoxObject( QListBox* listbox, PMObject* obj );
+ /**
+ * Constructs a list box item showing the object obj
+ */
+ PMListBoxObject( PMObject* obj );
+ /**
+ * Constructs a list box item in listbox listbox showing the
+ * text text. The item gets inserted after the item after
+ */
+ PMListBoxObject( QListBox* listbox, PMObject* obj, const QString& text,
+ QListBoxItem* after );
+ /**
+ * Constructs a list box item in listbox listbox showing the text text
+ */
+ PMListBoxObject( QListBox* listbox, PMObject* obj, const QString& text );
+ /**
+ * Constructs a list box item showing the text text
+ */
+ PMListBoxObject( PMObject* obj, const QString& text );
+ /**
+ * Deletes the item
+ */
+ ~PMListBoxObject( );
+
+ /**
+ * Returns a pointer to the object
+ */
+ PMObject* object( ) const { return m_pObject; }
+private:
+ static QString checkName( const QString& text );
+ PMObject* m_pObject;
+};
+
+/**
+ * A PMObject selection widget
+ */
+class PMObjectSelect : public KDialogBase
+{
+ Q_OBJECT
+public:
+ /**
+ * Creates a selection widget with parent and name
+ */
+ PMObjectSelect( QWidget* parent = 0, const char* name = 0,
+ bool modal = true );
+ /**
+ * Deletes the dialog
+ */
+ ~PMObjectSelect( );
+
+ /**
+ * Appends the object to the list of choosable objects
+ */
+ void addObject( PMObject* obj );
+
+ /**
+ * Returns the currently selected object
+ */
+ PMObject* selectedObject( ) const { return m_pSelectedObject; }
+
+ /**
+ * Create a modal dialog and let the user choose an declare object
+ * of type t.
+ *
+ * Only objects above the object link are listed.
+ */
+ static int selectObject( PMObject* link, const QString& t, PMObject* & obj,
+ QWidget* parent = 0 );
+ static int selectObject( PMObject* link, const QStringList& t,
+ PMObject* & obj, QWidget* parent = 0 );
+ static int selectDeclare( PMObject* link, const QString& declareType,
+ PMObject* & obj, QWidget* parent = 0 );
+ static int selectDeclare( PMObject* link, const QStringList& dt,
+ PMObject* & obj, QWidget* parent = 0 );
+
+protected slots:
+ void slotHighlighted( QListBoxItem* lbi );
+ void slotSelected( QListBoxItem* lbi );
+private:
+ QListBox* m_pListBox;
+ PMObject* m_pSelectedObject;
+ static QSize s_size;
+};
+
+#endif