]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Fix for bug IPAL19258 : Qt4 porting. Incorrect view of Preferences: no default color...
authormkr <mkr@opencascade.com>
Fri, 11 Apr 2008 13:47:18 +0000 (13:47 +0000)
committermkr <mkr@opencascade.com>
Fri, 11 Apr 2008 13:47:18 +0000 (13:47 +0000)
src/Qtx/QtxPagePrefMgr.cxx
src/Qtx/QtxPagePrefMgr.h

index a6cc00f7902769f2653954796acb3349001b7f03..930d11557f07242d43459c26325becc711d9df96 100644 (file)
@@ -377,12 +377,19 @@ QtxPageNamedPrefItem::QtxPageNamedPrefItem( const QString& title, QtxPreferenceI
   myControl( 0 )
 {
   QWidget* main = new QWidget();
-  QHBoxLayout* base = new QHBoxLayout( main );
-  base->setMargin( 0 );
-  base->setSpacing( 5 );
 
-  myLabel = new QLabel( title, main );
-  base->addWidget( myLabel );
+  QtxPagePrefGroupItem* aGroup = dynamic_cast<QtxPagePrefGroupItem*>(parent);
+  if ( !aGroup )
+  {
+    QHBoxLayout* base = new QHBoxLayout( main );
+    base->setMargin( 0 );
+    base->setSpacing( 5 );
+
+    myLabel = new QLabel( title, main );
+    base->addWidget( myLabel );
+  }
+  else
+    myLabel = new QLabel( title, aGroup->gridBox() );
 
   setWidget( main );
 
@@ -442,7 +449,11 @@ void QtxPageNamedPrefItem::setControl( QWidget* wid )
   myControl = wid;
 
   if ( myControl )
-    widget()->layout()->addWidget( myControl );
+  {
+    QtxPagePrefGroupItem* aGroup = dynamic_cast<QtxPagePrefGroupItem*>(parentItem());
+    if ( !aGroup ) widget()->layout()->addWidget( myControl );
+    else myControl->setParent( aGroup->gridBox() );
+  }
 }
 
 /*!
@@ -1441,6 +1452,14 @@ void QtxPagePrefGroupItem::store()
     setBoolean( myGroup->isChecked() );
 }
 
+/*!
+  \brief Return widget contained grid layout of this group.
+*/
+QtxGridBox* QtxPagePrefGroupItem::gridBox() const
+{
+  return myBox;
+}
+
 /*!
   \brief Retrieve preference item from the resource manager.
   \sa store()
@@ -2738,7 +2757,9 @@ QtxPagePrefColorItem::QtxPagePrefColorItem( const QString& title, QtxPreferenceI
                                             const QString& sect, const QString& param )
 : QtxPageNamedPrefItem( title, parent, sect, param )
 {
-  setControl( myColor = new QtxColorButton() );
+  QtxPagePrefGroupItem* aGroup = dynamic_cast<QtxPagePrefGroupItem*>( parent );
+
+  setControl( myColor = new QtxColorButton( aGroup ? aGroup->gridBox() : 0 ) );
   myColor->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed );
 }
 
index 67ceee71e71ebe87ec7128fe657c121e94e4447f..0f2770d75c4e01364c247b2a919710e2df003be7 100644 (file)
@@ -291,6 +291,8 @@ public:
   virtual void     store();
   virtual void     retrieve();
 
+  QtxGridBox*      gridBox() const;
+
 protected:
   virtual QVariant optionValue( const QString& ) const;
   virtual void     setOptionValue( const QString&, const QVariant& );