Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /view.rb

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7 - (hide 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 bluedwarf 1
2 bluedwarf 4 require "event_manager.rb"
3     require "window.rb"
4    
5 bluedwarf 1 module Edmaru
6    
7     #Abstract class to implement system specific view.
8     module View
9    
10 bluedwarf 6 #Construct a view instance.
11 bluedwarf 1 #
12     #=== Warning
13     #This method *MUST* *NOT* be overrided in derived classes.
14     #
15 bluedwarf 2 #=== Argument
16     #_event_manager_ :: An instance of Edmaru::EventManager to handler
17     #all events raised from this view.
18     #
19 bluedwarf 1 #=== Return
20     #An initialized instance of View.
21 bluedwarf 2 def initialize(event_manager)
22     @event_manager = event_manager
23 bluedwarf 6
24     init_ui
25    
26     #Show default windows.
27 bluedwarf 4 @windows = Array.new
28 bluedwarf 6 @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 bluedwarf 1 end
36    
37     #The system specific initialization for this view.
38     #
39     #=== Warning
40 bluedwarf 5 #This method *SHOULD* be overrided in derived classes.
41 bluedwarf 3 def init_ui
42 bluedwarf 1 end
43    
44 bluedwarf 7 #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 bluedwarf 6 #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 bluedwarf 4 #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 bluedwarf 1 #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 bluedwarf 3 #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 bluedwarf 1 #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 bluedwarf 7 #This method *MUST* *NOT* be overrided in derived classes.
114 bluedwarf 1 def terminate
115 bluedwarf 7 @windows.each{ |window|
116     window.terminate
117     }
118     @mini_window.terminate
119    
120     terminate_ui
121 bluedwarf 1 end
122 bluedwarf 7
123     #Free system specifiec resources.
124     #
125     #=== Warning
126     #This method *SHOULD* be overrided in derived classes.
127     def terminate_ui
128     end
129 bluedwarf 1 end
130     end

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