foxguib 1.1.1 → 1.2.0

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: 972caee55bce9515154cdb04f4e4a05499f38840181d5482de15ed16732916ec
4
- data.tar.gz: 274a7cc40e7cb720ae8c1b3ea17458a6f2fdcefa486ec9883c3c852e9c5afd76
3
+ metadata.gz: ce8d37e407aef053841b59e063d4ce4fc2103d1acd69484f8bd870faebb516e0
4
+ data.tar.gz: 1a16a8b01d610c7d8fd9d4aabdad696b38144ec42363ba0a8195f13b2b36818a
5
5
  SHA512:
6
- metadata.gz: 1f71548873ace80fd70ee57f5258e64a2995ba3dcfd5759e15a3ce0a149866fa1b3e3bf2734d051672bf9c6fb03607fa2f0027c7cf073b77700eef5abfe58372
7
- data.tar.gz: a9289d020a73f7f8bc7f3ca60a457a2dd1b71ddd1500e7b63b03954befe12777fea78cee9dece32b6838ccb747ef4f0fa3db7ac8847ec35bb182d3fda504740f
6
+ metadata.gz: 0d75d0a651fdd5d5866f57fd890e476f00cfd47b93a6fbb238e7513cb9b2ffed56d5331a46e97ba1fc2d55f382bceb343426e906f7bde927e75e349f269ecc9f
7
+ data.tar.gz: 535f99efaaa4ea082128827946fc50786b425b24b0e5f1f30fe1fe2d99772d859e92d1390f91356deba9d15ed1f074fa5ecee0afcf502d81308e7bd362fa7eea
checksums.yaml.gz.sig CHANGED
Binary file
data/changelog.txt CHANGED
@@ -1,3 +1,9 @@
1
+ ===========================================================
2
+ foxGUIb v1.2.0 for FXRuby 1.6
3
+ ===========================================================
4
+
5
+ * Add possibility to translate the GUI texts per i18n gem.
6
+
1
7
  ===========================================================
2
8
  foxGUIb v1.1.1 for FXRuby 1.6
3
9
  ===========================================================
@@ -11,6 +11,8 @@ module CodeGenerator
11
11
  unmark
12
12
  w "# source generated by #{FOXGUIB}"
13
13
  w
14
+ w "require 'i18n'"
15
+ w
14
16
  if opts == "ruby.plain"
15
17
  gen_widget_tree "ruby", item
16
18
  elsif opts == "ruby.class"
@@ -79,17 +81,17 @@ module CodeGenerator
79
81
  end
80
82
  end
81
83
 
82
- def gen_widget_tree lang, treeitem, parent_name = "parent"
84
+ def gen_widget_tree lang, treeitem, parent_name = "parent", i18n_scope = treeitem.to_s
83
85
  wdg = @w[treeitem.to_s]
84
86
  raise "widget #{treeitem} is nil! cannot generate code." unless wdg
85
87
  if lang == "ruby"
86
88
  i("#{wdg.class}.new(#{parent_name}) { |w_#{treeitem}|")
87
89
  w "@#{treeitem} = w_#{treeitem}"
88
90
  w "w_#{treeitem}.wdg_name = \"#{treeitem}\""
89
- wdg.generate_properties { |p| w p.to(lang, treeitem) }
91
+ wdg.generate_properties { |p| w p.to(lang, treeitem, i18n_scope) }
90
92
  generate_behaviour wdg, lang, treeitem
91
93
  treeitem.each { |child|
92
- gen_widget_tree lang, child, "@#{treeitem}"
94
+ gen_widget_tree lang, child, "@#{treeitem}", i18n_scope
93
95
  }
94
96
  o "}"
95
97
  end
@@ -1,15 +1,21 @@
1
1
  # Copyright (c) 2004-2006 by Henon (meinrad dot recheis at gmail dot com)
2
+ require "yaml"
2
3
 
3
4
  module StringPropCodeGen
4
- def to lang, treeitem
5
+ def to lang, treeitem, i18n_scope
5
6
  if lang == "ruby"
6
- "w_#{treeitem}.#{method_s}#{serialize @wdg.send(method.chop).inspect}"
7
+ val = @wdg.send(method.chop)
8
+
9
+ i18n_key = "#{treeitem}_#{method.delete("=")}".inspect
10
+ val = "I18n.t(#{i18n_key}, scope: #{i18n_scope.inspect}, default: #{val.inspect})"
11
+
12
+ return "w_#{treeitem}.#{method_s}#{val}"
7
13
  end
8
14
  end
9
15
  end
10
16
 
11
17
  module IntPropCodeGen
12
- def to lang, treeitem
18
+ def to lang, treeitem, i18n_scope
13
19
  if lang == "ruby"
14
20
  "w_#{treeitem}.#{method_s}#{serialize @wdg.send(method.chop)}"
15
21
  end
@@ -17,7 +23,7 @@ module IntPropCodeGen
17
23
  end
18
24
 
19
25
  module BoolPropCodeGen
20
- def to lang, treeitem
26
+ def to lang, treeitem, i18n_scope
21
27
  if lang == "ruby"
22
28
  "w_#{treeitem}.#{method_s}#{serialize @wdg.send(method.chop)}"
23
29
  end
@@ -25,7 +31,7 @@ module BoolPropCodeGen
25
31
  end
26
32
 
27
33
  module ConstPropCodeGen
28
- def to lang, treeitem
34
+ def to lang, treeitem, i18n_scope
29
35
  if lang == "ruby"
30
36
  "w_#{treeitem}.#{method_s}#{serialize @wdg.send(method.chop)}"
31
37
  end
@@ -33,7 +39,7 @@ module ConstPropCodeGen
33
39
  end
34
40
 
35
41
  module ColorPropCodeGen
36
- def to lang, treeitem
42
+ def to lang, treeitem, i18n_scope
37
43
  if lang == "ruby"
38
44
  "w_#{treeitem}.#{method_s}Fox::FXRGBA(#{serialize @wdg.send(method.chop)})"
39
45
  end
@@ -41,7 +47,7 @@ module ColorPropCodeGen
41
47
  end
42
48
 
43
49
  module FontPropCodeGen
44
- def to lang, treeitem
50
+ def to lang, treeitem, i18n_scope
45
51
  if lang == "ruby"
46
52
  "w_#{treeitem}.#{method_s}FX::Font.new.from_s(\"#{serialize(@wdg.send(method.chop))}\").to_FXFont"
47
53
  end
@@ -49,7 +55,7 @@ module FontPropCodeGen
49
55
  end
50
56
 
51
57
  module IconPropCodeGen
52
- def to lang, treeitem
58
+ def to lang, treeitem, i18n_scope
53
59
  if lang == "ruby"
54
60
  "w_#{treeitem}.#{method_s}\"#{serialize @wdg.send(method.chop)}\""
55
61
  end
@@ -57,7 +63,7 @@ module IconPropCodeGen
57
63
  end
58
64
 
59
65
  module RangePropCodeGen
60
- def to lang, treeitem
66
+ def to lang, treeitem, i18n_scope
61
67
  if lang == "ruby"
62
68
  "w_#{treeitem}.#{method_s}#{serialize @wdg.send(method.chop)}"
63
69
  end
data/src/serialize.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # Copyright (c) 2004-2006 by Henon (meinrad dot recheis at gmail dot com)
2
2
 
3
- require "minitest"
4
3
  require "pp"
5
4
  require "yaml"
6
5
 
data/src/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2004-2006 by Henon (meinrad dot recheis at gmail dot com)
2
2
 
3
3
  FOXGUIB_NAME = "foxGUIb"
4
- FOXGUIB_VERSION = "1.1.1"
4
+ FOXGUIB_VERSION = "1.2.0"
5
5
  FOXGUIB = "#{FOXGUIB_NAME} #{FOXGUIB_VERSION}"
6
6
  FOXGUIB_LIBRARY = "libGUIb16"
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foxguib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Meinrad Recheis aka Henon
@@ -222,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
224
  requirements: []
225
- rubygems_version: 4.0.3
225
+ rubygems_version: 4.0.16
226
226
  specification_version: 4
227
227
  summary: Fox GUI builder
228
228
  test_files: []
metadata.gz.sig CHANGED
Binary file