File: gdk_event_factory.e

package info (click to toggle)
egtk 0.3.5.cvs20020302-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,900 kB
  • ctags: 5,118
  • sloc: ansic: 2,212; makefile: 247; sh: 113
file content (126 lines) | stat: -rw-r--r-- 3,005 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
-- Copyright (C) 1999 Richie Bielak and others
-- Licensed under Eiffel Forum Freeware License, version 1;
-- (see forum.txt)
--
indexing

	description: "GDK_EVENT_FACTORY - create GDK_EVENT object based %
                 %on call back data"
	author: "Richie Bielak"
	verions: "0.3.4 Gtk+ 1.2.1"
	cvs: "$Id: gdk_event_factory.e,v 1.9 2002/02/26 15:58:41 elphick Exp $"

class GDK_EVENT_FACTORY

inherit

	GDK_EVENT_EXTERNALS

	GDK_CONSTANTS

feature

	make_event (eventp: POINTER): GDK_EVENT is
			-- create an Eiffel object for the event
		require
			eventp_not_void: eventp /= default_pointer
		local
			event_type: INTEGER
		do
			event_type := c_gdk_event_type (eventp)
			debug
				print("event_type = " + event_type.out + "%N")
			end
			inspect event_type 
			when Gdk_button_press,
				Gdk_2button_press,
				Gdk_3button_press,
				Gdk_button_release
			 then
				!GDK_EVENT_BUTTON!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT_BUTTON%N")
				end
			when Gdk_key_press,
				Gdk_key_release 
			 then
				!GDK_EVENT_KEY!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT_KEY%N")
				end
			when Gdk_configure then
				!GDK_EVENT_CONFIGURE!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT_CONFIGURE%N")
				end
			when Gdk_expose then
				!GDK_EVENT_EXPOSE!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT_EXPOSE%N")
				end
			when Gdk_no_expose then
				!!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT (no_expose)%N")
				end
			when Gdk_motion_notify then
				!GDK_EVENT_MOTION!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT_MOTION%N")
				end
			when Gdk_destroy then
				!!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT (destroy)%N")
				end
			when Gdk_visibility_notify then
				!GDK_EVENT_VISIBILITY!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT_VISIBILITY%N")
				end
			when Gdk_focus_change then
				!GDK_EVENT_FOCUS!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT_FOCUS%N")
				end
			when Gdk_property_notify then
				!GDK_EVENT_PROPERTY!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT_PROPERTY%N")
				end
			when Gdk_selection_clear,
				Gdk_selection_request,
				Gdk_selection_notify
			 then
				!GDK_EVENT_SELECTION!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT_SELECTION%N")
				end
			when Gdk_delete, 
				Gdk_enter_notify,
				Gdk_leave_notify,
				Gdk_map,
				Gdk_unmap,
				Gdk_proximity_in,
				Gdk_proximity_out,
				Gdk_drag_enter,
				Gdk_drag_leave,
				Gdk_drag_motion,
				Gdk_drag_status,
				Gdk_drop_start,
				Gdk_drop_finished,
				Gdk_client_event
			 then
				!!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT (various)%N")
				end
			else
				!!Result.make_from_pointer (eventp)
				debug
					print("Made GDK_EVENT (unkown)%N")
				end
			end
		end

end -- GDK_EVENT_FACTORY