diff options
Diffstat (limited to 'src/gui/models')
-rw-r--r-- | src/gui/models/langlistmodel.h | 62 | ||||
-rw-r--r-- | src/gui/models/tablemodel.h | 203 |
2 files changed, 134 insertions, 131 deletions
diff --git a/src/gui/models/langlistmodel.h b/src/gui/models/langlistmodel.h index 124d86cf4..0404fc5ae 100644 --- a/src/gui/models/langlistmodel.h +++ b/src/gui/models/langlistmodel.h @@ -81,48 +81,48 @@ const Language LANG_NAME[langs_count] = class LangListModel final : public ExtendedListModel { -public: - LangListModel() - { - ResourceManager *const resman = ResourceManager::getInstance(); - for (int f = 0; f < langs_count; f ++) + public: + LangListModel() { - mIcons[f] = resman->getImage("graphics/flags/" - + LANG_NAME[f].icon); + ResourceManager *const resman = ResourceManager::getInstance(); + for (int f = 0; f < langs_count; f ++) + { + mIcons[f] = resman->getImage("graphics/flags/" + + LANG_NAME[f].icon); + } } - } - A_DELETE_COPY(LangListModel) + A_DELETE_COPY(LangListModel) - ~LangListModel() - { - for (int f = 0; f < langs_count; f ++) + ~LangListModel() { - Image *const img = mIcons[f]; - if (img) - img->decRef(); + for (int f = 0; f < langs_count; f ++) + { + Image *const img = mIcons[f]; + if (img) + img->decRef(); + } } - } - int getNumberOfElements() override final A_WARN_UNUSED - { return langs_count; } + int getNumberOfElements() override final A_WARN_UNUSED + { return langs_count; } - std::string getElementAt(int i) override final A_WARN_UNUSED - { - if (i >= getNumberOfElements() || i < 0) - return "???"; + std::string getElementAt(int i) override final A_WARN_UNUSED + { + if (i >= getNumberOfElements() || i < 0) + return "???"; - return gettext(LANG_NAME[i].name.c_str()); - } + return gettext(LANG_NAME[i].name.c_str()); + } - const Image *getImageAt(int i) override final A_WARN_UNUSED - { - if (i >= getNumberOfElements() || i < 0) - return nullptr; - return mIcons[i]; - } + const Image *getImageAt(int i) override final A_WARN_UNUSED + { + if (i >= getNumberOfElements() || i < 0) + return nullptr; + return mIcons[i]; + } - Image *mIcons[langs_count]; + Image *mIcons[langs_count]; }; #endif // GUI_MODELS_LANGLISTMODEL_H diff --git a/src/gui/models/tablemodel.h b/src/gui/models/tablemodel.h index 1f3f86af7..ca33a9390 100644 --- a/src/gui/models/tablemodel.h +++ b/src/gui/models/tablemodel.h @@ -37,111 +37,114 @@ class TableModelListener; */ class TableModel notfinal { -public: - virtual ~TableModel() - { } - - /** - * Determines the number of rows (lines) in the table - */ - virtual int getRows() const A_WARN_UNUSED = 0; - - /** - * Determines the number of columns in each row - */ - virtual int getColumns() const A_WARN_UNUSED = 0; - - /** - * Determines the height for each row - */ - virtual int getRowHeight() const A_WARN_UNUSED = 0; - - /** - * Determines the width of each individual column - */ - virtual int getColumnWidth(const int index) const A_WARN_UNUSED = 0; - - /** - * Retrieves the widget stored at the specified location within the table. - */ - virtual Widget *getElementAt(const int row, const int column) - const A_WARN_UNUSED = 0; - - virtual void installListener(TableModelListener *const listener); - - virtual void removeListener(TableModelListener *const listener); - -protected: - TableModel() : - listeners() - { - } - - /** - * Tells all listeners that the table is about to see an update - */ - virtual void signalBeforeUpdate(); - - /** - * Tells all listeners that the table has seen an update - */ - virtual void signalAfterUpdate(); - -private: - std::set<TableModelListener *> listeners; + public: + virtual ~TableModel() + { } + + /** + * Determines the number of rows (lines) in the table + */ + virtual int getRows() const A_WARN_UNUSED = 0; + + /** + * Determines the number of columns in each row + */ + virtual int getColumns() const A_WARN_UNUSED = 0; + + /** + * Determines the height for each row + */ + virtual int getRowHeight() const A_WARN_UNUSED = 0; + + /** + * Determines the width of each individual column + */ + virtual int getColumnWidth(const int index) const A_WARN_UNUSED = 0; + + /** + * Retrieves the widget stored at the specified location + * within the table. + */ + virtual Widget *getElementAt(const int row, const int column) + const A_WARN_UNUSED = 0; + + virtual void installListener(TableModelListener *const listener); + + virtual void removeListener(TableModelListener *const listener); + + protected: + TableModel() : + listeners() + { + } + + /** + * Tells all listeners that the table is about to see an update + */ + virtual void signalBeforeUpdate(); + + /** + * Tells all listeners that the table has seen an update + */ + virtual void signalAfterUpdate(); + + private: + std::set<TableModelListener *> listeners; }; class StaticTableModel final : public TableModel { -public: - StaticTableModel(const int width, const int height); - - A_DELETE_COPY(StaticTableModel) - - ~StaticTableModel(); - - /** - * Inserts a widget into the table model. - * The model is resized to accomodate the widget's width and height, - * unless column width / row height have been fixed. - */ - void set(const int row, const int column, Widget *const widget); - - /** - * Fixes the column width for a given column; this overrides dynamic width - * inference. - * - * Semantics are undefined for width 0. - */ - void fixColumnWidth(const int column, const int width); - - /** - * Fixes the row height; this overrides dynamic height inference. - * - * Semantics are undefined for width 0. - */ - void fixRowHeight(const int height); - - /** - * Resizes the table model - */ - void resize(); - - int getRows() const override final A_WARN_UNUSED; - int getColumns() const override final A_WARN_UNUSED; - int getRowHeight() const override final A_WARN_UNUSED; - int getWidth() const A_WARN_UNUSED; - int getHeight() const A_WARN_UNUSED; - int getColumnWidth(const int index) const override final A_WARN_UNUSED; - Widget *getElementAt(const int row, - const int column) const override final A_WARN_UNUSED; - -protected: - int mRows, mColumns; - int mHeight; - std::vector<Widget *> mTableModel; - std::vector<int> mWidths; + public: + StaticTableModel(const int width, const int height); + + A_DELETE_COPY(StaticTableModel) + + ~StaticTableModel(); + + /** + * Inserts a widget into the table model. + * The model is resized to accomodate the widget's width and height, + * unless column width / row height have been fixed. + */ + void set(const int row, const int column, Widget *const widget); + + /** + * Fixes the column width for a given column; this overrides dynamic + * width inference. + * + * Semantics are undefined for width 0. + */ + void fixColumnWidth(const int column, const int width); + + /** + * Fixes the row height; this overrides dynamic height inference. + * + * Semantics are undefined for width 0. + */ + void fixRowHeight(const int height); + + /** + * Resizes the table model + */ + void resize(); + + int getRows() const override final A_WARN_UNUSED; + int getColumns() const override final A_WARN_UNUSED; + int getRowHeight() const override final A_WARN_UNUSED; + int getWidth() const A_WARN_UNUSED; + int getHeight() const A_WARN_UNUSED; + int getColumnWidth(const int index) const override final A_WARN_UNUSED; + Widget *getElementAt(const int row, + const int column) const override final + A_WARN_UNUSED; + + protected: + int mRows; + int mColumns; + int mHeight; + std::vector<Widget *> mTableModel; + std::vector<int> mWidths; }; #endif // GUI_MODELS_TABLEMODEL_H |