Sha256: e6367a22c59f87036a2b2c780f5f49f803b4d01044291f05e54810b730dddbdd

Contents?: true

Size: 1.44 KB

Versions: 9

Compression:

Stored size: 1.44 KB

Contents

###
# wxRuby3 Grid client data typemap definition
# Copyright (c) M.J.N. Corino, The Netherlands
###

require_relative '../core/mapping'

module WXRuby3

  module Typemap

    # Typemaps for converting returned PGCell references to
    # either the correct wxRuby class
    module GridClientData

      include Typemap::Module

      define do

        map 'wxClientData *' => 'Object' do
          add_header_code <<~__CODE
            #include <wx/clntdata.h>
            extern void wxRuby_RegisterGridClientData(wxClientData* pcd, VALUE rbval);
            extern void wxRuby_UnregisterGridClientData(wxClientData* pcd);

            class WXRBGridClientData : public wxClientData
            {
            public:
              WXRBGridClientData() : rb_data(Qnil) { }
              WXRBGridClientData (VALUE data) : rb_data(data) { wxRuby_RegisterGridClientData(this, data); }
              virtual ~WXRBGridClientData () { wxRuby_UnregisterGridClientData(this); }
              VALUE GetData() const { return rb_data; }
            private:
              VALUE rb_data;
            };

            __CODE
          map_in code: '$1 = new WXRBGridClientData($input);'
          map_out code: <<~__CODE
            $result = Qnil;
            if ($1)
            {
              WXRBGridClientData* pgcd = dynamic_cast<WXRBGridClientData*> ($1);
              if (pgcd) $result = pgcd->GetData();
            }
          __CODE
        end

      end

    end

  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
wxruby3-0.9.0.pre.rc.3 rakelib/lib/typemap/grid_client_data.rb
wxruby3-0.9.0.pre.rc.2 rakelib/lib/typemap/grid_client_data.rb
wxruby3-0.9.0.pre.rc.1 rakelib/lib/typemap/grid_client_data.rb
wxruby3-0.9.0.pre.beta.14 rakelib/lib/typemap/grid_client_data.rb
wxruby3-0.9.0.pre.beta.13 rakelib/lib/typemap/grid_client_data.rb
wxruby3-0.9.0.pre.beta.11 rakelib/lib/typemap/grid_client_data.rb
wxruby3-0.9.0.pre.beta.10 rakelib/lib/typemap/grid_client_data.rb
wxruby3-0.9.0.pre.beta.9 rakelib/lib/typemap/grid_client_data.rb
wxruby3-0.9.0.pre.beta.8 rakelib/lib/typemap/grid_client_data.rb