wxruby3 0.9.0 → 0.9.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.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/ext/wxruby3/include/wxRubyApp.h +338 -0
- data/ext/wxruby3/include/wxruby-Config.h +6 -6
- data/ext/wxruby3/include/wxruby-runtime.h +3 -0
- data/ext/wxruby3/swig/common.i +22 -0
- data/ext/wxruby3/swig/custom/director.swg +296 -0
- data/ext/wxruby3/swig/custom/rubyapi.swg +19 -0
- data/ext/wxruby3/swig/custom/rubyerrors.swg +45 -0
- data/ext/wxruby3/swig/custom/rubyhead.swg +192 -0
- data/ext/wxruby3/swig/custom/rubyrun.swg +187 -0
- data/ext/wxruby3/swig/custom/swigrun.swg +363 -0
- data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +173 -0
- data/ext/wxruby3/swig/wx.i +50 -30
- data/lib/wx/aui/aui_tab_ctrl.rb +18 -0
- data/lib/wx/aui/auinotebook.rb +6 -2
- data/lib/wx/aui/require.rb +1 -0
- data/lib/wx/core/app.rb +2 -2
- data/lib/wx/core/collapsible_pane.rb +1 -1
- data/lib/wx/core/const.rb +83 -0
- data/lib/wx/core/controlwithitems.rb +8 -6
- data/lib/wx/core/menu.rb +10 -0
- data/lib/wx/core/notebook.rb +6 -2
- data/lib/wx/core/sizer.rb +11 -0
- data/lib/wx/core/task_bar_button.rb +19 -0
- data/lib/wx/core/textctrl.rb +11 -1
- data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
- data/lib/wx/core/window.rb +10 -0
- data/lib/wx/doc/app.rb +48 -38
- data/lib/wx/doc/art_locator.rb +47 -43
- data/lib/wx/doc/aui/auimanager.rb +16 -8
- data/lib/wx/doc/aui/auinotebook.rb +20 -5
- data/lib/wx/doc/clipboard.rb +11 -7
- data/lib/wx/doc/colour_dialog.rb +14 -10
- data/lib/wx/doc/const.rb +66 -66
- data/lib/wx/doc/controlwithitems.rb +17 -7
- data/lib/wx/doc/data_object.rb +2 -2
- data/lib/wx/doc/event.rb +0 -6
- data/lib/wx/doc/evthandler.rb +113 -108
- data/lib/wx/doc/font.rb +1 -0
- data/lib/wx/doc/functions.rb +9 -9
- data/lib/wx/doc/gc_dc.rb +6 -1
- data/lib/wx/doc/graphics_context.rb +1 -0
- data/lib/wx/doc/grid/grid.rb +22 -1
- data/lib/wx/doc/help_controller.rb +11 -7
- data/lib/wx/doc/html/html_help_controller.rb +12 -4
- data/lib/wx/doc/list_ctrl.rb +33 -29
- data/lib/wx/doc/menu.rb +20 -0
- data/lib/wx/doc/notebook.rb +21 -0
- data/lib/wx/doc/pg/events.rb +13 -9
- data/lib/wx/doc/pg/pg_property.rb +18 -0
- data/lib/wx/doc/progress_dialog.rb +36 -32
- data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
- data/lib/wx/doc/prt/print_data.rb +13 -5
- data/lib/wx/doc/prt/print_dialog.rb +31 -23
- data/lib/wx/doc/prt/printer.rb +20 -12
- data/lib/wx/doc/radio_box.rb +19 -15
- data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
- data/lib/wx/doc/region_iterator.rb +32 -28
- data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
- data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
- data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
- data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
- data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
- data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
- data/lib/wx/doc/sizer.rb +20 -0
- data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
- data/lib/wx/doc/stream.rb +39 -35
- data/lib/wx/doc/system_settings.rb +30 -26
- data/lib/wx/doc/text_validator.rb +12 -8
- data/lib/wx/doc/textctrl.rb +16 -0
- data/lib/wx/doc/tree_ctrl.rb +95 -0
- data/lib/wx/doc/treebook.rb +9 -5
- data/lib/wx/doc/v_list_box.rb +9 -5
- data/lib/wx/doc/variant.rb +164 -160
- data/lib/wx/doc/window.rb +57 -42
- data/lib/wx/doc/window_disabler.rb +10 -6
- data/lib/wx/grid/grid.rb +27 -4
- data/lib/wx/keyword_defs.rb +43 -6
- data/lib/wx/pg/pg_property.rb +22 -0
- data/lib/wx/rtc/require.rb +3 -0
- data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
- data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
- data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
- data/lib/wx/stc/require.rb +1 -0
- data/lib/wx/stc/styled_text_ctrl.rb +25 -0
- data/lib/wx/version.rb +1 -1
- data/rakelib/lib/config/linux.rb +0 -3
- data/rakelib/lib/config/macosx.rb +1 -1
- data/rakelib/lib/config/mingw.rb +1 -1
- data/rakelib/lib/config/unixish.rb +1 -1
- data/rakelib/lib/config.rb +14 -4
- data/rakelib/lib/core/include/funcall.inc +33 -14
- data/rakelib/lib/core/include/swigdirector.inc +384 -0
- data/rakelib/lib/core/include/swigrubyerrors.inc +161 -0
- data/{ext/wxruby3/swig/custom/swig4/rubyrun.swg → rakelib/lib/core/include/swigrubyrun.inc} +245 -120
- data/rakelib/lib/core/include/swigrun.inc +700 -0
- data/rakelib/lib/core/package.rb +19 -9
- data/rakelib/lib/core/parameter.rb +3 -0
- data/rakelib/lib/core/spec.rb +6 -1
- data/rakelib/lib/director/accelerator.rb +3 -4
- data/rakelib/lib/director/accessible.rb +47 -0
- data/rakelib/lib/director/animation.rb +1 -1
- data/rakelib/lib/director/animation_ctrl.rb +20 -0
- data/rakelib/lib/director/app.rb +15 -304
- data/rakelib/lib/director/app_traits.rb +10 -12
- data/rakelib/lib/director/art_provider.rb +1 -1
- data/rakelib/lib/director/ctrl_with_items.rb +17 -5
- data/rakelib/lib/director/data_format.rb +1 -1
- data/rakelib/lib/director/data_object_simple_base.rb +1 -2
- data/rakelib/lib/director/derived_dc.rb +1 -1
- data/rakelib/lib/director/dialog.rb +6 -0
- data/rakelib/lib/director/dialup_event.rb +44 -0
- data/rakelib/lib/director/dialup_manager.rb +45 -0
- data/rakelib/lib/director/drag_image.rb +2 -3
- data/rakelib/lib/director/event.rb +22 -4
- data/rakelib/lib/director/file_ctrl.rb +35 -0
- data/rakelib/lib/director/file_ctrl_event.rb +26 -0
- data/rakelib/lib/director/frame.rb +1 -3
- data/rakelib/lib/director/gdicommon.rb +27 -11
- data/rakelib/lib/director/graphics_context.rb +2 -4
- data/rakelib/lib/director/grid_cell_editor.rb +6 -6
- data/rakelib/lib/director/grid_ctrl.rb +34 -3
- data/rakelib/lib/director/help_controller.rb +1 -1
- data/rakelib/lib/director/icon.rb +5 -2
- data/rakelib/lib/director/list_ctrl.rb +5 -6
- data/rakelib/lib/director/locale.rb +1 -3
- data/rakelib/lib/director/log.rb +1 -4
- data/rakelib/lib/director/media_ctrl.rb +54 -0
- data/rakelib/lib/director/menu.rb +16 -1
- data/rakelib/lib/director/menu_item.rb +2 -2
- data/rakelib/lib/director/pgarray_editor_dialog.rb +0 -6
- data/rakelib/lib/director/pgeditor.rb +2 -2
- data/rakelib/lib/director/pgproperties.rb +3 -3
- data/rakelib/lib/director/pgproperty.rb +24 -1
- data/rakelib/lib/director/property_grid_interface.rb +5 -10
- data/rakelib/lib/director/richtext_buffer.rb +1 -1
- data/rakelib/lib/director/richtext_composite_object.rb +25 -0
- data/rakelib/lib/director/richtext_ctrl.rb +15 -5
- data/rakelib/lib/director/richtext_formatting_dialog.rb +7 -5
- data/rakelib/lib/director/richtext_paragraph_layout_box.rb +9 -7
- data/rakelib/lib/director/sash_event.rb +42 -0
- data/rakelib/lib/director/sizer.rb +79 -1
- data/rakelib/lib/director/sizer_item.rb +22 -0
- data/rakelib/lib/director/static_box.rb +4 -5
- data/rakelib/lib/director/styled_text_ctrl.rb +12 -0
- data/rakelib/lib/director/task_bar_button.rb +30 -0
- data/rakelib/lib/director/task_bar_icon.rb +6 -14
- data/rakelib/lib/director/textctrl.rb +12 -1
- data/rakelib/lib/director/tool_tip.rb +1 -1
- data/rakelib/lib/director/top_level_window.rb +4 -5
- data/rakelib/lib/director/tree_ctrl.rb +24 -50
- data/rakelib/lib/director/variant.rb +1 -1
- data/rakelib/lib/director/window.rb +24 -5
- data/rakelib/lib/director.rb +4 -4
- data/rakelib/lib/extractor/function.rb +6 -6
- data/rakelib/lib/extractor.rb +34 -5
- data/rakelib/lib/generate/analyzer.rb +8 -3
- data/rakelib/lib/generate/doc/animation_ctrl.yaml +15 -0
- data/rakelib/lib/generate/doc/busy_info.yaml +0 -2
- data/rakelib/lib/generate/doc/clipboard.yaml +0 -2
- data/rakelib/lib/generate/doc/cursor.yaml +0 -2
- data/rakelib/lib/generate/doc/events.yaml +10 -4
- data/rakelib/lib/generate/doc/panel.yaml +7 -0
- data/rakelib/lib/generate/doc/static_box.yaml +8 -0
- data/rakelib/lib/generate/doc/xml_resource.yaml +3 -0
- data/rakelib/lib/generate/doc.rb +89 -16
- data/rakelib/lib/generate/interface.rb +4 -3
- data/rakelib/lib/specs/interfaces.rb +161 -156
- data/rakelib/lib/swig_runner.rb +4 -50
- data/rakelib/lib/typemap/common.rb +54 -10
- data/rakelib/lib/typemap/data_format.rb +1 -1
- data/rakelib/lib/typemap/data_object_data.rb +2 -2
- data/rakelib/lib/typemap/pgprop_arg.rb +7 -2
- data/rakelib/lib/typemap/points_list.rb +5 -7
- data/rakelib/lib/util/string.rb +10 -8
- data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
- data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
- data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
- data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
- data/rakelib/yard/templates/default/tags/setup.rb +16 -0
- data/rakelib/yard/yard-custom-templates.rb +3 -0
- data/samples/text/richtext.rb +0 -30
- data/samples/treectrl/treectrl.rb +1 -1
- data/tests/media/beep_lo.wav +0 -0
- data/tests/test_app_exit_exception.rb +36 -0
- data/tests/test_app_init_exception.rb +20 -0
- data/tests/test_book_controls.rb +29 -0
- data/tests/test_exceptions.rb +41 -0
- data/tests/test_list_ctrl.rb +1 -1
- data/tests/test_media_ctrl.rb +38 -0
- data/tests/test_menu.rb +69 -0
- data/tests/test_pg.rb +27 -0
- data/tests/test_richtext.rb +45 -0
- data/tests/test_sizer.rb +59 -0
- data/tests/test_std_controls.rb +78 -1
- data/tests/test_styled_text_ctrl.rb +46 -0
- data/tests/test_tree_ctrl.rb +138 -0
- data/tests/test_window.rb +12 -0
- data/tests/testapp_noframe.rb +1 -1
- metadata +54 -5
- data/ext/wxruby3/swig/custom/swig3/rubyrun.swg +0 -456
|
@@ -17,13 +17,31 @@ module WXRuby3
|
|
|
17
17
|
include Typemap::TreeItemId
|
|
18
18
|
|
|
19
19
|
def setup
|
|
20
|
-
spec.post_processors << :fixtreectrl
|
|
21
20
|
spec.items.replace %w[wxTreeCtrl treebase.h]
|
|
22
21
|
spec.override_inheritance_chain('wxTreeCtrl', %w[wxControl wxWindow wxEvtHandler wxObject])
|
|
23
22
|
# mixin WithImages
|
|
24
23
|
spec.include_mixin 'wxTreeCtrl', 'Wx::WithImages'
|
|
25
24
|
spec.ignore('operator!=', 'operator==')
|
|
26
25
|
spec.include 'wx/dirctrl.h'
|
|
26
|
+
# Use a custom interface class to work around the wxTreeCtrl::SortItems/OnCompareItems issue
|
|
27
|
+
# without having to patch the SWIG director class
|
|
28
|
+
spec.add_header_code <<~__HEREDOC
|
|
29
|
+
class WxRubyTreeCtrl : public wxTreeCtrl
|
|
30
|
+
{
|
|
31
|
+
public:
|
|
32
|
+
WxRubyTreeCtrl() : wxTreeCtrl() {}
|
|
33
|
+
WxRubyTreeCtrl(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
|
|
34
|
+
const wxSize& size = wxDefaultSize, long style = wxTR_DEFAULT_STYLE,
|
|
35
|
+
const wxValidator& validator = wxDefaultValidator, const wxString& name = wxTreeCtrlNameStr)
|
|
36
|
+
: wxTreeCtrl(parent, id, pos, size, style, validator, name)
|
|
37
|
+
{}
|
|
38
|
+
virtual ~WxRubyTreeCtrl() {}
|
|
39
|
+
private:
|
|
40
|
+
DECLARE_DYNAMIC_CLASS(WxRubyTreeCtrl);
|
|
41
|
+
};
|
|
42
|
+
IMPLEMENT_DYNAMIC_CLASS(WxRubyTreeCtrl, wxTreeCtrl);
|
|
43
|
+
__HEREDOC
|
|
44
|
+
spec.use_class_implementation('wxTreeCtrl', 'WxRubyTreeCtrl')
|
|
27
45
|
# These only differ from SetXXXList in the way memory ownership is
|
|
28
46
|
# transferred. So only support the version that won't leak on wxRuby.
|
|
29
47
|
spec.ignore %w[
|
|
@@ -57,7 +75,7 @@ module WXRuby3
|
|
|
57
75
|
wxTreeCtrl::GetFocusedItem
|
|
58
76
|
wxTreeCtrl::GetSelection
|
|
59
77
|
]
|
|
60
|
-
if Config.instance.features_set?('
|
|
78
|
+
if Config.instance.features_set?('HAS_LAST_VISIBLE')
|
|
61
79
|
spec.no_proxy 'wxTreeCtrl::GetLastVisible'
|
|
62
80
|
end
|
|
63
81
|
# simply a nuisance to support
|
|
@@ -66,7 +84,7 @@ module WXRuby3
|
|
|
66
84
|
wxTreeCtrl::EndEditLabel
|
|
67
85
|
]
|
|
68
86
|
# for now, ignore this version as the added customization features
|
|
69
|
-
#
|
|
87
|
+
# work only on WXMSW as yet and may cause us more trouble than it's worth
|
|
70
88
|
spec.ignore 'wxTreeCtrl::EditLabel'
|
|
71
89
|
# add simplified non-virtual version
|
|
72
90
|
spec.add_extend_code 'wxTreeCtrl', <<~__HEREDOC
|
|
@@ -76,10 +94,9 @@ module WXRuby3
|
|
|
76
94
|
(void)self->EditLabel(item);
|
|
77
95
|
}
|
|
78
96
|
__HEREDOC
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
end
|
|
97
|
+
spec.ignore_unless(Config::AnyOf.new(*%w[WXGTK WXOSX]),
|
|
98
|
+
'wxTreeCtrl::SetButtonsImageList',
|
|
99
|
+
'wxTreeCtrl::GetButtonsImageList')
|
|
83
100
|
# these reimplemented window base methods need to be properly wrapped but
|
|
84
101
|
# are missing from the XML docs
|
|
85
102
|
spec.extend_interface('wxTreeCtrl',
|
|
@@ -371,47 +388,4 @@ module WXRuby3
|
|
|
371
388
|
|
|
372
389
|
end # class Director
|
|
373
390
|
|
|
374
|
-
module SwigRunner
|
|
375
|
-
class Processor
|
|
376
|
-
|
|
377
|
-
# special post-processor for TreeCtrl
|
|
378
|
-
class Fixtreectrl < Processor
|
|
379
|
-
|
|
380
|
-
def run
|
|
381
|
-
director_found = false
|
|
382
|
-
update_source do |line|
|
|
383
|
-
# Ugly: special fixes for TreeCtrl - these macros and extra funcs
|
|
384
|
-
# are needed to allow user-defined sorting to work
|
|
385
|
-
# default ctor needed for Swig::Director
|
|
386
|
-
if line["Director(VALUE self) : swig_self(self), swig_disown_flag(false)"]
|
|
387
|
-
line = " Director() { } // added by fixmodule.rb \n" + line
|
|
388
|
-
end
|
|
389
|
-
if line["SwigDirector_wxTreeCtrl::SwigDirector_wxTreeCtrl(VALUE self)"]
|
|
390
|
-
line = "IMPLEMENT_DYNAMIC_CLASS(SwigDirector_wxTreeCtrl, wxTreeCtrl);\n" + line
|
|
391
|
-
director_found = true
|
|
392
|
-
end
|
|
393
|
-
|
|
394
|
-
line
|
|
395
|
-
end
|
|
396
|
-
if director_found
|
|
397
|
-
# We also need to tweak the header file
|
|
398
|
-
update_header do |line|
|
|
399
|
-
if line.strip == 'public:'
|
|
400
|
-
line << "\nSwigDirector_wxTreeCtrl() {};"
|
|
401
|
-
elsif /\A};/ =~ line
|
|
402
|
-
line = <<~__HEREDOC
|
|
403
|
-
private:
|
|
404
|
-
DECLARE_DYNAMIC_CLASS(SwigDirector_wxTreeCtrl);
|
|
405
|
-
};
|
|
406
|
-
__HEREDOC
|
|
407
|
-
end
|
|
408
|
-
line
|
|
409
|
-
end
|
|
410
|
-
end
|
|
411
|
-
end
|
|
412
|
-
end # class Fixtreectrl
|
|
413
|
-
|
|
414
|
-
end
|
|
415
|
-
end
|
|
416
|
-
|
|
417
391
|
end # module WXRuby3
|
|
@@ -227,7 +227,7 @@ module WXRuby3
|
|
|
227
227
|
$1 = rb_obj_is_kind_of($input, rb_const_get(mWxPG, var_ColourPropertyValue_id()));
|
|
228
228
|
__CODE
|
|
229
229
|
end
|
|
230
|
-
if Config.instance.features_set?('
|
|
230
|
+
if Config.instance.features_set?('USE_LONGLONG')
|
|
231
231
|
# wxLongLong mapping to be considered before considering 'long' (see typecheck precedence)
|
|
232
232
|
spec.map 'wxLongLong' => 'Integer' do
|
|
233
233
|
map_in code: <<~__CODE
|
|
@@ -68,7 +68,6 @@ module WXRuby3
|
|
|
68
68
|
spec.ignore [
|
|
69
69
|
'wxWindow::TransferDataFromWindow',
|
|
70
70
|
'wxWindow::TransferDataToWindow',
|
|
71
|
-
'wxWindow::GetAccessible',
|
|
72
71
|
'wxWindow::PopEventHandler',
|
|
73
72
|
'wxWindow::SetConstraints',
|
|
74
73
|
'wxWindow::GetHandle',
|
|
@@ -110,10 +109,15 @@ module WXRuby3
|
|
|
110
109
|
spec.ignore 'wxWindow::EnableTouchEvents'
|
|
111
110
|
end
|
|
112
111
|
if Config.instance.wx_version >= '3.3.0'
|
|
113
|
-
spec.
|
|
112
|
+
spec.ignore_unless('WXMSW', 'wxWindow::MSWDisableComposited')
|
|
114
113
|
end
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
if Config.instance.features_set?('USE_ACCESSIBILITY')
|
|
115
|
+
spec.disown 'wxAccessible *accessible'
|
|
116
|
+
else
|
|
117
|
+
spec.ignore('wxWindow::SetAccessible',
|
|
118
|
+
'wxWindow::GetAccessible')
|
|
119
|
+
end
|
|
120
|
+
spec.ignore_unless('USE_HOTKEY', %w[wxWindow::RegisterHotKey wxWindow::UnregisterHotKey])
|
|
117
121
|
spec.ignore('wxWindow::SetSize(int, int)') # not useful as the wxSize variant will also accept an array
|
|
118
122
|
spec.swig_import %w{
|
|
119
123
|
swig/classes/include/wxObject.h
|
|
@@ -189,7 +193,22 @@ module WXRuby3
|
|
|
189
193
|
|
|
190
194
|
return do_paint_buffered(self);
|
|
191
195
|
}
|
|
192
|
-
|
|
196
|
+
|
|
197
|
+
VALUE each_child()
|
|
198
|
+
{
|
|
199
|
+
const wxWindowList& child_list = self->GetChildren();
|
|
200
|
+
VALUE rc = Qnil;
|
|
201
|
+
wxWindowList::compatibility_iterator node = child_list.GetFirst();
|
|
202
|
+
while (node)
|
|
203
|
+
{
|
|
204
|
+
wxObject *child = node->GetData();
|
|
205
|
+
VALUE rb_child = wxRuby_WrapWxObjectInRuby(child);
|
|
206
|
+
rc = rb_yield(rb_child);
|
|
207
|
+
node = node->GetNext();
|
|
208
|
+
}
|
|
209
|
+
return rc;
|
|
210
|
+
}
|
|
211
|
+
__HEREDOC
|
|
193
212
|
spec.override_events 'wxWindow', 'EVT_ACTIVATE' => ['EVT_ACTIVATE', 0, 'wxActivateEvent']
|
|
194
213
|
when 'wxNonOwnedWindow'
|
|
195
214
|
spec.no_proxy('wxNonOwnedWindow')
|
data/rakelib/lib/director.rb
CHANGED
|
@@ -94,7 +94,7 @@ module WXRuby3
|
|
|
94
94
|
|
|
95
95
|
def each_package(&block)
|
|
96
96
|
packages.each_value do |pkg|
|
|
97
|
-
pkg.each_package(&block) if Config.instance.features_set?(*pkg.required_features)
|
|
97
|
+
pkg.each_package(&block) if Package.full_docs? || Config.instance.features_set?(*pkg.required_features)
|
|
98
98
|
end
|
|
99
99
|
end
|
|
100
100
|
|
|
@@ -269,7 +269,7 @@ module WXRuby3
|
|
|
269
269
|
end
|
|
270
270
|
|
|
271
271
|
def handle_item_ignore(defmod, fullname, ignore, ignoredoc)
|
|
272
|
-
action = ignore ? '
|
|
272
|
+
action = (ignore==false) ? 'regard' : 'ignore'
|
|
273
273
|
# find the item
|
|
274
274
|
item = defmod.find_item(fullname)
|
|
275
275
|
if item
|
|
@@ -361,8 +361,8 @@ module WXRuby3
|
|
|
361
361
|
# extract the module definitions
|
|
362
362
|
defmod = Extractor.extract_module(spec.package, spec.module_name, spec.name, spec.items, gendoc: gendoc)
|
|
363
363
|
# handle ignores
|
|
364
|
-
spec.ignores.each_pair do |fullname,
|
|
365
|
-
handle_item_ignore(defmod, fullname,
|
|
364
|
+
spec.ignores.each_pair do |fullname, ignore_spec|
|
|
365
|
+
handle_item_ignore(defmod, fullname, ignore_spec[:ignore], ignore_spec[:ignore_doc])
|
|
366
366
|
end
|
|
367
367
|
# handle regards
|
|
368
368
|
spec.regards.each_pair do |fullname, regarddoc|
|
|
@@ -75,14 +75,14 @@ module WXRuby3
|
|
|
75
75
|
"self.#{rb_method_name(rb_name || name)}"
|
|
76
76
|
end
|
|
77
77
|
|
|
78
|
-
def rb_doc(xml_trans, type_maps)
|
|
79
|
-
ovls = all.select {|m| !m.docs_ignored && !m.deprecated }
|
|
80
|
-
ovl_docs = ovls.collect { |mo| mo.rb_doc_decl(xml_trans, type_maps) }
|
|
81
|
-
ovl_docs.inject({}) do |docs, (name, params, doc)|
|
|
78
|
+
def rb_doc(xml_trans, type_maps, fulldocs=false)
|
|
79
|
+
ovls = all.select {|m| !m.docs_ignored(fulldocs) && !m.deprecated }
|
|
80
|
+
ovl_docs = ovls.collect { |mo| [mo]+mo.rb_doc_decl(xml_trans, type_maps) }
|
|
81
|
+
ovl_docs.inject({}) do |docs, (movl, name, params, doc)|
|
|
82
82
|
if docs.has_key?(name)
|
|
83
|
-
docs[name] << [params, doc]
|
|
83
|
+
docs[name] << [movl, params, doc]
|
|
84
84
|
else
|
|
85
|
-
docs[name] = [[params, doc]]
|
|
85
|
+
docs[name] = [[movl, params, doc]]
|
|
86
86
|
end
|
|
87
87
|
docs
|
|
88
88
|
end
|
data/rakelib/lib/extractor.rb
CHANGED
|
@@ -182,7 +182,7 @@ module WXRuby3
|
|
|
182
182
|
extract(element) if element
|
|
183
183
|
end
|
|
184
184
|
|
|
185
|
-
attr_accessor :name, :rb_name, :
|
|
185
|
+
attr_accessor :name, :rb_name, :brief_doc, :detailed_doc, :deprecated, :only_for, :items
|
|
186
186
|
|
|
187
187
|
def extra_attributes
|
|
188
188
|
@extra_attributes ||= {}
|
|
@@ -221,8 +221,10 @@ module WXRuby3
|
|
|
221
221
|
@detailed_doc = element.xpath('detaileddescription')
|
|
222
222
|
if (el = @detailed_doc.at_xpath('para/onlyfor'))
|
|
223
223
|
@only_for = el.text.strip.split(',').collect { |s| s.downcase }
|
|
224
|
-
|
|
225
|
-
|
|
224
|
+
unless @only_for.empty?
|
|
225
|
+
@ignored = [Config::AnyOf.new(*@only_for.collect { |s| s.upcase })] # transform to feature ids like 'WXGTK'
|
|
226
|
+
@docs_ignored = @ignored
|
|
227
|
+
end
|
|
226
228
|
end
|
|
227
229
|
end
|
|
228
230
|
end
|
|
@@ -256,12 +258,39 @@ module WXRuby3
|
|
|
256
258
|
end
|
|
257
259
|
end
|
|
258
260
|
|
|
261
|
+
def get_ignore_val(val)
|
|
262
|
+
if val.is_a?(::Array)
|
|
263
|
+
val
|
|
264
|
+
elsif val.is_a?(Config::AnyOf) || val.is_a?(::String)
|
|
265
|
+
[val]
|
|
266
|
+
else
|
|
267
|
+
!!val
|
|
268
|
+
end
|
|
269
|
+
end
|
|
270
|
+
private :get_ignore_val
|
|
271
|
+
|
|
259
272
|
def ignore(val = true, ignore_doc: nil)
|
|
260
|
-
@ignored =
|
|
261
|
-
@docs_ignored = ignore_doc.nil?
|
|
273
|
+
@ignored = get_ignore_val(val)
|
|
274
|
+
@docs_ignored = if ignore_doc.nil?
|
|
275
|
+
@ignored
|
|
276
|
+
else
|
|
277
|
+
get_ignore_val(ignore_doc)
|
|
278
|
+
end
|
|
262
279
|
self
|
|
263
280
|
end
|
|
264
281
|
|
|
282
|
+
def ignored
|
|
283
|
+
@ignored == true || (@ignored.is_a?(::Array) && !Config.instance.features_set?(*@ignored))
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
def docs_ignored(fulldocs)
|
|
287
|
+
@docs_ignored == true || (!fulldocs && @docs_ignored.is_a?(::Array) && !Config.instance.features_set?(*@docs_ignored))
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
def required_features_doc
|
|
291
|
+
@docs_ignored.is_a?(::Array) ? @docs_ignored : nil
|
|
292
|
+
end
|
|
293
|
+
|
|
265
294
|
def find(name)
|
|
266
295
|
# Locate and return an item within this item that has a matching name.
|
|
267
296
|
# The name string can use a dotted notation to continue the search
|
|
@@ -87,7 +87,7 @@ module WXRuby3
|
|
|
87
87
|
attr_reader :director, :classdef, :class_spec_name, :class_registry
|
|
88
88
|
|
|
89
89
|
def item_ignored?(item)
|
|
90
|
-
@doc_gen ? item.docs_ignored : item.ignored
|
|
90
|
+
@doc_gen ? item.docs_ignored(Director::Package.full_docs?) : item.ignored
|
|
91
91
|
end
|
|
92
92
|
private :item_ignored?
|
|
93
93
|
|
|
@@ -482,12 +482,17 @@ module WXRuby3
|
|
|
482
482
|
end
|
|
483
483
|
end
|
|
484
484
|
|
|
485
|
+
def item_ignored(item, doc_gen)
|
|
486
|
+
doc_gen ? item.docs_ignored(Director::Package.full_docs?) : item.ignored
|
|
487
|
+
end
|
|
488
|
+
private :item_ignored
|
|
489
|
+
|
|
485
490
|
def preprocess(enum_maps, doc_gen = false)
|
|
486
491
|
STDERR.puts "** Preprocessing #{module_name}" if Director.trace?
|
|
487
492
|
def_items.each do |item|
|
|
488
493
|
case item
|
|
489
494
|
when Extractor::ClassDef
|
|
490
|
-
if !(
|
|
495
|
+
if !item_ignored(item, doc_gen) &&
|
|
491
496
|
(!item.is_template? || template_as_class?(item.name)) &&
|
|
492
497
|
!is_folded_base?(item.name)
|
|
493
498
|
clsproc = ClassProcessor.new(director, item, doc_gen)
|
|
@@ -536,7 +541,7 @@ module WXRuby3
|
|
|
536
541
|
errors = []
|
|
537
542
|
warnings = []
|
|
538
543
|
def_items.each do |item|
|
|
539
|
-
if Extractor::ClassDef === item && !(
|
|
544
|
+
if Extractor::ClassDef === item && !item_ignored(item, doc_gen) &&
|
|
540
545
|
(!item.is_template? || template_as_class?(item.name)) &&
|
|
541
546
|
!is_folded_base?(item.name)
|
|
542
547
|
intf_class_name = if item.is_template? || template_as_class?(item.name)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
:wxAnimationBundle:
|
|
3
|
+
:detail:
|
|
4
|
+
:pre:
|
|
5
|
+
:programlisting:
|
|
6
|
+
- :pattern: !ruby/regexp /.*/
|
|
7
|
+
:replace: |
|
|
8
|
+
|
|
9
|
+
```ruby
|
|
10
|
+
animationCtrl = Wx::AnimationCtrl.new(parent, Wx::ID_ANY)
|
|
11
|
+
animations = Wx::AnimationBundle.new
|
|
12
|
+
animations.add("throbber.gif")
|
|
13
|
+
animations.add("throbber_2x.gif")
|
|
14
|
+
animationCtrl.play if animationCtrl.set_animation(animations)
|
|
15
|
+
```
|
|
@@ -47,8 +47,6 @@
|
|
|
47
47
|
|
|
48
48
|
but take care to not cause undesirable re-entrance when doing it (see {Wx::App#yield} for more details). The simplest way to do it is to use {Wx::WindowDisabler} class as illustrated in the above example.
|
|
49
49
|
Note that a {Wx::BusyInfo} is always built with the {Wx::STAY_ON_TOP} window style (see {Wx::Frame} window styles for more info).
|
|
50
|
-
|
|
51
|
-
===
|
|
52
50
|
|
|
53
51
|
Category: Common Dialogs
|
|
54
52
|
|
|
@@ -37,7 +37,5 @@
|
|
|
37
37
|
clipboard managers will automatically flush the clipboard after each new piece of data is added, while others
|
|
38
38
|
will not. The {Wx::Clipboard#flush} function will force the clipboard manager to flush the data.
|
|
39
39
|
|
|
40
|
-
===
|
|
41
|
-
|
|
42
40
|
Category: Clipboard and Drag & Drop
|
|
43
41
|
@see Wx::DataObject
|
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
the cursor for a window, as in X, rather than to set it globally as in MS Windows, although a global
|
|
14
14
|
{set_cursor} function is also available for MS Windows use.
|
|
15
15
|
|
|
16
|
-
===
|
|
17
|
-
|
|
18
16
|
Category: Graphics Device Interface (GDI)
|
|
19
17
|
Predefined objects/pointers:
|
|
20
18
|
- {Wx::NULL_CURSOR}
|
|
@@ -57,6 +57,16 @@
|
|
|
57
57
|
if event.get_modifiers == Wx::KeyModifier::MOD_CONTROL
|
|
58
58
|
# ... handle Ctrl-XXX ...
|
|
59
59
|
```
|
|
60
|
+
:wxKeyEvent.GetRawKeyCode:
|
|
61
|
+
:detail:
|
|
62
|
+
:post:
|
|
63
|
+
- :pattern: !ruby/regexp /,\s+use\s+\#ifdef\s+\{Wx::HAS_RAW_KEY_CODES\}.*available\./
|
|
64
|
+
:subst: '.'
|
|
65
|
+
:wxKeyEvent.GetRawKeyFlags:
|
|
66
|
+
:detail:
|
|
67
|
+
:post:
|
|
68
|
+
- :pattern: !ruby/regexp /,\s+use\s+\#ifdef\s+\{Wx::HAS_RAW_KEY_CODES\}.*available\./
|
|
69
|
+
:subst: '.'
|
|
60
70
|
:wxMouseEvent.GetModifiers:
|
|
61
71
|
:detail:
|
|
62
72
|
:pre:
|
|
@@ -114,10 +124,6 @@
|
|
|
114
124
|
vb_pt = get_view_start # Top left corner of client
|
|
115
125
|
|
|
116
126
|
Wx::RegionIterator.for_region(get_update_region) do |region_it|
|
|
117
|
-
|
|
118
|
-
int vX,vY,vW,vH
|
|
119
|
-
wxRegionIterator upd(GetUpdateRegion()) # get the update rect list
|
|
120
|
-
|
|
121
127
|
region_it.each do |rct|
|
|
122
128
|
# rct == Dimensions of client area to repaint in pixels
|
|
123
129
|
|
|
@@ -18,6 +18,14 @@
|
|
|
18
18
|
|
|
19
19
|
end
|
|
20
20
|
```
|
|
21
|
+
:post:
|
|
22
|
+
- :pattern: !ruby/regexp /,\s+use\s+\{Wx::HAS_WINDOW_LABEL_IN_STATIC_BOX\}.*compile-time\./
|
|
23
|
+
:subst: '.'
|
|
24
|
+
:wxStaticBox.Create:
|
|
25
|
+
:detail:
|
|
26
|
+
:post:
|
|
27
|
+
- :pattern: !ruby/regexp /,\s+use\s+\{Wx::HAS_WINDOW_LABEL_IN_STATIC_BOX\}.*compile-time\./
|
|
28
|
+
:subst: '.'
|
|
21
29
|
:wxStaticBox.Enable:
|
|
22
30
|
:detail:
|
|
23
31
|
:pre:
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
Wx.log_error("Couldn't load resources!")
|
|
12
12
|
end
|
|
13
13
|
```
|
|
14
|
+
:post:
|
|
15
|
+
- :pattern: !ruby/regexp /If\s+\{Wx::USE_FILESYS\}.*\)\./
|
|
16
|
+
:subst: 'If {Wx::Setup::USE_FILESYSTEM} is enabled, this method understands {Wx::FileSystem} URLs.'
|
|
14
17
|
:wxXmlResource.LoadDialog:
|
|
15
18
|
:detail:
|
|
16
19
|
:pre:
|
data/rakelib/lib/generate/doc.rb
CHANGED
|
@@ -151,8 +151,10 @@ module WXRuby3
|
|
|
151
151
|
def text_to_doc(node)
|
|
152
152
|
text = node.text
|
|
153
153
|
# handle left-over doxygen tags
|
|
154
|
+
text.gsub!(/#(\w)/, '\#\1')
|
|
154
155
|
text.gsub!(/@(end)?code/, '')
|
|
155
|
-
text.gsub!('@subsection', '
|
|
156
|
+
text.gsub!('@subsection', '##')
|
|
157
|
+
text = '' if text.strip == '##' # no empty headings
|
|
156
158
|
text.gsub!('@remarks', '')
|
|
157
159
|
text.gsub!(/@see.*\n/, '')
|
|
158
160
|
text.gsub!('@ref', '')
|
|
@@ -172,7 +174,7 @@ module WXRuby3
|
|
|
172
174
|
end
|
|
173
175
|
end
|
|
174
176
|
end
|
|
175
|
-
text.gsub!(/WX(K_[A-Z]+)/) { "{Wx::#{$1}}"}
|
|
177
|
+
text.gsub!(/WX(K_[A-Z]+)/) { "{Wx::KeyCode::#{$1}}"}
|
|
176
178
|
end
|
|
177
179
|
if event_section?
|
|
178
180
|
case text
|
|
@@ -224,6 +226,10 @@ module WXRuby3
|
|
|
224
226
|
end
|
|
225
227
|
end
|
|
226
228
|
|
|
229
|
+
def onlyfor_to_doc(node)
|
|
230
|
+
'' # handled elsewhere
|
|
231
|
+
end
|
|
232
|
+
|
|
227
233
|
def simplesect_to_doc(node)
|
|
228
234
|
case node['kind']
|
|
229
235
|
when 'since' # get rid of 'Since' notes
|
|
@@ -233,6 +239,22 @@ module WXRuby3
|
|
|
233
239
|
@see_list.concat node_to_doc(node).split(',')
|
|
234
240
|
end
|
|
235
241
|
''
|
|
242
|
+
when 'note'
|
|
243
|
+
<<~__NOTE
|
|
244
|
+
|
|
245
|
+
<div class="wxrb-note">
|
|
246
|
+
<b>Note:</b>
|
|
247
|
+
<p>#{node_to_doc(node)}</p>
|
|
248
|
+
</div>
|
|
249
|
+
__NOTE
|
|
250
|
+
when 'remark'
|
|
251
|
+
<<~__NOTE
|
|
252
|
+
|
|
253
|
+
<div class="wxrb-remark">
|
|
254
|
+
<b>Remark:</b>
|
|
255
|
+
<p>#{node_to_doc(node)}</p>
|
|
256
|
+
</div>>
|
|
257
|
+
__NOTE
|
|
236
258
|
else
|
|
237
259
|
node_to_doc(node)
|
|
238
260
|
end
|
|
@@ -280,7 +302,9 @@ module WXRuby3
|
|
|
280
302
|
|
|
281
303
|
def _ident_str_to_doc(s, ref_scope = nil)
|
|
282
304
|
return s if no_idents?
|
|
283
|
-
return s if
|
|
305
|
+
return s if s.start_with?('wxRuby')
|
|
306
|
+
return 'WXOSX' if s.start_with?('wxMac')
|
|
307
|
+
return s.sub(/\Awx/, 'WX') if %w[wxMSW wxOSX wxGTK wxX11 wxUNIVERSAL].any? { |w| s.start_with?(w) }
|
|
284
308
|
nmlist = s.split('::')
|
|
285
309
|
nm_str = nmlist.shift.to_s
|
|
286
310
|
constnm = rb_wx_name(nm_str)
|
|
@@ -343,6 +367,7 @@ module WXRuby3
|
|
|
343
367
|
mtd = $1
|
|
344
368
|
args = _arglist_to_doc($2)
|
|
345
369
|
end
|
|
370
|
+
# transform the scope prefix
|
|
346
371
|
if DocGenerator.constants_xref_db.has_key?(constnm)
|
|
347
372
|
constnm = "#{DocGenerator.constants_xref_db[constnm]['mod']}::#{constnm}"
|
|
348
373
|
elsif DocGenerator.constants_xref_db.has_key?(rb_constant_name(nm_str))
|
|
@@ -355,8 +380,18 @@ module WXRuby3
|
|
|
355
380
|
known = false
|
|
356
381
|
constnm = "Wx::#{constnm}"
|
|
357
382
|
end
|
|
383
|
+
# transform and append the element id
|
|
358
384
|
if mtd.nil?
|
|
359
|
-
if DocGenerator.constants_xref_db.has_key?(rb_wx_name(itmnm))
|
|
385
|
+
if DocGenerator.constants_xref_db.has_key?(rb_wx_name(itmnm))
|
|
386
|
+
itmnm = rb_wx_name(itmnm)
|
|
387
|
+
# in case of enum constants the documented scope most likely omits the enum class
|
|
388
|
+
# which we want for correct linking for wxRuby
|
|
389
|
+
if DocGenerator.constants_xref_db[itmnm]['mod'].start_with?("#{constnm}::")
|
|
390
|
+
["#{DocGenerator.constants_xref_db[itmnm]['mod']}::#{rb_wx_name(itmnm)}", known]
|
|
391
|
+
else
|
|
392
|
+
["#{constnm}::#{rb_wx_name(itmnm)}", known]
|
|
393
|
+
end
|
|
394
|
+
elsif !_is_method?(itmnm, nm_str)
|
|
360
395
|
["#{constnm}::#{rb_wx_name(itmnm)}", known]
|
|
361
396
|
else
|
|
362
397
|
sep = _is_static_method?(nm_str, itmnm) ? '.' : '#'
|
|
@@ -391,14 +426,15 @@ module WXRuby3
|
|
|
391
426
|
|
|
392
427
|
# transform all titles
|
|
393
428
|
def title_to_doc(node)
|
|
394
|
-
"
|
|
429
|
+
"## #{node.text}\n"
|
|
395
430
|
end
|
|
396
431
|
|
|
397
432
|
def heading_to_doc(node)
|
|
398
433
|
lvl = 1+(node['level'] || '1').to_i
|
|
399
434
|
txt = node_to_doc(node)
|
|
400
435
|
event_section(/Events emitted by this class|Events using this class/i =~ txt)
|
|
401
|
-
|
|
436
|
+
txt.strip!
|
|
437
|
+
txt.empty? ? txt : "#{'#' * lvl} #{txt}"
|
|
402
438
|
end
|
|
403
439
|
|
|
404
440
|
# transform all itemizedlist
|
|
@@ -671,6 +707,36 @@ module WXRuby3
|
|
|
671
707
|
|
|
672
708
|
protected
|
|
673
709
|
|
|
710
|
+
def to_feature_text(feat)
|
|
711
|
+
if Config::AnyOf === feat
|
|
712
|
+
feat.features.collect { |f| f.is_a?(::Array) ? f.join('&') : f }.join('|')
|
|
713
|
+
else
|
|
714
|
+
feat
|
|
715
|
+
end
|
|
716
|
+
end
|
|
717
|
+
private :to_feature_text
|
|
718
|
+
|
|
719
|
+
def gen_item_requirements(fdoc, item)
|
|
720
|
+
if item.required_features_doc
|
|
721
|
+
fdoc.doc.puts '@wxrb_require ' + item.required_features_doc.collect(&->(feat){ to_feature_text(feat) }).join(',')
|
|
722
|
+
end
|
|
723
|
+
end
|
|
724
|
+
|
|
725
|
+
def has_class_requirements?
|
|
726
|
+
!(ifspec.requirements.empty? && ifspec.package.required_features.empty?)
|
|
727
|
+
end
|
|
728
|
+
|
|
729
|
+
def get_class_requirements
|
|
730
|
+
ifspec.requirements + ifspec.package.required_features.to_a
|
|
731
|
+
end
|
|
732
|
+
private :get_class_requirements
|
|
733
|
+
|
|
734
|
+
def gen_class_requirements(fdoc)
|
|
735
|
+
if has_class_requirements?
|
|
736
|
+
fdoc.doc.puts '@wxrb_require ' + get_class_requirements.collect(&->(feat){ to_feature_text(feat) }).join(',')
|
|
737
|
+
end
|
|
738
|
+
end
|
|
739
|
+
|
|
674
740
|
def get_constant_doc(const)
|
|
675
741
|
@xml_trans.to_doc(const.brief_doc, item: const)
|
|
676
742
|
end
|
|
@@ -707,6 +773,7 @@ module WXRuby3
|
|
|
707
773
|
|
|
708
774
|
def gen_enum_doc(fdoc, enumname, enumdef, enum_table)
|
|
709
775
|
fdoc.doc.puts get_enum_doc(enumdef)
|
|
776
|
+
gen_class_requirements(fdoc)
|
|
710
777
|
fdoc.puts "class #{enumname} < Wx::Enum"
|
|
711
778
|
fdoc.puts
|
|
712
779
|
fdoc.indent do
|
|
@@ -723,7 +790,7 @@ module WXRuby3
|
|
|
723
790
|
|
|
724
791
|
def gen_constants_doc(fdoc)
|
|
725
792
|
xref_table = package.all_modules.reduce(DocGenerator.constants_db) { |db, mod| db[mod] }
|
|
726
|
-
def_items.select {|itm| !itm.docs_ignored }.each do |item|
|
|
793
|
+
def_items.select {|itm| !itm.docs_ignored(Director::Package.full_docs?) }.each do |item|
|
|
727
794
|
case item
|
|
728
795
|
when Extractor::GlobalVarDef
|
|
729
796
|
unless no_gen?(:variables)
|
|
@@ -762,22 +829,24 @@ module WXRuby3
|
|
|
762
829
|
end
|
|
763
830
|
|
|
764
831
|
def get_function_doc(func)
|
|
765
|
-
func.rb_doc(@xml_trans, type_maps)
|
|
832
|
+
func.rb_doc(@xml_trans, type_maps, Director::Package.full_docs?)
|
|
766
833
|
end
|
|
767
834
|
|
|
768
835
|
def gen_functions_doc(fdoc)
|
|
769
|
-
def_items.select {|itm| !itm.docs_ignored }.each do |item|
|
|
770
|
-
if Extractor::FunctionDef === item
|
|
836
|
+
def_items.select {|itm| !itm.docs_ignored(Director::Package.full_docs?) }.each do |item|
|
|
837
|
+
if Extractor::FunctionDef === item
|
|
771
838
|
get_method_doc(item).each_pair do |name, docs|
|
|
772
839
|
if docs.size>1 # method with overloads?
|
|
773
|
-
docs.each do |params, ovl_doc|
|
|
840
|
+
docs.each do |ovl, params, ovl_doc|
|
|
774
841
|
fdoc.doc.puts "@overload #{name}(#{params})"
|
|
775
842
|
fdoc.doc.indent { fdoc.doc.puts ovl_doc }
|
|
843
|
+
fdoc.doc.indent { gen_item_requirements(fdoc, ovl) }
|
|
776
844
|
end
|
|
777
845
|
fdoc.puts "def #{name}(*args) end"
|
|
778
846
|
else
|
|
779
|
-
params, doc = docs.shift
|
|
847
|
+
mtd, params, doc = docs.shift
|
|
780
848
|
fdoc.doc.puts doc
|
|
849
|
+
gen_item_requirements(fdoc, mtd)
|
|
781
850
|
if params.empty?
|
|
782
851
|
fdoc.puts "def #{name}; end"
|
|
783
852
|
else
|
|
@@ -797,7 +866,7 @@ module WXRuby3
|
|
|
797
866
|
end
|
|
798
867
|
|
|
799
868
|
def get_method_doc(mtd)
|
|
800
|
-
mtd.rb_doc(@xml_trans, type_maps)
|
|
869
|
+
mtd.rb_doc(@xml_trans, type_maps, Director::Package.full_docs?)
|
|
801
870
|
end
|
|
802
871
|
|
|
803
872
|
def get_method_head(clsdef, mtdef)
|
|
@@ -825,14 +894,16 @@ module WXRuby3
|
|
|
825
894
|
mtd_head = get_method_head(clsdef, cm)
|
|
826
895
|
get_method_doc(mtd_head).each_pair do |name, docs|
|
|
827
896
|
if docs.size>1 # method with overloads?
|
|
828
|
-
docs.each do |params, ovl_doc|
|
|
897
|
+
docs.each do |ovl, params, ovl_doc|
|
|
829
898
|
fdoc.doc.puts "@overload #{name}(#{params})"
|
|
830
899
|
fdoc.doc.indent { fdoc.doc.puts ovl_doc }
|
|
900
|
+
fdoc.doc.indent { gen_item_requirements(fdoc, ovl) }
|
|
831
901
|
end
|
|
832
902
|
fdoc.puts "def #{name}(*args) end"
|
|
833
903
|
else
|
|
834
|
-
params, doc = docs.shift
|
|
904
|
+
mtd, params, doc = docs.shift
|
|
835
905
|
fdoc.doc.puts doc
|
|
906
|
+
gen_item_requirements(fdoc, mtd)
|
|
836
907
|
if params.empty?
|
|
837
908
|
fdoc.puts "def #{name}; end"
|
|
838
909
|
else
|
|
@@ -887,7 +958,7 @@ module WXRuby3
|
|
|
887
958
|
|
|
888
959
|
def gen_class_doc(fdoc)
|
|
889
960
|
const_table = package.all_modules.reduce(DocGenerator.constants_db) { |db, mod| db[mod] }
|
|
890
|
-
def_items.select {|itm| !itm.docs_ignored && Extractor::ClassDef === itm && !is_folded_base?(itm.name) }.each do |item|
|
|
961
|
+
def_items.select {|itm| !itm.docs_ignored(Director::Package.full_docs?) && Extractor::ClassDef === itm && !is_folded_base?(itm.name) }.each do |item|
|
|
891
962
|
if !item.is_template? || template_as_class?(item.name)
|
|
892
963
|
@xml_trans.for_class(item) do
|
|
893
964
|
intf_class_name = if (item.is_template? && template_as_class?(item.name))
|
|
@@ -900,9 +971,11 @@ module WXRuby3
|
|
|
900
971
|
fdoc.doc.puts get_class_doc(item)
|
|
901
972
|
if is_mixin?(item)
|
|
902
973
|
fdoc.doc.puts "\n@note In wxRuby this is a mixin module instead of a (base) class."
|
|
974
|
+
gen_class_requirements(fdoc)
|
|
903
975
|
fdoc.puts "module #{clsnm}"
|
|
904
976
|
else
|
|
905
977
|
fdoc.doc.puts "\n@note This class is <b>untracked</b> and should not be derived from nor instances extended!" unless is_tracked?(item)
|
|
978
|
+
gen_class_requirements(fdoc)
|
|
906
979
|
basecls = ifspec.classdef_name(base_class(item, doc: true))
|
|
907
980
|
fdoc.puts "class #{clsnm} < #{basecls ? basecls.sub(/\Awx/, '') : '::Object'}"
|
|
908
981
|
end
|