menu-motion 0.1.5 → 0.1.6
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.
- checksums.yaml +4 -4
- data/README.md +9 -8
- data/lib/menu-motion/menu_item.rb +17 -7
- data/lib/menu-motion/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81a470e891e3ef0dc469a6184e66a3fc9261a6a0
|
4
|
+
data.tar.gz: 47c198b68132494dc529a7a7bcb622825bc4caf3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 376ab57eac16f013695eb5fde29f28281ee6d6f73e5378ac32401be718f7313d2b13801fb5039d9fcbbae0109a702e033ecb42acba33e73b826193ca3ce68fd5
|
7
|
+
data.tar.gz: abbef473c9bd1ce0a81dfaa90ee98e20cce65abea2aac33c11c22f9e803f25ccb86a537f7e2cfd46efa9254552b61a3cb19e850f6c36d591b6244c2ecbd0b06c
|
data/README.md
CHANGED
@@ -32,10 +32,10 @@ Here's an awesome graphic of a menu:
|
|
32
32
|
```
|
33
33
|
|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|
|
34
34
|
| [icon] First Item > |‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|
|
35
|
-
|---------------------| First Subitem >
|
36
|
-
| About MenuMotion |-----------------| First Action
|
37
|
-
| Quit | Some Action | Second Action |
|
38
|
-
|_____________________|_________________|
|
35
|
+
|---------------------| First Subitem > |‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|
|
36
|
+
| About MenuMotion |-----------------| First Action |
|
37
|
+
| Quit | Some Action | ✓ Second Action |
|
38
|
+
|_____________________|_________________|_________________|
|
39
39
|
```
|
40
40
|
|
41
41
|
And the Ruby to generate this menu:
|
@@ -57,14 +57,15 @@ menu = MenuMotion::Menu.new({
|
|
57
57
|
}, {
|
58
58
|
title: "Second Action",
|
59
59
|
target: self,
|
60
|
-
action: "second_action"
|
60
|
+
action: "second_action",
|
61
|
+
checked: true
|
61
62
|
}]
|
62
63
|
}]
|
63
64
|
}, {
|
64
65
|
rows: [{
|
65
66
|
title: "Some Action",
|
66
67
|
target: self,
|
67
|
-
action:
|
68
|
+
action: :some_action
|
68
69
|
}]
|
69
70
|
}]
|
70
71
|
}]
|
@@ -115,14 +116,14 @@ menu = MenuMotion::Menu.new({
|
|
115
116
|
### Actions
|
116
117
|
|
117
118
|
Adding an action to a menu item is easy. Just define the
|
118
|
-
target and action parameters.
|
119
|
+
target and action parameters. Actions that don't require the `sender` to be passed can be defined as a `String` or a `:symbol`.
|
119
120
|
|
120
121
|
```ruby
|
121
122
|
menu = MenuMotion::Menu.new({
|
122
123
|
rows: [{
|
123
124
|
title: "Basic Action",
|
124
125
|
target: self,
|
125
|
-
action:
|
126
|
+
action: :basic_action
|
126
127
|
}, {
|
127
128
|
title: "Pass the menu item to the action",
|
128
129
|
target: self,
|
@@ -17,6 +17,11 @@ module MenuMotion
|
|
17
17
|
self.state = (value ? NSOnState : NSOffState)
|
18
18
|
end
|
19
19
|
|
20
|
+
def image=(value)
|
21
|
+
value = NSImage.imageNamed(value) unless value.is_a?(NSImage)
|
22
|
+
self.setImage(value)
|
23
|
+
end
|
24
|
+
|
20
25
|
def initialize(params = {})
|
21
26
|
super()
|
22
27
|
update(params)
|
@@ -34,13 +39,10 @@ module MenuMotion
|
|
34
39
|
end
|
35
40
|
|
36
41
|
def update(params)
|
37
|
-
|
38
|
-
|
39
|
-
self.
|
40
|
-
self.
|
41
|
-
self.root_menu = params[:root_menu] if params.has_key?(:root_menu)
|
42
|
-
self.title = params[:title] if params.has_key?(:title)
|
43
|
-
self.validate = params[:validate] if params.has_key?(:validate)
|
42
|
+
assign_attributes(params)
|
43
|
+
|
44
|
+
self.item_action = params[:action] if params.has_key?(:action)
|
45
|
+
self.item_target = params[:target] if params.has_key?(:target)
|
44
46
|
|
45
47
|
# Set NSApp as the default target if no other target is given
|
46
48
|
if self.item_action && self.item_target.nil?
|
@@ -116,6 +118,14 @@ module MenuMotion
|
|
116
118
|
end
|
117
119
|
end
|
118
120
|
|
121
|
+
private
|
122
|
+
|
123
|
+
def assign_attributes(params)
|
124
|
+
[:image, :view, :checked, :object, :root_menu, :title, :validate].each do |key|
|
125
|
+
self.send("#{key}=", params[key]) if params.has_key?(key)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
119
129
|
end
|
120
130
|
|
121
131
|
end
|
data/lib/menu-motion/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: menu-motion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Pattison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|