Sha256: 1eea5dbab17cead36e7e401da070643bb7e4b453f5728adf8683136297c6ed29

Contents?: true

Size: 1.48 KB

Versions: 20

Compression:

Stored size: 1.48 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 './richtext_object'

module WXRuby3

  class Director

    class RichTextBox < RichTextObject

      include Typemap::RichText

      def setup
        super
        spec.items << 'wxRichTextCell' << 'wxRichTextTable'
        spec.include 'wx/richtext/richtextstyles.h'

        spec.map_apply 'int * OUTPUT' => ['int &row', 'int &col']

        spec.map 'wxPosition' => 'Array(Integer,Integer)' do

          map_out code: <<~__CODE
            $result = rb_ary_new();
            rb_ary_push($result, INT2NUM($1.GetRow()));
            rb_ary_push($result, INT2NUM($1.GetColumn()));
            __CODE

        end

        spec.map 'const wxRichTextObjectPtrArrayArray &' => 'Array<Array<Wx::RTC::RichTextObject>>' do

          map_out code: <<~__CODE
            $result = rb_ary_new();
            for (size_t r=0; r<$1->GetCount() ;++r)
            {
              VALUE rb_r_arr = rb_ary_new();
              rb_ary_push($result, rb_r_arr);
              const wxRichTextObjectPtrArray &r_arr = $1->Item(r);
              for (size_t c=0; c<r_arr.GetCount() ;++c)
              {
                rb_ary_push(rb_r_arr, wxRuby_RichTextObject2Ruby(r_arr.Item(c), 0));
              }
            }
            __CODE

        end

        spec.do_not_generate(:typedefs, :variables, :enums, :defines, :functions)
      end

    end

  end

end

Version data entries

20 entries across 20 versions & 1 rubygems

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