![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: vrfObjectAttach.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00014 00015 #pragma once 00016 00017 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00018 #include <vrvCoreQt/DtAttachWidgetInterface.h> 00019 #include <vrvCoreQt/DtToolbar.h> 00020 #include <vrvCoreQt/DtWidgetBuilder.h> 00021 #include <vrvCoreQt/DtAttachWidgetLogic.h> 00022 #include <QtGui/QWidget> 00023 #include <vrvUtil/DtUnicode.h> 00024 00025 class QHBoxLayout; 00026 class QPushButton; 00027 class QAction; 00028 class QActionGroup; 00029 class QComboBox; 00030 00031 namespace makVrv 00032 { 00033 class DtDe; 00034 } 00035 00036 namespace makVrf 00037 { 00038 class DtVrfAttachWidgetLogic; 00039 00043 class DT_DLL_VRFGUICOREQT DtVrfAttachObjectToolbar : public makVrv::DtToolbar 00044 { 00045 public: 00046 00048 DtVrfAttachObjectToolbar(makVrv::DtDe&); 00049 00051 virtual ~DtVrfAttachObjectToolbar(); 00052 00054 virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent); 00055 00056 }; 00057 00059 class DT_DLL_VRFGUICOREQT DtVrfAttachWidgetInterface : public makVrv::DtAttachWidgetInterface 00060 { 00061 public: 00062 virtual ~DtVrfAttachWidgetInterface(); 00063 00064 virtual void setAttached(bool) = 0; 00065 00066 protected: 00068 virtual void setHideAttachedModel( bool trueFalse ) {}; 00069 virtual void setAttachedObjects( const std::vector<makVrv::DtUnicode>& ) {}; 00070 virtual void enableDetach( bool enabled ) {}; 00071 00072 virtual void setShowMoreInformation( bool enabled ) {}; 00073 00075 virtual void setHideAttachedModelEnabled( bool enabled ) {}; 00076 00078 virtual void setAttachableParts( const std::vector<makVrv::DtUnicode>& parts) {}; 00079 00081 virtual void setAttachedPart(const makVrv::DtUnicode& partName) {}; 00082 00084 virtual void setAttachModeEnabled(int, bool) {}; 00085 00087 virtual void setMoreInformationShown(bool) {}; 00088 00090 virtual void addAttachFilter( const makVrv::DtUnicode& filterName, 00091 int filterType ) {}; 00092 00094 virtual void setCurrentAttachFilter( int filterType ) {}; 00095 }; 00096 00099 class DT_DLL_VRFGUICOREQT DtVrfAttachObjectWidget : public QWidget, public DtVrfAttachWidgetInterface 00100 { 00101 Q_OBJECT 00102 00103 public: 00105 DtVrfAttachObjectWidget( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0); 00106 00108 virtual ~DtVrfAttachObjectWidget(); 00109 00110 protected: 00112 virtual void setupUi(); 00113 00114 virtual void setAttached(bool); 00115 00117 virtual void setAttachNextEnabled( bool enabled ); 00118 00120 virtual void setAttachPreviousEnabled( bool enabled ); 00121 00123 virtual void setAttachSelectedEnabled( bool enabled ); 00124 00126 virtual void addAttachModes( const std::list<makVrv::DtUnicode>& modeNames, 00127 const std::list<int>& modeTypes ); 00128 00130 virtual void setCurrentAttachMode( int modeType ); 00131 00132 protected slots: 00134 virtual void attachSelected(); 00135 00137 virtual void attachPrevious(); 00138 00140 virtual void attachNext(); 00141 00143 virtual void onSelectAttachMode(int); 00144 00145 protected: 00146 makVrv::DtDe& myDe; 00147 00148 public: 00149 QHBoxLayout* myMainLayout; 00150 QPushButton* myAttachSelectedBtn; 00151 QPushButton* myAttachPreviousBtn; 00152 QPushButton* myAttachNextBtn; 00153 QComboBox* myAttachSelections; 00154 00155 protected: 00156 DtVrfAttachWidgetLogic* myLogic; 00157 }; 00158 00160 class DT_DLL_VRFGUICOREQT DtVrfAttachWidgetLogic : public makVrv::DtAttachWidgetLogic 00161 { 00162 public: 00163 DtVrfAttachWidgetLogic( makVrv::DtDe& de, DtVrfAttachWidgetInterface* iFace ); 00164 00165 virtual ~DtVrfAttachWidgetLogic(); 00166 00168 virtual void setAttachMode( int mode ); 00169 00171 virtual void detach(); 00172 00174 virtual void attachNext(); 00175 00177 virtual void attachPrevious(); 00178 00180 virtual void attachToSelected(); 00181 00182 protected: 00183 virtual void determineAttachState(); 00184 }; 00185 00186 class DT_DLL_VRFGUICOREQT DtVrfAttachObjectWidgetBuilder : public makVrv::DtWidgetBuilder 00187 { 00188 public: 00189 00190 DtVrfAttachObjectWidgetBuilder(); 00191 00192 virtual ~DtVrfAttachObjectWidgetBuilder(); 00193 00194 virtual QWidget* create( makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags); 00195 }; 00196 } 00197