fzeet 0.6.7 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/LICENSE +1 -1
- data/README.md +33 -1
- data/RELNOTES.md +4 -0
- data/examples/Control/Button.rbw +1 -1
- data/examples/Control/WebBrowser/jQueryUI.html +3 -17
- data/examples/Menu/ContextMenu.rbw +1 -1
- data/examples/Raw/Command.rbw +19 -0
- data/examples/Raw/Hello.rbw +19 -0
- data/examples/Raw/LifeCycle.rbw +19 -0
- data/examples/Raw/Minimal.rbw +19 -0
- data/lib/fzeet.rb +19 -6
- data/lib/fzeet/windows.rb +19 -0
- data/lib/fzeet/windows/com/Common.rb +4 -3
- data/lib/fzeet/windows/comctl.rb +19 -0
- data/lib/fzeet/windows/comctl/Button.rb +19 -0
- data/lib/fzeet/windows/comctl/ComboBox.rb +19 -0
- data/lib/fzeet/windows/comctl/ComboBoxEx.rb +19 -0
- data/lib/fzeet/windows/comctl/Common.rb +19 -0
- data/lib/fzeet/windows/comctl/DateTimePicker.rb +19 -0
- data/lib/fzeet/windows/comctl/Edit.rb +19 -0
- data/lib/fzeet/windows/comctl/Header.rb +21 -2
- data/lib/fzeet/windows/comctl/ListView.rb +23 -4
- data/lib/fzeet/windows/comctl/MonthCalendar.rb +19 -0
- data/lib/fzeet/windows/comctl/ProgressBar.rb +19 -0
- data/lib/fzeet/windows/comctl/PropertySheet.rb +21 -2
- data/lib/fzeet/windows/comctl/SysLink.rb +19 -0
- data/lib/fzeet/windows/comctl/Tab.rb +19 -0
- data/lib/fzeet/windows/comctl/TreeView.rb +21 -2
- data/lib/fzeet/windows/comctl/UpDown.rb +19 -0
- data/lib/fzeet/windows/comdlg.rb +19 -0
- data/lib/fzeet/windows/comdlg/ColorDialog.rb +19 -0
- data/lib/fzeet/windows/comdlg/Common.rb +19 -0
- data/lib/fzeet/windows/comdlg/FileDialog.rb +20 -1
- data/lib/fzeet/windows/comdlg/FindReplaceDialog.rb +19 -0
- data/lib/fzeet/windows/comdlg/FontDialog.rb +19 -0
- data/lib/fzeet/windows/comdlg/PrintDialog.rb +19 -0
- data/lib/fzeet/windows/comdlg/ShellFileDialog.rb +19 -0
- data/lib/fzeet/windows/core/Common.rb +1 -1
- data/lib/fzeet/windows/scintilla.rb +19 -0
- data/lib/fzeet/windows/shell.rb +19 -0
- data/lib/fzeet/windows/shell/BrowseForFolder.rb +19 -0
- data/lib/fzeet/windows/shell/Common.rb +19 -0
- data/lib/fzeet/windows/shell/FileDialog.rb +19 -0
- data/lib/fzeet/windows/uiribbon.rb +19 -0
- data/lib/fzeet/windows/user.rb +19 -0
- data/lib/fzeet/windows/user/Control.rb +19 -0
- data/lib/fzeet/windows/user/Control/ComboBox.rb +19 -0
- data/lib/fzeet/windows/user/Control/ListBox.rb +21 -2
- data/lib/fzeet/windows/user/SystemParametersInfo.rb +2 -2
- data/lib/fzeet/windows/user/Window.rb +19 -0
- data/lib/fzeet/windows/user/Window/Common.rb +19 -0
- data/lib/fzeet/windows/user/Window/Container.rb +19 -0
- data/lib/fzeet/windows/user/Window/Dialog.rb +19 -0
- data/lib/fzeet/windows/user/Window/MDI.rb +19 -0
- data/lib/fzeet/windows/user/Window/View.rb +19 -0
- data/lib/fzeet/windows/user/Window/Window.rb +19 -0
- data/lib/fzeet/windows/user/Window/WindowMethods.rb +1 -1
- metadata +9 -9
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -101,7 +120,7 @@ module Fzeet
|
|
101
120
|
HDIS_FOCUSED = 0x00000001
|
102
121
|
|
103
122
|
class HDITEM < FFI::Struct
|
104
|
-
layout
|
123
|
+
layout(*[
|
105
124
|
:mask, :uint,
|
106
125
|
:cxy, :int,
|
107
126
|
:pszText, :pointer,
|
@@ -114,7 +133,7 @@ module Fzeet
|
|
114
133
|
:type, :uint,
|
115
134
|
:pvFilter, :pointer,
|
116
135
|
(Version >= :vista) ? [:state, :uint] : nil
|
117
|
-
].flatten.compact
|
136
|
+
].flatten.compact)
|
118
137
|
end
|
119
138
|
|
120
139
|
class NMHEADER < FFI::Struct
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -242,7 +261,7 @@ module Fzeet
|
|
242
261
|
LVCFMT_SPLITBUTTON = 0x1000000
|
243
262
|
|
244
263
|
class LVCOLUMN < FFI::Struct
|
245
|
-
layout
|
264
|
+
layout(*[
|
246
265
|
:mask, :uint,
|
247
266
|
:fmt, :int,
|
248
267
|
:cx, :int,
|
@@ -256,7 +275,7 @@ module Fzeet
|
|
256
275
|
:cxDefault, :int,
|
257
276
|
:cxIdeal, :int
|
258
277
|
] : nil
|
259
|
-
].flatten.compact
|
278
|
+
].flatten.compact)
|
260
279
|
end
|
261
280
|
|
262
281
|
LVIF_TEXT = 0x00000001
|
@@ -279,7 +298,7 @@ module Fzeet
|
|
279
298
|
LVIS_STATEIMAGEMASK = 0xF000
|
280
299
|
|
281
300
|
class LVITEM < FFI::Struct
|
282
|
-
layout
|
301
|
+
layout(*[
|
283
302
|
:mask, :uint,
|
284
303
|
:iItem, :int,
|
285
304
|
:iSubItem, :int,
|
@@ -299,7 +318,7 @@ module Fzeet
|
|
299
318
|
:piColFmt, :pointer,
|
300
319
|
:iGroup, :int
|
301
320
|
] : nil
|
302
|
-
].flatten.compact
|
321
|
+
].flatten.compact)
|
303
322
|
end
|
304
323
|
|
305
324
|
class NMLISTVIEW < FFI::Struct
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -20,7 +39,7 @@ module Fzeet
|
|
20
39
|
callback :PSPCALLBACK, [:pointer, :uint, :pointer], :uint
|
21
40
|
|
22
41
|
class PROPSHEETPAGE < FFI::Struct
|
23
|
-
layout
|
42
|
+
layout(*[
|
24
43
|
:dwSize, :ulong,
|
25
44
|
:dwFlags, :ulong,
|
26
45
|
:hInstance, :pointer,
|
@@ -51,7 +70,7 @@ module Fzeet
|
|
51
70
|
:pszbmHeader, :pointer
|
52
71
|
}
|
53
72
|
] : nil
|
54
|
-
].flatten.compact
|
73
|
+
].flatten.compact)
|
55
74
|
end
|
56
75
|
|
57
76
|
attach_function :CreatePropertySheetPage, :CreatePropertySheetPageA, [:pointer], :pointer
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -145,7 +164,7 @@ module Fzeet
|
|
145
164
|
end
|
146
165
|
|
147
166
|
class TVITEMEX < FFI::Struct
|
148
|
-
layout
|
167
|
+
layout(*[
|
149
168
|
:mask, :uint,
|
150
169
|
:hItem, :pointer,
|
151
170
|
:state, :uint,
|
@@ -165,7 +184,7 @@ module Fzeet
|
|
165
184
|
(Version >= 7) ? [
|
166
185
|
:iReserved, :int
|
167
186
|
] : nil
|
168
|
-
].flatten.compact
|
187
|
+
].flatten.compact)
|
169
188
|
end
|
170
189
|
|
171
190
|
TVI_ROOT = FFI::Pointer.new(-0x10000)
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
data/lib/fzeet/windows/comdlg.rb
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'comdlg/FileDialog'
|
2
21
|
require_relative 'comdlg/ShellFileDialog' if Fzeet::Windows::Version >= :vista
|
3
22
|
require_relative 'comdlg/FontDialog'
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative '../user'
|
2
21
|
require_relative '../com'
|
3
22
|
require_relative '../shell'
|
@@ -1,3 +1,22 @@
|
|
1
|
+
if __FILE__ == $0
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
# FIXME: dirty fix to propagate FFI structs layout down the inheritance hierarchy
|
5
|
+
# TODO: switch to composition instead inheriting FFI structs
|
6
|
+
module PropagateFFIStructLayout
|
7
|
+
def inherited(child_class)
|
8
|
+
child_class.instance_variable_set '@layout', layout
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class FFI::Struct
|
13
|
+
def self.inherited(child_class)
|
14
|
+
child_class.extend PropagateFFIStructLayout
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# END FIXME
|
18
|
+
end
|
19
|
+
|
1
20
|
require_relative 'Common'
|
2
21
|
|
3
22
|
module Fzeet
|
@@ -172,7 +191,7 @@ module Fzeet
|
|
172
191
|
tip += name.length + 1
|
173
192
|
end
|
174
193
|
|
175
|
-
result.map! { |
|
194
|
+
result.map! { |last| "#{path}\\#{last}" }
|
176
195
|
end
|
177
196
|
|
178
197
|
def multiselect=(multiselect)
|