#include <bit-gtkmm/bufferlist.h>
Public Member Functions | |
BufferList () | |
~BufferList () | |
bit::RecordBuffer & | buffer () |
void | set_buffer (bit::RecordBuffer &buffer) |
void | enable_tooltips (bool b=true) |
Protected Member Functions | |
void | on_record_changed () |
Callback when the record changes; emits the dispatcher signal. | |
void | on_record_changed_dispatcher () |
Updates the field when the record changes from the dispatch signal. | |
void | on_field_value_changed (bit::FieldBuffer fieldbuffer) |
void | on_field_value_changed_dispatcher () |
void | set_field_value (bit::FieldBase::pointer field) |
void | load_all_field_values () |
void | load_all_field_values (bit::FieldBase::pointer) |
void | create_table () |
void | setup_table () |
unsigned int | add_field_label (bit::FieldBase::pointer fb, unsigned int row=0, unsigned int depth=0) |
unsigned int | add_field_value_label (bit::FieldBase::pointer fb, unsigned int row=0) |
Protected Attributes | |
bit::RecordBuffer | m_buffer |
Gtk::Table * | m_table |
int | m_mode |
std::map < bit::FieldBase::pointer, Gtk::Label * > | m_value_label |
unsigned int | m_value_label_left |
Gtk::Tooltips | m_tooltips |
Glib::Dispatcher | m_record_changed_dispatcher |
Connected to the record changed signal. | |
Glib::Dispatcher | m_field_changed_dispatcher |
Connected to the field changed signal. | |
Glib::StaticMutex | m_record_mutex |
Locked when the record is being updated. | |
Glib::StaticMutex | m_field_queue_mutex |
Locked when the field queue is accessed. | |
std::queue< bit::FieldBuffer > | m_field_queue |
Queue of fields that need to be updated. |
bitGtk::BufferList::BufferList | ( | ) |
bitGtk::BufferList::~BufferList | ( | ) |
bit::RecordBuffer & bitGtk::BufferList::buffer | ( | ) |
References m_buffer.
void bitGtk::BufferList::set_buffer | ( | bit::RecordBuffer & | buffer | ) |
References m_buffer, on_field_value_changed(), on_record_changed(), and setup_table().
void bitGtk::BufferList::enable_tooltips | ( | bool | b = true |
) |
References m_tooltips.
void bitGtk::BufferList::on_record_changed | ( | ) | [protected] |
Callback when the record changes; emits the dispatcher signal.
References m_record_changed_dispatcher.
Referenced by set_buffer().
void bitGtk::BufferList::on_record_changed_dispatcher | ( | ) | [protected] |
Updates the field when the record changes from the dispatch signal.
References load_all_field_values().
Referenced by BufferList().
void bitGtk::BufferList::on_field_value_changed | ( | bit::FieldBuffer | fieldbuffer | ) | [protected] |
References m_field_changed_dispatcher, m_field_queue, and m_field_queue_mutex.
Referenced by set_buffer(), and set_field_value().
void bitGtk::BufferList::on_field_value_changed_dispatcher | ( | ) | [protected] |
References m_field_queue, m_field_queue_mutex, m_mode, and m_value_label.
Referenced by BufferList().
void bitGtk::BufferList::set_field_value | ( | bit::FieldBase::pointer | field | ) | [protected] |
void bitGtk::BufferList::load_all_field_values | ( | ) | [protected] |
References m_buffer.
Referenced by load_all_field_values(), on_record_changed_dispatcher(), and setup_table().
void bitGtk::BufferList::load_all_field_values | ( | bit::FieldBase::pointer | field | ) | [protected] |
References load_all_field_values(), and set_field_value().
void bitGtk::BufferList::create_table | ( | ) | [protected] |
void bitGtk::BufferList::setup_table | ( | ) | [protected] |
References add_field_label(), add_field_value_label(), create_table(), load_all_field_values(), m_buffer, m_value_label, and m_value_label_left.
Referenced by set_buffer().
unsigned int bitGtk::BufferList::add_field_label | ( | bit::FieldBase::pointer | fb, | |
unsigned int | row = 0 , |
|||
unsigned int | depth = 0 | |||
) | [protected] |
unsigned int bitGtk::BufferList::add_field_value_label | ( | bit::FieldBase::pointer | fb, | |
unsigned int | row = 0 | |||
) | [protected] |
bit::RecordBuffer bitGtk::BufferList::m_buffer [protected] |
Referenced by buffer(), load_all_field_values(), set_buffer(), set_field_value(), and setup_table().
Gtk::Table* bitGtk::BufferList::m_table [protected] |
Referenced by add_field_label(), add_field_value_label(), and create_table().
int bitGtk::BufferList::m_mode [protected] |
Referenced by on_field_value_changed_dispatcher().
std::map< bit::FieldBase::pointer, Gtk::Label*> bitGtk::BufferList::m_value_label [protected] |
Referenced by add_field_value_label(), on_field_value_changed_dispatcher(), and setup_table().
unsigned int bitGtk::BufferList::m_value_label_left [protected] |
Referenced by add_field_label(), add_field_value_label(), and setup_table().
Gtk::Tooltips bitGtk::BufferList::m_tooltips [protected] |
Referenced by add_field_label(), add_field_value_label(), and enable_tooltips().
Glib::Dispatcher bitGtk::BufferList::m_record_changed_dispatcher [protected] |
Glib::Dispatcher bitGtk::BufferList::m_field_changed_dispatcher [protected] |
Glib::StaticMutex bitGtk::BufferList::m_record_mutex [protected] |
Locked when the record is being updated.
Glib::StaticMutex bitGtk::BufferList::m_field_queue_mutex [protected] |
Locked when the field queue is accessed.
Referenced by on_field_value_changed(), and on_field_value_changed_dispatcher().
std::queue<bit::FieldBuffer> bitGtk::BufferList::m_field_queue [protected] |
Queue of fields that need to be updated.
Referenced by on_field_value_changed(), and on_field_value_changed_dispatcher().