![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtObserverViewsWidget.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 #include <vrvCoreQt/DtPage.h> 00016 #include <vrvCoreQt/DtObserverViewsWidgetInterface.h> 00017 #include <vrvCore/DtObserver.h> 00018 00019 class QTreeWidget; 00020 class QVBoxLayout; 00021 class QHBoxLayout; 00022 class QPushButton; 00023 00024 namespace makVrv 00025 { 00026 class DtObserverViewsWidgetLogic; 00027 00031 class DT_DLL_VRVCOREQT DtObserverViewsWidget 00032 : public DtPage 00033 , public DtObserverViewsWidgetInterface 00034 { 00035 Q_OBJECT 00036 00037 public: 00038 00040 virtual ~DtObserverViewsWidget(); 00041 00043 virtual QIcon icon(); 00044 00046 virtual QString title(); 00047 00049 virtual const std::string& pageClassName() const; 00050 00052 virtual std::string currentObserverView() const; 00053 00054 protected: 00056 friend class DtObserverViewsWidgetCreator; 00057 00059 DtObserverViewsWidget(DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0); 00060 00062 virtual void activate(); 00063 00065 virtual void deactivate(); 00066 00068 void setupUi(QWidget* p); 00069 00072 virtual void setViewStatesEnabled(bool); 00073 00075 virtual void addObserverView(const std::string&); 00076 00078 virtual void clearObserverViews(); 00079 00081 virtual void deleteView(const std::string&); 00082 00084 virtual void renameObserverRecord(const std::string& newName, 00085 const std::string& oldName); 00086 00087 protected slots: 00088 00090 virtual void onAddObserverView(); 00091 00094 virtual void onSetObserverView(); 00095 00097 virtual void onClearObserverViews(); 00098 00101 virtual void onSaveViews(); 00102 00105 virtual void onSaveSelectedView(); 00106 00108 virtual void onDeleteSelectedView(); 00109 00112 virtual void onLoadViews(); 00113 00118 virtual void onLoadViewsAndMakeCurrent(); 00119 00123 virtual void observerViewNameChanged(); 00124 00125 protected: 00126 00127 std::string myClassName; 00128 DtObserverViewsWidgetLogic* myLogic; 00129 00130 public: 00131 QVBoxLayout* myMainLayout; 00132 QHBoxLayout* myButtonLayout; 00133 QTreeWidget* myObserverViews; 00134 QPushButton* myAddView; 00135 QPushButton* myDeleteView; 00136 QPushButton* mySaveViews; 00137 QPushButton* mySaveSingle; 00138 QPushButton* myLoadViews; 00139 QPushButton* myLoadAndMakeViewsCurrent; 00140 QPushButton* myClearViews; 00141 00142 }; 00143 00146 class DT_DLL_VRVCOREQT DtObserverViewsWidgetCreator : public DtPageCreator 00147 { 00148 public: 00149 00151 DtObserverViewsWidgetCreator(DtDe& de); 00152 00154 virtual ~DtObserverViewsWidgetCreator(); 00155 00159 virtual std::string pageClassName() const; 00160 00162 virtual DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0); 00163 }; 00164 } 00165