VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtSetAttributesDialog.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtSetAttributesDialog.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00013 
00014 #pragma once
00015 
00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00017 #include <vrvUtil/signalslib.h>
00018 #include <vrfGuiCoreQt/DtTaskSetDialogInterface.h>
00019 #include <vrfGuiCore/entityMapperKey.h>
00020 
00021 #include <QtCore/QHash>
00022 
00023 class QHBoxLayout;
00024 class QVBoxLayout;
00025 class QPushButton;
00026 class QComboBox;
00027 class QGridLayout;
00028 class QLabel;
00029 
00030 namespace makVrv
00031 {
00032    struct DtEntityState;
00033 }
00034 
00035 namespace makVrf
00036 {
00037    class DtAttributeValueInfo;
00038    class DtAttributesManager;
00039    class DtAttributeInfo;
00040 
00041    class DT_DLL_VRFGUICOREQT DtSetAttributesDialog : public DtTaskSetDialogInterface
00042    {
00043       Q_OBJECT
00044 
00045    public:
00046       //CTOR
00047       DtSetAttributesDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
00048 
00049       //DTOR
00050       virtual ~DtSetAttributesDialog();
00051 
00052       virtual void run(const std::vector<makVrv::DtSimEntry*>&);
00053 
00055       virtual void setInvalid();
00056       bool valid() const
00057       {
00058          return (myInvalidLabel == 0);
00059       }
00060 
00061       virtual void setValid();
00062 
00063       const QHash<int, QComboBox*>& comboBoxes() const
00064       {
00065          return myComboBoxes;
00066       }
00067 
00069       virtual void clear();
00070 
00071    protected:
00073       virtual void setupGui();
00074 
00075    protected slots:
00076       virtual void onCancel();
00077       virtual void onApply();
00078       virtual void onOk();
00079 
00080    public:
00081       virtual QHBoxLayout* createAttributeCombo(const DtAttributeValueInfo& info);
00082       virtual void createAttributeCombo(const DtAttributeValueInfo& info, int iRow, int iCol);
00083 
00084       virtual void modifyComboBox(const DtAttributeValueInfo& info, QComboBox* box);
00085 
00086    public:
00087       virtual void setupInitialValues(const DtAttributesManager*,
00088             const std::vector<makVrv::DtSimEntry*>&);
00089       virtual void setupGui(const std::vector<makVrv::DtSimEntry*>&);
00090 
00091    protected:
00092       virtual void slot_closeDialog();
00093       virtual void slot_applyAttributes();
00094 
00096       virtual int value(makVrv::DtSimEntry*) const = 0;
00097 
00098       virtual DtEntityMapperKey entityType(makVrv::DtSimEntry*) const;
00099       virtual int attributeValueFromDialog() const;
00100       virtual void setAttributes(const std::vector<makVrv::DtSimEntry*>& data, int attributeValue);
00101 
00102       virtual void sendRequest() = 0;
00103 
00104    protected:
00105       int                        myAttributesPerRow;
00106       DtAttributeInfo*           myAttributeInfo;
00107       const DtAttributesManager* myAttributesManager;
00108 
00109    public:
00110       QHBoxLayout*   myButtonLayout;
00111       QVBoxLayout*   myMasterLayout;
00112       QPushButton*   myApplyButton;
00113       QPushButton*   myOKButton;
00114       QPushButton*   myCancelButton;
00115       QGridLayout*   myGridLayout;
00116 
00117       QWidget*       myAttributeCanvas;
00118       QLabel*        myInvalidLabel;
00119 
00120    protected:
00121       QHash<int, QComboBox*> myComboBoxes;
00122    };
00123 }

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)