X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOMBase%2FGEOMBase_Helper.h;h=a49a4dd6b9fd53eda0b41af4bf6aa2e3addc854e;hb=bbafce4b04731f9219f75dc124ec2429d994c202;hp=ab5249e1ea36ee2110301c57e796571bf3e37910;hpb=5b3622aa2363853841fd5b4205c78a715bfee4a4;p=modules%2Fgeom.git diff --git a/src/GEOMBase/GEOMBase_Helper.h b/src/GEOMBase/GEOMBase_Helper.h old mode 100755 new mode 100644 index ab5249e1e..a49a4dd6b --- a/src/GEOMBase/GEOMBase_Helper.h +++ b/src/GEOMBase/GEOMBase_Helper.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 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 @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -35,10 +35,13 @@ #include #include CORBA_CLIENT_HEADER(GEOM_Gen) +#include + #include #include #include +#include typedef std::list ObjectList; @@ -47,7 +50,6 @@ class SUIT_Desktop; class SUIT_ViewWindow; class SALOME_Prs; class GEOM_Operation; -class TColStd_MapOfInteger; //================================================================ // Class : GEOMBase_Helper @@ -59,10 +61,13 @@ class TColStd_MapOfInteger; class GEOMBASE_EXPORT GEOMBase_Helper { public: - GEOMBase_Helper( SUIT_Desktop* ); + GEOMBase_Helper( SUIT_Desktop*, SUIT_ViewWindow* aVW = 0); virtual ~GEOMBase_Helper(); + static SUIT_ViewWindow* getActiveView(); protected: + typedef std::list PrsList; + static GEOM::GEOM_Gen_ptr getGeomEngine(); void display ( const ObjectList&, const bool = true ); @@ -78,7 +83,8 @@ protected: const bool toRemoveFromEngine = true, const double lineWidth = -1, const int displayMode = -1, - const int color = -1 ); + const int color = -1, + const bool append = false ); // This is the easiest way to show preview. It is based on execute() method. // It removes temporary GEOM::GEOM_Objects automatically. @@ -94,8 +100,15 @@ protected: const bool = true ); void erasePreview ( const bool = true ); + const PrsList& getPreview() const { return myPreview; } + + void localSelection( const ObjectList&, const std::list ); void localSelection( const ObjectList&, const int ); + void localSelection( GEOM::GEOM_Object_ptr, const std::list ); void localSelection( GEOM::GEOM_Object_ptr, const int ); + void localSelection( const std::string&, const std::string&, const std::list ); + void localSelection( const std::list ); + void localSelection( const int ); void activate( const int ); void globalSelection( const int = GEOM_ALLOBJECTS, const bool = false ); void globalSelection( const TColStd_MapOfInteger&, const bool = false ); @@ -113,7 +126,6 @@ protected: bool hasCommand () const; void updateObjBrowser() const; - int getStudyId () const; SalomeApp_Study* getStudy () const; bool checkViewWindow (); @@ -123,7 +135,7 @@ protected: // should be published in a study. void showError(); - // Shows a message box with infromation about an error taken from getOperation()->GetErrorCode() + // Shows a message box with information about an error taken from getOperation()->GetErrorCode() void showError( const QString& msg ); // Shows a error message followed by @@ -155,7 +167,7 @@ protected: // It should perform the required operation and put all new or modified objects into // argument.Should return if some error occurs during its execution. - virtual void restoreSubShapes( SALOMEDS::Study_ptr theStudy, SALOMEDS::SObject_ptr theSObject ); + virtual void restoreSubShapes( SALOMEDS::SObject_ptr theSObject ); // This method is called by addInStudy(). virtual GEOM::GEOM_Object_ptr getFather( GEOM::GEOM_Object_ptr theObj ); @@ -164,8 +176,10 @@ protected: // as a top-level object. virtual QString getNewObjectName (int CurrObj = -1) const; + virtual QString getObjectName(GEOM::GEOM_Object_ptr object) const; virtual bool extractPrefix() const; virtual void addSubshapesToStudy(); + virtual QList getSourceObjects(); GEOM::GEOM_Object_ptr findObjectInFather( GEOM::GEOM_Object_ptr theFather, const QString& theName ); GEOM::GEOM_Object_ptr findObjectInFather( GEOM::GEOM_Object_ptr theFather, int theIndex ); @@ -176,6 +190,7 @@ protected: QList getSelected( TopAbs_ShapeEnum type, int count, bool strict = true ); QList getSelected( const QList& types, int count, bool strict = true ); + void hideSourceObjects( QList theObjectList ); void SetIsPreview(const bool thePreview) {isPreview = thePreview;} bool IsPreview() {return isPreview;} @@ -200,7 +215,6 @@ private: void clearShapeBuffer( GEOM::GEOM_Object_ptr ); private: - typedef std::list PrsList; PrsList myPreview; GEOM_Displayer* myDisplayer;