/src/wrappers/gtk/library/row_expanded_callback.e
Specman e | 84 lines | 67 code | 15 blank | 2 comment | 3 complexity | c348a7240b42840253a5f73a5e0558e1 MD5 | raw file
1indexing 2 description: "Generic callback for the row-expanded signal" 3 copyright: "[ 4 Copyright (C) 2006 Paolo redaelli, eiffel-libraries team, GTK+ team and others 5 6 This library is free software; you can redistribute it and/or 7 modify it under the terms of the GNU Lesser General Public License 8 as published by the Free Software Foundation; either version 2.1 of 9 the License, or (at your option) any later version. 10 11 This library is distributed in the hope that it will be useful, but 12 WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 Lesser General Public License for more details. 15 16 You should have received a copy of the GNU Lesser General Public 17 License along with this library; if not, write to the Free Software 18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19 02110-1301 USA 20 ]" 21 license: "LGPL v2 or later" 22 date: "$Date:$" 23 revision "$Revision:$" 24 25class ROW_EXPANDED_CALLBACK 26 27inherit 28 CALLBACK redefine object end 29 30creation make 31 32feature 33 object: GTK_TREE_VIEW 34 35feature 36 37 callback (tree_iter, tree_path, instance: POINTER) is 38 local 39 tree_iter_obj: GTK_TREE_ITER 40 tree_path_obj: GTK_TREE_PATH 41 view_factory: G_OBJECT_EXPANDED_FACTORY [GTK_TREE_VIEW] 42 do 43 debug 44 print ("Callback: instance=") print (instance.to_string) print ("%N") 45 end 46 -- The following is written with the implicit requirement 47 -- that the object is actually created by the Eiffel 48 object := view_factory.wrapper(instance) 49 create tree_iter_obj.copy_from_pointer (tree_iter) 50 create tree_path_obj.copy_from_pointer (tree_path) 51 procedure.call ([tree_iter_obj, tree_path_obj, object]) 52 end 53 54 callback_pointer: POINTER is 55 do 56 Result := get_callback_pointer ($callback) 57 ensure 58 Result.is_not_null 59 end 60 61 connect (an_object: GTK_TREE_VIEW; 62 a_procedure: PROCEDURE [ANY, TUPLE[GTK_TREE_ITER, GTK_TREE_PATH, GTK_TREE_VIEW]]) is 63 do 64 debug 65 print ("ROW_EXPANDED_CALLBACK.connect (an_object=") print (an_object.to_pointer.to_string) 66 print (" an_object.handle=") print (an_object.handle.to_string) 67 print (") Current=") print (to_pointer.to_string) 68 print (" Current.handle=") print (handle.to_string) 69 print ("%N") 70 end 71 72 handler_id := g_signal_connect_closure (an_object.handle, 73 signal_name.to_external, 74 handle, 75 0 -- i.e. call it before default handler 76 ) 77 procedure:=a_procedure 78 end 79 80 signal_name: STRING is "row-expanded" 81 82 procedure: PROCEDURE [ANY, TUPLE[GTK_TREE_ITER, GTK_TREE_PATH, GTK_TREE_VIEW]] 83 84end