KiCad PCB EDA Suite
TOOL_EVENT_LIST Class Reference

A list of TOOL_EVENTs, with overloaded || operators allowing for concatenating TOOL_EVENTs with little code. More...

#include <tool_event.h>

Public Types

typedef TOOL_EVENT value_type
 
typedef std::deque< TOOL_EVENT >::iterator iterator
 
typedef std::deque< TOOL_EVENT >::const_iterator const_iterator
 Default constructor. Creates an empty list. More...
 

Public Member Functions

 TOOL_EVENT_LIST ()
 Constructor for a list containing only one TOOL_EVENT. More...
 
 TOOL_EVENT_LIST (const TOOL_EVENT &aSingleEvent)
 Copy an existing TOOL_EVENT_LIST. More...
 
 TOOL_EVENT_LIST (const TOOL_EVENT_LIST &aEventList)
 
const std::string Format () const
 Function Format() Returns information about event in form of a human-readable string. More...
 
OPT_TOOL_EVENT Matches (const TOOL_EVENT &aEvent) const
 
void Add (const TOOL_EVENT &aEvent)
 Add a tool event to the list. More...
 
iterator begin ()
 
iterator end ()
 
const_iterator cbegin () const
 
const_iterator cend () const
 
int size () const
 
void clear ()
 
TOOL_EVENT_LISToperator= (const TOOL_EVENT_LIST &aEventList)
 
TOOL_EVENT_LISToperator= (const TOOL_EVENT &aEvent)
 
TOOL_EVENT_LISToperator|| (const TOOL_EVENT &aEvent)
 
TOOL_EVENT_LISToperator|| (const TOOL_EVENT_LIST &aEvent)
 

Private Attributes

std::deque< TOOL_EVENTm_events
 

Detailed Description

A list of TOOL_EVENTs, with overloaded || operators allowing for concatenating TOOL_EVENTs with little code.

Definition at line 563 of file tool_event.h.

Member Typedef Documentation

◆ const_iterator

typedef std::deque<TOOL_EVENT>::const_iterator TOOL_EVENT_LIST::const_iterator

Default constructor. Creates an empty list.

Definition at line 568 of file tool_event.h.

◆ iterator

typedef std::deque<TOOL_EVENT>::iterator TOOL_EVENT_LIST::iterator

Definition at line 567 of file tool_event.h.

◆ value_type

Definition at line 566 of file tool_event.h.

Constructor & Destructor Documentation

◆ TOOL_EVENT_LIST() [1/3]

TOOL_EVENT_LIST::TOOL_EVENT_LIST ( )
inline

Constructor for a list containing only one TOOL_EVENT.

Definition at line 571 of file tool_event.h.

◆ TOOL_EVENT_LIST() [2/3]

TOOL_EVENT_LIST::TOOL_EVENT_LIST ( const TOOL_EVENT aSingleEvent)
inline

Copy an existing TOOL_EVENT_LIST.

Definition at line 575 of file tool_event.h.

References m_events.

◆ TOOL_EVENT_LIST() [3/3]

TOOL_EVENT_LIST::TOOL_EVENT_LIST ( const TOOL_EVENT_LIST aEventList)
inline

Definition at line 581 of file tool_event.h.

582 {
583 m_events.clear();
584
585 for( const TOOL_EVENT& event : aEventList.m_events )
586 m_events.push_back( event );
587 }
std::deque< TOOL_EVENT > m_events
Definition: tool_event.h:678
Generic, UI-independent tool event.
Definition: tool_event.h:156

References m_events.

Member Function Documentation

◆ Add()

void TOOL_EVENT_LIST::Add ( const TOOL_EVENT aEvent)
inline

Add a tool event to the list.

Parameters
aEventis the tool event to be added.

Definition at line 613 of file tool_event.h.

614 {
615 m_events.push_back( aEvent );
616 }

References m_events.

Referenced by operator||(), and operator||().

◆ begin()

iterator TOOL_EVENT_LIST::begin ( )
inline

Definition at line 618 of file tool_event.h.

619 {
620 return m_events.begin();
621 }

References m_events.

◆ cbegin()

const_iterator TOOL_EVENT_LIST::cbegin ( ) const
inline

Definition at line 628 of file tool_event.h.

629 {
630 return m_events.begin();
631 }

References m_events.

◆ cend()

const_iterator TOOL_EVENT_LIST::cend ( ) const
inline

Definition at line 633 of file tool_event.h.

634 {
635 return m_events.end();
636 }

References m_events.

◆ clear()

void TOOL_EVENT_LIST::clear ( )
inline

Definition at line 643 of file tool_event.h.

644 {
645 m_events.clear();
646 }

References m_events.

Referenced by TOOL_MANAGER::dispatchInternal(), and TOOL_MANAGER::ShutdownTool().

◆ end()

iterator TOOL_EVENT_LIST::end ( )
inline

Definition at line 623 of file tool_event.h.

624 {
625 return m_events.end();
626 }

References m_events.

◆ Format()

const std::string TOOL_EVENT_LIST::Format ( ) const

Function Format() Returns information about event in form of a human-readable string.

Returns
Event information.

Definition at line 182 of file tool_event.cpp.

183{
184 std::string s;
185
186 for( const TOOL_EVENT& e : m_events )
187 s += e.Format() + " ";
188
189 return s;
190}

References m_events.

◆ Matches()

OPT_TOOL_EVENT TOOL_EVENT_LIST::Matches ( const TOOL_EVENT aEvent) const
inline

Definition at line 597 of file tool_event.h.

598 {
599 for( const TOOL_EVENT& event : m_events )
600 {
601 if( event.Matches( aEvent ) )
602 return event;
603 }
604
605 return OPT_TOOL_EVENT();
606 }
std::optional< TOOL_EVENT > OPT_TOOL_EVENT
Definition: tool_event.h:557

References m_events.

Referenced by TOOL_MANAGER::dispatchInternal().

◆ operator=() [1/2]

TOOL_EVENT_LIST & TOOL_EVENT_LIST::operator= ( const TOOL_EVENT aEvent)
inline

Definition at line 658 of file tool_event.h.

659 {
660 m_events.clear();
661 m_events.push_back( aEvent );
662 return *this;
663 }

References m_events.

◆ operator=() [2/2]

TOOL_EVENT_LIST & TOOL_EVENT_LIST::operator= ( const TOOL_EVENT_LIST aEventList)
inline

Definition at line 648 of file tool_event.h.

649 {
650 m_events.clear();
651
652 for( const TOOL_EVENT& event : aEventList.m_events )
653 m_events.push_back( event );
654
655 return *this;
656 }

References m_events.

◆ operator||() [1/2]

TOOL_EVENT_LIST & TOOL_EVENT_LIST::operator|| ( const TOOL_EVENT aEvent)
inline

Definition at line 665 of file tool_event.h.

666 {
667 Add( aEvent );
668 return *this;
669 }
void Add(const TOOL_EVENT &aEvent)
Add a tool event to the list.
Definition: tool_event.h:613

References Add().

◆ operator||() [2/2]

TOOL_EVENT_LIST & TOOL_EVENT_LIST::operator|| ( const TOOL_EVENT_LIST aEvent)
inline

Definition at line 671 of file tool_event.h.

672 {
673 std::copy( aEvent.m_events.begin(), aEvent.m_events.end(), std::back_inserter( m_events ) );
674 return *this;
675 }

References m_events.

◆ size()

int TOOL_EVENT_LIST::size ( ) const
inline

Definition at line 638 of file tool_event.h.

639 {
640 return m_events.size();
641 }

References m_events.

Member Data Documentation

◆ m_events

std::deque<TOOL_EVENT> TOOL_EVENT_LIST::m_events
private

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