RUIC 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -3
  3. data/HISTORY +110 -86
  4. data/README.md +220 -220
  5. data/bin/ruic +61 -61
  6. data/gui/TODO +2 -2
  7. data/gui/appattributesmodel.rb +51 -51
  8. data/gui/appelementsmodel.rb +126 -126
  9. data/gui/launch.rb +19 -19
  10. data/gui/makefile +14 -14
  11. data/gui/resources/style/dark.qss +459 -459
  12. data/gui/window.rb +90 -90
  13. data/gui/window.ui +753 -753
  14. data/lib/ruic.rb +191 -190
  15. data/lib/ruic/application.rb +25 -3
  16. data/lib/ruic/assets.rb +441 -436
  17. data/lib/ruic/attributes.rb +179 -178
  18. data/lib/ruic/behaviors.rb +0 -0
  19. data/lib/ruic/effect.rb +31 -31
  20. data/lib/ruic/interfaces.rb +0 -0
  21. data/lib/ruic/nicebytes.rb +29 -0
  22. data/lib/ruic/presentation.rb +6 -3
  23. data/lib/ruic/renderplugin.rb +17 -17
  24. data/lib/ruic/ripl.rb +45 -45
  25. data/lib/ruic/statemachine.rb +6 -0
  26. data/lib/ruic/version.rb +3 -3
  27. data/ruic.gemspec +25 -25
  28. data/test/MetaData-simple.xml +28 -28
  29. data/test/MetaData.xml +435 -435
  30. data/test/customclasses.ruic +29 -29
  31. data/test/filtering.ruic +42 -42
  32. data/test/futureassets.ruic +7 -7
  33. data/test/nonmaster.ruic +20 -20
  34. data/test/paths.ruic +16 -16
  35. data/test/projects/CustomClasses/CustomClasses.uia +7 -7
  36. data/test/projects/CustomClasses/CustomClasses.uip +40 -40
  37. data/test/projects/CustomClasses/FutureAsset.uip +17 -17
  38. data/test/projects/MissingAssets/Existing.uip +87 -87
  39. data/test/projects/MissingAssets/MissingAssets.uia +0 -0
  40. data/test/projects/MissingAssets/MissingAssets.uia-user +14 -14
  41. data/test/projects/MissingAssets/RoundedPlane-1/RoundedPlane-1.import +18 -18
  42. data/test/projects/MissingAssets/RoundedPlane-1/meshes/RoundedPlane.mesh +0 -0
  43. data/test/projects/MissingAssets/effects/effects.txt +0 -0
  44. data/test/projects/MissingAssets/effects/existing.effect +0 -0
  45. data/test/projects/MissingAssets/fonts/Arimo-Regular.ttf +0 -0
  46. data/test/projects/MissingAssets/fonts/Chivo-Black.ttf +0 -0
  47. data/test/projects/MissingAssets/fonts/OFL.txt +0 -0
  48. data/test/projects/MissingAssets/maps/effects/brushnoise.dds +0 -0
  49. data/test/projects/MissingAssets/maps/existing.png +0 -0
  50. data/test/projects/MissingAssets/maps/maps.txt +0 -0
  51. data/test/projects/MissingAssets/maps/materials/concrete_plain.png +0 -0
  52. data/test/projects/MissingAssets/maps/materials/concrete_plain_bump.png +0 -0
  53. data/test/projects/MissingAssets/maps/materials/spherical_checker.png +0 -0
  54. data/test/projects/MissingAssets/materials/concrete.material +0 -0
  55. data/test/projects/MissingAssets/materials/materials.txt +0 -0
  56. data/test/projects/MissingAssets/scripts/existing1.lua +0 -0
  57. data/test/projects/MissingAssets/scripts/existing2.lua +0 -0
  58. data/test/projects/MissingAssets/states/existing.scxml +0 -0
  59. data/test/projects/MissingAssets/tests/interface-navigation.scxml-test +0 -0
  60. data/test/projects/Paths/Paths.uia +4 -4
  61. data/test/projects/Paths/Paths.uip +98 -98
  62. data/test/projects/SimpleScene/SimpleScene.uia +4 -4
  63. data/test/projects/SimpleScene/SimpleScene.uip +35 -35
  64. data/test/properties.ruic +80 -80
  65. data/test/referencematerials.ruic +50 -50
  66. data/test/usage.ruic +54 -54
  67. metadata +5 -54
@@ -1,50 +1,50 @@
1
- require 'fileutils'
2
- FileUtils.copy_entry('projects/ReferencedMaterials','projects/_RefMat',false,false,true)
3
-
4
- metadata 'MetaData.xml'
5
- uia 'projects/_RefMat/ReferencedMaterials.uia'
6
-
7
- layer = app/'main:Scene.Layer'
8
- cubemat = layer/"Cube"/"Material"
9
-
10
- # Ensure that the diffuse attribute is linked and present on multiple slides
11
- assert cubemat['diffuse'].linked?
12
- assert cubemat.has_slide?(0)
13
- assert cubemat.has_slide?(1)
14
- assert cubemat.has_slide?(2)
15
- assert cubemat['diffuse',1].r == 0.5
16
- assert cubemat['diffuse',2].r == 0.5
17
-
18
- # When we do not unlink, values remain shared
19
- cubemat['diffuse',1].r = 1
20
- cubemat['diffuse',2].r = 0.2
21
- assert cubemat['diffuse',1].r == cubemat['diffuse',2].r
22
-
23
- # Ensure that we can unlink an attribute and vary the values per slide
24
- cubemat['diffuse'].unlink
25
- assert !cubemat['diffuse'].linked?
26
- cubemat['diffuse',1].r = 1
27
- cubemat['diffuse',2].r = 0.2
28
- assert cubemat['diffuse',1].r == 1
29
- assert cubemat['diffuse',2].r == 0.2
30
-
31
- # We can swap a material with a referenced material
32
- model = cubemat.parent
33
- assert model
34
- ref = cubemat.replace_with_referenced_material
35
- assert cubemat.parent.nil? # The old material is removed from the graph
36
- assert ref.parent==model # The new material is where the old was
37
- assert ref['id'] == cubemat['id'] # The new material has the same id and name
38
- assert ref.name == 'Material'
39
- assert ref['referencedmaterial',0].object.nil? # New referenced materials start out with no reference
40
- assert ref['referencedmaterial',0].type == :absolute # New references default to absolute
41
-
42
- ref['referencedmaterial'].unlink
43
- %w[Sphere Sphere2].each.with_index do |name,s|
44
- # You can set a reference directly to an object, or alternatively
45
- # ref['referencedmaterial',1].object = layer/name/"Material"
46
- ref['referencedmaterial',s+1] = layer/name/"Material"
47
- ref['referencedmaterial',s+1].type = :path
48
- end
49
-
50
- app.save_all!
1
+ require 'fileutils'
2
+ FileUtils.copy_entry('projects/ReferencedMaterials','projects/_RefMat',false,false,true)
3
+
4
+ metadata 'MetaData.xml'
5
+ uia 'projects/_RefMat/ReferencedMaterials.uia'
6
+
7
+ layer = app/'main:Scene.Layer'
8
+ cubemat = layer/"Cube"/"Material"
9
+
10
+ # Ensure that the diffuse attribute is linked and present on multiple slides
11
+ assert cubemat['diffuse'].linked?
12
+ assert cubemat.has_slide?(0)
13
+ assert cubemat.has_slide?(1)
14
+ assert cubemat.has_slide?(2)
15
+ assert cubemat['diffuse',1].r == 0.5
16
+ assert cubemat['diffuse',2].r == 0.5
17
+
18
+ # When we do not unlink, values remain shared
19
+ cubemat['diffuse',1].r = 1
20
+ cubemat['diffuse',2].r = 0.2
21
+ assert cubemat['diffuse',1].r == cubemat['diffuse',2].r
22
+
23
+ # Ensure that we can unlink an attribute and vary the values per slide
24
+ cubemat['diffuse'].unlink
25
+ assert !cubemat['diffuse'].linked?
26
+ cubemat['diffuse',1].r = 1
27
+ cubemat['diffuse',2].r = 0.2
28
+ assert cubemat['diffuse',1].r == 1
29
+ assert cubemat['diffuse',2].r == 0.2
30
+
31
+ # We can swap a material with a referenced material
32
+ model = cubemat.parent
33
+ assert model
34
+ ref = cubemat.replace_with_referenced_material
35
+ assert cubemat.parent.nil? # The old material is removed from the graph
36
+ assert ref.parent==model # The new material is where the old was
37
+ assert ref['id'] == cubemat['id'] # The new material has the same id and name
38
+ assert ref.name == 'Material'
39
+ assert ref['referencedmaterial',0].object.nil? # New referenced materials start out with no reference
40
+ assert ref['referencedmaterial',0].type == :absolute # New references default to absolute
41
+
42
+ ref['referencedmaterial'].unlink
43
+ %w[Sphere Sphere2].each.with_index do |name,s|
44
+ # You can set a reference directly to an object, or alternatively
45
+ # ref['referencedmaterial',1].object = layer/name/"Material"
46
+ ref['referencedmaterial',s+1] = layer/name/"Material"
47
+ ref['referencedmaterial',s+1].type = :path
48
+ end
49
+
50
+ app.save_all!
@@ -1,54 +1,54 @@
1
- metadata 'MetaData.xml'
2
- uia 'projects/MissingAssets/MissingAssets.uia'
3
-
4
- missing = app.missing_files.map(&app.method(:relative_path))
5
- show missing
6
- %w[
7
- Missing.uip
8
- maps/missing.png
9
- maps/missing2.png
10
- maps/missing3.png
11
- materials/missing.material
12
- effects/missing.effect
13
- scripts/missing1.lua
14
- scripts/missing2.lua
15
- scripts/missing.so
16
- states/missing.scxml
17
- ].each{ |path| warn "File '#{path}' should be reported as missing, but it is not." unless missing.include?(path) }
18
-
19
- unused = app.unused_files.map(&app.method(:relative_path))
20
- show "Unused"
21
- show unused
22
- %w[
23
- MissingAssets.uia
24
- Existing.uip
25
- scripts/existing1.lua
26
- scripts/existing2.lua
27
- states/existing.scxml
28
- maps/existing.png
29
- maps/existing2.png
30
- ].each{ |path| warn "File '#{path}' should be reported as used, but it is not." if unused.include?(path) }
31
-
32
- assert !missing.include?("maps/existing.png")
33
-
34
- exit
35
-
36
- unused = app.unused_files
37
-
38
- assert unused.grep
39
-
40
- show app.image_usage # hash mapping image paths, relative to uia, to arrays of things referencing them: materials; scxml visual actions; effects;
41
- show app.image_paths # Just the paths
42
- show app.mesh_usage # mapping mesh paths (postfixed with version numbers) to referencing elements
43
- show app.mesh_paths # Just the paths (no version number information)
44
- show app.script_usage # hash mapping lua paths, relative to uia, to arrays of things referencing them: presentation/application behaviors
45
- show app.script_paths # just the paths
46
- show app.material_usage # hash mapping materials paths, relative to uia, to arrays referencing material elements
47
- show app.material_paths # just the paths
48
- show app.font_usage # hash mapping font paths, relative to uia, to arrays of referencing text elements
49
- show app.font_paths # just the paths
50
- show app.effect_usage # hash mapping effect paths, relative to uia, to arrays of referencing effect elements
51
- show app.effect_paths # just the paths
52
-
53
- show app.referenced_paths
54
- show app.unused_files # Remember to check for .uip and .scxml not referenced by .uia
1
+ metadata 'MetaData.xml'
2
+ uia 'projects/MissingAssets/MissingAssets.uia'
3
+
4
+ missing = app.missing_files.map(&app.method(:relative_path))
5
+ show missing
6
+ %w[
7
+ Missing.uip
8
+ maps/missing.png
9
+ maps/missing2.png
10
+ maps/missing3.png
11
+ materials/missing.material
12
+ effects/missing.effect
13
+ scripts/missing1.lua
14
+ scripts/missing2.lua
15
+ scripts/missing.so
16
+ states/missing.scxml
17
+ ].each{ |path| warn "File '#{path}' should be reported as missing, but it is not." unless missing.include?(path) }
18
+
19
+ unused = app.unused_files.map(&app.method(:relative_path))
20
+ show "Unused"
21
+ show unused
22
+ %w[
23
+ MissingAssets.uia
24
+ Existing.uip
25
+ scripts/existing1.lua
26
+ scripts/existing2.lua
27
+ states/existing.scxml
28
+ maps/existing.png
29
+ maps/existing2.png
30
+ ].each{ |path| warn "File '#{path}' should be reported as used, but it is not." if unused.include?(path) }
31
+
32
+ assert !missing.include?("maps/existing.png")
33
+
34
+ exit
35
+
36
+ unused = app.unused_files
37
+
38
+ assert unused.grep
39
+
40
+ show app.image_usage # hash mapping image paths, relative to uia, to arrays of things referencing them: materials; scxml visual actions; effects;
41
+ show app.image_paths # Just the paths
42
+ show app.mesh_usage # mapping mesh paths (postfixed with version numbers) to referencing elements
43
+ show app.mesh_paths # Just the paths (no version number information)
44
+ show app.script_usage # hash mapping lua paths, relative to uia, to arrays of things referencing them: presentation/application behaviors
45
+ show app.script_paths # just the paths
46
+ show app.material_usage # hash mapping materials paths, relative to uia, to arrays referencing material elements
47
+ show app.material_paths # just the paths
48
+ show app.font_usage # hash mapping font paths, relative to uia, to arrays of referencing text elements
49
+ show app.font_paths # just the paths
50
+ show app.effect_usage # hash mapping effect paths, relative to uia, to arrays of referencing effect elements
51
+ show app.effect_paths # just the paths
52
+
53
+ show app.referenced_paths
54
+ show app.unused_files # Remember to check for .uip and .scxml not referenced by .uia
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: RUIC
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Kistner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-01 00:00:00.000000000 Z
11
+ date: 2015-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -149,6 +149,7 @@ files:
149
149
  - lib/ruic/behaviors.rb
150
150
  - lib/ruic/effect.rb
151
151
  - lib/ruic/interfaces.rb
152
+ - lib/ruic/nicebytes.rb
152
153
  - lib/ruic/presentation.rb
153
154
  - lib/ruic/renderplugin.rb
154
155
  - lib/ruic/ripl.rb
@@ -225,59 +226,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
226
  version: '0'
226
227
  requirements: []
227
228
  rubyforge_project:
228
- rubygems_version: 2.4.2
229
+ rubygems_version: 2.4.5
229
230
  signing_key:
230
231
  specification_version: 4
231
232
  summary: Library and DSL analyzing and manipulating UI Composer applications and presentations.
232
- test_files:
233
- - test/MetaData-simple.xml
234
- - test/MetaData.xml
235
- - test/customclasses.ruic
236
- - test/filtering.ruic
237
- - test/futureassets.ruic
238
- - test/nonmaster.ruic
239
- - test/paths.ruic
240
- - test/projects/CustomClasses/Brush Strokes.effect
241
- - test/projects/CustomClasses/CustomClasses.uia
242
- - test/projects/CustomClasses/CustomClasses.uip
243
- - test/projects/CustomClasses/FutureAsset.uip
244
- - test/projects/CustomClasses/copper.material
245
- - test/projects/CustomClasses/maps/UV-Checker.png
246
- - test/projects/CustomClasses/maps/effects/brushnoise.dds
247
- - test/projects/CustomClasses/maps/materials/spherical_checker.png
248
- - test/projects/CustomClasses/scripts/DataDrivenTime.lua
249
- - test/projects/CustomClasses/scripts/TimeDrivenAttribute.lua
250
- - test/projects/MissingAssets/Existing.uip
251
- - test/projects/MissingAssets/MissingAssets.uia
252
- - test/projects/MissingAssets/MissingAssets.uia-user
253
- - test/projects/MissingAssets/RoundedPlane-1/RoundedPlane-1.import
254
- - test/projects/MissingAssets/RoundedPlane-1/meshes/RoundedPlane.mesh
255
- - test/projects/MissingAssets/effects/effects.txt
256
- - test/projects/MissingAssets/effects/existing.effect
257
- - test/projects/MissingAssets/fonts/Arimo-Regular.ttf
258
- - test/projects/MissingAssets/fonts/Chivo-Black.ttf
259
- - test/projects/MissingAssets/fonts/OFL.txt
260
- - test/projects/MissingAssets/maps/effects/brushnoise.dds
261
- - test/projects/MissingAssets/maps/existing.png
262
- - test/projects/MissingAssets/maps/existing2.png
263
- - test/projects/MissingAssets/maps/maps.txt
264
- - test/projects/MissingAssets/maps/materials/concrete_plain.png
265
- - test/projects/MissingAssets/maps/materials/concrete_plain_bump.png
266
- - test/projects/MissingAssets/maps/materials/spherical_checker.png
267
- - test/projects/MissingAssets/maps/unused.png
268
- - test/projects/MissingAssets/materials/concrete.material
269
- - test/projects/MissingAssets/materials/materials.txt
270
- - test/projects/MissingAssets/scripts/existing1.lua
271
- - test/projects/MissingAssets/scripts/existing2.lua
272
- - test/projects/MissingAssets/states/existing.scxml
273
- - test/projects/MissingAssets/tests/interface-navigation.scxml-test
274
- - test/projects/Paths/Paths.uia
275
- - test/projects/Paths/Paths.uip
276
- - test/projects/ReferencedMaterials/ReferencedMaterials.uia
277
- - test/projects/ReferencedMaterials/ReferencedMaterials.uip
278
- - test/projects/SimpleScene/SimpleScene.uia
279
- - test/projects/SimpleScene/SimpleScene.uip
280
- - test/properties.ruic
281
- - test/referencematerials.ruic
282
- - test/usage.ruic
233
+ test_files: []
283
234
  has_rdoc: