fzeet 0.6.7 → 0.7.0
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 +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)
|