Module: Studium::GUI::Gtk::ExpandTimeRangeModule

Includes:
Gtk::BaseModule
Included in:
ExpandTimeRange
Defined in:
lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb

Constant Summary collapse

NAMESPACE =
#

NAMESPACE

#
inspect
DEFAULT_TEXT_FOR_THE_ENTRY =
#

DEFAULT_TEXT_FOR_THE_ENTRY

#
'14.01.2021-05.02.2021'
TITLE =
#

TITLE

#
'Gtk::ExpandTimeRangeModule'
WIDTH =
#

WIDTH

#
1600
HEIGHT =
#

HEIGHT

#
600

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.runObject

#

Studium::GUI::Gtk::ExpandTimeRangeModule.run

#


180
181
182
183
184
185
186
187
188
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 180

def self.run
  require 'gtk_paradise/run'
  r = ::Gtk.run
  _ = ::Studium::GUI::Gtk::ExpandTimeRange.new
  r << _
  r.automatic_title
  r.set_size_request(_.width?, _.height?)
  r.top_left_then_run
end

Instance Method Details

#border_size?Boolean

#

border_size?

#

Returns:

  • (Boolean)


98
99
100
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 98

def border_size?
  2
end

#connect_skeletonObject

#

connect_skeleton

#


128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 128

def connect_skeleton
  Thread.abort_on_exception = true
  hbox = gtk_hbox
  hbox.minimal(@label_expand_time_range, 2)
  hbox.minimal(@entry_time_range, 2)
  hbox.minimal(@button_translate_the_time_ranges, 2)
  hbox.minimal(@scrolled_window, 2)
  # ======================================================================= #
  # Next, add that hbox:
  # ======================================================================= #
  if use_gtk3?
    pack_start(hbox, expand: false, fill: true, padding: 5)
  else
    pack_start(hbox, false, true, 5)
  end
end

#create_skeletonObject

#

create_skeleton

#


105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 105

def create_skeleton
  @textbox = gtk_textbox
  @scrolled_window = gtk_scrolled_window(@textbox)
  @scrolled_window.do_show_the_scrollbars
  @scrolled_window.set_font(:hack_18)
  @scrolled_window.set_size_request(800, 500)
  @entry_time_range = gtk_entry(DEFAULT_TEXT_FOR_THE_ENTRY)
  @entry_time_range.set_size_request(500, 50)
  @entry_time_range.align_to_the_center
  @label_expand_time_range = gtk_bold_label('Expand time range: ')
  create_the_button
end

#create_the_buttonObject

#

create_the_button (buttons tag, button tag)

#


155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 155

def create_the_button
  @button_translate_the_time_ranges = gtk_button('Expand ➡️')
  @button_translate_the_time_ranges.steelblue
  @button_translate_the_time_ranges.bblack2 
  @button_translate_the_time_ranges.pretty_tooltip =
    ' <b>Click</b> on this button to '\
    '<b>translate the time-range into individual dates</b> '
  # ======================================================================= #
  # Enable the expand-functionality here, from the studium-gem.
  # ======================================================================= #
  @button_translate_the_time_ranges.on_clicked {
    text = Studium.expand_time_range(@entry_time_range.text) { :disable_colours }.result?
    @textbox.set_text(text.to_s)
  }
  @button_translate_the_time_ranges.on_right_mouse_button_click {
    # ===================================================================== #
    # Right-click event will clear the main textbuffer.
    # ===================================================================== #
    do_clear_the_main_textbuffer
  }
end

#do_clear_the_main_textbufferObject

#

do_clear_the_main_textbuffer

#


121
122
123
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 121

def do_clear_the_main_textbuffer
  @textbox.clear
end

#initialize(optional_commandline_arguments = ARGV, run_already = true) ⇒ Object

#

initialize

#


51
52
53
54
55
56
57
58
59
60
61
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 51

def initialize(
    optional_commandline_arguments = ARGV,
    run_already                    = true
  )
  super(:vertical)
  reset
  set_commandline_arguments(
    optional_commandline_arguments
  )
  run if run_already
end

#padding?Boolean

#

padding?

#

Returns:

  • (Boolean)


91
92
93
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 91

def padding?
  2
end

#resetObject

#

reset

#


66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 66

def reset
  reset_the_internal_variables
  # ======================================================================= #
  # === @configuration
  # ======================================================================= #
  @configuration = [true, __dir__, NAMESPACE]
  set_use_this_font(:dejavu_condensed_18)
  # ======================================================================= #
  # === @title
  # ======================================================================= #
  @title  = TITLE
  # ======================================================================= #
  # === @width
  # ======================================================================= #
  set_width(WIDTH)
  # ======================================================================= #
  # === @height
  # ======================================================================= #
  set_height(HEIGHT)
  append_project_css_file
end

#runObject

#

run

#


148
149
150
# File 'lib/studium/gui/shared_code/expand_time_range/expand_time_range_module.rb', line 148

def run
  create_skeleton_then_connect_skeleton
end