#include <ModelAPI_ResultConstruction.h>
#include <ModelAPI_ResultGroup.h>
#include <ModelAPI_ResultParameter.h>
+#include <ModelAPI_ResultField.h>
#include <ModelAPI_Session.h>
#include <ModelAPI_Validator.h>
#include <ModelAPI_ResultCompSolid.h>
#include <Config_PropManager.h>
#include <Config_DataModelReader.h>
#include <Config_Translator.h>
+#include <Config_WidgetAPI.h>
+#include <Config_Keywords.h>
#include <SUIT_ResourceMgr.h>
ModelAPI_ResultConstruction::DEFAULT_COLOR());
Config_PropManager::registerProp("Visualization", "result_part_color", "Part color",
Config_Prop::Color, ModelAPI_ResultPart::DEFAULT_COLOR());
-
- Config_PropManager::registerProp("Visualization", "body_deflection",
- "Body deflection coefficient",
- Config_Prop::Double,
- ModelAPI_ResultBody::DEFAULT_DEFLECTION());
-
- Config_PropManager::registerProp("Visualization", "construction_deflection",
- "Construction deflection coefficient",
- Config_Prop::Double,
- ModelAPI_ResultConstruction::DEFAULT_DEFLECTION());
+ Config_PropManager::registerProp("Visualization", "result_field_color", "Field color",
+ Config_Prop::Color, ModelAPI_ResultField::DEFAULT_COLOR());
if (ModuleBase_Preferences::resourceMgr()->booleanValue("Viewer", "face-selection", true))
myViewerSelMode.append(TopAbs_FACE);
ModuleBase_Tools::flushUpdated(aFeature);
// update visible state of Preview button
+ std::shared_ptr<Config_FeatureMessage> aFeatureInfo;
#ifdef HAVE_SALOME
- bool anIsAutoPreview =
- mySalomeConnector->featureInfo(aFeatureKind.c_str())->isAutoPreview();
+ aFeatureInfo = mySalomeConnector->featureInfo(aFeatureKind.c_str());
#else
AppElements_MainMenu* aMenuBar = mainWindow()->menuObject();
AppElements_Command* aCommand = aMenuBar->feature(aFeatureKind.c_str());
- bool anIsAutoPreview = aCommand && aCommand->featureMessage()->isAutoPreview();
+ if (aCommand)
+ aFeatureInfo = aCommand->featureMessage();
#endif
+ bool anIsAutoPreview = true;
+ if (aFeatureInfo.get())
+ anIsAutoPreview = aFeatureInfo->isAutoPreview();
+ else {
+ std::string aXmlCfg, aDescription;
+ module()->getXMLRepresentation(aFeatureKind, aXmlCfg, aDescription);
+ ModuleBase_WidgetFactory aFactory(aXmlCfg, moduleConnector());
+ anIsAutoPreview = aFactory.widgetAPI()->getBooleanAttribute(FEATURE_AUTO_PREVIEW, true);
+ }
+
if (!anIsAutoPreview) {
myPropertyPanel->findButton(PROP_PANEL_PREVIEW)->setVisible(true);
// send signal about preview should not be computed automatically, click on preview
else if (theId == "WIREFRAME_CMD")
setDisplayMode(aObjects, XGUI_Displayer::Wireframe);
else if (theId == "HIDEALL_CMD") {
+#ifdef HAVE_SALOME
+ //issue #2159 Hide all incomplete behavior
+ viewer()->eraseAll();
+#else
QObjectPtrList aList = myDisplayer->displayedObjects();
foreach (ObjectPtr aObj, aList) {
if (module()->canEraseObject(aObj))
aObj->setDisplayed(false);
}
Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_TO_REDISPLAY));
+#endif
updateCommandStatus();
} else if (theId == "SELECT_VERTEX_CMD") {
setViewerSelectionMode(TopAbs_VERTEX);
#endif
aParameters.Append(MyVCallBack);
+ MyTCommunicator->registerPlugin("SMBrowser"); // custom plugin to view ModelAPI
+
MyTCommunicator->init(aParameters);
+ MyTCommunicator->Activate("SMBrowser"); // to have button in TInspector
MyTCommunicator->Activate("TKVInspector"); // to have filled callback by model
MyTCommunicator->Activate("TKDFBrowser");
}
bool hasFeature = false;
bool hasParameter = false;
bool hasCompositeOwner = false;
- ModuleBase_Tools::checkObjects(anObjects, hasResult, hasFeature, hasParameter, hasCompositeOwner);
+ bool hasResultInHistory = false;
+ ModuleBase_Tools::checkObjects(anObjects, hasResult, hasFeature, hasParameter, hasCompositeOwner,
+ hasResultInHistory);
if (!(hasFeature || hasParameter))
return;
void XGUI_Workshop::synchronizeViewer()
{
SessionPtr aMgr = ModelAPI_Session::get();
- DocumentPtr aDoc = aMgr->activeDocument();
+ QList<DocumentPtr> aDocs;
+ aDocs.append(aMgr->activeDocument());
+ aDocs.append(aMgr->moduleDocument());
- synchronizeGroupInViewer(aDoc, ModelAPI_ResultConstruction::group(), false);
- synchronizeGroupInViewer(aDoc, ModelAPI_ResultBody::group(), false);
- synchronizeGroupInViewer(aDoc, ModelAPI_ResultPart::group(), false);
- synchronizeGroupInViewer(aDoc, ModelAPI_ResultGroup::group(), false);
+ foreach(DocumentPtr aDoc, aDocs) {
+ synchronizeGroupInViewer(aDoc, ModelAPI_ResultConstruction::group(), false);
+ synchronizeGroupInViewer(aDoc, ModelAPI_ResultBody::group(), false);
+ synchronizeGroupInViewer(aDoc, ModelAPI_ResultPart::group(), false);
+ synchronizeGroupInViewer(aDoc, ModelAPI_ResultGroup::group(), false);
+ }
}
void XGUI_Workshop::synchronizeGroupInViewer(const DocumentPtr& theDoc,