]> SALOME platform Git repositories - modules/paravis.git/commitdiff
Salome HOME
Properly integrating new Settings panel. "Default" won't work (but wasn't
authorabn <adrien.bruneton@cea.fr>
Fri, 12 Sep 2014 09:55:59 +0000 (11:55 +0200)
committerabn <adrien.bruneton@cea.fr>
Fri, 12 Sep 2014 09:55:59 +0000 (11:55 +0200)
working before either).

src/PVGUI/CMakeLists.txt
src/PVGUI/PVGUI_Module.cxx
src/PVGUI/PVGUI_Module_widgets.cxx
src/PVGUI/PVGUI_ParaViewSettingsPane.cxx
src/PVGUI/PVGUI_ParaViewSettingsPane.h
src/PVGUI/resources/pqCustomSettingsWidget.ui [new file with mode: 0644]
src/PVGUI/ui_pqOptionsDialog.h [deleted file]

index fc2bcabaff3c98cfb77e27656990780e4ac79610..84dec7b1a701edb01ceddaed772c8ec81cc86238 100644 (file)
@@ -30,6 +30,7 @@ INCLUDE_DIRECTORIES(${OMNIORB_INCLUDE_DIR}
     ${Boost_INCLUDE_DIRS}
     ${QT_INCLUDES}
     ${CMAKE_CURRENT_SOURCE_DIR}
+    ${CMAKE_CURRENT_BINARY_DIR}
     )
 
 # additional preprocessor / compiler flags
@@ -58,6 +59,12 @@ SET(_link_LIBRARIES
 
 # --- headers ---
 
+SET(_ui_files
+    resources/pqCustomSettingsWidget.ui
+    )
+
+QT4_WRAP_UI(_ui_FORMS_HEADERS ${_ui_files})
+
 # header files / to be processed by moc
 SET(_moc_HEADERS
   PVGUI_Module.h
@@ -79,7 +86,7 @@ SET(_other_HEADERS
 )
 
 # header files / to install
-SET(PVGUI_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
+SET(PVGUI_HEADERS ${_moc_HEADERS} ${_other_HEADERS} ${_ui_FORMS_HEADERS})
 
 # --- resources ---
 
@@ -167,6 +174,7 @@ SET(PVGUI_SOURCES
   ${_rcc_SOURCES} 
   ${vtkEDFCutter_SRCS} 
   ${_VTK_wrap_SOURCES}
+  ${_ui_FORMS_HEADERS}
   )
 
 # --- rules ---
index c2847dab1264d7f4257296ec752e280ab781081f..8233ef9b61d7b524b61071de715bd96e59d7b130 100644 (file)
@@ -749,6 +749,8 @@ bool PVGUI_Module::pvInit()
     */
     // End of Initializer code
 
+    MyCoreApp->settings();
+
     vtkOutputWindow::SetInstance(PVGUI_OutputWindowAdapter::New());
     
     new pqTabbedMultiViewWidget(); // it registers as "MULTIVIEW_WIDGET on creation
@@ -1293,8 +1295,9 @@ void PVGUI_Module::createPreferences()
   setPreferenceProperty(aSaveType, "indexes", aIndices);
 
   //rnv: imp 21712: [CEA 581] Preference to display legend by default 
-  int aDispColoreLegend = addPreference( tr( "PREF_SHOW_COLOR_LEGEND" ), aParaVisSettingsTab,
-                                        LightApp_Preferences::Bool, "PARAVIS", "show_color_legend");
+  // [ABN]: now fixed in ParaView.
+//  int aDispColoreLegend = addPreference( tr( "PREF_SHOW_COLOR_LEGEND" ), aParaVisSettingsTab,
+//                                        LightApp_Preferences::Bool, "PARAVIS", "show_color_legend");
 }
 
 /*!
index 152f7dbf47af449cd487a057c8f4a084b08f33f9..b265093504180a30c9b21c4617ee974d88a14d18 100644 (file)
@@ -130,29 +130,7 @@ void PVGUI_Module::setupDockWidgets()
 
   myDockWidgets[propertiesDock] = true;
 
-  //Display Dock
-//  QDockWidget* displayDock = new QDockWidget( tr( "TTL_DISPLAY" ), desk );
-//  displayDock->setObjectName("displayDock");
-//  QWidget* displayWidgetFrame = new QWidget(displayDock);
-//  displayWidgetFrame->setObjectName("displayWidgetFrame");
-//  displayDock->setWidget(displayWidgetFrame);
-//
-//  QScrollArea* displayScrollArea = new QScrollArea(displayWidgetFrame);
-//  displayScrollArea->setObjectName("displayScrollArea");
-//  displayScrollArea->setWidgetResizable(true);
-//
-//  QVBoxLayout* verticalLayout = new QVBoxLayout(displayWidgetFrame);
-//  verticalLayout->setSpacing(0);
-//  verticalLayout->setContentsMargins(0, 0, 0, 0);
-//
-//  pqDisplayProxyEditorWidget* displayWidget = new pqDisplayProxyEditorWidget(displayDock);
-//  displayWidget->setObjectName("displayWidget");
-//  displayScrollArea->setWidget(displayWidget);
-//  verticalLayout->addWidget(displayScrollArea);
-//
-//  myDockWidgets[displayDock] = true;
-
-  // information dock
+  // Information dock
   QDockWidget* informationDock = new QDockWidget(tr( "TTL_INFORMATION" ), desk);
   informationDock->setObjectName("informationDock");
 
@@ -178,7 +156,7 @@ void PVGUI_Module::setupDockWidgets()
   myDockWidgets[informationDock] = true;
 
   desk->setTabPosition(Qt::LeftDockWidgetArea, QTabWidget::North);
-  desk->tabifyDockWidget(propertiesDock, informationDock);
+  desk->tabifyDockWidget(informationDock, propertiesDock);
   propertiesDock->raise();
 
   // Statistic View
index 18e9821318598f26eaf342634f95a14bab7cda3d..fb095ece4472858f947ac8e2b38f916c4fa92c58 100644 (file)
 //
 
 #include "PVGUI_ParaViewSettingsPane.h"
-#include "ui_pqOptionsDialog.h"
+#include "ui_pqCustomSettingsWidget.h"
 
-#include <pqApplicationSettingsReaction.h>
+#include <QtxDialog.h>
 
 #include <QString>
 
 
-//class OptionsDialogModelItem
-//{
-//public:
-//  OptionsDialogModelItem();
-//  OptionsDialogModelItem(const QString &name);
-//  ~OptionsDialogModelItem();
-//
-//  OptionsDialogModelItem *Parent;
-//  QString Name;
-//  QList<OptionsDialogModelItem *> Children;
-//};
-//
-//
-//class OptionsDialogModel : public QAbstractItemModel
-//{
-//public:
-//  OptionsDialogModel(QObject *parent=0);
-//  virtual ~OptionsDialogModel();
-//
-//  virtual int rowCount(const QModelIndex &parent=QModelIndex()) const;
-//  virtual int columnCount(const QModelIndex &parent=QModelIndex()) const;
-//  virtual QModelIndex index(int row, int column,
-//      const QModelIndex &parent=QModelIndex()) const;
-//  virtual QModelIndex parent(const QModelIndex &child) const;
-//
-//  virtual QVariant data(const QModelIndex &index,
-//      int role=Qt::DisplayRole) const;
-//
-//  QModelIndex getIndex(const QString &path) const;
-//  QString getPath(const QModelIndex &index) const;
-//  void addPath(const QString &path);
-//  bool removeIndex(const QModelIndex &index);
-//
-//private:
-//  QModelIndex getIndex(OptionsDialogModelItem *item) const;
-//
-//private:
-//  OptionsDialogModelItem *Root;
-//};
+#include "pqActiveObjects.h"
+#include "pqApplicationCore.h"
+#include "pqProxyWidget.h"
+#include "pqSearchBox.h"
+#include "pqServer.h"
+#include "pqSettings.h"
+#include "pqUndoStack.h"
+#include "vtkNew.h"
+#include "vtkPVXMLElement.h"
+#include "vtkSmartPointer.h"
+#include "vtkSMProperty.h"
+#include "vtkSMPropertyHelper.h"
+#include "vtkSMPropertyIterator.h"
+#include "vtkSMProxy.h"
+#include "vtkSMProxyIterator.h"
+#include "vtkSMSessionProxyManager.h"
+#include "vtkSMSettings.h"
 
+#include <QKeyEvent>
+#include <QMap>
+#include <QPushButton>
+#include <QScrollArea>
+#include <QSpacerItem>
+#include <QVBoxLayout>
+#include <QShowEvent>
+#include <QHideEvent>
 
-class OptionsDialogForm : public Ui::PVGUIOptionsFrame
+// This class is revisited to hack on the SALOME's Preferences "Default" button
+// to ParaView's "Default" behavior.
+class PVGUI_ParaViewSettingsPane::pqInternals
 {
 public:
-  OptionsDialogForm();
-  ~OptionsDialogForm();
+  pqInternals()
+  {
+    // Get the containing preference tab to identify when it has focus
+
+  }
+  ~pqInternals();
 
-//  QMap<QString, pqOptionsPage *> Pages;
-//  OptionsDialogModel *Model;
-//  int ApplyUseCount;
-  //bool ApplyNeeded;
+  Ui::CustomSettingsWidget Ui;
+
+  // Map from tab indices to stack widget indices. This is needed because there
+  // are more widgets in the stacked widgets than just what we add.
+  QMap<int, int> TabToStackedWidgets;
 };
 
+bool PVGUI_ParaViewSettingsPane::ShowRestartRequired = false;
 
 //----------------------------------------------------------------------------
-//OptionsDialogModelItem::OptionsDialogModelItem()
-//  : Name(), Children()
-//{
-//  this->Parent = 0;
-//}
-//
-//OptionsDialogModelItem::OptionsDialogModelItem(const QString &name)
-//  : Name(name), Children()
-//{
-//  this->Parent = 0;
-//}
-//
-//OptionsDialogModelItem::~OptionsDialogModelItem()
-//{
-//  QList<OptionsDialogModelItem *>::Iterator iter = this->Children.begin();
-//  for( ; iter != this->Children.end(); ++iter)
-//    {
-//    delete *iter;
-//    }
-//}
+PVGUI_ParaViewSettingsPane::PVGUI_ParaViewSettingsPane(QWidget *widgetParent)
+  : QtxUserDefinedContent(widgetParent),
+    Internals (new PVGUI_ParaViewSettingsPane::pqInternals())
+{
+  Ui::CustomSettingsWidget &ui = this->Internals->Ui;
+  ui.setupUi(this);
+  ui.tabBar->setDocumentMode(false);
+  ui.tabBar->setDrawBase(false);
+  ui.tabBar->setExpanding(false);
+  ui.tabBar->setUsesScrollButtons(true);
 
+  // Hide restart message
+  ui.restartRequiredLabel->setVisible(PVGUI_ParaViewSettingsPane::ShowRestartRequired);
 
-//----------------------------------------------------------------------------
-//OptionsDialogModel::OptionsDialogModel(QObject *parentObject)
-//  : QAbstractItemModel(parentObject)
-//{
-//  this->Root = new OptionsDialogModelItem();
-//}
-//
-//OptionsDialogModel::~OptionsDialogModel()
-//{
-//  delete this->Root;
-//}
-//
-//int OptionsDialogModel::rowCount(const QModelIndex &parentIndex) const
-//{
-//  OptionsDialogModelItem *item = this->Root;
-//  if(parentIndex.isValid())
-//    {
-//    item = reinterpret_cast<OptionsDialogModelItem *>(
-//        parentIndex.internalPointer());
-//    }
-//
-//  return item->Children.size();
-//}
-//
-//int OptionsDialogModel::columnCount(const QModelIndex &) const
-//{
-//  return 1;
-//}
-//
-//QModelIndex OptionsDialogModel::index(int row, int column,
-//    const QModelIndex &parentIndex) const
-//{
-//  OptionsDialogModelItem *item = this->Root;
-//  if(parentIndex.isValid())
-//    {
-//    item = reinterpret_cast<OptionsDialogModelItem *>(
-//        parentIndex.internalPointer());
-//    }
-//
-//  if(column == 0 && row >= 0 && row < item->Children.size())
-//    {
-//    return this->createIndex(row, column, item->Children[row]);
-//    }
-//
-//  return QModelIndex();
-//}
-//
-//QModelIndex OptionsDialogModel::parent(const QModelIndex &child) const
-//{
-//  if(child.isValid())
-//    {
-//    OptionsDialogModelItem *item =
-//        reinterpret_cast<OptionsDialogModelItem *>(child.internalPointer());
-//    return this->getIndex(item->Parent);
-//    }
-//
-//  return QModelIndex();
-//}
-//
-//QVariant OptionsDialogModel::data(const QModelIndex &idx, int role) const
-//{
-//  if(idx.isValid())
-//    {
-//    OptionsDialogModelItem *item =
-//        reinterpret_cast<OptionsDialogModelItem *>(idx.internalPointer());
-//    if(role == Qt::DisplayRole || role == Qt::ToolTipRole)
-//      {
-//      return QVariant(item->Name);
-//      }
-//    }
-//
-//  return QVariant();
-//}
-//
-//QModelIndex OptionsDialogModel::getIndex(const QString &path) const
-//{
-//  OptionsDialogModelItem *item = this->Root;
-//  QStringList names = path.split(".");
-//  QStringList::Iterator iter = names.begin();
-//  for( ; item && iter != names.end(); ++iter)
-//    {
-//    OptionsDialogModelItem *child = 0;
-//    QList<OptionsDialogModelItem *>::Iterator jter = item->Children.begin();
-//    for( ; jter != item->Children.end(); ++jter)
-//      {
-//      if((*jter)->Name == *iter)
-//        {
-//        child = *jter;
-//        break;
-//        }
-//      }
-//
-//    item = child;
-//    }
-//
-//  if(item && item != this->Root)
-//    {
-//    return this->getIndex(item);
-//    }
-//
-//  return QModelIndex();
-//}
-//
-//QString OptionsDialogModel::getPath(const QModelIndex &idx) const
-//{
-//  if(idx.isValid())
-//    {
-//    QString path;
-//    OptionsDialogModelItem *item =
-//        reinterpret_cast<OptionsDialogModelItem *>(idx.internalPointer());
-//    if(item)
-//      {
-//      path = item->Name;
-//      item = item->Parent;
-//      }
-//
-//    while(item && item != this->Root)
-//      {
-//      path.prepend(".").prepend(item->Name);
-//      item = item->Parent;
-//      }
-//
-//    return path;
-//    }
-//
-//  return QString();
-//}
-//
-//void OptionsDialogModel::addPath(const QString &path)
-//{
-//  OptionsDialogModelItem *item = this->Root;
-//  QStringList names = path.split(".");
-//  QStringList::Iterator iter = names.begin();
-//  for( ; iter != names.end(); ++iter)
-//    {
-//    OptionsDialogModelItem *child = 0;
-//    QList<OptionsDialogModelItem *>::Iterator jter = item->Children.begin();
-//    for( ; jter != item->Children.end(); ++jter)
-//      {
-//      if((*jter)->Name == *iter)
-//        {
-//        child = *jter;
-//        break;
-//        }
-//      }
-//
-//    if(!child)
-//      {
-//      child = new OptionsDialogModelItem(*iter);
-//      child->Parent = item;
-//      QModelIndex parentIndex = this->getIndex(item);
-//      int row = item->Children.size();
-//      this->beginInsertRows(parentIndex, row, row);
-//      item->Children.append(child);
-//      this->endInsertRows();
-//      }
-//
-//    item = child;
-//    }
-//}
-//
-//bool OptionsDialogModel::removeIndex(const QModelIndex &idx)
-//{
-//  if(idx.isValid())
-//    {
-//    OptionsDialogModelItem *item =
-//        reinterpret_cast<OptionsDialogModelItem *>(idx.internalPointer());
-//    if(item->Children.size() == 0)
-//      {
-//      QModelIndex parentIndex = this->getIndex(item->Parent);
-//      this->beginRemoveRows(parentIndex, idx.row(), idx.row());
-//      item->Parent->Children.removeAt(idx.row());
-//      this->endRemoveRows();
-//      delete item;
-//      return true;
-//      }
-//    }
-//
-//  return false;
-//}
-//
-//QModelIndex OptionsDialogModel::getIndex(
-//    OptionsDialogModelItem *item) const
-//{
-//  if(item && item->Parent)
-//    {
-//    return this->createIndex(item->Parent->Children.indexOf(item), 0, item);
-//    }
-//
-//  return QModelIndex();
-//}
+  QList<vtkSMProxy*> proxies_to_show;
 
+  pqServer* server = pqActiveObjects::instance().activeServer();
+  vtkNew<vtkSMProxyIterator> iter;
+  iter->SetSession(server->session());
+  iter->SetModeToOneGroup();
+  for (iter->Begin("settings"); !iter->IsAtEnd(); iter->Next())
+    {
+    vtkSMProxy* proxy = iter->GetProxy();
+    if (proxy)
+      {
+      proxies_to_show.push_back(proxy);
+      }
+    }
 
-//----------------------------------------------------------------------------
-OptionsDialogForm::OptionsDialogForm()
-  : Ui::PVGUIOptionsFrame()
+  // Add color palette.
+  if (vtkSMProxy* proxy = server->proxyManager()->GetProxy("global_properties", "ColorPalette"))
+    {
+    proxies_to_show.push_back(proxy);
+    }
+
+  foreach (vtkSMProxy* proxy, proxies_to_show)
+    {
+    QString proxyName = proxy->GetXMLName();
+
+    QScrollArea *scrollArea = new QScrollArea(this);
+    scrollArea->setObjectName(QString("ScrollArea%1").arg(proxyName));
+    scrollArea->setWidgetResizable(true);
+    scrollArea->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
+    scrollArea->setFrameShape(QFrame::NoFrame);
+
+    QWidget* container = new QWidget(scrollArea);
+    container->setObjectName("Container");
+    container->setContentsMargins(6, 0, 6, 0);
+
+    QVBoxLayout* vbox = new QVBoxLayout(container);
+    vbox->setMargin(0);
+    vbox->setSpacing(0);
+
+    pqProxyWidget* widget = new pqProxyWidget(proxy, container);
+    widget->setObjectName("ProxyWidget");
+    widget->setApplyChangesImmediately(false);
+    widget->setView(NULL);
+
+    widget->connect(this, SIGNAL(accepted()), SLOT(apply()));
+    widget->connect(this, SIGNAL(rejected()), SLOT(reset()));
+    this->connect(widget, SIGNAL(restartRequired()), SLOT(showRestartRequiredMessage()));
+    vbox->addWidget(widget);
+
+    QSpacerItem* spacer = new QSpacerItem(0, 0,QSizePolicy::Fixed,
+      QSizePolicy::MinimumExpanding);
+    vbox->addItem(spacer);
+
+    scrollArea->setWidget(container);
+    // show panel widgets
+    widget->updatePanel();
+
+    int tabIndex = ui.tabBar->addTab(proxy->GetXMLLabel());
+    int stackIndex = ui.stackedWidget->addWidget(scrollArea);
+    this->Internals->TabToStackedWidgets[tabIndex] = stackIndex;
+
+    this->connect(widget, SIGNAL(changeAvailable()), SLOT(onChangeAvailable()));
+    widget->connect(this, SIGNAL(filterWidgets(bool, QString)), SLOT(filterWidgets(bool, QString)));
+    }
+
+  // Disable some buttons to start
+//  ui.buttonBox->button(QDialogButtonBox::Reset)->setEnabled(false);
+//  ui.buttonBox->button(QDialogButtonBox::Apply)->setEnabled(false);
+
+//  this->connect(ui.buttonBox->button(QDialogButtonBox::RestoreDefaults), SIGNAL(clicked()),
+//                SLOT(onRestoreDefaults()));
+//  this->connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(clicked(QAbstractButton*)));
+  this->connect(this, SIGNAL(accepted()), SLOT(onAccepted()));
+  this->connect(this, SIGNAL(rejected()), SLOT(onRejected()));
+  this->connect(ui.tabBar, SIGNAL(currentChanged(int)), this, SLOT(onTabIndexChanged(int)));
+
+  this->connect(ui.SearchBox, SIGNAL(advancedSearchActivated(bool)), SLOT(filterPanelWidgets()));
+  this->connect(ui.SearchBox, SIGNAL(textChanged(QString)), SLOT(filterPanelWidgets()));
+
+  // After all the tabs are set up, select the first
+  this->onTabIndexChanged(0);
+
+  this->filterPanelWidgets();
+}
+
+//-----------------------------------------------------------------------------
+PVGUI_ParaViewSettingsPane::~PVGUI_ParaViewSettingsPane()
 {
-//  this->Model = new OptionsDialogModel();
-//  this->ApplyUseCount = 0;
-//  //this->ApplyNeeded = false;
+  delete this->Internals;
+  this->Internals = NULL;
 }
 
-OptionsDialogForm::~OptionsDialogForm()
+void PVGUI_ParaViewSettingsPane::store(QtxResourceMgr* , QtxPreferenceMgr* )
 {
-//  delete this->Model;
+  emit this->accepted();
 }
 
+void PVGUI_ParaViewSettingsPane::retrieve(QtxResourceMgr* , QtxPreferenceMgr* )
+{
+//  onRestoreDefaults();
+}
 
-//----------------------------------------------------------------------------
-PVGUI_ParaViewSettingsPane::PVGUI_ParaViewSettingsPane(QWidget *widgetParent)
-  : QtxUserDefinedContent(widgetParent)
+void PVGUI_ParaViewSettingsPane::showEvent(QShowEvent * ev)
 {
-  Form = new OptionsDialogForm();
-  Form->setupUi(this);
-  
-  // Connect the button to the standard ParaView 4.2 setting reaction for now:
-  connect(Form->pvButton, SIGNAL(clicked()),
-          this, SLOT(onRequestParaviewSettings()));
-
-  
-////  this->Form->PageNames->setModel(this->Form->Model);
-//
-//  // Hide the tree widget header view.
-//  this->Form->PageNames->header()->hide();
-//
-//  // Hide the apply and reset buttons until they are needed.
-//  //this->Form->ApplyButton->setEnabled(false);
-//  //this->Form->ResetButton->setEnabled(false);
-//  //this->Form->ApplyButton->hide();
-//  //this->Form->ResetButton->hide();
-//
-//  this->connect(this->Form->PageNames->selectionModel(),
-//      SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
-//      this, SLOT(changeCurrentPage()));
-//  //this->connect(this->Form->ApplyButton, SIGNAL(clicked()),
-//  //    this, SLOT(applyChanges()));
-//  //this->connect(this->Form->ResetButton, SIGNAL(clicked()),
-//  //    this, SLOT(resetChanges()));
-//  //this->connect(this->Form->CloseButton, SIGNAL(clicked()),
-//  //    this, SLOT(accept()));
-//
-//  // Code From pqApplicationOptionsDialog
-//  //this->setApplyNeeded(true);
-//
-//  pqApplicationOptions* appOptions = new pqApplicationOptions;
-//  this->addOptions(appOptions);
-//
-//  pqGlobalRenderViewOptions* renOptions = new pqGlobalRenderViewOptions;
-//  this->addOptions(renOptions);
-//
-//  QStringList pages = appOptions->getPageList();
-//  if(pages.size())
-//    {
-//    this->setCurrentPage(pages[0]);
-//    }
-//
-//  /// Add panes as plugins are loaded.
-//  QObject::connect(pqApplicationCore::instance()->getPluginManager(),
-//    SIGNAL(guiInterfaceLoaded(QObject*)),
-//    this, SLOT(pluginLoaded(QObject*)));
-//
-//  // Load panes from already loaded plugins.
-//  foreach (QObject* plugin_interface, pqApplicationCore::instance()->interfaceTracker()->interfaces())
-//           //pqApplicationCore::instance()->getPluginManager()->interfaces())
+//  // Connect SALOME's default button to ParaView's default restore.
+//  LightApp_PreferencesDlg * prefDg;
+//  QWidget *w = this->parentWidget();
+//  // UGLY!!!
+//  while (w)
 //    {
-//    this->pluginLoaded(plugin_interface);
+//      LightApp_PreferencesDlg * prefDg = dynamic_cast<LightApp_PreferencesDlg *>( w );
+//      if (prefDg)
+//        break;
+//      w = w->parentWidget();
 //    }
+//  if (prefDg)
+//    prefDg->connect(btn, SIGNAL(clicked()), this, SLOT(onRestoreDefaults()));
+  ev->accept();
 }
 
-PVGUI_ParaViewSettingsPane::~PVGUI_ParaViewSettingsPane()
+void PVGUI_ParaViewSettingsPane::hideEvent(QHideEvent * ev)
 {
-  delete this->Form;
+  // Connect SALOME's default button to ParaView's default restore.
+  ev->accept();
 }
 
-void PVGUI_ParaViewSettingsPane::onRequestParaviewSettings()
+//-----------------------------------------------------------------------------
+void PVGUI_ParaViewSettingsPane::clicked(QAbstractButton *button)
 {
-  pqApplicationSettingsReaction::showApplicationSettingsDialog();
+//  Ui::CustomSettingsWidget &ui = this->Internals->Ui;
+//  QDialogButtonBox::ButtonRole role = ui.buttonBox->buttonRole(button);
+//  switch (role)
+//    {
+//  case QDialogButtonBox::AcceptRole:
+//  case QDialogButtonBox::ApplyRole:
+//    emit this->accepted();
+//    break;
+//
+//  case QDialogButtonBox::ResetRole:
+//  case QDialogButtonBox::RejectRole:
+//    emit this->rejected();
+//    break;
+//  default:
+//    break;
+//    }
 }
 
-/*
-bool PVGUI_ParaViewSettingsPane::isApplyNeeded() const
+//-----------------------------------------------------------------------------
+void PVGUI_ParaViewSettingsPane::onAccepted()
 {
-  return this->Form->ApplyNeeded;
-}
-*/
-/*
-void PVGUI_ParaViewSettingsPane::setApplyNeeded(bool applyNeeded)
-{
-  if(applyNeeded != this->Form->ApplyNeeded)
+  // If there are any properties that needed to save their values in QSettings,
+  // do that. Otherwise, save to the vtkSMSettings singleton.
+  vtkSMSettings * settings = vtkSMSettings::GetInstance();
+  pqServer* server = pqActiveObjects::instance().activeServer();
+  vtkNew<vtkSMProxyIterator> iter;
+  iter->SetSession(server->session());
+  iter->SetModeToOneGroup();
+  for (iter->Begin("settings"); !iter->IsAtEnd(); iter->Next())
     {
-    if(!applyNeeded)
+    vtkSMProxy* proxy = iter->GetProxy();
+    settings->SetProxySettings(proxy);
+    vtkSmartPointer<vtkSMPropertyIterator> iter2;
+    iter2.TakeReference(proxy->NewPropertyIterator());
+    for (iter2->Begin(); !iter2->IsAtEnd(); iter2->Next())
       {
-      this->Form->ApplyNeeded = false;
-      //this->Form->ApplyButton->setEnabled(false);
-      //this->Form->ResetButton->setEnabled(false);
+      vtkSMProperty* smproperty = iter2->GetProperty();
+      if (smproperty && smproperty->GetHints() &&
+        smproperty->GetHints()->FindNestedElementByName("SaveInQSettings"))
+        {
+        QString key = QString("%1.%2").arg(iter->GetKey()).arg(iter2->GetKey());
+        this->saveInQSettings(key.toLatin1().data(), smproperty);
+        }
       }
-    else if(this->Form->ApplyUseCount > 0)
+    }
+
+  // Save color palette settings
+  vtkSMProxy* paletteProxy = server->proxyManager()->GetProxy("global_properties", "ColorPalette");
+  if (paletteProxy)
+    {
+    settings->SetProxySettings(paletteProxy);
+    }
+
+  // Disable buttons
+//  Ui::CustomSettingsWidget &ui = this->Internals->Ui;
+//  ui.buttonBox->button(QDialogButtonBox::Reset)->setEnabled(false);
+//  ui.buttonBox->button(QDialogButtonBox::Apply)->setEnabled(false);
+
+  // In theory, the above changes are undo-redo able, the only things that's not
+  // undo-able is the "serialized" values. Hence we just clear the undo stack.
+  CLEAR_UNDO_STACK();
+}
+
+//-----------------------------------------------------------------------------
+void PVGUI_ParaViewSettingsPane::onRejected()
+{
+  // Disable buttons
+//  Ui::CustomSettingsWidget &ui = this->Internals->Ui;
+//  ui.buttonBox->button(QDialogButtonBox::Reset)->setEnabled(false);
+//  ui.buttonBox->button(QDialogButtonBox::Apply)->setEnabled(false);
+}
+
+//-----------------------------------------------------------------------------
+void PVGUI_ParaViewSettingsPane::onRestoreDefaults()
+{
+  pqServer* server = pqActiveObjects::instance().activeServer();
+  vtkSMSession * session = server->session();
+
+  vtkNew<vtkSMProxyIterator> iter;
+  iter->SetSession(session);
+  iter->SetModeToOneGroup();
+  for (iter->Begin("settings"); !iter->IsAtEnd(); iter->Next())
+    {
+    vtkSMProxy* proxy = iter->GetProxy();
+    if (proxy)
       {
-      this->Form->ApplyNeeded = true;
-      //this->Form->ApplyButton->setEnabled(true);
-      //this->Form->ResetButton->setEnabled(true);
+      proxy->ResetPropertiesToXMLDefaults();
       }
     }
+
+  vtkSMProxy* paletteProxy = server->proxyManager()->GetProxy("global_properties", "ColorPalette");
+  if (paletteProxy)
+    {
+    paletteProxy->ResetPropertiesToXMLDefaults();
+    }
 }
-*/
-//void PVGUI_ParaViewSettingsPane::addOptions(const QString &path, pqOptionsPage *options)
-//{
-//  if(!options)
-//    {
-//    return;
-//    }
-//
-//  // See if the page is a container.
-//  pqOptionsContainer *container = qobject_cast<pqOptionsContainer *>(options);
-//  if(!container && path.isEmpty())
-//    {
-//    return;
-//    }
-//
-//  // See if the page/container uses the apply button.
-//  if(options->isApplyUsed())
-//    {
-//    this->Form->ApplyUseCount++;
-//    /*if(this->Form->ApplyUseCount == 1)
-//      {
-//        //this->Form->ApplyButton->show();
-//        //this->Form->ResetButton->show();
-//        //QObject::connect(this, SIGNAL(accepted()), this, SLOT(applyChanges()));
-//        }*/
-//
-//    //this->connect(options, SIGNAL(changesAvailable()),
-//    //this, SLOT(enableButtons()));
-//    }
-//
-//  // Add the widget to the stack.
-//  this->Form->Stack->addWidget(options);
-//
-//  // Add the page(s) to the map and the model.
-//  if(container)
-//    {
-//    // If the path is not empty, use it as the page prefix.
-//    QString prefix;
-//    if(!path.isEmpty())
-//      {
-//      prefix = path;
-//      prefix.append(".");
-//      }
-//
-//    container->setPagePrefix(prefix);
-//
-//    // Get the list of pages from the container.
-//    QStringList pathList = container->getPageList();
-//    QStringList::Iterator iter = pathList.begin();
-//    for( ; iter != pathList.end(); ++iter)
-//      {
-//      this->Form->Pages.insert(prefix + *iter, options);
-//      this->Form->Model->addPath(prefix + *iter);
-//      }
-//    }
-//  else
-//    {
-//    this->Form->Pages.insert(path, options);
-//    this->Form->Model->addPath(path);
-//    }
-//}
-//
-//void PVGUI_ParaViewSettingsPane::addOptions(pqOptionsContainer *options)
-//{
-//  this->addOptions(QString(), options);
-//}
-//
-//void PVGUI_ParaViewSettingsPane::removeOptions(pqOptionsPage *options)
-//{
-//  if(!options)
-//    {
-//    return;
-//    }
-//
-//  // Remove the widget from the stack.
-//  this->Form->Stack->removeWidget(options);
-//
-//  // See if the options use the apply button.
-//  if(options->isApplyUsed())
-//    {
-//    this->Form->ApplyUseCount--;
-//    /*if(this->Form->ApplyUseCount == 0)
-//      {
-//        //this->Form->ApplyNeeded = false;
-//      //this->Form->ApplyButton->setEnabled(false);
-//      //this->Form->ResetButton->setEnabled(false);
-//      //this->Form->ApplyButton->hide();
-//      //this->Form->ResetButton->hide();
-//      //QObject::disconnect(this, SIGNAL(accepted()), this, SLOT(applyChanges()));
-//      }*/
-//
-//    this->disconnect(options, 0, this, 0);
-//    }
-//
-//  // Search the map for the paths to remove.
-//  QMap<QString, pqOptionsPage *>::Iterator iter = this->Form->Pages.begin();
-//  while(iter != this->Form->Pages.end())
-//    {
-//    if(*iter == options)
-//      {
-//      QString path = iter.key();
-//      iter = this->Form->Pages.erase(iter);
-//
-//      // Remove the item from the tree model as well.
-//      QModelIndex index = this->Form->Model->getIndex(path);
-//      QPersistentModelIndex parentIndex = index.parent();
-//      if(this->Form->Model->removeIndex(index))
-//        {
-//        // Remove any empty parent items.
-//        while(parentIndex.isValid() &&
-//            this->Form->Model->rowCount(parentIndex) == 0)
-//          {
-//          index = parentIndex;
-//          parentIndex = index.parent();
-//
-//          // Make sure the index path isn't in the map.
-//          path = this->Form->Model->getPath(index);
-//          if(this->Form->Pages.find(path) == this->Form->Pages.end())
-//            {
-//            if(!this->Form->Model->removeIndex(index))
-//              {
-//              break;
-//              }
-//            }
-//          }
-//        }
-//      }
-//    else
-//      {
-//      ++iter;
-//      }
-//    }
-//}
-//
-//void PVGUI_ParaViewSettingsPane::setCurrentPage(const QString &path)
-//{
-//  QModelIndex current = this->Form->Model->getIndex(path);
-//  this->Form->PageNames->setCurrentIndex(current);
-//}
 
-void PVGUI_ParaViewSettingsPane::applyChanges()
+//-----------------------------------------------------------------------------
+void PVGUI_ParaViewSettingsPane::onTabIndexChanged(int index)
 {
-  //if(this->Form->ApplyNeeded)
-  //  {
-//    BEGIN_UNDO_SET("Changed View Settings");
-//    emit this->aboutToApplyChanges();
-//    QMap<QString, pqOptionsPage *>::Iterator iter = this->Form->Pages.begin();
-//    for( ; iter != this->Form->Pages.end(); ++iter)
-//      {
-//      (*iter)->applyChanges();
-//      }
-//
-//    //this->setApplyNeeded(false);
-//    emit this->appliedChanges();
-//    END_UNDO_SET();
-    //}
+  int stackWidgetIndex = this->Internals->TabToStackedWidgets[index];
+  Ui::CustomSettingsWidget &ui = this->Internals->Ui;
+  ui.stackedWidget->setCurrentIndex(stackWidgetIndex);
 }
 
-void PVGUI_ParaViewSettingsPane::resetChanges()
+//-----------------------------------------------------------------------------
+void PVGUI_ParaViewSettingsPane::filterPanelWidgets()
 {
-  //if(this->Form->ApplyNeeded)
-  //{
-//    QMap<QString, pqOptionsPage *>::Iterator iter = this->Form->Pages.begin();
-//    for( ; iter != this->Form->Pages.end(); ++iter)
-//      {
-//      (*iter)->resetChanges();
-//      }
-
-    //this->setApplyNeeded(false);
-    //}
+  Ui::CustomSettingsWidget &ui = this->Internals->Ui;
+  emit this->filterWidgets(
+    ui.SearchBox->isAdvancedSearchActive(), ui.SearchBox->text());
 }
 
-//void PVGUI_ParaViewSettingsPane::changeCurrentPage()
-//{
-//  // Get the current index from the view.
-//  QModelIndex current = this->Form->PageNames->currentIndex();
-//
-//  // Look up the path for the current index.
-//  QString path = this->Form->Model->getPath(current);
-//  QMap<QString, pqOptionsPage *>::Iterator iter = this->Form->Pages.find(path);
-//  if(iter == this->Form->Pages.end())
-//    {
-//    // If no page is found, show the blank page.
-//    this->Form->Stack->setCurrentWidget(this->Form->BlankPage);
-//    }
-//  else
-//    {
-//    this->Form->Stack->setCurrentWidget(*iter);
-//    pqOptionsContainer *container = qobject_cast<pqOptionsContainer *>(*iter);
-//    if(container)
-//      {
-//      // Get the path prefix from the container.
-//      QString prefix = container->getPagePrefix();
-//      if(!prefix.isEmpty())
-//        {
-//        // Remove the prefix from the path.
-//        path.remove(0, prefix.length());
-//        }
-//
-//      // Set the page on the container object.
-//      container->setPage(path);
-//      }
-//    }
-//}
-//
-////-----------------------------------------------------------------------------
-//void PVGUI_ParaViewSettingsPane::pluginLoaded(QObject* iface)
-//{
-//  pqViewOptionsInterface* viewOptions =
-//    qobject_cast<pqViewOptionsInterface*>(iface);
-//  if (viewOptions)
-//    {
-//    foreach(QString viewtype, viewOptions->viewTypes())
-//      {
-//      // Try to create global view options
-//      pqOptionsContainer* globalOptions =
-//        viewOptions->createGlobalViewOptions(viewtype, this);
-//      if (globalOptions)
-//        {
-//        this->addOptions(globalOptions);
-//        }
-//      }
-//    }
-//}
+//-----------------------------------------------------------------------------
+void PVGUI_ParaViewSettingsPane::onChangeAvailable()
+{
+//  Ui::CustomSettingsWidget &ui = this->Internals->Ui;
+//  ui.buttonBox->button(QDialogButtonBox::Reset)->setEnabled(true);
+//  ui.buttonBox->button(QDialogButtonBox::Apply)->setEnabled(true);
+}
 
-void PVGUI_ParaViewSettingsPane::store(QtxResourceMgr* , QtxPreferenceMgr* )
+//-----------------------------------------------------------------------------
+void PVGUI_ParaViewSettingsPane::showRestartRequiredMessage()
 {
-  applyChanges();
+  Ui::CustomSettingsWidget &ui = this->Internals->Ui;
+  ui.restartRequiredLabel->setVisible(true);
+  PVGUI_ParaViewSettingsPane::ShowRestartRequired = true;
 }
 
-void PVGUI_ParaViewSettingsPane::retrieve(QtxResourceMgr* , QtxPreferenceMgr* )
+//-----------------------------------------------------------------------------
+void PVGUI_ParaViewSettingsPane::saveInQSettings(
+  const char* key, vtkSMProperty* smproperty)
 {
+  pqSettings* settings = pqApplicationCore::instance()->settings();
+
+  // FIXME: handle all property types. This will only work for single value
+  // properties.
+  if (smproperty->IsA("vtkSMIntVectorProperty") ||
+    smproperty->IsA("vtkSMIdTypeVectorProperty"))
+    {
+    settings->setValue(key, vtkSMPropertyHelper(smproperty).GetAsInt());
+    }
+  else if (smproperty->IsA("vtkSMDoubleVectorProperty"))
+    {
+    settings->setValue(key, vtkSMPropertyHelper(smproperty).GetAsDouble());
+    }
+  else if (smproperty->IsA("vtkSMStringVectorProperty"))
+    {
+    settings->setValue(key, vtkSMPropertyHelper(smproperty).GetAsString());
+    }
 }
 
index 193e3184d4019f149eff27274995311fb09b87af..31729139da5d888160419a07ad39e758ba3716c2 100644 (file)
 
 #include <QtxPagePrefMgr.h>
 
-#include <QWidget>
-
-#include "vtkPVConfig.h"
-
-class pqOptionsContainer;
-class OptionsDialogForm;
-class pqOptionsPage;
-class QString;
-
-
+class QAbstractButton;
+class vtkSMProperty;
+class QShowEvent;
+class QHideEvent;
+
+/**!
+ * Almost identical copy/paste of what is found in
+ *    <PARAVIEW>/Qt/Components/pqSettingsDialog.h
+ * This is (almost) the same, except for the inheritance to QtxUserDefinedContent providing the link
+ * to SALOME preference mechanism.
+ * The UI content of pqSettingsDialog is put in a (PARAVIS) widget called pqCustomSettingsWidget.
+ */
 class PVGUI_ParaViewSettingsPane : public QtxUserDefinedContent
 {
   Q_OBJECT
@@ -50,25 +52,41 @@ public:
   virtual void store(QtxResourceMgr* theRes, QtxPreferenceMgr* thePref);
   virtual void retrieve(QtxResourceMgr* theRes, QtxPreferenceMgr* thePref);
 
+  signals:
+    void accepted(); // emulate the initial QDialogBox signal since some stuff are connected to it.
+
+protected:
+    virtual void showEvent(QShowEvent * ev);
+    virtual void hideEvent(QHideEvent * ev);
+
+  // ---- From now on, this the same interface as in pqSettingsDialog
+  private slots:
+    void clicked(QAbstractButton*);
+    void onAccepted();
+    void onRejected();
+    void onRestoreDefaults();
 
-public slots:
-  /// Calls each page to apply any changes.
-  void applyChanges();
+    void onTabIndexChanged(int index);
+    void onChangeAvailable();
+    void showRestartRequiredMessage();
 
-  /// Calls each page to reset any changes.
-  void resetChanges();
+    void filterPanelWidgets();
 
-  void onRequestParaviewSettings();
+  signals:
+    void filterWidgets(bool showAdvanced, const QString& text);
 
-signals:
-  /// Emitted before the option changes are applied.
-  void aboutToApplyChanges();
+  private:
+    void saveInQSettings(const char* key, vtkSMProperty* smproperty);
 
-  /// Emitted after the option changes have been applied.
-  void appliedChanges();
+  private:
+    Q_DISABLE_COPY(PVGUI_ParaViewSettingsPane);
+    class pqInternals;
+    pqInternals* Internals;
 
-private:
-  OptionsDialogForm *Form; /// Stores the form and class data.
+    /// Set to true if a setting that requires a restart to take effect
+    /// is modified. Made static to persist across instantiations of
+    /// this class.
+    static bool ShowRestartRequired;
 };
 
 #endif
diff --git a/src/PVGUI/resources/pqCustomSettingsWidget.ui b/src/PVGUI/resources/pqCustomSettingsWidget.ui
new file mode 100644 (file)
index 0000000..af91e80
--- /dev/null
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>CustomSettingsWidget</class>
+ <widget class="QWidget" name="CustomSettingsWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>681</width>
+    <height>599</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <layout class="QHBoxLayout" name="SearchBoxLayout">
+     <property name="spacing">
+      <number>2</number>
+     </property>
+     <item>
+      <widget class="pqSearchBox" name="SearchBox" native="true">
+       <property name="settingKey" stdset="0">
+        <string notr="true">pqSettingsDialog/showAdvancedProperties</string>
+       </property>
+       <property name="advancedSearchEnabled" stdset="0">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QTabBar" name="tabBar" native="true">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QStackedWidget" name="stackedWidget">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="currentIndex">
+      <number>0</number>
+     </property>
+     <widget class="QWidget" name="page"/>
+     <widget class="QWidget" name="page_2"/>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="restartRequiredLabel">
+     <property name="maximumSize">
+      <size>
+       <width>16777215</width>
+       <height>20</height>
+      </size>
+     </property>
+     <property name="font">
+      <font>
+       <weight>75</weight>
+       <bold>true</bold>
+      </font>
+     </property>
+     <property name="text">
+      <string>* Restart required for some settings to take effect</string>
+     </property>
+     <property name="wordWrap">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>QTabBar</class>
+   <extends>QWidget</extends>
+   <header location="global">QTabBar</header>
+   <container>1</container>
+  </customwidget>
+  <customwidget>
+   <class>pqSearchBox</class>
+   <extends>QWidget</extends>
+   <header>pqSearchBox.h</header>
+   <container>1</container>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/PVGUI/ui_pqOptionsDialog.h b/src/PVGUI/ui_pqOptionsDialog.h
deleted file mode 100644 (file)
index b186890..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/********************************************************************************
-** Form generated from reading ui file 'pqOptionsDialog.ui'
-**
-** Created: Wed Apr 21 12:59:58 2010
-**      by: Qt User Interface Compiler version 4.5.3
-**
-** WARNING! All changes made in this file will be lost when recompiling ui file!
-********************************************************************************/
-
-#ifndef UI_PQOPTIONSDIALOG_H
-#define UI_PQOPTIONSDIALOG_H
-
-#include <QtCore/QVariant>
-#include <QtGui/QAction>
-#include <QtGui/QApplication>
-#include <QtGui/QButtonGroup>
-#include <QtGui/QDialog>
-#include <QtGui/QFrame>
-#include <QtGui/QGridLayout>
-#include <QtGui/QHBoxLayout>
-#include <QtGui/QHeaderView>
-#include <QtGui/QPushButton>
-#include <QtGui/QSpacerItem>
-#include <QtGui/QStackedWidget>
-#include <QtGui/QTreeView>
-#include <QtGui/QWidget>
-#include <QtGui/QPushButton>
-
-QT_BEGIN_NAMESPACE
-
-class Ui_PVGUIOptionsFrame
-{
-public:
-    QGridLayout *gridLayout;
-    QHBoxLayout *hboxLayout;
-    QSpacerItem *spacerItem;
-    //QPushButton *ApplyButton;
-    //QPushButton *ResetButton;
-    //QPushButton *CloseButton;
-    QStackedWidget *Stack;
-    QWidget *BlankPage;
-    QTreeView *PageNames;
-    QFrame *Separator;
-    QPushButton * pvButton;
-
-    void setupUi(QWidget *pvguiOptionsFrame)
-    {
-        if (pvguiOptionsFrame->objectName().isEmpty())
-          pvguiOptionsFrame->setObjectName(QString::fromUtf8("pvguiOptionsFrame"));
-        pvguiOptionsFrame->resize(514, 382);
-        gridLayout = new QGridLayout(pvguiOptionsFrame);
-#ifndef Q_OS_MAC
-        gridLayout->setSpacing(6);
-#endif
-#ifndef Q_OS_MAC
-        gridLayout->setMargin(9);
-#endif
-        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
-
-        pvButton = new QPushButton("Edit ParaView settings ...", pvguiOptionsFrame);
-        gridLayout->addWidget(pvButton, 0, 0, 1, 1);
-//        hboxLayout = new QHBoxLayout();
-//#ifndef Q_OS_MAC
-//        hboxLayout->setSpacing(6);
-//#endif
-//        hboxLayout->setMargin(4);
-//        hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
-//        spacerItem = new QSpacerItem(0, 26, QSizePolicy::Expanding, QSizePolicy::Minimum);
-//
-//        hboxLayout->addItem(spacerItem);
-//
-//        //ApplyButton = new QPushButton(pqOptionsFrame);
-//        //ApplyButton->setObjectName(QString::fromUtf8("ApplyButton"));
-//
-//        //hboxLayout->addWidget(ApplyButton);
-//
-//        //ResetButton = new QPushButton(pqOptionsFrame);
-//        //ResetButton->setObjectName(QString::fromUtf8("ResetButton"));
-//
-//        //hboxLayout->addWidget(ResetButton);
-//
-//        //CloseButton = new QPushButton(pqOptionsFrame);
-//        //CloseButton->setObjectName(QString::fromUtf8("CloseButton"));
-//        //CloseButton->setDefault(true);
-//
-//        //hboxLayout->addWidget(CloseButton);
-//
-//
-//        gridLayout->addLayout(hboxLayout, 2, 0, 1, 2);
-//
-//        Stack = new QStackedWidget(pqOptionsFrame);
-//        Stack->setObjectName(QString::fromUtf8("Stack"));
-//        BlankPage = new QWidget();
-//        BlankPage->setObjectName(QString::fromUtf8("BlankPage"));
-//        Stack->addWidget(BlankPage);
-//
-//        gridLayout->addWidget(Stack, 0, 1, 1, 1);
-//
-//        PageNames = new QTreeView(pqOptionsFrame);
-//        PageNames->setObjectName(QString::fromUtf8("PageNames"));
-//        QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(0), static_cast<QSizePolicy::Policy>(7));
-//        sizePolicy.setHorizontalStretch(0);
-//        sizePolicy.setVerticalStretch(0);
-//        sizePolicy.setHeightForWidth(PageNames->sizePolicy().hasHeightForWidth());
-//        PageNames->setSizePolicy(sizePolicy);
-//        PageNames->setMinimumSize(QSize(160, 0));
-//        PageNames->setMaximumSize(QSize(160, 16777215));
-//
-//        gridLayout->addWidget(PageNames, 0, 0, 1, 1);
-//
-//        Separator = new QFrame(pqOptionsFrame);
-//        Separator->setObjectName(QString::fromUtf8("Separator"));
-//        Separator->setFrameShape(QFrame::HLine);
-//        Separator->setFrameShadow(QFrame::Sunken);
-//
-//        gridLayout->addWidget(Separator, 1, 0, 1, 2);
-//
-//        //QWidget::setTabOrder(CloseButton, PageNames);
-//        //QWidget::setTabOrder(PageNames, ApplyButton);
-//        //QWidget::setTabOrder(ApplyButton, ResetButton);
-//
-//        retranslateUi(pqOptionsFrame);
-//
-//        Stack->setCurrentIndex(0);
-
-
-        QMetaObject::connectSlotsByName(pvguiOptionsFrame);
-    } // setupUi
-
-    void retranslateUi(QWidget *pvguiOptionsFrame)
-    {
-      pvguiOptionsFrame->setWindowTitle(QApplication::translate("pvguiOptionsFrame", "Options", 0, QApplication::UnicodeUTF8));
-        //ApplyButton->setText(QApplication::translate("pqOptionsFrame", "&Apply", 0, QApplication::UnicodeUTF8));
-        //ResetButton->setText(QApplication::translate("pqOptionsFrame", "&Reset", 0, QApplication::UnicodeUTF8));
-        //CloseButton->setText(QApplication::translate("pqOptionsFrame", "&Ok", 0, QApplication::UnicodeUTF8));
-#ifndef QT_NO_WHATSTHIS
-//        PageNames->setWhatsThis(QApplication::translate("pvguiOptionsFrame", "Select a category to show the options for that category.", 0, QApplication::UnicodeUTF8));
-#endif // QT_NO_WHATSTHIS
-        Q_UNUSED(pvguiOptionsFrame);
-    } // retranslateUi
-
-};
-
-namespace Ui {
-    class PVGUIOptionsFrame: public Ui_PVGUIOptionsFrame {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_PQOPTIONSDIALOG_H