Class: RBT::GUI::UniversalWidgets::CompileProgram
- Inherits:
-
Base
show all
- Includes:
- UniversalWidgets::BaseModule
- Defined in:
- lib/rbt/gui/universal_widgets/compile_program/compile_program.rb
Overview
Constant Summary
collapse
- USE_THESE_CSS_RULES =
'
'
- STATUS_BAR_CONTEXT_ID =
#
STATUS_BAR_CONTEXT_ID
#
'CompileProgram'
- TITLE =
'Compile a program'
- WIDTH =
'85% or minimum 1480px'
- HEIGHT =
'46% or minimum 520px'
- USE_THIS_FONT =
:dejavu_condensed_20
- LARGER_FONT =
:dejavu_condensed_22
- SMALLER_FONT =
:dejavu_condensed_18
LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#cat, #cd_back_to_the_current_working_directory, #consider_reporting_how_many_programs_are_registered, #cookbook_files?, #copy_recursively, #delete_code_of_conduct?, #determine_appdir_prefix_from_this_input, #directory_validation?, #do_not_show_names, #fast_return_file_size_of_this_program, #file_last_symlinked_program?, #file_programs_version_url, #gem_version, #is_a_64bit_system?, #is_ccache_available?, #is_porg_available?, #is_this_binary_registered?, #is_this_program_included?, #make_command?, #make_install_command?, #new_cookbook_instance_for, #program_exists?, #publish_list_of_all_programs_version, #rcp, registered_binaries?, #remove_symlink, #rename_kde_konsole_tab, #repackage, #report_n_programs, #report_working_directory, #return_compile_time_statistics, #return_n_random_characters, #return_version_of_this_program, #run_make_then_make_install, #sanitize_url1_entry, #set_source_directory, #show_overview_over_available_utility_scripts, #symlink_all_files_from_this_directory_to_that_directory, #system_tags?, #upload_list_of_all_programs_version, #use_yaml_database_for_tags?, #warn_and_exit, #wget
#a_or_an?, #abbreviations?, #absolute_path, #action, #add_to_the_commandline_arguments, #all_binaries?, #all_files_from, #all_libraries?, #allowed_cookbook_entries?, #appdir_location_of?, #append_onto_the_internal_hash, #append_what_into, #archive_type_of?, #be_quiet?, #be_verbose?, #begins_with_a_comment?, #capitalize_first_alphabetical_character, #cd_to_the_log_directory, #cd_to_the_temp_directory, #change_directory, #change_permission, #cheering_person?, #chmod, #chop_off_archive, #clear_commandline_arguments, #cliner, #coloured_and_padded_e, #coloured_and_padded_esystem, #coloured_esystem, #colourize_directory_for_system_results, #colourize_this_error, #colourize_this_file_path, #colourize_this_warning, #commandline_arguments?, #commandline_arguments_without_hyphens?, #comment, #convert_dd_mm_yyyy_to_its_long_variant, #convert_env_variable, #copy_directory, #copy_files, #cpr, #create_directory, #current_hour?, #dd_mmm_yyy, #debug, #debug?, #directory_expanded_cookbooks?, #disable_colours, #display_md5sum?, #do_not_debug, #does_the_cookbook_include_this_program?, #does_this_expanded_cookbook_file_exist_for_this_program?, #does_this_file_exist?, #does_this_file_exist_and_is_it_a_file?, #e, #eblue, #ecomment, #ecrimson, #edir, #editor?, #efancy, #eimp, #enable_colours, #enable_debug, #ensure_main_encoding_for, #eparse, #esystem, #esystem_gold, #etomato, #ewarn, #exit_program, #expanded_cookbooks_directory_exists?, #extract_this_archive, #extract_to?, #file_compiled_programs?, #file_dirname_retaining_trailing_slash, #file_predefined_installation_instructions?, #file_specification_of_registered_cookbook_entries, #find_cookbook_alias_for, #find_this_yaml_file, #first_argument?, #first_non_hyphen_argument?, #get_all_directories_from, #get_all_files_from, #get_all_programs, #get_date, #get_extended_date, #get_files_and_directories_from, #go_to_base_dir, #home_dir?, #host_system?, #infer_the_namespace, #internal_hash?, #internal_hash_set_commandline_arguments, #is_an_archive?, #is_directory?, #is_file?, #is_github_url?, #is_make_available?, #is_meson_installed?, #is_on_gobolinux?, #is_on_windows?, #is_roebe?, #is_superuser?, #is_symlink?, #is_this_a_header?, #is_this_a_library?, #is_this_program_included?, #iso_encoding?, #load_dataset_from_this_expanded_cookbook, #load_yaml, #load_yaml_file_from_the_cookbook_directory_for_this_program, #log_directory?, #main_encoding?, #meson_build_file_exists?, #months?, #move_file, #n_programs_are_available?, #n_programs_available?, #namespace?, #no_directory_exists_at, #no_directory_was_found_at, #no_opn, #no_such_file_exists, #open_in_browser, #open_in_editor, #opncomment, #opne, #opnef, #opnerev, #opnerror, #opnesystem, #opnewarn, #opnfancy, #opnn, #packages_directory?, #path_to_this_expanded_cookbooks_dataset, #pkgconfig_directory?, #populate_the_internal_hash_with_default_values, #predefined_installation_instructions?, #prepend_this_commandline_argument, #program_version_of?, #project_base_directory?, #project_yaml_directory?, #query_path?, #rarrow?, #read_file, #read_file_in_default_encoding, #read_file_with_default_encoding, #readlines, #readlines_with_proper_encoding, #register_sigint, #registered_cookbook_entries?, #remove, #remove_archive_from_the_end, #remove_comments_from_each_line, #remove_directory, #remove_double_slashes, #remove_file, #remove_newlines, #remove_parens, #remove_symlink, #remove_the_first_commandline_argument, #remove_this_commandline_argument, #remove_this_entry_from_the_commandline_arguments, #remove_trailing_ANSII_escape_code, #remove_unnecessary_data_from_url, #rename, #report_pwd, #require_the_rbt_aliases, #reset_the_internal_hash, #return_all_archives_from_this_directory, #return_appdir_prefix, #return_commandline_arguments_with_leading_hyphens, #return_current_hour_minutes_second, #return_date, #return_day_of_the_month_based_on_utc, #return_full_time, #return_hours_minutes_seconds_based_on_utc, #return_location_to_this_programs_yaml_file, #return_month_based_on_this_number, #return_month_based_on_utc, #return_opnn, #return_program_information, #return_program_name_for_gobolinux_systems, #return_pwd, #return_unicode_warning_symbol_or_empty_string, #return_utc, #return_utc_time_in_a_format_similar_to_slackware, #return_weekday_based_on_utc, #return_year_based_on_utc, #rev, #run_simulation=, #run_simulation?, #sdir, #sdir_return_pwd, #set_be_silent, #set_be_verbose, #set_first_commandline_argument, #set_namespace, #set_use_opn, #set_xorg_buffer, #sfancy, #sfile, #silent_redirection?, #silently_create_this_directory_if_it_does_not_yet_exist, #simp, #source_base_directory?, #ssym, #stderr, #store_into_this_directory?, #string_right_arrow?, #swarn, #symlink, #sysbin_directory?, #sysetc_directory?, #sysinclude_directory?, #syslib_directory?, #sysshare_directory?, #system_directory?, #temp_directory?, #to_bool, #to_camelcase, #to_iso_encoding, #to_unicode, #today?, #touch, #try_to_require_beautiful_url, #try_to_require_the_environment_information_gem, #try_to_require_the_extracter_gem, #try_to_require_the_open_gem, #try_to_require_the_xorg_buffer, #try_to_require_wget, #try_to_return_a_special_compile_component, #unicode_cliner, #unicode_middle_cliner, #use_colours=, #use_colours?, #use_opn=, #use_opn?, #utf_encoding?, #verbose_truth, #word_wrap, #write_what_into, #write_what_into_via_unicode, #yes_or_no
Constructor Details
#initialize(commandline_arguments = ARGV, text_for_the_compile_button = 'Compile', run_already = true) ⇒ CompileProgram
#
initialize
The second argument is the text which can be shown on the compile-button. The default text is ‘Compile’. The reason why this option exists is because we may want to have this widget ‘Install’ rather than ‘Compile’ sometimes.
#
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 83
def initialize(
commandline_arguments = ARGV,
text_for_the_compile_button = 'Compile',
run_already = true
)
super(:vertical) if use_gtk3?
determine_the_GUI_to_be_used(commandline_arguments) reset
set_commandline_arguments(
commandline_arguments
)
on_delete_event_quit_the_application
set_text_on_the_compile_button(
text_for_the_compile_button
)
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
746
747
748
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 746
def self.[](i = ARGV)
new(i)
end
|
.run(i = ARGV) ⇒ Object
#
RBT::GUI::Gtk::CompileProgram.run
#
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 727
def self.run(
i = ARGV
)
require 'gtk_paradise/run'
_ = ::RBT::GUI::Gtk::CompileProgram.new(i)
r = ::Gtk.run
_.set_parent_widget(r) r << _
r.add_shortcut(1, 'focus_on_entry', :alt)
r.add_shortcut(:a, 'focus_on_entry', :alt)
r.automatic_size_then_automatic_title
r.enable_quick_exit
r.set_background :white
r.top_left_then_run
end
|
Instance Method Details
#add_msg(i = 'Starting') ⇒ Object
#
add_msg
Add a message to the statusbar.
#
354
355
356
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 354
def add_msg(i = 'Starting')
@status_bar.push(@status_bar_context_id, i)
end
|
#available_programs? ⇒ Boolean
#border_size? ⇒ Boolean
174
175
176
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 174
def border_size?
2
end
|
#compile_program_in_thread(i) ⇒ Object
#
compile_program_in_thread
The argument to this method should be the name of the program, such as “htop”.
#
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 328
def compile_program_in_thread(i)
@thread = Thread.new {
@compile = RBT::Action::Installer.new(i, :do_not_run_yet)
if ::RBT.is_this_program_included?(i)
set_show_more_information_about_this_program(i)
end
if @button_traditional.active?
_ = :traditional
elsif @button_non_traditional.active?
_ = :non_traditional
end
@compile.prefix = _
@compile.run
add_msg 'Finished compiling the program '\
'called `'+i.to_s+'`! End-Time: '+
return_current_time
}
@thread = nil
end
|
#connect_the_skeleton ⇒ Object
#
connect_the_skeleton (connect tag)
#
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 502
def connect_the_skeleton
abort_on_exception
outer_vbox = create_vbox
hbox_containing_the_label_compile_and_the_entry_compile_this_program = create_hbox
hbox_containing_the_label_compile_and_the_entry_compile_this_program.minimal(
@label_compile, 2
)
hbox_containing_the_label_compile_and_the_entry_compile_this_program.maximal(
@entry_compile_this_program, 2
)
hbox_containing_the_label_compile_and_the_entry_compile_this_program.minimal(
@button_compile, 2
)
outer_vbox.add(
hbox_containing_the_label_compile_and_the_entry_compile_this_program
)
vbox_middle = vbox
vbox_middle.minimal(@button_check)
vbox_middle.minimal(@button_traditional)
vbox_middle.minimal(@button_non_traditional)
@main_vbox_in_the_middle.minimal(vbox_middle)
outer_vbox.maximal(@main_vbox_in_the_middle, 4)
hbox1 = hbox
hbox1.minimal(@button_kill_the_main_pid)
outer_vbox.minimal(hbox1, 4)
@main_vbox_in_the_middle.maximal(
@widget_holding_information_about_a_particular_program, 1
)
outer_vbox.minimal(@status_bar)
@frame.add(outer_vbox)
window = create_window_or_runner
window << @frame
properly_prepare_this_window(window,
{
title: title?,
font: font?,
width: width?,
height: height?,
padding: padding?,
border_size: border_size?
}
)
window.show_all
window.top_left
do_all_startup_related_actions
run_main
end
|
#create_gtk_entries_and_completions ⇒ Object
#
create_gtk_entries_and_completions
Completion for our EntryCompletion.
#
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 606
def create_gtk_entries_and_completions
@entry_compile_this_program = create_entry
@entry_compile_this_program.bblack1
@entry_compile_this_program.yellow_background
completion = gtk_entry_completion
@entry_compile_this_program.completion = completion
@list_store = ::Gtk::ListStore.new(String)
available_programs?.each { |word|
iter = @list_store.append
iter[0] = word
}
@entry_compile_this_program.on_key_press_event { |widget, event|
do_compile_the_program if ::Gdk::Keyval.to_name(event.keyval) == 'Return'
}
completion.model = @list_store
completion.text_column = 0
@entry_compile_this_program.set_max_length(80)
@entry_compile_this_program.set_text('')
@entry_compile_this_program.do_focus
@entry_compile_this_program.align_into_the_middle
@entry_compile_this_program.enable_scroll_events
@entry_compile_this_program.signal_connect(:event) { |widget, event|
case event.event_type.name
when 'GDK_KEY_PRESS' if enter_key?(event)
do_compile_this_program(
@entry_compile_this_program.text?
)
end
else
if scroll_up?(event)
unless @active_counter < 1
@active_counter -= 1
@combo_box_entry.active = @active_counter
end
elsif scroll_down?(event)
unless @active_counter >= available_programs?.size
@active_counter += 1
@combo_box_entry.active = @active_counter
end
end
end
}
end
|
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 361
def create_the_buttons
@button_kill_the_main_pid = button(
'_Stop the current compilation run', self, :use_mnemonics
) {
:do_kill_the_main_pid
}
@button_kill_the_main_pid.clear_background
@button_kill_the_main_pid.bblack1
@button_kill_the_main_pid.set_size_request(120, 30)
@button_kill_the_main_pid.on_hover(:lightblue)
@button_compile = button("_#{@text_on_the_compile_button}")
@button_compile.on_clicked { do_compile_program }
@button_compile.modify_background(:active, :coral)
@button_compile.modify_background(:normal, :cornsilk)
@button_compile.modify_background(:prelight, :aliceblue)
@button_compile.bblack2
@button_compile.hint =
'Compile the given program by <b>clicking on this button</b>.'
end
|
#create_the_checkboxes ⇒ Object
#
create_the_checkboxes
#
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 223
def create_the_checkboxes
@button_check = check_button('Include Dependencies', :do_not_underline)
@button_check.hint = 'Check this button if you want to compile '\
'dependencies as well. This may lead to problems, though, so '\
'it is almost always better to compile single programs, as-is.'
@button_traditional = check_button('traditional')
@button_traditional.hint =
'This will use the following target prefix: <b>/usr/</b>'
@button_non_traditional = check_button('non-traditional')
@button_non_traditional.hint = 'This will use the app-dir '\
'prefix for the program that is to be compiled.'
@button_traditional.set_active(true)
@button_traditional.on_clicked {
if @button_traditional.active?
@button_non_traditional.is_inactive
else
@button_non_traditional.is_active
end
}
@button_non_traditional.on_clicked {
if @button_non_traditional.active?
@button_traditional.is_inactive
else
@button_traditional.is_active
end
}
end
|
#create_the_combo_box ⇒ Object
#
create_the_combo_box
It appears as if the gtk-combo-box is currently (March 2021) not in use.
#
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 572
def create_the_combo_box
@combo_box_entry = create_combo_box_entry
available_programs?.each { |val|
@combo_box_entry.append_text(val)
}
@combo_box_entry.add_tearoffs = true
@combo_box_entry.active = 0
end
|
#create_the_labels ⇒ Object
683
684
685
686
687
688
689
690
691
692
693
694
695
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 683
def create_the_labels
@label_compile = create_label(
'Input the program you wish to compile there → '
)
@label_compile.make_selectable
@label_compile.use_this_font = :hack_18
@label_compile.hint =
'Type <b>the name of the program</b> that you '\
'<b>wish to compile</b> here.'
end
|
#create_the_main_frame ⇒ Object
#
create_the_main_frame (frame tag)
This is the outer gtk-frame.
#
465
466
467
468
469
470
471
472
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 465
def create_the_main_frame
@frame = create_frame
@frame.set_border_width(15)
@frame.label_widget = create_label.set_markup(
%Q(<span size="large" weight="bold" foreground="#183503"> RBT Version: #{RBT::VERSION} </span>), use_underline: true
)
@frame.label_widget.make_selectable
end
|
#create_the_main_vbox_in_the_middle ⇒ Object
#
create_the_main_vbox_in_the_middle
#
392
393
394
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 392
def create_the_main_vbox_in_the_middle
@main_vbox_in_the_middle = create_vbox
end
|
#create_the_skeleton ⇒ Object
#
create_the_skeleton (create tag, skeleton tag)
#
181
182
183
184
185
186
187
188
189
190
191
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 181
def create_the_skeleton
create_the_labels
create_the_main_vbox_in_the_middle
create_gtk_entries_and_completions
create_the_statusbar
create_the_main_frame
create_the_buttons
create_the_checkboxes
create_the_widget_holding_information_about_a_particular_program
create_the_combo_box
end
|
#create_the_statusbar ⇒ Object
484
485
486
487
488
489
490
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 484
def create_the_statusbar
@status_bar = create_statusbar { :has_resize_grip }
if @status_bar.respond_to? :has_resize_grip=
@status_bar.has_resize_grip = true
end
@status_bar_context_id = @status_bar.get_context_id(STATUS_BAR_CONTEXT_ID)
end
|
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 406
def create_the_widget_holding_information_about_a_particular_program
@widget_holding_information_about_a_particular_program = create_hbox
button = create_button("_Show information about\nthis program →")
button.bblack2
button.modify_background(:active, :coral)
button.modify_background(:normal, :cornsilk)
button.modify_background(:prelight, :aliceblue)
button.hint = ' Clicking on this button will <b>display information '\
' about the program</b> on the right-hand side. '
button.on_clicked {
show_information_about_the_given_program
}
@widget_holding_information_about_a_particular_program.minimal(
button, 3
)
@entry_show_information_about_this_program = create_entry
@entry_show_information_about_this_program.bblack1
@entry_show_information_about_this_program.center
@entry_show_information_about_this_program.on_enter {
show_information_about_the_given_program
}
vbox = create_vbox
_ = image_accessories_text_editor_symbolic_symbolic
_.hint = 'Input the name of the program that you want to see '\
'more information shown about, below this image.'
vbox.minimal(_, 2)
vbox.maximal(@entry_show_information_about_this_program, 2)
@widget_holding_information_about_a_particular_program.minimal(
vbox, 3
)
@text_buffer_showing_information_about_the_given_program = create_text_buffer
@source_view_showing_information_about_the_given_program = create_text_view(
@text_buffer_showing_information_about_the_given_program
)
@source_view_showing_information_about_the_given_program.css_class('blightgreen1')
@source_view_showing_information_about_the_given_program.set_font(:noto_mono_18)
@source_view_showing_information_about_the_given_program.set_size_request(
400, 200
)
@scrolled_window = create_scrolled_window(
@source_view_showing_information_about_the_given_program
)
@widget_holding_information_about_a_particular_program.maximal(
@scrolled_window
)
end
|
#deselect_the_first_label ⇒ Object
#
deselect_the_first_label
#
676
677
678
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 676
def deselect_the_first_label
@label_compile.deselect
end
|
#deselect_the_frame ⇒ Object
477
478
479
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 477
def deselect_the_frame
@frame.label_widget.deselect
end
|
714
715
716
717
718
719
720
721
722
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 714
def do_all_startup_related_actions
Thread.new {
sleep 0.0002
deselect_the_frame
deselect_the_first_label
jump_into_the_main_textview
jump_into_the_main_entry
}
end
|
#do_compile_program(_ = @entry_compile_this_program.text?) ⇒ Object
Also known as:
compile_program, do_compile_the_program, do_compile_this_program
#
do_compile_program
Use this is you want to compile something.
#
305
306
307
308
309
310
311
312
313
314
315
316
317
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 305
def do_compile_program(
_ = @entry_compile_this_program.text?
)
if _.empty?
add_msg('Please supply a valid program name.')
else
e "Compiling #{_} now."
add_msg 'Trying to compile the program '\
'called `'+_+'` now. Start-Time: '+
return_current_time
compile_program_in_thread(_)
end
end
|
#do_kill_the_main_pid ⇒ Object
700
701
702
703
704
705
706
707
708
709
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 700
def do_kill_the_main_pid
if @compile
if is_on_roebe?
e ::Colours.steelblue(
'Now delegating towards the compile-object, to kill the main PID.'
)
end
@compile.kill_the_main_pid
end
end
|
#entry_for_compiling_this_program? ⇒ Boolean
#
entry_for_compiling_this_program?
#
597
598
599
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 597
def entry_for_compiling_this_program?
@entry_compile_this_program
end
|
#favicon? ⇒ Boolean
135
136
137
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 135
def favicon?
:tabble
end
|
#focus_on_entry ⇒ Object
Also known as:
jump_into_the_main_entry
216
217
218
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 216
def focus_on_entry
@entry_compile_this_program.do_focus
end
|
#handle_CSS_rules ⇒ Object
#
handle_CSS_rules (CSS tag)
#
149
150
151
152
153
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 149
def handle_CSS_rules
use_gtk_paradise_project_css_file
append_project_css_file
more_CSS_then_apply_it(USE_THESE_CSS_RULES)
end
|
#jump_into_the_main_textview ⇒ Object
#
jump_into_the_main_textview
#
669
670
671
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 669
def jump_into_the_main_textview
@source_view_showing_information_about_the_given_program.do_focus
end
|
#padding? ⇒ Boolean
167
168
169
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 167
def padding?
10
end
|
#reset ⇒ Object
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 104
def reset
super() if respond_to?(:super)
reset_the_shared_module 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)
if use_gtk3?
handle_CSS_rules
end
infer_the_size_automatically
@active_counter = 0 @compile = nil
end
|
#reset_the_shared_module ⇒ Object
#
reset_the_shared_module
This method can be used for ruby-gtk3 and ruby-libui, among other toolkits.
#
161
162
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 161
def reset_the_shared_module
end
|
#run ⇒ Object
495
496
497
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 495
def run
run_super
end
|
257
258
259
260
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 257
def set_show_more_information_about_this_program(i)
@entry_show_information_about_this_program.set_text(i)
show_information_about_the_given_program
end
|
#set_text_on_the_compile_button(i) ⇒ Object
#
set_text_on_the_compile_button
#
204
205
206
207
208
209
210
211
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 204
def set_text_on_the_compile_button(
i
)
if i.is_a? Array
i = i.join(' ').strip
end
@text_on_the_compile_button = i
end
|
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 265
def show_information_about_the_given_program(
i = @entry_show_information_about_this_program.text?
)
if i.empty?
(
message: 'Please supply a name for a program.',
over_this_widget: @entry_show_information_about_this_program
)
else
dataset = RBT.cookbook_dataset_for(i) binaries = dataset[:binaries]
_ = ''.dup
_ << '<b>short description</b>: '+dataset[:short_description].to_s+N
_ << '<b>description</b>: '+
RBT.word_wrap(dataset[:description].to_s, 45).strip+N
if binaries and !binaries.empty?
_ << '<b>binaries installed by this program</b>: '+
binaries.join(', ').strip+"\n"
end
_ << '<b>url1</b>: '+dataset[:url1].to_s+N
_ << '<b>url2</b>: '+dataset[:url2].to_s+N
_ << '<b>homepage</b>: '+dataset[:homepage].to_s+N
_ << '<b>last_update</b>: '+dataset[:last_update].to_s+N
text_buffer?.set_text(_)
text_buffer?.do_markify
end
end
|
#smaller_font? ⇒ Boolean
142
143
144
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 142
def smaller_font?
SMALLER_FONT
end
|
#text_buffer_showing_information_about_the_given_program? ⇒ Boolean
Also known as:
text_buffer?
#
text_buffer_showing_information_about_the_given_program?
#
399
400
401
|
# File 'lib/rbt/gui/universal_widgets/compile_program/compile_program.rb', line 399
def text_buffer_showing_information_about_the_given_program?
@text_buffer_showing_information_about_the_given_program
end
|