
#include <bit-gtkmm/buffertable.h>
Public Member Functions | |
| BufferTable () | |
| ~BufferTable () | |
| bit::FieldBase::pointer | record () |
| void | set_record (bit::FieldBase::pointer record) |
| bit::RecordBuffer & | buffer () |
| void | set_buffer (bit::RecordBuffer &buffer) |
| void | set_bit_width (size_t w) |
| void | enable_tooltips (bool b=true) |
| void | enable_highlighter (bool b=true) |
| void | set_bg_color (std::string s) |
| void | add_color_set (std::string normal_color, std::string highlight_color="yellow") |
| void | clear_color_sets () |
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) |
| 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 () |
| void | create_fieldboxes (bit::FieldBase::pointer fb) |
| void | add_fieldbox (bit::FieldBase::pointer, unsigned left, unsigned right, unsigned top, unsigned bottom, Gdk::Color bg, Gdk::Color hl) |
| bool | on_enter (GdkEventCrossing *, bit::FieldBase::pointer) |
| bool | on_leave (GdkEventCrossing *, bit::FieldBase::pointer) |
Protected Attributes | |
| std::map < bit::FieldBase::pointer, FieldBox > | m_fieldbox |
| bit::RecordBuffer | m_buffer |
| bit::FieldBase::pointer | m_record |
| int | m_mode |
| std::list< std::pair < Gdk::Color, Gdk::Color > > | m_colors |
| Gtk::Tooltips | m_tooltips |
| bool | m_highlighter_enabled |
| Gdk::Color | m_bg_color |
| size_t | m_display_bit_width |
| Gtk::Table * | m_table |
| Gtk::EventBox | m_tablebox |
| Gtk::EventBox | m_tableboxouter |
| 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. | |
Classes | |
| struct | FieldBox |
| bitGtk::BufferTable::BufferTable | ( | ) |
| bitGtk::BufferTable::~BufferTable | ( | ) |
| bit::FieldBase::pointer bitGtk::BufferTable::record | ( | ) |
References m_record.
| void bitGtk::BufferTable::set_record | ( | bit::FieldBase::pointer | record | ) |
References m_buffer, m_record, and setup_table().
| bit::RecordBuffer & bitGtk::BufferTable::buffer | ( | ) |
References m_buffer.
| void bitGtk::BufferTable::set_buffer | ( | bit::RecordBuffer & | buffer | ) |
References load_all_field_values(), m_buffer, m_record, on_field_value_changed(), on_record_changed(), and setup_table().
| void bitGtk::BufferTable::set_bit_width | ( | size_t | w | ) |
References m_display_bit_width, and setup_table().
| void bitGtk::BufferTable::enable_tooltips | ( | bool | b = true |
) |
References m_tooltips, and setup_table().
| void bitGtk::BufferTable::enable_highlighter | ( | bool | b = true |
) |
References m_highlighter_enabled, and setup_table().
| void bitGtk::BufferTable::set_bg_color | ( | std::string | s | ) |
References m_bg_color, and setup_table().
| void bitGtk::BufferTable::add_color_set | ( | std::string | normal_color, | |
| std::string | highlight_color = "yellow" | |||
| ) |
| void bitGtk::BufferTable::clear_color_sets | ( | ) |
References m_colors.
| void bitGtk::BufferTable::on_record_changed | ( | ) | [protected] |
Callback when the record changes; emits the dispatcher signal.
References m_record_changed_dispatcher.
Referenced by set_buffer().
| void bitGtk::BufferTable::on_record_changed_dispatcher | ( | ) | [protected] |
Updates the field when the record changes from the dispatch signal.
References load_all_field_values().
Referenced by BufferTable().
| void bitGtk::BufferTable::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::BufferTable::on_field_value_changed_dispatcher | ( | ) | [protected] |
| void bitGtk::BufferTable::set_field_value | ( | bit::FieldBase::pointer | field | ) | [protected] |
| void bitGtk::BufferTable::load_all_field_values | ( | ) | [protected] |
References m_buffer.
Referenced by load_all_field_values(), on_record_changed_dispatcher(), and set_buffer().
| void bitGtk::BufferTable::load_all_field_values | ( | bit::FieldBase::pointer | field | ) | [protected] |
References load_all_field_values(), and set_field_value().
| void bitGtk::BufferTable::create_table | ( | ) | [protected] |
| void bitGtk::BufferTable::setup_table | ( | ) | [protected] |
References create_fieldboxes(), create_table(), m_bg_color, m_colors, m_display_bit_width, m_fieldbox, m_record, m_table, m_tablebox, and m_tableboxouter.
Referenced by enable_highlighter(), enable_tooltips(), set_bg_color(), set_bit_width(), set_buffer(), and set_record().
| void bitGtk::BufferTable::create_fieldboxes | ( | bit::FieldBase::pointer | fb | ) | [protected] |
| void bitGtk::BufferTable::add_fieldbox | ( | bit::FieldBase::pointer | field, | |
| unsigned | left, | |||
| unsigned | right, | |||
| unsigned | top, | |||
| unsigned | bottom, | |||
| Gdk::Color | bg, | |||
| Gdk::Color | hl | |||
| ) | [protected] |
References m_fieldbox, m_table, m_tooltips, on_enter(), and on_leave().
Referenced by create_fieldboxes().
| bool bitGtk::BufferTable::on_enter | ( | GdkEventCrossing * | , | |
| bit::FieldBase::pointer | field | |||
| ) | [protected] |
| bool bitGtk::BufferTable::on_leave | ( | GdkEventCrossing * | , | |
| bit::FieldBase::pointer | field | |||
| ) | [protected] |
std::map<bit::FieldBase::pointer, FieldBox > bitGtk::BufferTable::m_fieldbox [protected] |
Referenced by add_fieldbox(), on_enter(), on_field_value_changed_dispatcher(), on_leave(), and setup_table().
bit::RecordBuffer bitGtk::BufferTable::m_buffer [protected] |
Referenced by buffer(), load_all_field_values(), set_buffer(), set_field_value(), and set_record().
bit::FieldBase::pointer bitGtk::BufferTable::m_record [protected] |
Referenced by record(), set_buffer(), set_record(), and setup_table().
int bitGtk::BufferTable::m_mode [protected] |
Referenced by on_field_value_changed_dispatcher().
std::list<std::pair<Gdk::Color, Gdk::Color> > bitGtk::BufferTable::m_colors [protected] |
Referenced by add_color_set(), clear_color_sets(), create_fieldboxes(), and setup_table().
Gtk::Tooltips bitGtk::BufferTable::m_tooltips [protected] |
Referenced by add_fieldbox(), and enable_tooltips().
bool bitGtk::BufferTable::m_highlighter_enabled [protected] |
Referenced by enable_highlighter(), on_enter(), and on_leave().
Gdk::Color bitGtk::BufferTable::m_bg_color [protected] |
Referenced by BufferTable(), set_bg_color(), and setup_table().
size_t bitGtk::BufferTable::m_display_bit_width [protected] |
Referenced by create_fieldboxes(), set_bit_width(), and setup_table().
Gtk::Table* bitGtk::BufferTable::m_table [protected] |
Referenced by add_fieldbox(), create_table(), and setup_table().
Gtk::EventBox bitGtk::BufferTable::m_tablebox [protected] |
Referenced by BufferTable(), create_table(), and setup_table().
Gtk::EventBox bitGtk::BufferTable::m_tableboxouter [protected] |
Referenced by BufferTable(), and setup_table().
Glib::Dispatcher bitGtk::BufferTable::m_record_changed_dispatcher [protected] |
Glib::Dispatcher bitGtk::BufferTable::m_field_changed_dispatcher [protected] |
Glib::StaticMutex bitGtk::BufferTable::m_record_mutex [protected] |
Locked when the record is being updated.
Glib::StaticMutex bitGtk::BufferTable::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::BufferTable::m_field_queue [protected] |
Queue of fields that need to be updated.
Referenced by on_field_value_changed(), and on_field_value_changed_dispatcher().
1.5.6