=?utf-8?B?UmU6IGNoYW5nZSBmb250IGluIHRyZWV2aWV3?=
- From: "vietory2g gmail com" <vietory2g gmail com>
- To: kjell ahlstedt bredband net
- Cc: gtkmm-list gnome org
- Subject: Re: change font in treeview
- Date: Fri, 30 Dec 2011 09:27:12 +1100
Hi Kjell
Thanks so much for the reply I will have a go and see how it goes
Cheers,
Kiet Tran
Sent from my HTC
----- Reply message -----
From: "Kjell Ahlstedt" <kjell ahlstedt bredband net>
To: "kiet tran" <vietory2g gmail com>
Cc: <gtkmm-list gnome org>
Subject: change font in treeview
Date: Fri, Dec 30, 2011 02:15
2011-12-29 02:32, kiet tran skrev:
> Hi,
>
> Could any1 show me how to change font and its size for each row in
> TreeModel.
>
> cheers,
>
> Kiet Tran
>
The TreeModel stores the data, the TreeView shows the data. The TreeView
gets help from CellRenderers, such as CellRendererText. What you need to
do is change some properties of a CellRenderer.
I haven't tried this myself. Some details may be wrong, but basically
something like this:
// Get a pointer to the CellRenderer in the column you want to change.
Gtk::CellRenderer* cellRenderer =
m_TreeView.get_column_cell_renderer(iViewColumn);
// Assume you expect it to be a CellRendererText.
Gtk::CellRendererText* cellRendererText =
dynamic_cast<CellRendererText*>(cellRenderer);
if (cellRendererText)
{
cellRendererText->property_font() = "MyExcellentFont";
cellRendererText->property_size() = 20;
}
If you want to specify properties for individual cells (not just whole
columns), I think you should use attributes in TreeViewColumn's
CellLayout interface. Your TreeModel must contain one extra column for
each attribute you specify.
Gtk::TreeViewColumn* treeViewColumn = m_TreeView.get_column(iViewColumn);
Gtk::CellRenderer* cellRenderer =
m_TreeView.get_column_cell_renderer(iViewColumn);
// Assume you expect it to be a CellRendererText.
Gtk::CellRendererText* cellRendererText =
dynamic_cast<CellRendererText*>(cellRenderer);
if (cellRendererText)
{
treeViewColumn->add_attribute(cellRendererText->property_font(),
m_Columns.m_font);
treeViewColumn->add_attribute(cellRendererText->property_size(),
m_Columns.m_size);
}
Have you studied the TreeView widget chapter in the gtkmm tutorial?
http://developer.gnome.org/gtkmm-tutorial/stable/chapter-treeview.html.en
Kjell
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]