VR-Forces 4.0.4 Class Documentation
include/entityEditorImpl/behaviorUi.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: behaviorUi.h,v $ $Revision: 1.9 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtBehaviorUi_H_
00013 #define DtBehaviorUi_H_
00014 
00015 #include "vrfutil/rwList.h"
00016 #include <vlutil/vlString.h>
00017 #include <QtCore/QString>
00018 
00019 #include "entityEditorImpl/uiElement.h"
00020 
00021 class QWidget;
00022 class DtUiForParameter;
00023 class DtVrfObjectParameters;
00024 class DtlInputStream;
00025 class DtModelSetEntry;
00026 
00027 #include "entityEditorImpl/entityEditorImplDefines.h"
00028 
00029 class DT_DLL_entityeditorimpl DtBehaviorUi : public DtRwList
00030 {
00031 public:
00032 
00034    DtBehaviorUi();
00035 
00036    DtBehaviorUi(const DtString& name, DtReaderWriterRegistry*  
00037       parentRegistry = NULL);
00038 
00040    virtual ~DtBehaviorUi();
00041 
00043    DtBehaviorUi(const DtBehaviorUi& orig, 
00044       DtReaderWriterRegistry*  parentRegistry = NULL);
00045 
00047    DtBehaviorUi& operator=(const DtBehaviorUi& orig);
00048 
00049    virtual bool load(const DtFilename&);
00050    
00052    virtual bool load(const QString&);
00053 
00054    virtual bool load(DtlInputStream* f);
00055 
00056    virtual QWidget* createControlsFor(DtVrfObjectParameters*) const;
00057    virtual void setModelModified(DtModelSetEntry* m);
00058 
00059    void setElementChangedCallback(DtElementChangedCallbackFcn f, void* u) { myElementChangedCallback = f; myUserVariable = u; };
00060    virtual bool isModified() const;
00061 
00063    virtual void mergeInto(DtUiForParameter*, const QString& intoParameter,
00064       const QString& nearReaderWriterType, bool after);
00065 
00067    virtual QStringList uiSupportedParameters() const;
00068    static void addParameterType(const char* baseParameterType, const char* matchingType);
00069 
00070    static DtBehaviorUi* create(const DtString&);
00071 
00073    virtual DtUiForParameter* uiForParameter(DtVrfObjectParameters* parameters) const;
00074    virtual QMap<QString, QVariant> uiState() const;
00075    virtual void setUiState(const QMap<QString, QVariant>&);
00076 
00077    DtUiForParameter* displaying() { return myDisplaying; };
00078 
00080    virtual void setUiStateFor(const DtString& param, const QMap<QString, QVariant>& uiState);
00081    virtual QMap<QString, QVariant> uiStateFor(const DtString& param) const;
00082 
00083    virtual void clearContents();
00084 
00085    virtual void sendEvent(const DtUiElementEvent&);
00086 
00087 protected:
00090    virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
00091       const DtVariableBindingsList& variableBindings);
00092 
00093    virtual void emptyList();
00094 
00095    virtual void copyList(const DtBehaviorUi& orig);
00096 
00097    virtual DtUiForParameter* uiForParameter(const DtString&) const;
00098 
00099    virtual void mergeParameters(DtUiForParameter*) const;
00100 
00101    virtual DtUiForParameter* createUiForParameter(const DtString& s);
00102 
00103 protected:
00104    DtElementChangedCallbackFcn myElementChangedCallback;
00105    void* myUserVariable;
00106    mutable DtUiForParameter* myDisplaying;
00107    static QHash<QString, QString> theParameterMatches;
00108 
00109    QHash<QString, QMap<QString, QVariant> > myUiStates;
00110 };
00111 
00112 #endif

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)