diff options
Diffstat (limited to 'tdevdesigner/designer/propertyeditor.h')
-rw-r--r-- | tdevdesigner/designer/propertyeditor.h | 891 |
1 files changed, 0 insertions, 891 deletions
diff --git a/tdevdesigner/designer/propertyeditor.h b/tdevdesigner/designer/propertyeditor.h deleted file mode 100644 index 7b7eccd8..00000000 --- a/tdevdesigner/designer/propertyeditor.h +++ /dev/null @@ -1,891 +0,0 @@ -/********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. -** -** This file is part of TQt Designer. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition -** licenses may use this file in accordance with the TQt Commercial License -** Agreement provided with the Software. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for -** information about TQt Commercial License Agreements. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ - -#ifndef PROPERTYEDITOR_H -#define PROPERTYEDITOR_H - -#include <tqfeatures.h> -#include <tqvariant.h> -#include <tqlistview.h> -#include <tqptrlist.h> -#include <tqguardedptr.h> -#include <tqtabwidget.h> -#include <tqmodules.h> -#include <tqptrlist.h> -#include <tqlayout.h> -#include <tqcheckbox.h> -#include <tqcombobox.h> -#include "hierarchyview.h" -#include "metadatabase.h" - -class PropertyList; -class PropertyEditor; -class TQPainter; -class TQColorGroup; -class TQLineEdit; -class TQPushButton; -class TQHBox; -class TQSpinBox; -class TQLabel; -class TQFrame; -class FormWindow; -class TQCloseEvent; -class TQResizeEvent; -class PropertyWhatsThis; -class TQDateEdit; -class TQTimeEdit; -class TQDateTimeEdit; - -class PropertyItem : public TQListViewItem -{ -public: - PropertyItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const TQString &propName ); - ~PropertyItem(); - - void paintCell( TQPainter *p, const TQColorGroup &cg, int column, int width, int align ); - void paintBranches( TQPainter * p, const TQColorGroup & cg, - int w, int y, int h ); - void paintFocus( TQPainter *p, const TQColorGroup &cg, const TQRect &r ); - - virtual bool hasSubItems() const; - virtual void createChildren(); - virtual void initChildren(); - - bool isOpen() const; - void setOpen( bool b ); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - TQVariant value() const; - TQString name() const; - virtual void notifyValueChange(); - - virtual void setChanged( bool b, bool updateDb = TRUE ); - bool isChanged() const; - - virtual void placeEditor( TQWidget *w ); - - virtual PropertyItem *propertyParent() const; - virtual void childValueChanged( PropertyItem *child ); - - void addChild( PropertyItem *i ); - int childCount() const; - PropertyItem *child( int i ) const; - - virtual bool hasCustomContents() const; - virtual void drawCustomContents( TQPainter *p, const TQRect &r ); - - void updateBackColor(); - - void setup() { TQListViewItem::setup(); setHeight( TQListViewItem::height() + 2 ); } - - virtual TQString currentItem() const; - virtual int currentIntItem() const; - virtual void setCurrentItem( const TQString &s ); - virtual void setCurrentItem( int i ); - virtual int currentIntItemFromObject() const; - virtual TQString currentItemFromObject() const; - - void setFocus( TQWidget *w ); - - virtual void toggle(); - void setText( int col, const TQString &txt ); - -protected: - PropertyList *listview; - TQVariant val; - -private: - TQColor backgroundColor(); - void createResetButton(); - void updateResetButtonState(); - -private: - bool open, changed; - PropertyItem *property; - TQString propertyName; - TQPtrList<PropertyItem> children; - TQColor backColor; - TQPushButton *resetButton; - -}; - -class PropertyTextItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyTextItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName, bool comment, bool multiLine, bool ascii = FALSE, bool a = FALSE ); - ~PropertyTextItem(); - - virtual void createChildren(); - virtual void initChildren(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - virtual bool hasSubItems() const; - virtual void childValueChanged( PropertyItem *child ); - - virtual void setChanged( bool b, bool updateDb = TRUE ); - -private slots: - void setValue(); - void getText(); - -private: - TQLineEdit *lined(); - TQGuardedPtr<TQLineEdit> lin; - TQGuardedPtr<TQHBox> box; - TQPushButton *button; - bool withComment, hasMultiLines, asciiOnly, accel; - -}; - - -class PropertyBoolItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyBoolItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const TQString &propName ); - ~PropertyBoolItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - virtual void toggle(); - -private slots: - void setValue(); - -private: - TQComboBox *combo(); - TQGuardedPtr<TQComboBox> comb; - -}; - -class PropertyIntItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyIntItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName, bool s ); - ~PropertyIntItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - -private slots: - void setValue(); - -private: - TQSpinBox *spinBox(); - TQGuardedPtr<TQSpinBox> spinBx; - bool signedValue; - -}; - -class PropertyLayoutItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyLayoutItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName ); - ~PropertyLayoutItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - -private slots: - void setValue(); - -private: - TQSpinBox *spinBox(); - TQGuardedPtr<TQSpinBox> spinBx; - -}; - -class PropertyDoubleItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyDoubleItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName ); - ~PropertyDoubleItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - -private slots: - void setValue(); - -private: - TQLineEdit *lined(); - TQGuardedPtr<TQLineEdit> lin; -}; - -class PropertyListItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyListItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName, bool editable ); - ~PropertyListItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - - TQString currentItem() const; - int currentIntItem() const; - void setCurrentItem( const TQString &s ); - void setCurrentItem( int i ); - int currentIntItemFromObject() const; - TQString currentItemFromObject() const; - void addItem( const TQString &s ); - -private slots: - void setValue(); - -private: - TQComboBox *combo(); - TQGuardedPtr<TQComboBox> comb; - int oldInt; - bool editable; - TQString oldString; - -}; - -class PropertyFontItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyFontItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const TQString &propName ); - ~PropertyFontItem(); - - virtual void createChildren(); - virtual void initChildren(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - virtual bool hasSubItems() const; - virtual void childValueChanged( PropertyItem *child ); - -private slots: - void getFont(); - -private: - TQGuardedPtr<TQLineEdit> lined; - TQGuardedPtr<TQPushButton> button; - TQGuardedPtr<TQHBox> box; - -}; - -class PropertyCoordItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - enum Type { Rect, Size, Point }; - - PropertyCoordItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName, Type t ); - ~PropertyCoordItem(); - - virtual void createChildren(); - virtual void initChildren(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - virtual bool hasSubItems() const; - virtual void childValueChanged( PropertyItem *child ); - -private: - TQLineEdit *lined(); - TQGuardedPtr<TQLineEdit> lin; - Type typ; - -}; - -class PropertyColorItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyColorItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName, bool children ); - ~PropertyColorItem(); - - virtual void createChildren(); - virtual void initChildren(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - virtual bool hasSubItems() const; - virtual void childValueChanged( PropertyItem *child ); - - virtual bool hasCustomContents() const; - virtual void drawCustomContents( TQPainter *p, const TQRect &r ); - -private slots: - void getColor(); - -private: - TQGuardedPtr<TQHBox> box; - TQGuardedPtr<TQFrame> colorPrev; - TQGuardedPtr<TQPushButton> button; - bool withChildren; - -}; - -class PropertyPixmapItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - enum Type { Pixmap, IconSet, Image }; - - PropertyPixmapItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName, Type t ); - ~PropertyPixmapItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - - virtual bool hasCustomContents() const; - virtual void drawCustomContents( TQPainter *p, const TQRect &r ); - -private slots: - void getPixmap(); - -private: - TQGuardedPtr<TQHBox> box; - TQGuardedPtr<TQLabel> pixPrev; - TQPushButton *button; - Type type; - -}; - - -class PropertySizePolicyItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertySizePolicyItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName ); - ~PropertySizePolicyItem(); - - virtual void createChildren(); - virtual void initChildren(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - virtual bool hasSubItems() const; - virtual void childValueChanged( PropertyItem *child ); - -private: - TQLineEdit *lined(); - TQGuardedPtr<TQLineEdit> lin; - -}; - -class PropertyPaletteItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyPaletteItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName ); - ~PropertyPaletteItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - - virtual bool hasCustomContents() const; - virtual void drawCustomContents( TQPainter *p, const TQRect &r ); - -private slots: - void getPalette(); - -private: - TQGuardedPtr<TQHBox> box; - TQGuardedPtr<TQLabel> palettePrev; - TQGuardedPtr<TQPushButton> button; - -}; - -class PropertyCursorItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyCursorItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName ); - ~PropertyCursorItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - -private slots: - void setValue(); - -private: - TQComboBox *combo(); - TQGuardedPtr<TQComboBox> comb; - -}; - -class PropertyKeysequenceItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyKeysequenceItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName ); - ~PropertyKeysequenceItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - -private slots: - void setValue(); - -private: - bool eventFilter( TQObject *o, TQEvent *e ); - void handleKeyEvent( TQKeyEvent *e ); - int translateModifiers( int state ); - - TQGuardedPtr<TQLineEdit> sequence; - TQGuardedPtr<TQHBox> box; - int k1,k2,k3,k4; - int num; - bool mouseEnter; -}; - -class PropertyDatabaseItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyDatabaseItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const TQString &propName, bool wField ); - ~PropertyDatabaseItem(); - - virtual void createChildren(); - virtual void initChildren(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - virtual bool hasSubItems() const; - virtual void childValueChanged( PropertyItem *child ); - -private: - TQGuardedPtr<TQLineEdit> lined; - TQGuardedPtr<TQPushButton> button; - TQGuardedPtr<TQHBox> box; - bool withField; - -}; - -struct EnumItem { - EnumItem( const TQString &k, bool s ) - : key( k ), selected( s ) {} - EnumItem() : key( TQString() ), selected( FALSE ) {} - bool operator==( const EnumItem &item ) const { - return key == item.key; - } - TQString key; - bool selected; -}; - -class EnumPopup : public TQFrame -{ - Q_OBJECT - - -public: - EnumPopup( TQWidget *parent, const char *name, WFlags f=0 ); - ~EnumPopup(); - void insertEnums( TQValueList<EnumItem> lst ); - TQValueList<EnumItem> enumList() const; - void closeWidget(); - -signals: - void closed(); - void hidden(); - -protected: - void keyPressEvent( TQKeyEvent *e ); - -private: - TQValueList<EnumItem> itemList; - TQPtrList<TQCheckBox> checkBoxList; - TQVBoxLayout *popLayout; -}; - -class EnumBox : public TQComboBox -{ - Q_OBJECT - - -public: - EnumBox( TQWidget *parent, const char *name = 0 ); - ~EnumBox() {} - void setText( const TQString &text ); - void insertEnums( TQValueList<EnumItem> lst ); - TQValueList<EnumItem> enumList() const; - -signals: - void aboutToShowPopup(); - void valueChanged(); - -protected: - void paintEvent( TQPaintEvent * ); - void mousePressEvent( TQMouseEvent *e ); - void keyPressEvent( TQKeyEvent *e ); - -protected slots: - void restoreArrow(); - void popupHidden(); - void popupClosed(); - -private: - void popup(); - bool arrowDown; - TQString str; - bool popupShown; - EnumPopup *pop; - -}; -class PropertyEnumItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyEnumItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, - const TQString &propName ); - ~PropertyEnumItem(); - - void showEditor(); - void hideEditor(); - void setValue( const TQVariant &v ); - TQString currentItem() const; - TQString currentItemFromObject() const; - void setCurrentValues( TQStrList lst ); - -private slots: - void setValue(); - void insertEnums(); - -private: - TQGuardedPtr<EnumBox> box; - TQValueList<EnumItem> enumList; - TQString enumString; -}; - -class PropertyList : public TQListView -{ - Q_OBJECT - - -public: - PropertyList( PropertyEditor *e ); - - virtual void setupProperties(); - - virtual void setCurrentItem( TQListViewItem *i ); - virtual void valueChanged( PropertyItem *i ); - virtual void refetchData(); - virtual void setPropertyValue( PropertyItem *i ); - virtual void setCurrentProperty( const TQString &n ); - - void layoutInitValue( PropertyItem *i, bool changed = FALSE ); - PropertyEditor *propertyEditor() const; - TQString whatsThisAt( const TQPoint &p ); - void showCurrentWhatsThis(); - - enum LastEventType { KeyEvent, MouseEvent }; - LastEventType lastEvent(); - -public slots: - void updateEditorSize(); - void resetProperty(); - void toggleSort(); - -private slots: - void itemPressed( TQListViewItem *i, const TQPoint &p, int c ); - void toggleOpen( TQListViewItem *i ); - bool eventFilter( TQObject *o, TQEvent *e ); - -protected: - void resizeEvent( TQResizeEvent *e ); - void paintEmptyArea( TQPainter *p, const TQRect &r ); - bool addPropertyItem( PropertyItem *&item, const TQCString &name, TQVariant::Type t ); - - void viewportDragEnterEvent( TQDragEnterEvent * ); - void viewportDragMoveEvent ( TQDragMoveEvent * ); - void viewportDropEvent ( TQDropEvent * ); - -protected: - PropertyEditor *editor; - -private: - void readPropertyDocs(); - void setupCusWidgetProperties( MetaDataBase::CustomWidget *cw, - TQMap<TQString, bool> &unique, - PropertyItem *&item ); - TQString whatsThisText( TQListViewItem *i ); - -private: - PropertyListItem* pressItem; - TQPoint pressPos; - bool mousePressed; - bool showSorted; - TQMap<TQString, TQString> propertyDocs; - PropertyWhatsThis *whatsThis; - LastEventType theLastEvent; -}; - -class EventList : public HierarchyList -{ - Q_OBJECT - - -public: - EventList( TQWidget *parent, FormWindow *fw, PropertyEditor *e ); - - void setup(); - void setCurrent( TQWidget *w ); - -protected: - void contentsMouseDoubleClickEvent( TQMouseEvent *e ); - -private: - void save( TQListViewItem *p ); - -private slots: - void objectClicked( TQListViewItem *i ); - void showRMBMenu( TQListViewItem *, const TQPoint & ); - void renamed( TQListViewItem *i ); - -private: - PropertyEditor *editor; - -}; - - -class PropertyEditor : public TQTabWidget -{ - Q_OBJECT - - -public: - PropertyEditor( TQWidget *parent ); - - TQObject *widget() const; - - void clear(); - void setup(); - - void emitWidgetChanged(); - void refetchData(); - - void closed( FormWindow *w ); - - PropertyList *propertyList() const; - FormWindow *formWindow() const; - EventList *eventList() const; - - TQString currentProperty() const; - TQString classOfCurrentProperty() const; - TQMetaObject* metaObjectOfCurrentProperty() const; - - void resetFocus(); - - void setPropertyEditorEnabled( bool b ); - void setSignalHandlersEnabled( bool b ); - -signals: - void hidden(); - -public slots: - void setWidget( TQObject *w, FormWindow *fw ); - -protected: - void closeEvent( TQCloseEvent *e ); - -private: - void updateWindow(); - -private: - TQObject *wid; - PropertyList *listview; - EventList *eList; - FormWindow *formwindow; - -}; - -class PropertyDateItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyDateItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const TQString &propName ); - ~PropertyDateItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - -private slots: - void setValue(); - -private: - TQDateEdit *lined(); - TQGuardedPtr<TQDateEdit> lin; - -}; - -class PropertyTimeItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyTimeItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const TQString &propName ); - ~PropertyTimeItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - -private slots: - void setValue(); - -private: - TQTimeEdit *lined(); - TQGuardedPtr<TQTimeEdit> lin; - -}; - -class PropertyDateTimeItem : public TQObject, - public PropertyItem -{ - Q_OBJECT - - -public: - PropertyDateTimeItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const TQString &propName ); - ~PropertyDateTimeItem(); - - virtual void showEditor(); - virtual void hideEditor(); - - virtual void setValue( const TQVariant &v ); - -private slots: - void setValue(); - -private: - TQDateTimeEdit *lined(); - TQGuardedPtr<TQDateTimeEdit> lin; - -}; - -#endif |