fzeet 0.6.1 → 0.6.2
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.
- data/examples/UIRibbon/ApplicationModes.dll +0 -0
- data/examples/UIRibbon/ApplicationModes.rb +40 -0
- data/examples/UIRibbon/ApplicationModes.rbw +14 -0
- data/examples/UIRibbon/ApplicationModes.xml +83 -0
- data/examples/UIRibbon/Color.rbw +1 -1
- data/examples/UIRibbon/Control/Button.dll +0 -0
- data/examples/UIRibbon/Control/Button.rb +9 -5
- data/examples/UIRibbon/Control/Button.rbw +3 -1
- data/examples/UIRibbon/Control/Button.xml +6 -0
- data/examples/UIRibbon/Control/ColorPicker.dll +0 -0
- data/examples/UIRibbon/Control/ColorPicker.rb +55 -0
- data/examples/UIRibbon/Control/ColorPicker.rbw +91 -0
- data/examples/UIRibbon/Control/ColorPicker.xml +131 -0
- data/examples/UIRibbon/Control/ComboBox.dll +0 -0
- data/examples/UIRibbon/Control/ComboBox.rb +23 -0
- data/examples/UIRibbon/Control/ComboBox.rbw +56 -0
- data/examples/UIRibbon/Control/ComboBox.xml +75 -0
- data/examples/UIRibbon/Control/FontControl.dll +0 -0
- data/examples/UIRibbon/Control/FontControl.rb +34 -0
- data/examples/UIRibbon/Control/FontControl.rbw +83 -0
- data/examples/UIRibbon/Control/FontControl.xml +96 -0
- data/examples/UIRibbon/Control/Gallery.dll +0 -0
- data/examples/UIRibbon/Control/Gallery.rb +55 -0
- data/examples/UIRibbon/Control/Gallery.rbw +124 -0
- data/examples/UIRibbon/Control/Gallery.xml +132 -0
- data/examples/UIRibbon/Control/Spinner.dll +0 -0
- data/examples/UIRibbon/Control/Spinner.rb +14 -0
- data/examples/UIRibbon/Control/Spinner.rbw +27 -0
- data/examples/UIRibbon/Control/Spinner.xml +37 -0
- data/examples/UIRibbon/Size.rbw +1 -1
- data/examples/UIRibbon/TabGroup.dll +0 -0
- data/examples/UIRibbon/TabGroup.rb +12 -0
- data/examples/UIRibbon/TabGroup.rbw +23 -0
- data/examples/UIRibbon/TabGroup.xml +42 -0
- data/examples/UIRibbon/Viewer.rbw +1 -1
- data/examples/res/applications-graphics-big.bmp +0 -0
- data/examples/res/applications-graphics-small.bmp +0 -0
- data/examples/res/applications-graphics.bmp +0 -0
- data/examples/res/document-print-big.bmp +0 -0
- data/examples/res/document-print-preview-big.bmp +0 -0
- data/examples/res/document-print-preview-small.bmp +0 -0
- data/examples/res/document-print-preview.bmp +0 -0
- data/examples/res/document-print-small.bmp +0 -0
- data/examples/res/document-print.bmp +0 -0
- data/examples/res/go-bottom-big.bmp +0 -0
- data/examples/res/go-bottom-small.bmp +0 -0
- data/examples/res/go-bottom.bmp +0 -0
- data/examples/res/preferences-desktop-font-big.bmp +0 -0
- data/examples/res/preferences-desktop-font-small.bmp +0 -0
- data/examples/res/preferences-desktop-font.bmp +0 -0
- data/examples/res/process-stop-big.bmp +0 -0
- data/examples/res/process-stop-small.bmp +0 -0
- data/examples/res/process-stop.bmp +0 -0
- data/lib/fzeet/Application.rb +6 -1
- data/lib/fzeet/Common.rb +17 -0
- data/lib/fzeet/Dialog/ShellFileDialog.rb +8 -48
- data/lib/fzeet/UIRibbon.rb +174 -7
- data/lib/fzeet/windows/com.rb +2 -0
- data/lib/fzeet/windows/common.rb +47 -6
- data/lib/fzeet/windows/gdi.rb +8 -0
- data/lib/fzeet/windows/kernel.rb +2 -0
- data/lib/fzeet/windows/ole.rb +34 -0
- data/lib/fzeet/windows/propsys.rb +7 -1
- data/lib/fzeet/windows/shell/Common.rb +44 -0
- data/lib/fzeet/windows/shlwapi.rb +10 -0
- data/lib/fzeet/windows/uiribbon.rb +15 -0
- data/lib/fzeet/windows.rb +1 -0
- metadata +51 -8
@@ -37,6 +37,26 @@ module Fzeet
|
|
37
37
|
|
38
38
|
ShellItem = COM::Instance[IShellItem]
|
39
39
|
|
40
|
+
class ShellItem
|
41
|
+
def path
|
42
|
+
result = nil
|
43
|
+
|
44
|
+
FFI::MemoryPointer.new(:pointer) { |pwcs|
|
45
|
+
next unless GetDisplayName(SIGDN_FILESYSPATH, pwcs) == S_OK
|
46
|
+
|
47
|
+
wcs = pwcs.read_pointer
|
48
|
+
|
49
|
+
begin
|
50
|
+
result = Windows.WCSTOMBS(wcs)
|
51
|
+
ensure
|
52
|
+
Windows.CoTaskMemFree(wcs)
|
53
|
+
end
|
54
|
+
}
|
55
|
+
|
56
|
+
result
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
40
60
|
SIATTRIBFLAGS_AND = 0x00000001
|
41
61
|
SIATTRIBFLAGS_OR = 0x00000002
|
42
62
|
SIATTRIBFLAGS_APPCOMPAT = 0x00000003
|
@@ -57,6 +77,30 @@ module Fzeet
|
|
57
77
|
|
58
78
|
ShellItemArray = COM::Instance[IShellItemArray]
|
59
79
|
|
80
|
+
class ShellItemArray
|
81
|
+
include Enumerable
|
82
|
+
|
83
|
+
def count; FFI::MemoryPointer.new(:ulong) { |pc| next unless GetCount(pc) == S_OK; return pc.get_ulong(0) } end
|
84
|
+
alias :size :count
|
85
|
+
alias :length :count
|
86
|
+
|
87
|
+
def get(i)
|
88
|
+
FFI::MemoryPointer.new(:pointer) { |psi|
|
89
|
+
next unless GetItemAt(i, psi) == S_OK
|
90
|
+
|
91
|
+
si = ShellItem.new(psi.read_pointer)
|
92
|
+
|
93
|
+
begin
|
94
|
+
yield si
|
95
|
+
ensure
|
96
|
+
si.Release
|
97
|
+
end
|
98
|
+
}
|
99
|
+
end
|
100
|
+
|
101
|
+
def each(&block) length.times { |i| get(i, &block) }; self end
|
102
|
+
end
|
103
|
+
|
60
104
|
IModalWindow = COM::Interface[IUnknown,
|
61
105
|
GUID['b4db1657-70d7-485e-8e3e-6fcb5a5c1802'],
|
62
106
|
|
@@ -232,6 +232,7 @@ module Fzeet
|
|
232
232
|
]
|
233
233
|
|
234
234
|
UISimplePropertySet = COM::Instance[IUISimplePropertySet]
|
235
|
+
UISimplePropertySetCallback = COM::Callback[IUISimplePropertySet]
|
235
236
|
|
236
237
|
IUIRibbon = COM::Interface[IUnknown,
|
237
238
|
GUID['803982ab-370a-4f7e-a9e7-8784036a6e26'],
|
@@ -288,6 +289,20 @@ module Fzeet
|
|
288
289
|
|
289
290
|
UICollection = COM::Instance[IUICollection]
|
290
291
|
|
292
|
+
class UICollection
|
293
|
+
include Enumerable
|
294
|
+
|
295
|
+
def count; FFI::MemoryPointer.new(:uint) { |pc| GetCount(pc); return pc.get_uint(0) } end
|
296
|
+
alias :size :count
|
297
|
+
alias :length :count
|
298
|
+
|
299
|
+
def get(i) FFI::MemoryPointer.new(:pointer) { |punk| GetItem(i, punk); return Unknown.new(punk.read_pointer) } end
|
300
|
+
def add(unknown) Add(unknown); self end
|
301
|
+
def clear; Clear(); self end
|
302
|
+
|
303
|
+
def each; length.times { |i| yield get(i) }; self end
|
304
|
+
end
|
305
|
+
|
291
306
|
UI_COLLECTIONCHANGE_INSERT = 0
|
292
307
|
UI_COLLECTIONCHANGE_REMOVE = 1
|
293
308
|
UI_COLLECTIONCHANGE_REPLACE = 2
|
data/lib/fzeet/windows.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fzeet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 5
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
8
|
+
- 2
|
9
|
+
version: 0.6.2
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Radoslav Peev
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-09-
|
17
|
+
date: 2010-09-16 00:00:00 +03:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ~>
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 1
|
30
28
|
segments:
|
31
29
|
- 0
|
32
30
|
- 6
|
@@ -53,6 +51,7 @@ files:
|
|
53
51
|
- lib/fzeet/windows/ole.rb
|
54
52
|
- lib/fzeet/windows/propsys.rb
|
55
53
|
- lib/fzeet/windows/shell.rb
|
54
|
+
- lib/fzeet/windows/shlwapi.rb
|
56
55
|
- lib/fzeet/windows/uiribbon.rb
|
57
56
|
- lib/fzeet/windows/user.rb
|
58
57
|
- lib/fzeet/windows/user/Accelerator.rb
|
@@ -129,12 +128,24 @@ files:
|
|
129
128
|
- lib/fzeet/Dialog/PrintDialog.rb
|
130
129
|
- lib/fzeet/Dialog/ShellFileDialog.rb
|
131
130
|
- lib/fzeet.rb
|
131
|
+
- examples/res/applications-graphics-big.bmp
|
132
|
+
- examples/res/applications-graphics-small.bmp
|
133
|
+
- examples/res/applications-graphics.bmp
|
132
134
|
- examples/res/audio-volume-muted-big.bmp
|
133
135
|
- examples/res/audio-volume-muted-small.bmp
|
134
136
|
- examples/res/audio-volume-muted.bmp
|
137
|
+
- examples/res/document-print-big.bmp
|
138
|
+
- examples/res/document-print-preview-big.bmp
|
139
|
+
- examples/res/document-print-preview-small.bmp
|
140
|
+
- examples/res/document-print-preview.bmp
|
141
|
+
- examples/res/document-print-small.bmp
|
142
|
+
- examples/res/document-print.bmp
|
135
143
|
- examples/res/edit-copy.bmp
|
136
144
|
- examples/res/edit-cut.bmp
|
137
145
|
- examples/res/edit-paste.bmp
|
146
|
+
- examples/res/go-bottom-big.bmp
|
147
|
+
- examples/res/go-bottom-small.bmp
|
148
|
+
- examples/res/go-bottom.bmp
|
138
149
|
- examples/res/go-down-big.bmp
|
139
150
|
- examples/res/go-down-small.bmp
|
140
151
|
- examples/res/go-down.bmp
|
@@ -150,6 +161,12 @@ files:
|
|
150
161
|
- examples/res/media-playback-pause-big.bmp
|
151
162
|
- examples/res/media-playback-pause-small.bmp
|
152
163
|
- examples/res/media-playback-pause.bmp
|
164
|
+
- examples/res/preferences-desktop-font-big.bmp
|
165
|
+
- examples/res/preferences-desktop-font-small.bmp
|
166
|
+
- examples/res/preferences-desktop-font.bmp
|
167
|
+
- examples/res/process-stop-big.bmp
|
168
|
+
- examples/res/process-stop-small.bmp
|
169
|
+
- examples/res/process-stop.bmp
|
153
170
|
- examples/Raw/Command.rbw
|
154
171
|
- examples/Raw/Hello.rbw
|
155
172
|
- examples/Raw/LifeCycle.rbw
|
@@ -203,28 +220,56 @@ files:
|
|
203
220
|
- examples/Dialog/FontDialog.rbw
|
204
221
|
- examples/Dialog/PrintDialog.rbw
|
205
222
|
- examples/Dialog/ShellFileDialog.rbw
|
223
|
+
- examples/UIRibbon/ApplicationModes.rbw
|
206
224
|
- examples/UIRibbon/Color.rbw
|
207
225
|
- examples/UIRibbon/Command.rbw
|
208
226
|
- examples/UIRibbon/ContextPopup.rbw
|
209
227
|
- examples/UIRibbon/Minimal.rbw
|
210
228
|
- examples/UIRibbon/Size.rbw
|
229
|
+
- examples/UIRibbon/TabGroup.rbw
|
211
230
|
- examples/UIRibbon/Viewer.rbw
|
231
|
+
- examples/UIRibbon/ApplicationModes.xml
|
212
232
|
- examples/UIRibbon/Command.xml
|
213
233
|
- examples/UIRibbon/ContextPopup.xml
|
214
234
|
- examples/UIRibbon/Minimal.xml
|
235
|
+
- examples/UIRibbon/TabGroup.xml
|
236
|
+
- examples/UIRibbon/ApplicationModes.rb
|
215
237
|
- examples/UIRibbon/Command.rb
|
216
238
|
- examples/UIRibbon/ContextPopup.rb
|
217
239
|
- examples/UIRibbon/Minimal.rb
|
240
|
+
- examples/UIRibbon/TabGroup.rb
|
241
|
+
- examples/UIRibbon/ApplicationModes.dll
|
218
242
|
- examples/UIRibbon/Command.dll
|
219
243
|
- examples/UIRibbon/ContextPopup.dll
|
220
244
|
- examples/UIRibbon/Minimal.dll
|
245
|
+
- examples/UIRibbon/TabGroup.dll
|
221
246
|
- examples/UIRibbon/Control/Button.rbw
|
247
|
+
- examples/UIRibbon/Control/ColorPicker.rbw
|
248
|
+
- examples/UIRibbon/Control/ComboBox.rbw
|
249
|
+
- examples/UIRibbon/Control/FontControl.rbw
|
250
|
+
- examples/UIRibbon/Control/Gallery.rbw
|
251
|
+
- examples/UIRibbon/Control/Spinner.rbw
|
222
252
|
- examples/UIRibbon/Control/Button.xml
|
253
|
+
- examples/UIRibbon/Control/ColorPicker.xml
|
254
|
+
- examples/UIRibbon/Control/ComboBox.xml
|
255
|
+
- examples/UIRibbon/Control/FontControl.xml
|
256
|
+
- examples/UIRibbon/Control/Gallery.xml
|
257
|
+
- examples/UIRibbon/Control/Spinner.xml
|
223
258
|
- examples/UIRibbon/Control/Button.rb
|
259
|
+
- examples/UIRibbon/Control/ColorPicker.rb
|
260
|
+
- examples/UIRibbon/Control/ComboBox.rb
|
261
|
+
- examples/UIRibbon/Control/FontControl.rb
|
262
|
+
- examples/UIRibbon/Control/Gallery.rb
|
263
|
+
- examples/UIRibbon/Control/Spinner.rb
|
224
264
|
- examples/UIRibbon/Control/Button.dll
|
265
|
+
- examples/UIRibbon/Control/ColorPicker.dll
|
266
|
+
- examples/UIRibbon/Control/ComboBox.dll
|
267
|
+
- examples/UIRibbon/Control/FontControl.dll
|
268
|
+
- examples/UIRibbon/Control/Gallery.dll
|
269
|
+
- examples/UIRibbon/Control/Spinner.dll
|
225
270
|
- LICENSE
|
226
271
|
has_rdoc: true
|
227
|
-
homepage:
|
272
|
+
homepage: http://github.com/rpeev/Fzeet
|
228
273
|
licenses: []
|
229
274
|
|
230
275
|
post_install_message:
|
@@ -237,7 +282,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
237
282
|
requirements:
|
238
283
|
- - ">="
|
239
284
|
- !ruby/object:Gem::Version
|
240
|
-
hash: 3
|
241
285
|
segments:
|
242
286
|
- 0
|
243
287
|
version: "0"
|
@@ -246,7 +290,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
246
290
|
requirements:
|
247
291
|
- - ">="
|
248
292
|
- !ruby/object:Gem::Version
|
249
|
-
hash: 3
|
250
293
|
segments:
|
251
294
|
- 0
|
252
295
|
version: "0"
|