![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: editToolbarsDialog.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DTEDITTOOLBARSDIALOG_H_ 00013 #define DTEDITTOOLBARSDIALOG_H_ 00014 00015 #include <QtGui/QWidget> 00016 #include "tmqt/tmqtDefines.h" 00017 #include "commonWgt/featureActionManager.h" 00018 #include "commonWgt/toolbarFactoryManager.h" 00019 00020 #include <QtGui/QPixmap> 00021 #include <QtCore/QStringList> 00022 #include <QtGui/QLineEdit> 00023 00024 class QVBoxLayout; 00025 class QHBoxLayout; 00026 class QGridLayout; 00027 class QLabel; 00028 class QComboBox; 00029 class DtToolbarsTreeWidget; 00030 class QGroupBox; 00031 class QPushButton; 00032 class DtBaseWindow; 00033 class QTreeWidget; 00034 class QTreeWidgetItem; 00035 class DtFeatureActionManager; 00036 00037 class DtKeySequenceEdit : public QLineEdit 00038 { 00039 Q_OBJECT 00040 public: 00041 DtKeySequenceEdit(QWidget *parent = 0); 00042 00043 QKeySequence keySequence() const; 00044 bool eventFilter(QObject *o, QEvent *e); 00045 00046 void setFeatureActionManager(DtFeatureActionManager* m) { myFeatureActionManager = m; }; 00047 void setOriginalSequence(QKeySequence k) { myOriginalSequence = k; }; 00048 00049 void setFeature(const QString& f) { myFeature = f; }; 00050 00051 bool acceptKeySequence() const; 00052 00053 public slots: 00054 void setKeySequence(const QKeySequence &sequence); 00055 signals: 00056 void keySequenceChanged(const QKeySequence &sequence); 00057 protected: 00058 void focusInEvent(QFocusEvent *e); 00059 void focusOutEvent(QFocusEvent *e); 00060 void keyPressEvent(QKeyEvent *e); 00061 void keyReleaseEvent(QKeyEvent *e); 00062 bool event(QEvent *e); 00063 private slots: 00064 void slotClearShortcut(); 00065 00066 protected: 00067 void handleKeyEvent(QKeyEvent *e); 00068 int translateModifiers(Qt::KeyboardModifiers state) const; 00069 00070 protected: 00071 int myNum; 00072 QKeySequence myKeySequence; 00073 DtFeatureActionManager* myFeatureActionManager; 00074 QKeySequence myOriginalSequence; 00075 QString myFeature; 00076 }; 00077 00078 class DT_DLL_tmqt DtEditToolbarsDialog : public QWidget 00079 { 00080 Q_OBJECT 00081 00082 public: 00083 DtEditToolbarsDialog(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0); 00084 virtual ~DtEditToolbarsDialog(); 00085 00086 static DtEditToolbarsDialog* create(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0); 00087 virtual bool init(DtBaseWindow*); 00088 00089 virtual QTreeWidgetItem* addToToolbar(const QString&, QTreeWidgetItem*, bool expand = false); 00090 virtual QTreeWidgetItem* addToToolbar(const DtToolbarItem&, QTreeWidgetItem*, bool expand = false); 00091 00092 virtual void removeFromToolbar(QTreeWidgetItem*); 00093 virtual void moveTreeWidgetItem(QTreeWidgetItem* item, QTreeWidgetItem* to); 00094 00096 virtual void updateToolbars(); 00097 00098 DtFeatureActionManager* featureActionManager(); 00099 00100 protected: 00102 virtual void initFeaturesCombo(); 00103 00105 virtual void initToolbarsList(); 00106 00107 virtual bool passesFilter(const DtFeatureAction& action, const QString& feature) const; 00108 00109 virtual void initConnections(); 00110 00111 virtual void updateToolbar(QTreeWidgetItem*, DtToolbarFactoryManager& updated); 00112 00113 virtual void addEditableToolbar(const QString& toolbar, const DtFeatureToolbar&); 00114 00115 public slots: 00116 virtual void searchFor(const QString&); 00117 virtual void revert(); 00118 virtual void accept(); 00119 virtual void reject(); 00120 00121 protected slots: 00122 virtual void featureChanged(); 00123 virtual void featureSelectionChanged(); 00124 virtual void toolbarSelectionChanged(); 00125 virtual void addToolbar(); 00126 virtual void addToToolbar(); 00127 virtual void remove(); 00128 virtual void removeFromToolbar(); 00129 virtual void addSeparator(); 00130 virtual void replacedShortcut(const QString&, const QString&, const QString&); 00131 virtual void editShortcut(); 00132 00133 signals: 00134 void accepted(); 00135 void rejected(); 00136 00137 public: 00138 QVBoxLayout* myMainLayout; 00139 QHBoxLayout* myContentLayout; 00140 QGroupBox* myFeaturesGroupBox; 00141 QHBoxLayout* myButtonLayoutLayout; 00142 QGridLayout* myFeaturesLayout; 00143 QLabel* myFeaturesLabel; 00144 QComboBox* myFeaturesCombo; 00145 00146 QLabel* mySearchLabel; 00147 QLineEdit* mySearch; 00148 00149 QHBoxLayout* myButtonLayout; 00150 QPushButton* myOK; 00151 QPushButton* myCancel; 00152 QPushButton* myRevert; 00153 QTreeWidget* myFeatures; 00154 00155 DtBaseWindow* myWindow; 00156 00157 QGroupBox* myToolbarsGroupBox; 00158 QVBoxLayout* myToolbarsLayout; 00159 QHBoxLayout* myToolbarButtonLayout; 00160 QPushButton* myAddToolbar; 00161 QPushButton* myRemove; 00162 QPushButton* myAddSeparator; 00163 00164 DtToolbarsTreeWidget* myToolbars; 00165 00166 QVBoxLayout* myMovementLayout; 00167 QPushButton* myMoveToToolbars; 00168 QPushButton* myRemoveFromToolbars; 00169 QPushButton* myEditShortcut; 00170 00171 QPixmap myBlankPixmap; 00172 00173 protected: 00174 QStringList myRemovedToolbars; 00175 DtFeatureActionManager* myFeatureActionManager; 00176 DtToolbarFactoryManager* myToolbarManager; 00177 }; 00178 00179 inline DtFeatureActionManager* DtEditToolbarsDialog::featureActionManager() 00180 { 00181 return myFeatureActionManager; 00182 } 00183 00184 #endif