#include "ModuleBase_Preferences.h"
//#include "ModuleBase_Constants.h"
-#include <Model_ResultBody.h>
-#include <Model_ResultGroup.h>
-#include <Model_ResultConstruction.h>
-
#include <Config_PropManager.h>
#include <SUIT_ResourceMgr.h>
createCustomPage(thePref, thePage);
}
+void ModuleBase_Preferences::resetResourcePreferences(SUIT_PreferenceMgr* thePref)
+{
+ if (!thePref)
+ return;
+
+ QtxResourceMgr::WorkingMode aPrev =
+ thePref->resourceMgr()->setWorkingMode(QtxResourceMgr::IgnoreUserValues);
+ thePref->retrieve();
+ thePref->resourceMgr()->setWorkingMode(aPrev);
+}
+
+void ModuleBase_Preferences::resetConfigPropPreferences(SUIT_PreferenceMgr* thePref)
+{
+ resetConfig();
+ updateResourcesByConfig();
+
+ // retrieve the reset resource values to the preferences items
+ Config_Properties aProps = Config_PropManager::getProperties();
+ Config_Properties::iterator aIt;
+ QStringList aValues;
+ QStringList aSections;
+ for (aIt = aProps.begin(); aIt != aProps.end(); ++aIt) {
+ Config_Prop* aProp = (*aIt);
+ aValues.append(QString(aProp->name().c_str()));
+ if (!aSections.contains(aProp->section().c_str()))
+ aSections.append(aProp->section().c_str());
+ QtxPreferenceItem* anItem = thePref->findItem(QString(aProp->title().c_str()), true);
+ if (anItem)
+ anItem->retrieve();
+ }
+}
void ModuleBase_Preferences::createCustomPage(ModuleBase_IPrefMgr* thePref, int thePageId)
{
myPreferences->setItemProperty("texture_stretch_enabled", true, bgId);
myPreferences->setItemProperty("custom_enabled", false, bgId);
myPreferences->setItemProperty("image_formats", aImgFiles, bgId);
-
- Config_PropManager::registerProp("Visualization", "result_body_color", "Body color",
- Config_Prop::Color, Model_ResultBody::DEFAULT_COLOR());
- Config_PropManager::registerProp("Visualization", "result_group_color", "Group color",
- Config_Prop::Color, Model_ResultGroup::DEFAULT_COLOR());
- Config_PropManager::registerProp("Visualization", "result_construction_color", "Construction color",
- Config_Prop::Color, Model_ResultConstruction::DEFAULT_COLOR());
}
void ModuleBase_PreferencesDlg::createMenuPage(int thePageId)
"rows_number");
myPreferences->setItemProperty("min", 1, aRowsNb);
myPreferences->setItemProperty("max", 6, aRowsNb);
+
+ myPreferences->addItem(tr("Show Status Bar"), aSizeGroup,
+ SUIT_PreferenceMgr::Bool, ModuleBase_Preferences::MENU_SECTION,
+ "status_bar");
}
void ModuleBase_PreferencesDlg::accept()
void ModuleBase_PreferencesDlg::onDefault()
{
- // reset main resources
-//#ifdef SALOME_750 // until SALOME 7.5.0 is released
- QtxResourceMgr::WorkingMode aPrev =
- myPreferences->resourceMgr()->setWorkingMode(QtxResourceMgr::IgnoreUserValues);
- myPreferences->retrieve();
- myPreferences->resourceMgr()->setWorkingMode(aPrev);
-//#endif
- // reset plugin's resources
- ModuleBase_Preferences::resetConfig();
- ModuleBase_Preferences::updateResourcesByConfig();
-
- myPreferences->retrieve();
+ // reset main resources. It throwns all resource manager items to the
+ // initial/default state. If there is no a default state of the item,
+ // it will be filled with an empty value. It concernerned to plugin
+ // config items, like visualization color. The main xml do not contains
+ // default values for them. So, it is important to reset the config
+ // properties after reseting the resources preferences.
+ ModuleBase_Preferences::resetResourcePreferences(myPreferences);
+ // reset plugin's resources. It fills the config resources with the default
+ // values, stores result in the resource manager and retrieve the preferences
+ // items with these values.
+ ModuleBase_Preferences::resetConfigPropPreferences(myPreferences);
}
//**********************************************************