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

Public Types

using ItemGetter1Item = std::function< QList< Item * >()>
 
using ItemGetter2Items = std::function< QList< QPair< Item *, Item * > >()>
 
using OverlayConstructor1Arg = std::function< OverlayAccessor *(Item *item)>
 
using OverlayConstructor2Args = std::function< OverlayAccessor *(Item *item1, Item *item2)>
 
using PostUpdateFunction = std::function< void(OverlayGroup &group)>
 

Public Member Functions

 ~OverlayGroup ()
 
void addOverlay (OverlayAccessor *overlay)
 
void addOverlayFor (Item *item)
 
void addOverlayFor (Item *item1, Item *item2)
 
void clear ()
 
void hide ()
 
bool isVisible () const
 
const QString & name () const
 
const QList< OverlayAccessor * > & overlays () const
 
QList< OverlayAccessor * > overlaysForItem (const Item *item) const
 
bool removeOverlay (Item *overlay)
 
bool removeOverlay (OverlayAccessor *overlay)
 
bool removeOverlayOf (Item *itemWithOverlay)
 
Scenescene () const
 
void setDynamic1Item (ItemGetter1Item getter)
 
void setDynamic2Items (ItemGetter2Items getter)
 
void setOverlayConstructor1Arg (OverlayConstructor1Arg constructor)
 
void setOverlayConstructor2Args (OverlayConstructor2Args constructor)
 
void setPostUpdateFunction (PostUpdateFunction function)
 
void show ()
 
void toggle ()
 

Private Member Functions

 OverlayGroup (Scene *scene, QString name)
 
bool removeOverlay (QList< OverlayAccessor * >::iterator it)
 
void update ()
 Called by scene to update all Overlay items. More...
 

Private Attributes

OverlayConstructor1Arg constructorFunction1_
 
OverlayConstructor2Args constructorFunction2_
 
bool hidden_ {}
 
ItemGetter1Item itemGetterFunction1_
 
ItemGetter2Items itemGetterFunction2_
 
QString name_
 
QList< OverlayAccessor * > overlays_
 
PostUpdateFunction postUpdateFunction_
 
Scenescene_ {}
 

Friends

class Scene
 

Member Typedef Documentation

◆ ItemGetter1Item

using Visualization::OverlayGroup::ItemGetter1Item = std::function<QList<Item*>()>

◆ ItemGetter2Items

using Visualization::OverlayGroup::ItemGetter2Items = std::function<QList<QPair<Item*, Item*> >()>

◆ OverlayConstructor1Arg

◆ OverlayConstructor2Args

◆ PostUpdateFunction

using Visualization::OverlayGroup::PostUpdateFunction = std::function<void (OverlayGroup& group)>

Constructor & Destructor Documentation

◆ ~OverlayGroup()

Visualization::OverlayGroup::~OverlayGroup ( )

◆ OverlayGroup()

Visualization::OverlayGroup::OverlayGroup ( Scene scene,
QString  name 
)
private

Member Function Documentation

◆ addOverlay()

void Visualization::OverlayGroup::addOverlay ( OverlayAccessor overlay)

◆ addOverlayFor() [1/2]

void Visualization::OverlayGroup::addOverlayFor ( Item item)

◆ addOverlayFor() [2/2]

void Visualization::OverlayGroup::addOverlayFor ( Item item1,
Item item2 
)

◆ clear()

void Visualization::OverlayGroup::clear ( )

◆ hide()

void Visualization::OverlayGroup::hide ( )

◆ isVisible()

bool Visualization::OverlayGroup::isVisible ( ) const
inline

◆ name()

const QString & Visualization::OverlayGroup::name ( ) const
inline

◆ overlays()

const QList< OverlayAccessor * > & Visualization::OverlayGroup::overlays ( ) const
inline

◆ overlaysForItem()

QList< OverlayAccessor * > Visualization::OverlayGroup::overlaysForItem ( const Item item) const

◆ removeOverlay() [1/3]

bool Visualization::OverlayGroup::removeOverlay ( Item overlay)

◆ removeOverlay() [2/3]

bool Visualization::OverlayGroup::removeOverlay ( OverlayAccessor overlay)

◆ removeOverlay() [3/3]

bool Visualization::OverlayGroup::removeOverlay ( QList< OverlayAccessor * >::iterator  it)
private

◆ removeOverlayOf()

bool Visualization::OverlayGroup::removeOverlayOf ( Item itemWithOverlay)

◆ scene()

Scene * Visualization::OverlayGroup::scene ( ) const
inline

◆ setDynamic1Item()

void Visualization::OverlayGroup::setDynamic1Item ( ItemGetter1Item  getter)

◆ setDynamic2Items()

void Visualization::OverlayGroup::setDynamic2Items ( ItemGetter2Items  getter)

◆ setOverlayConstructor1Arg()

void Visualization::OverlayGroup::setOverlayConstructor1Arg ( OverlayConstructor1Arg  constructor)

◆ setOverlayConstructor2Args()

void Visualization::OverlayGroup::setOverlayConstructor2Args ( OverlayConstructor2Args  constructor)

◆ setPostUpdateFunction()

void Visualization::OverlayGroup::setPostUpdateFunction ( PostUpdateFunction  function)

◆ show()

void Visualization::OverlayGroup::show ( )

◆ toggle()

void Visualization::OverlayGroup::toggle ( )

◆ update()

void Visualization::OverlayGroup::update ( )
private

Called by scene to update all Overlay items.

Friends And Related Function Documentation

◆ Scene

friend class Scene
friend

Member Data Documentation

◆ constructorFunction1_

OverlayConstructor1Arg Visualization::OverlayGroup::constructorFunction1_
private

◆ constructorFunction2_

OverlayConstructor2Args Visualization::OverlayGroup::constructorFunction2_
private

◆ hidden_

bool Visualization::OverlayGroup::hidden_ {}
private

◆ itemGetterFunction1_

ItemGetter1Item Visualization::OverlayGroup::itemGetterFunction1_
private

◆ itemGetterFunction2_

ItemGetter2Items Visualization::OverlayGroup::itemGetterFunction2_
private

◆ name_

QString Visualization::OverlayGroup::name_
private

◆ overlays_

QList<OverlayAccessor*> Visualization::OverlayGroup::overlays_
private

◆ postUpdateFunction_

PostUpdateFunction Visualization::OverlayGroup::postUpdateFunction_
private

◆ scene_

Scene* Visualization::OverlayGroup::scene_ {}
private