![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: uiAutoConnectionElement.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef uiAutoConnectionElement_h 00015 #define uiAutoConnectionElement_h 00016 00017 #include "entityEditorImpl/uiElement.h" 00018 #include "vrfutil/rwString.h" 00019 #include <list> 00020 00021 class QLabel; 00022 class DtConnectionDescriptorList; 00023 class DtVrfObjectParameters; 00024 class DtComponentSystemDefinition; 00025 class DtComponentSystemDescriptor; 00026 00029 00030 #include "entityEditorImpl/entityEditorImplDefines.h" 00031 00032 class DT_DLL_entityeditorimpl DtUiAutoConnectionElement : public DtUiElement 00033 { 00034 public: 00036 DtUiAutoConnectionElement(const DtString& name, 00037 DtReaderWriterRegistry* const parentRegistry = NULL); 00038 00040 virtual ~DtUiAutoConnectionElement(); 00041 00043 DtUiAutoConnectionElement(const DtUiAutoConnectionElement& orig); 00044 00046 DtUiAutoConnectionElement& operator=(const DtUiAutoConnectionElement& orig); 00047 00049 virtual void objectParametersModified(); 00050 00051 virtual QWidget* createControls(QWidget* parent); 00052 00053 protected: 00054 virtual const DtComponentSystemDefinition* lookupSystemDefinition( 00055 const DtComponentSystemDescriptor* descriptor) const; 00056 00057 virtual QWidget* createDataEntryElement(QWidget*); 00058 00061 virtual bool updateConnections(); 00062 00066 virtual std::list<DtSymbolString> sourceSystems() const; 00067 00071 virtual std::list<DtSymbolString> destinationSystems() const; 00072 00075 virtual bool checkExistingConnection(const DtSymbolString& sourceName, 00076 const DtSymbolString& destinationName) const; 00077 00079 virtual void addConnection(const DtSymbolString& sourceName, 00080 const DtSymbolString& destinationName) const; 00081 00087 virtual bool removeDanglingConnections(); 00088 00091 virtual bool systemOrComponentExists(const DtString& name); 00092 00095 virtual void updateDisplayLabel(); 00096 00097 protected: 00098 virtual DtUiElement* clone(); 00099 virtual void setFromParameters(DtReaderWriter* parentRw); 00100 virtual DtReaderWriterRegistryData* value(DtReaderWriter* parentRw); 00101 00102 protected: 00103 DtRwString mySourceCategory; 00104 DtRwString mySourcePortName; 00105 DtRwString myDestinationCategory; 00106 DtRwString myDestinationPortName; 00107 00108 QLabel* myInfoLabel; 00109 DtConnectionDescriptorList* myConnectionList; 00110 DtVrfObjectParameters* myObjectParameters; 00111 }; 00112 00113 #endif