summaryrefslogtreecommitdiffstats
path: root/kexi/widget/kexipropertyeditorview.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-20 01:29:50 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-20 01:29:50 +0000
commit8362bf63dea22bbf6736609b0f49c152f975eb63 (patch)
tree0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kexi/widget/kexipropertyeditorview.h
downloadkoffice-8362bf63dea22bbf6736609b0f49c152f975eb63.tar.gz
koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.zip
Added old abandoned KDE3 version of koffice
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kexi/widget/kexipropertyeditorview.h')
-rw-r--r--kexi/widget/kexipropertyeditorview.h117
1 files changed, 117 insertions, 0 deletions
diff --git a/kexi/widget/kexipropertyeditorview.h b/kexi/widget/kexipropertyeditorview.h
new file mode 100644
index 00000000..77dab6c8
--- /dev/null
+++ b/kexi/widget/kexipropertyeditorview.h
@@ -0,0 +1,117 @@
+/* This file is part of the KDE project
+ Copyright (C) 2004 Cedric Pasteur <cedric.pasteur@free.fr>
+ Copyright (C) 2004-2006 Jaroslaw Staniek <js@iidea.pl>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+*/
+
+#ifndef KEXIPROPERTYEDITORVIEW_H
+#define KEXIPROPERTYEDITORVIEW_H
+
+//#include "kexiviewbase.h"
+#include <qwidget.h>
+
+class QLabel;
+class KexiMainWindow;
+
+namespace KoProperty {
+ class Editor;
+ class Set;
+}
+
+//! @short Helper class displaying small icon with class name and object name
+/*! The info label is displayed in a form:
+ <i>[ObjectClassIcon] ClassName "ObjectName"</i>
+
+ The <i>ObjectClassIcon</i> is optional. If "ClassName" is empty, the information
+ is displayed as:
+ <i>[ObjectClassIcon] ObjectName</i>
+
+ Example uses:
+ - [button_icon] Button "quit"
+ - [label_icon] Label "welcome"
+*/
+class KEXIEXTWIDGETS_EXPORT KexiObjectInfoLabel : public QWidget
+{
+ public:
+ KexiObjectInfoLabel(QWidget* parent, const char* name = 0);
+ ~KexiObjectInfoLabel();
+
+ void setObjectClassIcon(const QString& name);
+ QString objectClassIcon() const { return m_classIcon; }
+ void setObjectClassName(const QString& name);
+ QString objectClassName() const { return m_className; }
+ void setObjectName(const QString& name);
+ QString objectName() const { return m_objectName; }
+ void setBuddy( QWidget * buddy );
+ protected:
+ void updateName();
+
+ QString m_className;
+ QString m_classIcon, m_objectName;
+ QLabel *m_objectIconLabel, *m_objectNameLabel;
+};
+
+//! @short The container (acts as a dock window) for KexiPropertyEditor.
+/*! The widget displays KexiObjectInfoLabel on its top, to show user what
+ object the properties belong to. Read KexiObjectInfoLabel documentation for
+ the description what information is displayed.
+
+ There are properties obtained from KexiMainWindow's current property set
+ that help to customize displaying this information:
+ - "this:classString property" of type string describes object's class name
+ - "this:iconName" property of type string describes class name
+ - "name" or "caption" property of type string describes object's name
+ - "this:useCaptionAsObjectName" property of type boolean forces displaying "caption"
+ property instead of "name" - this can be usable when we know that "caption" properties
+ are available for a given type of objects (this is the case for Table Designer fields)
+*/
+class KEXIEXTWIDGETS_EXPORT KexiPropertyEditorView : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ KexiPropertyEditorView(KexiMainWindow *mainWin, QWidget* parent);
+ virtual ~KexiPropertyEditorView();
+
+ /*! Helper function. Updates \a infoLabel widget by reusing properties provided
+ by property set \a set.
+ Read documentation of KexiPropertyEditorView class for information about accepted properties.
+ If \a set is 0 and \a textToDisplayForNullSet string is not empty, this string is displayed
+ (without icon or any other additional part).
+ If \a set is 0 and \a textToDisplayForNullSet string is empty, the \a infoLabel widget becomes
+ hidden. */
+ static void updateInfoLabelForPropertySet(
+ KexiObjectInfoLabel *infoLabel, KoProperty::Set* set,
+ const QString& textToDisplayForNullSet = QString::null);
+
+ virtual QSize sizeHint() const;
+ virtual QSize minimumSizeHint() const;
+ KoProperty::Editor *editor() const;
+
+// public slots:
+// virtual void setGeometry( const QRect &r );
+// virtual void resize( int w, int h );
+
+ protected slots:
+ void slotPropertySetChanged(KoProperty::Set* );
+
+ protected:
+ class Private;
+ Private *d;
+};
+
+#endif