diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 47d455dd55be855e4cc691c32f687f723d9247ee (patch) | |
tree | 52e236aaa2576bdb3840ebede26619692fed6d7d /kpovmodeler/pmobjectselect.h | |
download | tdegraphics-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.h | 132 |
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 : [email protected] +************************************************************************** + +************************************************************************** +* * +* 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 |