IColorSchema.h
Go to the documentation of this file.
1 #ifndef iview_IColorSchema_included
2 #define iview_IColorSchema_included
3 
4 
5 // Qt includes
6 #include <QtCore/QVector>
7 #include <QtGui/QPen>
8 #include <QtGui/QBrush>
9 #include <QtGui/QFont>
10 
11 // ACF includes
12 #include <istd/IPolymorphic.h>
13 #include <istd/CIndex2d.h>
14 #include <i2d/CRect.h>
15 
16 
17 class QPainter;
18 
19 
20 namespace iview
21 {
22 
23 
24 
28 class IColorSchema: virtual public istd::IPolymorphic
29 {
30 public:
32  {
54  };
55 
57  {
68  };
69 
71  {
72  SF_NORMAL = 0,
74  };
75 
79  {
140  };
141 
142  virtual void Assign(const IColorSchema& colorSchema) = 0;
143  virtual const QPen& GetPen(StandardPen penType) const = 0;
144  virtual void SetPen(StandardPen penType, const QPen& pen) = 0;
145  virtual const QBrush& GetBrush(StandardBrush brushType) const = 0;
146  virtual void SetBrush(StandardBrush brushType, const QBrush& brush) = 0;
147  virtual const QFont& GetFont(StandardFont fontType) const = 0;
148  virtual void SetFont(StandardFont fontType, const QFont& font) = 0;
149 
153  virtual void DrawTicker(QPainter& drawContext, istd::CIndex2d point, TickerType tickerType) const = 0;
154 
158  virtual const i2d::CRect& GetTickerBox(TickerType tickerType) const = 0;
159 
165  virtual int GetLogicalLineWidth() const = 0;
166 };
167 
168 
170 {
171  return (iview::IColorSchema::TickerType)(int(tickerType1) | int(tickerType2));
172 }
173 
174 
175 } // namespace iview
176 
177 
178 #endif // !iview_IColorSchema_included
179 
180 
virtual const QPen & GetPen(StandardPen penType) const =0
Ticker used to checkbox, when it is on.
Definition: IColorSchema.h:131
virtual void SetBrush(StandardBrush brushType, const QBrush &brush)=0
Ticker used to add node.
Definition: IColorSchema.h:115
Ticker used to move object.
Definition: IColorSchema.h:107
virtual void Assign(const IColorSchema &colorSchema)=0
virtual void SetPen(StandardPen penType, const QPen &pen)=0
Simple rectangle with integer bounds.
Definition: CRect.h:21
Index implementation for addressing elements in 2D-space.
Definition: CIndex2d.h:20
Ticker used to rotate object.
Definition: IColorSchema.h:123
iview::IColorSchema::TickerType operator|(iview::IColorSchema::TickerType tickerType1, iview::IColorSchema::TickerType tickerType2)
Definition: IColorSchema.h:169
Selected inactive small ticker.
Definition: IColorSchema.h:91
Normal (default active) ticker.
Definition: IColorSchema.h:95
Ticker used to move center pins.
Definition: IColorSchema.h:111
Ticker used to checkbox, when it is off.
Definition: IColorSchema.h:135
Ticker used to skew object.
Definition: IColorSchema.h:127
Base interface for all used interfaces and implementations.
Definition: IPolymorphic.h:17
Ticker used to delete node.
Definition: IColorSchema.h:119
virtual const QFont & GetFont(StandardFont fontType) const =0
virtual int GetLogicalLineWidth() const =0
Return width of line.
virtual void DrawTicker(QPainter &drawContext, istd::CIndex2d point, TickerType tickerType) const =0
Draw a ticker.
virtual const i2d::CRect & GetTickerBox(TickerType tickerType) const =0
Get bounding box of ticker in position (0, 0).
Defines set of standard pens, brushes and simple management of unions.
Definition: IColorSchema.h:28
virtual const QBrush & GetBrush(StandardBrush brushType) const =0
virtual void SetFont(StandardFont fontType, const QFont &font)=0
TickerType
Defines a type of ticker.
Definition: IColorSchema.h:78

© 2007-2017 Witold Gantzke and Kirill Lepskiy