ADD_SUBDIRECTORY (src/SketchSolver)
ADD_SUBDIRECTORY (src/ModuleBase)
ADD_SUBDIRECTORY (src/PartSet)
-ADD_SUBDIRECTORY (src/AppElements)
+
+IF(NOT ${HAVE_SALOME})
+ ADD_SUBDIRECTORY (src/AppElements)
+ ADD_SUBDIRECTORY (src/GeomApp)
+ENDIF(NOT ${HAVE_SALOME})
+
ADD_SUBDIRECTORY (src/XGUI)
-ADD_SUBDIRECTORY (src/GeomApp)
ADD_SUBDIRECTORY (src/ExchangePlugin)
ADD_SUBDIRECTORY (src/GeomValidators)
ADD_SUBDIRECTORY (src/InitializationPlugin)
Config
ModelAPI
ModuleBase
- AppElements
${QT_LIBRARIES}
${CAS_VIEWER}
${CAS_KERNEL}
${qtx}
)
+IF(NOT ${HAVE_SALOME})
+ SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} AppElements)
+ENDIF(NOT ${HAVE_SALOME})
+
+
IF(WIN32)
SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} opengl32)
ELSE()
ADD_DEFINITIONS( -DXGUI_EXPORTS ${CAS_DEFINITIONS} )
-INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/src/Events
- ${PROJECT_SOURCE_DIR}/src/Config
- ${PROJECT_SOURCE_DIR}/src/ModelAPI
- ${PROJECT_SOURCE_DIR}/src/GeomAPI
- ${PROJECT_SOURCE_DIR}/src/ModuleBase
-# ${PROJECT_SOURCE_DIR}/src/PartSetPlugin
- ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
- ${PROJECT_SOURCE_DIR}/src/AppElements
- ${CAS_INCLUDE_DIRS}
- ${SUIT_INCLUDE})
-
+SET(PROJECT_INCLUDES
+ ${PROJECT_SOURCE_DIR}/src/Events
+ ${PROJECT_SOURCE_DIR}/src/Config
+ ${PROJECT_SOURCE_DIR}/src/ModelAPI
+ ${PROJECT_SOURCE_DIR}/src/GeomAPI
+ ${PROJECT_SOURCE_DIR}/src/ModuleBase
+ ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
+ ${CAS_INCLUDE_DIRS}
+ ${SUIT_INCLUDE})
+
+IF(NOT ${HAVE_SALOME})
+ SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${PROJECT_SOURCE_DIR}/src/AppElements)
+ENDIF(NOT ${HAVE_SALOME})
+
+INCLUDE_DIRECTORIES(${PROJECT_INCLUDES})
+
LINK_DIRECTORIES($ENV{PYTHON_LIB_DIR})
ADD_LIBRARY(XGUI SHARED
* XGUI_ActionsMgr.cpp
*/
+#ifndef HAVE_SALOME
#include <AppElements_Command.h>
+#endif
#include <XGUI_ActionsMgr.h>
#include <XGUI_Workshop.h>
return;
}
myActions.insert(aId, theCmd);
- AppElements_Command* aXCmd = dynamic_cast<AppElements_Command*>(theCmd);
- if (aXCmd) {
- myNestedActions[aId] = aXCmd->nestedCommands();
- } else {
+#ifdef HAVE_SALOME
XGUI_Workshop* aWorkshop = static_cast<XGUI_Workshop*>(parent());
myNestedActions[aId] = aWorkshop->salomeConnector()->nestedActions(aId);
- }
+#else
+ AppElements_Command* aXCmd = dynamic_cast<AppElements_Command*>(theCmd);
+ myNestedActions[aId] = aXCmd->nestedCommands();
+#endif
}
void XGUI_ActionsMgr::addNestedCommands(const QString& theId, const QStringList& theCommands)
QString aDocKind = QString::fromStdString(aStdDocKind);
XGUI_Workshop* aWorkshop = static_cast<XGUI_Workshop*>(parent());
foreach(QAction* eachAction, myActions.values()) {
- AppElements_Command* aCmd = dynamic_cast<AppElements_Command*>(eachAction);
QString aCmdDocKind;
- if(aCmd) {
- aCmdDocKind = aCmd->documentKind();
- } else {
- QString aId = eachAction->data().toString();
- if (!aId.isEmpty()) {
- aCmdDocKind = aWorkshop->salomeConnector()->documentKind(aId);
- }
+#ifdef HAVE_SALOME
+ QString aId = eachAction->data().toString();
+ if (!aId.isEmpty()) {
+ aCmdDocKind = aWorkshop->salomeConnector()->documentKind(aId);
}
+#else
+ AppElements_Command* aCmd = dynamic_cast<AppElements_Command*>(eachAction);
+ aCmdDocKind = aCmd->documentKind();
+#endif
if(!aCmdDocKind.isEmpty() && aCmdDocKind != aDocKind) {
eachAction->setEnabled(false);
}
#include "XGUI_OperationMgr.h"
#include "XGUI_Tools.h"
+#ifndef HAVE_SALOME
#include <AppElements_MainWindow.h>
+#endif
//#include "PartSetPlugin_Part.h"
#include <QContextMenuEvent>
#include <QMenu>
#include <QMdiArea>
+#include <QMainWindow>
XGUI_ContextMenuMgr::XGUI_ContextMenuMgr(XGUI_Workshop* theParent)
void XGUI_ContextMenuMgr::createActions()
{
- QAction* aAction = new QAction(QIcon(":pictures/delete.png"), tr("Delete"), this);
+#ifdef HAVE_SALOME
+ QMainWindow* aDesktop = myWorkshop->salomeConnector()->desktop();
+#else
QMainWindow* aDesktop = myWorkshop->mainWindow();
- if (!aDesktop)
- aDesktop = myWorkshop->salomeConnector()->desktop();
+#endif
+
+ QAction* aAction = new QAction(QIcon(":pictures/delete.png"), tr("Delete"), this);
aDesktop->addAction(aAction);
addAction("DELETE_CMD", aAction);
}
theMenu->addActions(aActions);
- if (!myWorkshop->isSalomeMode()) {
- theMenu->addSeparator();
- QMdiArea* aMDI = myWorkshop->mainWindow()->mdiArea();
- if (aMDI->actions().size() > 0) {
- QMenu* aSubMenu = theMenu->addMenu(tr("Windows"));
- aSubMenu->addActions(aMDI->actions());
- }
+#ifndef HAVE_SALOME
+ theMenu->addSeparator();
+ QMdiArea* aMDI = myWorkshop->mainWindow()->mdiArea();
+ if (aMDI->actions().size() > 0) {
+ QMenu* aSubMenu = theMenu->addMenu(tr("Windows"));
+ aSubMenu->addActions(aMDI->actions());
}
+#endif
}
QStringList XGUI_ContextMenuMgr::actionObjectGroups(const QString& theName)
#include "XGUI_Selection.h"
#include "XGUI_CustomPrs.h"
+#ifndef HAVE_SALOME
#include <AppElements_Viewer.h>
+#endif
#include <ModelAPI_Document.h>
#include <ModelAPI_Data.h>
#include <AIS_DimensionSelectionMode.hxx>
#include <AIS_Shape.hxx>
#include <AIS_Dimension.hxx>
+#include <AIS_Trihedron.hxx>
#include <TColStd_ListIteratorOfListOfInteger.hxx>
#include <SelectMgr_ListOfFilter.hxx>
#include <SelectMgr_ListIteratorOfListOfFilter.hxx>
#include "XGUI_Displayer.h"
#include "XGUI_Selection.h"
+#ifndef HAVE_SALOME
#include <AppElements_MainWindow.h>
+#endif
#include <ModelAPI_Feature.h>
#include <ModelAPI_Session.h>
#include "XGUI_SalomeConnector.h"
#include "XGUI_Displayer.h"
-#include <AppElements_MainWindow.h>
-#include <AppElements_ViewPort.h>
-#include <AppElements_ViewWindow.h>
-#include <AppElements_Viewer.h>
+#ifndef HAVE_SALOME
+ #include <AppElements_MainWindow.h>
+ #include <AppElements_ViewPort.h>
+ #include <AppElements_ViewWindow.h>
+ #include <AppElements_Viewer.h>
+#endif
+
+#include <ModuleBase_IViewWindow.h>
#include <QEvent>
Handle(AIS_InteractiveContext) XGUI_ViewerProxy::AISContext() const
{
- if (myWorkshop->isSalomeMode()) {
- return myWorkshop->salomeConnector()->viewer()->AISContext();
- } else {
- return myWorkshop->mainWindow()->viewer()->AISContext();
- }
+#ifdef HAVE_SALOME
+ return myWorkshop->salomeConnector()->viewer()->AISContext();
+#else
+ return myWorkshop->mainWindow()->viewer()->AISContext();
+#endif
}
Handle(V3d_Viewer) XGUI_ViewerProxy::v3dViewer() const
{
- if (myWorkshop->isSalomeMode()) {
- return myWorkshop->salomeConnector()->viewer()->v3dViewer();
- } else {
- return myWorkshop->mainWindow()->viewer()->v3dViewer();
- }
+#ifdef HAVE_SALOME
+ return myWorkshop->salomeConnector()->viewer()->v3dViewer();
+#else
+ return myWorkshop->mainWindow()->viewer()->v3dViewer();
+#endif
}
Handle(V3d_View) XGUI_ViewerProxy::activeView() const
{
- if (myWorkshop->isSalomeMode()) {
- return myWorkshop->salomeConnector()->viewer()->activeView();
- } else {
- AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
- return (aViewer->activeViewWindow()) ? aViewer->activeViewWindow()->viewPortApp()->getView() :
+#ifdef HAVE_SALOME
+ return myWorkshop->salomeConnector()->viewer()->activeView();
+#else
+ AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
+ return (aViewer->activeViewWindow()) ?
+ aViewer->activeViewWindow()->viewPortApp()->getView() :
Handle(V3d_View)();
- }
+#endif
}
void XGUI_ViewerProxy::setViewProjection(double theX, double theY, double theZ, double theTwist)
void XGUI_ViewerProxy::fitAll()
{
- if (myWorkshop->isSalomeMode()) {
- myWorkshop->salomeConnector()->viewer()->fitAll();
- } else {
- AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
- if (aViewer->activeViewWindow())
- aViewer->activeViewWindow()->viewPortApp()->fitAll();
- }
+#ifdef HAVE_SALOME
+ myWorkshop->salomeConnector()->viewer()->fitAll();
+#else
+ AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
+ if (aViewer->activeViewWindow())
+ aViewer->activeViewWindow()->viewPortApp()->fitAll();
+#endif
}
void XGUI_ViewerProxy::connectToViewer()
{
- if (myWorkshop->isSalomeMode()) {
- ModuleBase_IViewer* aViewer = myWorkshop->salomeConnector()->viewer();
+#ifdef HAVE_SALOME
+ ModuleBase_IViewer* aViewer = myWorkshop->salomeConnector()->viewer();
- connect(aViewer, SIGNAL(lastViewClosed()), this, SIGNAL(lastViewClosed()));
- connect(aViewer, SIGNAL(tryCloseView(ModuleBase_IViewWindow*)),
- this, SIGNAL(tryCloseView(ModuleBase_IViewWindow*)));
+ connect(aViewer, SIGNAL(lastViewClosed()), this, SIGNAL(lastViewClosed()));
+ connect(aViewer, SIGNAL(tryCloseView(ModuleBase_IViewWindow*)),
+ this, SIGNAL(tryCloseView(ModuleBase_IViewWindow*)));
- connect(aViewer, SIGNAL(deleteView(ModuleBase_IViewWindow*)),
- this, SIGNAL(deleteView(ModuleBase_IViewWindow*)));
+ connect(aViewer, SIGNAL(deleteView(ModuleBase_IViewWindow*)),
+ this, SIGNAL(deleteView(ModuleBase_IViewWindow*)));
- connect(aViewer, SIGNAL(viewCreated(ModuleBase_IViewWindow*)),
- this, SLOT(onViewCreated(ModuleBase_IViewWindow*)));
+ connect(aViewer, SIGNAL(viewCreated(ModuleBase_IViewWindow*)),
+ this, SLOT(onViewCreated(ModuleBase_IViewWindow*)));
- connect(aViewer, SIGNAL(activated(ModuleBase_IViewWindow*)),
- this, SIGNAL(activated(ModuleBase_IViewWindow*)));
+ connect(aViewer, SIGNAL(activated(ModuleBase_IViewWindow*)),
+ this, SIGNAL(activated(ModuleBase_IViewWindow*)));
- connect(aViewer, SIGNAL(mousePress(ModuleBase_IViewWindow*, QMouseEvent*)),
- this, SIGNAL(mousePress(ModuleBase_IViewWindow*, QMouseEvent*)));
+ connect(aViewer, SIGNAL(mousePress(ModuleBase_IViewWindow*, QMouseEvent*)),
+ this, SIGNAL(mousePress(ModuleBase_IViewWindow*, QMouseEvent*)));
- connect(aViewer, SIGNAL(mouseRelease(ModuleBase_IViewWindow*, QMouseEvent*)),
- this, SIGNAL(mouseRelease(ModuleBase_IViewWindow*, QMouseEvent*)));
+ connect(aViewer, SIGNAL(mouseRelease(ModuleBase_IViewWindow*, QMouseEvent*)),
+ this, SIGNAL(mouseRelease(ModuleBase_IViewWindow*, QMouseEvent*)));
- connect(aViewer, SIGNAL(mouseDoubleClick(ModuleBase_IViewWindow*, QMouseEvent*)), this,
- SIGNAL(mouseDoubleClick(ModuleBase_IViewWindow*, QMouseEvent*)));
+ connect(aViewer, SIGNAL(mouseDoubleClick(ModuleBase_IViewWindow*, QMouseEvent*)), this,
+ SIGNAL(mouseDoubleClick(ModuleBase_IViewWindow*, QMouseEvent*)));
- connect(aViewer, SIGNAL(mouseMove(ModuleBase_IViewWindow*, QMouseEvent*)),
- this, SIGNAL(mouseMove(ModuleBase_IViewWindow*, QMouseEvent*)));
+ connect(aViewer, SIGNAL(mouseMove(ModuleBase_IViewWindow*, QMouseEvent*)),
+ this, SIGNAL(mouseMove(ModuleBase_IViewWindow*, QMouseEvent*)));
- connect(aViewer, SIGNAL(keyPress(ModuleBase_IViewWindow*, QKeyEvent*)),
- this, SIGNAL(keyPress(ModuleBase_IViewWindow*, QKeyEvent*)));
+ connect(aViewer, SIGNAL(keyPress(ModuleBase_IViewWindow*, QKeyEvent*)),
+ this, SIGNAL(keyPress(ModuleBase_IViewWindow*, QKeyEvent*)));
- connect(aViewer, SIGNAL(keyRelease(ModuleBase_IViewWindow*, QKeyEvent*)),
- this, SIGNAL(keyRelease(ModuleBase_IViewWindow*, QKeyEvent*)));
+ connect(aViewer, SIGNAL(keyRelease(ModuleBase_IViewWindow*, QKeyEvent*)),
+ this, SIGNAL(keyRelease(ModuleBase_IViewWindow*, QKeyEvent*)));
- connect(aViewer, SIGNAL(selectionChanged()), this, SIGNAL(selectionChanged()));
+ connect(aViewer, SIGNAL(selectionChanged()), this, SIGNAL(selectionChanged()));
- connect(aViewer, SIGNAL(viewTransformed(int)), this, SIGNAL(viewTransformed(int)));
+ connect(aViewer, SIGNAL(viewTransformed(int)), this, SIGNAL(viewTransformed(int)));
- connect(aViewer, SIGNAL(contextMenuRequested(QContextMenuEvent*)), this,
- SIGNAL(contextMenuRequested(QContextMenuEvent*)));
- } else {
- AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
+ connect(aViewer, SIGNAL(contextMenuRequested(QContextMenuEvent*)), this,
+ SIGNAL(contextMenuRequested(QContextMenuEvent*)));
+#else
+ AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
- connect(aViewer, SIGNAL(lastViewClosed()), this, SIGNAL(lastViewClosed()));
+ connect(aViewer, SIGNAL(lastViewClosed()), this, SIGNAL(lastViewClosed()));
- connect(aViewer, SIGNAL(tryCloseView(AppElements_ViewWindow*)),
- this, SLOT(onTryCloseView(AppElements_ViewWindow*)));
+ connect(aViewer, SIGNAL(tryCloseView(AppElements_ViewWindow*)),
+ this, SLOT(onTryCloseView(AppElements_ViewWindow*)));
- connect(aViewer, SIGNAL(deleteView(AppElements_ViewWindow*)),
- this, SLOT(onDeleteView(AppElements_ViewWindow*)));
+ connect(aViewer, SIGNAL(deleteView(AppElements_ViewWindow*)),
+ this, SLOT(onDeleteView(AppElements_ViewWindow*)));
- connect(aViewer, SIGNAL(viewCreated(AppElements_ViewWindow*)),
- this, SLOT(onViewCreated(AppElements_ViewWindow*)));
+ connect(aViewer, SIGNAL(viewCreated(AppElements_ViewWindow*)),
+ this, SLOT(onViewCreated(AppElements_ViewWindow*)));
- connect(aViewer, SIGNAL(activated(AppElements_ViewWindow*)),
- this, SLOT(onActivated(AppElements_ViewWindow*)));
+ connect(aViewer, SIGNAL(activated(AppElements_ViewWindow*)),
+ this, SLOT(onActivated(AppElements_ViewWindow*)));
- connect(aViewer, SIGNAL(mousePress(AppElements_ViewWindow*, QMouseEvent*)), this,
- SLOT(onMousePress(AppElements_ViewWindow*, QMouseEvent*)));
+ connect(aViewer, SIGNAL(mousePress(AppElements_ViewWindow*, QMouseEvent*)), this,
+ SLOT(onMousePress(AppElements_ViewWindow*, QMouseEvent*)));
- connect(aViewer, SIGNAL(mouseRelease(AppElements_ViewWindow*, QMouseEvent*)), this,
- SLOT(onMouseRelease(AppElements_ViewWindow*, QMouseEvent*)));
+ connect(aViewer, SIGNAL(mouseRelease(AppElements_ViewWindow*, QMouseEvent*)), this,
+ SLOT(onMouseRelease(AppElements_ViewWindow*, QMouseEvent*)));
- connect(aViewer, SIGNAL(mouseDoubleClick(AppElements_ViewWindow*, QMouseEvent*)), this,
- SLOT(onMouseDoubleClick(AppElements_ViewWindow*, QMouseEvent*)));
+ connect(aViewer, SIGNAL(mouseDoubleClick(AppElements_ViewWindow*, QMouseEvent*)), this,
+ SLOT(onMouseDoubleClick(AppElements_ViewWindow*, QMouseEvent*)));
- connect(aViewer, SIGNAL(mouseMove(AppElements_ViewWindow*, QMouseEvent*)), this,
- SLOT(onMouseMove(AppElements_ViewWindow*, QMouseEvent*)));
+ connect(aViewer, SIGNAL(mouseMove(AppElements_ViewWindow*, QMouseEvent*)), this,
+ SLOT(onMouseMove(AppElements_ViewWindow*, QMouseEvent*)));
- connect(aViewer, SIGNAL(keyPress(AppElements_ViewWindow*, QKeyEvent*)), this,
- SLOT(onKeyPress(AppElements_ViewWindow*, QKeyEvent*)));
+ connect(aViewer, SIGNAL(keyPress(AppElements_ViewWindow*, QKeyEvent*)), this,
+ SLOT(onKeyPress(AppElements_ViewWindow*, QKeyEvent*)));
- connect(aViewer, SIGNAL(keyRelease(AppElements_ViewWindow*, QKeyEvent*)), this,
- SLOT(onKeyRelease(AppElements_ViewWindow*, QKeyEvent*)));
+ connect(aViewer, SIGNAL(keyRelease(AppElements_ViewWindow*, QKeyEvent*)), this,
+ SLOT(onKeyRelease(AppElements_ViewWindow*, QKeyEvent*)));
- connect(aViewer, SIGNAL(selectionChanged()), this, SIGNAL(selectionChanged()));
- connect(aViewer, SIGNAL(contextMenuRequested(QContextMenuEvent*)), this,
- SIGNAL(contextMenuRequested(QContextMenuEvent*)));
- }
+ connect(aViewer, SIGNAL(selectionChanged()), this, SIGNAL(selectionChanged()));
+ connect(aViewer, SIGNAL(contextMenuRequested(QContextMenuEvent*)), this,
+ SIGNAL(contextMenuRequested(QContextMenuEvent*)));
+#endif
}
bool XGUI_ViewerProxy::eventFilter(QObject *theObject, QEvent *theEvent)
return ModuleBase_IViewer::eventFilter(theObject, theEvent);
}
+void XGUI_ViewerProxy::onViewCreated(ModuleBase_IViewWindow* theWnd)
+{
+ theWnd->viewPort()->installEventFilter(this);
+
+ myWindowScale.insert (theWnd->v3dView(), theWnd->v3dView()->Camera()->Scale());
+
+ emit viewCreated(theWnd);
+}
+
+#ifndef HAVE_SALOME
void XGUI_ViewerProxy::onTryCloseView(AppElements_ViewWindow* theWnd)
{
emit tryCloseView(theWnd);
emit deleteView(theWnd);
}
-void XGUI_ViewerProxy::onViewCreated(ModuleBase_IViewWindow* theWnd)
-{
- theWnd->viewPort()->installEventFilter(this);
-
- myWindowScale.insert (theWnd->v3dView(), theWnd->v3dView()->Camera()->Scale());
-
- emit viewCreated(theWnd);
-}
-
void XGUI_ViewerProxy::onViewCreated(AppElements_ViewWindow* theWnd)
{
theWnd->viewPort()->installEventFilter(this);
emit keyRelease(theWnd, theEvent);
}
+void XGUI_ViewerProxy::onViewTransformed(AppElements_ViewWindow::OperationType theType)
+{
+ emit viewTransformed((int) theType);
+}
+
+#endif
//***************************************
void XGUI_ViewerProxy::enableSelection(bool isEnabled)
{
- if (myWorkshop->isSalomeMode()) {
- myWorkshop->salomeConnector()->viewer()->enableSelection(isEnabled);
- } else {
- myWorkshop->mainWindow()->viewer()->setSelectionEnabled(isEnabled);
- }
+#ifdef HAVE_SALOME
+ myWorkshop->salomeConnector()->viewer()->enableSelection(isEnabled);
+#else
+ myWorkshop->mainWindow()->viewer()->setSelectionEnabled(isEnabled);
+#endif
}
//***************************************
bool XGUI_ViewerProxy::isSelectionEnabled() const
{
- if (myWorkshop->isSalomeMode()) {
- return myWorkshop->salomeConnector()->viewer()->isSelectionEnabled();
- } else {
- return myWorkshop->mainWindow()->viewer()->isSelectionEnabled();
- }
+#ifdef HAVE_SALOME
+ return myWorkshop->salomeConnector()->viewer()->isSelectionEnabled();
+#else
+ return myWorkshop->mainWindow()->viewer()->isSelectionEnabled();
+#endif
}
//***************************************
void XGUI_ViewerProxy::enableMultiselection(bool isEnable)
{
- if (myWorkshop->isSalomeMode()) {
- myWorkshop->salomeConnector()->viewer()->enableMultiselection(isEnable);
- } else {
- myWorkshop->mainWindow()->viewer()->setMultiSelectionEnabled(isEnable);
- }
+#ifdef HAVE_SALOME
+ myWorkshop->salomeConnector()->viewer()->enableMultiselection(isEnable);
+#else
+ myWorkshop->mainWindow()->viewer()->setMultiSelectionEnabled(isEnable);
+#endif
}
//***************************************
bool XGUI_ViewerProxy::isMultiSelectionEnabled() const
{
- if (myWorkshop->isSalomeMode()) {
- return myWorkshop->salomeConnector()->viewer()->isMultiSelectionEnabled();
- } else {
- return myWorkshop->mainWindow()->viewer()->isMultiSelectionEnabled();
- }
+#ifdef HAVE_SALOME
+ return myWorkshop->salomeConnector()->viewer()->isMultiSelectionEnabled();
+#else
+ return myWorkshop->mainWindow()->viewer()->isMultiSelectionEnabled();
+#endif
}
//***************************************
bool XGUI_ViewerProxy::enableDrawMode(bool isEnabled)
{
- if (myWorkshop->isSalomeMode()) {
- return myWorkshop->salomeConnector()->viewer()->enableDrawMode(isEnabled);
- } else {
- return myWorkshop->mainWindow()->viewer()->enableDrawMode(isEnabled);
- }
+#ifdef HAVE_SALOME
+ return myWorkshop->salomeConnector()->viewer()->enableDrawMode(isEnabled);
+#else
+ return myWorkshop->mainWindow()->viewer()->enableDrawMode(isEnabled);
+#endif
}
//***************************************
}
}
-//***************************************
-void XGUI_ViewerProxy::onViewTransformed(AppElements_ViewWindow::OperationType theType)
-{
- emit viewTransformed((int) theType);
-}
-
//***************************************
void XGUI_ViewerProxy::Zfitall()
{
- if (myWorkshop->isSalomeMode()) {
- myWorkshop->salomeConnector()->viewer()->Zfitall();
- } else {
- AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
- AppElements_ViewWindow* aView = aViewer->activeViewWindow();
- if (aView) {
- Handle(V3d_View) aView3d = aView->v3dView();
- aView3d->ZFitAll();
- if (aView3d->Depth() < 0.1)
- aView3d->DepthFitAll();
- }
+#ifdef HAVE_SALOME
+ myWorkshop->salomeConnector()->viewer()->Zfitall();
+#else
+ AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
+ AppElements_ViewWindow* aView = aViewer->activeViewWindow();
+ if (aView) {
+ Handle(V3d_View) aView3d = aView->v3dView();
+ aView3d->ZFitAll();
+ if (aView3d->Depth() < 0.1)
+ aView3d->DepthFitAll();
}
+#endif
}
\ No newline at end of file
#include "XGUI.h"
#include <ModuleBase_IViewer.h>
-#include <AppElements_ViewWindow.h>
+
+#ifndef HAVE_SALOME
+ #include <AppElements_ViewWindow.h>
+#endif
class XGUI_Workshop;
/**
bool eventFilter(QObject *theObject, QEvent *theEvent);
private slots:
+ void onViewCreated(ModuleBase_IViewWindow* theWnd);
+
+#ifndef HAVE_SALOME
void onTryCloseView(AppElements_ViewWindow*);
void onDeleteView(AppElements_ViewWindow*);
- void onViewCreated(ModuleBase_IViewWindow* theWnd);
void onViewCreated(AppElements_ViewWindow*);
void onActivated(AppElements_ViewWindow*);
void onKeyRelease(AppElements_ViewWindow*, QKeyEvent*);
void onViewTransformed(AppElements_ViewWindow::OperationType);
+#endif
private:
XGUI_Workshop* myWorkshop;
#include <XGUI_HistoryMenu.h>
#include <XGUI_QtEvents.h>
+#ifndef HAVE_SALOME
#include <AppElements_Button.h>
#include <AppElements_Command.h>
#include <AppElements_MainMenu.h>
#include <AppElements_MenuGroupPanel.h>
#include <AppElements_Viewer.h>
#include <AppElements_Workbench.h>
+#endif
#include <ModelAPI_AttributeDocRef.h>
#include <ModelAPI_AttributeIntArray.h>
#include <QFileDialog>
#include <QMessageBox>
#include <QMdiSubWindow>
+#include <QMainWindow>
#include <QPushButton>
#include <QDockWidget>
#include <QLayout>
myObjectBrowser(0),
myDisplayer(0)
{
- myMainWindow = mySalomeConnector ? 0 : new AppElements_MainWindow();
+#ifndef HAVE_SALOME
+ myMainWindow = new AppElements_MainWindow();
- if (myMainWindow) {
- SUIT_ResourceMgr* aResMgr = ModuleBase_Preferences::resourceMgr();
- bool aCloc = aResMgr->booleanValue("language", "locale", true);
- if (aCloc)
- QLocale::setDefault( QLocale::c() );
- else
- QLocale::setDefault( QLocale::system() );
- }
+ SUIT_ResourceMgr* aResMgr = ModuleBase_Preferences::resourceMgr();
+ bool aCloc = aResMgr->booleanValue("language", "locale", true);
+ if (aCloc)
+ QLocale::setDefault( QLocale::c() );
+ else
+ QLocale::setDefault( QLocale::system() );
+#endif
myDisplayer = new XGUI_Displayer(this);
//connect(myOperationMgr, SIGNAL(validationStateChanged(bool)),
// myErrorMgr, SLOT(onValidationStateChanged()));
- if (myMainWindow)
- connect(myMainWindow, SIGNAL(exitKeySequence()), SLOT(onExit()));
+#ifndef HAVE_SALOME
+ connect(myMainWindow, SIGNAL(exitKeySequence()), SLOT(onExit()));
+#endif
+
connect(this, SIGNAL(errorOccurred(const QString&)), myErrorDlg, SLOT(addError(const QString&)));
connect(myEventsListener, SIGNAL(errorOccurred(const QString&)),
myErrorDlg, SLOT(addError(const QString&)));
// by Config_PropManger to restore user-defined path to plugins
ModuleBase_Preferences::loadCustomProps();
createModule();
- if (myMainWindow) {
- myMainWindow->show();
- updateCommandStatus();
- }
+
+#ifndef HAVE_SALOME
+ myMainWindow->show();
+ updateCommandStatus();
+#endif
onNew();
{
myContextMenuMgr->createActions();
- if (isSalomeMode()) {
- // Create only Undo, Redo commands
- QAction* aAction = salomeConnector()->addDesktopCommand("UNDO_CMD", tr("Undo"),
- tr("Undo last command"),
- QIcon(":pictures/undo.png"),
- QKeySequence::Undo, false, "MEN_DESK_EDIT");
- QString aToolBarTitle = tr( "INF_DESK_TOOLBAR_STANDARD" );
- salomeConnector()->addActionInToolbar( aAction,aToolBarTitle );
-
- connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onUndo()));
- addHistoryMenu(aAction, SIGNAL(updateUndoHistory(const QList<ActionInfo>&)), SLOT(onUndo(int)));
-
- aAction = salomeConnector()->addDesktopCommand("REDO_CMD", tr("Redo"), tr("Redo last command"),
- QIcon(":pictures/redo.png"), QKeySequence::Redo,
- false, "MEN_DESK_EDIT");
- salomeConnector()->addActionInToolbar( aAction, aToolBarTitle );
-
- connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onRedo()));
- addHistoryMenu(aAction, SIGNAL(updateRedoHistory(const QList<ActionInfo>&)), SLOT(onRedo(int)));
-
- salomeConnector()->addDesktopMenuSeparator("MEN_DESK_EDIT");
- aAction = salomeConnector()->addDesktopCommand("REBUILD_CMD", tr("Rebuild"), tr("Rebuild data objects"),
- QIcon(":pictures/rebuild.png"), QKeySequence(),
- false, "MEN_DESK_EDIT");
- salomeConnector()->addActionInToolbar( aAction, aToolBarTitle );
-
- connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onRebuild()));
- salomeConnector()->addDesktopMenuSeparator("MEN_DESK_EDIT");
-
- aAction = salomeConnector()->addDesktopCommand("SAVEAS_CMD", tr("Export NewGeom..."), tr("Export the current document into a NewGeom file"),
- QIcon(), QKeySequence(),
- false, "MEN_DESK_FILE");
- connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onSaveAs()));
-
- aAction = salomeConnector()->addDesktopCommand("OPEN_CMD", tr("Import NewGeom..."), tr("Import a NewGeom file"),
- QIcon(), QKeySequence(),
- false, "MEN_DESK_FILE");
- connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onOpen()));
- salomeConnector()->addDesktopMenuSeparator("MEN_DESK_FILE");
+#ifdef HAVE_SALOME
+ // Create only Undo, Redo commands
+ QAction* aAction = salomeConnector()->addDesktopCommand("UNDO_CMD", tr("Undo"),
+ tr("Undo last command"),
+ QIcon(":pictures/undo.png"),
+ QKeySequence::Undo, false, "MEN_DESK_EDIT");
+ QString aToolBarTitle = tr( "INF_DESK_TOOLBAR_STANDARD" );
+ salomeConnector()->addActionInToolbar( aAction,aToolBarTitle );
+
+ connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onUndo()));
+ addHistoryMenu(aAction, SIGNAL(updateUndoHistory(const QList<ActionInfo>&)), SLOT(onUndo(int)));
+
+ aAction = salomeConnector()->addDesktopCommand("REDO_CMD", tr("Redo"), tr("Redo last command"),
+ QIcon(":pictures/redo.png"), QKeySequence::Redo,
+ false, "MEN_DESK_EDIT");
+ salomeConnector()->addActionInToolbar( aAction, aToolBarTitle );
+
+ connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onRedo()));
+ addHistoryMenu(aAction, SIGNAL(updateRedoHistory(const QList<ActionInfo>&)), SLOT(onRedo(int)));
+
+ salomeConnector()->addDesktopMenuSeparator("MEN_DESK_EDIT");
+ aAction = salomeConnector()->addDesktopCommand("REBUILD_CMD", tr("Rebuild"), tr("Rebuild data objects"),
+ QIcon(":pictures/rebuild.png"), QKeySequence(),
+ false, "MEN_DESK_EDIT");
+ salomeConnector()->addActionInToolbar( aAction, aToolBarTitle );
+
+ connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onRebuild()));
+ salomeConnector()->addDesktopMenuSeparator("MEN_DESK_EDIT");
+
+ aAction = salomeConnector()->addDesktopCommand("SAVEAS_CMD", tr("Export NewGeom..."), tr("Export the current document into a NewGeom file"),
+ QIcon(), QKeySequence(),
+ false, "MEN_DESK_FILE");
+ connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onSaveAs()));
+
+ aAction = salomeConnector()->addDesktopCommand("OPEN_CMD", tr("Import NewGeom..."), tr("Import a NewGeom file"),
+ QIcon(), QKeySequence(),
+ false, "MEN_DESK_FILE");
+ connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onOpen()));
+ salomeConnector()->addDesktopMenuSeparator("MEN_DESK_FILE");
- return;
- }
+#else
// File commands group
AppElements_MenuGroupPanel* aGroup = myMainWindow->menuObject()->generalPage();
QIcon(":pictures/open.png"), QKeySequence::Open);
aCommand->connectTo(this, SLOT(onOpen()));
- //aCommand = aGroup->addFeature("NEW_CMD", tr("New"), tr("Create a new document"),
- // QIcon(":pictures/new.png"), QKeySequence::New);
- //aCommand->connectTo(this, SLOT(onNew()));
-
aCommand = aGroup->addFeature("PREF_CMD", tr("Preferences"), tr("Edit preferences"),
QIcon(":pictures/preferences.png"), QKeySequence::Preferences);
aCommand->connectTo(this, SLOT(onPreferences()));
aCommand = aGroup->addFeature("EXIT_CMD", tr("Exit"), tr("Exit application"),
QIcon(":pictures/close.png"), QKeySequence::Close);
aCommand->connectTo(this, SLOT(onExit()));
- //FIXME: SBH's test action. Can be used for some GUI tests.
-// #ifdef _DEBUG
-// aCommand = aGroup->addFeature("TEST_CMD", "Test!", "Private debug button",
-// QIcon(":pictures/close.png"), QKeySequence(), true);
-// aCommand->connectTo(myMainWindow, SLOT(dockPythonConsole()));
-// #endif
+#endif
}
-//******************************************************
+#ifndef HAVE_SALOME
AppElements_Workbench* XGUI_Workshop::addWorkbench(const QString& theName)
{
AppElements_MainMenu* aMenuBar = myMainWindow->menuObject();
return aMenuBar->addWorkbench(theName);
}
+#endif
//******************************************************
QMainWindow* XGUI_Workshop::desktop() const
{
- return isSalomeMode() ? salomeConnector()->desktop() : myMainWindow;
+#ifdef HAVE_SALOME
+ return salomeConnector()->desktop();
+#else
+ return myMainWindow;
+#endif
}
//******************************************************
{
bool aHasNested = false;
std::string aFeatureKind = theFeature->getKind();
- if (isSalomeMode()) {
+#ifdef HAVE_SALOME
XGUI_SalomeConnector* aSalomeConnector = salomeConnector();
if (aSalomeConnector->isFeatureOfNested(actionsMgr()->action(aFeatureKind.c_str())))
aHasNested = true;
- } else {
+#else
AppElements_MainMenu* aMenuBar = mainWindow()->menuObject();
AppElements_Command* aCommand = aMenuBar->feature(aFeatureKind.c_str());
if (aCommand && aCommand->button()->additionalButtonWidget())
aHasNested = true;
- }
+#endif
return aHasNested;
}
}
//******************************************************
-void XGUI_Workshop::onExit()
+void XGUI_Workshop::onOpen()
{
- SessionPtr aMgr = ModelAPI_Session::get();
- if (aMgr->isModified()) {
+ if(!abortAllOperations())
+ return;
+ //save current file before close if modified
+ SessionPtr aSession = ModelAPI_Session::get();
+ if (aSession->isModified()) {
+ //TODO(sbh): re-launch the app?
int anAnswer = QMessageBox::question(
- myMainWindow, tr("Save current file"), tr("The document is modified, save before exit?"),
+ desktop(), tr("Save current file"),
+ tr("The document is modified, save before opening another?"),
QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Cancel);
if (anAnswer == QMessageBox::Save) {
- bool saved = onSave();
- if (!saved) {
- return;
- }
+ onSave();
} else if (anAnswer == QMessageBox::Cancel) {
return;
}
+ myCurrentDir = "";
}
- qApp->exit();
+
+ //show file dialog, check if readable and open
+ myCurrentDir = QFileDialog::getExistingDirectory(desktop(), tr("Select directory"));
+ if (myCurrentDir.isEmpty())
+ return;
+ QFileInfo aFileInfo(myCurrentDir);
+ if (!aFileInfo.exists() || !aFileInfo.isReadable()) {
+ QMessageBox::critical(desktop(), tr("Warning"), tr("Unable to open the file."));
+ myCurrentDir = "";
+ return;
+ }
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+ aSession->closeAll();
+ aSession->load(myCurrentDir.toLatin1().constData());
+ myObjectBrowser->rebuildDataTree();
+ updateCommandStatus();
+ QApplication::restoreOverrideCursor();
}
//******************************************************
}
myViewerProxy->connectToViewer();
showObjectBrowser();
- if (!isSalomeMode()) {
- myMainWindow->showPythonConsole();
- QMdiSubWindow* aWnd = myMainWindow->viewer()->createView();
- aWnd->showMaximized();
- updateCommandStatus();
- }
+#ifndef HAVE_SALOME
+ myMainWindow->showPythonConsole();
+ QMdiSubWindow* aWnd = myMainWindow->viewer()->createView();
+ aWnd->showMaximized();
+ updateCommandStatus();
+#endif
myContextMenuMgr->connectViewer();
QApplication::restoreOverrideCursor();
}
+#ifndef HAVE_SALOME
//******************************************************
-void XGUI_Workshop::onOpen()
+void XGUI_Workshop::onExit()
{
- if(!abortAllOperations())
- return;
- //save current file before close if modified
- SessionPtr aSession = ModelAPI_Session::get();
- if (aSession->isModified()) {
- //TODO(sbh): re-launch the app?
+ SessionPtr aMgr = ModelAPI_Session::get();
+ if (aMgr->isModified()) {
int anAnswer = QMessageBox::question(
- myMainWindow, tr("Save current file"),
- tr("The document is modified, save before opening another?"),
+ myMainWindow, tr("Save current file"), tr("The document is modified, save before exit?"),
QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Cancel);
if (anAnswer == QMessageBox::Save) {
- onSave();
+ bool saved = onSave();
+ if (!saved) {
+ return;
+ }
} else if (anAnswer == QMessageBox::Cancel) {
return;
}
- myCurrentDir = "";
}
+ qApp->exit();
+}
- //show file dialog, check if readable and open
- myCurrentDir = QFileDialog::getExistingDirectory(mainWindow(), tr("Select directory"));
- if (myCurrentDir.isEmpty())
- return;
- QFileInfo aFileInfo(myCurrentDir);
- if (!aFileInfo.exists() || !aFileInfo.isReadable()) {
- QMessageBox::critical(myMainWindow, tr("Warning"), tr("Unable to open the file."));
- myCurrentDir = "";
- return;
+//******************************************************
+void XGUI_Workshop::onPreferences()
+{
+ ModuleBase_Prefs aModif;
+ ModuleBase_Preferences::editPreferences(aModif);
+ if (aModif.size() > 0) {
+ QString aSection;
+ foreach (ModuleBase_Pref aPref, aModif)
+ {
+ aSection = aPref.first;
+ if (aSection == ModuleBase_Preferences::VIEWER_SECTION) {
+ myMainWindow->viewer()->updateFromResources();
+ } else if (aSection == ModuleBase_Preferences::MENU_SECTION) {
+ myMainWindow->menuObject()->updateFromResources();
+ }
+ }
+ displayer()->redisplayObjects();
}
- QApplication::setOverrideCursor(Qt::WaitCursor);
- aSession->closeAll();
- aSession->load(myCurrentDir.toLatin1().constData());
- myObjectBrowser->rebuildDataTree();
- updateCommandStatus();
- QApplication::restoreOverrideCursor();
}
+#endif
//******************************************************
bool XGUI_Workshop::onSave()
std::list<std::string> aFiles;
saveDocument(myCurrentDir, aFiles);
updateCommandStatus();
- if (!isSalomeMode())
+#ifndef HAVE_SALOME
myMainWindow->setModifiedState(false);
+#endif
return true;
}
{
if(!abortAllOperations())
return false;
- QFileDialog dialog(mainWindow());
+ QFileDialog dialog(desktop());
dialog.setWindowTitle(tr("Select directory to save files..."));
dialog.setFileMode(QFileDialog::Directory);
dialog.setFilter(tr("Directories (*)"));
QDir aDir(aTempDir);
if (aDir.exists() && !aDir.entryInfoList(QDir::NoDotAndDotDot | QDir::AllEntries).isEmpty()) {
int answer = QMessageBox::question(
- myMainWindow,
+ desktop(),
//: Title of the dialog which asks user if he wants to save study in existing non-empty folder
tr("Save"),
tr("The directory already contains some files, save anyway?"),
}
}
myCurrentDir = aTempDir;
- if (!isSalomeMode()) {
+#ifndef HAVE_SALOME
myMainWindow->setCurrentDir(myCurrentDir, false);
myMainWindow->setModifiedState(false);
- }
+#endif
return onSave();
}
updateCommandStatus();
}
-//******************************************************
-void XGUI_Workshop::onPreferences()
-{
- ModuleBase_Prefs aModif;
- ModuleBase_Preferences::editPreferences(aModif);
- if (aModif.size() > 0) {
- QString aSection;
- foreach (ModuleBase_Pref aPref, aModif)
- {
- aSection = aPref.first;
- if (aSection == ModuleBase_Preferences::VIEWER_SECTION) {
- if (!isSalomeMode())
- myMainWindow->viewer()->updateFromResources();
- } else if (aSection == ModuleBase_Preferences::MENU_SECTION) {
- if (!isSalomeMode())
- myMainWindow->menuObject()->updateFromResources();
- }
- }
- displayer()->redisplayObjects();
- }
-}
-
//******************************************************
ModuleBase_IModule* XGUI_Workshop::loadModule(const QString& theModule)
{
ModuleBase_IModule* aModule = crtInst ? crtInst(myModuleConnector) : 0;
if (!err.isEmpty()) {
- if (mainWindow()) {
+ if (desktop()) {
Events_Error::send(err.toStdString());
} else {
qWarning(qPrintable(err));
void XGUI_Workshop::updateCommandStatus()
{
QList<QAction*> aCommands;
- if (isSalomeMode()) { // update commands in SALOME mode
+#ifdef HAVE_SALOME
aCommands = salomeConnector()->commandList();
- } else {
+#else
AppElements_MainMenu* aMenuBar = myMainWindow->menuObject();
foreach (AppElements_Command* aCmd, aMenuBar->features())
aCommands.append(aCmd);
- }
+#endif
SessionPtr aMgr = ModelAPI_Session::get();
if (aMgr->hasModuleDocument()) {
foreach(QAction* aCmd, aCommands) {
*/
void XGUI_Workshop::createDockWidgets()
{
- QMainWindow* aDesktop = isSalomeMode() ? salomeConnector()->desktop() : myMainWindow;
+ QMainWindow* aDesktop = desktop();
QDockWidget* aObjDock = createObjectBrowser(aDesktop);
aDesktop->addDockWidget(Qt::LeftDockWidgetArea, aObjDock);
myPropertyPanel = new XGUI_PropertyPanel(aDesktop, myOperationMgr);
// set the focus on it. As a result, shortcuts of the application, like
// are processed by this console. For example Undo actions.
// It is possible that this code is to be moved to NewGeom package
- QMainWindow* aDesktop = isSalomeMode() ? salomeConnector()->desktop() : myMainWindow;
+ QMainWindow* aDesktop = desktop();
aDesktop->activateWindow();
aDesktop->setFocus();
}
// deletion and negative consequences connected with processing of already deleted items
mySelector->clearSelection();
// check whether the object can be deleted. There should not be parts which are not loaded
- if (!XGUI_Tools::canRemoveOrRename(myMainWindow, anObjects))
+ if (!XGUI_Tools::canRemoveOrRename(desktop(), anObjects))
return;
bool hasResult = false;
operationMgr()->startOperation(anOpAction);
// 3. delete objects
- QMainWindow* aDesktop = isSalomeMode() ? salomeConnector()->desktop() : myMainWindow;
std::set<FeaturePtr> anIgnoredFeatures;
- if (deleteFeatures(anObjects, anIgnoredFeatures, aDesktop, true)) {
+ if (deleteFeatures(anObjects, anIgnoredFeatures, desktop(), true)) {
operationMgr()->commitOperation();
}
else {
// moving and negative consequences connected with processing of already moved items
mySelector->clearSelection();
// check whether the object can be moved. There should not be parts which are not loaded
- if (!XGUI_Tools::canRemoveOrRename(myMainWindow, anObjects))
+ if (!XGUI_Tools::canRemoveOrRename(desktop(), anObjects))
return;
DocumentPtr anActiveDocument = aMgr->activeDocument();
if (!abortAllOperations())
return;
// 2. show the dialog to change the value
- XGUI_ColorDialog* aDlg = new XGUI_ColorDialog(mainWindow());
+ XGUI_ColorDialog* aDlg = new XGUI_ColorDialog(desktop());
aDlg->setColor(aColor);
aDlg->move(QCursor::pos());
bool isDone = aDlg->exec() == QDialog::Accepted;
#include <QKeySequence>
#include <QIcon>
+#ifndef HAVE_SALOME
class AppElements_MainWindow;
class AppElements_Command;
class AppElements_Workbench;
+#endif
class XGUI_ActionsMgr;
class XGUI_ContextMenuMgr;
/// Deactivates the module controls. Should be called after module creation
void deactivateModule();
+#ifndef HAVE_SALOME
//! Returns main window (Desktop) of the application
AppElements_MainWindow* mainWindow() const
{
return myMainWindow;
}
+ //! Creates and adds a new workbench (menu group) with the given name and returns it
+ AppElements_Workbench* addWorkbench(const QString& theName);
+#endif
+
//! Returns selection manager object
XGUI_SelectionMgr* selector() const
{
return myContextMenuMgr;
}
- //! Creates and adds a new workbench (menu group) with the given name and returns it
- AppElements_Workbench* addWorkbench(const QString& theName);
-
//! Returns an object which provides interface to Salome Module (LightApp_Module)
XGUI_SalomeConnector* salomeConnector() const
{
/// update history list (undo/redo commands)
void updateHistory();
- /// Create a new document
- void onNew();
-
- /// Open document from file
- void onOpen();
-
/// Save current document
bool onSave();
/// Save current document to a file selected by user
bool onSaveAs();
- /// Exit application
- void onExit();
-
/// Undo last command
void onUndo(int times = 1);
/// Rebuild data tree
void onRebuild();
- /// Open preferences dialog box
- void onPreferences();
-
/// Show property panel
void showPropertyPanel();
/// Close document
void closeDocument();
+ /// Open document from file
+ void onOpen();
+
+ /// Create a new document
+ void onNew();
+
+#ifndef HAVE_SALOME
+ /// Exit application
+ void onExit();
+
+ /// Open preferences dialog box
+ void onPreferences();
+#endif
+
protected:
/// Sets the granted operations for the parameter operation. Firstly, it finds the nested features
/// and set them into the operation. Secondly, it asks the module about ids of granted operations.
QList<ActionInfo> processHistoryList(const std::list<std::string>&) const;
private:
+#ifndef HAVE_SALOME
AppElements_MainWindow* myMainWindow;
+#endif
+
ModuleBase_IModule* myModule;
XGUI_ErrorMgr* myErrorMgr;
XGUI_ObjectsBrowser* myObjectBrowser;
#include "XGUI_ModuleConnector.h"
#include "XGUI_QtEvents.h"
+#ifndef HAVE_SALOME
#include <AppElements_Workbench.h>
#include <AppElements_Command.h>
#include <AppElements_MainMenu.h>
#include <AppElements_MainWindow.h>
#include <AppElements_MenuGroupPanel.h>
#include <AppElements_Button.h>
+#endif
#include <ModuleBase_IModule.h>
}
return;
}
- if (!workshop()->isSalomeMode()) {
+#ifndef HAVE_SALOME
SessionPtr aMgr = ModelAPI_Session::get();
AppElements_MainWindow* aMainWindow = workshop()->mainWindow();
if (aMgr->isModified() != aMainWindow->isModifiedState())
aMainWindow->setModifiedState(aMgr->isModified());
- }
+#endif
}
//******************************************************
}
}
- if (aWorkshop->isSalomeMode()) {
- XGUI_SalomeConnector* aSalomeConnector = aWorkshop->salomeConnector();
- QAction* aAction;
- if (isColumnButton) {
- aAction = aSalomeConnector->addFeatureOfNested(aWchName, aFeatureInfo, aNestedActList);
- } else {
- //Issue #650: in the SALOME mode the tooltip should be same as text
- aFeatureInfo.toolTip = aFeatureInfo.text;
- aAction = aSalomeConnector->addFeature(aWchName, aFeatureInfo);
- }
- aSalomeConnector->setNestedActions(aFeatureInfo.id, aNestedFeatures);
- aSalomeConnector->setDocumentKind(aFeatureInfo.id, aDocKind);
-
- aWorkshop->actionsMgr()->addCommand(aAction);
- aWorkshop->module()->actionCreated(aAction);
+#ifdef HAVE_SALOME
+ XGUI_SalomeConnector* aSalomeConnector = aWorkshop->salomeConnector();
+ QAction* aAction;
+ if (isColumnButton) {
+ aAction = aSalomeConnector->addFeatureOfNested(aWchName, aFeatureInfo, aNestedActList);
} else {
- //Find or create Workbench
- AppElements_MainMenu* aMenuBar = aWorkshop->mainWindow()->menuObject();
- AppElements_Workbench* aPage = aMenuBar->findWorkbench(aWchName);
- if (!aPage) {
- aPage = aWorkshop->addWorkbench(aWchName);
- }
- //Find or create Group
- QString aGroupName = QString::fromStdString(theMessage->groupId());
- AppElements_MenuGroupPanel* aGroup = aPage->findGroup(aGroupName);
- if (!aGroup) {
- aGroup = aPage->addGroup(aGroupName);
- }
- // Check if hotkey sequence is already defined:
- XGUI_ActionsMgr* anActionsMgr = aWorkshop->actionsMgr();
- QKeySequence aHotKey = anActionsMgr->registerShortcut(aFeatureInfo.shortcut);
- if(aHotKey != aFeatureInfo.shortcut) {
- aFeatureInfo.shortcut = aHotKey;
- }
- // Create feature...
- AppElements_Command* aCommand = aGroup->addFeature(aFeatureInfo,
- aDocKind,
- aNestedFeatures);
- // Enrich created button with accept/abort buttons if necessary
- AppElements_Button* aButton = aCommand->button();
- if (aButton->isColumnButton()) {
- aButton->setAdditionalButtons(aNestedActList);
- }
- aWorkshop->actionsMgr()->addCommand(aCommand);
- aWorkshop->module()->actionCreated(aCommand);
+ //Issue #650: in the SALOME mode the tooltip should be same as text
+ aFeatureInfo.toolTip = aFeatureInfo.text;
+ aAction = aSalomeConnector->addFeature(aWchName, aFeatureInfo);
}
+ aSalomeConnector->setNestedActions(aFeatureInfo.id, aNestedFeatures);
+ aSalomeConnector->setDocumentKind(aFeatureInfo.id, aDocKind);
+
+ aWorkshop->actionsMgr()->addCommand(aAction);
+ aWorkshop->module()->actionCreated(aAction);
+#else
+ //Find or create Workbench
+ AppElements_MainMenu* aMenuBar = aWorkshop->mainWindow()->menuObject();
+ AppElements_Workbench* aPage = aMenuBar->findWorkbench(aWchName);
+ if (!aPage) {
+ aPage = aWorkshop->addWorkbench(aWchName);
+ }
+ //Find or create Group
+ QString aGroupName = QString::fromStdString(theMessage->groupId());
+ AppElements_MenuGroupPanel* aGroup = aPage->findGroup(aGroupName);
+ if (!aGroup) {
+ aGroup = aPage->addGroup(aGroupName);
+ }
+ // Check if hotkey sequence is already defined:
+ XGUI_ActionsMgr* anActionsMgr = aWorkshop->actionsMgr();
+ QKeySequence aHotKey = anActionsMgr->registerShortcut(aFeatureInfo.shortcut);
+ if(aHotKey != aFeatureInfo.shortcut) {
+ aFeatureInfo.shortcut = aHotKey;
+ }
+ // Create feature...
+ AppElements_Command* aCommand = aGroup->addFeature(aFeatureInfo,
+ aDocKind,
+ aNestedFeatures);
+ // Enrich created button with accept/abort buttons if necessary
+ AppElements_Button* aButton = aCommand->button();
+ if (aButton->isColumnButton()) {
+ aButton->setAdditionalButtons(aNestedActList);
+ }
+ aWorkshop->actionsMgr()->addCommand(aCommand);
+ aWorkshop->module()->actionCreated(aCommand);
+#endif
}