ruby-****@sourc*****
ruby-****@sourc*****
2012年 12月 6日 (木) 12:24:04 JST
------------------------- REMOTE_ADDR = 70.49.50.17 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/hiki.cgi?tut-gtk2-dnd-intro ------------------------- @@ -28,7 +28,10 @@ :Note: The Gtk API tells us that all the widgets which have their own Gdk::Window can be set as source or destination widgets. A widget that contains its own Gdk::Window must not have Gtk::Widget::NO_WINDOW flag set. You can check for this flag with the Gtk::Widget#no_window? method. (Note that this method returns true if the widget (the receiver object) does not contain the Gdk::Window.) - The above statement is not completely accurate, because it suggests that Gtk widgets without their own Gdk::Window can not be set as source and destination drag-and-drop widgets. Later we will develop a simple example (button-to-label-dnd.rb) program with button as the dnd source and a label as a the dnd destination widget. Neither Gtk button nor label have their own Gdk::Window, and yet they can be set up as source and destination widgets. What is true with respect to drag-and-drop restrictions for widgets with no Gdk::Window of their own is, that such widgets do not respond to very important dnd((*'drag-data-get'*)) and((*'drag-data-received'*)) signals. + The above statement is not completely accurate, because it suggests that Gtk widgets without their own Gdk::Window can not be set as source and destination drag-and-drop widgets. Later we will develop a simple example (button-to-label-dnd.rb) program with button as the dnd source and a label as a the dnd destination widget. Neither Gtk button nor label have their own Gdk::Window, and yet they can be set up as source and destination widgets. + + What is true with respect to drag-and-drop restrictions for widgets with no Gdk::Window of their own is, that such widgets do not respond to very important dnd((*'drag-data-get'*)) and((*'drag-data-received'*)) signals used by drag-and-drop protocol (PROTO_XDND) on which Gtk's dnd communications is based, which translated to plain English simply means, that such widgets can not benefit from predefined Gtk drag-and-drop actions, and that you will have to provide your own callbacks for either 'drag-begin', 'drag-begin' or some other more appropriate dnd signal. +