kexi

kexipropertyeditorview.h
1/* This file is part of the KDE project
2 Copyright (C) 2004 Cedric Pasteur <cedric.pasteur@free.fr>
3 Copyright (C) 2004-2006 Jaroslaw Staniek <js@iidea.pl>
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this program; see the file COPYING. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19*/
20
21#ifndef KEXIPROPERTYEDITORVIEW_H
22#define KEXIPROPERTYEDITORVIEW_H
23
24//#include "kexiviewbase.h"
25#include <tqwidget.h>
26
27class TQLabel;
28class KexiMainWindow;
29
30namespace KoProperty {
31 class Editor;
32 class Set;
33}
34
36
47class KEXIEXTWIDGETS_EXPORT KexiObjectInfoLabel : public TQWidget
48{
49 public:
50 KexiObjectInfoLabel(TQWidget* parent, const char* name = 0);
52
53 void setObjectClassIcon(const TQString& name);
54 TQString objectClassIcon() const { return m_classIcon; }
55 void setObjectClassName(const TQString& name);
56 TQString objectClassName() const { return m_className; }
57 void setObjectName(const TQString& name);
58 TQString objectName() const { return m_objectName; }
59 void setBuddy( TQWidget * buddy );
60 protected:
61 void updateName();
62
63 TQString m_className;
64 TQString m_classIcon, m_objectName;
65 TQLabel *m_objectIconLabel, *m_objectNameLabel;
66};
67
69
82class KEXIEXTWIDGETS_EXPORT KexiPropertyEditorView : public TQWidget
83{
84 TQ_OBJECT
85
86
87 public:
88 KexiPropertyEditorView(KexiMainWindow *mainWin, TQWidget* parent);
90
98 static void updateInfoLabelForPropertySet(
99 KexiObjectInfoLabel *infoLabel, KoProperty::Set* set,
100 const TQString& textToDisplayForNullSet = TQString());
101
102 virtual TQSize sizeHint() const;
103 virtual TQSize minimumSizeHint() const;
104 KoProperty::Editor *editor() const;
105
106// public slots:
107// virtual void setGeometry( const TQRect &r );
108// virtual void resize( int w, int h );
109
110 protected slots:
111 void slotPropertySetChanged(KoProperty::Set* );
112
113 protected:
114 class Private;
115 Private *d;
116};
117
118#endif
Kexi's main window interface This interface is implemented by KexiMainWindowImpl class.
Helper class displaying small icon with class name and object name.
The container (acts as a dock window) for KexiPropertyEditor.