X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_Preferences.cpp;h=a0706030229709d04790bebc96c7cc9274d4da9f;hb=32e024f72f99713609e282939eeff0dafbc141fe;hp=3a8d0badc1562fbe67f57f235c038ed68bafc6f5;hpb=383021cb51c4720904096ca851db5ee79255b402;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_Preferences.cpp b/src/ModuleBase/ModuleBase_Preferences.cpp index 3a8d0badc..a07060302 100644 --- a/src/ModuleBase/ModuleBase_Preferences.cpp +++ b/src/ModuleBase/ModuleBase_Preferences.cpp @@ -1,8 +1,21 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D - -// File: ModuleBase_Preferences.cpp -// Created: 07 Aug 2014 -// Author: Vitaly SMETANNIKOV +// 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 +// #include "ModuleBase_Preferences.h" //#include "ModuleBase_Constants.h" @@ -174,6 +187,16 @@ void ModuleBase_Preferences::createCustomPage(ModuleBase_IPrefMgr* thePref, int if(aProp->type() == Config_Prop::Directory) { thePref->setItemProperty("path_type", Qtx::PT_Directory, anId); } + if (aPrefType == SUIT_PreferenceMgr::DblSpin) { + if (aProp->min() != "") { + double aMin = QString(aProp->min().c_str()).toDouble(); + thePref->setItemProperty("min", aMin, anId); + } + if (aProp->max() != "") { + double aMax = QString(aProp->max().c_str()).toDouble(); + thePref->setItemProperty("max", aMax, anId); + } + } } } } @@ -189,7 +212,7 @@ public: /// \param theMgr a preferences manager ModuleBase_PrefMgr(ModuleBase_PreferencesMgr* theMgr):myMgr(theMgr) {} - virtual int addPreference(const QString& theLbl, int pId, + virtual int addPreference(const QString& theLbl, int pId, SUIT_PreferenceMgr::PrefItemType theType, const QString& theSection, const QString& theName ) { @@ -210,7 +233,8 @@ private: //********************************************************** //********************************************************** //********************************************************** -ModuleBase_PreferencesDlg::ModuleBase_PreferencesDlg(SUIT_ResourceMgr* theResurces, QWidget* theParent) +ModuleBase_PreferencesDlg::ModuleBase_PreferencesDlg(SUIT_ResourceMgr* theResurces, + QWidget* theParent) : QDialog(theParent), myIsChanged(false) { @@ -239,7 +263,7 @@ ModuleBase_PreferencesDlg::ModuleBase_PreferencesDlg(SUIT_ResourceMgr* theResurc createEditors(); myPreferences->retrieve(); - setMinimumSize(800, 220); + setMinimumSize(800, 240); } ModuleBase_PreferencesDlg::~ModuleBase_PreferencesDlg() @@ -291,20 +315,24 @@ void ModuleBase_PreferencesDlg::createViewerPage(int thePageId) myPreferences->setItemProperty("image_formats", aImgFiles, bgId); // Create other parameters group in viewer tab - int otherGroup = myPreferences->addItem(tr("Default selection"), viewTab); - myPreferences->setItemProperty("columns", 3, otherGroup); - myPreferences->addItem(tr("Faces"), otherGroup, + int selectionGroup = myPreferences->addItem(tr("Default selection"), viewTab); + myPreferences->setItemProperty("columns", 3, selectionGroup); + myPreferences->addItem(tr("Faces"), selectionGroup, SUIT_PreferenceMgr::Bool, ModuleBase_Preferences::VIEWER_SECTION, "face-selection"); - myPreferences->addItem(tr("Edges"), otherGroup, + myPreferences->addItem(tr("Edges"), selectionGroup, SUIT_PreferenceMgr::Bool, ModuleBase_Preferences::VIEWER_SECTION, "edge-selection"); - myPreferences->addItem(tr("Vertices"), otherGroup, + myPreferences->addItem(tr("Vertices"), selectionGroup, SUIT_PreferenceMgr::Bool, ModuleBase_Preferences::VIEWER_SECTION, "vertex-selection"); - myPreferences->addItem(tr("Vertex selection sensitivity"), otherGroup, SUIT_PreferenceMgr::Double, + int sensitivityGroup = myPreferences->addItem(tr("Selection sensitivity"), viewTab); + myPreferences->setItemProperty("columns", 2, sensitivityGroup); + myPreferences->addItem(tr("Vertex"), sensitivityGroup, SUIT_PreferenceMgr::DblSpin, ModuleBase_Preferences::VIEWER_SECTION, "point-selection-sensitivity"); + myPreferences->addItem(tr("Edge"), sensitivityGroup, SUIT_PreferenceMgr::DblSpin, + ModuleBase_Preferences::VIEWER_SECTION, "edge-selection-sensitivity"); } void ModuleBase_PreferencesDlg::createMenuPage(int thePageId) @@ -315,7 +343,8 @@ void ModuleBase_PreferencesDlg::createMenuPage(int thePageId) myPreferences->setItemProperty("columns", 1, aSizeGroup); int aRowsNb = myPreferences->addItem(tr("Number of rows"), aSizeGroup, - SUIT_PreferenceMgr::IntSpin, ModuleBase_Preferences::MENU_SECTION, + SUIT_PreferenceMgr::IntSpin, + ModuleBase_Preferences::MENU_SECTION, "rows_number"); myPreferences->setItemProperty("min", 1, aRowsNb); myPreferences->setItemProperty("max", 6, aRowsNb);