VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtIndirectFireDialog.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtIndirectFireDialog.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00012 #pragma once
00013 
00014 #include <vrvUtil/signalslib.h>
00015 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00016 #include <vrvUtil/DtVirtualBaseClass.h>
00017 #include <vrfGuiCoreQt/indirectArtilleryDialogWidget.hpp>
00018 #include <vrvCore/DtStateView.h>
00019 #include <vrvCore/DtSelectionManager.h>
00020 #include <vrvUtil/DtSignalConnectionManager.h>
00021 
00022 #include <QDialog>
00023 
00024 namespace makVrv
00025 {
00026    class DtDe;
00027    class DtSimObjectEntry;
00028 }
00029 
00030 class QTreeWidgetItem;
00031 class DtIfIndirectArtilleryData;
00032 
00033 namespace makVrf
00034 {
00035    struct DtVrlinkSimulatedEnvironmentProcess;
00036 
00040    class DT_DLL_VRFGUICOREQT DtIndirectFireDialog : public QDialog
00041    {
00042       Q_OBJECT
00043 
00044    public:
00045       //CTOR
00046       DtIndirectFireDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
00047 
00048       //DTOR
00049       virtual ~DtIndirectFireDialog();
00050 
00051       virtual void closeEvent(QCloseEvent*);
00052 
00054       boost::signal<void ()> signal_closing;
00055 
00056    protected:
00058       virtual void setupGui();
00059 
00061       virtual void initConnections();
00062 
00064       virtual void slot_indirectArtilleryUpdated(makVrv::DtElementID, const std::string& name, const DtIfIndirectArtilleryData&);
00065 
00067       virtual void slot_indirectArtilleryRemoved(makVrv::DtElementID);
00068 
00070       virtual void slot_overlayVisibilityChanged(const std::string& layer, bool);
00071 
00073       virtual void slot_overlayAdded(const std::string&);
00074 
00076       virtual void slot_overlayRemoved(const std::string&);
00077 
00078    protected slots:
00080       virtual void itemClicked(QTreeWidgetItem*);
00081 
00083       virtual void itemDoubleClicked(QTreeWidgetItem*);
00084 
00086       virtual void createArea();
00087 
00089       virtual void deleteArea();
00090 
00092       virtual void editArea();
00093 
00095       virtual void updateButtons(QTreeWidgetItem*);
00096 
00098       virtual makVrv::DtElementID idFromItem(QTreeWidgetItem*) const;
00099 
00100       virtual void selectionChanged(const makVrv::DtSelectionManager::IdSet& selected, const makVrv::DtSelectionManager::IdSet& deselected);
00101 
00103       virtual void onIndirectFireLayerVisibilityChanged();
00104 
00105    public:
00106       Ui_DtIndirectFireDialogUi   myUiImpl;
00107 
00108    protected:
00109       makVrv::DtDe& myDe;
00110       makVrv::DtSignalConnectionManager myConnectionManager;
00111 
00112       typedef std::map<makVrv::DtElementID, QTreeWidgetItem*> IndirectItemsMap;
00113       IndirectItemsMap myIndirectFire;
00114    };
00115 
00116    class DT_DLL_VRFGUICOREQT DtIndirectFireDialogCreator : public makVrv::DtVirtualBaseClass
00117    {
00118    public:
00119       DtIndirectFireDialogCreator();
00120       virtual ~DtIndirectFireDialogCreator();
00121 
00123       static DtIndirectFireDialogCreator& instance(makVrv::DtDe&);
00124 
00126       static void registerInstance(makVrv::DtDe& de, DtIndirectFireDialogCreator* instance);
00127 
00128       virtual DtIndirectFireDialog* create(makVrv::DtDe&, QWidget* parent);
00129    };
00130 }

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)