VR-Forces 4.0.4 Class Documentation
include/tmqt/editToolbarsDialog.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)