Module: PdfParadise::GUI::Gtk::PdfViewerModule
- Includes:
- Gtk::BaseModule
- Included in:
- PdfViewer
- Defined in:
- lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb
Constant Summary collapse
- NAMESPACE =
#
NAMESPACE
#
inspect
- TITLE =
#
TITLE
#
'View .pdf files'
- WIDTH =
#
WIDTH
#
1600
- HEIGHT =
#
HEIGHT
#
600
Class Method Summary collapse
-
.run ⇒ Object
# === PdfParadise::GUI::Gtk::PdfViewerModule.run ========================================================================= #.
Instance Method Summary collapse
-
#border_size? ⇒ Boolean
# === border_size? ========================================================================= #.
-
#connect_skeleton ⇒ Object
# === connect_skeleton (connect tag) ========================================================================= #.
-
#create_skeleton ⇒ Object
# === create_skeleton ========================================================================= #.
-
#create_the_buttons ⇒ Object
# === create_the_buttons ========================================================================= #.
-
#create_the_scrolled_window ⇒ Object
# === create_the_scrolled_window ========================================================================= #.
-
#create_the_text_view ⇒ Object
# === create_the_text_view ========================================================================= #.
-
#do_pick_a_file ⇒ Object
# === do_pick_a_file ========================================================================= #.
-
#do_the_conversion(i = @entry_this_is_the_pdf_file.text.to_s) ⇒ Object
(also: #trigger_the_conversion)
# === do_the_conversion.
-
#initialize(commandline_arguments = ARGV, run_already = true) ⇒ Object
# === initialize ========================================================================= #.
-
#menu(i = commandline_arguments? ) ⇒ Object
# === menu (menu tag) ========================================================================= #.
-
#padding? ⇒ Boolean
# === padding? ========================================================================= #.
-
#reset ⇒ Object
# === reset ========================================================================= #.
-
#run ⇒ Object
# === run ========================================================================= #.
-
#set_parent_widget(i) ⇒ Object
# === set_parent_widget ========================================================================= #.
-
#set_text_in_the_main_buffer(i) ⇒ Object
# === set_text_in_the_main_buffer ========================================================================= #.
-
#set_this_as_the_active_pdf_file(i) ⇒ Object
# === set_this_as_the_active_pdf_file ========================================================================= #.
-
#set_this_as_the_active_pdf_file_then_trigger_the_conversion(filename) ⇒ Object
# === set_this_as_the_active_pdf_file_then_trigger_the_conversion ========================================================================= #.
Class Method Details
.run ⇒ Object
#
PdfParadise::GUI::Gtk::PdfViewerModule.run
#
277 278 279 280 281 282 283 284 285 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 277 def self.run require 'gtk_paradise/run' _ = ::PdfParadise::GUI::Gtk::PdfViewer.new r = ::Gtk.run _.(r) r << _ r.automatic_title_and_size r.top_left_then_run end |
Instance Method Details
#border_size? ⇒ Boolean
#
border_size?
#
99 100 101 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 99 def border_size? 2 end |
#connect_skeleton ⇒ Object
#
connect_skeleton (connect tag)
#
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 180 def connect_skeleton abort_on_exception # ======================================================================= # # === @entry_this_is_the_pdf_file # ======================================================================= # @entry_this_is_the_pdf_file = gtk_entry( '/Depot/j/test.pdf' ) @entry_this_is_the_pdf_file.yellow_background top_hbox = gtk_hbox top_hbox.maximal(@entry_this_is_the_pdf_file, 3) top_hbox.maximal(@button_view_this_pdf_file, 3) top_hbox.minimal(@button_file_picker, 3) top_hbox.minimal(@button_clear, 3) minimal(top_hbox) maximal(@scrolled_window) end |
#create_skeleton ⇒ Object
#
create_skeleton
#
106 107 108 109 110 111 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 106 def create_skeleton @text_buffer = gtk_text_buffer create_the_text_view create_the_scrolled_window end |
#create_the_buttons ⇒ Object
#
create_the_buttons
#
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 156 def @button_view_this_pdf_file = ('View this .pdf file') @button_view_this_pdf_file.set_name('button1') @button_view_this_pdf_file.hint = 'Click on '\ 'this button to view the content of the .pdf file.' @button_view_this_pdf_file.on_clicked { do_the_conversion(@entry_this_is_the_pdf_file.text.to_s) } @button_clear = ('Clear') @button_clear.hint = 'Click this button '\ 'to clear the buffer shown below.' @button_clear.on_clicked { @text_buffer.clear } @button_file_picker = ('_Pick a file') @button_file_picker.hint = 'Pick a local .pdf file.' @button_file_picker.on_clicked { do_pick_a_file } end |
#create_the_scrolled_window ⇒ Object
#
create_the_scrolled_window
#
116 117 118 119 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 116 def create_the_scrolled_window @scrolled_window = gtk_scrolled_window(@text_view) { :always_show_the_scrollbars } @scrolled_window.css_class('bblack1') end |
#create_the_text_view ⇒ Object
#
create_the_text_view
#
124 125 126 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 124 def create_the_text_view @text_view = gtk_text_view(@text_buffer) end |
#do_pick_a_file ⇒ Object
#
do_pick_a_file
#
226 227 228 229 230 231 232 233 234 235 236 237 238 239 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 226 def do_pick_a_file begin require 'gtk_paradise/toplevel_methods/toplevel_methods.rb' rescue LoadError; end filename = ::Gtk.select_file(@parent_widget) {{ current_folder: '/Depot/j/', show_hidden: true, add_these_shortcut_folders: ['/Depot/j/'], use_this_file_filter: '*.pdf' }} if File.exist? filename set_this_as_the_active_pdf_file_then_trigger_the_conversion(filename) end end |
#do_the_conversion(i = @entry_this_is_the_pdf_file.text.to_s) ⇒ Object Also known as: trigger_the_conversion
#
do_the_conversion
This method will do the actual file-conversion.
#
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 133 def do_the_conversion( i = @entry_this_is_the_pdf_file.text.to_s ) if File.exist? i location_of_the_newly_generated_file = '/Depot/j/converted_pdf_file.md' # ===================================================================== # # Next, do the conversion. # ===================================================================== # `pdftotext #{i} #{location_of_the_newly_generated_file}` if File.exist? location_of_the_newly_generated_file dataset = File.read(location_of_the_newly_generated_file).to_s set_text_in_the_main_buffer(dataset) else e 'No file exists at '+location_of_the_newly_generated_file+'.' end else e 'No file exists at '+::Colours.sfile(i)+'.' end end |
#initialize(commandline_arguments = ARGV, run_already = true) ⇒ Object
#
initialize
#
47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 47 def initialize( commandline_arguments = ARGV, run_already = true ) super(:vertical) reset set_commandline_arguments( commandline_arguments ) run if run_already end |
#menu(i = commandline_arguments? ) ⇒ Object
#
menu (menu tag)
#
262 263 264 265 266 267 268 269 270 271 272 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 262 def ( i = commandline_arguments? ) if i.is_a? Array i.each {|entry| (entry) } else if File.exist? i set_this_as_the_active_pdf_file_then_trigger_the_conversion(i) end end end |
#padding? ⇒ Boolean
#
padding?
#
92 93 94 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 92 def padding? 2 end |
#reset ⇒ Object
#
reset
#
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 62 def reset reset_the_internal_variables # ======================================================================= # # === @configuration # ======================================================================= # @configuration = [true, __dir__, NAMESPACE] # ======================================================================= # # === @parent_widget # ======================================================================= # @parent_widget = nil # ======================================================================= # # === @title # ======================================================================= # @title = TITLE # ======================================================================= # # === @width # ======================================================================= # set_width(WIDTH) # ======================================================================= # # === @height # ======================================================================= # set_height(HEIGHT) set_use_this_font(:dejavu_condensed_23) use_project_css_file infer_the_size_automatically end |
#run ⇒ Object
#
run
#
254 255 256 257 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 254 def run create_skeleton_then_connect_skeleton end |
#set_parent_widget(i) ⇒ Object
#
set_parent_widget
#
201 202 203 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 201 def (i) @parent_widget = i end |
#set_text_in_the_main_buffer(i) ⇒ Object
#
set_text_in_the_main_buffer
#
208 209 210 211 212 213 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 208 def set_text_in_the_main_buffer(i) i = i.to_s.dup.strip i.delete!('®') # Do a bit ad-hoc deletion. @text_buffer.set_text(i.to_s.dup) GC.start end |
#set_this_as_the_active_pdf_file(i) ⇒ Object
#
set_this_as_the_active_pdf_file
#
218 219 220 221 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 218 def set_this_as_the_active_pdf_file(i) i = i.to_s.dup @entry_this_is_the_pdf_file.set_text(i) end |
#set_this_as_the_active_pdf_file_then_trigger_the_conversion(filename) ⇒ Object
#
set_this_as_the_active_pdf_file_then_trigger_the_conversion
#
244 245 246 247 248 249 |
# File 'lib/pdf_paradise/gui/shared_code/pdf_viewer/pdf_viewer_module.rb', line 244 def set_this_as_the_active_pdf_file_then_trigger_the_conversion( filename ) set_this_as_the_active_pdf_file(filename) trigger_the_conversion end |