+ // Avoid activation of already actve widget. It could happen on focusIn event many times
+ if (theWidget == myActiveWidget) {
+ return;
+ }
+ if(myActiveWidget) {
+ myActiveWidget->deactivate();
+ myActiveWidget->setHighlighted(false);
+ }
+ if(theWidget) {
+ emit beforeWidgetActivated(theWidget);
+ theWidget->setHighlighted(true);
+ theWidget->activate();
+ }
+ myActiveWidget = theWidget;
+ if (myActiveWidget) {
+ emit widgetActivated(theWidget);
+ } else if (!isEditingMode()) {
+ emit noMoreWidgets();
+ }
+}
+
+void XGUI_PropertyPanel::setCancelEnabled(bool theEnabled)
+{
+ QToolButton* anCancelBtn = findChild<QToolButton*>(PROP_PANEL_CANCEL);
+ anCancelBtn->setEnabled(theEnabled);
+}
+
+bool XGUI_PropertyPanel::isCancelEnabled() const
+{
+ QToolButton* anCancelBtn = findChild<QToolButton*>(PROP_PANEL_CANCEL);
+ return anCancelBtn->isEnabled();
+}
+
+void XGUI_PropertyPanel::setEditingMode(bool isEditing)
+{
+ ModuleBase_IPropertyPanel::setEditingMode(isEditing);
+ foreach(ModuleBase_ModelWidget* aWgt, myWidgets) {
+ aWgt->setEditingMode(isEditing);
+ }
+}
+
+void XGUI_PropertyPanel::setupActions(XGUI_ActionsMgr* theMgr)
+{
+ QStringList aButtonNames;
+ aButtonNames << PROP_PANEL_OK << PROP_PANEL_CANCEL << PROP_PANEL_HELP;
+ QList<XGUI_ActionsMgr::OperationStateActionId> aActionIds;
+ aActionIds << XGUI_ActionsMgr::Accept << XGUI_ActionsMgr::Abort << XGUI_ActionsMgr::Help;
+ for (int i = 0; i < aButtonNames.size(); ++i) {
+ QToolButton* aBtn = findChild<QToolButton*>(aButtonNames.at(i));
+ QAction* anAct = theMgr->operationStateAction(aActionIds.at(i));
+ aBtn->setDefaultAction(anAct);
+ }