GTK+ TreeView: Different CellRenderers on the same Column

2011-10-17 Thread Stefan Salewski
I am working on a configuration file editor for an graphical
application. Configuration consists of strings, numbers and boolean
values. About 25 values total.

I can use individual widgets for each property, but for larger
quantities a listview is a more compact form.

It would we nice to have textentry fields for strings, spin buttons for
numbers and check boxes for boolean values, all in one column of the
tree view.

Of course I can pop up dialog windows whenever the user clicks on an row
of the treeview, but that is not a nice solution when the user wants to
change more than one value.

With Google, I found some people asking for this, but only one
complicated solution:

http://kapo-cpp.blogspot.com/2008/05/different-cellrenderers-on-same-column.html

I think it is too complicated for me now, not being an GTK expert. (And
I am using the Ruby GTK bindings, which may make it difficult to use the
above solution.)

Is there a better solution or even an example available?

Best Regards,

Stefan Salewski


___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: GTK+ TreeView: Different CellRenderers on the same Column

2011-10-17 Thread Colomban Wendling
Le 17/10/2011 13:53, Stefan Salewski a écrit :
> I am working on a configuration file editor for an graphical
> application. Configuration consists of strings, numbers and boolean
> values. About 25 values total.
> 
> I can use individual widgets for each property, but for larger
> quantities a listview is a more compact form.
> 
> It would we nice to have textentry fields for strings, spin buttons for
> numbers and check boxes for boolean values, all in one column of the
> tree view.
> 
> Of course I can pop up dialog windows whenever the user clicks on an row
> of the treeview, but that is not a nice solution when the user wants to
> change more than one value.
> 
> With Google, I found some people asking for this, but only one
> complicated solution:
> 
> http://kapo-cpp.blogspot.com/2008/05/different-cellrenderers-on-same-column.html
> 
> I think it is too complicated for me now, not being an GTK expert. (And
> I am using the Ruby GTK bindings, which may make it difficult to use the
> above solution.)
> 
> Is there a better solution or even an example available?

Not sure it's better (actually I just took a small glance at the link),
but there are other solutions.

First, the one used by gconf-editor [1], that consist of a custom cell
renderer that provides the appropriate editable depending on the type of
the value it holds.  This is not necessarily the easier way, but it's
quite interesting IMHO.

The other solution I know is to pack all CellRenderer that might be used
for editing, and only make one visible/sensitive, depending on the row's
value type.  This is what we current use in the implementation of
Geany's stash editor [2], [3].


IMHO the second solution is the easier one, nut sure it's the bast
though.  Hope it helps.

Regards,
Colomban


[1] http://git.gnome.org/browse/gconf-editor/tree/src/gconf-cell-renderer.c
[2] https://github.com/geany/geany/blob/master/src/stash.c#L910
[3] https://github.com/geany/geany/blob/master/src/stash.c#L1051
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: GTK+ TreeView: Different CellRenderers on the same Column

2011-10-17 Thread Stefan Salewski
On Mon, 2011-10-17 at 15:11 +0200, Colomban Wendling wrote:

> [...]
> The other solution I know is to pack all CellRenderer that might be used
> for editing, and only make one visible/sensitive, depending on the row's
> value type.  This is what we current use in the implementation of
> Geany's stash editor [2], [3].
> 

Thanks, that sound very promising and not too difficult.
I was aware that I can pack multiple renderer in the same tree view
column, but I was not aware that I can hide them totally using a
cell_data_func.

Best regards,

Stefan Salewski


___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list