Salome HOME
Modify default icon for the module
[modules/gui.git] / src / Qtx / QtxListResourceEdit.cxx
index 717d4f3db2ea9dcb979ae684d6ae4c1e1b9a1504..8ff32d4b4d233900d73d724f591d2e5cb6033046 100644 (file)
@@ -4,6 +4,7 @@
 #include "QtxListResourceEdit.h"
 
 #include <qhbox.h>
+#include <qvbox.h>
 #include <qlabel.h>
 #include <qlayout.h>
 #include <qlistbox.h>
@@ -28,16 +29,17 @@ QtxListResourceEdit::QtxListResourceEdit( QtxResourceMgr* mgr, QWidget* parent )
 : QFrame( parent ),
 QtxResourceEdit( mgr )
 {
-  QHBoxLayout* main = new QHBoxLayout( this, 0, 5 );
-
-  myList  = new QListBox( this );
-  myStack = new QWidgetStack( this );
+  QVBoxLayout* main = new QVBoxLayout( this, 0, 5 );
+  QGroupBox* base = new QGroupBox( 1, Qt::Vertical, "", this );
+  base->setFrameStyle( QFrame::NoFrame );
+  base->setInsideMargin( 0 );
+  main->addWidget( base );
 
-  myList->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) );
-  myStack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  myList  = new QListBox( base );
+  myStack = new QWidgetStack( base );
 
-  main->addWidget( myList );
-  main->addWidget( myStack );
+  myList->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) );
+  myStack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
 
   myList->setSelectionMode( QListBox::Single );
 
@@ -80,6 +82,23 @@ QtxResourceEdit::Item* QtxListResourceEdit::createItem( const QString& title, co
   return category;
 }
 
+void QtxListResourceEdit::changedResources( const QMap<Item*, QString>& map )
+{
+  QMap<int, QString> idMap;
+  for ( QMap<Item*, QString>::ConstIterator it = map.begin(); it != map.end(); ++it )
+  {
+    idMap.insert( it.key()->id(), it.data() );
+
+    emit resourceChanged( it.key()->id() );
+
+    QString sec, param;
+    it.key()->resource( sec, param );
+    emit resourceChanged( sec, param );
+  }
+
+  emit resourcesChanged( idMap );
+}
+
 void QtxListResourceEdit::updateState()
 {
   if ( myStack->visibleWidget() )
@@ -187,10 +206,11 @@ QtxListResourceEdit::Tab::Tab( QtxResourceEdit* edit, Item* pItem, QWidget* pare
 Item( edit, pItem )
 {
   QVBoxLayout* main = new QVBoxLayout( this );
-  myMainFrame = new QGroupBox( 1, Qt::Horizontal, "", this );
-  myMainFrame->setFrameStyle( QFrame::NoFrame );
-  myMainFrame->setInsideMargin( 5 );
+  QVBox* vbox = new QVBox( this );
+  vbox->setMargin( 5 );
+  myMainFrame = vbox;
   main->addWidget( myMainFrame );
+  main->addStretch( 1 );
 }
 
 QtxListResourceEdit::Tab::~Tab()
@@ -321,19 +341,19 @@ QtxResourceEdit::Item* QtxListResourceEdit::Group::createItem( const QString& ti
   case String:
     item = new StringItem( title, resourceEdit(), this, this );
     break;
-  case List:
+  case Selector:
     item = new ListItem( title, resourceEdit(), this, this );
     break;
-  case RealSpin:
+  case DblSpin:
     item = new DoubleSpinItem( title, resourceEdit(), this, this );
     break;
-  case IntegerSpin:
+  case IntSpin:
     item = new IntegerSpinItem( title, resourceEdit(), this, this );
     break;
-  case RealEdit:
+  case Double:
     item = new DoubleEditItem( title, resourceEdit(), this, this );
     break;
-  case IntegerEdit:
+  case Integer:
     item = new IntegerEditItem( title, resourceEdit(), this, this );
     break;
   case Space:
@@ -379,7 +399,7 @@ QtxResourceEdit::Item* QtxListResourceEdit::PrefItem::createItem( const QString&
 QtxListResourceEdit::Spacer::Spacer( QtxResourceEdit* edit, Item* pItem, QWidget* parent )
 : PrefItem( Space, edit, pItem, parent )
 {
-  setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
 }
 
 QtxListResourceEdit::Spacer::~Spacer()
@@ -401,11 +421,11 @@ void QtxListResourceEdit::Spacer::retrieve()
 
 QtxListResourceEdit::ListItem::ListItem( const QString& title, QtxResourceEdit* edit,
                                          Item* pItem, QWidget* parent )
-: PrefItem( List, edit, pItem, parent )
+: PrefItem( Selector, edit, pItem, parent )
 {
   new QLabel( title, this );
   myList = new QComboBox( false, this );
-  myList->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  myList->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
 }
 
 QtxListResourceEdit::ListItem::~ListItem()
@@ -509,7 +529,7 @@ QtxListResourceEdit::StateItem::StateItem( const QString& title, QtxResourceEdit
 : PrefItem( Bool, edit, pItem, parent )
 {
   myState = new QCheckBox( title, this );
-  myState->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  myState->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
 }
 
 QtxListResourceEdit::StateItem::~StateItem()
@@ -537,7 +557,7 @@ QtxListResourceEdit::StringItem::StringItem( const QString& title, QtxResourceEd
 {
   new QLabel( title, this );
   myString = new QLineEdit( this );
-  myString->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  myString->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
 }
 
 QtxListResourceEdit::StringItem::~StringItem()
@@ -560,12 +580,12 @@ void QtxListResourceEdit::StringItem::retrieve()
 */
 
 QtxListResourceEdit::IntegerEditItem::IntegerEditItem( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
-: PrefItem( IntegerEdit, edit, pItem, parent )
+: PrefItem( Integer, edit, pItem, parent )
 {
   new QLabel( title, this );
   myInteger = new QLineEdit( this );
   myInteger->setValidator( new QIntValidator( myInteger ) );
-  myInteger->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  myInteger->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
 }
 
 QtxListResourceEdit::IntegerEditItem::~IntegerEditItem()
@@ -588,11 +608,11 @@ void QtxListResourceEdit::IntegerEditItem::retrieve()
 */
 
 QtxListResourceEdit::IntegerSpinItem::IntegerSpinItem( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
-: PrefItem( IntegerSpin, edit, pItem, parent )
+: PrefItem( IntSpin, edit, pItem, parent )
 {
   new QLabel( title, this );
   myInteger = new QtxIntSpinBox( this );
-  myInteger->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  myInteger->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
 }
 
 QtxListResourceEdit::IntegerSpinItem::~IntegerSpinItem()
@@ -643,12 +663,12 @@ void QtxListResourceEdit::IntegerSpinItem::setProperty( const QString& name, con
 
 QtxListResourceEdit::DoubleEditItem::DoubleEditItem( const QString& title, QtxResourceEdit* edit,
                                                      Item* pItem, QWidget* parent )
-: PrefItem( RealEdit, edit, pItem, parent )
+: PrefItem( Double, edit, pItem, parent )
 {
   new QLabel( title, this );
   myDouble = new QLineEdit( this );
   myDouble->setValidator( new QDoubleValidator( myDouble ) );
-  myDouble->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  myDouble->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
 }
 
 QtxListResourceEdit::DoubleEditItem::~DoubleEditItem()
@@ -672,11 +692,11 @@ void QtxListResourceEdit::DoubleEditItem::retrieve()
 
 QtxListResourceEdit::DoubleSpinItem::DoubleSpinItem( const QString& title, QtxResourceEdit* edit,
                                                      Item* pItem, QWidget* parent )
-: PrefItem( RealSpin, edit, pItem, parent )
+: PrefItem( DblSpin, edit, pItem, parent )
 {
   new QLabel( title, this );
   myDouble = new QtxDblSpinBox( this );
-  myDouble->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  myDouble->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
 }
 
 QtxListResourceEdit::DoubleSpinItem::~DoubleSpinItem()
@@ -767,7 +787,7 @@ QtxListResourceEdit::ColorItem::ColorItem( const QString& title, QtxResourceEdit
 
   new QLabel( title, this );
   myColor = new ColorSelector( this );
-  myColor->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
+  myColor->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
 }
 
 QtxListResourceEdit::ColorItem::~ColorItem()