On Sun, 2014-02-09 at 18:16 +0000, narcisse doudieu siewe wrote: > > > Hello every body, > > > I'm not a god designer but I have noticed some mistake with the > GtkCellRenderer design. > > > To illustrate myself, I take an example. > > > Actually, I want to implement a custom GtkCellEditable which inherits > from > GtkCalendar and GtkCellEdiatble and create a custom GtkCellRenderer to > use it > and renderer it entirelly in a cell when a click appears. from now my > attation is on the > custom GtkCellRenderer that I want to build. > to do that, I have to rewrite its "render" virtual function > > > if a click appears in a particular cell, I have to place my custom > GtkCellEditable which renderer a > GtkCalendar. > > > there are two possible choice to do that > > > first choice) > The width of the corresponding column must have at least the natural > width of this custom widget (if this widget is larger than the > previous width of the column) if not if there is an "expand" property > my widget have to expand itself according to this property. the > corresponding row must have at least the natural height of my custom > GtkCellEditable too if not, if there is an "expand" property my widget > have to expand itself according to this property. for the rest of > cells not in the concerned column and in the concerned row thier size > cannot change. All the cells in the concerned column have the same > width and all the cell in the same row have a same height. > > > second choice) > we can use the clipping functions of cairo and enlarge the row and > column in the treeview when the user drag a particular row\column > > > 3) it is possible to mix the two preceding choice.
There is a fourth choice: o Simply derive GtkCellRendererPixbuf so that it can emit an "activate" signal. o When the "calendar icon" is clicked for a given row in your treeview - then fire up your date editing dialog to edit the underlying date for the given row Cheers, -Tristan > > > > I alse think that, the renderer function of GtkCellRenderer must have > a "path" argument :) > _______________________________________________ > gtk-devel-list mailing list > gtk-devel-list@gnome.org > https://mail.gnome.org/mailman/listinfo/gtk-devel-list _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-devel-list