glimmer 0.1.11.470 → 0.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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.markdown +104 -66
  3. data/bin/girb +1 -3
  4. data/bin/glimmer +1 -1
  5. data/lib/glimmer_application.rb +35 -76
  6. data/vendor/swt/linux/swt.jar +0 -0
  7. data/vendor/swt/mac/swt.jar +0 -0
  8. data/vendor/swt/windows/swt.jar +0 -0
  9. metadata +15 -55
  10. data/.coveralls.yml +0 -1
  11. data/.rspec +0 -2
  12. data/.ruby-gemset +0 -1
  13. data/.ruby-version +0 -1
  14. data/Gemfile +0 -14
  15. data/RELEASE.md +0 -15
  16. data/Rakefile +0 -43
  17. data/TODO.md +0 -12
  18. data/VERSION +0 -1
  19. data/bin/girb_runner.rb +0 -1
  20. data/glimmer.gemspec +0 -160
  21. data/images/Bitter-sweet.jpg +0 -0
  22. data/samples/contactmanager/contact.rb +0 -9
  23. data/samples/contactmanager/contact_manager.rb +0 -71
  24. data/samples/contactmanager/contact_manager_presenter.rb +0 -24
  25. data/samples/contactmanager/contact_repository.rb +0 -24
  26. data/samples/hello_combo.rb +0 -36
  27. data/samples/hello_list_multi_selection.rb +0 -46
  28. data/samples/hello_list_single_selection.rb +0 -36
  29. data/samples/hello_tab.rb +0 -26
  30. data/samples/hello_world.rb +0 -10
  31. data/samples/hellocomputed/contact.rb +0 -19
  32. data/samples/hellocomputed/hello_computed.rb +0 -68
  33. data/samples/login.rb +0 -92
  34. data/samples/tictactoe/tic_tac_toe.rb +0 -64
  35. data/samples/tictactoe/tic_tac_toe_board.rb +0 -146
  36. data/spec/lib/command_handlers/models/observable_model_spec.rb +0 -22
  37. data/spec/lib/command_handlers/models/r_widget_spec.rb +0 -52
  38. data/spec/lib/glimmer__combo_data_binding__spec.rb +0 -130
  39. data/spec/lib/glimmer__constant__spec.rb +0 -30
  40. data/spec/lib/glimmer__data_binding__spec.rb +0 -404
  41. data/spec/lib/glimmer__list_data_binding__spec.rb +0 -224
  42. data/spec/lib/glimmer__listeners__spec.rb +0 -60
  43. data/spec/lib/glimmer__shine_data_binding__spec.rb +0 -89
  44. data/spec/lib/glimmer__tab_item__spec.rb +0 -55
  45. data/spec/lib/glimmer__table_data_binding__spec.rb +0 -121
  46. data/spec/lib/glimmer__tree_data_binding__spec.rb +0 -113
  47. data/spec/lib/glimmer_spec.rb +0 -251
  48. data/spec/lib/xml/glimmer_xml_spec.rb +0 -154
  49. data/spec/samples/contactmanager/contact_manager_presenter_spec.rb +0 -81
  50. data/spec/samples/tictactoe/tic_tac_toe_spec.rb +0 -263
  51. data/spec/spec_helper.rb +0 -124
@@ -1 +0,0 @@
1
- repo_token: dvAuyH3RuZ3lslleCHAeovxv0kQpFdrsB
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --require spec_helper
@@ -1 +0,0 @@
1
- glimmer
@@ -1 +0,0 @@
1
- jruby-9.2.9.0
data/Gemfile DELETED
@@ -1,14 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gem 'facets', '3.1.0'
4
- gem 'os', '1.0.0'
5
-
6
- group :development do
7
- gem "rspec-mocks", "~> 3.5.0"
8
- gem "rspec", "~> 3.5.0"
9
- gem "rdoc", "~> 2.3.0"
10
- gem "jeweler", "~> 2.3.9"
11
- gem "coveralls", "= 0.8.5", require: false
12
- gem "simplecov", "~> 0.10.0", require: nil
13
- gem "puts_debuggerer", "~> 0.8.1"
14
- end
data/RELEASE.md DELETED
@@ -1,15 +0,0 @@
1
- # Release Notes
2
-
3
- ** 0.1.11.470 **
4
- - Nested property data binding support
5
-
6
- ** 0.1.10.470 **
7
- - Support Tree data-binding (one-way from model to tree)
8
-
9
- ** 0.1.8.470 **
10
- - girb support
11
-
12
- ** 0.1.5.470 **
13
- - Glimmer now uses a Ruby Logger in debug mode to provide helpful debugging information
14
- - Glimmer has a smart new Ruby shell script for executing applications
15
- - Glimmer now downloads swt.jar automatically when missing (e.g. 1st run) on Mac, Windows, and Linux, and for x86 and x86-64 CPU architectures.
data/Rakefile DELETED
@@ -1,43 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- require 'os'
4
- require_relative 'lib/glimmer_application'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
12
- require 'rake'
13
-
14
- begin
15
- jeweler_required = require 'jeweler'
16
- rescue Exception
17
- jeweler_required = nil
18
- end
19
- unless jeweler_required.nil?
20
- Jeweler::Tasks.new do |gem|
21
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
22
- gem.name = "glimmer"
23
- gem.homepage = "http://github.com/AndyObtiva/glimmer"
24
- gem.license = "MIT"
25
- gem.summary = %Q{Desktop application development library}
26
- gem.description = %Q{JRuby Desktop UI DSL + Data-Binding library that enables easy and efficient authoring of user-interfaces using the robust platform-independent Eclipse SWT library}
27
- gem.email = "andy.am@gmail.com"
28
- gem.authors = ["AndyMaleh"]
29
- gem.executables = ['glimmer', 'girb']
30
- # dependencies defined in Gemfile
31
- end
32
- Jeweler::RubygemsDotOrgTasks.new
33
- end
34
-
35
- require 'rspec/core'
36
- require 'rspec/core/rake_task'
37
- RSpec::Core::RakeTask.new(:spec) do |spec|
38
- spec.pattern = FileList['spec/**/*_spec.rb']
39
- additional_options = OS.mac? ? "-J-XstartOnFirstThread" : ""
40
- spec.ruby_opts = ["#{additional_options} -J-classpath \"#{GlimmerApplication::SWT_JAR_FILE}\" -Xcli.debug=true --debug"]
41
- end
42
-
43
- task :default => :spec
data/TODO.md DELETED
@@ -1,12 +0,0 @@
1
- # TODO
2
-
3
- Here is a list of tasks to do (please delete once done):
4
-
5
- * Support Tree databinding (bidirectional)
6
- * Figure out what is missing from table databinding (bidirectional?)
7
- * Explore rewriting shine with Ruby 2 support
8
- * Add a startup progress dialog (consider Glimmer branding)
9
- * Externalize constants to make easily configurable
10
- * Extract ListenerParent into its own file from WidgetListenerCommandHandler
11
- * Nested databinding support
12
- * Enhance XML DSL support (special characters, CDATA, escaped characters (#, {, }, .))
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.11.470
@@ -1 +0,0 @@
1
- require_relative '../lib/glimmer'
@@ -1,160 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- # stub: glimmer 0.1.11.470 ruby lib
6
-
7
- Gem::Specification.new do |s|
8
- s.name = "glimmer".freeze
9
- s.version = "0.1.11.470"
10
-
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib".freeze]
13
- s.authors = ["AndyMaleh".freeze]
14
- s.date = "2020-02-26"
15
- s.description = "JRuby Desktop UI DSL + Data-Binding library that enables easy and efficient authoring of user-interfaces using the robust platform-independent Eclipse SWT library".freeze
16
- s.email = "andy.am@gmail.com".freeze
17
- s.executables = ["glimmer".freeze, "girb".freeze]
18
- s.extra_rdoc_files = [
19
- "LICENSE.txt",
20
- "README.markdown"
21
- ]
22
- s.files = [
23
- ".coveralls.yml",
24
- ".rspec",
25
- ".ruby-gemset",
26
- ".ruby-version",
27
- "Gemfile",
28
- "LICENSE.txt",
29
- "README.markdown",
30
- "RELEASE.md",
31
- "Rakefile",
32
- "TODO.md",
33
- "VERSION",
34
- "bin/girb",
35
- "bin/girb_runner.rb",
36
- "bin/glimmer",
37
- "glimmer.gemspec",
38
- "images/Bitter-sweet.jpg",
39
- "lib/command_handler.rb",
40
- "lib/command_handler_chain_factory.rb",
41
- "lib/command_handler_chain_link.rb",
42
- "lib/command_handlers.rb",
43
- "lib/command_handlers/bind_command_handler.rb",
44
- "lib/command_handlers/combo_selection_data_binding_command_handler.rb",
45
- "lib/command_handlers/data_binding_command_handler.rb",
46
- "lib/command_handlers/list_selection_data_binding_command_handler.rb",
47
- "lib/command_handlers/models/block_observer.rb",
48
- "lib/command_handlers/models/list_selection_binding.rb",
49
- "lib/command_handlers/models/model_binding.rb",
50
- "lib/command_handlers/models/observable_array.rb",
51
- "lib/command_handlers/models/observable_model.rb",
52
- "lib/command_handlers/models/observer.rb",
53
- "lib/command_handlers/models/r_runnable.rb",
54
- "lib/command_handlers/models/r_shell.rb",
55
- "lib/command_handlers/models/r_tab_item_composite.rb",
56
- "lib/command_handlers/models/r_widget.rb",
57
- "lib/command_handlers/models/r_widget_listener.rb",
58
- "lib/command_handlers/models/r_widget_packages.rb",
59
- "lib/command_handlers/models/table_items_binding.rb",
60
- "lib/command_handlers/models/tree_items_binding.rb",
61
- "lib/command_handlers/models/widget_binding.rb",
62
- "lib/command_handlers/shell_command_handler.rb",
63
- "lib/command_handlers/tab_item_command_handler.rb",
64
- "lib/command_handlers/table_column_properties_data_binding_command_handler.rb",
65
- "lib/command_handlers/table_items_data_binding_command_handler.rb",
66
- "lib/command_handlers/tree_items_data_binding_command_handler.rb",
67
- "lib/command_handlers/tree_properties_data_binding_command_handler.rb",
68
- "lib/command_handlers/widget_command_handler.rb",
69
- "lib/command_handlers/widget_listener_command_handler.rb",
70
- "lib/command_handlers/widget_method_command_handler.rb",
71
- "lib/glimmer.rb",
72
- "lib/glimmer_application.rb",
73
- "lib/parent.rb",
74
- "lib/shine.rb",
75
- "lib/string.rb",
76
- "lib/symbol.rb",
77
- "lib/xml_command_handlers.rb",
78
- "lib/xml_command_handlers/html_command_handler.rb",
79
- "lib/xml_command_handlers/models/depth_first_search_iterator.rb",
80
- "lib/xml_command_handlers/models/name_space_visitor.rb",
81
- "lib/xml_command_handlers/models/node.rb",
82
- "lib/xml_command_handlers/models/node_visitor.rb",
83
- "lib/xml_command_handlers/models/xml_visitor.rb",
84
- "lib/xml_command_handlers/xml_command_handler.rb",
85
- "lib/xml_command_handlers/xml_name_space_command_handler.rb",
86
- "lib/xml_command_handlers/xml_tag_command_handler.rb",
87
- "lib/xml_command_handlers/xml_text_command_handler.rb",
88
- "samples/contactmanager/contact.rb",
89
- "samples/contactmanager/contact_manager.rb",
90
- "samples/contactmanager/contact_manager_presenter.rb",
91
- "samples/contactmanager/contact_repository.rb",
92
- "samples/hello_combo.rb",
93
- "samples/hello_list_multi_selection.rb",
94
- "samples/hello_list_single_selection.rb",
95
- "samples/hello_tab.rb",
96
- "samples/hello_world.rb",
97
- "samples/hellocomputed/contact.rb",
98
- "samples/hellocomputed/hello_computed.rb",
99
- "samples/login.rb",
100
- "samples/tictactoe/tic_tac_toe.rb",
101
- "samples/tictactoe/tic_tac_toe_board.rb",
102
- "spec/lib/command_handlers/models/observable_model_spec.rb",
103
- "spec/lib/command_handlers/models/r_widget_spec.rb",
104
- "spec/lib/glimmer__combo_data_binding__spec.rb",
105
- "spec/lib/glimmer__constant__spec.rb",
106
- "spec/lib/glimmer__data_binding__spec.rb",
107
- "spec/lib/glimmer__list_data_binding__spec.rb",
108
- "spec/lib/glimmer__listeners__spec.rb",
109
- "spec/lib/glimmer__shine_data_binding__spec.rb",
110
- "spec/lib/glimmer__tab_item__spec.rb",
111
- "spec/lib/glimmer__table_data_binding__spec.rb",
112
- "spec/lib/glimmer__tree_data_binding__spec.rb",
113
- "spec/lib/glimmer_spec.rb",
114
- "spec/lib/xml/glimmer_xml_spec.rb",
115
- "spec/samples/contactmanager/contact_manager_presenter_spec.rb",
116
- "spec/samples/tictactoe/tic_tac_toe_spec.rb",
117
- "spec/spec_helper.rb"
118
- ]
119
- s.homepage = "http://github.com/AndyObtiva/glimmer".freeze
120
- s.licenses = ["MIT".freeze]
121
- s.rubygems_version = "2.7.10".freeze
122
- s.summary = "Desktop application development library".freeze
123
-
124
- if s.respond_to? :specification_version then
125
- s.specification_version = 4
126
-
127
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
128
- s.add_runtime_dependency(%q<facets>.freeze, ["= 3.1.0"])
129
- s.add_runtime_dependency(%q<os>.freeze, ["= 1.0.0"])
130
- s.add_development_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
131
- s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
132
- s.add_development_dependency(%q<rdoc>.freeze, ["~> 2.3.0"])
133
- s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
134
- s.add_development_dependency(%q<coveralls>.freeze, ["= 0.8.5"])
135
- s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.10.0"])
136
- s.add_development_dependency(%q<puts_debuggerer>.freeze, ["~> 0.8.1"])
137
- else
138
- s.add_dependency(%q<facets>.freeze, ["= 3.1.0"])
139
- s.add_dependency(%q<os>.freeze, ["= 1.0.0"])
140
- s.add_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
141
- s.add_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
142
- s.add_dependency(%q<rdoc>.freeze, ["~> 2.3.0"])
143
- s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
144
- s.add_dependency(%q<coveralls>.freeze, ["= 0.8.5"])
145
- s.add_dependency(%q<simplecov>.freeze, ["~> 0.10.0"])
146
- s.add_dependency(%q<puts_debuggerer>.freeze, ["~> 0.8.1"])
147
- end
148
- else
149
- s.add_dependency(%q<facets>.freeze, ["= 3.1.0"])
150
- s.add_dependency(%q<os>.freeze, ["= 1.0.0"])
151
- s.add_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
152
- s.add_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
153
- s.add_dependency(%q<rdoc>.freeze, ["~> 2.3.0"])
154
- s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
155
- s.add_dependency(%q<coveralls>.freeze, ["= 0.8.5"])
156
- s.add_dependency(%q<simplecov>.freeze, ["~> 0.10.0"])
157
- s.add_dependency(%q<puts_debuggerer>.freeze, ["~> 0.8.1"])
158
- end
159
- end
160
-
Binary file
@@ -1,9 +0,0 @@
1
- class Contact
2
- attr_accessor :first_name, :last_name, :email
3
-
4
- def initialize(attribute_map)
5
- @first_name = attribute_map[:first_name]
6
- @last_name = attribute_map[:last_name]
7
- @email = attribute_map[:email]
8
- end
9
- end
@@ -1,71 +0,0 @@
1
- require_relative "contact_manager_presenter"
2
- require_relative "../../lib/glimmer"
3
-
4
- class RWidget
5
- include_package 'org.eclipse.jface.viewers'
6
- end
7
-
8
- class ContactManager
9
- extend Glimmer
10
-
11
- include_package 'org.eclipse.swt'
12
- include_package 'org.eclipse.swt.widgets'
13
- include_package 'org.eclipse.swt.layout'
14
- include_package 'org.eclipse.jface.viewers'
15
-
16
- contact_manager_presenter = ContactManagerPresenter.new
17
-
18
- shell {
19
- text "Contact Manager"
20
- composite {
21
- composite {
22
- layout GridLayout.new(2, false)
23
- label {text "First &Name: "}
24
- text {
25
- text bind(contact_manager_presenter, :first_name)
26
- }
27
- label {text "&Last Name: "}
28
- text {
29
- text bind(contact_manager_presenter, :last_name)
30
- }
31
- label {text "&Email: "}
32
- text {
33
- text bind(contact_manager_presenter, :email)
34
- }
35
- }
36
-
37
- table {
38
- layout_data GridData.new(:fill.swt_constant, :fill.swt_constant, true, true)
39
- table_column {
40
- text "First Name"
41
- width 80
42
- }
43
- table_column {
44
- text "Last Name"
45
- width 80
46
- }
47
- table_column {
48
- text "Email"
49
- width 120
50
- }
51
- items bind(contact_manager_presenter, :results),
52
- column_properties(:first_name, :last_name, :email)
53
- }
54
- composite {
55
- layout GridLayout.new(2, false)
56
- button {
57
- text "&List"
58
- on_widget_selected {
59
- contact_manager_presenter.list
60
- }
61
- }
62
- button {
63
- text "&Find"
64
- on_widget_selected {
65
- contact_manager_presenter.find
66
- }
67
- }
68
- }
69
- }
70
- }.open
71
- end
@@ -1,24 +0,0 @@
1
- require_relative "contact_repository"
2
-
3
- class ContactManagerPresenter
4
- attr_accessor :results
5
- @@contact_attributes = [:first_name, :last_name, :email]
6
- @@contact_attributes.each {|attribute_name| attr_accessor attribute_name}
7
-
8
- def initialize
9
- @contact_repository = ContactRepository.new
10
- @results = []
11
- end
12
-
13
- def list
14
- self.results=@contact_repository.find({})
15
- end
16
-
17
- def find
18
- filter_map = {}
19
- @@contact_attributes.each do |attribute_name|
20
- filter_map[attribute_name] = self.send(attribute_name) if self.send(attribute_name)
21
- end
22
- self.results=@contact_repository.find(filter_map)
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- require_relative "contact"
2
-
3
- class ContactRepository
4
- def initialize
5
- @contacts = [
6
- Contact.new(:first_name => "Anne", :last_name => "Sweeney", :email => "anne@sweeny.com"),
7
- Contact.new(:first_name => "Beatrice", :last_name => "Jung", :email => "beatrice@jung.com"),
8
- Contact.new(:first_name => "Frank", :last_name => "Deelio", :email => "frank@deelio.com"),
9
- Contact.new(:first_name => "franky", :last_name => "miller", :email => "frank@miller.com"),
10
- ]
11
- end
12
-
13
- def find(attribute_filter_map)
14
- @contacts.find_all do |contact|
15
- match = true
16
- attribute_filter_map.keys.each do |attribute_name|
17
- contact_value = contact.send(attribute_name).downcase
18
- filter_value = attribute_filter_map[attribute_name].downcase
19
- match = false unless contact_value.match(filter_value)
20
- end
21
- match
22
- end
23
- end
24
- end
@@ -1,36 +0,0 @@
1
- require_relative "../lib/glimmer"
2
-
3
- class Person
4
- attr_accessor :country, :country_options
5
-
6
- def initialize
7
- self.country_options=["", "Canada", "US", "Mexico"]
8
- self.country = "Canada"
9
- end
10
-
11
- def reset_country
12
- self.country = "Canada"
13
- end
14
- end
15
-
16
- class HelloCombo
17
- include Glimmer
18
- def launch
19
- person = Person.new
20
- shell {
21
- composite {
22
- combo(:read_only) {
23
- selection bind(person, :country)
24
- }
25
- button {
26
- text "Reset"
27
- on_widget_selected do
28
- person.reset_country
29
- end
30
- }
31
- }
32
- }.open
33
- end
34
- end
35
-
36
- HelloCombo.new.launch
@@ -1,46 +0,0 @@
1
- require_relative "../lib/glimmer"
2
-
3
- class Person
4
- attr_accessor :provinces, :provinces_options
5
-
6
- def initialize
7
- self.provinces_options=[
8
- "",
9
- "Quebec",
10
- "Ontario",
11
- "Manitoba",
12
- "Saskatchewan",
13
- "Alberta",
14
- "British Columbia",
15
- "Nova Skotia",
16
- "Newfoundland"
17
- ]
18
- self.provinces = ["Quebec", "Manitoba", "Alberta"]
19
- end
20
-
21
- def reset_provinces
22
- self.provinces = ["Quebec", "Manitoba", "Alberta"]
23
- end
24
- end
25
-
26
- class HelloListMultiSelection
27
- include Glimmer
28
- def launch
29
- person = Person.new
30
- shell {
31
- composite {
32
- list(:multi) {
33
- selection bind(person, :provinces)
34
- }
35
- button {
36
- text "Reset"
37
- on_widget_selected do
38
- person.reset_provinces
39
- end
40
- }
41
- }
42
- }.open
43
- end
44
- end
45
-
46
- HelloListMultiSelection.new.launch