Develop and Download Open Source Software

Browse Subversion Repository

Contents of /view.rb

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6 - (show annotations) (download)
Wed Apr 4 18:10:10 2007 UTC (16 years, 11 months ago) by bluedwarf
File size: 2468 byte(s)
The new implementation of MiniWindow.

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 #Total column size allocated for this view.
45 #
46 #=== Warning
47 #This method *SHOULD* be overrided in drived classes.
48 def allocated_column
49 0
50 end
51
52 #Total numbe of lines allocated for this view.
53 #
54 #=== Warning
55 #This method *SHOULD* be overrided in drived classes.
56 def allocated_line
57 0
58 end
59
60 #The mini window displayed in the bottom of the screen.
61 #
62 #=== Warning
63 #This method *MUST* *NOT* be overrided in derived classes.
64 def mini_window
65 @mini_window
66 end
67
68 #The main window.
69 #
70 #=== Warning
71 #This method *MUST* *NOT* be overrided in derived classes.
72 def main_window
73 @windows[0]
74 end
75
76 #Main loop to catch all events.
77 #
78 #=== Warning
79 #This method *SHOULD* be overrided in derived classes.
80 def main_loop
81 end
82
83 #Exit the running main loop.
84 #
85 #=== Warning
86 #This method *SHOULD* be overrided in derived classes.
87 #
88 #=== Note
89 #Some UI systems (such as Ncurses) don't exit the main loop as
90 #soon as this method is called.
91 def exit_main_loop
92 end
93
94 #Beep once.
95 #
96 #=== Warning
97 #This method *SHOULD* be overrided in derived classes.
98 def beep
99 false
100 end
101
102 #Terminate this view instance.
103 #
104 #=== Warning
105 #This method *SHOULD* be overrided in derived classes.
106 def terminate
107 end
108 end
109 end

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