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

Version Path
wxruby3-1.5.1 rakelib/lib/director/popup_window.rb
wxruby3-1.5.0 rakelib/lib/director/popup_window.rb
wxruby3-1.4.2 rakelib/lib/director/popup_window.rb
wxruby3-1.4.1 rakelib/lib/director/popup_window.rb
wxruby3-1.4.0 rakelib/lib/director/popup_window.rb
wxruby3-1.3.1 rakelib/lib/director/popup_window.rb
wxruby3-1.3.0 rakelib/lib/director/popup_window.rb
wxruby3-1.2.1 rakelib/lib/director/popup_window.rb
wxruby3-1.2.0 rakelib/lib/director/popup_window.rb
wxruby3-1.1.2 rakelib/lib/director/popup_window.rb
wxruby3-1.1.1 rakelib/lib/director/popup_window.rb
wxruby3-1.1.0 rakelib/lib/director/popup_window.rb
wxruby3-1.0.1 rakelib/lib/director/popup_window.rb
wxruby3-0.9.8 rakelib/lib/director/popup_window.rb
wxruby3-0.9.7 rakelib/lib/director/popup_window.rb
wxruby3-0.9.5 rakelib/lib/director/popup_window.rb
wxruby3-0.9.4 rakelib/lib/director/popup_window.rb
wxruby3-0.9.3 rakelib/lib/director/popup_window.rb
wxruby3-0.9.2 rakelib/lib/director/popup_window.rb
wxruby3-0.9.1 rakelib/lib/director/popup_window.rb