Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
QtxPagePrefMgr.h
Go to the documentation of this file.
1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 
20 // File: QtxPagePrefMgr.h
21 // Author: Sergey TELKOV
22 //
23 #ifndef QTXPAGEPREFMGR_H
24 #define QTXPAGEPREFMGR_H
25 
26 #include "QtxPreferenceMgr.h"
27 
28 #include "QtxPathEdit.h"
29 #include "QtxPathListEdit.h"
30 
31 #include <QFrame>
32 #include <QLabel>
33 #include <QPointer>
34 #include <QIcon>
35 
36 class QtxGridBox;
37 class QtxFontEdit;
38 class QtxGroupBox;
39 class QtxComboBox;
40 class QtxColorButton;
41 class QtxBiColorTool;
42 class QtxShortcutEdit;
43 class QtxShortcutTree;
44 class QtxBackgroundTool;
45 
46 class QToolBox;
47 class QLineEdit;
48 class QTextEdit;
49 class QCheckBox;
50 class QTabWidget;
51 class QToolButton;
52 class QListWidget;
53 class QFileDialog;
54 class QDateTimeEdit;
55 class QStackedWidget;
56 class QSlider;
57 class QTreeWidget;
58 
60 {
61  Q_OBJECT
62 
63 public:
65  virtual ~QtxPagePrefMgr();
66 
67  virtual QSize sizeHint() const;
68  virtual QSize minimumSizeHint() const;
69 
70  virtual void updateContents();
71 
72 signals:
73  void resourceChanged( int );
74  void resourceChanged( QString&, QString& );
75  void resourcesChanged( const QMap<int, QString>& );
76 
77 public slots:
78  virtual void setVisible( bool );
79 
80 protected:
81  virtual void itemAdded( QtxPreferenceItem* );
82  virtual void itemRemoved( QtxPreferenceItem* );
83  virtual void itemChanged( QtxPreferenceItem* );
84 
85  virtual QVariant optionValue( const QString& ) const;
86  virtual void setOptionValue( const QString&, const QVariant& );
87 
88 private:
89  void initialize() const;
90  void initialize( QtxPreferenceItem* );
91 
92 private:
94  bool myInit;
95 };
96 
98 {
99  class Listener;
100 
101 public:
102  QtxPagePrefItem( const QString&, QtxPreferenceItem* = 0,
103  const QString& = QString(), const QString& = QString() );
104  virtual ~QtxPagePrefItem();
105 
106  QWidget* widget() const;
107 
108  virtual void activate();
109 
110 protected:
111  void setWidget( QWidget* );
112 
113  virtual void itemAdded( QtxPreferenceItem* );
114  virtual void itemRemoved( QtxPreferenceItem* );
115  virtual void itemChanged( QtxPreferenceItem* );
116 
117  void pageChildItems( QList<QtxPagePrefItem*>&, const bool = false ) const;
118 
119  virtual void store();
120  virtual void retrieve();
121 
122  virtual void widgetShown();
123  virtual void widgetHided();
124 
125  virtual void ensureVisible( QtxPreferenceItem* );
126 
127 private:
128  virtual void contentChanged();
129 
130 private:
131  QPointer<QWidget> myWidget;
133 };
134 
136 {
137 public:
138  QtxPageNamedPrefItem( const QString&, QtxPreferenceItem* = 0,
139  const QString& = QString(), const QString& = QString() );
140  virtual ~QtxPageNamedPrefItem();
141 
142  virtual void setTitle( const QString& );
143 
144  static void adjustLabels( QtxPagePrefItem* );
145 
146 protected:
147  QLabel* label() const;
148  QWidget* control() const;
149 
150  void setControl( QWidget* );
151 
152 private:
153  QPointer<QLabel> myLabel;
154  QPointer<QWidget> myControl;
155 };
156 
158 {
159  Q_OBJECT
160 
161 public:
162  QtxPagePrefListItem( const QString&, QtxPreferenceItem* = 0,
163  const QString& = QString(), const QString& = QString() );
164  virtual ~QtxPagePrefListItem();
165 
166  virtual void updateContents();
167 
168  QString emptyInfo() const;
169  void setEmptyInfo( const QString& );
170 
171  bool isFixedSize() const;
172  void setFixedSize( const bool );
173 
174 private slots:
175  void onItemSelectionChanged();
176 
177 protected:
178  virtual QVariant optionValue( const QString& ) const;
179  virtual void setOptionValue( const QString&, const QVariant& );
180  virtual void ensureVisible( QtxPreferenceItem* );
181 
182  virtual void widgetShown();
183 
184 private:
185  void updateInfo();
186  void updateGeom();
187  void updateState();
188  void updateVisible();
189 
190  int selected() const;
191  QtxPagePrefItem* selectedItem() const;
192  void setSelected( const int );
193 
194 private:
195  bool myFix;
197  QStackedWidget* myStack;
198 
199  QString myInfText;
201 };
202 
204 {
205 public:
206  QtxPagePrefToolBoxItem( const QString&, QtxPreferenceItem* = 0,
207  const QString& = QString(), const QString& = QString() );
208  virtual ~QtxPagePrefToolBoxItem();
209 
210  virtual void updateContents();
211 
212 protected:
213  virtual void ensureVisible( QtxPreferenceItem* );
214 
215 private:
216  void updateToolBox();
217 
218 private:
219  QToolBox* myToolBox;
220 };
221 
223 {
224 public:
225  QtxPagePrefTabsItem( const QString&, QtxPreferenceItem* = 0,
226  const QString& = QString(), const QString& = QString() );
227  virtual ~QtxPagePrefTabsItem();
228 
229  virtual void updateContents();
230 
231  int tabPosition() const;
232  void setTabPosition( const int );
233 
234  int tabShape() const;
235  void setTabShape( const int );
236 
237  QSize tabIconSize() const;
238  void setTabIconSize( const QSize& );
239 
240 protected:
241  virtual QVariant optionValue( const QString& ) const;
242  virtual void setOptionValue( const QString&, const QVariant& );
243  virtual void ensureVisible( QtxPreferenceItem* );
244 
245 private:
246  void updateTabs();
247 
248 private:
249  QTabWidget* myTabs;
250 };
251 
253 {
254 public:
255  QtxPagePrefFrameItem( const QString&, QtxPreferenceItem* = 0,
256  const QString& = QString(), const QString& = QString(), const bool = false );
257  virtual ~QtxPagePrefFrameItem();
258 
259  virtual void updateContents();
260 
261  bool stretch() const;
262  void setStretch( const bool );
263 
264  int margin() const;
265  void setMargin( const int );
266 
267  int spacing() const;
268  void setSpacing( const int );
269 
270  int columns() const;
271  void setColumns( const int );
272 
273  Qt::Orientation orientation() const;
274  void setOrientation( const Qt::Orientation );
275 
276 protected:
277  virtual QVariant optionValue( const QString& ) const;
278  virtual void setOptionValue( const QString&, const QVariant& );
279 
280  virtual void widgetShown();
281 
282 private:
283  void updateFrame();
284 
285 private:
287 };
288 
290 {
291 public:
292  QtxPagePrefGroupItem( const QString&, QtxPreferenceItem* = 0,
293  const QString& = QString(), const QString& = QString() );
294  QtxPagePrefGroupItem( const int, const QString&, QtxPreferenceItem* = 0,
295  const QString& = QString(), const QString& = QString() );
296  virtual ~QtxPagePrefGroupItem();
297 
298  virtual void updateContents();
299 
300  int margin() const;
301  void setMargin( const int );
302 
303  int spacing() const;
304  void setSpacing( const int );
305 
306  int columns() const;
307  void setColumns( const int );
308 
309  Qt::Orientation orientation() const;
310  void setOrientation( const Qt::Orientation );
311 
312  bool isFlat() const;
313  void setFlat( const bool );
314 
315  virtual void setResource( const QString&, const QString& );
316 
317  virtual void store();
318  virtual void retrieve();
319 
320  QtxGridBox* gridBox() const;
321 
322 protected:
323  virtual QVariant optionValue( const QString& ) const;
324  virtual void setOptionValue( const QString&, const QVariant& );
325 
326  virtual void widgetShown();
327 
328 private:
329  void updateState();
330  void updateGroup();
331 
332 private:
335 };
336 
338 {
339 public:
340  QtxPagePrefLabelItem( const QString&, QtxPreferenceItem* = 0 );
341  QtxPagePrefLabelItem( Qt::Alignment, const QString&, QtxPreferenceItem* = 0 );
342  virtual ~QtxPagePrefLabelItem();
343 
344  virtual void setTitle( const QString& );
345 
346  Qt::Alignment alignment() const;
347  void setAlignment( Qt::Alignment );
348 
349 protected:
350  virtual QVariant optionValue( const QString& ) const;
351  virtual void setOptionValue( const QString&, const QVariant& );
352 
353 private:
354  QPointer<QLabel> myLabel;
355 };
356 
358 {
359 public:
362  QtxPagePrefSpaceItem( const int, const int, QtxPreferenceItem* = 0 );
363  virtual ~QtxPagePrefSpaceItem();
364 
365  int size( Qt::Orientation ) const;
366  void setSize( Qt::Orientation, const int );
367 
368  int stretch( Qt::Orientation ) const;
369  void setStretch( Qt::Orientation, const int );
370 
371 protected:
372  virtual QVariant optionValue( const QString& ) const;
373  virtual void setOptionValue( const QString&, const QVariant& );
374 
375 private:
376  void initialize( const int, const int, const int, const int );
377 };
378 
380 {
381 public:
382  QtxPagePrefCheckItem( const QString&, QtxPreferenceItem* = 0,
383  const QString& = QString(), const QString& = QString() );
384  virtual ~QtxPagePrefCheckItem();
385 
386  virtual void setTitle( const QString& );
387 
388  virtual void store();
389  virtual void retrieve();
390 
391 private:
392  QCheckBox* myCheck;
393 };
394 
396 {
397 public:
398  typedef enum { String, Integer, Double } InputType;
399 
400 public:
401  QtxPagePrefEditItem( const QString&, QtxPreferenceItem* = 0,
402  const QString& = QString(), const QString& = QString() );
403  QtxPagePrefEditItem( const int, const QString&, QtxPreferenceItem* = 0,
404  const QString& = QString(), const QString& = QString() );
405  virtual ~QtxPagePrefEditItem();
406 
407  int inputType() const;
408  void setInputType( const int );
409 
410  int decimals() const;
411  void setDecimals( const int );
412 
413  int echoMode() const;
414  void setEchoMode( const int );
415 
416  virtual void store();
417  virtual void retrieve();
418 
419 protected:
420  virtual QVariant optionValue( const QString& ) const;
421  virtual void setOptionValue( const QString&, const QVariant& );
422 
423 private:
424  void updateEditor();
425 
426 private:
427  int myType;
431 };
432 
434 {
435  Q_OBJECT
436 
437 public:
438  QtxPagePrefSliderItem( const QString&, QtxPreferenceItem* = 0,
439  const QString& = QString(), const QString& = QString() );
440  virtual ~QtxPagePrefSliderItem();
441 
442  int singleStep() const;
443  int pageStep() const;
444  int minimum() const;
445  int maximum() const;
446  QList<QIcon> icons() const;
447 
448  void setSingleStep( const int& );
449  void setPageStep( const int& );
450  void setMinimum( const int& );
451  void setMaximum( const int& );
452  void setIcons( const QList<QIcon>& );
453 
454  virtual void store();
455  virtual void retrieve();
456 
457 protected:
458  virtual QVariant optionValue( const QString& ) const;
459  virtual void setOptionValue( const QString&, const QVariant& );
460 
461 private slots:
462  void setIcon( int );
463 
464 private:
465  void updateSlider();
466  void setIcons( const QVariant& );
467 
468 private:
469  QSlider* mySlider;
472 };
473 
475 {
476 public:
477  typedef enum { NoInput, String, Integer, Double } InputType;
478 
479 public:
480  QtxPagePrefSelectItem( const QString&, QtxPreferenceItem* = 0,
481  const QString& = QString(), const QString& = QString() );
482  QtxPagePrefSelectItem( const int, const QString&, QtxPreferenceItem* = 0,
483  const QString& = QString(), const QString& = QString() );
484  virtual ~QtxPagePrefSelectItem();
485 
486  int inputType() const;
487  void setInputType( const int );
488 
489  QStringList strings() const;
490  QList<QVariant> numbers() const;
491  QList<QIcon> icons() const;
492 
493  void setStrings( const QStringList& );
494  void setNumbers( const QList<QVariant>& );
495  void setIcons( const QList<QIcon>& );
496 
497  virtual void store();
498  virtual void retrieve();
499 
500 protected:
501  virtual QVariant optionValue( const QString& ) const;
502  virtual void setOptionValue( const QString&, const QVariant& );
503 
504 private:
505  void updateSelector();
506  void setStrings( const QVariant& );
507  void setNumbers( const QVariant& );
508  void setIcons( const QVariant& );
509 
510 private:
511  int myType;
513 };
514 
516 {
517 public:
518  typedef enum { Integer, Double } InputType;
519 
520 public:
521  QtxPagePrefSpinItem( const QString&, QtxPreferenceItem* = 0,
522  const QString& = QString(), const QString& = QString() );
523  QtxPagePrefSpinItem( const int, const QString&, QtxPreferenceItem* = 0,
524  const QString& = QString(), const QString& = QString() );
525  virtual ~QtxPagePrefSpinItem();
526 
527  QVariant step() const;
528  QVariant precision() const;
529  QVariant minimum() const;
530  QVariant maximum() const;
531 
532  QString prefix() const;
533  QString suffix() const;
534  QString specialValueText() const;
535 
536  void setStep( const QVariant& );
537  void setPrecision( const QVariant& );
538  void setMinimum( const QVariant& );
539  void setMaximum( const QVariant& );
540 
541  void setPrefix( const QString& );
542  void setSuffix( const QString& );
543  void setSpecialValueText( const QString& );
544 
545  int inputType() const;
546  void setInputType( const int );
547 
548  virtual void store();
549  virtual void retrieve();
550 
551 protected:
552  virtual QVariant optionValue( const QString& ) const;
553  virtual void setOptionValue( const QString&, const QVariant& );
554 
555 private:
556  void updateSpinBox();
557 
558 private:
559  int myType;
560 };
561 
563 {
564 public:
566  const QString& = QString(), const QString& = QString() );
567  QtxPagePrefTextItem( const QString&, QtxPreferenceItem* = 0,
568  const QString& = QString(), const QString& = QString() );
569  virtual ~QtxPagePrefTextItem();
570 
571  virtual void store();
572  virtual void retrieve();
573 
574 private:
575  QTextEdit* myEditor;
576 };
577 
579 {
580 public:
581  QtxPagePrefColorItem( const QString&, QtxPreferenceItem* = 0,
582  const QString& = QString(), const QString& = QString() );
583  virtual ~QtxPagePrefColorItem();
584 
585  virtual void store();
586  virtual void retrieve();
587 
588 private:
590 };
591 
593 {
594 public:
595  QtxPagePrefBiColorItem( const QString&, QtxPreferenceItem* = 0,
596  const QString& = QString(), const QString& = QString() );
597  virtual ~QtxPagePrefBiColorItem();
598 
599  virtual QString text() const;
600  virtual void setText( const QString& );
601 
602  virtual void store();
603  virtual void retrieve();
604 
605 protected:
606  virtual QVariant optionValue( const QString& ) const;
607  virtual void setOptionValue( const QString&, const QVariant& );
608 
609 private:
611 };
612 
614 {
615  Q_OBJECT
616 
617 public:
618  QtxPagePrefFontItem( const int, const QString&, QtxPreferenceItem* = 0,
619  const QString& = QString(), const QString& = QString() );
620  QtxPagePrefFontItem( const QString&, QtxPreferenceItem* = 0,
621  const QString& = QString(), const QString& = QString() );
622  virtual ~QtxPagePrefFontItem();
623 
624  int features() const;
625  void setFeatures( const int );
626 
627  void setMode( const int );
628  int mode() const;
629 
630  void setFonts( const QStringList& );
631  QStringList fonts() const;
632 
633  void setSizes( const QList<int>& = QList<int>() );
634  QList<int> sizes() const;
635 
636  virtual void store();
637  virtual void retrieve();
638 
639 protected:
640  virtual QVariant optionValue( const QString& ) const;
641  virtual void setOptionValue( const QString&, const QVariant& );
642 
643 private:
645 };
646 
648 {
649 public:
650  QtxPagePrefPathItem( const Qtx::PathType, const QString&, QtxPreferenceItem* = 0,
651  const QString& = QString(), const QString& = QString() );
652  QtxPagePrefPathItem( const QString&, QtxPreferenceItem* = 0,
653  const QString& = QString(), const QString& = QString() );
654  virtual ~QtxPagePrefPathItem();
655 
656  Qtx::PathType pathType() const;
657  void setPathType( const Qtx::PathType );
658 
659  QString pathFilter() const;
660  void setPathFilter( const QString& );
661 
662  virtual void store();
663  virtual void retrieve();
664 
665 protected:
666  virtual QVariant optionValue( const QString& ) const;
667  virtual void setOptionValue( const QString&, const QVariant& );
668 
669 private:
671 };
672 
674 {
675 public:
677  const QString& = QString(), const QString& = QString() );
678  QtxPagePrefPathListItem( const QString&, QtxPreferenceItem* = 0,
679  const QString& = QString(), const QString& = QString() );
680  QtxPagePrefPathListItem( const Qtx::PathType, const QString&, QtxPreferenceItem* = 0,
681  const QString& = QString(), const QString& = QString() );
682  virtual ~QtxPagePrefPathListItem();
683 
684  Qtx::PathType pathType() const;
685  void setPathType( const Qtx::PathType );
686 
687  virtual void store();
688  virtual void retrieve();
689 
690 protected:
691  virtual QVariant optionValue( const QString& ) const;
692  virtual void setOptionValue( const QString&, const QVariant& );
693 
694 private:
696 };
697 
699 {
700 public:
701  typedef enum { Date, Time, DateTime } InputType;
702 
703 public:
704  QtxPagePrefDateTimeItem( const QString&, QtxPreferenceItem* = 0,
705  const QString& = QString(), const QString& = QString() );
706  QtxPagePrefDateTimeItem( const int, const QString&, QtxPreferenceItem* = 0,
707  const QString& = QString(), const QString& = QString() );
708  virtual ~QtxPagePrefDateTimeItem();
709 
710  int inputType() const;
711  void setInputType( const int );
712 
713  bool calendar() const;
714  void setCalendar( const bool );
715 
716  QDate maximumDate() const;
717  QTime maximumTime() const;
718  QDate minimumDate() const;
719  QTime minimumTime() const;
720 
721  void setMaximumDate( const QDate& );
722  void setMaximumTime( const QTime& );
723  void setMinimumDate( const QDate& );
724  void setMinimumTime( const QTime& );
725 
726  virtual void store();
727  virtual void retrieve();
728 
729 protected:
730  virtual QVariant optionValue( const QString& ) const;
731  virtual void setOptionValue( const QString&, const QVariant& );
732 
733 private:
734  void updateDateTime();
735 
736 private:
737  int myType;
738  QDateTimeEdit* myDateTime;
739 };
740 
742 {
743 public:
744  QtxPagePrefShortcutBtnsItem( const QString&, QtxPreferenceItem* = 0,
745  const QString& = QString(), const QString& = QString() );
746  virtual ~QtxPagePrefShortcutBtnsItem();
747  virtual void store();
748  virtual void retrieve();
749 
750 private:
752 };
753 
755 {
756 public:
757  QtxPagePrefShortcutTreeItem( const QString&, QtxPreferenceItem* = 0,
758  const QString& = QString(), const QString& = QString() );
759  virtual ~QtxPagePrefShortcutTreeItem();
760  virtual void store();
761  virtual void retrieve();
762 
763 private:
765  QString mySection;
766 };
767 
769 {
770  Q_OBJECT
771 
772 public:
773  QtxPagePrefBackgroundItem( const QString&, QtxPreferenceItem* = 0,
774  const QString& = QString(), const QString& = QString() );
775  virtual ~QtxPagePrefBackgroundItem();
776 
777  void gradients( QStringList&, QIntList& ) const;
778  void setGradients( const QStringList&, const QIntList& = QIntList() );
779 
780  bool isModeAllowed( Qtx::BackgroundMode ) const;
781  void setModeAllowed( Qtx::BackgroundMode, bool );
782 
783  bool isTextureModeAllowed( Qtx::TextureMode ) const;
784  void setTextureModeAllowed( Qtx::TextureMode, bool );
785 
786  bool isTextureAllowed() const;
787  void setTextureAllowed( bool );
788 
789  QString imageFormats() const;
790  void setImageFormats( const QString& );
791 
792  Qt::Orientation orientation() const;
793  void setOrientation( Qt::Orientation );
794 
795  virtual void store();
796  virtual void retrieve();
797 
798 protected:
799  virtual QVariant optionValue( const QString& ) const;
800  virtual void setOptionValue( const QString&, const QVariant& );
801 
802 private:
804 };
805 
807 {
808  public:
809  QtxUserDefinedContent(QWidget* parent = 0, Qt::WindowFlags f = 0 ):QWidget(parent, f) {};
810  virtual void store(QtxResourceMgr* theRes, QtxPreferenceMgr* thePref) = 0;
811  virtual void retrieve(QtxResourceMgr* theRes, QtxPreferenceMgr* thePref) = 0;
812 };
813 
814 
816 {
817 public:
819 
820  void setContent( QtxUserDefinedContent* theContent );
821 
822  virtual void store();
823  virtual void retrieve();
824 
825 protected:
826  virtual QVariant optionValue( const QString& theName ) const;
827  virtual void setOptionValue( const QString& theName, const QVariant& theVal );
828 
829 private:
831 };
832 
833 #endif