propane 2.3.3-java → 2.3.4-java

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
  SHA1:
3
- metadata.gz: 09900eb2fcd893122891d335f511684bf25197e2
4
- data.tar.gz: 1f82930cb3f3a6359f93b12be433d5209446df13
3
+ metadata.gz: 40e07b8b28c5857b0f1738ddf80584a6c5f62764
4
+ data.tar.gz: 67dc8538463955bd26073f52dad1d0bb74a706c3
5
5
  SHA512:
6
- metadata.gz: 43e23c1cdd45600f55cc777d705cfb2693830622320f18266829dbbdf00c0a7ed791403e995218489f711a3eec8b28f4f6e643dd834163f8fcef1ac6dde2b5ed
7
- data.tar.gz: 3fa052ecd4dde1c3e42bc339cae078a6920d60486afeef66b6a9087ec404e32a4968e664e29afce59ccce73612302ce779d80fe58b7b1b57cd7a5c37dab5a05f
6
+ metadata.gz: 01683ec9729539dd4a279e19b8661f9b446968bcfece74c796c98d988cd177b41a03396fd11dccf8ce8c75dfced4bdc13e92f2ca7a4abf1a8b989bdb5c56e007
7
+ data.tar.gz: bb8318aa7cbd0d5296027230db8eebc91a9cf1c03f2cdd9cd52e5411a8ba7be274e4bbcf5e0cc9ab23853db8888729d5ab8dda05093cff2362de58635f7fb561
data/CHANGELOG.md CHANGED
@@ -1,3 +1,5 @@
1
+ **v2.3.4** Simplify control_panel library (replacing `c.title = 'PaneTitle'` with `c.title('PaneTitle')`) also enable use of `block` with `button's`.
2
+
1
3
  **v2.3.3** Update to processing-3.3.4, and upgrade jruby-9.1.12.0 last in 9.1 series?
2
4
 
3
5
  **v2.3.3** Update to processing-3.3.2
data/README.md CHANGED
@@ -1,14 +1,21 @@
1
1
  # Propane
2
2
  [![Gem Version](https://badge.fury.io/rb/propane.svg)](https://badge.fury.io/rb/propane) [![Travis CI](https://travis-ci.org/ruby-processing/propane.svg)](https://travis-ci.org/ruby-processing/propane)
3
3
 
4
- A slim layer to communicate with Processing from JRuby, features a polyglot maven build. We have created a configuration free version of ruby processing, for processing-3.3.1, where we include processing core (from a local maven repository and opengl etc from maven central). These jars are small enough to include in a gem distribution, and hence we do not require configuration. This has created a scriptable version, ie files get run direct from jruby, but you could use jruby-complete if you used the propane script (avoids need to give the absolute data path for the data folder, but would also be needed for a watch mode). See guide to [building ruby-processing projects][building].
4
+ A slim layer to communicate with Processing from JRuby, features a polyglot maven build. We have created a configuration free version of ruby processing, for processing-3.3.5, where we include processing core (from a local maven repository and opengl etc from maven central). These jars are small enough to include in a gem distribution, and hence we do not require configuration. This has created a scriptable version, ie files get run direct from jruby, but you could use jruby-complete if you used the propane script (avoids need to give the absolute data path for the data folder, but would also be needed for a watch mode). See guide to [building ruby-processing projects][building].
5
+
6
+ NB: The main reason for build failing is when the `core.jar` is not available from maven central, to install a local jar:-
7
+ ```bash
8
+
9
+ mvn install:install-file /home/tux/processing-3.3.5/core/library/core.jar -DgroupId=org.processing -DartifactId=core -Dversion=3.3.5
10
+ ```
11
+ adjust above for your OS/distro setup.
5
12
 
6
13
  ## Requirements
7
14
 
8
15
  - jdk8+
9
16
  - jruby-9.1.12.0
10
17
  - mvn-3.5.0+
11
- - core.jar processing-3.3.4
18
+ - core.jar processing-3.3.5 (_build only_)
12
19
 
13
20
  ## Building and testing
14
21
 
@@ -21,7 +28,7 @@ rake javadoc
21
28
  ## Installation
22
29
  ```bash
23
30
  jgem install propane # from rubygems
24
- jgem install propane-2.3.3-java.gem # for local install
31
+ jgem install propane-2.3.4-java.gem # for local install
25
32
  ```
26
33
 
27
34
  ## Usage
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ def create_manifest
7
7
  File.open('MANIFEST.MF', 'w') do |f|
8
8
  f.puts(title)
9
9
  f.puts(version)
10
- f.puts('Class-Path: core-3.3.4.jar gluegen-rt-2.3.2.jar jog-all-2.3.2.jar')
10
+ f.puts('Class-Path: core-3.3.5.jar gluegen-rt-2.3.2.jar jog-all-2.3.2.jar')
11
11
  end
12
12
  end
13
13
 
data/lib/propane/app.rb CHANGED
@@ -139,15 +139,15 @@ module Propane
139
139
 
140
140
  def import_opengl
141
141
  # Include processing opengl classes that we'd like to use:
142
- %w(FontTexture FrameBuffer LinePath LineStroker PGL
142
+ %w[FontTexture FrameBuffer LinePath LineStroker PGL
143
143
  PGraphics2D PGraphics3D PGraphicsOpenGL PShader
144
- PShapeOpenGL Texture).each do |klass|
144
+ PShapeOpenGL Texture].each do |klass|
145
145
  java_import "processing.opengl.#{klass}"
146
146
  end
147
147
  end
148
148
 
149
149
  def proxy_java_fields
150
- fields = %w(sketchPath key frameRate mousePressed keyPressed)
150
+ fields = %w[sketchPath key frameRate mousePressed keyPressed]
151
151
  methods = fields.map { |field| java_class.declared_field(field) }
152
152
  @declared_fields = Hash[fields.zip(methods)]
153
153
  end
@@ -160,22 +160,20 @@ module Propane
160
160
  end
161
161
  end
162
162
 
163
- # Importing PConstants to access processing constants, we also need to
164
- # 'include PConstants' to avoid requiring the `PConstants::` prefix
165
- # `include Math etc because we expect to use them`
166
- # Using :method_missing to mimic inner class methods
167
- # @HACK you should consider using 'forwardable' to avoid this
168
- # egregious hack...
163
+ # @HACK purists may prefer 'forwardable' to the use of Proxy
164
+ # Importing PConstants here to access the processing constants
169
165
  module Proxy
170
- java_import 'processing.core.PConstants'
171
- include Math, MathTool, HelperMethods, PConstants
172
- def respond_to_missing?(name, include_private = false)
173
- $app.respond_to?(name) || super
166
+ include Math
167
+ include HelperMethods
168
+ include Java::ProcessingCore::PConstants
169
+
170
+ def respond_to_missing?(symbol, include_priv = false)
171
+ $app.respond_to?(symbol, include_priv) || super
174
172
  end
175
173
 
176
- def method_missing(name, *args)
177
- return $app.send(name, *args) if $app && $app.respond_to?(name)
174
+ def method_missing(name, *args, &block)
175
+ return $app.send(name, *args) if $app.respond_to? name
178
176
  super
179
177
  end
180
- end
181
- end
178
+ end # Processing::Proxy
179
+ end # Propane
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Propane
3
- VERSION = '2.3.3'.freeze
3
+ VERSION = '2.3.4'.freeze
4
4
  end
@@ -66,11 +66,11 @@ module ControlPanel
66
66
  set_horizontal_alignment javax.swing.SwingConstants::CENTER
67
67
  control_panel.add_element(self, name, false)
68
68
  add_action_listener do
69
- $app.instance_variable_set("@#{name}", value) unless value.nil?
69
+ $app.instance_variable_set("@#{name}", value)
70
70
  proc.call(value) if proc
71
71
  end
72
72
  end
73
-
73
+ # define value as checkbox state
74
74
  def value
75
75
  is_selected
76
76
  end
@@ -83,7 +83,7 @@ module ControlPanel
83
83
  set_preferred_size(java.awt.Dimension.new(170, 64))
84
84
  control_panel.add_element(self, name, false, true)
85
85
  add_action_listener do
86
- $app.send(name.to_s)
86
+ $app.send(name)
87
87
  proc.call(value) if proc
88
88
  end
89
89
  end
@@ -126,6 +126,10 @@ module ControlPanel
126
126
  dispose
127
127
  end
128
128
 
129
+ def title(name)
130
+ set_title(name)
131
+ end
132
+
129
133
  def slider(name, range = 0..100, initial_value = nil, &block)
130
134
  Slider.new(self, name, range, initial_value, block || nil)
131
135
  end
@@ -134,7 +138,7 @@ module ControlPanel
134
138
  Menu.new(self, name, elements, initial_value, block || nil)
135
139
  end
136
140
 
137
- def checkbox(name, initial_value = nil, &block)
141
+ def checkbox(name, initial_value = false, &block)
138
142
  checkbox = Checkbox.new(self, name, block || nil)
139
143
  checkbox.do_click if initial_value == true
140
144
  end
@@ -151,10 +155,10 @@ module ControlPanel
151
155
 
152
156
  def set_feel(lf = 'metal')
153
157
  lafinfo = javax.swing.UIManager.getInstalledLookAndFeels
154
- laf = lafinfo.select do |info|
155
- info.getName.eql? lf.capitalize
158
+ laf = lafinfo.to_ary.select do |info|
159
+ info.name =~ Regexp.new(Regexp.escape(lf), Regexp::IGNORECASE)
156
160
  end
157
- javax.swing.UIManager.setLookAndFeel(laf[0].getClassName)
161
+ javax.swing.UIManager.setLookAndFeel(laf[0].class_name)
158
162
  end
159
163
  end
160
164
 
@@ -169,4 +173,4 @@ module ControlPanel
169
173
  end
170
174
  end
171
175
 
172
- Propane::App.send :include, ControlPanel::InstanceMethods
176
+ Propane::App.include(ControlPanel::InstanceMethods)
data/pom.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'fileutils'
2
2
  project 'rp5extras', 'https://github.com/monkstone/propane' do
3
3
  model_version '4.0.0'
4
- id 'propane:propane', '2.3.3'
4
+ id 'propane:propane', '2.3.4'
5
5
  packaging 'jar'
6
6
  description 'rp5extras for propane'
7
7
  organization 'ruby-processing', 'https://ruby-processing.github.io'
@@ -33,7 +33,7 @@ project 'rp5extras', 'https://github.com/monkstone/propane' do
33
33
  )
34
34
 
35
35
  pom 'org.jruby:jruby:9.1.12.0'
36
- jar 'org.processing:core:3.3.4'
36
+ jar 'org.processing:core:3.3.5'
37
37
  jar 'org.processing:video:3.0.2'
38
38
  jar('org.jogamp.jogl:jogl-all:${jogl.version}')
39
39
  jar('org.jogamp.gluegen:gluegen-rt-main:${jogl.version}')
@@ -44,7 +44,7 @@ project 'rp5extras', 'https://github.com/monkstone/propane' do
44
44
  execute_goals( id: 'default-cli',
45
45
  artifactItems: [ { groupId: 'org.processing',
46
46
  artifactId: 'core',
47
- version: '3.3.4',
47
+ version: '3.3.5',
48
48
  type: 'jar',
49
49
  outputDirectory: '${propane.basedir}/lib'
50
50
  },
data/pom.xml CHANGED
@@ -11,7 +11,7 @@ DO NOT MODIFIY - GENERATED CODE
11
11
  <modelVersion>4.0.0</modelVersion>
12
12
  <groupId>propane</groupId>
13
13
  <artifactId>propane</artifactId>
14
- <version>2.3.3</version>
14
+ <version>2.3.4</version>
15
15
  <name>rp5extras</name>
16
16
  <description>rp5extras for propane</description>
17
17
  <url>https://github.com/monkstone/propane</url>
@@ -64,7 +64,7 @@ DO NOT MODIFIY - GENERATED CODE
64
64
  <dependency>
65
65
  <groupId>org.processing</groupId>
66
66
  <artifactId>core</artifactId>
67
- <version>3.3.4</version>
67
+ <version>3.3.5</version>
68
68
  </dependency>
69
69
  <dependency>
70
70
  <groupId>org.processing</groupId>
@@ -103,7 +103,7 @@ DO NOT MODIFIY - GENERATED CODE
103
103
  <artifactItem>
104
104
  <groupId>org.processing</groupId>
105
105
  <artifactId>core</artifactId>
106
- <version>3.3.4</version>
106
+ <version>3.3.5</version>
107
107
  <type>jar</type>
108
108
  <outputDirectory>${propane.basedir}/lib</outputDirectory>
109
109
  </artifactItem>
data/propane.gemspec CHANGED
@@ -10,11 +10,11 @@ Gem::Specification.new do |gem|
10
10
  gem.email = ['mamba2928@yahoo.co.uk']
11
11
  gem.licenses = %w(GPL-3.0 LGPL-2.0)
12
12
  gem.description = %q{A batteries included version of processing in ruby, MacOS and linux64}
13
- gem.summary = %q{ruby wrapper for processing-3.3.4 on MacOS and linux64 bit only for opengl}
13
+ gem.summary = %q{ruby wrapper for processing-3.3.5 on MacOS and linux64 bit only for opengl}
14
14
  gem.homepage = 'https://ruby-processing.github.io/propane/'
15
15
  gem.files = `git ls-files`.split($/)
16
16
  gem.files << 'lib/propane.jar'
17
- gem.files << 'lib/core-3.3.4.jar'
17
+ gem.files << 'lib/core-3.3.5.jar'
18
18
  gem.files << 'lib/gluegen-rt-2.3.2.jar'
19
19
  gem.files << 'lib/jogl-all-2.3.2.jar'
20
20
  gem.files << 'lib/gluegen-rt-2.3.2-natives-linux-amd64.jar'
data/vendors/Rakefile CHANGED
@@ -9,7 +9,7 @@ SOUND = 'sound.zip'.freeze
9
9
  SOUND_VERSION = 'v1.3.2' # version 1.3.2
10
10
  VIDEO = 'video-2.zip'
11
11
  VIDEO_VERSION = '2' # version 1.0.1
12
- EXAMPLES = '1.0'.freeze
12
+ EXAMPLES = '1.3'.freeze
13
13
  HOME_DIR = ENV['HOME']
14
14
  MAC_OR_LINUX = /linux|mac|darwin/ =~ RbConfig::CONFIG['host_os']
15
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: propane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.3
4
+ version: 2.3.4
5
5
  platform: java
6
6
  authors:
7
7
  - monkstone
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-17 00:00:00.000000000 Z
11
+ date: 2017-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -79,7 +79,7 @@ files:
79
79
  - Rakefile
80
80
  - bin/propane
81
81
  - lib/PROCESSING_LICENSE.txt
82
- - lib/core-3.3.4.jar
82
+ - lib/core-3.3.5.jar
83
83
  - lib/export.txt
84
84
  - lib/gluegen-rt-2.3.2-natives-linux-amd64.jar
85
85
  - lib/gluegen-rt-2.3.2-natives-macosx-universal.jar
@@ -168,7 +168,7 @@ rubyforge_project:
168
168
  rubygems_version: 2.5.1
169
169
  signing_key:
170
170
  specification_version: 4
171
- summary: ruby wrapper for processing-3.3.4 on MacOS and linux64 bit only for opengl
171
+ summary: ruby wrapper for processing-3.3.5 on MacOS and linux64 bit only for opengl
172
172
  test_files:
173
173
  - test/create_test.rb
174
174
  - test/deglut_spec_test.rb