X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSalomeApp%2FSalomeApp_Application.h;h=e58dd883b77226269959af85e3815a7024fb1852;hb=e1ce73d5be167bde706ee8af330ceb3fc952a2e4;hp=97d2e5b62cceb2ffe7b78ab48da0828f2ceba62a;hpb=2400f3659b65727d5a776dccd3d5dd506d755a88;p=modules%2Fgui.git diff --git a/src/SalomeApp/SalomeApp_Application.h b/src/SalomeApp/SalomeApp_Application.h index 97d2e5b62..e58dd883b 100644 --- a/src/SalomeApp/SalomeApp_Application.h +++ b/src/SalomeApp/SalomeApp_Application.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -44,6 +44,8 @@ #include +#include + class LightApp_Preferences; class SalomeApp_Study; #ifndef DISABLE_PYCONSOLE @@ -62,7 +64,7 @@ class SALOME_LifeCycleCORBA; \brief Application containing SalomeApp module or LightApp module */ -class SALOMEAPP_EXPORT SalomeApp_Application : public LightApp_Application +class SALOMEAPPIMPL_EXPORT SalomeApp_Application : public LightApp_Application { Q_OBJECT @@ -82,13 +84,11 @@ protected: enum { LoadStudyId = LightApp_Application::OpenStudyId + 1, NewAndScriptId }; public: - SalomeApp_Application(); + SalomeApp_Application(SALOME_NamingService_Abstract *ns = nullptr); virtual ~SalomeApp_Application(); virtual void updateObjectBrowser( const bool = true ); - virtual QString getFileFilter() const; - virtual void start(); virtual void contextMenuPopup( const QString&, QMenu*, QString& ); @@ -98,8 +98,8 @@ public: virtual bool checkExistingDoc(); static CORBA::ORB_var orb(); - static SALOMEDSClient_StudyManager* studyMgr(); - static SALOME_NamingService* namingService(); + static _PTR(Study) getStudy(); + static SALOME_NamingService_Abstract* namingService(); static SALOME_LifeCycleCORBA* lcc(); SUIT_ViewManager* newViewManager(const QString&); @@ -119,11 +119,15 @@ public: virtual bool renameObject( const QString&, const QString& ); public slots: + virtual void onNewDoc(); virtual void onLoadDoc(); virtual void onNewWithScript(); virtual bool onLoadDoc( const QString& ); virtual void onUnloadDoc( bool ask = true); virtual void onCloseDoc( bool ask = true); + virtual void onOpenDoc(); + virtual bool onOpenDoc( const QString& ); + virtual bool onReopenDoc(); virtual void onExit(); virtual void onCopy(); @@ -143,6 +147,8 @@ protected slots: void onStudyOpened( SUIT_Study* ); void onDesktopMessage( const QString& ); + virtual void onModuleActivation( const QString& ); + protected: virtual void createActions(); virtual SUIT_Study* createNewStudy(); @@ -169,8 +175,11 @@ protected: virtual PyConsole_Interp* createPyInterp(); #endif + virtual bool canOpenDoc( const QString& ); virtual void afterCloseDoc(); + virtual void addCatalogue( const QString&, const QString& ); + private slots: void onDeleteInvalidReferences(); void onDblClick( SUIT_DataObject* ); @@ -188,6 +197,10 @@ private slots: private: void createExtraActions(); + void ensureShaperIsActivated(); + + QString getScriptFileName(); + void execScript(bool isNewDoc); private: #ifndef DISABLE_PYCONSOLE @@ -196,12 +209,16 @@ private: QMap myExtActions; // Map bool myIsCloseFromExit; // "Close from Exit" flag + bool myToIgnoreMessages;// to ignore messages from SALOMEDS + signals: void dumpedStudyClosed( const QString& theDumpScript, const QString& theStudyName, bool theIsStudySaved ); void notebookVarUpdated( QString theVarName ); - + void objectDoubleClicked( SUIT_DataObject* ); +protected: + static std::unique_ptr _ns; }; #ifdef WIN32