blue_shoes 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +29 -0
- data/LICENSE +20 -0
- data/README.md +74 -0
- data/Rakefile +17 -0
- data/blue_shoes.gemspec +20 -0
- data/lib/blue_shoes/app.rb +777 -0
- data/lib/blue_shoes/canvas.rb +4 -0
- data/lib/blue_shoes/color.rb +707 -0
- data/lib/blue_shoes/dialog.rb +4 -0
- data/lib/blue_shoes/download.rb +4 -0
- data/lib/blue_shoes/effect.rb +4 -0
- data/lib/blue_shoes/exception.rb +14 -0
- data/lib/blue_shoes/flow.rb +11 -0
- data/lib/blue_shoes/image.rb +28 -0
- data/lib/blue_shoes/link_url.rb +4 -0
- data/lib/blue_shoes/mask.rb +4 -0
- data/lib/blue_shoes/mouse.rb +4 -0
- data/lib/blue_shoes/native.rb +242 -0
- data/lib/blue_shoes/pattern.rb +72 -0
- data/lib/blue_shoes/search.rb +4 -0
- data/lib/blue_shoes/shape.rb +4 -0
- data/lib/blue_shoes/stack.rb +19 -0
- data/lib/blue_shoes/text.rb +48 -0
- data/lib/blue_shoes/text_block.rb +66 -0
- data/lib/blue_shoes/timer_base.rb +32 -0
- data/lib/blue_shoes/version.rb +4 -0
- data/lib/blue_shoes/video.rb +39 -0
- data/lib/blue_shoes/widget.rb +4 -0
- data/lib/blue_shoes/window.rb +4 -0
- data/lib/blue_shoes.rb +31 -0
- data/samples/hello.rb +9 -0
- data/samples/simple-anim-shapes.rb +23 -0
- data/static/blue_shoes.jpg +0 -0
- metadata +113 -0
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
blue_shoes (0.0.1)
|
5
|
+
qtbindings (~> 4.6.3.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: http://rubygems.org/
|
9
|
+
specs:
|
10
|
+
diff-lcs (1.1.2)
|
11
|
+
qtbindings (4.6.3.0)
|
12
|
+
rspec (2.0.0.beta.22)
|
13
|
+
rspec-core (= 2.0.0.beta.22)
|
14
|
+
rspec-expectations (= 2.0.0.beta.22)
|
15
|
+
rspec-mocks (= 2.0.0.beta.22)
|
16
|
+
rspec-core (2.0.0.beta.22)
|
17
|
+
rspec-expectations (2.0.0.beta.22)
|
18
|
+
diff-lcs (>= 1.1.2)
|
19
|
+
rspec-mocks (2.0.0.beta.22)
|
20
|
+
rspec-core (= 2.0.0.beta.22)
|
21
|
+
rspec-expectations (= 2.0.0.beta.22)
|
22
|
+
|
23
|
+
PLATFORMS
|
24
|
+
ruby
|
25
|
+
|
26
|
+
DEPENDENCIES
|
27
|
+
blue_shoes!
|
28
|
+
qtbindings (~> 4.6.3.0)
|
29
|
+
rspec (~> 2.0.0.beta.22)
|
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
LICENSE
|
2
|
+
|
3
|
+
Copyright (c) 2010 Steve Klabnik
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to
|
7
|
+
deal in the Software without restriction, including without limitation the
|
8
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
9
|
+
sell copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
18
|
+
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
((( |||_| ///\ [[[_ (((
|
2
|
+
))) || | \\/ [[_ )))
|
3
|
+
an artsy any-platform app kit <http://github.com/shoes/shoes>
|
4
|
+
|
5
|
+
![blue_shoes.jpg](http://github.com/hacketyhack/blue_shoes/raw/master/static/blue_shoes.jpg)
|
6
|
+
|
7
|
+
|
8
|
+
# About Shoes
|
9
|
+
|
10
|
+
Shoes is the best little DSL for cross-platform GUI programming there is. It feels like real Ruby, rather than just another C++ library wrapper. If Gtk or wxWidgets is Rails, Shoes is Sinatra.
|
11
|
+
|
12
|
+
# Let me tell you a story about Shoes
|
13
|
+
|
14
|
+
Way way back in the day, there was a guy named \_why. He created a project known as [Hackety Hack](http://hackety-hack.com) to teach programming to everyone. In order to reach all corners of the earth, \_why decided to make Hackety Hack work on Windows, Mac OS X, and Linux. This was a lot of work, and so \_why decided to share his toolkit with the world. Thus, Shoes was born.
|
15
|
+
|
16
|
+
Everybody loved Shoes. Many apps were made, and put into [The Shoebox](http://the-shoebox.org/). But, one day, \_why left. In his memory, Team Shoes assembled, and carried on making Shoes. They released Shoes version 3 in the late summer of 2010, but all was not good in Shoe-ville. You see, Shoes was barely held together by little bits of string. Three different platforms was a lot of work! And since \_why wasn't around to help, the code was confusing in places, and there were lots of little problems. Also, new versions of Windows and OSX came out after \_why's mysterious disappearance, and it was hard to test them all.
|
17
|
+
|
18
|
+
Therefore, Team Shoes decided upon a grand experiment. Shoes would become many different colored Shoes. And thus, Blue Shoes was born. Alongside it, there are also Green Shoes, built with GTK, and Brown Shoes, on JRuby. The original Shoes became Red Shoes.
|
19
|
+
|
20
|
+
But we're not here to talk about all those other Shoes... you care about Blue Shoes! It was started by the new champion of Hackety Hack, Steve Klabnik. Blue Shoes signifies the return of the union from which Shoes was originally born, and is made with Hackety Hack in mind. It's built on top of the QT library, which runs natively on all three platforms.
|
21
|
+
|
22
|
+
# Helping out with Blue Shoes
|
23
|
+
|
24
|
+
So you're intrigued, eh? Great! Blue Shoes is currently in the very nanescent stages of development, so there's lots of stuff to help with! The first thing you'll need to do is set up an environment.
|
25
|
+
|
26
|
+
## Setting up an environment
|
27
|
+
|
28
|
+
Blue Shoes works with Ruby 1.9.2. I'm using rvm, so to get 1.9.2, just `rvm install 1.9.2`, and wait!
|
29
|
+
|
30
|
+
If you don't have rvm, you can get it [here](http://rvm.beginrescueend.com/). If you don't want to use rvm... you should.
|
31
|
+
|
32
|
+
## Dependencies
|
33
|
+
|
34
|
+
To get qtbindings, first you need qt4 for your platform. Instructions shamelessly stolen from [here](http://github.com/ryanmelt/qtbindings):
|
35
|
+
|
36
|
+
Debian Linux
|
37
|
+
------------
|
38
|
+
1. The following should get you the packages you need:
|
39
|
+
|
40
|
+
sudo apt-get install build-essential bison autoconf g++ zlib1g-dev libreadline-dev libsqlite3-dev libxslt-dev libxml2-dev libssl-dev libsqlite3-dev curl git-core subversion xorg-dev libgl1-mesa-dev libglu1-mesa-dev
|
41
|
+
|
42
|
+
|
43
|
+
Mac OSX Snow Leopard
|
44
|
+
-----------------------
|
45
|
+
1. XCode
|
46
|
+
2. qt4-mac installed from macports - NOTE: For some reason smokegen does
|
47
|
+
not work with the SDK or Cocoa libraries directly from qt.nokia.com -
|
48
|
+
Uninstall these if necessary using:
|
49
|
+
sudo python /Developer/Tools/uninstall_qt.py
|
50
|
+
|
51
|
+
Windows - Note: Only necessary for debugging (binary gem available)
|
52
|
+
--------
|
53
|
+
1. mingw from the Qt SDK in your path: ie C:\Qt\2010.04\mingw\bin
|
54
|
+
|
55
|
+
## Install the gem
|
56
|
+
|
57
|
+
Then you just `gem install qtbindings`, and off you go!
|
58
|
+
|
59
|
+
## Use Bundler
|
60
|
+
|
61
|
+
Bundler is gaining a lot of steam as a dependency management tool. So we're using it. To build your bundle, just type
|
62
|
+
|
63
|
+
$ bundle install
|
64
|
+
|
65
|
+
and everything should get built.
|
66
|
+
|
67
|
+
# What works
|
68
|
+
|
69
|
+
Right now, very simple apps work. Check out the 'samples' directory for some examples.
|
70
|
+
|
71
|
+
# Stubs
|
72
|
+
|
73
|
+
All methods and classes should be stubbed out. I went through the manual, and I think I got everything. Some classes have nothing in them, though, so I'm sure I'm missing some things! This was done in like 10 hours, with 6 of them being sleep...
|
74
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
3
|
+
|
4
|
+
@types = %w[rb]
|
5
|
+
namespace :whitespace do
|
6
|
+
desc 'Removes trailing whitespace'
|
7
|
+
task :cleanup do
|
8
|
+
@types.each do |type|
|
9
|
+
sh %{find . -name '*.#{type}' -exec sed -i '' 's/ *$//g' {} \\;}
|
10
|
+
end
|
11
|
+
end
|
12
|
+
task :retab do
|
13
|
+
@types.each do |type|
|
14
|
+
sh %{find . -name '*.#{type}' -exec sed -i '' 's/\t/ /g' {} \\;}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/blue_shoes.gemspec
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "blue_shoes/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "blue_shoes"
|
7
|
+
s.version = BlueShoes::VERSION
|
8
|
+
s.authors = "Team Shoes"
|
9
|
+
s.email = "shoes@librelist.com"
|
10
|
+
s.homepage = "http://github.com/hacketyhack/blue_shoes"
|
11
|
+
s.summary = %q{A simple GUI toolkit.}
|
12
|
+
s.description = %q{Blue Shoes is a fork of Shoes, written with QT.}
|
13
|
+
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
|
+
s.require_paths = ["lib"]
|
18
|
+
|
19
|
+
s.add_dependency "qtbindings", "~> 4.6.3.0"
|
20
|
+
end
|