VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/pointObjectDefinitionDialog.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2011 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/pointObjectDefinitionWidgetUi.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 DtPointObjectDefinitionDialog;      
00026 
00030    class DT_DLL_VRFGUICOREQT DtPointObjectDefinitionDialogLogic 
00031    {
00032 
00033    public:
00034 
00036       DtPointObjectDefinitionDialogLogic(makVrv::DtDe& de, DtPointObjectDefinitionDialog* iface);
00037 
00039       virtual ~DtPointObjectDefinitionDialogLogic();
00040 
00042       virtual void createConnections();
00043 
00045       virtual void terminateConnections();
00046 
00048       virtual void processObjectCreation();
00049 
00051       virtual void processAltitudeSelectionTypeChanged(const DtAltitudeClampType&);
00052 
00054       virtual void processObjectUpdate();
00055 
00057       virtual void processDoneRequest();
00058 
00060       virtual void processCloseRequest();
00061 
00063       virtual void processHeadingChanged(double value);
00064 
00066       virtual void processReviewMouseClicks(bool flag);
00067 
00069       virtual void processNamePrefixEdited(const std::string& name);
00070 
00072       virtual void processPopulateDialogWithCurrentSelection();
00073 
00075       virtual void populateOverlays();
00076 
00078       virtual void populateForces();
00079 
00081       virtual void setForce(int);
00082 
00084       virtual void processLocationChanged();
00085 
00087       virtual void processAltitudeAboveSeaLevelEdited(double);
00088 
00090       virtual void processAltitudeAboveGroundLevelEdited(double);
00091 
00093       virtual void processClampSelectionChanged(double);
00094 
00096       virtual void setupGui();
00097 
00099       virtual void populateDialogWithStmt(const DtCreateObjectCommand* cmd);
00100 
00101       virtual void forceHandlerUpdate(const DtVector& location);
00102 
00103    protected:
00104 
00106       virtual void cancelDialog();
00107 
00109       virtual void closeDialog();
00110 
00112       virtual void slot_onMouseLocationChanged(const DtVector& loc);
00113 
00115       virtual void slot_onMouseHeadingChanged(double heading);
00116 
00118       virtual void slot_onMouseAltitudeChanged(double heading);
00119 
00121       virtual void slot_onHandlerStopped(DtVrfObjectManipulationHandlerBaseClass* handler);
00122 
00124       virtual void slot_onPlacement(const DtVector& loc);
00125 
00127       virtual void slot_onLocationSet(const DtVector& loc);
00128 
00130       virtual void slot_onOverlayNameChanged(const std::string& name);
00131 
00133       virtual void slot_onForceChanged(int);
00134 
00136       virtual void slot_onStateViewUpdated();
00137 
00139       virtual void slot_displayUnitChanged(makVrv::DtUnitConverterCollection::DisplayUnitType type, int unit, int oldUnit);
00140 
00142       virtual void slot_overlayAdded(const std::string&);
00143 
00145       virtual void slot_overlayRemoved(const std::string&);
00146 
00148       virtual void slot_overlayRenamed(const std::string&, const std::string&);
00149 
00152       virtual void slot_displayUnitDecimalsChanged(
00153          makVrv::DtUnitConverterCollection::DisplayUnitType, int, int);
00154 
00155    protected:
00156 
00157       makVrv::DtDe&                  myDe;
00158       DtPointObjectDefinitionDialog* myInterface;
00159       int                            myNameCounter;
00160       makVrv::DtSignalConnectionManager   myConnectionManager;
00161    };
00162 
00163 
00167    class DT_DLL_VRFGUICOREQT DtPointObjectDefinitionDialog : public DtAutoHideDock, public DtCreateAndEditObjectDialogInterface
00168    {
00169 
00170       Q_OBJECT
00171 
00172    public:
00173 
00175       DtPointObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const std::string title="", DtDialogInteractionMode mode=DtCreationMode);
00176 
00178       virtual ~DtPointObjectDefinitionDialog();
00179 
00181       void init();
00182 
00184       virtual void closeDialog();
00185 
00187       virtual QString getName();
00188 
00190       virtual double getHeading();
00191 
00193       virtual DtVector getLocation();
00194 
00196       virtual double getAltitudeAboveSeaLevel() const;
00197 
00199       virtual double getAltitudeAboveGroundLevel() const;
00200 
00202       virtual void setHeading(double heading);
00203 
00205       virtual void setAltitudeAboveTerrain(double altitude);
00206 
00208       virtual void setAltitudeAboveSeaLevel( double altitude );
00209 
00211       virtual void setLocation(const DtVector& pt, bool resetAltitude=true);
00212 
00214       virtual void setName(const QString& name);         
00215 
00217       virtual void addOverlay(const QString& name);
00218 
00220       virtual void removeOverlay(const QString& name);
00221 
00223       virtual void renameOverlay(const QString& oldName, const QString& newName);
00224 
00226       virtual void setOverlay(const QString& name);
00227 
00229       virtual void clearOverlays();
00230 
00232       virtual void setNameVisible(bool flag);
00233 
00235       virtual void setHeadingVisible(bool flag);
00236 
00239       virtual void setHeadingDecimalPlaces(int decimalPlaces);
00240 
00242       virtual void setHeadingStep(double);
00243 
00245       virtual void setAllowOverlaySelection(bool flag);
00246 
00248       virtual void setTitle(const QString& title);
00249 
00251       virtual void setCreateButtonEnabled(bool flag);
00252 
00254       virtual void setCreateButtonText(const QString& text);
00255 
00257       virtual void setCreateButtonVisible(bool flag);
00258 
00260       virtual void setUpdateButtonEnabled(bool flag);
00261 
00263       virtual void setUpdateButtonText(const QString& text);
00264 
00266       virtual void setUpdateButtonVisible(bool flag);
00267 
00269       virtual void setCancelButtonEnabled(bool flag);
00270 
00272       virtual void setCancelButtonVisible(bool flag);
00273 
00275       virtual void setCancelButtonText( const QString& text );
00276 
00278       virtual void setAttachObjectToMouseVisible(bool flag);
00279 
00281       virtual void setAttachObjectToMouseChecked(bool flag);
00282 
00284       virtual bool attachObjectToMouseEnabled();
00285 
00287       virtual void setAttachObjectToMouseEnabled( bool flag );
00288 
00290       virtual DtDialogInteractionMode interactionMode();
00291 
00293       virtual void populate(const makVrv::DtUniqueID&);
00294 
00296       virtual void hideDialog();
00297 
00299       DtAltitudeClampType currentAltitudeTypeSelection() const;
00300 
00302       virtual void setCurrentAltitudeTypeSelection(const DtAltitudeClampType &);
00303 
00305       virtual void setAltitudeAllowed(bool);
00306 
00308       virtual void populate(const DtCreateObjectCommand* cmd);
00309 
00311       virtual bool blockSignals(bool);
00312 
00314       virtual void populateOverlays();
00315 
00317       virtual void populateForces();
00318 
00320       virtual void setForce(int);
00321 
00323       virtual void addForce(const QString&, int force);
00324 
00326       virtual void hideForces();
00327 
00329       virtual void showForces();
00330 
00332       virtual void clearForces();
00333 
00335       virtual void setReadOnly(bool);
00336 
00338       virtual void addExtension(QWidget*);
00339 
00341       virtual void removeExtension(QWidget*);
00342 
00344       virtual void showPropertiesDialog(bool);
00345 
00346       DtLocationEntryWidget* locationEntryWidget()
00347       {
00348          return myLocationWidget;
00349       }
00350 
00351    protected:
00352 
00354       virtual void setupGui();
00355 
00357       virtual void setupConnections();
00358 
00360       virtual void closeEvent(QCloseEvent *event);
00361 
00363       virtual DtPointObjectDefinitionDialogLogic* createLogic();
00364 
00365    protected slots:
00366 
00367       virtual void slot_attachObjectToMouseClicked(bool flag);
00368       virtual void slot_onCreateButtonClicked();         
00369       virtual void slot_onUpdateButtonClicked();
00370       virtual void slot_onDoneButtonClicked();
00371       virtual void slot_onNamePrefixEdited();         
00372       virtual void slot_onOverlaysComboCurrentIndexChanged(int index);
00373       virtual void slot_onForceComboCurrentIndexChanged(int index);
00374       virtual void slot_onHeadingChanged(double value);
00375       virtual void slot_closePressed();         
00376       virtual void slot_onAltitudeSelectionTypeChanged(const DtAltitudeClampType&);
00377       virtual void slot_onLocationChanged();
00378       virtual void slot_onAltitudeAboveSeaLevelEdited(double value);
00379       virtual void slot_onAltitudeAboveGroundLevelEdited(double value);
00380 
00381    public:
00382 
00383       Ui_PointObjectDefinitionWidgetUi myUiImpl;
00384 
00385    protected:
00386 
00387       DtLocationEntryWidget* myLocationWidget;         
00388       DtPointObjectDefinitionDialogLogic*  myLogic;
00389       DtDialogInteractionMode myInteractionMode;
00390       QString                 myDefaultName;
00391       QWidget* myParent;
00392       bool mySettingGuiUp;
00393       bool myBlockSignals;
00394    };
00395 
00396    class DT_DLL_VRFGUICOREQT DtPointObjectDefinitionDialogCreator : public DtVrfObjectModifierDialogCreator
00397    {
00398    public:
00399       virtual DtCreateAndEditObjectDialogInterface* create(makVrv::DtDe& de, QWidget* parent, 
00400          DtEntityType entityType, const std::string title="", DtCreationSignalType signalCreate = DtNoCreationSignal,
00401          DtCreateAndEditObjectDialogInterface::DtDialogInteractionMode mode=DtCreateAndEditObjectDialogInterface::DtCreationMode, 
00402          const DtVrfObjectManipulationManager::DtEditingType& editType=DtVrfObjectManipulationManager::Context);
00403    };
00404 }

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)