Version: 6.3.1

src/Qtx/QtxPagePrefMgr.h

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 // File:      QtxPagePrefMgr.h
00021 // Author:    Sergey TELKOV
00022 //
00023 #ifndef QTXPAGEPREFMGR_H
00024 #define QTXPAGEPREFMGR_H
00025 
00026 #include "QtxPreferenceMgr.h"
00027 
00028 #include "QtxPathEdit.h"
00029 #include "QtxPathListEdit.h"
00030 
00031 #include <QFrame>
00032 #include <QLabel>
00033 #include <QPointer>
00034 #include <QIcon>
00035 
00036 class QtxGridBox;
00037 class QtxFontEdit;
00038 class QtxGroupBox;
00039 class QtxComboBox;
00040 class QtxColorButton;
00041 class QtxShortcutEdit;
00042 class QtxShortcutTree;
00043 
00044 class QToolBox;
00045 class QLineEdit;
00046 class QTextEdit;
00047 class QCheckBox;
00048 class QTabWidget;
00049 class QToolButton;
00050 class QListWidget;
00051 class QFileDialog;
00052 class QDateTimeEdit;
00053 class QStackedWidget;
00054 class QSlider;
00055 class QTreeWidget;
00056 
00057 class QTX_EXPORT QtxPagePrefMgr : public QFrame, public QtxPreferenceMgr
00058 {
00059   Q_OBJECT
00060 
00061 public:
00062   QtxPagePrefMgr( QtxResourceMgr*, QWidget* = 0 );
00063   virtual ~QtxPagePrefMgr();
00064 
00065   virtual QSize    sizeHint() const;
00066   virtual QSize    minimumSizeHint() const;
00067 
00068   virtual void     updateContents();
00069 
00070 signals:
00071   void             resourceChanged( int );
00072   void             resourceChanged( QString&, QString& );
00073   void             resourcesChanged( const QMap<int, QString>& );
00074 
00075 public slots:
00076   virtual void     setVisible( bool );
00077 
00078 protected:
00079   virtual void     itemAdded( QtxPreferenceItem* );
00080   virtual void     itemRemoved( QtxPreferenceItem* );
00081   virtual void     itemChanged( QtxPreferenceItem* );
00082 
00083   virtual QVariant optionValue( const QString& ) const;
00084   virtual void     setOptionValue( const QString&, const QVariant& );
00085 
00086 private:
00087   void             initialize() const;
00088   void             initialize( QtxPreferenceItem* );
00089 
00090 private:
00091   QtxGridBox*      myBox;
00092   bool             myInit;
00093 };
00094 
00095 class QTX_EXPORT QtxPagePrefItem : public QtxPreferenceItem
00096 {
00097   class Listener;
00098 
00099 public:
00100   QtxPagePrefItem( const QString&, QtxPreferenceItem* = 0,
00101                    const QString& = QString(), const QString& = QString() );
00102   virtual ~QtxPagePrefItem();
00103 
00104   QWidget*          widget() const;
00105 
00106   virtual void      activate();
00107 
00108 protected:
00109   void              setWidget( QWidget* );
00110 
00111   virtual void      itemAdded( QtxPreferenceItem* );
00112   virtual void      itemRemoved( QtxPreferenceItem* );
00113   virtual void      itemChanged( QtxPreferenceItem* );
00114 
00115   void              pageChildItems( QList<QtxPagePrefItem*>&, const bool = false ) const;
00116 
00117   virtual void      store();
00118   virtual void      retrieve();
00119 
00120   virtual void      widgetShown();
00121   virtual void      widgetHided();
00122 
00123   virtual void      ensureVisible( QtxPreferenceItem* );
00124 
00125 private:
00126   virtual void      contentChanged();
00127 
00128 private:
00129   QPointer<QWidget> myWidget;
00130   Listener*         myListener;
00131 };
00132 
00133 class QTX_EXPORT QtxPageNamedPrefItem : public QtxPagePrefItem
00134 {
00135 public:
00136   QtxPageNamedPrefItem( const QString&, QtxPreferenceItem* = 0,
00137                         const QString& = QString(), const QString& = QString() );
00138   virtual ~QtxPageNamedPrefItem();
00139 
00140   virtual void      setTitle( const QString& );
00141 
00142   static void       adjustLabels( QtxPagePrefItem* );
00143 
00144 protected:
00145   QLabel*           label() const;
00146   QWidget*          control() const;
00147 
00148   void              setControl( QWidget* );
00149 
00150 private:
00151   QPointer<QLabel>  myLabel;
00152   QPointer<QWidget> myControl;
00153 };
00154 
00155 class QTX_EXPORT QtxPagePrefListItem : public QObject, public QtxPagePrefItem
00156 {
00157   Q_OBJECT
00158 
00159 public:
00160   QtxPagePrefListItem( const QString&, QtxPreferenceItem* = 0,
00161                        const QString& = QString(), const QString& = QString() );
00162   virtual ~QtxPagePrefListItem();
00163 
00164   virtual void     updateContents();
00165 
00166   QString          emptyInfo() const;
00167   void             setEmptyInfo( const QString& );
00168 
00169   bool             isFixedSize() const;
00170   void             setFixedSize( const bool );
00171 
00172 private slots:
00173   void             onItemSelectionChanged();
00174 
00175 protected:
00176   virtual QVariant optionValue( const QString& ) const;
00177   virtual void     setOptionValue( const QString&, const QVariant& );
00178   virtual void     ensureVisible( QtxPreferenceItem* );
00179 
00180   virtual void     widgetShown();
00181 
00182 private:
00183   void             updateInfo();
00184   void             updateGeom();
00185   void             updateState();
00186   void             updateVisible();
00187 
00188   int              selected() const;
00189   QtxPagePrefItem* selectedItem() const;
00190   void             setSelected( const int );
00191 
00192 private:
00193   bool             myFix;
00194   QListWidget*     myList;
00195   QStackedWidget*  myStack;
00196 
00197   QString          myInfText;
00198   QLabel*          myInfLabel;
00199 };
00200 
00201 class QTX_EXPORT QtxPagePrefToolBoxItem : public QtxPagePrefItem
00202 {
00203 public:
00204   QtxPagePrefToolBoxItem( const QString&, QtxPreferenceItem* = 0,
00205                           const QString& = QString(), const QString& = QString() );
00206   virtual ~QtxPagePrefToolBoxItem();
00207 
00208   virtual void     updateContents();
00209 
00210 protected:
00211   virtual void     ensureVisible( QtxPreferenceItem* );
00212 
00213 private:
00214   void             updateToolBox();
00215 
00216 private:
00217   QToolBox*        myToolBox;
00218 };
00219 
00220 class QTX_EXPORT QtxPagePrefTabsItem : public QtxPagePrefItem
00221 {
00222 public:
00223   QtxPagePrefTabsItem( const QString&, QtxPreferenceItem* = 0,
00224                        const QString& = QString(), const QString& = QString() );
00225   virtual ~QtxPagePrefTabsItem();
00226 
00227   virtual void     updateContents();
00228 
00229   int              tabPosition() const;
00230   void             setTabPosition( const int );
00231 
00232   int              tabShape() const;
00233   void             setTabShape( const int );
00234 
00235   QSize            tabIconSize() const;
00236   void             setTabIconSize( const QSize& );
00237 
00238 protected:
00239   virtual QVariant optionValue( const QString& ) const;
00240   virtual void     setOptionValue( const QString&, const QVariant& );
00241   virtual void     ensureVisible( QtxPreferenceItem* );
00242 
00243 private:
00244   void             updateTabs();
00245 
00246 private:
00247   QTabWidget*      myTabs;
00248 };
00249 
00250 class QTX_EXPORT QtxPagePrefFrameItem : public QtxPagePrefItem
00251 {
00252 public:
00253   QtxPagePrefFrameItem( const QString&, QtxPreferenceItem* = 0,
00254                         const QString& = QString(), const QString& = QString() );
00255   virtual ~QtxPagePrefFrameItem();
00256 
00257   virtual void     updateContents();
00258 
00259   bool             stretch() const;
00260   void             setStretch( const bool );
00261 
00262   int              margin() const;
00263   void             setMargin( const int );
00264 
00265   int              spacing() const;
00266   void             setSpacing( const int );
00267 
00268   int              columns() const;
00269   void             setColumns( const int );
00270 
00271   Qt::Orientation  orientation() const;
00272   void             setOrientation( const Qt::Orientation );
00273 
00274 protected:
00275   virtual QVariant optionValue( const QString& ) const;
00276   virtual void     setOptionValue( const QString&, const QVariant& );
00277 
00278   virtual void     widgetShown();
00279 
00280 private:
00281   void             updateFrame();
00282 
00283 private:
00284   QtxGridBox*      myBox;
00285 };
00286 
00287 class QTX_EXPORT QtxPagePrefGroupItem : public QtxPagePrefItem
00288 {
00289 public:
00290   QtxPagePrefGroupItem( const QString&, QtxPreferenceItem* = 0,
00291                         const QString& = QString(), const QString& = QString() );
00292   QtxPagePrefGroupItem( const int, const QString&, QtxPreferenceItem* = 0,
00293                         const QString& = QString(), const QString& = QString() );
00294   virtual ~QtxPagePrefGroupItem();
00295 
00296   virtual void     updateContents();
00297 
00298   int              margin() const;
00299   void             setMargin( const int );
00300 
00301   int              spacing() const;
00302   void             setSpacing( const int );
00303 
00304   int              columns() const;
00305   void             setColumns( const int );
00306 
00307   Qt::Orientation  orientation() const;
00308   void             setOrientation( const Qt::Orientation );
00309 
00310   bool             isFlat() const;
00311   void             setFlat( const bool );
00312 
00313   virtual void     setResource( const QString&, const QString& );
00314 
00315   virtual void     store();
00316   virtual void     retrieve();
00317 
00318   QtxGridBox*      gridBox() const;
00319 
00320 protected:
00321   virtual QVariant optionValue( const QString& ) const;
00322   virtual void     setOptionValue( const QString&, const QVariant& );
00323 
00324   virtual void     widgetShown();
00325 
00326 private:
00327   void             updateState();
00328   void             updateGroup();
00329 
00330 private:
00331   QtxGridBox*      myBox;
00332   QtxGroupBox*     myGroup;
00333 };
00334 
00335 class QTX_EXPORT QtxPagePrefLabelItem : public QtxPagePrefItem
00336 {
00337 public:
00338   QtxPagePrefLabelItem( const QString&, QtxPreferenceItem* = 0 );
00339   QtxPagePrefLabelItem( Qt::Alignment, const QString&, QtxPreferenceItem* = 0 );
00340   virtual ~QtxPagePrefLabelItem();
00341 
00342   virtual void      setTitle( const QString& );
00343 
00344   Qt::Alignment     alignment() const;
00345   void              setAlignment( Qt::Alignment );
00346 
00347 protected:
00348   virtual QVariant optionValue( const QString& ) const;
00349   virtual void     setOptionValue( const QString&, const QVariant& );
00350 
00351 private:
00352   QPointer<QLabel>  myLabel;
00353 };
00354 
00355 class QTX_EXPORT QtxPagePrefSpaceItem : public QtxPagePrefItem
00356 {
00357 public:
00358   QtxPagePrefSpaceItem( QtxPreferenceItem* = 0 );
00359   QtxPagePrefSpaceItem( Qt::Orientation, QtxPreferenceItem* = 0 );
00360   QtxPagePrefSpaceItem( const int, const int, QtxPreferenceItem* = 0 );
00361   virtual ~QtxPagePrefSpaceItem();
00362 
00363   int              size( Qt::Orientation ) const;
00364   void             setSize( Qt::Orientation, const int );
00365 
00366   int              stretch( Qt::Orientation ) const;
00367   void             setStretch( Qt::Orientation, const int );
00368 
00369 protected:
00370   virtual QVariant optionValue( const QString& ) const;
00371   virtual void     setOptionValue( const QString&, const QVariant& );
00372 
00373 private:
00374   void             initialize( const int, const int, const int, const int );
00375 };
00376 
00377 class QTX_EXPORT QtxPagePrefCheckItem : public QtxPagePrefItem
00378 {
00379 public:
00380   QtxPagePrefCheckItem( const QString&, QtxPreferenceItem* = 0,
00381                         const QString& = QString(), const QString& = QString() );
00382   virtual ~QtxPagePrefCheckItem();
00383 
00384   virtual void     setTitle( const QString& );
00385 
00386   virtual void     store();
00387   virtual void     retrieve();
00388 
00389 private:
00390   QCheckBox*       myCheck;
00391 };
00392 
00393 class QTX_EXPORT QtxPagePrefEditItem : public QtxPageNamedPrefItem
00394 {
00395 public:
00396   typedef enum { String, Integer, Double } InputType;
00397 
00398 public:
00399   QtxPagePrefEditItem( const QString&, QtxPreferenceItem* = 0,
00400                        const QString& = QString(), const QString& = QString() );
00401   QtxPagePrefEditItem( const int, const QString&, QtxPreferenceItem* = 0,
00402                        const QString& = QString(), const QString& = QString() );
00403   virtual ~QtxPagePrefEditItem();
00404 
00405   int              inputType() const;
00406   void             setInputType( const int );
00407 
00408   int              decimals() const;
00409   void             setDecimals( const int );
00410   
00411   int              echoMode() const;
00412   void             setEchoMode( const int );
00413 
00414   virtual void     store();
00415   virtual void     retrieve();
00416 
00417 protected:
00418   virtual QVariant optionValue( const QString& ) const;
00419   virtual void     setOptionValue( const QString&, const QVariant& );
00420 
00421 private:
00422   void             updateEditor();
00423 
00424 private:
00425   int              myType;
00426   int              myDecimals;
00427   int              myEchoMode;
00428   QLineEdit*       myEditor;
00429 };
00430 
00431 class QTX_EXPORT QtxPagePrefSliderItem : public QObject,public QtxPageNamedPrefItem
00432 {
00433   Q_OBJECT
00434 
00435 public:
00436   QtxPagePrefSliderItem( const QString&, QtxPreferenceItem* = 0,
00437                          const QString& = QString(), const QString& = QString() );
00438   virtual ~QtxPagePrefSliderItem();
00439 
00440   int              singleStep() const;
00441   int              pageStep() const;
00442   int              minimum() const;
00443   int              maximum() const;
00444   QList<QIcon>     icons() const; 
00445 
00446   void             setSingleStep( const int& );
00447   void             setPageStep( const int& );
00448   void             setMinimum( const int& );
00449   void             setMaximum( const int& );
00450   void             setIcons( const QList<QIcon>& );
00451 
00452   virtual void     store();
00453   virtual void     retrieve();
00454 
00455 protected:
00456   virtual QVariant optionValue( const QString& ) const;
00457   virtual void     setOptionValue( const QString&, const QVariant& );
00458 
00459 private slots:
00460  void             setIcon( int );
00461 
00462 private:
00463   void             updateSlider();
00464   void             setIcons( const QVariant& );
00465 
00466 private:
00467   QSlider*         mySlider;
00468   QLabel*          myLabel;
00469   QList<QIcon>     myIcons;
00470 };
00471 
00472 class QTX_EXPORT QtxPagePrefSelectItem : public QtxPageNamedPrefItem
00473 {
00474 public:
00475   typedef enum { NoInput, String, Integer, Double } InputType;
00476 
00477 public:
00478   QtxPagePrefSelectItem( const QString&, QtxPreferenceItem* = 0,
00479                          const QString& = QString(), const QString& = QString() );
00480   QtxPagePrefSelectItem( const int, const QString&, QtxPreferenceItem* = 0,
00481                          const QString& = QString(), const QString& = QString() );
00482   virtual ~QtxPagePrefSelectItem();
00483 
00484   int              inputType() const;
00485   void             setInputType( const int );
00486 
00487   QStringList      strings() const;
00488   QList<int>       numbers() const;
00489   QList<QIcon>     icons() const;
00490 
00491   void             setStrings( const QStringList& );
00492   void             setNumbers( const QList<int>& );
00493   void             setIcons( const QList<QIcon>& );
00494 
00495   virtual void     store();
00496   virtual void     retrieve();
00497 
00498 protected:
00499   virtual QVariant optionValue( const QString& ) const;
00500   virtual void     setOptionValue( const QString&, const QVariant& );
00501 
00502 private:
00503   void             updateSelector();
00504   void             setStrings( const QVariant& );
00505   void             setNumbers( const QVariant& );
00506   void             setIcons( const QVariant& );
00507 
00508 private:
00509   int              myType;
00510   QtxComboBox*     mySelector;
00511 };
00512 
00513 class QTX_EXPORT QtxPagePrefSpinItem : public QtxPageNamedPrefItem
00514 {
00515 public:
00516   typedef enum { Integer, Double } InputType;
00517 
00518 public:
00519   QtxPagePrefSpinItem( const QString&, QtxPreferenceItem* = 0,
00520                        const QString& = QString(), const QString& = QString() );
00521   QtxPagePrefSpinItem( const int, const QString&, QtxPreferenceItem* = 0,
00522                        const QString& = QString(), const QString& = QString() );
00523   virtual ~QtxPagePrefSpinItem();
00524 
00525   QVariant         step() const;
00526   QVariant         precision() const;
00527   QVariant         minimum() const;
00528   QVariant         maximum() const;
00529 
00530   QString          prefix() const;
00531   QString          suffix() const;
00532   QString          specialValueText() const;
00533 
00534   void             setStep( const QVariant& );
00535   void             setPrecision( const QVariant& );
00536   void             setMinimum( const QVariant& );
00537   void             setMaximum( const QVariant& );
00538 
00539   void             setPrefix( const QString& );
00540   void             setSuffix( const QString& );
00541   void             setSpecialValueText( const QString& );
00542 
00543   int              inputType() const;
00544   void             setInputType( const int );
00545 
00546   virtual void     store();
00547   virtual void     retrieve();
00548 
00549 protected:
00550   virtual QVariant optionValue( const QString& ) const;
00551   virtual void     setOptionValue( const QString&, const QVariant& );
00552 
00553 private:
00554   void             updateSpinBox();
00555 
00556 private:
00557   int              myType;
00558 };
00559 
00560 class QTX_EXPORT QtxPagePrefTextItem : public QtxPageNamedPrefItem
00561 {
00562 public:
00563   QtxPagePrefTextItem( QtxPreferenceItem* = 0,
00564                        const QString& = QString(), const QString& = QString() );
00565   QtxPagePrefTextItem( const QString&, QtxPreferenceItem* = 0,
00566                        const QString& = QString(), const QString& = QString() );
00567   virtual ~QtxPagePrefTextItem();
00568 
00569   virtual void     store();
00570   virtual void     retrieve();
00571 
00572 private:
00573   QTextEdit*       myEditor;
00574 };
00575 
00576 class QTX_EXPORT QtxPagePrefColorItem : public QtxPageNamedPrefItem
00577 {
00578 public:
00579   QtxPagePrefColorItem( const QString&, QtxPreferenceItem* = 0,
00580                         const QString& = QString(), const QString& = QString() );
00581   virtual ~QtxPagePrefColorItem();
00582 
00583   virtual void     store();
00584   virtual void     retrieve();
00585 
00586 private:
00587   QtxColorButton*  myColor;
00588 };
00589 
00590 class QTX_EXPORT QtxPagePrefFontItem : public QObject, public QtxPageNamedPrefItem
00591 {
00592   Q_OBJECT
00593 
00594 public:
00595   QtxPagePrefFontItem( const int, const QString&, QtxPreferenceItem* = 0,
00596                        const QString& = QString(), const QString& = QString() );
00597   QtxPagePrefFontItem( const QString&, QtxPreferenceItem* = 0,
00598                        const QString& = QString(), const QString& = QString() );
00599   virtual ~QtxPagePrefFontItem();
00600 
00601   int              features() const;
00602   void             setFeatures( const int );
00603 
00604   void             setMode( const int );
00605   int              mode() const;
00606 
00607   void             setFonts( const QStringList& );
00608   QStringList      fonts() const;
00609 
00610   void             setSizes( const QList<int>& = QList<int>() );
00611   QList<int>       sizes() const;
00612 
00613   virtual void     store();
00614   virtual void     retrieve();
00615 
00616 protected:
00617   virtual QVariant optionValue( const QString& ) const;
00618   virtual void     setOptionValue( const QString&, const QVariant& );
00619 
00620 private:
00621   QtxFontEdit*     myFont;
00622 };
00623 
00624 class QTX_EXPORT QtxPagePrefPathItem : public QtxPageNamedPrefItem
00625 {
00626 public:
00627   QtxPagePrefPathItem( const Qtx::PathType, const QString&, QtxPreferenceItem* = 0,
00628                        const QString& = QString(), const QString& = QString() );
00629   QtxPagePrefPathItem( const QString&, QtxPreferenceItem* = 0,
00630                        const QString& = QString(), const QString& = QString() );
00631   virtual ~QtxPagePrefPathItem();
00632 
00633   Qtx::PathType    pathType() const;
00634   void             setPathType( const Qtx::PathType );
00635 
00636   QString          pathFilter() const;
00637   void             setPathFilter( const QString& );
00638 
00639   virtual void     store();
00640   virtual void     retrieve();
00641 
00642 protected:
00643   virtual QVariant optionValue( const QString& ) const;
00644   virtual void     setOptionValue( const QString&, const QVariant& );
00645 
00646 private:
00647   QtxPathEdit*     myPath;
00648 };
00649 
00650 class QTX_EXPORT QtxPagePrefPathListItem : public QtxPageNamedPrefItem
00651 {
00652 public:
00653   QtxPagePrefPathListItem( QtxPreferenceItem* = 0,
00654                            const QString& = QString(), const QString& = QString() );
00655   QtxPagePrefPathListItem( const QString&, QtxPreferenceItem* = 0,
00656                            const QString& = QString(), const QString& = QString() );
00657   QtxPagePrefPathListItem( const Qtx::PathType, const QString&, QtxPreferenceItem* = 0,
00658                            const QString& = QString(), const QString& = QString() );
00659   virtual ~QtxPagePrefPathListItem();
00660 
00661   Qtx::PathType    pathType() const;
00662   void             setPathType( const Qtx::PathType );
00663 
00664   virtual void     store();
00665   virtual void     retrieve();
00666 
00667 protected:
00668   virtual QVariant optionValue( const QString& ) const;
00669   virtual void     setOptionValue( const QString&, const QVariant& );
00670 
00671 private:
00672   QtxPathListEdit* myPaths;
00673 };
00674 
00675 class QTX_EXPORT QtxPagePrefDateTimeItem : public QtxPageNamedPrefItem
00676 {
00677 public:
00678   typedef enum { Date, Time, DateTime } InputType;
00679 
00680 public:
00681   QtxPagePrefDateTimeItem( const QString&, QtxPreferenceItem* = 0,
00682                            const QString& = QString(), const QString& = QString() );
00683   QtxPagePrefDateTimeItem( const int, const QString&, QtxPreferenceItem* = 0,
00684                            const QString& = QString(), const QString& = QString() );
00685   virtual ~QtxPagePrefDateTimeItem();
00686 
00687   int              inputType() const;
00688   void             setInputType( const int );
00689 
00690   bool             calendar() const;
00691   void             setCalendar( const bool );
00692 
00693   QDate            maximumDate() const;
00694   QTime            maximumTime() const;
00695   QDate            minimumDate() const;
00696   QTime            minimumTime() const;
00697 
00698   void             setMaximumDate( const QDate& );
00699   void             setMaximumTime( const QTime& );
00700   void             setMinimumDate( const QDate& );
00701   void             setMinimumTime( const QTime& );
00702 
00703   virtual void     store();
00704   virtual void     retrieve();
00705 
00706 protected:
00707   virtual QVariant optionValue( const QString& ) const;
00708   virtual void     setOptionValue( const QString&, const QVariant& );
00709 
00710 private:
00711   void             updateDateTime();
00712 
00713 private:
00714   int              myType;
00715   QDateTimeEdit*   myDateTime;
00716 };
00717 
00718 class QTX_EXPORT QtxPagePrefShortcutBtnsItem : public QtxPageNamedPrefItem
00719 {
00720 public:
00721   QtxPagePrefShortcutBtnsItem( const QString&, QtxPreferenceItem* = 0,
00722                                const QString& = QString(), const QString& = QString() );
00723   virtual ~QtxPagePrefShortcutBtnsItem();
00724   virtual void     store();
00725   virtual void     retrieve();
00726 
00727 private:
00728   QtxShortcutEdit* myShortcut;
00729 };
00730 
00731 class QTX_EXPORT QtxPagePrefShortcutTreeItem : public QtxPageNamedPrefItem
00732 {
00733 public:
00734   QtxPagePrefShortcutTreeItem( const QString&, QtxPreferenceItem* = 0, 
00735                                const QString& = QString(), const QString& = QString() );
00736   virtual ~QtxPagePrefShortcutTreeItem();
00737   virtual void     store();
00738   virtual void     retrieve();
00739                                            
00740 private:
00741   QtxShortcutTree* myShortcutTree;
00742   QString          mySection;
00743 };
00744 
00745 class QtxUserDefinedContent: public QWidget
00746 {
00747  public:
00748   QtxUserDefinedContent(QWidget* parent = 0, Qt::WindowFlags f = 0 ):QWidget(parent, f) {};
00749   virtual void store(QtxResourceMgr* theRes, QtxPreferenceMgr* thePref) = 0;
00750   virtual void retrieve(QtxResourceMgr* theRes, QtxPreferenceMgr* thePref) = 0;
00751 };
00752 
00753 
00754 class QTX_EXPORT QtxUserDefinedItem : public QtxPageNamedPrefItem
00755 {
00756 public:
00757   QtxUserDefinedItem( QtxPreferenceItem* parent );
00758 
00759   void setContent( QtxUserDefinedContent* theContent );
00760 
00761   virtual void store();
00762   virtual void retrieve();
00763 
00764 protected:
00765   virtual QVariant optionValue( const QString& theName ) const;
00766   virtual void     setOptionValue( const QString& theName, const QVariant& theVal );
00767 
00768 private:
00769   QtxUserDefinedContent* myContent;
00770 };
00771 
00772 #endif
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS