Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /modeline.rb

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5 - (hide annotations) (download)
Wed Apr 4 12:13:36 2007 UTC (16 years, 11 months ago) by bluedwarf
File size: 2371 byte(s)
The new implementation of ModeLine.

1 bluedwarf 4
2     require "modeline_element.rb"
3    
4     module Edmaru
5 bluedwarf 5
6     module ModeLine
7    
8     #Construct the modeline instance.
9     #
10     #=== Warning
11     #This method *MUST* *NOT* be overrided in derived classes.
12     #
13     #=== Return
14     #An initialized instance of ModeLine.
15 bluedwarf 4 def initialize
16 bluedwarf 5 @elements = Hash.new
17     init_ui
18 bluedwarf 4 end
19    
20 bluedwarf 5 #The system specific initialization for ModeLine.
21     #
22     #=== Warning
23     #This method *SHOULD* be overrided in derived classes.
24     def init_ui
25 bluedwarf 4 end
26    
27 bluedwarf 5 #Add the specified _element_, an instance of ModeLineElement, to
28     #this ModeLine.
29     #
30     #=== Argument
31     #_element_ :: an instance of ModeLineElement to be added.
32     #
33     #=== Warning
34     #This method *MUST* *NOT* be overrided in derived classes.
35     #
36     #=== Return
37     #_true_ if the addition is succeeded.
38     #_false_ if the _element_'s name has already reserved.
39     def add_element(element)
40     if @elements.include?(element.name)
41     return false
42     end
43    
44     @elements[element.name] = element
45 bluedwarf 4 end
46    
47 bluedwarf 5 #Show the specified element.
48     #
49     #=== Argument
50     #_name_ :: the name of the element.
51     #
52     #=== Warning
53     #This method *MUST* *NOT* be overrided in derived classes.
54     def show_element(name)
55     if !@elements.include?(name) || @elements[name].visible
56     return
57     end
58    
59     @elements[name].visible = true
60    
61     #ToDo: refresh
62 bluedwarf 4 end
63    
64 bluedwarf 5
65     #Hide the specified element.
66     #
67     #=== Argument
68     #_name_ :: the name of the element.
69     #
70     #=== Warning
71     #This method *MUST* *NOT* be overrided in derived classes.
72     def hide_element(name)
73     if !@elements.include?(name) || !@elements[name].visible
74     return
75     end
76    
77     @elements[name].visible = false
78    
79     #ToDo: refresh
80     end
81    
82     #Get the specified element.
83     #
84     #=== Warning
85     #This method *MUST* *NOT* be overrided in derived classes.
86     #
87     #=== Argument
88     #_name_ :: the name of the element.
89     #
90     #=== Return
91     #An instance of ModeLineElement whose name is the specified name
92     #or _nil_ if the specified name is not registered.
93     def get_element(name)
94     if !@elements.include?(name)
95     return nil
96     end
97    
98     @elements[name]
99     end
100    
101     #Terminate this modeline instance.
102     #
103     #=== Warning
104     #This method *SHOULD* be overrided in derived classes.
105 bluedwarf 4 def terminate
106     end
107     end
108     end

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