Neurogami-jimpanzee 1.0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,66 @@
1
+ module Monkeybars
2
+ class View
3
+ module Positioning
4
+
5
+ include_class Java::java::awt::Toolkit
6
+
7
+ # Returns a java.awt.Dimension
8
+ def screen_size
9
+ Toolkit.default_toolkit.screen_size
10
+ end
11
+
12
+ def move_to(x, y)
13
+ @main_view_component.set_location(x,y)
14
+ end
15
+
16
+ def move_to_center
17
+ x = (screen_size.width - @main_view_component.width)/2
18
+ y = (screen_size.height - @main_view_component.height)/2
19
+ move_to(x, y)
20
+ end
21
+
22
+ def move_to_top_right
23
+ move_to(right_edge_x_coordinate, 0)
24
+ end
25
+
26
+
27
+ def move_to_top_left
28
+ move_to(0, 0)
29
+ end
30
+
31
+ def move_to_bottom_left
32
+ move_to(0, bottom_edge_y_coordinate)
33
+ end
34
+
35
+ def move_to_bottom_right
36
+ screen_size = Toolkit.default_toolkit.screen_size
37
+ move_to(right_edge_x_coordinate, bottom_edge_y_coordinate)
38
+ end
39
+
40
+ def x
41
+ @main_view_component.location.x
42
+ end
43
+
44
+ def y
45
+ @main_view_component.location.y
46
+ end
47
+
48
+ def width
49
+ @main_view_component.width
50
+ end
51
+
52
+ def height
53
+ @main_view_component.height
54
+ end
55
+
56
+ private
57
+ def right_edge_x_coordinate
58
+ screen_size.width - @main_view_component.width
59
+ end
60
+
61
+ def bottom_edge_y_coordinate
62
+ screen_size.height - @main_view_component.height
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,5 @@
1
+ require 'rake'
2
+
3
+ Dir.glob("tasks/**/*.rake").each do |rake_file|
4
+ load File.expand_path(File.dirname(__FILE__) + "/" + rake_file)
5
+ end
@@ -0,0 +1 @@
1
+ Place your jars here.
@@ -0,0 +1 @@
1
+ 3rd party Ruby libs and unpacked gems go here.
@@ -0,0 +1 @@
1
+ 3rd party Ruby libs and unpacked gems go here.
@@ -0,0 +1,4 @@
1
+ class ApplicationController < Monkeybars::Controller
2
+ # Add content here that you want to be available to all the controllers
3
+ # in your application
4
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationView < Monkeybars::View
2
+ # Add content here that you want to be available to all the views in your application
3
+ end
@@ -0,0 +1,52 @@
1
+ #===============================================================================
2
+ # Much of the platform specific code should be called before Swing is touched.
3
+ # The useScreenMenuBar is an example of this.
4
+ require 'rbconfig'
5
+ require 'java'
6
+
7
+ #===============================================================================
8
+ # Platform specific operations, feel free to remove or override any of these
9
+ # that don't work for your platform/application
10
+
11
+ case Config::CONFIG["host_os"]
12
+ when /darwin/i # OSX specific code
13
+ java.lang.System.set_property("apple.laf.useScreenMenuBar", "true")
14
+ when /^win|mswin/i # Windows specific code
15
+ when /linux/i # Linux specific code
16
+ end
17
+
18
+ # End of platform specific code
19
+ #===============================================================================
20
+ $LOAD_PATH << File.expand_path(File.dirname(__FILE__))
21
+ require 'manifest'
22
+
23
+ # Set up global error handling so that it is consistantly logged or outputed
24
+ # You will probably want to replace the puts with your application's logger
25
+ def show_error_dialog_and_exit(exception, thread=nil)
26
+ puts "Error in application"
27
+ puts "#{exception.class} - #{exception}"
28
+ if exception.kind_of? Exception
29
+ puts exception.backtrace.join("\n")
30
+ else
31
+ # Workaround for JRuby issue #2673, getStackTrace returning an empty array
32
+ output_stream = java.io.ByteArrayOutputStream.new
33
+ exception.printStackTrace(java.io.PrintStream.new(output_stream))
34
+ puts output_stream.to_string
35
+ end
36
+
37
+ # Your error handling code goes here
38
+
39
+ # Show error dialog informing the user that there was an error
40
+ title = "Application Error"
41
+ message = "The application has encountered an error and must shut down."
42
+
43
+ javax.swing.JOptionPane.show_message_dialog(nil, message, title, javax.swing.JOptionPane::DEFAULT_OPTION)
44
+ java.lang.System.exit(0)
45
+ end
46
+ GlobalErrorHandler.on_error {|exception, thread| show_error_dialog_and_exit(exception, thread) }
47
+
48
+ begin
49
+ # Your application code goes here
50
+ rescue => e
51
+ show_error_dialog_and_exit(e)
52
+ end
@@ -0,0 +1,58 @@
1
+ $LOAD_PATH.clear #ensure load path is cleared so system gems and libraries are not used (only project gems/libs)
2
+ # Load current and subdirectories in src onto the load path
3
+ $LOAD_PATH << File.dirname(__FILE__)
4
+ Dir.glob(File.expand_path(File.dirname(__FILE__) + "/**/*")).each do |directory|
5
+ # File.directory? is broken in current JRuby for dirs inside jars
6
+ # http://jira.codehaus.org/browse/JRUBY-2289
7
+ $LOAD_PATH << directory unless directory =~ /\.\w+$/
8
+ end
9
+ # Some JRuby $LOAD_PATH path bugs to check if you're having trouble:
10
+ # http://jira.codehaus.org/browse/JRUBY-2518 - Dir.glob and Dir[] doesn't work
11
+ # for starting in a dir in a jar
12
+ # (such as Active-Record migrations)
13
+ # http://jira.codehaus.org/browse/JRUBY-3247 - Compiled Ruby classes produce
14
+ # word substitutes for characters
15
+ # like - and . (to minus and dot).
16
+ # This is problematic with gems
17
+ # like ActiveSupport and Prawn
18
+
19
+ #===============================================================================
20
+ # Monkeybars requires, this pulls in the requisite libraries needed for
21
+ # Monkeybars to operate.
22
+
23
+ require 'resolver'
24
+
25
+ case Monkeybars::Resolver.run_location
26
+ when Monkeybars::Resolver::IN_FILE_SYSTEM
27
+ add_to_classpath '../lib/java/monkeybars-1.0.2.jar'
28
+ end
29
+
30
+ require 'monkeybars'
31
+ require 'application_controller'
32
+ require 'application_view'
33
+
34
+ # End of Monkeybars requires
35
+ #===============================================================================
36
+ #
37
+ # Add your own application-wide libraries below. To include jars, append to
38
+ # $CLASSPATH, or use add_to_classpath, for example:
39
+ #
40
+ # $CLASSPATH << File.expand_path(File.dirname(__FILE__) + "/../lib/java/swing-layout-1.0.3.jar")
41
+ #
42
+ # is equivalent to
43
+ #
44
+ # add_to_classpath "../lib/java/swing-layout-1.0.3.jar"
45
+ #
46
+ # There is also a helper for adding to your load path and avoiding issues with file: being
47
+ # appended to the load path (useful for JRuby libs that need your jar directory on
48
+ # the load path).
49
+ #
50
+ # add_to_load_path "../lib/java"
51
+ #
52
+
53
+ case Monkeybars::Resolver.run_location
54
+ when Monkeybars::Resolver::IN_FILE_SYSTEM
55
+ # Files to be added only when running from the file system go here
56
+ when Monkeybars::Resolver::IN_JAR_FILE
57
+ # Files to be added only when run from inside a jar file
58
+ end
@@ -0,0 +1,33 @@
1
+ module Monkeybars
2
+ class Resolver
3
+ IN_FILE_SYSTEM = :in_file_system
4
+ IN_JAR_FILE = :in_jar_file
5
+
6
+ # Returns a const value indicating if the currently executing code is being run from the file system or from within a jar file.
7
+ def self.run_location
8
+ if File.expand_path(__FILE__) =~ /\.jar\!/
9
+ IN_JAR_FILE
10
+ else
11
+ IN_FILE_SYSTEM
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+ class Object
18
+ def add_to_classpath(path)
19
+ $CLASSPATH << get_expanded_path(path)
20
+ end
21
+
22
+ def add_to_load_path(path)
23
+ $LOAD_PATH << get_expanded_path(path)
24
+ end
25
+
26
+ private
27
+ def get_expanded_path(path)
28
+ resolved_path = File.expand_path(File.dirname(__FILE__) + "/" + path.gsub("\\", "/"))
29
+ resolved_path.gsub!("file:", "") unless resolved_path.index(".jar!")
30
+ resolved_path.gsub!("%20", ' ')
31
+ resolved_path
32
+ end
33
+ end
@@ -0,0 +1,89 @@
1
+ require 'fileutils'
2
+
3
+ desc "ALL, CONTROLLER, VIEW, MODEL are valid options."
4
+ task 'generate'
5
+ rule(/^generate/) do |t|
6
+ ARGV[1..-1].each do |generator_command|
7
+ command, argument = generator_command.split("=")
8
+ case command
9
+ when "ALL"
10
+ generate_tuple(argument)
11
+ when "VIEW"
12
+ generate_view(argument)
13
+ when "CONTROLLER"
14
+ generate_controller(argument)
15
+ when "MODEL"
16
+ generate_model(argument)
17
+ else
18
+ $stdout << "Unknown generate target #{argument}"
19
+ end
20
+ end
21
+ end
22
+
23
+ def generate_tuple(path)
24
+ pwd = FileUtils.pwd
25
+ generate_controller(path)
26
+ FileUtils.cd(pwd)
27
+ generate_model(path)
28
+ FileUtils.cd(pwd)
29
+ generate_view(path)
30
+ end
31
+
32
+ def generate_controller(path)
33
+ name = setup_directory(path)
34
+ file_name = "#{name}_controller.rb"
35
+ name = camelize(name)
36
+ $stdout << "Generating controller #{name}Controller in file #{file_name}\n"
37
+ File.open(file_name, "w") do |controller_file|
38
+ controller_file << <<-ENDL
39
+ class #{name}Controller < ApplicationController
40
+ set_model '#{name}Model'
41
+ set_view '#{name}View'
42
+ set_close_action :exit
43
+ end
44
+ ENDL
45
+ end
46
+ end
47
+
48
+ def generate_model(path)
49
+ name = setup_directory(path)
50
+ file_name = "#{name}_model.rb"
51
+ name = camelize(name)
52
+ $stdout << "Generating model #{name}Model in file #{file_name}\n"
53
+ File.open(file_name, "w") do |model_file|
54
+ model_file << <<-ENDL
55
+ class #{name}Model
56
+
57
+ end
58
+ ENDL
59
+ end
60
+ end
61
+
62
+ def generate_view(path)
63
+ name = setup_directory(path)
64
+ file_name = "#{name}_view.rb"
65
+ name = camelize(name)
66
+ $stdout << "Generating view #{name}View in file #{file_name}\n"
67
+ File.open(file_name, "w") do |view_file|
68
+ view_file << <<-ENDL
69
+ class #{name}View < ApplicationView
70
+ set_java_class ''
71
+ end
72
+ ENDL
73
+ end
74
+ end
75
+
76
+ def setup_directory(path)
77
+ FileUtils.mkdir_p path.gsub("\\", "/")
78
+ FileUtils.cd(path)
79
+ path.split("/").last
80
+ end
81
+
82
+ def camelize(name, first_letter_in_uppercase = true)
83
+ name = name.to_s
84
+ if first_letter_in_uppercase
85
+ name.gsub(/\/(.?)/) { "::" + $1.upcase }.gsub(/(^|_)(.)/) { $2.upcase }
86
+ else
87
+ name[0..0] + camelize(name[1..-1])
88
+ end
89
+ end
metadata ADDED
@@ -0,0 +1,99 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: Neurogami-jimpanzee
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2.1
5
+ platform: ruby
6
+ authors:
7
+ - James Britt
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-05-12 00:00:00 -07:00
13
+ default_executable: jimpanzee
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bones
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.5.0
24
+ version:
25
+ description: The avant-garde fork of Monkeybars
26
+ email: james@neurogami.com
27
+ executables:
28
+ - jimpanzee
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - History.txt
33
+ - Manifest.txt
34
+ - README.md
35
+ - bin/jimpanzee
36
+ files:
37
+ - History.txt
38
+ - Manifest.txt
39
+ - README.md
40
+ - Rakefile
41
+ - bin/jimpanzee
42
+ - lib/monkeybars.rb
43
+ - lib/monkeybars/controller.rb
44
+ - lib/monkeybars/debug.rb
45
+ - lib/monkeybars/event_handler.rb
46
+ - lib/monkeybars/event_handler_registration_and_dispatch_mixin.rb
47
+ - lib/monkeybars/exceptions.rb
48
+ - lib/monkeybars/global_error_handler.rb
49
+ - lib/monkeybars/inflector.rb
50
+ - lib/monkeybars/key.rb
51
+ - lib/monkeybars/task_processor.rb
52
+ - lib/monkeybars/validated_hash.rb
53
+ - lib/monkeybars/view_mapping.rb
54
+ - lib/monkeybars/view_nesting.rb
55
+ - lib/monkeybars/view_positioning.rb
56
+ - lib/monkeybars/view.rb
57
+ - skeleton/tasks/monkeybars.rake
58
+ - skeleton/src/application_view.rb
59
+ - skeleton/src/main.rb
60
+ - skeleton/src/application_controller.rb
61
+ - skeleton/src/resolver.rb
62
+ - skeleton/src/manifest.rb
63
+ - skeleton/lib/java/README.txt
64
+ - skeleton/lib/java/monkeybars-1.0.2.1.jar
65
+ - skeleton/lib/ruby/README.md
66
+ - skeleton/lib/ruby/README.txt
67
+ - skeleton/Rakefile
68
+ - Jimpanzee.gemspec
69
+ has_rdoc: false
70
+ homepage: http://neurogami.com/code
71
+ post_install_message:
72
+ rdoc_options:
73
+ - --main
74
+ - README.txt
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: "0"
82
+ version:
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: "0"
88
+ version:
89
+ requirements: []
90
+
91
+ rubyforge_project: !binary |
92
+ AA==
93
+
94
+ rubygems_version: 1.2.0
95
+ signing_key:
96
+ specification_version: 3
97
+ summary: The avante-garde fork of Monkeybars
98
+ test_files: []
99
+