-// 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
#include <QPointer>
+#include <memory>
+
class LightApp_Preferences;
class SalomeApp_Study;
#ifndef DISABLE_PYCONSOLE
\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
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,
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&);
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();
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();
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* );
private:
void createExtraActions();
+ void ensureShaperIsActivated();
+
+ QString getScriptFileName();
+ void execScript(bool isNewDoc);
private:
#ifndef DISABLE_PYCONSOLE
QPointer<SalomeApp_NoteBook> myNoteBook; // Notebook instance
#endif
QMap<QString, QAction*> myExtActions; // Map <AttributeUserID, QAction>
- 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<SALOME_NamingService_Abstract> _ns;
};
#ifdef WIN32