X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSalomeApp%2FSalomeApp_Application.h;h=e58dd883b77226269959af85e3815a7024fb1852;hb=e1ce73d5be167bde706ee8af330ceb3fc952a2e4;hp=d64b1e4c87d59ca072f80a7dc68f80b6e3746c81;hpb=ee2a935cbc626294e620f467a24bbc6c21d1b1c7;p=modules%2Fgui.git diff --git a/src/SalomeApp/SalomeApp_Application.h b/src/SalomeApp/SalomeApp_Application.h index d64b1e4c8..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 @@ -70,7 +72,6 @@ public: enum { MenuToolsId = 5 }; enum { DumpStudyId = LightApp_Application::UserID, LoadScriptId, PropertiesId, CatalogGenId, RegDisplayId, SaveGUIStateId, ConnectId, DisconnectId, - SimanCheckInId, SimanLocalCheckInId, UserID }; typedef enum { WT_NoteBook = LightApp_Application::WT_User, @@ -83,24 +84,22 @@ 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& ); virtual bool checkDataObject(LightApp_DataObject* theObj); - + 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&); @@ -118,13 +117,17 @@ public: virtual bool renameAllowed( const QString& ) const; 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(); @@ -137,16 +140,15 @@ public slots: const QString& theStudyName, bool theIsStudySaved ); - virtual void onCheckIn(); - virtual void onLocalCheckIn(); - virtual void onDockWindowVisibilityChanged( bool ); protected slots: void onStudyCreated( SUIT_Study* ); void onStudyOpened( SUIT_Study* ); void onDesktopMessage( const QString& ); - + + virtual void onModuleActivation( const QString& ); + protected: virtual void createActions(); virtual SUIT_Study* createNewStudy(); @@ -173,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* ); @@ -192,21 +197,28 @@ private slots: private: void createExtraActions(); + void ensureShaperIsActivated(); + + QString getScriptFileName(); + void execScript(bool isNewDoc); private: #ifndef DISABLE_PYCONSOLE QPointer myNoteBook; // Notebook instance #endif QMap myExtActions; // Map - bool myIsSiman; // application corresponds to the siman study flag bool myIsCloseFromExit; // "Close from Exit" flag + bool myToIgnoreMessages;// to ignore messages from SALOMEDS + signals: - void dumpedStudyClosed( const QString& theDumpScript, - const QString& theStudyName, + 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