Salome HOME
Issue #3060: Use HideFaces panel for groups creation operation
[modules/shaper.git] / src / Config / Config_FeatureMessage.h
index f82a249b5078cde292139f8bb7b9689e17397e18..89b7ada656742febd7fb5ef7cfbecf2112a1e721 100644 (file)
@@ -1,7 +1,24 @@
-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+// Copyright (C) 2014-2019  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
-#ifndef CONFIG_MESSAGE_H
-#define CONFIG_MESSAGE_H
+#ifndef CONFIG_FEATUREMESSAGE_H
+#define CONFIG_FEATUREMESSAGE_H
 
 #include <Config_def.h>
 #include <Events_Message.h>
@@ -12,6 +29,7 @@
  * \class Config_FeatureMessage
  * \ingroup Config
  * \brief Class to pass a feature entry extracted from xml file.
+
  * Example of the feature entry:
  * \code
  * <feature id="Part" text="New part" tooltip="Creates a new part" icon=":pictures/part_ico.png"/>
@@ -24,9 +42,11 @@ class Config_FeatureMessage : public Events_Message
   std::string myTooltip;  ///<Represents action's tooltip
   std::string myIcon;  ///<Represents action's icon
   std::string myKeysequence;  ///<Represents action's key sequence
+  std::string myHelpFile;  ///<Contains name of help file
 
   std::string myGroupId;  ///<Id of feature's group
   std::string myWorkbenchId;  ///<Id of feature's workbench
+  std::string myToolBarId;  ///<Id of toolbar/ By default == myWorkbenchId
   std::string myDocumentKind;  ///< kind of the document of the workbench (all documents if empty)
   std::string myPluginLibrary;  ///<Name of feature's library
 
@@ -34,6 +54,11 @@ class Config_FeatureMessage : public Events_Message
   bool myInternal;  ///<Internal feature without GUI representation
   bool myModal;     ///<True if the feature has to be represented by modal dialog box
   bool myIsAutoPreview; ///< Preview computation is performed automatically
+  bool myIsTitleInToolbar; ///< False if title should not be displayed in the toolbar
+  bool myHideFacesPanel; ///< Show or Hide HideFaces panel. By default is False
+
+  /// True if the feature can have Apply/Continue button in its property panel
+  bool myIsApplyContinue;
 
   std::string myNestedFeatures; ///<Space separated list of child features
   std::string myActionsWhenNested; ///<Space separated list of actions
@@ -70,6 +95,10 @@ class Config_FeatureMessage : public Events_Message
   CONFIG_EXPORT const std::string& tooltip() const;
   /// Id of Feature's Group
   CONFIG_EXPORT const std::string& groupId() const;
+  /// Id of Feature's Toolbar
+  CONFIG_EXPORT const std::string& toolBarId() const;
+  /// Returns help file name for the feature
+  CONFIG_EXPORT const std::string& helpFileName() const;
   /// Id of Feature's Workbench
   CONFIG_EXPORT const std::string& workbenchId() const;
   /// Kind of a document which contains the feature
@@ -86,9 +115,14 @@ class Config_FeatureMessage : public Events_Message
   CONFIG_EXPORT bool isInternal() const;
   /// If true - the feature will be represented by modal dialog box GUI
   CONFIG_EXPORT bool isModal() const;
-
+  /// If true - the feature can have Apply/Continue button in its property panel
+  CONFIG_EXPORT bool isApplyContinue() const;
   /// If true - preview of the feature is done by any modification of the feature attributes
   CONFIG_EXPORT bool isAutoPreview() const;
+  /// If true - title should normally be displayed in the toolbar
+  CONFIG_EXPORT bool isTitleInToolbar() const;
+  /// If true - then HideFaces panel has to be shown
+  CONFIG_EXPORT bool isHideFacesPanel() const;
 
   ///Set feature's Id
   CONFIG_EXPORT void setId(const std::string& id);
@@ -102,6 +136,10 @@ class Config_FeatureMessage : public Events_Message
   CONFIG_EXPORT void setTooltip(const std::string& tooltip);
   ///Set id of Feature's Group
   CONFIG_EXPORT void setGroupId(const std::string& groupId);
+  ///Set id of Feature's Group
+  CONFIG_EXPORT void setToolBarId(const std::string& aId);
+  ///Set help file name
+  CONFIG_EXPORT void setHelpFileName(const std::string& aName);
   ///Set id of Feature's Workbench
   CONFIG_EXPORT void setWorkbenchId(const std::string& workbenchId);
   ///Set kind of a document which contains the feature
@@ -120,6 +158,13 @@ class Config_FeatureMessage : public Events_Message
   CONFIG_EXPORT void setAutoPreview(bool isAutoPreview);
   ///Set modality state; If true - the feature will be represented by modal dialog box GUI
   CONFIG_EXPORT void setModal(bool isModal);
+  ///Set flag to display title in toolbar
+  CONFIG_EXPORT void setTitleInToolbar(bool theValue);
+  ///Set flag to display title in toolbar
+  CONFIG_EXPORT void setHideFacesPanel(bool theValue);
+  ///Set Apply/Continue state;
+  ///If true - the feature can have Apply/Continue button in its property panel
+  CONFIG_EXPORT void setApplyContinue(bool isModal);
 };
 
 #endif // CONFIG_MESSAGE_H