VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtCircleObjectDefinitionDialog.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2012 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00009 
00010 #pragma once
00011 
00012 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00013 #include <vrfGuiCoreQt/createAndEditObjectDialogInterface.h>
00014 #include <vrfGuiCoreQt/autoHideDock.h>
00015 #include <vrfGuiCoreQt/DtCircleObjectDefinitionWidgetUi.hpp>
00016 #include <vrfGuiCoreQt/DtLocationEntryWidget.h>
00017 #include <vrvUtil/DtSignalConnectionManager.h>
00018 
00020 #include <vrvUtil/DtUnitConverterCollection.h>
00021 
00022 namespace makVrf
00023 {
00024    class DtVrfObjectManipulationHandlerBaseClass;
00025    class DtCircleObjectDefinitionDialog;      
00026 
00030    class DT_DLL_VRFGUICOREQT DtCircleObjectDefinitionDialogLogic 
00031    {
00032 
00033    public:
00034 
00036       DtCircleObjectDefinitionDialogLogic(makVrv::DtDe& de, DtCircleObjectDefinitionDialog* iface);
00037 
00039       ~DtCircleObjectDefinitionDialogLogic();
00040 
00042       virtual void createConnections();
00043 
00045       virtual void terminateConnections();
00046 
00048       virtual void processObjectCreation();
00049 
00051       virtual void processObjectUpdate();
00052 
00054       virtual void processDoneRequest();
00055 
00057       virtual void processCloseRequest();
00058 
00060       virtual void processHeadingChanged(double value);
00061 
00063       virtual void processXRadiusChanged(double value);
00064 
00066       virtual void processYRadiusChanged(double value);
00067 
00069       virtual void processReviewMouseClicks(bool flag);
00070 
00072       virtual void processNamePrefixEdited(const std::string& name);
00073 
00075       virtual void processPopulateDialogWithCurrentSelection();
00076 
00078       virtual void populateOverlays();
00079 
00081       virtual void populateForces();
00082 
00084       virtual void setForce(int);
00085 
00087       virtual void processLocationChanged();
00088 
00090       virtual void setupGui();
00091 
00093       virtual void populateDialogWithStmt(const DtCreateObjectCommand* cmd);
00094 
00095    protected:
00096 
00098       virtual void cancelDialog();
00099 
00101       virtual void closeDialog();
00102 
00104       virtual void updateValues();
00105 
00107       virtual void slot_onHandlerStopped(DtVrfObjectManipulationHandlerBaseClass* handler);
00108 
00110       virtual void slot_onPlacement(const DtVector& loc);
00111 
00113       virtual void slot_onLocationSet(const DtVector& loc);
00114 
00116       virtual void slot_onOverlayNameChanged(const std::string& name);
00117 
00119       virtual void slot_onForceChanged(int);
00120 
00122       virtual void slot_displayUnitChanged(makVrv::DtUnitConverterCollection::DisplayUnitType type, int unit, int oldUnit);
00123 
00126       virtual void slot_displayUnitDecimalsChanged(
00127          makVrv::DtUnitConverterCollection::DisplayUnitType, int, int);
00128 
00129       virtual void updateButtons();
00130 
00131    protected:
00132       makVrv::DtDe&                  myDe;
00133       DtCircleObjectDefinitionDialog* myInterface;
00134       makVrv::DtSignalConnectionManager myConnections;
00135       int                            myNameCounter;
00136    };
00137 
00138 
00142    class DT_DLL_VRFGUICOREQT DtCircleObjectDefinitionDialog : public DtAutoHideDock, public DtCreateAndEditObjectDialogInterface
00143    {
00144 
00145       Q_OBJECT
00146 
00147    public:
00148 
00150       DtCircleObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const std::string title="", DtDialogInteractionMode mode=DtCreationMode);
00151 
00153       virtual ~DtCircleObjectDefinitionDialog();
00154 
00156       void init(const DtEntityType&, const std::string& title, bool forPlan,
00157          DtCreateAndEditObjectDialogInterface::DtDialogInteractionMode, const DtVrfObjectManipulationManager::DtEditingType&);
00158 
00160       virtual void closeDialog();
00161 
00163       virtual QString getName();
00164 
00166       virtual double getHeading() const;
00167 
00169       virtual double getXRadius() const;
00170 
00172       virtual double getYRadius() const;
00173 
00175       virtual DtVector getLocation() const;
00176 
00178       virtual void setHeading(double heading);
00179 
00181       virtual void setXRadius(double);
00182 
00184       virtual void setYRadius(double);
00185 
00187       virtual void setLocation(const DtVector& pt);
00188 
00190       virtual void setName(const QString& name);         
00191 
00193       virtual void addOverlay(const QString& name);
00194 
00196       virtual void setOverlay(const QString& name);
00197 
00199       virtual void clearOverlays();
00200 
00202       virtual void setNameVisible(bool flag);
00203 
00205       virtual void setHeadingDecimalPlaces(int decimalPlaces);
00206 
00208       virtual void setDistanceDecimalPlaces(int);
00209 
00211       virtual void setDistanceUnits(const makVrv::DtUnicode&);
00212 
00214       virtual void setHeadingStep(double);
00215 
00217       virtual void setAllowOverlaySelection(bool flag);
00218 
00220       virtual void setTitle(const QString& title);
00221 
00223       virtual void setCreateButtonEnabled(bool flag);
00224 
00226       virtual void setHeadingEnabled(bool flag);
00227 
00229       virtual void setXRadiusEnabled(bool flag);
00230 
00232       virtual void setYRadiusEnabled(bool flag);
00233 
00235       virtual void setCreateButtonText(const QString& text);
00236 
00238       virtual void setCreateButtonVisible(bool flag);
00239 
00241       virtual void setYRadiusVisible(bool);
00242 
00244       virtual void setUpdateButtonEnabled(bool flag);
00245 
00247       virtual void setUpdateButtonText(const QString& text);
00248 
00250       virtual void setUpdateButtonVisible(bool flag);
00251 
00253       virtual void setCancelButtonEnabled(bool flag);
00254 
00256       virtual void setCancelButtonVisible(bool flag);
00257 
00259       virtual void setCancelButtonText( const QString& text );
00260 
00262       virtual DtDialogInteractionMode interactionMode();
00263 
00265       virtual void populate(const makVrv::DtUniqueID&);
00266 
00268       virtual void hideDialog();
00269 
00271       virtual void populate(const DtCreateObjectCommand* cmd);
00272 
00274       virtual bool blockSignals(bool);
00275 
00277       virtual void populateOverlays();
00278 
00280       virtual void populateForces();
00281 
00283       virtual void setForce(int);
00284 
00286       virtual void addForce(const QString&, int force);
00287 
00289       virtual void hideForces();
00290 
00292       virtual void showForces();
00293 
00295       virtual void clearForces();
00296 
00298       virtual void setReadOnly(bool);
00299 
00301       virtual void addExtension(QWidget*);
00302 
00304       virtual void removeExtension(QWidget*);
00305 
00307       virtual void showPropertiesDialog(bool);
00308 
00310       virtual void setAttachObjectToMouse(bool);
00311 
00312    protected:
00313 
00315       virtual void setupGui();
00316 
00318       virtual void setupConnections();
00319 
00321       virtual void closeEvent(QCloseEvent *event);
00322 
00324       virtual DtCircleObjectDefinitionDialogLogic* createLogic();
00325 
00326    protected slots:
00327 
00328       virtual void slot_attachObjectToMouseClicked(bool flag);
00329       virtual void slot_onCreateButtonClicked();         
00330       virtual void slot_onUpdateButtonClicked();
00331       virtual void slot_onDoneButtonClicked();
00332       virtual void slot_onNamePrefixEdited();         
00333       virtual void slot_onOverlaysComboCurrentIndexChanged(int index);
00334       virtual void slot_onForceComboCurrentIndexChanged(int index);
00335       virtual void slot_onHeadingChanged(double value);
00336       virtual void slot_onXRadiusChanged(const QString&);
00337       virtual void slot_onYRadiusChanged(const QString&);
00338       virtual void slot_closePressed();         
00339       virtual void slot_onLocationChanged();
00340 
00341    public:
00342 
00343       Ui_DtCircleObjectDefinitionWidgetUi myUiImpl;
00344 
00345    protected:
00346 
00347       DtLocationEntryWidget* myLocationWidget;         
00348       DtCircleObjectDefinitionDialogLogic*  myLogic;
00349       DtDialogInteractionMode myInteractionMode;
00350       QString                 myDefaultName;
00351       QWidget* myParent;
00352       bool mySettingGuiUp;
00353       bool myBlockSignals;
00354    };
00355 
00356    class DT_DLL_VRFGUICOREQT DtCircleObjectDefinitionDialogCreator : public DtVrfObjectModifierDialogCreator
00357    {
00358    public:
00359       virtual DtCreateAndEditObjectDialogInterface* create(makVrv::DtDe& de, QWidget* parent, 
00360          DtEntityType entityType, const std::string title="",  DtCreationSignalType signalCreate = DtNoCreationSignal,
00361          DtCreateAndEditObjectDialogInterface::DtDialogInteractionMode mode=DtCreateAndEditObjectDialogInterface::DtCreationMode, 
00362          const DtVrfObjectManipulationManager::DtEditingType& editType=DtVrfObjectManipulationManager::Context);
00363    };
00364 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)