LibrePCB Developers Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UiObjectList< TObj, TUiData > Class Template Reference

The UiObjectList class. More...

#include <uiobjectlist.h>

Inherits Model< TUiData >.

+ Collaboration diagram for UiObjectList< TObj, TUiData >:

Public Types

enum class  Event
 
typedef TObj Element
 
typedef TUiData UiData
 
typedef Slot< UiObjectList< TObj, TUiData >, int, const std::shared_ptr< const TObj > &, EventOnEditedSlot
 

Public Member Functions

 UiObjectList () noexcept
 
 UiObjectList (const UiObjectList &other)=delete
 
 ~UiObjectList () noexcept
 
int count () const noexcept
 
bool isEmpty () const noexcept
 
std::shared_ptr< TObj > at (int index) noexcept
 
std::shared_ptr< TObj > value (int index) noexcept
 
void append (const std::shared_ptr< TObj > &obj) noexcept
 
void insert (int index, const std::shared_ptr< TObj > &obj) noexcept
 
bool remove (int index) noexcept
 
std::shared_ptr< TObj > take (const TObj *obj) noexcept
 
std::shared_ptr< TObj > takeAt (int index) noexcept
 
std::optional< int > indexOf (const TObj *obj) const noexcept
 
auto begin () noexcept
 
auto end () noexcept
 
std::size_t row_count () const noexcept override
 
std::optional< TUiData > row_data (std::size_t i) const override
 
void set_row_data (size_t i, const TUiData &data) noexcept override
 
UiObjectListoperator= (const UiObjectList &rhs)=delete
 

Public Attributes

Signal< UiObjectList< TObj, TUiData >, int, const std::shared_ptr< const TObj > &, EventonEdited
 

Private Member Functions

void elementUiDataChangedHandler (const TObj &obj) noexcept
 

Private Attributes

QVector< std::shared_ptr< TObj > > mObjects
 
Slot< TObj > mOnUiDataChangedSlot
 

Detailed Description

template<typename TObj, typename TUiData>
class librepcb::editor::UiObjectList< TObj, TUiData >

The UiObjectList class.

Member Typedef Documentation

◆ Element

template<typename TObj , typename TUiData >
typedef TObj Element

◆ UiData

template<typename TObj , typename TUiData >
typedef TUiData UiData

◆ OnEditedSlot

template<typename TObj , typename TUiData >
typedef Slot<UiObjectList<TObj, TUiData>, int, const std::shared_ptr<const TObj>&, Event> OnEditedSlot

Member Enumeration Documentation

◆ Event

template<typename TObj , typename TUiData >
enum class Event
strong
Enumerator
ElementAdded 
ElementRemoved 
ElementUiDataChanged 

Constructor & Destructor Documentation

◆ UiObjectList() [1/2]

template<typename TObj , typename TUiData >
UiObjectList ( )
inlinenoexcept

◆ UiObjectList() [2/2]

template<typename TObj , typename TUiData >
UiObjectList ( const UiObjectList< TObj, TUiData > &  other)
delete

◆ ~UiObjectList()

template<typename TObj , typename TUiData >
~UiObjectList ( )
inlinenoexcept

Member Function Documentation

◆ count()

template<typename TObj , typename TUiData >
int count ( ) const
inlinenoexcept

◆ isEmpty()

template<typename TObj , typename TUiData >
bool isEmpty ( ) const
inlinenoexcept

◆ at()

template<typename TObj , typename TUiData >
std::shared_ptr< TObj > at ( int  index)
inlinenoexcept
+ Here is the caller graph for this function:

◆ value()

template<typename TObj , typename TUiData >
std::shared_ptr< TObj > value ( int  index)
inlinenoexcept

◆ append()

template<typename TObj , typename TUiData >
void append ( const std::shared_ptr< TObj > &  obj)
inlinenoexcept
+ Here is the call graph for this function:

◆ insert()

template<typename TObj , typename TUiData >
void insert ( int  index,
const std::shared_ptr< TObj > &  obj 
)
inlinenoexcept
+ Here is the caller graph for this function:

◆ remove()

template<typename TObj , typename TUiData >
bool remove ( int  index)
inlinenoexcept
+ Here is the call graph for this function:

◆ take()

template<typename TObj , typename TUiData >
std::shared_ptr< TObj > take ( const TObj *  obj)
inlinenoexcept
+ Here is the call graph for this function:

◆ takeAt()

template<typename TObj , typename TUiData >
std::shared_ptr< TObj > takeAt ( int  index)
inlinenoexcept
+ Here is the caller graph for this function:

◆ indexOf()

template<typename TObj , typename TUiData >
std::optional< int > indexOf ( const TObj *  obj) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ begin()

template<typename TObj , typename TUiData >
auto begin ( )
inlinenoexcept

◆ end()

template<typename TObj , typename TUiData >
auto end ( )
inlinenoexcept

◆ row_count()

template<typename TObj , typename TUiData >
std::size_t row_count ( ) const
inlineoverridenoexcept

◆ row_data()

template<typename TObj , typename TUiData >
std::optional< TUiData > row_data ( std::size_t  i) const
inlineoverride

◆ set_row_data()

template<typename TObj , typename TUiData >
void set_row_data ( size_t  i,
const TUiData &  data 
)
inlineoverridenoexcept

◆ operator=()

template<typename TObj , typename TUiData >
UiObjectList & operator= ( const UiObjectList< TObj, TUiData > &  rhs)
delete

◆ elementUiDataChangedHandler()

template<typename TObj , typename TUiData >
void elementUiDataChangedHandler ( const TObj &  obj)
inlineprivatenoexcept
+ Here is the call graph for this function:

Member Data Documentation

◆ onEdited

template<typename TObj , typename TUiData >
Signal<UiObjectList<TObj, TUiData>, int, const std::shared_ptr<const TObj>&, Event> onEdited

◆ mObjects

template<typename TObj , typename TUiData >
QVector<std::shared_ptr<TObj> > mObjects
private

◆ mOnUiDataChangedSlot

template<typename TObj , typename TUiData >
Slot<TObj> mOnUiDataChangedSlot
private

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