VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtCommandAssignmentWidget.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtCommandAssignmentWidget.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00013 
00014 #pragma once
00015 
00016 #include <vrvUtil/signalslib.h>
00017 
00018 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00019 #include <vrfGuiCoreQt/DtCommandAssignmentWidgetInterface.h>
00020 
00021 #include <QtGui/QWidget>
00022 
00023 class QHBoxLayout;
00024 class QVBoxLayout;
00025 class QGroupBox;
00026 class QCheckBox;
00027 class QPushButton;
00028 class QSpacerItem;
00029 
00030 namespace makVrv
00031 {
00032    class DtDe;
00033    class DtSimObjectEntry;
00034 }
00035 
00036 namespace makVrf
00037 {
00038    class DtCommandAssignmentWidgetLogic;
00039    class DtCommandDialogExtensionInterface;
00040    class DtVrfFilteredListView;
00041    class DtSimCommandObjectWrapper;
00042 
00044    class DT_DLL_VRFGUICOREQT DtCommandAssignmentWidget
00045       : public QWidget
00046       , public DtCommandAssignmentWidgetInterface
00047    {
00048       Q_OBJECT
00049 
00050    public:
00052       DtCommandAssignmentWidget( makVrv::DtDe& de, DtCommandDialogExtensionInterface*, QWidget* parent = 0,
00053          Qt::WindowFlags flags = Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint);
00054 
00056       virtual ~DtCommandAssignmentWidget();
00057       virtual void run(const std::vector<makVrv::DtSimEntry*>&);
00058 
00060       virtual void setupUi(const std::vector<makVrv::DtSimEntry*>&, const DtSimStatement* stmt = NULL);
00061 
00063       virtual void connectSignals(const std::vector<makVrv::DtSimEntry*>&);
00064 
00069       virtual void selectionChanged(const QString & selection);
00070 
00071    protected:
00072 
00073       void setPartOfPlan(bool b)
00074       {
00075          myPartOfPlan = b;
00076       }
00077 
00078       QWidget* widget()
00079       {
00080          return this;
00081       }
00082 
00083       virtual void setAllowBroadcast(bool);
00084       virtual bool broadcasting() const;
00085       virtual void setBroadcasting(bool);
00086       virtual void enableEntitySelectionWidget(bool);
00087 
00088       virtual void addFilter(const DtVrfSelectionFilter* filter);
00089       virtual void setSelectedName(const QString& s);
00090       virtual QString selectedName() const;
00091       virtual void selectFilter(int);
00092 
00093       virtual void setOKEnabled(bool);
00094       virtual bool extensionValid() const;
00095 
00099       virtual void commandActivated(const DtSimTask&, const std::vector<std::string>&, bool immediate);
00100       virtual void commandActivated(const DtSimCommandObjectWrapper&, bool immediate);
00101 
00102    protected:
00103       virtual void slot_objectAboutToBeRemoved(makVrv::DtSimObjectEntry&);
00104 
00105       virtual void attachExtension(DtCommandDialogExtensionInterface*, const DtSimStatement* stmt = NULL);
00106       virtual void detachExtension();
00107       virtual DtCommandDialogExtensionInterface* extension();
00108 
00109       virtual void setPickMode(bool);
00110 
00112       virtual bool editStatement(const std::vector<makVrv::DtSimEntry*>&, const DtSimStatement*);
00113       virtual std::vector<DtVrfObjectListViewItem::DtVrfObjectState> selectedObjects() const;
00114 
00116       virtual void setAllowObjectSelection(bool b);
00117 
00118       virtual bool canSelectObjects() const;
00119 
00123       virtual bool wantsSelectionOfObjectInCommandMode() const;
00124 
00125       virtual bool valid() const;
00126 
00128       virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>&);
00129 
00130    protected slots:
00132       virtual void onBroadcastChanged();
00133 
00135       virtual void onCancel();
00136 
00138       virtual void onPickOK();
00139 
00140       const std::vector<makVrv::DtSimEntry*>& connectedTo() const
00141       {
00142          return myConnectedTo;
00143       }
00144 
00145    protected:
00146       makVrv::DtDe&                    myDe;
00147       DtCommandAssignmentWidgetLogic*  myLogic;
00148       bool                             myPartOfPlan;
00149       std::vector<makVrv::DtSimEntry*> myConnectedTo;
00150       DtSimTask*                       myImmediateTask;
00151       std::vector<std::string>         myImmediateNames;
00152       DtSimCommandObjectWrapper*       myCommandObjectWrapper;
00153       DtCommandDialogExtensionInterface*  myInitialExtension;
00154 
00155    public:
00156       DtCommandDialogExtensionInterface*  myExtension;
00157       QWidget*                   myOriginalExtensionParent;
00158       QCheckBox*                 myBroadcast;
00159       QGroupBox*                 myEntitySelectionGroupBox;
00160       DtVrfFilteredListView*     myEntitySelectionWidget;
00161       QHBoxLayout*               myMasterLayout;
00162       QVBoxLayout*               myWidgetLayout;
00163 
00164       QWidget*                   myButtonFrame;
00165       QHBoxLayout*               myButtonLayout;
00166       QSpacerItem*               myButtonSpacer;
00167       QPushButton*               myOKButton;
00168       QPushButton*               myCancelButton;
00169    };
00170 }

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)