glimmer-dsl-tk 0.0.47 → 0.0.48

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a534fbbe0b7c850fe702b42bf16eb4bc1854f68baa736b73ebf0bf6d5cc29f28
4
- data.tar.gz: b38740259743b4e579ec72251dee2018f826007dc975b3efe8a4b90d9b5031da
3
+ metadata.gz: 8c99ac84c772515736f995d5a5ab31aaa38bbbe986d26d1c1566c8d49c5347c9
4
+ data.tar.gz: 192d47da74f8630c268f52f7601b67126cbe07d2284defc8a8a6174a068b6274
5
5
  SHA512:
6
- metadata.gz: 03d144a49d2494ce0ff6576aaf510157d15086868f69d14bf70c27b3c7ed08e68125a86892ace5c9c178b52255252ad44a3b90ba49e7ff91e71d5e47af301f7c
7
- data.tar.gz: 7543abee9889820cea1911ec3f6c395ea61ad96e761b8f7ad384cc17b50140854fb524852055e34eea7d221a38047bd1d3f053866a6d8b17363066739383529a
6
+ metadata.gz: 950ef28b2882ee22d7adf49528eb8fe0e3aa3c1949ea92ec319274af09bd5c10b5832a78ace63b1e77404fa26c9f0e0fe29ba78d398162150ca235b0441566fa
7
+ data.tar.gz: 65f424fc3206e9bbd30bbae63da5a249f259c4619d5e987b1ab19b5e608442f0502f3b9ec5b2aac92c6cf92dfc67fa08727297d8b06aee22c3d910a865458c01
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.0.48
4
+
5
+ - Moved `OS` class to `Glimmer::Tk::OS` to avoid clashing with os gem when installed for users
6
+ - Moved `DragAndDropEvent` from `Glimmer::Tk::DraggableAndDroppable` into `Glimmer::Tk` namespace directly as `Glimmer::Tk::DragAndDropEvent`
7
+
3
8
  ## 0.0.47
4
9
 
5
10
  - Upgrade to glimmer 2.5.1 (includes more advanced data-binding/observer features)
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.47
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.48
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)
@@ -53,7 +53,7 @@ Glimmer app:
53
53
 
54
54
  NOTE: Glimmer DSL for Tk is currently in early alpha mode (incomplete). Please help make better by contributing, adopting for small or low risk projects, and providing feedback. It is still an early alpha, so the more feedback and issues you report the better.
55
55
 
56
- Other [Glimmer](https://github.com/AndyObtiva/glimmer) DSL gems:
56
+ Other [Glimmer](https://github.com/AndyObtiva/glimmer) DSL gems you might be interested in:
57
57
  - [glimmer-dsl-swt](https://github.com/AndyObtiva/glimmer-dsl-swt): Glimmer DSL for SWT (JRuby Desktop Development GUI Framework)
58
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
59
  - [glimmer-dsl-libui](https://github.com/AndyObtiva/glimmer-dsl-libui): Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library)
@@ -182,7 +182,7 @@ gem install glimmer-dsl-tk
182
182
 
183
183
  Add the following to `Gemfile`:
184
184
  ```
185
- gem 'glimmer-dsl-tk', '0.0.47'
185
+ gem 'glimmer-dsl-tk', '0.0.48'
186
186
  ```
187
187
 
188
188
  And, then run:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.47
1
+ 0.0.48
data/bin/girb CHANGED
File without changes
Binary file
@@ -0,0 +1,23 @@
1
+ module Glimmer
2
+ module Tk
3
+ DragAndDropEvent = Struct.new(:source, :target, :tooltip, :x_root, :y_root, :data, :drop_accepted) do
4
+ alias drop_accepted? drop_accepted
5
+
6
+ def as_json(*)
7
+ klass = self.class.name
8
+ {
9
+ JSON.create_id => klass,
10
+ "v" => [values[0].object_id, values[1].object_id, values[2].object_id].concat(values.drop 3),
11
+ }
12
+ end
13
+
14
+ def to_json(*args)
15
+ as_json.to_json(*args)
16
+ end
17
+
18
+ def self.json_create(object)
19
+ new(*[ObjectSpace._id2ref(object["v"][0]), ObjectSpace._id2ref(object["v"][1]).proxy, ObjectSpace._id2ref(object["v"][2])].concat(object["v"].drop 3))
20
+ end
21
+ end
22
+ end
23
+ end
@@ -19,6 +19,7 @@
19
19
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
20
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
 
22
+ require_relative 'drag_and_drop_event'
22
23
  require "json"
23
24
 
24
25
  module Glimmer
@@ -65,11 +66,11 @@ module Glimmer
65
66
  def on_drop_block=(value)
66
67
  @on_drop_block = value
67
68
  self.tk.bind("<DropEvent>", proc { |tk_event|
68
- drop_event = DragAndDropEvent.json_create(JSON.parse("{" + tk_event.detail + "}"))
69
+ drop_event = Glimmer::Tk::DragAndDropEvent.json_create(JSON.parse("{" + tk_event.detail + "}"))
69
70
  @on_drop_block.call(drop_event) if self == drop_event.target
70
71
  })
71
72
  self.tk.bind("<DropCheckEvent>", proc { |tk_event|
72
- drop_check_event = DragAndDropEvent.json_create(JSON.parse("{" + tk_event.detail + "}"))
73
+ drop_check_event = Glimmer::Tk::DragAndDropEvent.json_create(JSON.parse("{" + tk_event.detail + "}"))
73
74
  drop_check_event.source.event_generate("<DropAcceptedEvent>")
74
75
  })
75
76
  end
@@ -86,7 +87,7 @@ module Glimmer
86
87
  tooltip = WidgetProxy.new('toplevel', root_parent_proxy, [])
87
88
  tooltip.overrideredirect(1) #create tooltip window to display dragged data
88
89
  tooltip.geometry("+#{tk_event.x_root + 10}+#{tk_event.y_root - 2}")
89
- drag_event = DragAndDropEvent.new(self, nil, tooltip, tk_event.x_root, tk_event.y_root, nil, false)
90
+ drag_event = Glimmer::Tk::DragAndDropEvent.new(self, nil, tooltip, tk_event.x_root, tk_event.y_root, nil, false)
90
91
  if @drag_source
91
92
  tk_event.widget.configure(:cursor => "hand2")
92
93
  # Default data to drag is text
@@ -159,26 +160,6 @@ module Glimmer
159
160
  @tk.bind_remove('<DropCheckEvent>')
160
161
  @on_drop_block = nil
161
162
  end
162
-
163
- DragAndDropEvent = Struct.new(:source, :target, :tooltip, :x_root, :y_root, :data, :drop_accepted) do
164
- alias drop_accepted? drop_accepted
165
-
166
- def as_json(*)
167
- klass = self.class.name
168
- {
169
- JSON.create_id => klass,
170
- "v" => [values[0].object_id, values[1].object_id, values[2].object_id].concat(values.drop 3),
171
- }
172
- end
173
-
174
- def to_json(*args)
175
- as_json.to_json(*args)
176
- end
177
-
178
- def self.json_create(object)
179
- new(*[ObjectSpace._id2ref(object["v"][0]), ObjectSpace._id2ref(object["v"][1]).proxy, ObjectSpace._id2ref(object["v"][2])].concat(object["v"].drop 3))
180
- end
181
- end
182
163
  end
183
164
  end
184
165
  end
@@ -19,18 +19,30 @@
19
19
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
20
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
 
22
- class OS
23
- class << self
24
- def mac?
25
- Tk.windowingsystem == 'aqua'
26
- end
27
-
28
- def windows?
29
- Tk.windowingsystem == 'win32'
30
- end
31
-
32
- def linux?
33
- Tk.windowingsystem == 'x11'
22
+ require 'tk'
23
+
24
+ module Glimmer
25
+ module Tk
26
+ class OS
27
+ class << self
28
+ def mac?
29
+ ::Tk.windowingsystem == 'aqua'
30
+ end
31
+
32
+ def windows?
33
+ ::Tk.windowingsystem == 'win32'
34
+ end
35
+
36
+ def linux?
37
+ ::Tk.windowingsystem == 'x11'
38
+ end
39
+ end
34
40
  end
35
41
  end
36
42
  end
43
+
44
+ begin
45
+ OS
46
+ rescue
47
+ ::OS = Glimmer::Tk::OS
48
+ end
@@ -29,7 +29,6 @@ require 'puts_debuggerer' if ENV['pd'].to_s.downcase == 'true'
29
29
  require 'tk'
30
30
  #require 'tkextlib/bwidget' # does not work on Windows
31
31
  #require 'tkextlib/iwidgets' # does not work on Windows
32
- require 'os'
33
32
  require 'facets/hash/symbolize_keys'
34
33
  require 'facets/string/underscore'
35
34
  require 'facets/string/camelcase'
@@ -38,6 +37,7 @@ require 'delegate'
38
37
  # Internal requires
39
38
  # require 'ext/glimmer/config'
40
39
  # require 'ext/glimmer'
40
+ require 'glimmer/tk/os'
41
41
  require 'glimmer/dsl/tk/dsl'
42
42
 
43
43
  Glimmer::Config.loop_max_count = -1
@@ -48,11 +48,11 @@ Glimmer::Config.excluded_keyword_checkers << lambda do |method_symbol, *args|
48
48
  result ||= method == 'load_iseq'
49
49
  end
50
50
 
51
- Tk::Tile::Style.theme_use 'clam' if OS.linux?
51
+ ::Tk::Tile::Style.theme_use 'clam' if OS.linux?
52
52
 
53
53
  ::TkOption.add '*tearOff', 0
54
54
 
55
- class ::Tk::TkSysMenu_Window < Tk::Menu
56
- include Tk::SystemMenu
55
+ class ::Tk::TkSysMenu_Window < ::Tk::Menu
56
+ include ::Tk::SystemMenu
57
57
  SYSMENU_NAME = 'window'
58
58
  end
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.47
4
+ version: 0.0.48
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-22 00:00:00.000000000 Z
11
+ date: 2021-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glimmer
@@ -208,6 +208,7 @@ files:
208
208
  - lib/glimmer/dsl/tk/widget_expression.rb
209
209
  - lib/glimmer/tk/checkbutton_proxy.rb
210
210
  - lib/glimmer/tk/combobox_proxy.rb
211
+ - lib/glimmer/tk/drag_and_drop_event.rb
211
212
  - lib/glimmer/tk/draggable_and_droppable.rb
212
213
  - lib/glimmer/tk/entry_proxy.rb
213
214
  - lib/glimmer/tk/frame_proxy.rb
@@ -217,6 +218,7 @@ files:
217
218
  - lib/glimmer/tk/menu_item_proxy.rb
218
219
  - lib/glimmer/tk/menu_proxy.rb
219
220
  - lib/glimmer/tk/notebook_proxy.rb
221
+ - lib/glimmer/tk/os.rb
220
222
  - lib/glimmer/tk/radiobutton_proxy.rb
221
223
  - lib/glimmer/tk/root_proxy.rb
222
224
  - lib/glimmer/tk/scrollbar_frame_proxy.rb
@@ -228,7 +230,6 @@ files:
228
230
  - lib/glimmer/tk/variable_owner.rb
229
231
  - lib/glimmer/tk/widget.rb
230
232
  - lib/glimmer/tk/widget_proxy.rb
231
- - lib/os.rb
232
233
  - samples/elaborate/meta_sample.rb
233
234
  - samples/hello/hello_built_in_dialog.rb
234
235
  - samples/hello/hello_button.rb
@@ -293,7 +294,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
293
294
  - !ruby/object:Gem::Version
294
295
  version: '0'
295
296
  requirements: []
296
- rubygems_version: 3.2.31
297
+ rubygems_version: 3.2.22
297
298
  signing_key:
298
299
  specification_version: 4
299
300
  summary: Glimmer DSL for Tk