Sha256: 7be677087d15762612fe47b21e25c4020a33c87ff2a464c6a2eb228717057892

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 KB

Contents

# Copyright (c) 2023 M.J.N. Corino, The Netherlands
#
# This software is released under the MIT license.

###
# wxRuby3 wxWidgets interface director
###

module WXRuby3

  class Director

    class SizerItem < Director

      def setup
        spec.disable_proxies
        # do not allow creating SizerItems in Ruby; this has limited benefits and
        # memory management of sizer items is a nightmare
        case spec.module_name
        when 'wxSizerItem'
          spec.make_abstract 'wxSizerItem'
          # ignore constructors
          spec.ignore 'wxSizerItem::wxSizerItem'
          spec.ignore(%w[wxSizerItem::SetSizer wxSizerItem::SetSpacer wxSizerItem::SetWindow])
        when 'wxGBSizerItem'
          spec.make_abstract 'wxGBSizerItem'
          # ignore constructors
          spec.ignore 'wxGBSizerItem::wxGBSizerItem',
                      'wxGBSizerItem::SetGBSizer',
                      'wxGBSizerItem::GetPos(int &, int &)',
                      'wxGBSizerItem::GetSpan(int &, int &)'
          spec.map_apply 'int &OUTPUT' => ['int &row', 'int &col']
          spec.do_not_generate :variables, :enums, :defines, :functions
        end
        super
      end
    end # class SizerItem

  end # class Director

end # module WXRuby3

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wxruby3-0.9.0 rakelib/lib/director/sizer_item.rb