Sha256: 7d5900210a54befb60ebc4c2e45768fabe57d5d1403fea3afb278e1b3e4795a5
Contents?: true
Size: 1.76 KB
Versions: 21
Compression:
Stored size: 1.76 KB
Contents
# Copyright (c) 2023 M.J.N. Corino, The Netherlands # # This software is released under the MIT license. ### # wxRuby3 wxWidgets interface director ### require_relative './window' module WXRuby3 class Director class PopupWindow < Window def setup spec.items << 'wxPopupTransientWindow' super spec.items.each do |itm| spec.no_proxy("#{itm}::ClearBackground", "#{itm}::Enable", "#{itm}::GetHelpTextAtPoint", "#{itm}::GetMaxSize", "#{itm}::GetMinSize", "#{itm}::Refresh", "#{itm}::Update") end # add these to the generated interface to be parsed by SWIG # the wxWidgets docs are flawed in this respect that several reimplemented # virtual methods are not documented at the reimplementing class as such # that would cause them missing from the interface which would cause a problem # for a SWIG director redirecting to the Ruby class as the SWIG wrappers # redirect explicitly to the implementation at the same class level as the wrapper # for upcalls spec.extend_interface('wxPopupWindow', 'virtual bool Show(bool show = true) override') # For ProcessLeftDown spec.map 'wxMouseEvent &' => 'Wx::MouseEvent' do map_directorin code: <<~__CODE #ifdef __WXRB_DEBUG__ $input = wxRuby_WrapWxEventInRuby(this, static_cast<wxEvent*> (&$1)); #else $input = wxRuby_WrapWxEventInRuby(static_cast<wxEvent*> (&$1)); #endif __CODE end end end # class PopupWindow end # class Director end # module WXRuby3
Version data entries
21 entries across 21 versions & 1 rubygems