Version: 6.3.1

src/VISUGUI/VisuGUI_ViewExtender.h

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 //  VISU VISUGUI : GUI of VISU component
00021 //  File   : VisuGUI_ViewExtender.h
00022 //  Author : Vitaly Smetannikov
00023 //  Module : VISU
00024 //
00025 #ifndef VisuGUI_ViewExtender_HeaderFile
00026 #define VisuGUI_ViewExtender_HeaderFile
00027 
00028 #include <CAM_ViewExtender.h>
00029 #include <SALOME_ListIO.hxx>
00030 #include <QObject>
00031 #include <QMap>
00032 
00033 class VisuGUI;
00034 //class QtxAction;
00035 //class QDialog;
00036 
00037 class VisuGUI_SegmentationMgr;
00038 class SVTK_Viewer;
00039 class SVTK_ViewWindow;
00040 class SUIT_ViewWindow;
00041 class VTKViewer_Actor;
00042 
00043 
00044 class VisuGUI_ViewExtender:  public QObject, public CAM_ViewExtender
00045 {
00046   Q_OBJECT
00047 
00048  public:
00049   VisuGUI_ViewExtender(VisuGUI* theModule);
00050 
00051   virtual ~VisuGUI_ViewExtender();
00052 
00053   virtual int createToolbar(SUIT_ViewWindow* theView);
00054   virtual void contextMenuPopup(QMenu* theMenu);
00055 
00056   virtual void activate(SUIT_ViewModel*);
00057   virtual void deactivate(SUIT_ViewModel*);
00058 
00059   VisuGUI_SegmentationMgr* getSegmentationMgr(SVTK_ViewWindow* theWindow);
00060  
00061 
00062 private slots:
00063   //  void onPlanesMgr();
00064   // void onDialogDestroy(); 
00065   // void onShowPlanes(bool);
00066   // void onDeactivatePlanes(bool);
00067  void onViewDeleted(SUIT_ViewWindow* theWindow);
00068  void onAddActor(SVTK_ViewWindow* theWindow, VTKViewer_Actor* theActor);
00069 
00070  private:
00071 
00072  //enum { ClippingPlaneMgrId, ShowClippingPlanesId, DeactivateClippingPlanesId };
00073 
00074  //QMap<int, QtxAction*> myActionsMap;
00075   VisuGUI* myModule;
00076 
00077   //QDialog* myNonModalDlg;
00078 
00079   //VisuGUI_SegmentationMgr* mySegmentationMgr;
00080   QMap<SVTK_ViewWindow*, VisuGUI_SegmentationMgr*> myViewMgrMap;
00081 
00082   QList<SVTK_Viewer*> myViewers;
00083 
00084   //SALOME_ListIO myListIO;
00085   
00086 };
00087 
00088 
00089 #endif
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS