00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef DEPENDENTSOURCE_H
00012 #define DEPENDENTSOURCE_H
00013
00014 #include "component.h"
00015
00019 class DependentSource : public Component
00020 {
00021 public:
00022 DependentSource( ICNDocument *icnDocument, bool newItem, const char *id );
00023 ~DependentSource();
00024 virtual bool canFlip() const { return true; }
00025
00026 protected:
00027 void drawOutline( QPainter & p );
00028 void drawTopArrow( QPainter & p );
00029 void drawBottomArrow( QPainter & p );
00030 };
00031
00036 class ECCCCS : public DependentSource
00037 {
00038 public:
00039 ECCCCS( ICNDocument *icnDocument, bool newItem, const char *id = 0 );
00040 ~ECCCCS();
00041
00042 static Item* construct( ItemDocument *itemDocument, bool newItem, const char *id );
00043 static LibraryItem *libraryItem();
00044
00045 protected:
00046 virtual void dataChanged();
00047 virtual void drawShape( QPainter &p );
00048
00049 CCCS *m_cccs;
00050 };
00051
00056 class ECCCVS : public DependentSource
00057 {
00058 public:
00059 ECCCVS( ICNDocument *icnDocument, bool newItem, const char *id = 0 );
00060 ~ECCCVS();
00061
00062 static Item* construct( ItemDocument *itemDocument, bool newItem, const char *id );
00063 static LibraryItem *libraryItem();
00064
00065 protected:
00066 virtual void dataChanged();
00067 virtual void drawShape( QPainter &p );
00068
00069 CCVS *m_ccvs;
00070 };
00071
00076 class ECVCCS : public DependentSource
00077 {
00078 public:
00079 ECVCCS( ICNDocument *icnDocument, bool newItem, const char *id = 0 );
00080 ~ECVCCS();
00081
00082 static Item* construct( ItemDocument *itemDocument, bool newItem, const char *id );
00083 static LibraryItem *libraryItem();
00084
00085 protected:
00086 virtual void dataChanged();
00087 virtual void drawShape( QPainter &p );
00088
00089 VCCS *m_vccs;
00090 };
00091
00096 class ECVCVS : public DependentSource
00097 {
00098 public:
00099 ECVCVS( ICNDocument *icnDocument, bool newItem, const char *id = 0 );
00100 ~ECVCVS();
00101
00102 static Item* construct( ItemDocument *itemDocument, bool newItem, const char *id );
00103 static LibraryItem *libraryItem();
00104
00105 protected:
00106 virtual void dataChanged();
00107 virtual void drawShape( QPainter &p );
00108
00109 VCVS *m_vcvs;
00110 };
00111
00112 #endif