fzeet 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/examples/UIRibbon/ApplicationModes.dll +0 -0
  2. data/examples/UIRibbon/ApplicationModes.rb +40 -0
  3. data/examples/UIRibbon/ApplicationModes.rbw +14 -0
  4. data/examples/UIRibbon/ApplicationModes.xml +83 -0
  5. data/examples/UIRibbon/Color.rbw +1 -1
  6. data/examples/UIRibbon/Control/Button.dll +0 -0
  7. data/examples/UIRibbon/Control/Button.rb +9 -5
  8. data/examples/UIRibbon/Control/Button.rbw +3 -1
  9. data/examples/UIRibbon/Control/Button.xml +6 -0
  10. data/examples/UIRibbon/Control/ColorPicker.dll +0 -0
  11. data/examples/UIRibbon/Control/ColorPicker.rb +55 -0
  12. data/examples/UIRibbon/Control/ColorPicker.rbw +91 -0
  13. data/examples/UIRibbon/Control/ColorPicker.xml +131 -0
  14. data/examples/UIRibbon/Control/ComboBox.dll +0 -0
  15. data/examples/UIRibbon/Control/ComboBox.rb +23 -0
  16. data/examples/UIRibbon/Control/ComboBox.rbw +56 -0
  17. data/examples/UIRibbon/Control/ComboBox.xml +75 -0
  18. data/examples/UIRibbon/Control/FontControl.dll +0 -0
  19. data/examples/UIRibbon/Control/FontControl.rb +34 -0
  20. data/examples/UIRibbon/Control/FontControl.rbw +83 -0
  21. data/examples/UIRibbon/Control/FontControl.xml +96 -0
  22. data/examples/UIRibbon/Control/Gallery.dll +0 -0
  23. data/examples/UIRibbon/Control/Gallery.rb +55 -0
  24. data/examples/UIRibbon/Control/Gallery.rbw +124 -0
  25. data/examples/UIRibbon/Control/Gallery.xml +132 -0
  26. data/examples/UIRibbon/Control/Spinner.dll +0 -0
  27. data/examples/UIRibbon/Control/Spinner.rb +14 -0
  28. data/examples/UIRibbon/Control/Spinner.rbw +27 -0
  29. data/examples/UIRibbon/Control/Spinner.xml +37 -0
  30. data/examples/UIRibbon/Size.rbw +1 -1
  31. data/examples/UIRibbon/TabGroup.dll +0 -0
  32. data/examples/UIRibbon/TabGroup.rb +12 -0
  33. data/examples/UIRibbon/TabGroup.rbw +23 -0
  34. data/examples/UIRibbon/TabGroup.xml +42 -0
  35. data/examples/UIRibbon/Viewer.rbw +1 -1
  36. data/examples/res/applications-graphics-big.bmp +0 -0
  37. data/examples/res/applications-graphics-small.bmp +0 -0
  38. data/examples/res/applications-graphics.bmp +0 -0
  39. data/examples/res/document-print-big.bmp +0 -0
  40. data/examples/res/document-print-preview-big.bmp +0 -0
  41. data/examples/res/document-print-preview-small.bmp +0 -0
  42. data/examples/res/document-print-preview.bmp +0 -0
  43. data/examples/res/document-print-small.bmp +0 -0
  44. data/examples/res/document-print.bmp +0 -0
  45. data/examples/res/go-bottom-big.bmp +0 -0
  46. data/examples/res/go-bottom-small.bmp +0 -0
  47. data/examples/res/go-bottom.bmp +0 -0
  48. data/examples/res/preferences-desktop-font-big.bmp +0 -0
  49. data/examples/res/preferences-desktop-font-small.bmp +0 -0
  50. data/examples/res/preferences-desktop-font.bmp +0 -0
  51. data/examples/res/process-stop-big.bmp +0 -0
  52. data/examples/res/process-stop-small.bmp +0 -0
  53. data/examples/res/process-stop.bmp +0 -0
  54. data/lib/fzeet/Application.rb +6 -1
  55. data/lib/fzeet/Common.rb +17 -0
  56. data/lib/fzeet/Dialog/ShellFileDialog.rb +8 -48
  57. data/lib/fzeet/UIRibbon.rb +174 -7
  58. data/lib/fzeet/windows/com.rb +2 -0
  59. data/lib/fzeet/windows/common.rb +47 -6
  60. data/lib/fzeet/windows/gdi.rb +8 -0
  61. data/lib/fzeet/windows/kernel.rb +2 -0
  62. data/lib/fzeet/windows/ole.rb +34 -0
  63. data/lib/fzeet/windows/propsys.rb +7 -1
  64. data/lib/fzeet/windows/shell/Common.rb +44 -0
  65. data/lib/fzeet/windows/shlwapi.rb +10 -0
  66. data/lib/fzeet/windows/uiribbon.rb +15 -0
  67. data/lib/fzeet/windows.rb +1 -0
  68. 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
 
@@ -0,0 +1,10 @@
1
+ require_relative 'common'
2
+
3
+ module Fzeet
4
+ module Windows
5
+ ffi_lib 'shlwapi'
6
+ ffi_convention :stdcall
7
+
8
+ attach_function :SHStrDup, :SHStrDupA, [:string, :pointer], :long
9
+ end
10
+ end
@@ -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
@@ -11,6 +11,7 @@ require_relative 'windows/com'
11
11
 
12
12
  require_relative 'windows/ole'
13
13
  require_relative 'windows/shell'
14
+ require_relative 'windows/shlwapi'
14
15
 
15
16
  require_relative 'windows/propsys' if Fzeet::Windows::WINVER.AtLeastWindowsVista?
16
17
 
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
- - 1
10
- version: 0.6.1
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-10 00:00:00 +03:00
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"