Sha256: 95cbfb724ad6d738d40157dca511d8881bf8e4a40621bca99f6c69ff18cfdc67

Contents?: true

Size: 1.3 KB

Versions: 17

Compression:

Stored size: 1.3 KB

Contents

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

/*
 * WxRuby3 wxRubyClientData class
 */

#ifndef _WXRUBY_CLIENT_DATA_H
#define _WXRUBY_CLIENT_DATA_H

#include <wx/clntdata.h>

class WXRUBY_EXPORT wxRubyClientData;

WXRUBY_EXPORT void wxRuby_RegisterClientData(wxRubyClientData* pcd);
WXRUBY_EXPORT void wxRuby_UnregisterClientData(wxRubyClientData* pcd);

class WXRUBY_EXPORT wxRubyClientData : public wxClientData
{
public:
  wxRubyClientData() : rb_data(Qnil) { }
  wxRubyClientData (VALUE data) : rb_data(data) { wxRuby_RegisterClientData(this); }
  virtual ~wxRubyClientData () { wxRuby_UnregisterClientData(this); }
  VALUE GetData() const { return rb_data; }
private:
  VALUE rb_data;
};

class WXRUBY_EXPORT wxRubyUserData;

WXRUBY_EXPORT void wxRuby_RegisterUserData(wxRubyUserData* pud);
WXRUBY_EXPORT void wxRuby_UnregisterUserData(wxRubyUserData* pud);

class WXRUBY_EXPORT wxRubyUserData : public wxObject
{
public:
  wxRubyUserData() : rb_data(Qnil) { }
  wxRubyUserData (VALUE data) : rb_data(data) { wxRuby_RegisterUserData(this); }
  virtual ~wxRubyUserData () { wxRuby_UnregisterUserData(this); }
  VALUE GetData() const { return rb_data; }
private:
  VALUE rb_data;

  wxDECLARE_NO_COPY_CLASS(wxRubyUserData);
};

#endif /* _WXRUBY_CLIENT_DATA_H */

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
wxruby3-1.5.0 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.4.2 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.4.1 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.4.0 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.3.1 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.3.0 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.2.1 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.2.0 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.1.2 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.1.1 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.1.0 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-1.0.1 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-0.9.8 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-0.9.7 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-0.9.5 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-0.9.4 ext/wxruby3/include/wxruby-ClientData.h
wxruby3-0.9.3 ext/wxruby3/include/wxruby-ClientData.h