Develop and Download Open Source Software

Browse Subversion Repository

Contents of /view.rb

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7 - (show annotations) (download)
Thu Apr 5 04:35:12 2007 UTC (16 years, 11 months ago) by bluedwarf
File size: 2916 byte(s)
I'm struggling with Gtk::DrawingArea.

1
2 require "event_manager.rb"
3 require "window.rb"
4
5 module Edmaru
6
7 #Abstract class to implement system specific view.
8 module View
9
10 #Construct a view instance.
11 #
12 #=== Warning
13 #This method *MUST* *NOT* be overrided in derived classes.
14 #
15 #=== Argument
16 #_event_manager_ :: An instance of Edmaru::EventManager to handler
17 #all events raised from this view.
18 #
19 #=== Return
20 #An initialized instance of View.
21 def initialize(event_manager)
22 @event_manager = event_manager
23
24 init_ui
25
26 #Show default windows.
27 @windows = Array.new
28 @windows.push
29 Edmaru::window_class.new(self, 0, 0,
30 allocated_column, allocated_line - 1)
31 @mini_window =
32 Edmaru::mini_window_class.new(self, 0,
33 allocated_line - 1,
34 allocated_column)
35 end
36
37 #The system specific initialization for this view.
38 #
39 #=== Warning
40 #This method *SHOULD* be overrided in derived classes.
41 def init_ui
42 end
43
44 #The event manager linked to this view.
45 #
46 #=== Warning
47 #This method *MUST* *NOT* be overrided in derived classes.
48 def event_manager
49 @event_manager
50 end
51
52 #Total column size allocated for this view.
53 #
54 #=== Warning
55 #This method *SHOULD* be overrided in drived classes.
56 def allocated_column
57 0
58 end
59
60 #Total numbe of lines allocated for this view.
61 #
62 #=== Warning
63 #This method *SHOULD* be overrided in drived classes.
64 def allocated_line
65 0
66 end
67
68 #The mini window displayed in the bottom of the screen.
69 #
70 #=== Warning
71 #This method *MUST* *NOT* be overrided in derived classes.
72 def mini_window
73 @mini_window
74 end
75
76 #The main window.
77 #
78 #=== Warning
79 #This method *MUST* *NOT* be overrided in derived classes.
80 def main_window
81 @windows[0]
82 end
83
84 #Main loop to catch all events.
85 #
86 #=== Warning
87 #This method *SHOULD* be overrided in derived classes.
88 def main_loop
89 end
90
91 #Exit the running main loop.
92 #
93 #=== Warning
94 #This method *SHOULD* be overrided in derived classes.
95 #
96 #=== Note
97 #Some UI systems (such as Ncurses) don't exit the main loop as
98 #soon as this method is called.
99 def exit_main_loop
100 end
101
102 #Beep once.
103 #
104 #=== Warning
105 #This method *SHOULD* be overrided in derived classes.
106 def beep
107 false
108 end
109
110 #Terminate this view instance.
111 #
112 #=== Warning
113 #This method *MUST* *NOT* be overrided in derived classes.
114 def terminate
115 @windows.each{ |window|
116 window.terminate
117 }
118 @mini_window.terminate
119
120 terminate_ui
121 end
122
123 #Free system specifiec resources.
124 #
125 #=== Warning
126 #This method *SHOULD* be overrided in derived classes.
127 def terminate_ui
128 end
129 end
130 end

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26