From 47d455dd55be855e4cc691c32f687f723d9247ee Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: 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 --- kpovmodeler/pmobjectselect.h | 132 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 kpovmodeler/pmobjectselect.h (limited to 'kpovmodeler/pmobjectselect.h') 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 +#endif + +#include +#include +#include +#include +#include +#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 -- cgit v1.2.3