Salome HOME
[bos #40644][CEA](2024-T1) Feature search.
[modules/gui.git] / src / SalomeApp / SalomeApp_Application.h
index 5f4da65f06bd9b21f1a77be96a8107dc6b64948d..5a78e279ee3f6951017cf42827bf596cd388d455 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2020  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  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 <QPointer>
 
+#include <memory>
+
 class LightApp_Preferences;
 class SalomeApp_Study;
 #ifndef DISABLE_PYCONSOLE
@@ -62,14 +64,14 @@ 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
 
 public:
   enum { MenuToolsId = 5 };
   enum { DumpStudyId = LightApp_Application::UserID, LoadScriptId, PropertiesId,
-         CatalogGenId, RegDisplayId, SaveGUIStateId, ConnectId, DisconnectId,
+         CatalogGenId, RegDisplayId, FindActionId, SaveGUIStateId, ConnectId, DisconnectId,
          UserID };
 
   typedef enum { WT_NoteBook = LightApp_Application::WT_User,
@@ -82,7 +84,7 @@ 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 );
@@ -97,7 +99,7 @@ public:
 
   static CORBA::ORB_var               orb();
   static _PTR(Study)                  getStudy();
-  static SALOME_NamingService*        namingService();
+  static SALOME_NamingService_Abstract* namingService();
   static SALOME_LifeCycleCORBA*       lcc();
 
   SUIT_ViewManager*                   newViewManager(const QString&);
@@ -176,6 +178,8 @@ protected:
   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 +192,7 @@ private slots:
 
   void                                onCatalogGen();
   void                                onRegDisplay();
+  void                                onFindAction();
   void                                onOpenWith();
   void                                onExtAction();
 
@@ -210,6 +215,8 @@ signals:
                                                          bool theIsStudySaved );
   void                                notebookVarUpdated( QString theVarName );
   void                                objectDoubleClicked( SUIT_DataObject* );
+protected:
+  static std::unique_ptr<SALOME_NamingService_Abstract> _ns;
 };
 
 #ifdef WIN32