fzeet 0.6.5 → 0.6.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.
- data/LICENSE_CEF +29 -0
- data/checks/Bstr.rb +14 -0
- data/checks/Decimal.rb +27 -0
- data/checks/OSVERSIONINFOEX.rb +14 -0
- data/checks/Point.rb +65 -0
- data/checks/Rect.rb +104 -0
- data/checks/RunAll.rb +2 -0
- data/checks/SafeArray.rb +27 -0
- data/checks/Size.rb +45 -0
- data/checks/SystemTime.rb +43 -0
- data/checks/Variant.rb +160 -0
- data/examples/Control/DateTimePicker.rbw +1 -1
- data/examples/Control/MonthCalendar.rbw +1 -1
- data/examples/Control/{WebBrowser.rbw → WebBrowser/WebBrowser.rbw} +2 -2
- data/examples/Control/{WebBrowser1.rbw → WebBrowser/WebBrowser1.rbw} +0 -0
- data/examples/Control/WebBrowser/WebBrowser2.rbw +24 -0
- data/examples/Control/{WebBrowser3.rbw → WebBrowser/WebBrowser3.rbw} +0 -0
- data/examples/Control/{WebBrowser4.rbw → WebBrowser/WebBrowser4.rbw} +8 -3
- data/examples/Control/{WebBrowser4Sinatra.rb → WebBrowser/WebBrowser4Sinatra.rb} +0 -0
- data/examples/Control/{WebBrowser5.rbw → WebBrowser/WebBrowser5.rbw} +4 -2
- data/examples/Control/WebBrowser/jQueryUI.html +53 -0
- data/examples/Control/WebBrowser/jQueryUI.rbw +26 -0
- data/examples/MDI.rbw +2 -2
- data/examples/Raw/UIRibbon/Command.rbw +3 -3
- data/examples/Raw/UIRibbon/Minimal.rbw +3 -3
- data/examples/Version.rbw +1 -1
- data/lib/fzeet.rb +22 -7
- data/lib/fzeet/windows.rb +82 -5
- data/lib/fzeet/windows/com.rb +1 -318
- data/lib/fzeet/windows/com/Common.rb +318 -0
- data/lib/fzeet/windows/comctl.rb +1 -1
- data/lib/fzeet/windows/comctl/ComboBoxEx.rb +32 -0
- data/lib/fzeet/windows/comctl/DateTimePicker.rb +35 -0
- data/lib/fzeet/windows/comctl/Header.rb +61 -1
- data/lib/fzeet/windows/comctl/ListView.rb +133 -3
- data/lib/fzeet/windows/comctl/MonthCalendar.rb +35 -0
- data/lib/fzeet/windows/comctl/ProgressBar.rb +37 -0
- data/lib/fzeet/windows/comctl/PropertySheet.rb +50 -2
- data/lib/fzeet/windows/comctl/SysLink.rb +37 -0
- data/lib/fzeet/windows/comctl/Tab.rb +56 -0
- data/lib/fzeet/windows/comctl/TreeView.rb +81 -2
- data/lib/fzeet/windows/comctl/UpDown.rb +33 -0
- data/lib/fzeet/windows/comdlg.rb +1 -0
- data/lib/fzeet/windows/comdlg/ColorDialog.rb +41 -0
- data/lib/fzeet/windows/comdlg/Common.rb +87 -0
- data/lib/fzeet/windows/comdlg/FileDialog.rb +133 -0
- data/lib/fzeet/windows/comdlg/FindReplaceDialog.rb +102 -0
- data/lib/fzeet/windows/comdlg/FontDialog.rb +36 -0
- data/lib/fzeet/windows/comdlg/PrintDialog.rb +72 -0
- data/lib/fzeet/{Dialog → windows/comdlg}/ShellFileDialog.rb +0 -0
- data/lib/fzeet/windows/core.rb +5 -0
- data/lib/fzeet/windows/core/Common.rb +324 -0
- data/lib/fzeet/windows/core/Point.rb +42 -0
- data/lib/fzeet/windows/core/Rect.rb +114 -0
- data/lib/fzeet/windows/core/Size.rb +34 -0
- data/lib/fzeet/windows/core/SystemTime.rb +46 -0
- data/lib/fzeet/windows/core/Version.rb +57 -0
- data/lib/fzeet/windows/gdi.rb +1 -62
- data/lib/fzeet/windows/gdi/Common.rb +40 -0
- data/lib/fzeet/windows/gdi/Font.rb +64 -0
- data/lib/fzeet/windows/kernel.rb +1 -92
- data/lib/fzeet/windows/kernel/Common.rb +92 -0
- data/lib/fzeet/windows/libc.rb +1 -1
- data/lib/fzeet/windows/libcef.rb +1 -0
- data/lib/fzeet/windows/mshtml.rb +1 -1135
- data/lib/fzeet/windows/mshtml/Common.rb +1135 -0
- data/lib/fzeet/windows/ole.rb +1 -561
- data/lib/fzeet/windows/ole/Common.rb +112 -0
- data/lib/fzeet/windows/ole/PropVariant.rb +141 -0
- data/lib/fzeet/windows/oleaut.rb +3 -0
- data/lib/fzeet/windows/oleaut/Bstr.rb +39 -0
- data/lib/fzeet/windows/oleaut/Common.rb +187 -0
- data/lib/fzeet/windows/oleaut/SafeArray.rb +104 -0
- data/lib/fzeet/windows/oleaut/Variant.rb +269 -0
- data/lib/fzeet/windows/scintilla.rb +115 -1
- data/lib/fzeet/windows/{SciLexer.dll → scintilla/SciLexer.dll} +0 -0
- data/lib/fzeet/windows/shdocvw.rb +150 -0
- data/lib/fzeet/windows/shell.rb +1 -1
- data/lib/fzeet/windows/shell/Common.rb +94 -2
- data/lib/fzeet/windows/shlwapi.rb +1 -1
- data/lib/fzeet/windows/uiribbon.rb +416 -0
- data/lib/fzeet/windows/urlmon.rb +2 -2
- data/lib/fzeet/windows/user.rb +20 -0
- data/lib/fzeet/windows/user/Accelerator.rb +45 -0
- data/lib/fzeet/windows/user/Common.rb +3 -2
- data/lib/fzeet/windows/user/Control/Button.rb +54 -0
- data/lib/fzeet/windows/user/Control/ComboBox.rb +44 -1
- data/lib/fzeet/windows/user/Control/Common.rb +88 -1
- data/lib/fzeet/windows/user/Control/Edit.rb +50 -0
- data/lib/fzeet/windows/user/Control/ListBox.rb +69 -0
- data/lib/fzeet/windows/user/Control/Static.rb +31 -0
- data/lib/fzeet/windows/user/Menu.rb +130 -0
- data/lib/fzeet/windows/user/Message.rb +9 -0
- data/lib/fzeet/windows/user/MessageBox.rb +47 -0
- data/lib/fzeet/windows/user/SystemParametersInfo.rb +1 -1
- data/lib/fzeet/windows/user/Window.rb +5 -463
- data/lib/fzeet/{Window → windows/user/Window}/Common.rb +460 -0
- data/lib/fzeet/{Window → windows/user/Window}/Container.rb +0 -0
- data/lib/fzeet/{Window → windows/user/Window}/Dialog.rb +0 -0
- data/lib/fzeet/{Window → windows/user/Window}/MDI.rb +0 -0
- data/lib/fzeet/{Window → windows/user/Window}/View.rb +0 -0
- data/lib/fzeet/{Window → windows/user/Window}/Window.rb +0 -0
- data/lib/fzeet/{Window → windows/user/Window}/WindowMethods.rb +1 -1
- metadata +55 -61
- data/examples/Control/WebBrowser2.rbw +0 -39
- data/lib/fzeet/Accelerator.rb +0 -48
- data/lib/fzeet/Application.rb +0 -71
- data/lib/fzeet/Common.rb +0 -350
- data/lib/fzeet/Control.rb +0 -19
- data/lib/fzeet/Control/Button.rb +0 -57
- data/lib/fzeet/Control/ComboBox.rb +0 -46
- data/lib/fzeet/Control/ComboBoxEx.rb +0 -35
- data/lib/fzeet/Control/Common.rb +0 -89
- data/lib/fzeet/Control/DateTimePicker.rb +0 -38
- data/lib/fzeet/Control/Edit.rb +0 -53
- data/lib/fzeet/Control/ExplorerBrowser.rb +0 -66
- data/lib/fzeet/Control/Header.rb +0 -63
- data/lib/fzeet/Control/ListBox.rb +0 -72
- data/lib/fzeet/Control/ListView.rb +0 -133
- data/lib/fzeet/Control/MonthCalendar.rb +0 -38
- data/lib/fzeet/Control/ProgressBar.rb +0 -40
- data/lib/fzeet/Control/PropertySheet.rb +0 -51
- data/lib/fzeet/Control/Scintilla.rb +0 -117
- data/lib/fzeet/Control/Static.rb +0 -34
- data/lib/fzeet/Control/SysLink.rb +0 -40
- data/lib/fzeet/Control/Tab.rb +0 -59
- data/lib/fzeet/Control/TreeView.rb +0 -82
- data/lib/fzeet/Control/UpDown.rb +0 -36
- data/lib/fzeet/Control/WebBrowser.rb +0 -153
- data/lib/fzeet/Dialog.rb +0 -6
- data/lib/fzeet/Dialog/ColorDialog.rb +0 -44
- data/lib/fzeet/Dialog/Common.rb +0 -89
- data/lib/fzeet/Dialog/FileDialog.rb +0 -136
- data/lib/fzeet/Dialog/FindReplaceDialog.rb +0 -105
- data/lib/fzeet/Dialog/FontDialog.rb +0 -39
- data/lib/fzeet/Dialog/PrintDialog.rb +0 -75
- data/lib/fzeet/Menu.rb +0 -133
- data/lib/fzeet/UIRibbon.rb +0 -417
- data/lib/fzeet/Window.rb +0 -5
- data/lib/fzeet/windows/common.rb +0 -244
data/lib/fzeet/Window.rb
DELETED
data/lib/fzeet/windows/common.rb
DELETED
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
require 'ffi'
|
|
2
|
-
|
|
3
|
-
module Fzeet
|
|
4
|
-
module Windows
|
|
5
|
-
extend FFI::Library
|
|
6
|
-
|
|
7
|
-
ffi_lib 'kernel32'
|
|
8
|
-
ffi_convention :stdcall
|
|
9
|
-
|
|
10
|
-
INVALID_HANDLE_VALUE = FFI::Pointer.new(-1)
|
|
11
|
-
INVALID_FILE_SIZE = 0xFFFFFFFF
|
|
12
|
-
INVALID_SET_FILE_POINTER = 0xFFFFFFFF
|
|
13
|
-
INVALID_FILE_ATTRIBUTES = 0xFFFFFFFF
|
|
14
|
-
INVALID_ATOM = 0
|
|
15
|
-
|
|
16
|
-
attach_function :GetLastError, [], :ulong
|
|
17
|
-
attach_function :SetLastError, [:ulong], :void
|
|
18
|
-
|
|
19
|
-
def DetonateLastError(on, name, *args)
|
|
20
|
-
raise "#{name} failed (last error #{GetLastError()})." if (failed = [*on].include?(result = send(name, *args)))
|
|
21
|
-
|
|
22
|
-
result
|
|
23
|
-
ensure
|
|
24
|
-
yield failed if block_given?
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
module_function :DetonateLastError
|
|
28
|
-
|
|
29
|
-
class OSVERSIONINFOEX < FFI::Struct
|
|
30
|
-
layout \
|
|
31
|
-
:dwOSVersionInfoSize, :ulong,
|
|
32
|
-
:dwMajorVersion, :ulong,
|
|
33
|
-
:dwMinorVersion, :ulong,
|
|
34
|
-
:dwBuildNumber, :ulong,
|
|
35
|
-
:dwPlatformId, :ulong,
|
|
36
|
-
:szCSDVersion, [:char, 128],
|
|
37
|
-
:wServicePackMajor, :ushort,
|
|
38
|
-
:wServicePackMinor, :ushort,
|
|
39
|
-
:wSuiteMask, :ushort,
|
|
40
|
-
:wProductType, :uchar,
|
|
41
|
-
:wReserved, :uchar
|
|
42
|
-
|
|
43
|
-
def major; self[:dwMajorVersion] end
|
|
44
|
-
def minor; self[:dwMinorVersion] end
|
|
45
|
-
def build; self[:dwBuildNumber] end
|
|
46
|
-
def sp; self[:wServicePackMajor] end
|
|
47
|
-
|
|
48
|
-
def to_s; "#{major}.#{minor}.#{build} SP#{sp} (#{name})" end
|
|
49
|
-
|
|
50
|
-
def name
|
|
51
|
-
if Windows2000?; 'Windows 2000'
|
|
52
|
-
elsif WindowsXP?; 'Windows XP'
|
|
53
|
-
elsif WindowsVista?; 'Windows Vista'
|
|
54
|
-
elsif Windows7?; 'Windows 7'
|
|
55
|
-
else 'Unknown'
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def Windows2000?; major == 5 && minor == 0 end
|
|
60
|
-
def WindowsXP?; major == 5 && minor == 1 end
|
|
61
|
-
def WindowsVista?; major == 6 && minor == 0 end
|
|
62
|
-
def Windows7?; major == 6 && minor == 1 end
|
|
63
|
-
|
|
64
|
-
def AtLeastWindows2000?; major >= 5 end
|
|
65
|
-
def AtLeastWindowsXP?; major > 5 || (major == 5 && minor >= 1) end
|
|
66
|
-
def AtLeastWindowsVista?; major >= 6 end
|
|
67
|
-
def AtLeastWindows7?; major > 6 || (major == 6 && minor >= 1) end
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
attach_function :GetVersionEx, :GetVersionExA, [:pointer], :int
|
|
71
|
-
|
|
72
|
-
WINVER = OSVERSIONINFOEX.new
|
|
73
|
-
|
|
74
|
-
WINVER[:dwOSVersionInfoSize] = WINVER.size
|
|
75
|
-
|
|
76
|
-
DetonateLastError(0, :GetVersionEx, WINVER)
|
|
77
|
-
|
|
78
|
-
def LOBYTE(w) w & 0xff end
|
|
79
|
-
def HIBYTE(w) (w >> 8) & 0xff end
|
|
80
|
-
def MAKEWORD(low, high) (low & 0xff) | ((high & 0xff) << 8) end
|
|
81
|
-
|
|
82
|
-
def LOWORD(l) l & 0xffff end
|
|
83
|
-
def HIWORD(l) (l >> 16) & 0xffff end
|
|
84
|
-
def MAKELONG(low, high) (low & 0xffff) | ((high & 0xffff) << 16) end
|
|
85
|
-
|
|
86
|
-
def GET_X_LPARAM(l) ((w = LOWORD(l)) > 0x7fff) ? w - 0x1_0000 : w end
|
|
87
|
-
def GET_Y_LPARAM(l) ((w = HIWORD(l)) > 0x7fff) ? w - 0x1_0000 : w end
|
|
88
|
-
|
|
89
|
-
def LPWSTR(s)
|
|
90
|
-
p = FFI::MemoryPointer.new(:uchar, (s.length + 2) * 2)
|
|
91
|
-
|
|
92
|
-
"#{s}\0".encode('utf-16le').each_byte.with_index { |b, i| p.put_char(i, b) }
|
|
93
|
-
|
|
94
|
-
begin
|
|
95
|
-
yield p; return nil
|
|
96
|
-
ensure
|
|
97
|
-
p.free
|
|
98
|
-
end if block_given?
|
|
99
|
-
|
|
100
|
-
p
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
def WCSTOMBS(p)
|
|
104
|
-
result = ''
|
|
105
|
-
|
|
106
|
-
FFI::MemoryPointer.new(:uchar, len = wcslen(p) + 1) { |buf|
|
|
107
|
-
raise 'wcstombs failed.' if wcstombs(buf, p, len) == 0xffffffff
|
|
108
|
-
|
|
109
|
-
result << buf.read_string
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
result
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
module_function \
|
|
116
|
-
:LOBYTE, :HIBYTE, :MAKEWORD,
|
|
117
|
-
:LOWORD, :HIWORD, :MAKELONG,
|
|
118
|
-
:GET_X_LPARAM, :GET_Y_LPARAM,
|
|
119
|
-
:LPWSTR, :WCSTOMBS
|
|
120
|
-
|
|
121
|
-
module AnonymousSupport
|
|
122
|
-
def [](k)
|
|
123
|
-
if members.include?(k)
|
|
124
|
-
super
|
|
125
|
-
elsif self[:_].members.include?(k)
|
|
126
|
-
self[:_][k]
|
|
127
|
-
else
|
|
128
|
-
self[:_][:_][k]
|
|
129
|
-
end
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
def []=(k, v)
|
|
133
|
-
if members.include?(k)
|
|
134
|
-
super
|
|
135
|
-
elsif self[:_].members.include?(k)
|
|
136
|
-
self[:_][k] = v
|
|
137
|
-
else
|
|
138
|
-
self[:_][:_][k] = v
|
|
139
|
-
end
|
|
140
|
-
end
|
|
141
|
-
end
|
|
142
|
-
|
|
143
|
-
class POINT < FFI::Struct
|
|
144
|
-
layout \
|
|
145
|
-
:x, :long,
|
|
146
|
-
:y, :long
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
class SIZE < FFI::Struct
|
|
150
|
-
layout \
|
|
151
|
-
:cx, :long,
|
|
152
|
-
:cy, :long
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
class RECT < FFI::Struct
|
|
156
|
-
layout \
|
|
157
|
-
:left, :long,
|
|
158
|
-
:top, :long,
|
|
159
|
-
:right, :long,
|
|
160
|
-
:bottom, :long
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
class LOGFONT < FFI::Struct
|
|
164
|
-
layout \
|
|
165
|
-
:lfHeight, :long,
|
|
166
|
-
:lfWidth, :long,
|
|
167
|
-
:lfEscapement, :long,
|
|
168
|
-
:lfOrientation, :long,
|
|
169
|
-
:lfWeight, :long,
|
|
170
|
-
:lfItalic, :uchar,
|
|
171
|
-
:lfUnderline, :uchar,
|
|
172
|
-
:lfStrikeOut, :uchar,
|
|
173
|
-
:lfCharSet, :uchar,
|
|
174
|
-
:lfOutPrecision, :uchar,
|
|
175
|
-
:lfClipPrecision, :uchar,
|
|
176
|
-
:lfQuality, :uchar,
|
|
177
|
-
:lfPitchAndFamily, :uchar,
|
|
178
|
-
:lfFaceName, [:char, 32]
|
|
179
|
-
|
|
180
|
-
def face; self[:lfFaceName].to_s end
|
|
181
|
-
def face=(face) self[:lfFaceName] = face end
|
|
182
|
-
|
|
183
|
-
def size; -Rational(self[:lfHeight] * 72, Application.devcaps[:logpixelsy]) end
|
|
184
|
-
def size=(size) self[:lfHeight] = -Windows.MulDiv((size * 10).to_i, Application.devcaps[:logpixelsy], 720) end
|
|
185
|
-
|
|
186
|
-
def bold?; self[:lfWeight] >= 700 end
|
|
187
|
-
def bold=(bold) self[:lfWeight] = (bold) ? 700 : 0 end
|
|
188
|
-
|
|
189
|
-
def italic?; self[:lfItalic] == 1 end
|
|
190
|
-
def italic=(italic) self[:lfItalic] = (italic) ? 1 : 0 end
|
|
191
|
-
|
|
192
|
-
def underline?; self[:lfUnderline] == 1 end
|
|
193
|
-
def underline=(underline) self[:lfUnderline] = (underline) ? 1 : 0 end
|
|
194
|
-
|
|
195
|
-
def strikeout?; self[:lfStrikeOut] == 1 end
|
|
196
|
-
def strikeout=(strikeout) self[:lfStrikeOut] = (strikeout) ? 1 : 0 end
|
|
197
|
-
|
|
198
|
-
def update(from)
|
|
199
|
-
case from
|
|
200
|
-
when PropertyStore
|
|
201
|
-
from.each { |k, v|
|
|
202
|
-
case k
|
|
203
|
-
when UI_PKEY_FontProperties_Family; self.face = v.wstring
|
|
204
|
-
when UI_PKEY_FontProperties_Size; self.size = v.decimal.to_f
|
|
205
|
-
when UI_PKEY_FontProperties_Bold; self.bold = v.uint == 2
|
|
206
|
-
when UI_PKEY_FontProperties_Italic; self.italic = v.uint == 2
|
|
207
|
-
when UI_PKEY_FontProperties_Underline; self.underline = v.uint == 2
|
|
208
|
-
when UI_PKEY_FontProperties_Strikethrough; self.strikeout = v.uint == 2
|
|
209
|
-
end
|
|
210
|
-
}
|
|
211
|
-
else raise ArgumentError
|
|
212
|
-
end
|
|
213
|
-
|
|
214
|
-
self
|
|
215
|
-
end
|
|
216
|
-
end
|
|
217
|
-
|
|
218
|
-
class SYSTEMTIME < FFI::Struct
|
|
219
|
-
layout \
|
|
220
|
-
:wYear, :ushort,
|
|
221
|
-
:wMonth, :ushort,
|
|
222
|
-
:wDayOfWeek, :ushort,
|
|
223
|
-
:wDay, :ushort,
|
|
224
|
-
:wHour, :ushort,
|
|
225
|
-
:wMinute, :ushort,
|
|
226
|
-
:wSecond, :ushort,
|
|
227
|
-
:wMilliseconds, :ushort
|
|
228
|
-
|
|
229
|
-
def to_local
|
|
230
|
-
Time.local(
|
|
231
|
-
self[:wYear], self[:wMonth], self[:wDay],
|
|
232
|
-
self[:wHour], self[:wMinute], self[:wSecond], self[:wMilliseconds]
|
|
233
|
-
)
|
|
234
|
-
end
|
|
235
|
-
|
|
236
|
-
def to_utc
|
|
237
|
-
Time.utc(
|
|
238
|
-
self[:wYear], self[:wMonth], self[:wDay],
|
|
239
|
-
self[:wHour], self[:wMinute], self[:wSecond], self[:wMilliseconds]
|
|
240
|
-
)
|
|
241
|
-
end
|
|
242
|
-
end
|
|
243
|
-
end
|
|
244
|
-
end
|