![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 * Copyright (c) 2011 MAK Technologies, Inc. 00003 * All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 * $RCSfile: DtContextMenuManager.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCoreQt/vrvCoreQt.h> 00016 00017 #include <vrvUtil/DtVirtualBaseClass.h> 00018 00019 #include <QtCore/QRect> 00020 00021 class QMenu; 00022 00023 namespace makVrv 00024 { 00025 00026 class DtDe; 00027 00030 class DT_DLL_VRVCOREQT DtContextMenuManager : public DtVirtualBaseClass 00031 { 00032 friend class DtContextMenuManagerCreator; 00033 public: 00034 00036 static DtContextMenuManager& instance( DtDe& de ); 00037 00039 virtual ~DtContextMenuManager(); 00040 00044 virtual void requestSelectionContextMenu( const QPoint& where ); 00045 00049 virtual void requestTerrainContextMenu( const QPoint& where ); 00050 00051 protected: 00052 00054 DtContextMenuManager( DtDe& de ); 00055 00059 virtual void positionPopupMenu( QMenu* menu, const QPoint& where ); 00060 00063 virtual QRect getScreenGeometry( int screen ) const; 00064 00065 protected: 00066 00067 DtDe& myDe; 00068 00069 }; 00070 00071 00074 class DT_DLL_VRVCOREQT DtContextMenuManagerCreator : public DtVirtualBaseClass 00075 { 00076 friend class DtDe; 00077 public: 00079 virtual ~DtContextMenuManagerCreator(); 00080 00082 static DtContextMenuManagerCreator& instance(DtDe& de); 00083 00084 static void registerInstance( DtDe& de, DtContextMenuManagerCreator* creator ); 00085 00087 virtual DtContextMenuManager* create( DtDe& de ); 00088 00089 }; 00090 00091 }