diff options
Diffstat (limited to 'vcl/unx/gtk3/gtk3gtkinst.cxx')
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 9e9887eed065..bd1f8a6f3abe 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -6361,6 +6361,17 @@ private: return nRet; } + gint get_int(int pos, int col) const + { + gint nRet(-1); + GtkTreeModel *pModel = GTK_TREE_MODEL(m_pTreeStore); + GtkTreeIter iter; + if (gtk_tree_model_iter_nth_child(pModel, &iter, nullptr, pos)) + nRet = get_int(iter, col); + gtk_tree_model_get(pModel, &iter, col, &nRet, -1); + return nRet; + } + bool get_bool(const GtkTreeIter& iter, int col) const { gboolean bRet(false); @@ -6411,6 +6422,14 @@ private: gtk_tree_store_set(m_pTreeStore, const_cast<GtkTreeIter*>(&iter), col, bInt, -1); } + void set(int pos, int col, gint bInt) + { + GtkTreeModel *pModel = GTK_TREE_MODEL(m_pTreeStore); + GtkTreeIter iter; + if (gtk_tree_model_iter_nth_child(pModel, &iter, nullptr, pos)) + set(iter, col, bInt); + } + static gboolean signalTestExpandRow(GtkTreeView*, GtkTreeIter* iter, GtkTreePath*, gpointer widget) { GtkInstanceTreeView* pThis = static_cast<GtkInstanceTreeView*>(widget); @@ -7118,6 +7137,12 @@ public: set(rGtkIter.iter, m_aWeightMap[col], bOn ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL); } + virtual void set_text_emphasis(int pos, bool bOn, int col) override + { + col = get_model_col(col); + set(pos, m_aWeightMap[col], bOn ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL); + } + virtual bool get_text_emphasis(const weld::TreeIter& rIter, int col) const override { const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter); @@ -7125,6 +7150,12 @@ public: return get_int(rGtkIter.iter, m_aWeightMap.find(col)->second) == PANGO_WEIGHT_BOLD; } + virtual bool get_text_emphasis(int pos, int col) const override + { + col = get_model_col(col); + return get_int(pos, m_aWeightMap.find(col)->second) == PANGO_WEIGHT_BOLD; + } + using GtkInstanceWidget::set_sensitive; virtual void set_sensitive(int pos, bool bSensitive, int col) override |