/src/wrappers/gtk/library/insert_at_cursor_callback.e
Specman e | 71 lines | 53 code | 15 blank | 3 comment | 3 complexity | aaaf927be92145f459faca46bd0d6035 MD5 | raw file
1indexing 2 description: "Generic callback for the insert-at-cursor signal" 3 copyright: "[ 4 Copyright (C) 2007 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 INSERT_AT_CURSOR_CALLBACK 26 27inherit CALLBACK redefine object end 28 29insert G_OBJECT_FACTORY [GTK_TEXT_VIEW] 30 31creation make 32 33feature 34 object: GTK_TEXT_VIEW 35 36feature 37 38 callback (an_arg, instance: POINTER) is 39 local 40 input: STRING 41 do 42 object := wrapper(instance) 43 create input.from_external (an_arg) 44 -- We might have to do an from_external_copy here 45 -- instead. The GTK documentation does not say it is const, 46 -- so we should handle its memory, AFAIK. Paolo 2008-04-07 47 procedure.call ([input, object]) 48 end 49 50 callback_pointer: POINTER is 51 do 52 Result := get_callback_pointer ($callback) 53 ensure 54 Result.is_not_null 55 end 56 57 connect (an_object: GTK_TEXT_VIEW; a_procedure: PROCEDURE [ANY, TUPLE[STRING, GTK_TEXT_VIEW]]) is 58 do 59 handler_id := g_signal_connect_closure (an_object.handle, 60 signal_name.to_external, 61 handle, 62 0 -- i.e. call it before the default handler 63 ) 64 procedure := a_procedure 65 end 66 67 signal_name: STRING is "insert-at-cursor" 68 69 procedure: PROCEDURE [ANY, TUPLE[STRING, GTK_TEXT_VIEW]] 70 71end -- class INSERT_AT_CURSOR_CALLBACK