]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
#1150 Tab buttons problems
authornds <nds@opencascade.com>
Fri, 25 Dec 2015 15:45:41 +0000 (18:45 +0300)
committernds <nds@opencascade.com>
Fri, 25 Dec 2015 15:45:41 +0000 (18:45 +0300)
#1112 tab key doesn't work on the last field of left panels

We should not check visibility of internal widget: flyout point in dimention constraints.

src/ModuleBase/ModuleBase_ModelWidget.cpp
src/ModuleBase/ModuleBase_ModelWidget.h
src/PartSet/PartSet_WidgetPoint2DFlyout.cpp
src/PartSet/PartSet_WidgetPoint2DFlyout.h
src/XGUI/XGUI_PropertyPanel.cpp

index f0f959480defe559b3337ad66f3d8f6e1a883423..86fe765daafc4e328d73f14677ec27471f799be4 100644 (file)
@@ -31,6 +31,8 @@ ModuleBase_ModelWidget::ModuleBase_ModelWidget(QWidget* theParent,
       myState(Stored),
       myIsValueStateBlocked(false)
 {
+  myIsInternal = theData->getBooleanAttribute(ATTR_INTERNAL, false);
+
   myDefaultValue = theData->getProperty(ATTR_DEFAULT);
   myUseReset = theData->getBooleanAttribute(ATTR_USE_RESET, true);
   myIsComputedDefault = theData->getProperty(ATTR_DEFAULT) == DOUBLE_WDG_DEFAULT_COMPUTED;
index bed820c9780ab52b3a9a1c296392c87bd291e2e2..b08a0a55122549bd5e61a8ba5559986029c0cbba 100644 (file)
@@ -69,6 +69,10 @@ Q_OBJECT
   /// \return the boolean result
   std::string getDefaultValue() const { return myDefaultValue; }
 
+  /// Returns true, if widget is internal
+  /// \return the boolean result
+  bool isInternal() const { return myIsInternal; }
+
   /// Returns true, if the obligatory value of the widget is not defined in the XML or has true value
   /// \return the boolean result
   bool isObligatory() const { return myIsObligatory; }
@@ -302,6 +306,9 @@ private:
   /// the default value, which is defined in the XML for this attribute    
   std::string myDefaultValue;
 
+  /// an XML internal state
+  bool myIsInternal;
+
   /// the reset state. If it is false, the reset method of the widget is not performed
   bool myUseReset;
   /// blocked flag of modification of the value state
index 61c2aba456c2978d92aabc452a8442a4f4922a93..e501d9ac44f3e110ae5568b4618cb08fedee39f4 100755 (executable)
@@ -22,13 +22,12 @@ PartSet_WidgetPoint2DFlyout::PartSet_WidgetPoint2DFlyout(QWidget* theParent,
                                                          const std::string& theParentId)
  : PartSet_WidgetPoint2D(theParent, theWorkshop, theData, theParentId)
 {
-  myIsInternal = theData->getBooleanAttribute(ATTR_INTERNAL, false);
 }
 
 bool PartSet_WidgetPoint2DFlyout::focusTo()
 {
   bool aCanAcceptFocus = true;
-  if (myIsInternal && isComputedDefault()) {
+  if (isInternal() && isComputedDefault()) {
     AISObjectPtr anObject = workshop()->displayer()->getAISObject(feature());
     aCanAcceptFocus = anObject.get() && !anObject->isEmptyDistanceGeometry();
   }
index cbcdc473fc17bba5d2917f5e7471892e67716e6c..6a76e19bc4f7742df38953faff5cd2c107eca8e1 100755 (executable)
@@ -40,9 +40,6 @@ public:
 private:
   //! Returns workshop
   XGUI_Workshop* workshop() const;
-
-private:
-  bool myIsInternal; /// an XML internal state
 };
 
 #endif
index aba8f914e45c64767dec796e0e1869cf94ea0ff5..0d9683d9b6a185b4fe99c9186496f8c839168ba4 100755 (executable)
@@ -194,7 +194,7 @@ void XGUI_PropertyPanel::activateNextWidget(ModuleBase_ModelWidget* theWidget,
 
       if (!aValidators->isCase(aCurrentWidget->feature(), aCurrentWidget->attributeID()))
         continue; // this attribute is not participated in the current case
-      if (isCheckVisibility) {
+      if (isCheckVisibility && !aCurrentWidget->isInternal()) {
         if (!aCurrentWidget->isVisible())
           continue;
       }