Class: Gtk::NotebookController
- Inherits:
-
Box
- Object
- Box
- Gtk::NotebookController
show all
- Includes:
- BaseModule
- Defined in:
- lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb
Overview
Constant Summary
collapse
- TITLE =
'Notebook-Controller'
- WIDTH =
'55% or minimum 1380px'
- HEIGHT =
'50% or minimum 1000px'
- USE_THIS_FONT =
:dejavu_condensed_22
- PATH_TO_GTK_PARADISE =
'gtk_paradise/widgets/gtk3/'
Constants included
from BaseModule
BaseModule::HASH_USE_THESE_PERCENTAGE_VALUES_FOR_THE_HEADERS, BaseModule::IMG_DIR
Class Method Summary
collapse
-
.[](i = ARGV) ⇒ Object
# === Gtk::NotebookController[] ========================================================================= #.
-
.run(i = ARGV) ⇒ Object
# === Gtk::NotebookController.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?
Methods inherited from Box
#add_space, #left_aligned_text, #text
Constructor Details
#initialize(commandline_arguments = ARGV, run_already = true) ⇒ NotebookController
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 54
def initialize(
commandline_arguments = ARGV,
run_already = true
)
super(:vertical)
reset
set_commandline_arguments(
commandline_arguments
)
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
#
Gtk::NotebookController[]
#
314
315
316
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 314
def self.[](i = ARGV)
new(i)
end
|
.run(i = ARGV) ⇒ Object
#
Gtk::NotebookController.run
#
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 321
def self.run(
i = ARGV
)
require 'gtk_paradise/run'
_ = ::Gtk::NotebookController.new(i)
r = ::Gtk.run
r << _
r.alt_shortcut(1, 'focus_entry(0)')
r.alt_shortcut(2, 'focus_entry(1)')
r.alt_shortcut(3, 'focus_entry(2)')
r.alt_shortcut(4, 'focus_entry(3)')
r.alt_shortcut(5, 'focus_entry(4)')
r.alt_shortcut(6, 'focus_entry(5)')
r.alt_shortcut(7, 'focus_entry(6)')
r.alt_shortcut(8, 'focus_entry(7)')
r.alt_shortcut(9, 'focus_entry(8)')
r.automatic
r.top_left_then_run
end
|
Instance Method Details
#add_the_components ⇒ Object
#
add_the_components
This method will add the individual components onto the main gtk-notebook widget.
#
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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
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
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 173
def add_the_components
@notebook = gtk_notebook
@notebook.focus_on_the_first_tab
@notebook.do_show_the_tabs
@notebook.do_show_the_border
@notebook.the_tabs_appear_on_top
@notebook.is_scrollable
@notebook. = true
@dataset.each_pair {|file_that_is_to_be_required, widget_namespace|
case file_that_is_to_be_required when /wetter(_|-)?app/
file_that_is_to_be_required = 'chemistry_paradise/gui/gtk3/wetter/wetter.rb'
when 'ask_exam_question'
file_that_is_to_be_required = 'studium/gui/gtk3/ask_exam_question/ask_exam_question.rb'
when 'shell'
file_that_is_to_be_required = 'roebe/gui/gtk3/shell/shell.rb'
when 'my_calendar'
file_that_is_to_be_required = 'gtk_paradise/widgets/gtk3/my_calendar/my_calendar.rb'
when 'application_menu',
'tabble'
file_that_is_to_be_required = 'gtk_paradise/widgets/gtk3/application_menu/application_menu.rb'
when 'show_icon_theme',
'select_file',
'lspci',
'vote_box_widget',
'user',
'google_searcher',
'flip_state_widget',
'contacts',
'colour_filled_widget',
'unicode_clock',
'emoji_toggle_widget',
'sys_message',
'random_image',
'editor',
'coloured_bar',
'cdripper',
'maximize_button',
'pid_displayer',
'list_store_table3',
'psaux_viewer',
'directory_content_widget',
'tabby',
'simple_clock',
'burning_widget',
'wget_wrapper',
'mini_clock',
'coloured_square',
'emoji_widget',
'stopwatch',
'lsmod',
'conky'
file_that_is_to_be_required = PATH_TO_GTK_PARADISE+
file_that_is_to_be_required+'/'+
file_that_is_to_be_required+'.rb'
end
if file_that_is_to_be_required
begin
require file_that_is_to_be_required
_ = eval(widget_namespace).new
use_this_title = File.basename(
file_that_is_to_be_required
).sub(
/#{File.extname(file_that_is_to_be_required)}$/,''
)
if _.respond_to?(:title?) and _.title? and
!_.title?.empty?
use_this_title = _.title?.to_s
end
@notebook.append_this_widget(_, use_this_title)
rescue LoadError => error
pp error
e 'Unavailable: '+
sfile(file_that_is_to_be_required)
end
end
}
add_the_notebook
end
|
#add_the_notebook ⇒ Object
290
291
292
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 290
def add_the_notebook
add(@notebook)
end
|
#border_size? ⇒ Boolean
105
106
107
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 105
def border_size?
2
end
|
#connect_skeleton ⇒ Object
#
connect_skeleton (connect tag)
#
297
298
299
300
301
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 297
def connect_skeleton
abort_on_exception
add_the_components
handle_middle_mouse_button_click_event
end
|
#create_skeleton ⇒ Object
#
create_skeleton (create tag, skeleton tag)
#
150
151
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 150
def create_skeleton
end
|
#focus_entry(i = 0) ⇒ Object
123
124
125
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 123
def focus_entry(i = 0)
@notebook.focus_on_this_tab(i.to_i)
end
|
#grab_application ⇒ Object
#
grab_application
Use this to grab the application. This is mostly legacy code only, though.
#
159
160
161
162
163
164
165
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 159
def grab_application
Gtk.grab_add(self)
Gdk.pointer_grab(self.window,
true, Gdk::Event::BUTTON_PRESS_MASK, self.window,
Gdk::Cursor.new(Gdk::Cursor::FLEUR),
Gdk::Event::CURRENT_TIME)
end
|
#
This method will handle the event when the user presses the middle mouse button.
#
133
134
135
136
137
138
139
140
141
142
143
144
145
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 133
def handle_middle_mouse_button_click_event
signal_connect(:event) { |widget, event|
if is_middle_mouse_button_click_event?(event)
current_tab = @notebook.page
@notebook.remove_page(current_tab)
end
}
end
|
#padding? ⇒ Boolean
98
99
100
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 98
def padding?
4
end
|
#try_to_load_the_yaml_file(i = @file_control_panel) ⇒ Object
#
try_to_load_the_yaml_file
#
112
113
114
115
116
117
118
|
# File 'lib/gtk_paradise/widgets/gtk3/notebook_controller/notebook_controller.rb', line 112
def try_to_load_the_yaml_file(
i = @file_control_panel
)
if File.exist? i
@dataset = YAML.load_file(i)
end
end
|