Ardour  9.0-pre0-582-g084a23a80d
VisibilityGroup Class Reference

#include <visibility_group.h>

Classes

struct  Member
 
class  ModelColumns
 

Public Member Functions

 VisibilityGroup (std::string const &)
 
void add (Gtk::Widget *, std::string const &, std::string const &, bool visible=false, std::function< std::optional< bool >()>=0)
 
Gtk::Widgetlist_view ()
 
bool button_press_event (GdkEventButton *)
 
void update ()
 
void set_state (XMLNode const &)
 
void set_state (std::string)
 
std::string get_state_name () const
 
std::string get_state_value () const
 

Static Public Member Functions

static std::string remove_element (std::string const &from, std::string const &element)
 
static std::string add_element (std::string const &from, std::string const &element)
 

Public Attributes

PBD::Signal< void()> VisibilityChanged
 

Private Member Functions

void toggle (std::vector< Member >::iterator)
 
void list_view_visible_changed (std::string const &)
 
void update_list_view ()
 
bool should_actually_be_visible (Member const &) const
 

Private Attributes

std::vector< Member_members
 
std::string _xml_property_name
 
ModelColumns _model_columns
 
Glib::RefPtr< Gtk::ListStore_model
 
bool _ignore_list_view_change
 

Detailed Description

A class to manage a group of widgets where the visibility of each can be configured by the user. The class can generate a menu to set up visibility, and save and restore visibility state to XML.

Definition at line 36 of file visibility_group.h.

Constructor & Destructor Documentation

◆ VisibilityGroup()

VisibilityGroup::VisibilityGroup ( std::string const &  )

Member Function Documentation

◆ add()

void VisibilityGroup::add ( Gtk::Widget ,
std::string const &  ,
std::string const &  ,
bool  visible = false,
std::function< std::optional< bool >()>  = 0 
)

◆ add_element()

static std::string VisibilityGroup::add_element ( std::string const &  from,
std::string const &  element 
)
static

◆ button_press_event()

bool VisibilityGroup::button_press_event ( GdkEventButton )

◆ get_state_name()

std::string VisibilityGroup::get_state_name ( ) const

◆ get_state_value()

std::string VisibilityGroup::get_state_value ( ) const

◆ list_view()

Gtk::Widget* VisibilityGroup::list_view ( )

◆ list_view_visible_changed()

void VisibilityGroup::list_view_visible_changed ( std::string const &  )
private

◆ remove_element()

static std::string VisibilityGroup::remove_element ( std::string const &  from,
std::string const &  element 
)
static

◆ set_state() [1/2]

void VisibilityGroup::set_state ( std::string  )

◆ set_state() [2/2]

void VisibilityGroup::set_state ( XMLNode const &  )

◆ should_actually_be_visible()

bool VisibilityGroup::should_actually_be_visible ( Member const &  ) const
private

◆ toggle()

void VisibilityGroup::toggle ( std::vector< Member >::iterator  )
private

◆ update()

void VisibilityGroup::update ( )

◆ update_list_view()

void VisibilityGroup::update_list_view ( )
private

Member Data Documentation

◆ _ignore_list_view_change

bool VisibilityGroup::_ignore_list_view_change
private

Definition at line 94 of file visibility_group.h.

◆ _members

std::vector<Member> VisibilityGroup::_members
private

Definition at line 90 of file visibility_group.h.

◆ _model

Glib::RefPtr<Gtk::ListStore> VisibilityGroup::_model
private

Definition at line 93 of file visibility_group.h.

◆ _model_columns

ModelColumns VisibilityGroup::_model_columns
private

Definition at line 92 of file visibility_group.h.

◆ _xml_property_name

std::string VisibilityGroup::_xml_property_name
private

Definition at line 91 of file visibility_group.h.

◆ VisibilityChanged

PBD::Signal<void()> VisibilityGroup::VisibilityChanged

Definition at line 57 of file visibility_group.h.


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