QElectroTech  0.70
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Private Attributes | List of all members
CustomElementGraphicPart Class Referenceabstract

The CustomElementGraphicPart class This class is the base for all home-made primitive like line, rectangle, ellipse etc.... It provides methods and enums to manage style attributes available for primitive (color, pen style, etc...) More...

#include <customelementgraphicpart.h>

Public Types

enum  LineStyle { NormalStyle, DashedStyle, DottedStyle, DashdottedStyle }
 
enum  LineWeight {
  NoneWeight, ThinWeight, NormalWeight, UltraWeight,
  BigWeight
}
 
enum  Filling {
  NoneFilling, BlackFilling, WhiteFilling, GreenFilling,
  RedFilling, BlueFilling, GrayFilling, BrunFilling,
  YellowFilling, CyanFilling, MagentaFilling, LightgrayFilling,
  OrangeFilling, PurpleFilling, HorFilling, VerFilling,
  BdiagFilling, FdiagFilling
}
 
enum  Color {
  BlackColor, WhiteColor, GreenColor, RedColor,
  BlueColor, GrayColor, BrunColor, YellowColor,
  CyanColor, MagentaColor, LightgrayColor, OrangeColor,
  PurpleColor, NoneColor
}
 

Public Member Functions

 CustomElementGraphicPart (QETElementEditor *editor, QGraphicsItem *parent=nullptr)
 CustomElementGraphicPart::CustomElementGraphicPart Default constructor. By default, item is selectable, send geometry change (Qt > 4.6), accept mouse left button and accept hover event. More...
 
 ~CustomElementGraphicPart () override
 CustomElementGraphicPart::~CustomElementGraphicPart Destructor. More...
 
LineStyle lineStyle () const
 
void setLineStyle (const LineStyle ls)
 CustomElementGraphicPart::setLineStyle Set line style to ls. More...
 
LineWeight lineWeight () const
 
void setLineWeight (const LineWeight lw)
 CustomElementGraphicPart::setLineWeight Set line weight to lw. More...
 
qreal penWeight () const
 CustomElementGraphicPart::penWeight. More...
 
Filling filling () const
 
void setFilling (const Filling f)
 CustomElementGraphicPart::setFilling Set filling to f. More...
 
Color color () const
 
void setColor (const Color c)
 CustomElementGraphicPart::setColor Set color to c. More...
 
bool antialiased () const
 
void setAntialiased (const bool b)
 CustomElementGraphicPart::setAntialiased Set antialias to b. More...
 
void setProperty (const char *name, const QVariant &value) override
 
QVariant property (const char *name) const override
 
virtual QPainterPath shadowShape () const =0
 
- Public Member Functions inherited from CustomElementPart
 CustomElementPart (QETElementEditor *editor)
 
virtual ~CustomElementPart ()
 Destructor. More...
 
virtual void fromXml (const QDomElement &)=0
 
virtual const QDomElement toXml (QDomDocument &) const =0
 
virtual bool isUseless () const =0
 
virtual QRectF sceneGeometricRect () const =0
 
virtual void startUserTransformation (const QRectF &)=0
 
virtual void handleUserTransformation (const QRectF &, const QRectF &)=0
 
virtual QETElementEditorelementEditor () const
 
virtual void updateCurrentPartEditor () const
 
virtual ElementSceneelementScene () const
 
virtual QUndoStack & undoStack () const
 
virtual QString name () const =0
 
virtual QString xmlName () const =0
 
virtual QGraphicsItem * toItem ()
 
virtual QET::ScalingMethod preferredScalingMethod () const
 

Static Public Member Functions

static void drawCross (const QPointF &center, QPainter *painter)
 CustomElementGraphicPart::drawCross Draw a cross at pos center. More...
 

Protected Member Functions

void stylesToXml (QDomElement &) const
 CustomElementGraphicPart::stylesToXml Write the curent style to xml element. The style are stored like this: name-of-style:value;name-of-style:value Each style separate by ; and name-style/value are separate by : More...
 
void stylesFromXml (const QDomElement &)
 CustomElementGraphicPart::stylesFromXml Read the style used by this, from a xml element. More...
 
void resetStyles ()
 CustomElementGraphicPart::resetStyles Reset the curent style to default, same style of default constructor. More...
 
void applyStylesToQPainter (QPainter &) const
 CustomElementGraphicPart::applyStylesToQPainter Apply the current style to the QPainter. More...
 
void drawShadowShape (QPainter *painter)
 CustomElementGraphicPart::drawShadowShape Draw a transparent blue shadow arround the shape of this item. The QPainterPathStroker used to draw shadows have a width of SHADOWS_HEIGHT Be carefull if penWeight of this item is to 0 the outline of strock is bigger of 0.5. More...
 
QVariant itemChange (GraphicsItemChange change, const QVariant &value) override
 CustomElementGraphicPart::itemChange Reimplemented from QGraphicsObject. If the item position change call updateCurrentPartEditor() the change is always send to QGraphicsObject. More...
 
void hoverEnterEvent (QGraphicsSceneHoverEvent *event) override
 CustomElementGraphicPart::hoverEnterEvent Reimplemented from QGraphicsObject. Set m_hovered to true. More...
 
void hoverLeaveEvent (QGraphicsSceneHoverEvent *event) override
 CustomElementGraphicPart::hoverLeaveEvent Reimplemented from QGraphicsObject. Set m_hovered to false. More...
 
void mousePressEvent (QGraphicsSceneMouseEvent *event) override
 
void mouseMoveEvent (QGraphicsSceneMouseEvent *event) override
 
void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override
 
- Protected Member Functions inherited from CustomElementPart
QList< QPointF > mapPoints (const QRectF &, const QRectF &, const QList< QPointF > &)
 

Protected Attributes

bool m_hovered
 

Properties

LineStyle line_style
 
LineWeight line_weight
 
Filling filling
 
Color color
 
bool antialias
 

Private Attributes

LineStyle _linestyle
 
LineWeight _lineweight
 
Filling _filling
 
Color _color
 
bool _antialiased
 
QPointF m_origin_pos
 

Detailed Description

The CustomElementGraphicPart class This class is the base for all home-made primitive like line, rectangle, ellipse etc.... It provides methods and enums to manage style attributes available for primitive (color, pen style, etc...)

Definition at line 33 of file customelementgraphicpart.h.

Member Enumeration Documentation

◆ Color

Enumerator
BlackColor 
WhiteColor 
GreenColor 
RedColor 
BlueColor 
GrayColor 
BrunColor 
YellowColor 
CyanColor 
MagentaColor 
LightgrayColor 
OrangeColor 
PurpleColor 
NoneColor 

Definition at line 59 of file customelementgraphicpart.h.

◆ Filling

Enumerator
NoneFilling 
BlackFilling 
WhiteFilling 
GreenFilling 
RedFilling 
BlueFilling 
GrayFilling 
BrunFilling 
YellowFilling 
CyanFilling 
MagentaFilling 
LightgrayFilling 
OrangeFilling 
PurpleFilling 
HorFilling 
VerFilling 
BdiagFilling 
FdiagFilling 

Definition at line 55 of file customelementgraphicpart.h.

◆ LineStyle

Enumerator
NormalStyle 
DashedStyle 
DottedStyle 
DashdottedStyle 

Definition at line 47 of file customelementgraphicpart.h.

◆ LineWeight

Enumerator
NoneWeight 
ThinWeight 
NormalWeight 
UltraWeight 
BigWeight 

Definition at line 51 of file customelementgraphicpart.h.

Constructor & Destructor Documentation

◆ CustomElementGraphicPart()

CustomElementGraphicPart::CustomElementGraphicPart ( QETElementEditor editor,
QGraphicsItem *  parent = nullptr 
)

CustomElementGraphicPart::CustomElementGraphicPart Default constructor. By default, item is selectable, send geometry change (Qt > 4.6), accept mouse left button and accept hover event.

Parameters
editorQETElement editor that belong this.

Definition at line 29 of file customelementgraphicpart.cpp.

◆ ~CustomElementGraphicPart()

CustomElementGraphicPart::~CustomElementGraphicPart ( )
override

Member Function Documentation

◆ antialiased()

bool CustomElementGraphicPart::antialiased ( ) const
inline

Definition at line 84 of file customelementgraphicpart.h.

References _antialiased.

◆ applyStylesToQPainter()

void CustomElementGraphicPart::applyStylesToQPainter ( QPainter &  painter) const
protected

◆ color()

Color CustomElementGraphicPart::color ( ) const
inline

◆ drawCross()

void CustomElementGraphicPart::drawCross ( const QPointF &  center,
QPainter *  painter 
)
static

CustomElementGraphicPart::drawCross Draw a cross at pos center.

Parameters
center: center of cross
painter: painter to use for draw cross, the painter state is restored at end of this method.

Definition at line 56 of file customelementgraphicpart.cpp.

References color().

Referenced by PartArc::paint(), PartEllipse::paint(), and PartRectangle::paint().

◆ drawShadowShape()

void CustomElementGraphicPart::drawShadowShape ( QPainter *  painter)
protected

CustomElementGraphicPart::drawShadowShape Draw a transparent blue shadow arround the shape of this item. The QPainterPathStroker used to draw shadows have a width of SHADOWS_HEIGHT Be carefull if penWeight of this item is to 0 the outline of strock is bigger of 0.5.

Parameters
painter: painter to use for draw this shadows

Definition at line 380 of file customelementgraphicpart.cpp.

References color(), SHADOWS_HEIGHT, and shadowShape().

Referenced by PartArc::paint(), PartEllipse::paint(), PartRectangle::paint(), PartPolygon::paint(), PartTerminal::paint(), and PartLine::paint().

◆ filling()

Filling CustomElementGraphicPart::filling ( ) const
inline

Definition at line 78 of file customelementgraphicpart.h.

References _filling.

◆ hoverEnterEvent()

void CustomElementGraphicPart::hoverEnterEvent ( QGraphicsSceneHoverEvent *  event)
overrideprotected

CustomElementGraphicPart::hoverEnterEvent Reimplemented from QGraphicsObject. Set m_hovered to true.

Parameters
event

Definition at line 421 of file customelementgraphicpart.cpp.

References m_hovered.

◆ hoverLeaveEvent()

void CustomElementGraphicPart::hoverLeaveEvent ( QGraphicsSceneHoverEvent *  event)
overrideprotected

CustomElementGraphicPart::hoverLeaveEvent Reimplemented from QGraphicsObject. Set m_hovered to false.

Parameters
event

Definition at line 433 of file customelementgraphicpart.cpp.

References m_hovered.

◆ itemChange()

QVariant CustomElementGraphicPart::itemChange ( GraphicsItemChange  change,
const QVariant &  value 
)
overrideprotected

CustomElementGraphicPart::itemChange Reimplemented from QGraphicsObject. If the item position change call updateCurrentPartEditor() the change is always send to QGraphicsObject.

Parameters
change
value
Returns
the returned value of QGraphicsObject::itemChange

Definition at line 406 of file customelementgraphicpart.cpp.

References CustomElementPart::updateCurrentPartEditor().

◆ lineStyle()

LineStyle CustomElementGraphicPart::lineStyle ( ) const
inline

Definition at line 71 of file customelementgraphicpart.h.

References _linestyle.

◆ lineWeight()

LineWeight CustomElementGraphicPart::lineWeight ( ) const
inline

Definition at line 74 of file customelementgraphicpart.h.

References _lineweight.

◆ mouseMoveEvent()

void CustomElementGraphicPart::mouseMoveEvent ( QGraphicsSceneMouseEvent *  event)
overrideprotected

◆ mousePressEvent()

void CustomElementGraphicPart::mousePressEvent ( QGraphicsSceneMouseEvent *  event)
overrideprotected

Definition at line 439 of file customelementgraphicpart.cpp.

References m_origin_pos.

◆ mouseReleaseEvent()

void CustomElementGraphicPart::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  event)
overrideprotected

◆ penWeight()

qreal CustomElementGraphicPart::penWeight ( ) const

◆ property()

QVariant CustomElementGraphicPart::property ( const char *  name) const
inlineoverridevirtual

◆ resetStyles()

void CustomElementGraphicPart::resetStyles ( )
protected

CustomElementGraphicPart::resetStyles Reset the curent style to default, same style of default constructor.

Definition at line 291 of file customelementgraphicpart.cpp.

References _antialiased, _color, _filling, _linestyle, _lineweight, BlackColor, NoneFilling, NormalStyle, and NormalWeight.

Referenced by stylesFromXml().

◆ setAntialiased()

void CustomElementGraphicPart::setAntialiased ( const bool  b)

CustomElementGraphicPart::setAntialiased Set antialias to b.

Parameters
b

Definition at line 132 of file customelementgraphicpart.cpp.

References _antialiased.

◆ setColor()

void CustomElementGraphicPart::setColor ( const Color  c)

CustomElementGraphicPart::setColor Set color to c.

Parameters
c

Definition at line 120 of file customelementgraphicpart.cpp.

References _color.

◆ setFilling()

void CustomElementGraphicPart::setFilling ( const Filling  f)

CustomElementGraphicPart::setFilling Set filling to f.

Parameters
f

Definition at line 108 of file customelementgraphicpart.cpp.

References _filling.

◆ setLineStyle()

void CustomElementGraphicPart::setLineStyle ( const LineStyle  ls)

CustomElementGraphicPart::setLineStyle Set line style to ls.

Parameters
ls

Definition at line 71 of file customelementgraphicpart.cpp.

References _linestyle.

◆ setLineWeight()

void CustomElementGraphicPart::setLineWeight ( const LineWeight  lw)

CustomElementGraphicPart::setLineWeight Set line weight to lw.

Parameters
lw

Definition at line 83 of file customelementgraphicpart.cpp.

References _lineweight.

◆ setProperty()

void CustomElementGraphicPart::setProperty ( const char *  name,
const QVariant &  value 
)
inlineoverridevirtual

Set a specific property of the primitive

Implements CustomElementPart.

Definition at line 90 of file customelementgraphicpart.h.

References CustomElementPart::name().

◆ shadowShape()

virtual QPainterPath CustomElementGraphicPart::shadowShape ( ) const
pure virtual

◆ stylesFromXml()

void CustomElementGraphicPart::stylesFromXml ( const QDomElement &  qde)
protected

◆ stylesToXml()

void CustomElementGraphicPart::stylesToXml ( QDomElement &  qde) const
protected

Member Data Documentation

◆ _antialiased

bool CustomElementGraphicPart::_antialiased
private

◆ _color

Color CustomElementGraphicPart::_color
private

◆ _filling

Filling CustomElementGraphicPart::_filling
private

◆ _linestyle

LineStyle CustomElementGraphicPart::_linestyle
private

◆ _lineweight

LineWeight CustomElementGraphicPart::_lineweight
private

◆ m_hovered

bool CustomElementGraphicPart::m_hovered
protected

◆ m_origin_pos

QPointF CustomElementGraphicPart::m_origin_pos
private

Definition at line 118 of file customelementgraphicpart.h.

Referenced by mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().

Property Documentation

◆ antialias

bool CustomElementGraphicPart::antialias
readwrite

Definition at line 43 of file customelementgraphicpart.h.

◆ color

Color CustomElementGraphicPart::color
readwrite

Definition at line 42 of file customelementgraphicpart.h.

◆ filling

Filling CustomElementGraphicPart::filling
readwrite

Definition at line 41 of file customelementgraphicpart.h.

◆ line_style

LineStyle CustomElementGraphicPart::line_style
readwrite

Definition at line 39 of file customelementgraphicpart.h.

◆ line_weight

LineWeight CustomElementGraphicPart::line_weight
readwrite

Definition at line 40 of file customelementgraphicpart.h.


The documentation for this class was generated from the following files: