Module: Gtk::FileViewerModule
- Includes:
- BaseModule
- Included in:
- FileViewer
- Defined in:
- lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb
Constant Summary
collapse
- NAMESPACE =
inspect
- TITLE =
'File Viewer'
- LIMIT =
80
- WIDTH =
1400
- HEIGHT =
800
- FONT_TO_USE =
:dejavu_condensed_22
Constants included
from BaseModule
BaseModule::HASH_USE_THESE_PERCENTAGE_VALUES_FOR_THE_HEADERS, BaseModule::IMG_DIR
Class Method Summary
collapse
-
.run ⇒ Object
# === Gtk::FileViewerModule.run ========================================================================= #.
Instance Method Summary
collapse
Methods included from BaseModule
#abort_on_exception, #absolute_file_path, #add_a_horizontal_spacer, #add_css_rules, #add_horizontal_spacer, #add_notebook, #add_or_append, #add_table3, #all_buttons?, #all_check_buttons?, #all_entries?, #all_labels?, #all_toggle_buttons?, #allow_only_numbers, #always_scrolled_window, #app_chooser_button, #append_gtk_paradise_project_css_file, #append_onto_the_CSS_rules, #append_project_css_file, #append_the_default_css_rules, #apply_the_default_CSS_rules, #automatic_scrolled_window, #automatically_create_widgets_based_on_this_dataset, #automatically_created_widgets?, #button_hover_colour, #button_themed_icon, #cairo_context, #cell_renderer_progress, #centered_cell_renderer_text, #centered_text, #change_directory, #check_button_is_checked, #check_for_a_manifest_yaml_file, #cliner, #clipboard_text?, #coloured_quit_button, #configuration?, #connect_the_skeleton, #create_a_new_file_chooser_dialog, #create_and_add_gtk_accel_group, #create_bold_cell_renderer, #create_centered_entry, #create_clipboard, #create_combobox_text, #create_context_menu, #create_entry_with_text_and_max_length, #create_font_chooser_dialog, #create_paned_hbox_first_big, #create_paned_vbox, #create_paned_vbox_last_big, #create_skeleton_then_connect_skeleton, #create_skeleton_then_connect_skeleton_then_apply_the_CSS_rules, #create_sourceview, #crimson, #css_background1, #css_provider?, #css_rules_to_apply?, #current_event?, #current_font_in_use?, #dd_mm_yy, #debug?, #default_application, #default_entry, default_gtk_adjustment?, #default_gtk_settings?, #default_notebook, #default_renderer, #delayed_css_change, #destroy_then_quit, #directory_content_widget, #directory_to_the_images?, #display_the_CSS_rules, #div, #do_apply_the_CSS_rules, #do_enable_debug, #do_popup, #drag_start, #drag_stop, #draggable_from_the_left_to_the_right_side, #draggable_left_to_right_pane, #drop_down_find_box, #e, #efancy, #eight_strings, #emoji, #emoji_image, #enable_default_grid_settings_for, #enable_these_key_combinations, #entry_with_this_completion, #esystem, #event_left_mouse_button_click?, #event_middle_mouse_button_click?, #event_right_mouse_button_click?, #ewarn, #exit_program, extended, #five_strings, #font_chooser_dialog, #four_strings, #gdk_screen, #gdk_selection_clipboard, #generate_css_class, #group_maximal, #gtk_about_dialog, #gtk_accel_group, #gtk_adjustment, #gtk_alignment, #gtk_application_window, #gtk_base_module, #gtk_bold_button, #gtk_bold_check_button, #gtk_bold_entry, #gtk_bold_frame, #gtk_bold_label, #gtk_bold_text_left_aligned, #gtk_button, #gtk_button_accel, #gtk_button_box, #gtk_button_box_spread, #gtk_button_with_label, #gtk_button_with_this_image, #gtk_button_xorg_buffer, #gtk_cell_renderer_centered_text, #gtk_cell_renderer_combo, #gtk_cell_renderer_pixbuf, #gtk_cell_renderer_right_aligned, #gtk_cell_renderer_text, #gtk_centered_spin_button, #gtk_check_button, #gtk_colour_black, #gtk_colour_button, #gtk_colour_grey, #gtk_colour_selection_dialog, #gtk_coloured_bar, #gtk_coloured_button, #gtk_combo_box, #gtk_combo_box_entry, #gtk_combo_box_text, #gtk_dialog, #gtk_drawing_area, #gtk_dropdown, #gtk_entry, #gtk_entry_completion, #gtk_entry_with_icon_name, #gtk_entry_with_secondary_icon_name, #gtk_eventbox, #gtk_expanded_expander, #gtk_expander, #gtk_file_chooser_button, #gtk_file_chooser_dialog, #gtk_file_filter, #gtk_fixed, #gtk_frame, #gtk_grid, #gtk_hbox, #gtk_hbox_with_vertical_pane, #gtk_hbutton_box, #gtk_header_bar, #gtk_hpaned, #gtk_hscale, #gtk_hseparator, #gtk_image, #gtk_image_menu_item, #gtk_input_field, #gtk_label, #gtk_left_aligned_bold_label, #gtk_left_aligned_button, #gtk_list_store, #gtk_list_store_table2, #gtk_list_store_table3, #gtk_list_store_table4, #gtk_main_quit, #gtk_markified_text, #gtk_markup, #gtk_menu, #gtk_menu_bar, #gtk_menu_item, #gtk_message_dialog, #gtk_message_dialog_run_then_destroy, #gtk_notebook, #gtk_option_menu, #gtk_password, #gtk_pixbuf, #gtk_popover, #gtk_progress_bar, #gtk_radio_button, #gtk_radio_menu_item, #gtk_resize_grip, #gtk_right_aligned_label, #gtk_runner_module, #gtk_scrollbar, #gtk_scrolled_window, #gtk_search_bar, #gtk_search_entry, #gtk_separator_menu_item, #gtk_size_group, #gtk_source_buffer, #gtk_source_view, #gtk_spin_button, #gtk_spinner, #gtk_state_normal, #gtk_status_icon, #gtk_statusbar, #gtk_statusbar_with_handle, #gtk_switch, #gtk_table, #gtk_table2, #gtk_table3, #gtk_text, #gtk_text_buffer, #gtk_text_left_aligned, #gtk_text_view, #gtk_themed_icon, #gtk_toggle_button, #gtk_toolbar, #gtk_tooltip_set_tip, #gtk_tooltip_widget, #gtk_tree_store, #gtk_tree_view, #gtk_tree_view_column, #gtk_vbox, #gtk_vbutton_box, #gtk_vpaned, #gtk_vruler, #gtk_vscale, #gtk_vseparator, #gtk_window, #h1, #h2, #h3, #h4, #h5, #h6, #hbox_text, #hbutton_box, #hcentered_entry, #horizontal_spacer, #html_table2, #icon_theme?, #icon_theme_default, #image_accessories_text_editor, #image_accessories_text_editor_symbolic_symbolic, #image_application_exit, #image_applications_system, #image_applications_system_symbolic_symbolic, #image_audio_speakers, #image_audio_volume_high, #image_audio_volume_low, #image_audio_x_generic_symbolic, #image_avatar_default, #image_bookmark_new, #image_cellular_signal_excellent_symbolic_symbolic, #image_computer, #image_dialog_question, #image_document_open, #image_document_revert, #image_document_save_as_symbolic_symbolic, #image_emblem_urgent, #image_folder_visiting_symbolic, #image_from_file, #image_from_pixbuf, #image_go_down, #image_go_up, #image_information, #image_inode_directory, #image_input_mouse, #image_left_arrow, #image_list_remove, #image_media_optical, #image_network_cellular_connected_symbolic_symbolic, #image_network_wireless_signal_excellent_symbolic, #image_play_button, #image_quit_action, #image_software_update_urgent, #image_starred, #image_system_search, #image_trophy_gold, #image_view_refresh_symbolic_symbolic, #image_web_browser, #increase_font_size, #initialize_gtk3, #interactive_change_the_font, #is_it_an_enter_key?, #is_mouse_button_event?, #is_mouse_button_release_event?, #is_not_decorated, #is_on_roebe?, #is_on_windows?, #label_then_entry, #left_aligned_selectable_text, #left_arrow_emoji, #left_label, #lightblue, #load_rules_from_the_project_css_file, #load_this_yaml_file, #main_file?, #main_font?, #max_height?, #max_resolution?, #max_width?, #mediumseagreen, #minimal_spacer, #missing_the_internal_hash?, #modify_bold_label, #modify_foreground, #modify_label, #more_css_then_apply_the_CSS_rules, #mouse_button_double_click?, #my_title?, #name_of_this_event?, #new_open_file_dialog, #no_file_exists_at, #options, #override_normal_background_color, #p, #padded_hbox, #padded_vbox, #paned_hbox, #paned_vbox, #pango_font_description, #parse_this_file_into_a_table, #percentage_widget, #percentage_widget_with_this_text, #pixbuf_from_file, #pixbuf_loader, #populate_the_internal_hash_with_the_default_values, #populate_this_list_store, #populate_this_list_store3, #populate_this_list_store4, #popup_over_this_widget, #popup_this_text_over_that_widget, #pre, #project_base_directory?, #project_yaml_directory?, #quit_button, #random_colour, #raw_cd, #read_in_from_this_css_theme, #register_sigint, #remove_all_pages, #remove_html, #replace_with_proper_tags, #report_current_dir, #reset_the_internal_variables, #reset_the_internal_variables_as_well_as_the_internal_hash, #resize_based_on_width_and_height_attributes, #response_type_ok?, #return_active_spinner, #return_combo_box_entry, #return_corresponding_gtk_stock_item, #return_current_time, #return_current_time_hh_mm_only, #return_debug_widget, #return_default_CSS_rules, #return_default_grid, #return_editable_cell_renderer_text, #return_emoji, #return_inactive_spinner, #return_p_tag, #return_pixbuf_based_on_the_default_icon_theme, #return_popover, #return_pwd, #return_scale_button, #return_scrollable_CSS_in_use_widget, #return_the_html_colours, #return_the_path_to_the_file_called_project_css, #return_the_title_from_the_config_file, #return_this_image_based_on_the_default_icon_theme, #return_top_bar, #rev, #right_arrow_emoji, #run_in_background, #run_in_background_if_is_on_roebe?, #run_main, #sbr, #scroll_down?, #scroll_up?, #sdir, #selectable_text, #set_background, #set_font, #set_font_in_use, #set_font_in_use_for_this_application, #set_this_widget, #set_width, #seven_strings, #sfancy, #sfile, #show_all, #show_debug_information, #simple_quit_button, #simplified_button_box, #six_strings, #smiley1, #smiley2, #smiley3, #smiley4, #smiley5, #spacer, #standard_file_chooser_dialog, #steelblue, #store_the_CSS_rules_into_a_local_file, #string_list_store, #swarn, #table2, #table3, #table4, #text_then_entry, #three_strings, #title?, #title_font, #title_height_width, #title_width_height, #title_width_height_font, #to_font_description, #to_utf, #tomato, #top_left, #try_to_require_the_open_gem, #try_to_set_the_xorg_buffer, #two_strings, #ungrab_application, #unicode_horizontal_spacer, #upon_delete_event_quit_the_application, #use_a_popular_reset_variant, #use_config_file?, #use_gtk?, #use_gtk_paradise_project_css_file, #use_lean_CSS_rules, #use_libui?, #use_these_css_classes, #uses_gtk2?, #uses_gtk3?, #uses_gtk4?, #vbutton_box, #vertical_spacer, #vte_terminal, #we_use_this_gtk_version?, #white_background, #width_height, #width_height_font, #width_title_height, #window_manager_name?, #window_or_vbox, #word_wrap, #write_what_into, #xid_value?
#clear_the_internal_hash, #commandline_arguments?, #first_argument?, #height?, #infer_the_namespace, #internal_hash?, #my_title?, #namespace?, #parent_widget?, #reset_the_internal_hash, #set_commandline_arguments, #set_height, #set_my_title, #set_parent_widget, #set_width, #width?
Class Method Details
.run ⇒ Object
#
Gtk::FileViewerModule.run
#
234
235
236
237
238
239
240
241
242
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 234
def self.run
require 'gtk_paradise/run'
_ = ::Gtk::FileViewer.new
r = ::Gtk.run
r << _
r.infer_the_size
r.automatic
r.top_left_then_run
end
|
Instance Method Details
#border_size? ⇒ Boolean
120
121
122
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 120
def border_size?
2
end
|
#connect_skeleton ⇒ Object
#
connect_skeleton (connect tag)
#
223
224
225
226
227
228
229
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 223
def connect_skeleton
abort_on_exception
minimal(@menu, 0)
minimal(@file_path_widget, 0)
maximal(@scrolled_window, 0)
minimal(@button_quit, 0)
end
|
192
193
194
195
196
197
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 192
def create_buttons
@button_quit = quit_button('_Quit') { :exit_on_click_event }
end
|
185
186
187
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 185
def create_file_path_widget
@file_path_widget = ::Gtk::FilePathWidget.new
end
|
#create_skeleton ⇒ Object
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 140
def create_skeleton
@source_buffer = create_text_buffer
file_handle = ''.dup
if File.exist? @display_this_file
file_handle << File.readlines(@display_this_file).join
end
if file_handle.size > 80 and file_handle.size < 300
file_handle.insert(80, "\n")
end
@source_buffer.text = file_handle
@text_field = create_text_view(@source_buffer)
if @text_field.respond_to? :show_line_numbers=
@text_field.show_line_numbers = true
end
if @text_field.respond_to? :tab_width=
@text_field.tab_width = 2
end
if @text_field.respond_to? :auto_indent=
@text_field.auto_indent = true
end
if @use_numbered_lines_widget
require 'gtk_paradise/widgets/gtk3/numbered_lines/numbered_lines.rb'
hbox = gtk_hbox
n_lines = @text_field.buffer?.text.split("\n").size
@numbered_lines_widget = ::Gtk::NumberedLines.new {{ specify_n_lines: n_lines }}
@numbered_lines_widget.set_size_request(50, 200)
hbox.minimal(@numbered_lines_widget, 1)
hbox.maximal(@text_field, 0)
@scrolled_window = create_scrolled_window(hbox)
else
@scrolled_window = create_scrolled_window(@text_field)
end
create_buttons
create_file_path_widget
end
|
#do_open_a_file ⇒ Object
127
128
129
130
131
132
133
134
135
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 127
def do_open_a_file
this_file = ::Gtk.file_selection
this_file = this_file.first
if File.exist? this_file
@file_path_widget << this_file
file_content = File.read(this_file)
@source_buffer.set_text(file_content)
end
end
|
#initialize(i = ARGV, run_already = true) ⇒ Object
58
59
60
61
62
63
64
65
66
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 58
def initialize(
i = ARGV,
run_already = true
)
super(:vertical)
reset
set_display_this_file(i) if i
run if run_already
end
|
#padding? ⇒ Boolean
113
114
115
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 113
def padding?
2
end
|
#set_display_this_file(i) ⇒ Object
#
set_display_this_file
#
105
106
107
108
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 105
def set_display_this_file(i)
i = i.first.to_s if i.is_a? Array
@display_this_file = i
end
|
#try_to_load_gtksourceview2 ⇒ Object
#
try_to_load_gtksourceview2
#
202
203
204
205
206
207
208
209
210
|
# File 'lib/gtk_paradise/widgets/shared_code/file_viewer/file_viewer_module.rb', line 202
def try_to_load_gtksourceview2
begin
require 'gtksourceview2'
rescue LoadError
if ::Gtk.is_on_roebe?
puts 'gtksourceview2 is not available.'
end
end
end
|