Class: Roebe::GUI::UniversalWidgets::CodeGenerator
- Inherits:
-
Base
- Object
- Base
- Roebe::GUI::UniversalWidgets::CodeGenerator
show all
- Includes:
- UniversalWidgets::BaseModule
- Defined in:
- lib/roebe/gui/universal_widgets/code_generator/code_generator.rb
Overview
Constant Summary
collapse
- TITLE =
'Code Generator'
- WIDTH =
'95% or minimum 1280px'
- HEIGHT =
'40% or minimum 300px'
- USE_THIS_FONT =
:hack_20
- LARGER_FONT =
:hack_24
- SMALLER_FONT =
:hack_28
- TODO_DIRECTORY =
'/home/x/data/personal/todo/'
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#actions, #append_this_onto_that_file, #append_what_into, #be_silent, #be_verbose?, #beautiful_url, #burlywood, #call_next, #chdir, #cheerful_guy, #cliner, #complex_esystem, #convert_global_env, #copy_directory, #copy_file, #cornflowerblue, #create_directory, #crimson, #current_month?, #current_time?, #current_year?, #cyan, #darkcyan, #darkgreen, #darkkhaki, #darkslateblue, #deeppink, #delete_symlink, #do_not_use_the_base_colours, #do_use_the_base_colours, #e, #ecomment, #editor_to_use?, #efancy, #eimp, #emphasis, #ensure_main_encoding, #ensure_utf_encoding, #eparse, #erev, #esteelblue, #etomato, #ewarn, #exit_program, #firebrick, #get_current_day, #get_current_month, #get_files_and_directories, #get_files_from, #get_german_name_for_this_weekday, #gold, #green, #grey, #hh_mm_ss, #hh_mm_ss_day_month_year, #home_dir?, #home_directory_of_user_x?, #infer_the_namespace, #internal_hash?, #is_a_directory?, #is_a_file?, #is_a_jpg_file?, #is_an_image_file?, #is_archive?, #is_audio_file?, #is_in_studium_dir?, #is_multimedia_file?, #is_on_roebe?, #is_on_windows?, #is_studium_available?, #is_symlink?, #is_this_a_ruby_file?, #is_video_file?, #iso_encoding?, #le, #left_colour, #lightblue, #lightgreen, #lightseagreen, #lightsteelblue, #lime, #limegreen, #localhost_to_data, #log_directory?, #main_encoding?, #mediumorchid, #mediumpurple, #mediumseagreen, #mediumslateblue, #mediumspringgreen, #mediumturquoise, #mkdir_p, #mv, #n_days_in_this_month, #n_pages_in_this_pdf_file?, #namespace?, #no_file_exists_at, #ogrey, #olive, #olivedrab, #open_in_browser, #opne, #opnesystem, #opnn, #orange, #orchid, #orev, #palegoldenrod, #palevioletred, #pink, #powderblue, #programs_dir?, #project_base_dir?, #random_html_colour, #rds, #read_file_in_iso_encoding, #read_file_via_the_default_encoding, #read_lines_via_iso_encoding, #readlines_with_main_encoding, #red, #register_sigint, #remove, #remove_directory, #remove_file, #rename_kde_konsole_tab, #replace_localhost_with_data, #report_pwd, #require_rescue, #reset_the_internal_hash, #return_all_directories_from_this_directory, #return_all_files_from_this_directory, #return_current_directory, #return_dd_mm_yyyy, #return_file_or_directory_of, #return_files_from_pwd, #return_last_part_of_the_current_directory, #return_utc, #rev, #right_arrow?, #right_colour, #roebe_log_directory?, #rosybrown, #royalblue, #ruby_base_directory?, #run_in_background, #run_rcfiles_then_run_ata_via_qdbus, #sandybrown, #sdir, #seagreen, #set_be_verbose, #set_xorg_buffer, #sfancy, #sfile, #show_help, #silent_redirection?, #simp, #simple_esystem, #skyblue, #slateblue, #slategray, #springgreen, #steelblue, #string_italic, #swarn, #symlink, #teal, #temp_dir?, #to_camelcase, #to_counted_hash, #tomato, #touch, #try_to_require_the_beautiful_url_gem, #try_to_require_the_html_template, #try_to_require_the_open_gem, #try_to_require_the_program_information_gem, #try_to_require_the_xorg_buffer, #use_colours?, #verbose_truth, #weekday?, #word_wrap, #write_what_into, #yellow
#append_onto_the_commandline_arguments, #clear_commandline_arguments, #commandline_arguments?, #commandline_arguments_as_string?, #commandline_arguments_without_leading_hyphens?, #first_argument?, #first_argument_without_leading_hyphens?, #has_an_argument_been_passed?, #remove_hyphened_arguments_from_the_commandline_arguments, #return_commandline_arguments_with_leading_hyphens, #second_argument?, #set_commandline_arguments
Constructor Details
#initialize(commandline_arguments = nil, run_already = true) ⇒ CodeGenerator
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 71
def initialize(
commandline_arguments = nil,
run_already = true
)
super(:vertical) if use_gtk3?
determine_the_GUI_to_be_used(commandline_arguments) reset
set_commandline_arguments(
commandline_arguments
)
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
349
350
351
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 349
def self.[](i = ARGV)
new(i)
end
|
.run(i = ARGV) ⇒ Object
#
Roebe::GUI::Gtk::CodeGenerator.run
#
334
335
336
337
338
339
340
341
342
343
344
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 334
def self.run(
i = ARGV
)
require 'gtk_paradise/run'
_ = ::Roebe::GUI::Gtk::CodeGenerator.new(i)
r = ::Gtk.run
r << _
r.automatic_size
r.automatic_title
r.top_left_then_run
end
|
Instance Method Details
#border_size? ⇒ Boolean
259
260
261
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 259
def border_size?
2
end
|
#connect_the_skeleton ⇒ Object
#
connect_the_skeleton (connect tag)
#
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 280
def connect_the_skeleton
abort_on_exception
first_two_widgets = draggable_horizontal_bar(
@widget_ruby_head,
@widget_ruby_use_config
)
first_two_widgets.position = 70
third_widget = draggable_horizontal_bar(
first_two_widgets,
@widget_ruby_end
)
third_widget.position = 160
window = create_window_or_runner(third_widget, width?, height?, title?)
properly_prepare_this_window(window,
{
title: title?,
font: font?,
width: width?,
height: height?,
padding: padding?,
border_size: border_size?
}
)
window.show_all
run_main
end
|
#
All buttons are aggregated here.
#
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 119
def create_the_buttons
@button_generate_ruby_head = button('Generate ruby head'.ljust(20), self) {
:do_generate_ruby_head
}
@button_generate_ruby_head.on_hover(:lightblue)
@button_generate_ruby_head.hint = 'Click this button '\
'in order to generate the <b>typical header for a .rb file</b>.'
@button_generate_ruby_use_config = button('Generate ruby-gtk use config method', self) {
:do_generate_ruby_use_config
}
@button_generate_ruby_use_config.on_hover(:lightblue)
@button_generate_ruby_use_config.hint = 'Click this button '\
'in order to generate the <b>typical header for a .rb file</b>.'
@button_generate_ruby_end = button('Generate ruby end statement', self) {
:do_generate_ruby_end_statement
}
@button_generate_ruby_end.on_hover(:lightblue)
@button_generate_ruby_end.hint = 'Click this button in order to '\
'generate the <b>typical end of '\
'a .rb file</b>.'
end
|
#create_the_skeleton ⇒ Object
Also known as:
create_skeleton
#
create_skeleton (create tag, skeleton tag)
#
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 155
def create_the_skeleton
create_the_buttons
@text_view1 = create_text_view
@text_view1.bblack2
@text_view2 = create_text_view
@text_view2.bblack2
@text_view3 = create_text_view
@text_view3.bblack2
@widget_ruby_head = create_hbox
@widget_ruby_head.pad2px
@widget_ruby_head.minimal(bold_label('1'), 2)
@widget_ruby_head.minimal(@button_generate_ruby_head, 2)
scrolled_window1 = create_scrolled_window(@text_view1)
scrolled_window1.set_size_request(450, 100)
scrolled_window1.set_font(:hack_16)
scrolled_window1.bblack1
@widget_ruby_head.maximal(scrolled_window1)
@widget_ruby_use_config = create_hbox
@widget_ruby_use_config.pad2px
@widget_ruby_use_config.minimal(bold_label('2'), 2)
@widget_ruby_use_config.minimal(@button_generate_ruby_use_config, 2)
scrolled_window2 = create_scrolled_window(@text_view2)
scrolled_window2.set_size_request(450, 100)
scrolled_window2.set_font(:hack_16)
scrolled_window2.bblack1
@widget_ruby_use_config.maximal(scrolled_window2)
@widget_ruby_end = create_hbox
@widget_ruby_end.pad2px
@widget_ruby_end.minimal(bold_label('3'), 2)
@widget_ruby_end.minimal(@button_generate_ruby_end, 2)
scrolled_window3 = create_scrolled_window(@text_view3)
scrolled_window3.set_size_request(450, 100)
scrolled_window3.set_font(:hack_16)
scrolled_window3.bblack1
@widget_ruby_end.maximal(scrolled_window3)
end
|
#create_the_text_buffer ⇒ Object
#
create_the_text_buffer
#
266
267
268
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 266
def create_the_text_buffer
@text_buffer = Gtk::BaseModuleBox.new.create_text_buffer if use_gtk3?
end
|
#determine_the_content_for_the_main_string_in_use ⇒ Object
#
determine_the_content_for_the_main_string_in_use
The @text variable will contain the content of the scrolled-window.
#
216
217
218
219
220
221
222
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 216
def determine_the_content_for_the_main_string_in_use
@text = ''.dup
@aliases.each_pair {|key, value|
@text << "#{key}: #{value}\n"
}
@text.strip!
end
|
#do_generate_ruby_end_statement ⇒ Object
#
do_generate_ruby_end_statement
#
110
111
112
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 110
def do_generate_ruby_end_statement
@text_view3.set_text(Roebe.ruby_main_string.to_s)
end
|
#do_generate_ruby_head(use_this_text_view = @text_view1) ⇒ Object
#
do_generate_ruby_head
#
227
228
229
230
231
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 227
def do_generate_ruby_head(use_this_text_view = @text_view1)
_ = Roebe.
use_this_text_view.set_text(_)
XorgBuffer.set(_)
end
|
#do_generate_ruby_use_config(use_this_text_view = @text_view2) ⇒ Object
#
do_generate_ruby_use_config
#
236
237
238
239
240
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 236
def do_generate_ruby_use_config(use_this_text_view = @text_view2)
_ = Roebe.return_ruby_use_config_file
use_this_text_view.set_text(_)
XorgBuffer.set(_)
end
|
314
315
316
317
318
319
320
321
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 314
def do_style_all_buttons_uniformly
return_all_buttons.each {|this_button|
this_button.clear_background
this_button.bblack1
this_button.css_class('darkblue')
this_button.set_size_request(520, 60)
}
end
|
#do_update_the_content_for_the_scrolled_window ⇒ Object
#
do_update_the_content_for_the_scrolled_window (clicked tag)
#
207
208
209
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 207
def do_update_the_content_for_the_scrolled_window
@sourcecode_widget.set_text(@text)
end
|
#favicon? ⇒ Boolean
245
246
247
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 245
def favicon?
:tabble
end
|
#main_font? ⇒ Boolean
273
274
275
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 273
def main_font?
:hack_15
end
|
#padding? ⇒ Boolean
252
253
254
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 252
def padding?
0
end
|
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 87
def reset
super() if respond_to?(:super)
reset_the_base_module
reset_the_internal_variables
infer_the_namespace
@configuration = [true, __dir__, namespace?]
title_width_height_font(TITLE, WIDTH, HEIGHT, USE_THIS_FONT)
determine_the_aliases_in_use
if use_gtk3?
use_gtk_paradise_project_css_file
end
infer_the_size_automatically
end
|
326
327
328
329
|
# File 'lib/roebe/gui/universal_widgets/code_generator/code_generator.rb', line 326
def run
do_style_all_buttons_uniformly
run_super
end
|