📄 propertyeditor.h
字号:
PropertySizePolicyItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const QString &propName ); ~PropertySizePolicyItem(); virtual void createChildren(); virtual void initChildren(); virtual void showEditor(); virtual void hideEditor(); virtual void setValue( const QVariant &v ); virtual bool hasSubItems() const; virtual void childValueChanged( PropertyItem *child );private: QLineEdit *lined(); QGuardedPtr<QLineEdit> lin;};class PropertyPaletteItem : public QObject, public PropertyItem{ Q_OBJECTpublic: PropertyPaletteItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const QString &propName ); ~PropertyPaletteItem(); virtual void showEditor(); virtual void hideEditor(); virtual void setValue( const QVariant &v ); virtual bool hasCustomContents() const; virtual void drawCustomContents( QPainter *p, const QRect &r );private slots: void getPalette();private: QGuardedPtr<QHBox> box; QGuardedPtr<QLabel> palettePrev; QGuardedPtr<QPushButton> button;};class PropertyCursorItem : public QObject, public PropertyItem{ Q_OBJECTpublic: PropertyCursorItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const QString &propName ); ~PropertyCursorItem(); virtual void showEditor(); virtual void hideEditor(); virtual void setValue( const QVariant &v );private slots: void setValue();private: QComboBox *combo(); QGuardedPtr<QComboBox> comb;};class PropertyKeysequenceItem : public QObject, public PropertyItem{ Q_OBJECTpublic: PropertyKeysequenceItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const QString &propName ); ~PropertyKeysequenceItem(); virtual void showEditor(); virtual void hideEditor(); virtual void setValue( const QVariant &v );private slots: void setValue();private: bool eventFilter( QObject *o, QEvent *e ); void handleKeyEvent( QKeyEvent *e ); int translateModifiers( int state ); QGuardedPtr<QLineEdit> sequence; QGuardedPtr<QHBox> box; int k1,k2,k3,k4; int num; bool mouseEnter;};class PropertyDatabaseItem : public QObject, public PropertyItem{ Q_OBJECTpublic: PropertyDatabaseItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const QString &propName, bool wField ); ~PropertyDatabaseItem(); virtual void createChildren(); virtual void initChildren(); virtual void showEditor(); virtual void hideEditor(); virtual void setValue( const QVariant &v ); virtual bool hasSubItems() const; virtual void childValueChanged( PropertyItem *child );private: QGuardedPtr<QLineEdit> lined; QGuardedPtr<QPushButton> button; QGuardedPtr<QHBox> box; bool withField;};struct EnumItem { EnumItem( const QString &k, bool s ) : key( k ), selected( s ) {} EnumItem() : key( QString::null ), selected( FALSE ) {} bool operator==( const EnumItem &item ) const { return key == item.key; } QString key; bool selected;};class EnumPopup : public QFrame{ Q_OBJECTpublic: EnumPopup( QWidget *parent, const char *name, WFlags f=0 ); ~EnumPopup(); void insertEnums( QValueList<EnumItem> lst ); QValueList<EnumItem> enumList() const; void closeWidget();signals: void closed(); void hidden();protected: void keyPressEvent( QKeyEvent *e );private: QValueList<EnumItem> itemList; QPtrList<QCheckBox> checkBoxList; QVBoxLayout *popLayout;};class EnumBox : public QComboBox{ Q_OBJECTpublic: EnumBox( QWidget *parent, const char *name = 0 ); ~EnumBox() {} void setText( const QString &text ); void insertEnums( QValueList<EnumItem> lst ); QValueList<EnumItem> enumList() const;signals: void aboutToShowPopup(); void valueChanged();protected: void paintEvent( QPaintEvent * ); void mousePressEvent( QMouseEvent *e ); void keyPressEvent( QKeyEvent *e );protected slots: void restoreArrow(); void popupHidden(); void popupClosed();private: void popup(); bool arrowDown; QString str; bool popupShown; EnumPopup *pop;};class PropertyEnumItem : public QObject, public PropertyItem{ Q_OBJECTpublic: PropertyEnumItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const QString &propName ); ~PropertyEnumItem(); void showEditor(); void hideEditor(); void setValue( const QVariant &v ); QString currentItem() const; QString currentItemFromObject() const; void setCurrentValues( QStrList lst );private slots: void setValue(); void insertEnums();private: QGuardedPtr<EnumBox> box; QValueList<EnumItem> enumList; QString enumString;};class PropertyList : public QListView{ Q_OBJECTpublic: PropertyList( PropertyEditor *e ); virtual void setupProperties(); virtual void setCurrentItem( QListViewItem *i ); virtual void valueChanged( PropertyItem *i ); virtual void refetchData(); virtual void setPropertyValue( PropertyItem *i ); virtual void setCurrentProperty( const QString &n ); void layoutInitValue( PropertyItem *i, bool changed = FALSE ); PropertyEditor *propertyEditor() const; QString whatsThisAt( const QPoint &p ); void showCurrentWhatsThis(); enum LastEventType { KeyEvent, MouseEvent }; LastEventType lastEvent();public slots: void updateEditorSize(); void resetProperty(); void toggleSort();private slots: void itemPressed( QListViewItem *i, const QPoint &p, int c ); void toggleOpen( QListViewItem *i ); bool eventFilter( QObject *o, QEvent *e );protected: void resizeEvent( QResizeEvent *e ); void paintEmptyArea( QPainter *p, const QRect &r ); bool addPropertyItem( PropertyItem *&item, const QCString &name, QVariant::Type t ); void viewportDragEnterEvent( QDragEnterEvent * ); void viewportDragMoveEvent ( QDragMoveEvent * ); void viewportDropEvent ( QDropEvent * );protected: PropertyEditor *editor;private: void readPropertyDocs(); void setupCusWidgetProperties( MetaDataBase::CustomWidget *cw, QMap<QString, bool> &unique, PropertyItem *&item ); QString whatsThisText( QListViewItem *i );private: PropertyListItem* pressItem; QPoint pressPos; bool mousePressed; bool showSorted; QMap<QString, QString> propertyDocs; PropertyWhatsThis *whatsThis; LastEventType theLastEvent;};class EventList : public HierarchyList{ Q_OBJECTpublic: EventList( QWidget *parent, FormWindow *fw, PropertyEditor *e ); void setup(); void setCurrent( QWidget *w );protected: void contentsMouseDoubleClickEvent( QMouseEvent *e );private: void save( QListViewItem *p );private slots: void objectClicked( QListViewItem *i ); void showRMBMenu( QListViewItem *, const QPoint & ); void renamed( QListViewItem *i );private: PropertyEditor *editor;};class PropertyEditor : public QTabWidget{ Q_OBJECTpublic: PropertyEditor( QWidget *parent ); QObject *widget() const; void clear(); void setup(); void emitWidgetChanged(); void refetchData(); void closed( FormWindow *w ); PropertyList *propertyList() const; FormWindow *formWindow() const; EventList *eventList() const; QString currentProperty() const; QString classOfCurrentProperty() const; QMetaObject* metaObjectOfCurrentProperty() const; void resetFocus(); void setPropertyEditorEnabled( bool b ); void setSignalHandlersEnabled( bool b );signals: void hidden();public slots: void setWidget( QObject *w, FormWindow *fw );protected: void closeEvent( QCloseEvent *e );private: void updateWindow();private: QObject *wid; PropertyList *listview; EventList *eList; FormWindow *formwindow;};class PropertyDateItem : public QObject, public PropertyItem{ Q_OBJECTpublic: PropertyDateItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const QString &propName ); ~PropertyDateItem(); virtual void showEditor(); virtual void hideEditor(); virtual void setValue( const QVariant &v );private slots: void setValue();private: QDateEdit *lined(); QGuardedPtr<QDateEdit> lin;};class PropertyTimeItem : public QObject, public PropertyItem{ Q_OBJECTpublic: PropertyTimeItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const QString &propName ); ~PropertyTimeItem(); virtual void showEditor(); virtual void hideEditor(); virtual void setValue( const QVariant &v );private slots: void setValue();private: QTimeEdit *lined(); QGuardedPtr<QTimeEdit> lin;};class PropertyDateTimeItem : public QObject, public PropertyItem{ Q_OBJECTpublic: PropertyDateTimeItem( PropertyList *l, PropertyItem *after, PropertyItem *prop, const QString &propName ); ~PropertyDateTimeItem(); virtual void showEditor(); virtual void hideEditor(); virtual void setValue( const QVariant &v );private slots: void setValue();private: QDateTimeEdit *lined(); QGuardedPtr<QDateTimeEdit> lin;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -