Re: fine-tune drag'n'drop in a tree
- From: Ionutz Borcoman <iborco gmail com>
- To: gtkmm-list gnome org
- Subject: Re: fine-tune drag'n'drop in a tree
- Date: Thu, 8 May 2008 17:10:15 +0300
On Wednesday 07 May 2008 2:25:22 pm Murray Cumming wrote:
> On Sat, 2008-05-03 at 13:29 +0300, Ionutz Borcoman wrote:
> You can do this by overriding the row_drop_possible_vfunc() virtual
> method. You can then add any logic you like, usually examining the
> relevant model data for that row.
>
> I do that in Glom's (ugly) layout dialog. For instance, text items can
> be dropped into group items, but not into other text items:
> http://svn.gnome.org/viewvc/glom/trunk/glom/mode_data/treestore_layout.h?vi
>ew=markup
> http://svn.gnome.org/viewvc/glom/trunk/glom/mode_data/treestore_layout.cc?v
>iew=markup
>
> It works well, so we should probably mention in the documentation.
After some more testing with the example from gtkmm tutorial I have managed to
find the effect I was looking for - I had simply to return false when the
parent row is top level or empty:
Gtk::TreeModel::Path dest_parent = dest;
bool dest_is_not_top_level = dest_parent.up();
if(!dest_is_not_top_level || dest_parent.empty())
{
return false;
}
Can somebody please explain when these cases happen? I assume I get
dest_is_not_top_level if the item is the root item, but when do I get
dest_parent.empty()?
Other question related with the D&D in a tree (not critical, but nice to
have): how can I change the cursor displayed during the drag? For example to
display an image, or to add a "+" or "-" to the current image displayed.
And thanx for all of you that stopped me falling to the dark side of qt :-D
Cheers,
Johnny
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]