![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtCreateAndEditObjectDialogInterface.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00012 00013 #pragma once 00014 00015 #include <vrvUtil/signalslib.h> 00016 #include <vrvCore/DtUniqueID.h> 00017 00018 #include <vrfExtProtocol/objType.h> 00019 00020 #include <vrfGuiCore/DtVrfObjectManipulationManager.h> 00021 00022 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00023 #include <matrix/vlVector.h> 00024 #include <QtCore/QString> 00025 #include "vlpi/entityType.h" 00026 00027 class DtCreateObjectCommand; 00028 class QWidget; 00029 00030 namespace makVrf 00031 { 00032 class DT_DLL_VRFGUICOREQT DtCreateAndEditObjectDialogInterface 00033 { 00034 00035 public: 00036 00037 enum DtDialogInteractionMode { 00038 DtCreationMode = 0, 00039 DtEditingMode 00040 }; 00041 00042 public: 00043 00044 //DTOR 00045 virtual ~DtCreateAndEditObjectDialogInterface() {}; 00046 00048 virtual QString getName() = 0; 00049 00051 virtual void setName(const QString& name) = 0; 00052 00054 virtual void setNameVisible(bool flag) = 0; 00055 00057 virtual void setTitle(const QString& title) = 0; 00058 00060 virtual void setAllowOverlaySelection(bool flag) = 0; 00061 00063 virtual void hideDialog() = 0; 00064 00066 virtual void closeDialog() = 0; 00067 00069 virtual void populate(const makVrv::DtUniqueID&) = 0; 00070 00072 virtual void populate(const DtCreateObjectCommand* cmd) = 0; 00073 00075 virtual bool blockSignals(bool) = 0; 00076 00078 virtual void setForce(int) = 0; 00079 00081 boost::signal<void ()> signal_dialogClosing; 00082 00084 boost::signal<void ()> signal_dialogUpdated; 00085 00087 boost::signal<void (const std::string&)> signal_nameChanged; 00088 00091 boost::signal<void (bool)> signal_reviewMouseClicks; 00092 00094 boost::signal<void (const DtVector&)> signal_locationAdded; 00095 00097 boost::signal<void (const DtVector&)> signal_locationSet; 00098 00100 boost::signal<void (const std::string&)> signal_overlayNameChanged; 00101 00103 boost::signal<void (int)> signal_forceChanged; 00104 00105 protected: 00106 00108 virtual void setupGui() = 0; 00109 00110 }; 00111 00112 class DT_DLL_VRFGUICOREQT DtVrfObjectModifierDialogCreator 00113 { 00114 public: 00115 virtual DtCreateAndEditObjectDialogInterface* create(makVrv::DtDe& de, QWidget* parent, 00116 DtEntityType entityType, const std::string title="", DtCreationSignalType signalCreate = DtNoCreationSignal, 00117 DtCreateAndEditObjectDialogInterface::DtDialogInteractionMode mode=DtCreateAndEditObjectDialogInterface::DtCreationMode, 00118 const DtVrfObjectManipulationManager::DtEditingType& editType=DtVrfObjectManipulationManager::Context) =0; 00119 00120 }; 00121 }