Salome HOME
0022614: [CEA 1146] SalomePyQt python API tabifyDockWidgets and findDockByWT
authorvsr <vsr@opencascade.com>
Tue, 12 Aug 2014 07:46:16 +0000 (11:46 +0400)
committervsr <vsr@opencascade.com>
Tue, 12 Aug 2014 07:46:16 +0000 (11:46 +0400)
Unify object names of dock widgets

src/TreeData/DockWidgets.cxx
src/TreeData/DockWidgets.hxx
src/TreeData/TreeGuiManager.cxx
src/TreeData/TreeGuiManager.hxx

index 3fda8715cb2f970ef0b68df37e5dbaa86b3150ba..8ed5b6551b36b5b0b32487438944b8ed9b3816b5 100644 (file)
 #include <SUIT_DataBrowser.h>
 #include <QtxTreeView.h>
 
+namespace
+{
+  QString toObjectName( const QString& s )
+  {
+    QStringList words = s.split( QRegExp("\\s+") );
+    QStringList result;
+    if ( words.count() > 0 )
+      result.append( words[0].left(1).toLower() + words[0].mid(1) );
+    for ( int i = 1; i < words.count(); i++ )
+      result.append( words[i].left(1).toUpper() + words[i].mid(1) );
+    return result.join( "" );
+  }
+}
+
 /*!
  * This create a gui container to hold widgets dedicated to the XCAD
  * data model. By default, the dock widgets are not visible. Use the
@@ -49,7 +63,7 @@ DockWidgets::DockWidgets(SalomeApp_Application* salomeApp,
   _dwDataPanel = new QDockWidget(parent);
   _dwDataPanel->setVisible(false);
   _dwDataPanel->setWindowTitle(title);
-  _dwDataPanel->setObjectName(title);
+  _dwDataPanel->setObjectName(toObjectName(title)+"Dock");
   parent->addDockWidget(Qt::LeftDockWidgetArea, _dwDataPanel);
   //
   // At this step, the _dwDataPanel is located side by side with the object
@@ -105,3 +119,10 @@ void DockWidgets::setDataView(QTreeView * dataView) {
 void DockWidgets::setPropertiesView(QTreeView * propertiesView) {
   // Not implemented yet
 }
+
+/*!
+ * This function returns dock widget
+ */
+QDockWidget * DockWidgets::getDockWidget() {
+  return _dwDataPanel;
+}
index 5925b58e80893d76b64ca8a96c3a67553e32ed58..56da156c08a4f47a065d311681f90797eefd7f99 100644 (file)
@@ -42,6 +42,8 @@ class TREEDATA_EXPORT DockWidgets {
   void setDataView(QTreeView * dataView);
   void setPropertiesView(QTreeView * propertyView);
 
+  QDockWidget * getDockWidget();
+
  private:
   SalomeApp_Application* _salomeApp;
   QDockWidget * _dwDataPanel;
index 380c451bb3f024eac18bb506b4046cefe9db2e1c..82a91d949b1667f4386351bba53324d41eae02c7 100644 (file)
@@ -113,6 +113,12 @@ TreeView * TreeGuiManager::getDataTreeView() {
   return _dataTreeView;
 }
 
+/*!
+ * This returns the dock widgets manager
+ */
+DockWidgets * TreeGuiManager::getDockWidgets() {
+  return _dockWidgets;
+}
 
 /*!
  * This function specifies the data model to be used by the
index 3321071f24b9bd034d6c98b141c07e23e601c5c8..b2cb0d1c937dc0bac98087aaa02afc719c67d8bc 100644 (file)
@@ -44,6 +44,7 @@ public:
   
   TreeModel * getDataTreeModel();
   TreeView * getDataTreeView();
+  DockWidgets * getDockWidgets();
   
   void setDataModel(DataModel * dataModel);
   DataModel * getDataModel();