PageRenderTime 39ms CodeModel.GetById 12ms app.highlight 10ms RepoModel.GetById 1ms app.codeStats 2ms

/src/wrappers/gtk/library/gtk_main.e

http://github.com/tybor/Liberty
Specman e | 1262 lines | 412 code | 114 blank | 736 comment | 3 complexity | 0fd995ce5b8357ce74e183d89cddb4c2 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1indexing
  2	description: "Main loop and Events - Library initialization, main event loop, and events"
  3	copyright: "[
  4					Copyright (C) 2006 eiffel-libraries team, GTK+ team
  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	date: "$Date:$"
 22	revision "$REvision:$"
 23
 24
 25class GTK_MAIN
 26
 27inherit
 28	ANY redefine default_create end
 29	WRAPPER_HANDLER  redefine default_create end
 30
 31insert
 32	SHARED_CREATION_DICTIONARY  redefine default_create end
 33	GDK
 34	PANGO
 35	ARGUMENTS redefine default_create end
 36	GTK_MAIN_EXTERNALS redefine default_create end
 37	POINTER_HANDLING redefine default_create end
 38
 39creation default_create
 40
 41feature -- Creation
 42
 43	default_create is
 44		do
 45			create error.empty
 46			initialize
 47			store_creation_agents
 48		end
 49
 50feature -- Creation agents
 51	-- Creation agents are functions that given a pointer returns an
 52	-- Eiffel wrapper of a precise kind. They are usually stored into
 53	store_creation_agents is
 54		local old_count: INTEGER
 55		do
 56			debug 
 57				std_error.put_string(once "Putting wrapper-creation-agents into creation_agents dictionary%N")
 58				old_count := creation_agents.count
 59			end
 60			creation_agents.put (agent create_gtk_about_dialog, "GtkAboutDialog")
 61			--creation_agents.put (agent create_gtk_accel_group, "GtkAccelGroup")
 62			creation_agents.put (agent create_gtk_accel_label, "GtkAccelLabel")
 63			-- creation_agents.put (agent create_gtk_accel_map, "GtkAccelMap")
 64			-- creation_agents.put (agent create_gtk_accessible, "GtkAccessible")
 65			creation_agents.put (agent create_gtk_action, "GtkAction")
 66			creation_agents.put (agent create_gtk_action_group, "GtkActionGroup")
 67			creation_agents.put (agent create_gtk_alignment, "GtkAlignment")
 68			creation_agents.put (agent create_gtk_arrow, "GtkArrow")
 69			-- creation_agents.put (agent create_gtk_aspect_frame, "GtkAspectFrame")
 70			-- 			creation_agents.put (agent create_gtk_assistant, "GtkAssistant")
 71			creation_agents.put (agent create_gtk_button, "GtkButton")
 72			creation_agents.put (agent create_gtk_calendar, "GtkCalendar")
 73			creation_agents.put (agent create_gtk_cell_renderer_accel, "GtkCellRendererAccel")
 74			creation_agents.put (agent create_gtk_cell_renderer_combo, "GtkCellRendererCombo")
 75			creation_agents.put (agent create_gtk_cell_renderer_pixbuf, "GtkCellRendererPixbuf")
 76			creation_agents.put (agent create_gtk_cell_renderer_progress, "GtkCellRendererProgress")
 77			creation_agents.put (agent create_gtk_cell_renderer_spin, "GtkCellRendererSpin")
 78			creation_agents.put (agent create_gtk_cell_renderer_text, "GtkCellRendererText")
 79			creation_agents.put (agent create_gtk_cell_renderer_toggle, "GtkCellRendererToggle")
 80			creation_agents.put (agent create_gtk_cell_view, "GtkCellView")
 81			creation_agents.put (agent create_gtk_check_button, "GtkCheckButton")
 82			creation_agents.put (agent create_gtk_check_menu_item, "GtkCheckMenuItem")
 83			creation_agents.put (agent create_gtk_clipboard, "GtkClipboard")
 84			creation_agents.put (agent create_gtk_color_button, "GtkColorButton")
 85			creation_agents.put (agent create_gtk_color_selection, "GtkColorSelection")
 86			creation_agents.put (agent create_gtk_color_selection_dialog, "GtkColorSelectionDialog")
 87			-- GtkCombo is deprecated
 88			creation_agents.put (agent create_gtk_combo_box, "GtkComboBox")
 89			creation_agents.put (agent create_gtk_combo_box_entry, "GtkComboBoxEntry")
 90			-- creation_agents.put (agent create_gtk_Curve, "GtkCurve")
 91			creation_agents.put (agent create_gtk_dialog, "GtkDialog")
 92			creation_agents.put (agent create_gtk_drawing_area, "GtkDrawingArea")
 93			creation_agents.put (agent create_gtk_entry, "GtkEntry")
 94			creation_agents.put (agent create_gtk_entry_completion, "GtkEntryCompletion")
 95			creation_agents.put (agent create_gtk_event_box, "GtkEventBox")
 96			creation_agents.put (agent create_gtk_expander, "GtkExpander")
 97			creation_agents.put (agent create_gtk_file_chooser_button, "GtkFileChooserButton")
 98			creation_agents.put (agent create_gtk_file_chooser_dialog, "GtkFileChooserDialog")
 99			creation_agents.put (agent create_gtk_file_chooser_widget, "GtkFileChooserWidget")
100			creation_agents.put (agent create_gtk_file_filter, "GtkFileFilter")
101			-- GtkFileSelection is deprecated
102			-- creation_agents.put (agent create_gtk_Fixed, "GtkFixed")
103			creation_agents.put (agent create_gtk_font_button, "GtkFontButton")
104			creation_agents.put (agent create_gtk_font_selection, "GtkFontSelection")
105			creation_agents.put (agent create_gtk_font_selection_dialog, "GtkFontSelectionDialog")
106			creation_agents.put (agent create_gtk_frame, "GtkFrame")
107			--creation_agents.put (agent create_gtk_GammaCurve, "GtkGammaCurve")
108			creation_agents.put (agent create_gtk_hbox, "GtkHBox")
109			creation_agents.put (agent create_gtk_hbutton_box, "GtkHButtonBox")
110			creation_agents.put (agent create_gtk_hpaned, "GtkHPaned")
111			--creation_agents.put (agent create_gtk_hruler, "GtkHRuler")
112			creation_agents.put (agent create_gtk_hscale, "GtkHScale")
113			creation_agents.put (agent create_gtk_hscrollbar, "GtkHScrollbar")
114			creation_agents.put (agent create_gtk_hseparator, "GtkHSeparator")
115			--creation_agents.put (agent create_gtk_handle_box, "GtkHandleBox")
116			--creation_agents.put (agent create_gtkIM_Context, "GtkIMContext")
117			--creation_agents.put (agent create_gtkIM_ContextSimple, "GtkIMContextSimple")
118			--creation_agents.put (agent create_gtkIM_Multicontext, "GtkIMMulticontext")
119			-- creation_agents.put (agent create_gtk_iconf_actory, "GtkIconFactory")
120			creation_agents.put (agent create_gtk_icon_theme, "GtkIconTheme")
121			creation_agents.put (agent create_gtk_icon_view, "GtkIconView")
122			creation_agents.put (agent create_gtk_image, "GtkImage")
123			creation_agents.put (agent create_gtk_image_menu_item, "GtkImageMenuItem")
124			-- creation_agents.put (agent create_gtk_Invisible, "GtkInvisible")
125			creation_agents.put (agent create_gtk_label, "GtkLabel")
126			creation_agents.put (agent create_gtk_layout, "GtkLayout")
127			creation_agents.put (agent create_gtk_link_button, "GtkLinkButton")
128			creation_agents.put (agent create_gtk_list_store, "GtkListStore")
129			creation_agents.put (agent create_gtk_menu, "GtkMenu")
130			creation_agents.put (agent create_gtk_menu_bar, "GtkMenuBar")
131			creation_agents.put (agent create_gtk_menu_item, "GtkMenuItem")
132			creation_agents.put (agent create_gtk_menu_tool_button, "GtkMenuToolButton")
133			creation_agents.put (agent create_gtk_message_dialog, "GtkMessageDialog")
134			creation_agents.put (agent create_gtk_notebook, "GtkNotebook")
135			creation_agents.put (agent create_gtk_page_setup, "GtkPageSetup")
136			-- creation_agents.put (agent create_gtk_PageSetupUnixDialog, "GtkPageSetupUnixDialog")
137			-- creation_agents.put (agent create_gtk_plug, "GtkPlug")
138			-- creation_agents.put (agent create_gtk_preview, "GtkPreview")
139			-- creation_agents.put (agent create_gtk_PrintBackend, "GtkPrintBackend")
140			creation_agents.put (agent create_gtk_print_context, "GtkPrintContext")
141			creation_agents.put (agent create_gtk_print_job, "GtkPrintJob")
142			creation_agents.put (agent create_gtk_print_operation, "GtkPrintOperation")
143			creation_agents.put (agent create_gtk_print_settings, "GtkPrintSettings")
144			-- creation_agents.put (agent create_gtk_PrintUnixDialog, "GtkPrintUnixDialog")
145			creation_agents.put (agent create_gtk_printer, "GtkPrinter")
146			creation_agents.put (agent create_gtk_progress_bar, "GtkProgressBar")
147			creation_agents.put (agent create_gtk_radio_action, "GtkRadioAction")
148			creation_agents.put (agent create_gtk_radio_button, "GtkRadioButton")
149			creation_agents.put (agent create_gtk_radio_menu_item, "GtkRadioMenuItem")
150			creation_agents.put (agent create_gtk_radio_tool_button, "GtkRadioToolButton")
151						--creation_agents.put (agent create_gtk_RcStyle, "GtkRcStyle")
152			--creation_agents.put (agent create_gtk_RecentChooserDialog, "GtkRecentChooserDialog")
153			--creation_agents.put (agent create_gtk_RecentChooserMenu, "GtkRecentChooserMenu")
154			--creation_agents.put (agent create_gtk_RecentChooserWidget, "GtkRecentChooserWidget")
155			--creation_agents.put (agent create_gtk_RecentFilter, "GtkRecentFilter")
156			--creation_agents.put (agent create_gtk_RecentManager, "GtkRecentManager")
157			creation_agents.put (agent create_gtk_scrolled_window, "GtkScrolledWindow")
158			creation_agents.put (agent create_gtk_separator_menu_item, "GtkSeparatorMenuItem")
159			creation_agents.put (agent create_gtk_separator_tool_item, "GtkSeparatorToolItem")
160			-- creation_agents.put (agent create_gtk_settings, "GtkSettings")
161			-- creation_agents.put (agent create_gtk_size_group, "GtkSizeGroup")
162			-- creation_agents.put (agent create_gtk_socket, "GtkSocket")
163			creation_agents.put (agent create_gtk_spin_button, "GtkSpinButton")
164			creation_agents.put (agent create_gtk_status_icon, "GtkStatusIcon")
165			creation_agents.put (agent create_gtk_status_bar, "GtkStatusbar")
166			creation_agents.put (agent create_gtk_style, "GtkStyle")
167			creation_agents.put (agent create_gtk_table, "GtkTable")
168			creation_agents.put (agent create_gtk_tearoff_menu_item, "GtkTearoffMenuItem")
169			-- GtkText is deprecated
170			creation_agents.put (agent create_gtk_text_buffer, "GtkTextBuffer")
171			creation_agents.put (agent create_gtk_text_child_anchor, "GtkTextChildAnchor")
172			creation_agents.put (agent create_gtk_text_mark, "GtkTextMark")
173			creation_agents.put (agent create_gtk_text_tag, "GtkTextTag")
174			creation_agents.put (agent create_gtk_text_tag_table, "GtkTextTagTable")
175			creation_agents.put (agent create_gtk_text_view, "GtkTextView")
176			-- GtkTipsQuery is deprecated
177			creation_agents.put (agent create_gtk_toggle_action, "GtkToggleAction")
178			creation_agents.put (agent create_gtk_toggle_button, "GtkToggleButton")
179			creation_agents.put (agent create_gtk_toggle_tool_button, "GtkToggleToolButton")
180			creation_agents.put (agent create_gtk_tool_button, "GtkToolButton")
181			creation_agents.put (agent create_gtk_tool_item, "GtkToolItem")
182			creation_agents.put (agent create_gtk_toolbar, "GtkToolbar")
183			creation_agents.put (agent create_gtk_tooltips, "GtkTooltips")
184			-- GtkTree and GtkTreeItem are deprecated.
185			creation_agents.put (agent create_gtk_tree_model_filter, "GtkTreeModelFilter")
186			creation_agents.put (agent create_gtk_tree_model_sort, "GtkTreeModelSort")
187			creation_agents.put (agent create_gtk_tree_selection, "GtkTreeSelection")
188			creation_agents.put (agent create_gtk_tree_store, "GtkTreeStore")
189			creation_agents.put (agent create_gtk_tree_view, "GtkTreeView")
190			creation_agents.put (agent create_gtk_tree_view_column, "GtkTreeViewColumn")
191			-- creation_agents.put (agent create_gtkUI_Manager, "GtkUIManager")
192			creation_agents.put (agent create_gtk_vbox, "GtkVBox")
193			creation_agents.put (agent create_gtk_vbutton_box, "GtkVButtonBox")
194			creation_agents.put (agent create_gtk_vpaned, "GtkVPaned")
195			-- creation_agents.put (agent create_gtk_vruler, "GtkVRuler")
196			creation_agents.put (agent create_gtk_vscale, "GtkVScale")
197			creation_agents.put (agent create_gtk_vscrollbar, "GtkVScrollbar")
198			creation_agents.put (agent create_gtk_vseparator, "GtkVSeparator")
199			-- creation_agents.put (agent create_gtk_Viewport, "GtkViewport")
200			creation_agents.put (agent create_gtk_window, "GtkWindow")
201			creation_agents.put (agent create_gtk_window_group, "GtkWindowGroup")
202
203			-- Store creation agents of preconditions
204			store_gdk_creation_agents
205			store_pango_creation_agents
206
207			debug 
208				std_error.put_line
209				((creation_agents.count-old_count).out+" function agents put into creation_agents dictionary.")
210			end
211		end
212
213	create_gtk_about_dialog (p: POINTER): GTK_ABOUT_DIALOG is do create Result.from_external_pointer(p) end
214		-- create_gtk_accel_group (p: POINTER): GTK_ACCEL_GROUP is do create Result.from_external_pointer(p) end
215	create_gtk_accel_label (p: POINTER): GTK_ACCEL_LABEL is do create Result.from_external_pointer(p) end
216		-- create_gtk_accel_map (p: POINTER): Gtk_AccelMap is do create Result.from_external_pointer(p) end
217		-- create_gtk_accessible (p: POINTER): GTK_ACCESSIBLE is do create Result.from_external_pointer(p) end
218	create_gtk_action (p: POINTER): GTK_ACTION is do create Result.from_external_pointer(p) end
219	create_gtk_action_group (p: POINTER): GTK_ACTION_GROUP is do create Result.from_external_pointer(p) end
220	create_gtk_adjustment (p: POINTER): GTK_ADJUSTMENT is do create Result.from_external_pointer(p) end
221	create_gtk_alignment (p: POINTER): GTK_ALIGNMENT is do create Result.from_external_pointer(p) end
222	create_gtk_arrow (p: POINTER): GTK_ARROW is do create Result.from_external_pointer(p) end
223	create_gtk_aspect_frame (p: POINTER): GTK_ASPECT_FRAME is do create Result.from_external_pointer(p) end
224	create_gtk_assistant (p: POINTER): GTK_ASSISTANT is do create Result.from_external_pointer(p) end
225	create_gtk_button (p: POINTER): GTK_BUTTON is do create Result.from_external_pointer(p) end
226	create_gtk_calendar (p: POINTER): GTK_CALENDAR is do create Result.from_external_pointer(p) end
227	create_gtk_cell_renderer_accel (p: POINTER): GTK_CELL_RENDERER_ACCEL is do create Result.from_external_pointer(p) end
228	create_gtk_cell_renderer_combo (p: POINTER): GTK_CELL_RENDERER_COMBO is do create Result.from_external_pointer(p) end
229	create_gtk_cell_renderer_pixbuf (p: POINTER): GTK_CELL_RENDERER_PIXBUF is do create Result.from_external_pointer(p) end
230	create_gtk_cell_renderer_progress (p: POINTER): GTK_CELL_RENDERER_PROGRESS is do create Result.from_external_pointer(p) end
231	create_gtk_cell_renderer_spin (p: POINTER): GTK_CELL_RENDERER_SPIN is do create Result.from_external_pointer(p) end
232	create_gtk_cell_renderer_text (p: POINTER): GTK_CELL_RENDERER_TEXT is do create Result.from_external_pointer(p) end
233	create_gtk_cell_renderer_toggle (p: POINTER): GTK_CELL_RENDERER_TOGGLE is do create Result.from_external_pointer(p) end
234	create_gtk_cell_view (p: POINTER): GTK_CELL_VIEW is do create Result.from_external_pointer(p) end
235	create_gtk_check_button (p: POINTER): GTK_CHECK_BUTTON is do create Result.from_external_pointer(p) end
236	create_gtk_check_menu_item (p: POINTER): GTK_CHECK_MENU_ITEM is do create Result.from_external_pointer(p) end
237	create_gtk_clipboard (p: POINTER): GTK_CLIPBOARD is do create Result.from_external_pointer(p) end
238	create_gtk_color_button (p: POINTER): GTK_COLOR_BUTTON is do create Result.from_external_pointer(p) end
239	create_gtk_color_selection (p: POINTER): GTK_COLOR_SELECTION is do create Result.from_external_pointer(p) end
240	create_gtk_color_selection_dialog (p: POINTER): GTK_COLOR_SELECTION_DIALOG is do create Result.from_external_pointer(p) end
241	create_gtk_combo_box (p: POINTER): GTK_COMBO_BOX is do create Result.from_external_pointer(p) end
242	create_gtk_combo_box_entry (p: POINTER): GTK_COMBO_BOX_ENTRY is do create Result.from_external_pointer(p) end
243		-- create_gtk_Curve (p: POINTER): Gtk_Curve is do create Result.from_external_pointer(p) end
244	create_gtk_dialog (p: POINTER): GTK_DIALOG is do create Result.from_external_pointer(p) end
245	create_gtk_drawing_area (p: POINTER): GTK_DRAWING_AREA is do create Result.from_external_pointer(p) end
246	create_gtk_entry (p: POINTER): GTK_ENTRY is do create Result.from_external_pointer(p) end
247	create_gtk_entry_completion (p: POINTER): GTK_ENTRY_COMPLETION is do create Result.from_external_pointer(p) end
248	create_gtk_event_box (p: POINTER): GTK_EVENT_BOX is do create Result.from_external_pointer(p) end
249	create_gtk_expander (p: POINTER): GTK_EXPANDER is do create Result.from_external_pointer(p) end
250	create_gtk_file_chooser_button (p: POINTER): GTK_FILE_CHOOSER_BUTTON is do create Result.from_external_pointer(p) end
251	create_gtk_file_chooser_dialog (p: POINTER): GTK_FILE_CHOOSER_DIALOG is do create Result.from_external_pointer(p) end
252	create_gtk_file_chooser_widget (p: POINTER): GTK_FILE_CHOOSER_WIDGET is do create Result.from_external_pointer(p) end
253	create_gtk_file_filter (p: POINTER): GTK_FILE_FILTER is do create Result.from_external_pointer(p) end
254	-- create_gtk_Fixed (p: POINTER): Gtk_Fixed is do create Result.from_external_pointer(p) end
255	create_gtk_font_button (p: POINTER): GTK_FONT_BUTTON is do create Result.from_external_pointer(p) end
256	create_gtk_font_selection (p: POINTER): GTK_FONT_SELECTION is do create Result.from_external_pointer(p) end
257	create_gtk_font_selection_dialog (p: POINTER): GTK_FONT_SELECTION_DIALOG is do create Result.from_external_pointer(p) end
258	create_gtk_frame (p: POINTER): GTK_FRAME is do create Result.from_external_pointer(p) end
259	--create_gtk_GammaCurve (p: POINTER): Gtk_GammaCurve is do create Result.from_external_pointer(p) end
260	create_gtk_hbox (p: POINTER): GTK_HBOX is do create Result.from_external_pointer(p) end
261	create_gtk_hbutton_box (p: POINTER): GTK_HBUTTON_BOX is do create Result.from_external_pointer(p) end
262	create_gtk_hpaned (p: POINTER): GTK_HPANED is do create Result.from_external_pointer(p) end
263	--create_gtk_hruler (p: POINTER): GTK_HRULER is do create Result.from_external_pointer(p) end
264	create_gtk_hscale (p: POINTER): GTK_HSCALE is do create Result.from_external_pointer(p) end
265	create_gtk_hscrollbar (p: POINTER): GTK_HSCROLLBAR is do create Result.from_external_pointer(p) end
266	create_gtk_hseparator (p: POINTER): GTK_HSEPARATOR is do create Result.from_external_pointer(p) end
267	--create_gtk_handle_box (p: POINTER): GTK_HANDLE_BOX is do create Result.from_external_pointer(p) end
268	--create_gtkIM_Context (p: POINTER): GtkIM_Context is do create Result.from_external_pointer(p) end
269	--create_gtkIM_ContextSimple (p: POINTER): GtkIM_ContextSimple is do create Result.from_external_pointer(p) end
270	--create_gtkIM_Multicontext (p: POINTER): GtkIM_Multicontext is do create Result.from_external_pointer(p) end
271	--create_gtk_IconFactory (p: POINTER): Gtk_IconFactory is do create Result.from_external_pointer(p) end
272	create_gtk_icon_theme (p: POINTER): GTK_ICON_THEME is do create Result.from_external_pointer(p) end
273	create_gtk_icon_view (p: POINTER): GTK_ICON_VIEW is do create Result.from_external_pointer(p) end
274	create_gtk_image (p: POINTER): GTK_IMAGE is do create Result.from_external_pointer(p) end
275	create_gtk_image_menu_item (p: POINTER): GTK_IMAGE_MENU_ITEM is do create Result.from_external_pointer(p) end
276	-- create_gtk_Invisible (p: POINTER): Gtk_Invisible is do create Result.from_external_pointer(p) end
277	create_gtk_label (p: POINTER): GTK_LABEL is do create Result.from_external_pointer(p) end
278	create_gtk_layout (p: POINTER): GTK_LAYOUT is do create Result.from_external_pointer(p) end
279	create_gtk_link_button (p: POINTER): GTK_LINK_BUTTON is do create Result.from_external_pointer(p) end
280	create_gtk_list_store (p: POINTER): GTK_LIST_STORE is do create Result.from_external_pointer(p) end
281	create_gtk_menu (p: POINTER): GTK_MENU is do create Result.from_external_pointer(p) end
282	create_gtk_menu_bar (p: POINTER): GTK_MENU_BAR is do create Result.from_external_pointer(p) end
283	create_gtk_menu_item (p: POINTER): GTK_MENU_ITEM is do create Result.from_external_pointer(p) end
284	create_gtk_menu_tool_button (p: POINTER): GTK_MENU_TOOL_BUTTON is do create Result.from_external_pointer(p) end
285	create_gtk_message_dialog (p: POINTER): GTK_MESSAGE_DIALOG is do create Result.from_external_pointer(p) end
286	create_gtk_notebook (p: POINTER): GTK_NOTEBOOK is do create Result.from_external_pointer(p) end
287	create_gtk_page_setup (p: POINTER): GTK_PAGE_SETUP is do create Result.from_external_pointer(p) end
288	-- create_gtk_PageSetupUnixDialog (p: POINTER): Gtk_PageSetupUnixDialog is do create Result.from_external_pointer(p) end
289	-- create_gtk_Plug (p: POINTER): Gtk_Plug is do create Result.from_external_pointer(p) end
290	-- create_gtk_preview (p: POINTER): GTK_PREVIEW is do create Result.from_external_pointer(p) end
291	-- create_gtk_print_backend (p: POINTER): GTK_PRINT_BACKEND is do create Result.from_external_pointer(p) end
292	create_gtk_print_context (p: POINTER): GTK_PRINT_CONTEXT is do create Result.from_external_pointer(p) end
293	create_gtk_print_job (p: POINTER): GTK_PRINT_JOB is do create Result.from_external_pointer(p) end
294	create_gtk_print_operation (p: POINTER): GTK_PRINT_OPERATION is do create Result.from_external_pointer(p) end
295	create_gtk_print_settings (p: POINTER): GTK_PRINT_SETTINGS is do create Result.from_external_pointer(p) end
296		--create_gtk_PrintUnixDialog (p: POINTER): Gtk_PrintUnixDialog is do create Result.from_external_pointer(p) end
297	create_gtk_printer (p: POINTER): GTK_PRINTER is do create Result.from_external_pointer(p) end
298	create_gtk_progress_bar (p: POINTER): GTK_PROGRESS_BAR is do create Result.from_external_pointer(p) end
299	create_gtk_radio_action (p: POINTER): GTK_RADIO_ACTION is do create Result.from_external_pointer(p) end
300	create_gtk_radio_button (p: POINTER): GTK_RADIO_BUTTON is do create Result.from_external_pointer(p) end
301	create_gtk_radio_menu_item (p: POINTER): GTK_RADIO_MENU_ITEM is 
302		do
303			debug std_error.put_line(once "Don't ask me why, but SmartEiffel thinks that GTK_RADIO_MENU_ITEM is deferred.") end
304			create Result.from_external_pointer(p) 
305		end
306	create_gtk_radio_tool_button (p: POINTER): GTK_RADIO_TOOL_BUTTON is do create Result.from_external_pointer(p) end
307		-- create_gtk_RcStyle (p: POINTER): Gtk_RcStyle is do create Result.from_external_pointer(p) end
308		-- create_gtk_RecentChooserDialog (p: POINTER): Gtk_RecentChooserDialog is do create Result.from_external_pointer(p) end
309	-- create_gtk_RecentChooserMenu (p: POINTER): Gtk_RecentChooserMenu is do create Result.from_external_pointer(p) end
310	-- create_gtk_RecentChooserWidget (p: POINTER): Gtk_RecentChooserWidget is do create Result.from_external_pointer(p) end
311		-- create_gtk_RecentFilter (p: POINTER): Gtk_RecentFilter is do create Result.from_external_pointer(p) end
312		-- create_gtk_RecentManager (p: POINTER): Gtk_RecentManager is do create Result.from_external_pointer(p) end
313	create_gtk_scrolled_window (p: POINTER): GTK_SCROLLED_WINDOW is do create Result.from_external_pointer(p) end
314	create_gtk_separator_menu_item (p: POINTER): GTK_SEPARATOR_MENU_ITEM is do create Result.from_external_pointer(p) end
315	create_gtk_separator_tool_item (p: POINTER): GTK_SEPARATOR_TOOL_ITEM is do create Result.from_external_pointer(p) end
316		-- create_gtk_settings (p: POINTER): GTK_SETTINGS is do create Result.from_external_pointer(p) end
317		-- create_gtk_size_group (p: POINTER): GTK_SIZE_GROUP is do create Result.from_external_pointer(p) end
318		-- create_gtk_socket (p: POINTER): GTK_SOCKET is do create Result.from_external_pointer(p) end
319	create_gtk_spin_button (p: POINTER): GTK_SPIN_BUTTON is do create Result.from_external_pointer(p) end
320	create_gtk_status_icon (p: POINTER): GTK_STATUS_ICON is do create Result.from_external_pointer(p) end
321	create_gtk_status_bar (p: POINTER): GTK_STATUS_BAR is do create Result.from_external_pointer(p) end
322	create_gtk_style (p: POINTER): GTK_STYLE is do create Result.from_external_pointer(p) end
323	create_gtk_table (p: POINTER): GTK_TABLE is do create Result.from_external_pointer(p) end
324	create_gtk_tearoff_menu_item (p: POINTER): GTK_TEAROFF_MENU_ITEM is do create Result.from_external_pointer(p) end
325	create_gtk_text_buffer (p: POINTER): GTK_TEXT_BUFFER is do create Result.from_external_pointer(p) end
326	create_gtk_text_child_anchor (p: POINTER): GTK_TEXT_CHILD_ANCHOR is do create Result.from_external_pointer(p) end
327	create_gtk_text_mark (p: POINTER): GTK_TEXT_MARK is do create Result.from_external_pointer(p) end
328	create_gtk_text_tag (p: POINTER): GTK_TEXT_TAG is do create Result.from_external_pointer(p) end
329	create_gtk_text_tag_table (p: POINTER): GTK_TEXT_TAG_TABLE is do create Result.from_external_pointer(p) end
330	create_gtk_text_view (p: POINTER): GTK_TEXT_VIEW is do create Result.from_external_pointer(p) end
331	create_gtk_toggle_action (p: POINTER): GTK_TOGGLE_ACTION is do create Result.from_external_pointer(p) end
332	create_gtk_toggle_button (p: POINTER): GTK_TOGGLE_BUTTON is do create Result.from_external_pointer(p) end
333	create_gtk_toggle_tool_button (p: POINTER): GTK_TOGGLE_TOOL_BUTTON is do create Result.from_external_pointer(p) end
334	create_gtk_tool_button (p: POINTER): GTK_TOOL_BUTTON is do create Result.from_external_pointer(p) end
335	create_gtk_tool_item (p: POINTER): GTK_TOOL_ITEM is do create Result.from_external_pointer(p) end
336	create_gtk_toolbar (p: POINTER): GTK_TOOLBAR is do create Result.from_external_pointer(p) end
337	create_gtk_tooltips (p: POINTER): GTK_TOOLTIPS is do create Result.from_external_pointer(p) end
338	create_gtk_tree_model_filter (p: POINTER): GTK_TREE_MODEL_FILTER is do create Result.from_external_pointer(p) end
339	create_gtk_tree_model_sort (p: POINTER): GTK_TREE_MODEL_SORT is do create Result.from_external_pointer(p) end
340	create_gtk_tree_selection (p: POINTER): GTK_TREE_SELECTION is do create Result.from_external_pointer(p) end
341	create_gtk_tree_store (p: POINTER): GTK_TREE_STORE is do create Result.from_external_pointer(p) end
342	create_gtk_tree_view (p: POINTER): GTK_TREE_VIEW is do create Result.from_external_pointer(p) end
343	create_gtk_tree_view_column (p: POINTER): GTK_TREE_VIEW_COLUMN is do create Result.from_external_pointer(p) end
344	-- create_gtkUI_Manager (p: POINTER): GtkUI_Manager is do create Result.from_external_pointer(p) end
345	create_gtk_vbox (p: POINTER): GTK_VBOX is do create Result.from_external_pointer(p) end
346	create_gtk_vbutton_box (p: POINTER): GTK_VBUTTON_BOX is do create Result.from_external_pointer(p) end
347	create_gtk_vpaned (p: POINTER): GTK_VPANED is do create Result.from_external_pointer(p) end
348	-- create_gtk_vruler (p: POINTER): GTK_VRULER is do create Result.from_external_pointer(p) end
349	create_gtk_vscale (p: POINTER): GTK_VSCALE is do create Result.from_external_pointer(p) end
350	create_gtk_vscrollbar (p: POINTER): GTK_VSCROLLBAR is do create Result.from_external_pointer(p) end
351	create_gtk_vseparator (p: POINTER): GTK_VSEPARATOR is do create Result.from_external_pointer(p) end
352		-- create_gtk_Viewport (p: POINTER): Gtk_Viewport is do create Result.from_external_pointer(p) end
353	create_gtk_window (p: POINTER): GTK_WINDOW is do create Result.from_external_pointer(p) end
354	create_gtk_window_group (p: POINTER): GTK_WINDOW_GROUP is do create Result.from_external_pointer(p) end
355
356feature
357
358	disable_setlocale is
359			-- Prevents initilize_gtk and similar call (wrappers of
360			-- gtk_init(), gtk_init_check(), gtk_init_with_args() and
361			-- gtk_parse_args() from automatically calling setlocale
362			-- (LC_ALL, ""). You would want to use this function if you
363			-- wanted to set the locale for your program to something
364			-- other than the user's locale, or if you wanted to set
365			-- different values for different locale categories.
366
367			-- Most programs should not need to call this function.
368		do
369			gtk_disable_setlocale
370		end
371	
372	-- TODO: wrap gtk_get_default_language ()
373
374	-- TODO: wrap gtk_parse_args ()
375
376	initialize, initialize_gtk is
377			-- Initialize everything needed to operate the GTK toolkit and parses
378			-- some standard command line options. argc and argv are adjusted
379			-- accordingly so your own code will never see those standard
380			-- arguments.
381
382			-- Note that there are some alternative ways to initialize GTK+: if you
383			-- are calling gtk_parse_args(), gtk_init_check(), gtk_init_with_args()
384			-- or g_option_context_parse() with the option group returned by
385			-- gtk_get_option_group(), you don't have to call gtk_init().
386
387			-- Note: This function will terminate your program if it was unable to
388			-- initialize the GUI for some reason. If you want your program to fall
389			-- back to a textual interface you want to call gtk_init_check()
390			-- instead.
391		local argc: INTEGER; argv: POINTER
392		do
393			if not is_initialized then
394				argc := argument_count
395				argv := command_arguments.to_external
396				gtk_init ($argc, $argv)
397				is_initialized := True
398			end
399		ensure initialized: is_initialized = True
400		end
401
402	is_initialized: BOOLEAN
403			-- Have gtk been successfully initilized?
404
405	try_initilizing_gtk is
406		-- Try initiliazing GTK toolkit. If successful
407		-- `is_gtk_initialized' will be True.
408		local argc: INTEGER; argv: POINTER
409		do
410			argc := argument_count
411			argv := command_arguments.to_external
412			is_initialized := gtk_init_check ($argc, $argv).to_boolean
413		end
414
415	-- TODO: wrap gtk_init_with_args ()
416
417	are_events_pending: BOOLEAN is
418			-- Are there any events pending? This can be used to update
419			-- the GUI and invoke timeouts etc. while doing some time
420			-- intensive computation.
421
422			-- TODO: Eiffelize this example Updating the GUI during a
423			-- long computation.
424
425			-- computation going on
426			-- ...
427			--     from until not are_events_pendind
428			-- 	 loop gtk_main_iteration 
429			-- ...
430			-- 	computation continued 
431		do
432			Result:=gtk_events_pending.to_boolean
433		end
434
435	run_main_loop, run_gtk_main_loop is
436			-- Runs the main loop until (C function) gtk_main_quit() is
437			-- called. You can nest calls to gtk_main(). In that case
438			-- gtk_main_quit() will make the innermost invocation of the
439			-- main loop return.
440		require gtk_initialized: is_initialized
441		do
442			gtk_main
443			std_error.put_string (once "Exiting gtk_main%N")
444		end
445
446	gtk_nesting_level: INTEGER is
447		obsolete "use nesting level instead"
448		do
449			Result := nesting_level
450		end
451
452	nesting_level: INTEGER is
453			-- the nesting level of the current invocation of the main
454			-- loop. This can be useful when calling gtk_quit_add().
455		do
456			Result := gtk_main_level
457		end
458
459	gtk_quit is
460		obsolete "use quit instead"
461		do
462			quit
463		end
464
465	quit is
466			-- Makes the innermost invocation of the main loop return
467			-- when it regains control.
468		do
469			gtk_main_quit
470		end
471
472	gtk_main_iteration is
473		obsolete "use main_iteration"
474		do
475			main_iteration
476		end
477
478	main_iteration is
479		-- Runs a single iteration of the mainloop. If no events are
480		-- waiting to be processed GTK+ will block until the next event
481		-- is noticed. If you don't want to block look at
482		-- gtk_main_iteration_not_blocking or check if any events are pending
483		-- with are_events_pending first.
484		local called_on_innermost_mainloop: INTEGER
485		do
486			-- TODO: expose called_on_innermost_mainloop in an intelligent way
487			called_on_innermost_mainloop := gtk_main_iteration_external
488		end
489
490	gtk_main_iteration_not_blocking is
491		obsolete "use not_blocking_main_iteration"
492		do
493			not_blocking_main_iteration
494		end
495
496	not_blocking_main_iteration is
497		local called_on_innermost_mainloop: INTEGER
498		do
499			-- TODO: expose called_on_innermost_mainloop in an intelligent way
500			called_on_innermost_mainloop := gtk_main_iteration_do (0)
501		end
502
503	-- TODO: wrap gtk_main_do_event in a release distant in the
504	-- future. Infact GTK documentation says "This is public only to
505	-- allow filtering of events between GDK and GTK+. You will not
506	-- usually need to call this function directly."
507	
508	-- GtkModuleInitFunc ()
509
510	-- void        (*GtkModuleInitFunc)            (gint *argc,
511	--                                              gchar ***argv);
512	
513	-- Each GTK+ module must have a function gtk_module_init() with this prototype. This function is called after loading the module with the argc and argv cleaned from any arguments that GTK+ handles itself.
514	-- argc : 	Pointer to the number of arguments remaining after gtk_init().
515	-- argv : 	Points to the argument vector.
516
517	-- GtkModuleDisplayInitFunc ()
518	
519	-- void        (*GtkModuleDisplayInitFunc)     (GdkDisplay *display);
520	
521
522
523	-- void        gtk_grab_add                    (GtkWidget *widget);
524
525	-- Makes widget the current grabbed widget. This means that interaction with other widgets in the same application is blocked and mouse as well as keyboard events are delivered to this widget.
526	-- widget : 	The widget that grabs keyboard and pointer events.
527	-- gtk_grab_get_current ()
528	
529	-- GtkWidget*  gtk_grab_get_current            (void);
530	
531	-- Queries the current grab of the default window group.
532	-- Returns : 	The widget which currently has the grab or NULL if no grab is active.
533	-- gtk_grab_remove ()
534	
535	-- void        gtk_grab_remove                 (GtkWidget *widget);
536
537-- Removes the grab from the given widget. You have to pair calls to gtk_grab_add() and gtk_grab_remove().
538-- widget : 	The widget which gives up the grab.
539-- gtk_init_add ()
540
541-- void        gtk_init_add                    (GtkFunction function,
542--                                              gpointer data);
543
544-- Registers a function to be called when the mainloop is started.
545-- function : 	Function to invoke when gtk_main() is called next.
546-- data : 	Data to pass to that function.
547-- gtk_quit_add_destroy ()
548
549-- void        gtk_quit_add_destroy            (guint main_level,
550--                                              GtkObject *object);
551
552-- Trigger destruction of object in case the mainloop at level main_level is quit.
553-- main_level : 	Level of the mainloop which shall trigger the destruction.
554-- object : 	Object to be destroyed.
555-- gtk_quit_add ()
556
557-- guint       gtk_quit_add                    (guint main_level,
558--                                              GtkFunction function,
559--                                              gpointer data);
560
561-- Registers a function to be called when an instance of the mainloop is left.
562-- main_level : 	Level at which termination the function shall be called. You can pass 0 here to have the function run at the termination of the current mainloop.
563-- function : 	The function to call. This should return 0 to be removed from the list of quit handlers. Otherwise the function might be called again.
564-- data : 	Pointer to pass when calling function.
565-- Returns : 	A handle for this quit handler (you need this for gtk_quit_remove()) or 0 if you passed a NULL pointer in function.
566-- gtk_quit_add_full ()
567
568-- guint       gtk_quit_add_full               (guint main_level,
569--                                              GtkFunction function,
570--                                              GtkCallbackMarshal marshal,
571--                                              gpointer data,
572--                                              GtkDestroyNotify destroy);
573
574-- Registers a function to be called when an instance of the mainloop is left. In comparison to gtk_quit_add() this function adds the possibility to pass a marshaller and a function to be called when the quit handler is freed.
575
576-- The former can be used to run interpreted code instead of a compilxfed function while the latter can be used to free the information stored in data (while you can do this in function as well)... So this function will mostly be used by GTK+ wrappers for languages other than C.
577-- main_level : 	Level at which termination the function shall be called. You can pass 0 here to have the function run at the termination of the current mainloop.
578-- function : 	The function to call. This should return 0 to be removed from the list of quit handlers. Otherwise the function might be called again.
579-- marshal : 	The marshaller to be used. If this is non-NULL, function is ignored.
580-- data : 	Pointer to pass when calling function.
581-- destroy : 	Function to call to destruct data. Gets data as argument.
582-- Returns : 	A handle for this quit handler (you need this for gtk_quit_remove()) or 0 if you passed a NULL pointer in function.
583-- gtk_quit_remove ()
584
585-- void        gtk_quit_remove                 (guint quit_handler_id);
586
587-- Removes a quit handler by its identifier.
588-- quit_handler_id : 	Identifier for the handler returned when installing it.
589-- gtk_quit_remove_by_data ()
590
591-- void        gtk_quit_remove_by_data         (gpointer data);
592
593-- Removes a quit handler identified by its data field.
594-- data : 	The pointer passed as data to gtk_quit_add() or gtk_quit_add_full().
595-- gtk_timeout_add_full ()
596
597
598-- gtk_key_snooper_install ()
599
600-- guint       gtk_key_snooper_install         (GtkKeySnoopFunc snooper,
601--                                              gpointer func_data);
602
603-- Installs a key snooper function, which will get called on all key events before delivering them normally.
604-- snooper : 	a GtkKeySnoopFunc.
605-- func_data : 	data to pass to snooper.
606-- Returns : 	a unique id for this key snooper for use with gtk_key_snooper_remove().
607
608	-- GtkKeySnoopFunc ()
609
610-- gint        (*GtkKeySnoopFunc)              (GtkWidget *grab_widget,
611--                                              GdkEventKey *event,
612--                                              gpointer func_data);
613
614-- Key snooper functions are called before normal event delivery. They can be used to implement custom key event handling.
615-- grab_widget : 	the widget to which the event will be delivered.
616-- event : 	the key event.
617-- func_data : 	the func_data supplied to gtk_key_snooper_install().
618-- Returns : 	TRUE to stop further processing of event, FALSE to continue.
619-- gtk_key_snooper_remove ()
620
621-- void        gtk_key_snooper_remove          (guint snooper_handler_id);
622
623-- Removes the key snooper function with the given id.
624-- snooper_handler_id : 	Identifies the key snooper to remove.
625-- gtk_get_current_event ()
626
627-- GdkEvent*   gtk_get_current_event           (void);
628
629-- Obtains a copy of the event currently being processed by GTK+. For example, if you get a "clicked" signal from GtkButton, the current event will be the GdkEventButton that triggered the "clicked" signal. The returned event must be freed with gdk_event_free(). If there is no current event, the function returns NULL.
630
631-- Returns : 	a copy of the current event, or NULL if no current event.
632-- gtk_get_current_event_time ()
633
634-- guint32     gtk_get_current_event_time      (void);
635
636-- If there is a current event and it has a timestamp, return that timestamp, otherwise return GDK_CURRENT_TIME.
637
638-- Returns : 	the timestamp from the current event, or GDK_CURRENT_TIME.
639-- gtk_get_current_event_state ()
640
641-- gboolean    gtk_get_current_event_state     (GdkModifierType *state);
642
643-- If there is a current event and it has a state field, place that state field in state and return TRUE, otherwise return FALSE.
644
645-- state : 	a location to store the state of the current event
646-- Returns : 	TRUE if there was a current event and it had a state field
647-- gtk_get_event_widget ()
648
649-- GtkWidget*  gtk_get_event_widget            (GdkEvent *event);
650
651-- If event is NULL or the event was not associated with any widget, returns NULL, otherwise returns the widget that received the event originally.
652
653-- event : 	a GdkEvent
654-- Returns : 	the widget that originally received event, or NULL
655-- gtk_propagate_event ()
656
657-- void        gtk_propagate_event             (GtkWidget *widget,
658--                                              GdkEvent *event);
659
660-- Sends an event to a widget, propagating the event to parent widgets if the event remains unhandled. Events received by GTK+ from GDK normally begin in gtk_main_do_event(). Depending on the type of event, existence of modal dialogs, grabs, etc., the event may be propagated; if so, this function is used. gtk_propagate_event() calls gtk_widget_event() on each widget it decides to send the event to. So gtk_widget_event() is the lowest-level function; it simply emits the "event" and possibly an event-specific signal on a widget. gtk_propagate_event() is a bit higher-level, and gtk_main_do_event() is the highest level.
661
662-- All that said, you most likely don't want to use any of these functions; synthesizing events is rarely needed. Consider asking on the mailing list for better ways to achieve your goals. For example, use gdk_window_invalidate_rect() or gtk_widget_queue_draw() instead of making up expose events.
663
664-- widget : 	a GtkWidget
665-- event : 	an event
666-- See Also
667
668-- See the GLib manual, especially GMainLoop and signal-related functions such as g_signal_connect().
669
670feature -- global windows features
671	toplevels: G_LIST [GTK_WINDOW] is
672			-- A list of all existing toplevel windows.
673		do
674			create {G_OBJECT_LIST [GTK_WINDOW]} Result.from_external_pointer (gtk_window_list_toplevels)
675			-- Note: (adapted from original documentation)
676			-- `gtk_window_list_toplevels' returns a list in which the
677			-- widgets are not individually referenced. Therefore before
678			-- performing actions involving callbacks that might destroy
679			-- the widgets, we call "g_list_foreach (result,
680			-- (GFunc)g_object_ref, NULL)" (implemented in
681			-- `ref_all_toplevels') first, and then unref all the widgets
682			-- afterwards.
683		
684			-- TODO: I'm not sure toplevels shall be reffed.
685			ref_all_toplevels (Result.handle)
686		end
687
688
689	default_icon_list: G_LIST[GDK_PIXBUF] is
690			-- an icon list to be used as fallback for windows that
691			-- haven't had `icon_list' called on them to set up a
692			-- window-specific icon list.
693		do
694			create {G_OBJECT_LIST[GDK_PIXBUF]} Result.from_external_pointer (gtk_window_get_default_icon_list)
695			-- Gets the value set by
696			-- gtk_window_set_default_icon_list(). The list is a copy and
697			-- should be freed with g_list_free(), but the pixbufs in the
698			-- list have not had their reference count incremented.
699		end
700
701	set_default_icon_list (some_pixbuffers: G_LIST[GDK_PIXBUF]) is
702			-- Sets an icon list to be used as fallback for windows that
703			-- haven't had gtk_window_set_icon_list() called on them to
704			-- set up a window-specific icon list. This function allows
705			-- you to set up the icon for all windows in your app at
706			-- once.  See `GTK_WINDOW.set_icon_list' for more details.
707		require
708			list_not_void: some_pixbuffers /= Void
709		do
710			gtk_window_set_default_icon_list(some_pixbuffers.handle)
711		end
712
713
714	set_default_icon (an_icon: GDK_PIXBUF) is
715			-- Sets an icon to be used as fallback for windows that
716			-- haven't had `GTK_WINDOW.set_icon' called on them from a
717			-- pixbuf.
718		do
719			gtk_window_set_default_icon (an_icon.handle)
720		end
721
722	set_default_icon_from_file (a_filename: STRING) is
723			-- Sets an icon to be used as fallback for windows that
724			-- haven't had gtk_window_set_icon_list() called on them from
725			-- a file on disk. Errors are stored in `error' feature
726		require
727			filename_not_void: a_filename /= Void
728		do
729			is_default_icon_set := (gtk_window_set_default_icon_from_file
730											(a_filename.to_external,
731											 address_of (error.handle))).to_boolean
732			-- Sets an icon to be used as fallback for windows that
733			-- haven't had gtk_window_set_icon_list() called on them from
734			-- a file on disk. Warns on failure if err is NULL.
735		end
736
737	is_default_icon_set: BOOLEAN
738			-- Has last call to `set_default_icon_from_file' actually 
739			-- set up the default icon?
740
741	set_default_icon_name (a_name: STRING) is
742			-- Sets an icon to be used as fallback for windows that
743			-- haven't had `GTK_WINDOW.set_icon_list' called on them from
744			-- a named themed icon, see `GTK_WINDOW.set_icon_name'.
745		do
746			gtk_window_set_default_icon_name (a_name.to_external)
747		end
748
749	set_auto_startup_notification is
750			-- By default, after showing the first GtkWindow for each
751			-- GdkScreen, GTK+ calls gdk_notify_startup_complete(). Call
752			-- this function to disable the automatic startup
753			-- notification. You might do this if your first window is a
754			-- splash screen, and you want to delay notification until
755			-- after your real main window has been shown, for example.
756
757			-- In that example, you would disable startup notification
758			-- temporarily, show your splash screen, then re-enable it so
759			-- that showing the main window would automatically result in
760			-- notification.
761		do
762			gtk_window_set_auto_startup_notification (1)
763		end
764
765	unset_auto_startup_notification is
766			-- Disable auto startup notification. Useful when dealing 
767			-- with splash-screens. See `set_auto_startup_notification' 
768			-- for further informations.
769		do
770			gtk_window_set_auto_startup_notification (0)
771		end
772
773feature -- Global error
774	error: G_ERROR
775			-- The error eventually set up by a GTK+ call.
776	
777feature {} -- External calls for global windows features
778	ref_all_toplevels (toplevel_list: POINTER) is
779		external "C inline use <gtk/gtk.h>"
780		alias "g_list_foreach ($toplevel_list, (GFunc)g_object_ref, NULL)"
781		end
782
783	gtk_window_list_toplevels: POINTER is -- GList* 
784		external "C use <gtk/gtk.h>"
785		end
786
787	gtk_window_get_default_icon_list: POINTER is -- GList* 
788		external "C use <gtk/gtk.h>"
789		end
790
791	gtk_window_set_default_icon_list(a_glist: POINTER) is
792		external "C use <gtk/gtk.h>"
793		end
794
795	gtk_window_set_default_icon (a_gdkpixbuf_icon: POINTER) is
796		external "C use <gtk/gtk.h>"
797		end
798
799	gtk_window_set_default_icon_from_file (filename_str, gerror_handle: POINTER): INTEGER is
800		external "C use <gtk/gtk.h>"
801		end
802
803	gtk_window_set_default_icon_name (name_str: POINTER) is
804		external "C use <gtk/gtk.h>"
805		end
806
807	gtk_window_set_auto_startup_notification (gboolean_setting: INTEGER) is
808		external "C use <gtk/gtk.h>"
809		end
810
811feature {} -- Unwrapped code from "Main loop and Events"
812
813	--   Main loop and Events -- Library initialization, main event loop, and
814	--   events
815	--
816	--Synopsis
817	--
818	--
819	-- #include <gtk/gtk.h>
820	--
821	--
822	-- gchar*      gtk_set_locale                  (void);
823	-- void        gtk_disable_setlocale           (void);
824	-- PangoLanguage* gtk_get_default_language     (void);
825	-- gboolean    gtk_parse_args                  (int *argc,
826	--                                              char ***argv);
827	-- void        gtk_init                        (int *argc,
828	--                                              char ***argv);
829	-- gboolean    gtk_init_check                  (int *argc,
830	--                                              char ***argv);
831	-- gboolean    gtk_init_with_args              (int *argc,
832	--                                              char ***argv,
833	--                                              char *parameter_string,
834	--                                              GOptionEntry *entries,
835	--                                              char *translation_domain,
836	--                                              GError **error);
837	-- GOptionGroup* gtk_get_option_group          (gboolean open_default_display);
838	-- void        gtk_exit                        (gint error_code);
839	-- gboolean    gtk_events_pending              (void);
840	-- void        gtk_main                        (void);
841	-- guint       gtk_main_level                  (void);
842	-- void        gtk_main_quit                   (void);
843	-- gboolean    gtk_main_iteration              (void);
844	-- gboolean    gtk_main_iteration_do           (gboolean blocking);
845	-- void        gtk_main_do_event               (GdkEvent *event);
846	-- void        (*GtkModuleInitFunc)            (gint *argc,
847	--                                              gchar ***argv);
848	-- void        (*GtkModuleDisplayInitFunc)     (GdkDisplay *display);
849	--
850	-- gboolean    gtk_true                        (void);
851	-- gboolean    gtk_false                       (void);
852	--
853	-- void        gtk_grab_add                    (GtkWidget *widget);
854	-- GtkWidget*  gtk_grab_get_current            (void);
855	-- void        gtk_grab_remove                 (GtkWidget *widget);
856	--
857	-- void        gtk_init_add                    (GtkFunction function,
858	--                                              gpointer data);
859	-- void        gtk_quit_add_destroy            (guint main_level,
860	--                                              GtkObject *object);
861	-- guint       gtk_quit_add                    (guint main_level,
862	--                                              GtkFunction function,
863	--                                              gpointer data);
864	-- guint       gtk_quit_add_full               (guint main_level,
865	--                                              GtkFunction function,
866	--                                              GtkCallbackMarshal marshal,
867	--                                              gpointer data,
868	--                                              GtkDestroyNotify destroy);
869	-- void        gtk_quit_remove                 (guint quit_handler_id);
870	-- void        gtk_quit_remove_by_data         (gpointer data);
871	--
872	-- guint       gtk_timeout_add_full            (guint32 interval,
873	--                                              GtkFunction function,
874	--                                              GtkCallbackMarshal marshal,
875	--                                              gpointer data,
876	--                                              GtkDestroyNotify destroy);
877	-- guint       gtk_timeout_add                 (guint32 interval,
878	--                                              GtkFunction function,
879	--                                              gpointer data);
880	-- void        gtk_timeout_remove              (guint timeout_handler_id);
881	--
882	-- guint       gtk_idle_add                    (GtkFunction function,
883	--                                              gpointer data);
884	-- guint       gtk_idle_add_priority           (gint priority,
885	--                                              GtkFunction function,
886	--                                              gpointer data);
887	-- guint       gtk_idle_add_full               (gint priority,
888	--                                              GtkFunction function,
889	--                                              GtkCallbackMarshal marshal,
890	--                                              gpointer data,
891	--                                              GtkDestroyNotify destroy);
892	-- void        gtk_idle_remove                 (guint idle_handler_id);
893	-- void        gtk_idle_remove_by_data         (gpointer data);
894	--
895	-- guint       gtk_input_add_full              (gint source,
896	--                                              GdkInputCondition condition,
897	--                                              G…

Large files files are truncated, but you can click here to view the full file