Envision
A visual programming IDE for object-oriented languages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
Visualization::ArrowOverlay Class Reference

An overlay to draw an arrow from the first item to the second item. More...

Inheritance diagram for Visualization::ArrowOverlay:
Core::Reflect< Base >

Public Types

typedef ArrowOverlayStyle StyleType
 

Public Member Functions

 ArrowOverlay (Item *arrowFrom, Item *arrowTo, const StyleType *style=itemStyles().get())
 
virtual QList< Visualization::VisualizationAddOn * > addOns () override
 
virtual Visualization::InteractionHandlerhandler () const override
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
 
void setHighlighted (bool highlighted)
 
virtual void setStyle (const Visualization::ItemStyle *itemStyle) override
 
const StyleTypestyle () const
 

Static Public Member Functions

static void addAddOn (Visualization::VisualizationAddOn *addOn)
 
static Visualization::InteractionHandlerdefaultClassHandler ()
 
static Visualization::StyleSet< ArrowOverlay > & itemStyles ()
 
static bool removeAddOn (Visualization::VisualizationAddOn *addOn)
 
static void setDefaultClassHandler (Visualization::InteractionHandler *handler)
 

Protected Member Functions

virtual void determineChildren () override
 
virtual QPainterPath shape () const override
 
virtual void updateGeometry (int availableWidth, int availableHeight) override
 

Static Private Member Functions

static QList< Visualization::VisualizationAddOn * > & staticAddOns ()
 

Private Attributes

QPolygonF currentArrowOutline_ {}
 
bool highlighted_ {false}
 
bool invertArrow_ {}
 
QPoint lineFrom_ {}
 
QPoint lineTo_ {}
 

Static Private Attributes

static Visualization::InteractionHandlerdefaultClassHandler_ = nullptr
 

Additional Inherited Members

- Protected Types inherited from Core::Reflect< Base >
using Super = Reflect< Base >
 

Detailed Description

An overlay to draw an arrow from the first item to the second item.

Member Typedef Documentation

◆ StyleType

Constructor & Destructor Documentation

◆ ArrowOverlay()

Visualization::ArrowOverlay::ArrowOverlay ( Item arrowFrom,
Item arrowTo,
const StyleType style = itemStyles().get() 
)

Member Function Documentation

◆ addAddOn()

void Visualization::ArrowOverlay::addAddOn ( Visualization::VisualizationAddOn addOn)
static

◆ addOns()

QList< Visualization::VisualizationAddOn * > Visualization::ArrowOverlay::addOns ( )
overridevirtual

◆ defaultClassHandler()

static Visualization::InteractionHandler* Visualization::ArrowOverlay::defaultClassHandler ( )
inlinestatic

◆ determineChildren()

void Visualization::ArrowOverlay::determineChildren ( )
overrideprotectedvirtual

◆ handler()

Visualization::InteractionHandler * Visualization::ArrowOverlay::handler ( ) const
overridevirtual

◆ itemStyles()

Visualization::StyleSet< ArrowOverlay > & Visualization::ArrowOverlay::itemStyles ( )
static

◆ paint()

void Visualization::ArrowOverlay::paint ( QPainter *  painter,
const QStyleOptionGraphicsItem *  option,
QWidget *  widget 
)
overridevirtual

◆ removeAddOn()

bool Visualization::ArrowOverlay::removeAddOn ( Visualization::VisualizationAddOn addOn)
static

◆ setDefaultClassHandler()

static void Visualization::ArrowOverlay::setDefaultClassHandler ( Visualization::InteractionHandler handler)
inlinestatic

◆ setHighlighted()

void Visualization::ArrowOverlay::setHighlighted ( bool  highlighted)
inline

◆ setStyle()

void Visualization::ArrowOverlay::setStyle ( const Visualization::ItemStyle itemStyle)
overridevirtual

◆ shape()

QPainterPath Visualization::ArrowOverlay::shape ( ) const
overrideprotectedvirtual

◆ staticAddOns()

QList< Visualization::VisualizationAddOn * > & Visualization::ArrowOverlay::staticAddOns ( )
staticprivate

◆ style()

const StyleType* Visualization::ArrowOverlay::style ( ) const
inline

◆ updateGeometry()

void Visualization::ArrowOverlay::updateGeometry ( int  availableWidth,
int  availableHeight 
)
overrideprotectedvirtual

Member Data Documentation

◆ currentArrowOutline_

QPolygonF Visualization::ArrowOverlay::currentArrowOutline_ {}
private

◆ defaultClassHandler_

Visualization::InteractionHandler * Visualization::ArrowOverlay::defaultClassHandler_ = nullptr
staticprivate

◆ highlighted_

bool Visualization::ArrowOverlay::highlighted_ {false}
private

◆ invertArrow_

bool Visualization::ArrowOverlay::invertArrow_ {}
private

◆ lineFrom_

QPoint Visualization::ArrowOverlay::lineFrom_ {}
private

◆ lineTo_

QPoint Visualization::ArrowOverlay::lineTo_ {}
private