]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #2406: Use accept data method from Commit function of an operation
authorvsv <vsv@opencascade.com>
Wed, 17 Jan 2018 15:00:05 +0000 (18:00 +0300)
committervsv <vsv@opencascade.com>
Wed, 17 Jan 2018 15:00:05 +0000 (18:00 +0300)
src/ModuleBase/ModuleBase_IPropertyPanel.h
src/ModuleBase/ModuleBase_OperationFeature.cpp
src/XGUI/XGUI_PropertyPanel.cpp
src/XGUI/XGUI_PropertyPanel.h

index 446e0e59bb44c35bdfa67c983e6d51060787cc86..0ada2eedd2f62772729ec4cca08cfbb1998cc58d 100644 (file)
@@ -83,6 +83,9 @@ public:
   /// \return a widget or null
   ModuleBase_ModelWidget* findFirstAcceptingValueWidget();
 
+  /// The method is called on accepting of operation
+  virtual void onAcceptData() = 0;
+
   /// Returns the first widget, where canAcceptFocus returns true
   /// \return a widget or null
   static ModuleBase_ModelWidget* findFirstAcceptingValueWidget(
index 5a37bdd6731d6686aa78351976076bc08984e74c..c54669495dc94918a5ad39125cc288fe312591c9 100755 (executable)
@@ -341,6 +341,7 @@ bool ModuleBase_OperationFeature::commit()
     if (anActiveWidget && anActiveWidget->getValueState() == ModuleBase_ModelWidget::ModifiedInPP) {
       anActiveWidget->storeValue();
     }
+    aPanel->onAcceptData();
   }
   if (canBeCommitted()) {
     emit beforeCommitted();
index 562330de44746c98e839af45140ba473a8f630d3..33288b465827441990ea5b4fd9c9e87c22c753cc 100755 (executable)
@@ -565,13 +565,6 @@ void XGUI_PropertyPanel::setupActions(XGUI_ActionsMgr* theMgr)
     QAction* anAct = theMgr->operationStateAction(aActionIds.at(i));
     aBtn->setDefaultAction(anAct);
   }
-  // This code is necessary for remembering of user choice in property panel
-  QToolButton* aBtn = findButton(PROP_PANEL_OK);
-  if (aBtn)
-    connect(aBtn->defaultAction(), SIGNAL(triggered(bool)), this, SLOT(onAcceptData()));
-  aBtn = findButton(PROP_PANEL_OK_PLUS);
-  if (aBtn)
-    connect(aBtn->defaultAction(), SIGNAL(triggered(bool)), this, SLOT(onAcceptData()));
 }
 
 void XGUI_PropertyPanel::onAcceptData()
index 4b9ac059a268a8fbcc895e295cfbff359f447ade..9a665ba482b157fa68019e319e88c7a4f32c12a9 100644 (file)
@@ -133,6 +133,9 @@ Q_OBJECT
   /// \param theIsNext true, if Tab(to the next widget) or false(moving to the previous)
   bool setFocusNextPrevChild(bool theIsNext);
 
+  /// The method is called on accepting of operation
+  virtual void onAcceptData();
+
 public slots:
   /// \brief Update all widgets in property panel with values from the given feature
   /// \param theFeature a Feature to update values in widgets
@@ -160,9 +163,6 @@ public slots:
   /// \param theWidget the current widget
   void onActivateNextWidget(ModuleBase_ModelWidget* theWidget);
 
-  /// The method is called on accepting of operation
-  void onAcceptData();
-
 signals:
   /// The signal is emitted if the enter is clicked in the control of the widget
   /// \param theObject a sender of the event