glimmer-dsl-tk 0.0.34 → 0.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69e1f06607f60b2864e78e6e1eb9bfde7cf98f8d8eca2d14f12bf218d781dcb3
4
- data.tar.gz: 7c552bb85c6b87eeefe8117b5f3d2df922ff27618f564e6dd37df63b57c17d98
3
+ metadata.gz: daadce6a22be7ae817b7e0a3f5679a8c3d04d7ed6a0205fa30b03da206dc156a
4
+ data.tar.gz: f0324e91b54ac7e3179ffe122de59f714731d336d982937a92e76c6d0fd95079
5
5
  SHA512:
6
- metadata.gz: a6dad9353a12a78f0e8c4a2be45e440c2bebb3e0998957447332d0ab65ec3668eb447395cb32bb8bfa4c6feed3bee991d78b07dbe500c3716e914ed0e51b312c
7
- data.tar.gz: 36bfc6aa1b337b33b6c6a658549b603658677ea0e4e1840ec1ef58727bb12c76031d08b22fd50960001c2881819e7ec1a7e672f1c29e57d63797d0ea106531f0
6
+ metadata.gz: 461c26dee79b7a387eddc3107f342dffe14b39d49f307ab469a49afda8112af2ad75a350f88ab64fad616e458a217570c0f3414570c195aeef884c170bff9656
7
+ data.tar.gz: b7b2cd0c333de05d2c923ed461147fd245d58f55a622e57f7631c049b32344b7730801e3c49e271e5a0d7e884dcb1f64981f0feb5a57300952e05f191b1537eb
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.0.35
4
+
5
+ - Improved Meta-Sample by utilizing Ruby from `RbConfig.ruby`
6
+ - Improved girb_runner.rb to be more platform independent
7
+ - Fixed `text` widget binding of standard bind events (e.g. `'KeyPress'` or `'ButtonPress'`)
8
+ - Fixed Hello, Text! issue with not being able to bring up Find Dialog once all text is deleted and new text is entered
9
+ - Fixed undo/redo issue
10
+
3
11
  ## 0.0.34
4
12
 
5
13
  - When applying a `text` selection format without having a selection, have it apply to current insert mark word
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for Tk 0.0.34
1
+ # [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for Tk 0.0.35
2
2
  ## MRI Ruby Desktop Development GUI Library
3
3
  [![Gem Version](https://badge.fury.io/rb/glimmer-dsl-tk.svg)](http://badge.fury.io/rb/glimmer-dsl-tk)
4
4
  [![Ruby](https://github.com/AndyObtiva/glimmer-dsl-tk/actions/workflows/ruby.yml/badge.svg)](https://github.com/AndyObtiva/glimmer-dsl-tk/actions/workflows/ruby.yml)
@@ -55,8 +55,9 @@ NOTE: Glimmer DSL for Tk is currently in early alpha mode (incomplete). Please h
55
55
 
56
56
  Other [Glimmer](https://github.com/AndyObtiva/glimmer) DSL gems:
57
57
  - [glimmer-dsl-swt](https://github.com/AndyObtiva/glimmer-dsl-swt): Glimmer DSL for SWT (JRuby Desktop Development GUI Framework)
58
- - [glimmer-dsl-libui](https://github.com/AndyObtiva/glimmer-dsl-libui): Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library)
59
58
  - [glimmer-dsl-opal](https://github.com/AndyObtiva/glimmer-dsl-opal): Glimmer DSL for Opal (Pure Ruby Web GUI and Auto-Webifier of Desktop Apps)
59
+ - [glimmer-dsl-libui](https://github.com/AndyObtiva/glimmer-dsl-libui): Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library)
60
+ - [glimmer-dsl-gtk](https://github.com/AndyObtiva/glimmer-dsl-gtk): Ruby-GNOME Desktop Development GUI Library
60
61
  - [glimmer-dsl-xml](https://github.com/AndyObtiva/glimmer-dsl-xml): Glimmer DSL for XML (& HTML)
61
62
  - [glimmer-dsl-css](https://github.com/AndyObtiva/glimmer-dsl-css): Glimmer DSL for CSS (Cascading Style Sheets)
62
63
 
@@ -158,7 +159,7 @@ gem install glimmer-dsl-tk
158
159
 
159
160
  Add the following to `Gemfile`:
160
161
  ```
161
- gem 'glimmer-dsl-tk', '~> 0.0.34'
162
+ gem 'glimmer-dsl-tk', '~> 0.0.35'
162
163
  ```
163
164
 
164
165
  And, then run:
@@ -736,7 +737,6 @@ More details can be found in the [Hello, Button!](#hello-button) sample below.
736
737
  ## Gotchas
737
738
 
738
739
  - Setting `background` attribute on `frame` or `label` does not work in `'aqua'` theme on the Mac (only in `'classic'` theme)
739
- - `text` widget does not track `KeyPress`/`KeyRelease` events perfectly (installed via `on()` listener keyword). It seems that when all text is deleted, it stops tracking key presses/releases until a number of new lines have been added to `text` `value` attribute
740
740
 
741
741
  ## Samples
742
742
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.34
1
+ 0.0.35
data/bin/girb_runner.rb CHANGED
@@ -27,7 +27,7 @@ require_relative '../lib/glimmer-dsl-tk'
27
27
 
28
28
  include Glimmer
29
29
 
30
- GIRB_RUNNER_EXIT_FILE = "#{Etc.getpwuid.dir}/.girb_runner_exit"
30
+ GIRB_RUNNER_EXIT_FILE = "#{Dir.home}/.girb_runner_exit"
31
31
  FileUtils.rm_rf GIRB_RUNNER_EXIT_FILE
32
32
 
33
33
  @exit_method = method(:exit)
Binary file
@@ -39,7 +39,6 @@ module Glimmer
39
39
  @modified_count ||= 0
40
40
  @modified_count += 1
41
41
  listener.call(*args)
42
- apply_all_tag
43
42
  @insert_mark_moved_proc&.call
44
43
  @tk.modified = false
45
44
  end
@@ -72,28 +71,17 @@ module Glimmer
72
71
  end
73
72
  end
74
73
  else
75
- apply_all_tag
76
- # TODO make listener pass an event that has a modifiers attribute for easy representation of :shift, :meta, :control, etc... while a letter button is pressed
77
- @listeners ||= {}
78
- begin
79
- @listeners[listener_name] ||= []
80
- @tk.tag_bind(ALL_TAG, listener_name) { |event| @listeners[listener_name].each {|l| l.call(event)} } if @listeners[listener_name].empty?
81
- @listeners[listener_name] << listener
82
- rescue => e
83
- @listeners.delete(listener_name)
84
- Glimmer::Config.logger.debug {"Unable to bind to #{listener_name} .. attempting to surround with <>"}
85
- Glimmer::Config.logger.debug {e.full_message}
86
- listener_name = "<#{listener_name}" if !listener_name.start_with?('<')
87
- listener_name = "#{listener_name}>" if !listener_name.end_with?('>')
88
- @listeners[listener_name] ||= []
89
- @tk.tag_bind(ALL_TAG, listener_name) { |event| @listeners[listener_name].each {|l| l.call(event)} } if @listeners[listener_name].empty?
90
- @listeners[listener_name] << listener
91
- end
74
+ super
92
75
  end
93
76
  end
94
77
 
95
78
  def edit_undo
96
- @tk.edit_undo if @modified_count.to_i > 2 # <Modified> fires twice the first time, which is equivalent to one change.
79
+ # <Modified> fires twice the first time, which is equivalent to one change.
80
+ if @modified_count.to_i > 2
81
+ # must count the extra 2 modified count that will occur upon undo too
82
+ @modified_count -= 4
83
+ @tk.edit_undo
84
+ end
97
85
  end
98
86
 
99
87
  def edit_redo
@@ -444,16 +432,16 @@ module Glimmer
444
432
  self.wrap = 'none'
445
433
  self.padx = 5
446
434
  self.pady = 5
447
- on('Modified') { apply_all_tag }
435
+ # on('Modified') { apply_all_tag }
448
436
  end
449
437
 
450
438
  def clone_font(font)
451
439
  ::TkFont.new(Hash[font.actual])
452
440
  end
453
441
 
454
- def apply_all_tag
455
- @tk.tag_add(ALL_TAG, '1.0', 'end')
456
- end
442
+ # def apply_all_tag
443
+ # @tk.tag_add(ALL_TAG, '1.0', 'end')
444
+ # end
457
445
  end
458
446
  end
459
447
  end
@@ -56,7 +56,7 @@ class MetaSample
56
56
 
57
57
  def run_sample(sample)
58
58
  Thread.new do
59
- command = "ruby -r #{glimmer_dsl_tk_file} #{sample} 2>&1"
59
+ command = "#{RbConfig.ruby} -r #{glimmer_dsl_tk_file} #{sample} 2>&1"
60
60
  result = ''
61
61
  IO.popen(command) do |f|
62
62
  f.each_line do |line|
@@ -286,10 +286,6 @@ class HelloText
286
286
  undo true
287
287
  value <=> [self, :document]
288
288
 
289
- on('KeyPress') do |event|
290
- show_find_dialog if (event.keysym == 'f') && ((OS.mac? && event.state == 8) || (!OS.mac? && event.state == 4))
291
- end
292
-
293
289
  on('InsertMarkMoved') do
294
290
  self.font_family = @text.applied_font_format_value('family')
295
291
  self.font_size = @text.applied_font_format_value('size')
@@ -302,6 +298,10 @@ class HelloText
302
298
  @justify_center_button.default = @text.applied_format_value('justify') == 'center' ? 'active' : 'normal'
303
299
  @justify_right_button.default = @text.applied_format_value('justify') == 'right' ? 'active' : 'normal'
304
300
  end
301
+
302
+ on('KeyPress') do |event|
303
+ show_find_dialog if (event.keysym == 'f') && ((OS.mac? && event.state == 8) || (!OS.mac? && event.state == 4))
304
+ end
305
305
  }
306
306
  }
307
307
  @root.open
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-dsl-tk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.34
4
+ version: 0.0.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-04 00:00:00.000000000 Z
11
+ date: 2021-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glimmer