Class: Studium::GUI::Gtk::EctsPerUniversity
- Inherits:
-
Gtk::Box
- Object
- Gtk::Box
- Studium::GUI::Gtk::EctsPerUniversity
show all
- Includes:
- Gtk::BaseModule
- Defined in:
- lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb
Overview
Studium::GUI::Gtk::EctsPerUniversity
Constant Summary
collapse
- NAMESPACE =
inspect
- TITLE =
'ECTS per University'
- WIDTH =
1200
- HEIGHT =
'40% or minimum 500px'
- USE_THIS_FONT =
:hack_20
Class Method Summary
collapse
-
.run(i = ARGV) ⇒ Object
# === Studium::GUI::Gtk::EctsPerUniversityModule.run ========================================================================= #.
Instance Method Summary
collapse
Constructor Details
53
54
55
56
57
58
59
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 53
def initialize(
run_already = true
)
super(:vertical)
reset
run if run_already
end
|
Class Method Details
.run(i = ARGV) ⇒ Object
#
Studium::GUI::Gtk::EctsPerUniversityModule.run
#
201
202
203
204
205
206
207
208
209
210
211
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 201
def self.run(
i = ARGV
)
require 'gtk_paradise/run'
_ = ::Studium::GUI::Gtk::EctsPerUniversity.new(i)
r = ::Gtk.run
r << _
r.determine_the_title_automatically
r.set_size_request(_.width?, _.height?)
r.top_left_then_run
end
|
Instance Method Details
#border_size? ⇒ Boolean
97
98
99
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 97
def border_size?
4
end
|
#connect_skeleton ⇒ Object
#
connect_skeleton (connect tag)
#
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 174
def connect_skeleton
abort_on_exception
obtain_the_main_dataset
@list_store = two_strings
create_the_tree_view
@dataset = @dataset.select {|line| line.include? 'ECTS points' }.map {|line|
if line.include? ':'
line = line.split(':').map(&:strip)
line[1] = line[1].rjust(17,' ')
end
line
}
populate_this_list_store2(@list_store, @dataset)
maximal(@tree_view, 5)
set_border_width(5)
end
|
#create_skeleton ⇒ Object
#
create_skeleton (create tag)
#
104
105
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 104
def create_skeleton
end
|
#create_the_tree_view ⇒ Object
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 149
def create_the_tree_view
@tree_view = gtk_tree_view(@list_store) { :clickable_headers }
@tree_view.set_font(USE_THIS_FONT)
@tree_view. = ['University', 'n ECTS points']
@tree_view.
@tree_view.can_be_resized
@tree_view.enable_search
@tree_view.rubber_banding
@tree_view.enable_dragging
@tree_view.reorderable = true
columns = @tree_view.columns?
columns[1].sortable_based_on(1)
@list_store.set_sort_func(1) { |_model, before, after|
ects_before = before[1].strip.sub(/ ECTS points/,'').to_f
ects_after = after[1].strip.sub(/ ECTS points/,'').to_f
ects_before <=> ects_after
}
end
|
#handle_CSS_rules ⇒ Object
#
handle_CSS_rules (CSS tag)
#
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 110
def handle_CSS_rules
append_project_css_file
more_CSS_then_apply_it '
treeview.view button {
font-size: 42px;
color: darkblue;
background: lightblue;
font-weight: bold;
text-shadow: none;
box-shadow: none;
border: 1px solid black;
}
'
end
|
#obtain_the_main_dataset ⇒ Object
#
obtain_the_main_dataset
#
142
143
144
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 142
def obtain_the_main_dataset
@dataset = return_dataset_from_the_main_class
end
|
#padding? ⇒ Boolean
90
91
92
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 90
def padding?
8
end
|
#reset ⇒ Object
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 64
def reset
reset_the_internal_variables
@configuration = [true, __dir__, NAMESPACE]
set_title(TITLE)
set_width(WIDTH)
set_height(HEIGHT)
set_use_this_font(USE_THIS_FONT)
handle_CSS_rules
infer_the_size_automatically
end
|
#return_dataset_from_the_main_class ⇒ Object
#
return_dataset_from_the_main_class
#
129
130
131
132
133
134
135
136
137
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 129
def return_dataset_from_the_main_class
dataset = Studium::EctsPerUniversity.new {
:sort_by_highest_first_and_be_quiet_and_no_colours
}.result?
dataset = dataset.split("\n").map {|entry|
entry.strip
}.reject {|line| line.empty? }.compact
return dataset
end
|
#run ⇒ Object
194
195
196
|
# File 'lib/studium/gui/gtk3/ects_per_university/ects_per_university.rb', line 194
def run
create_skeleton_then_connect_skeleton
end
|