Sha256: ed2539f1b453007ee6bb740d8b2bedac64db65a885a31e426d772a5e54ff24f5

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

# Copyright (c) 2023 M.J.N. Corino, The Netherlands
#
# This software is released under the MIT license.
#
# Some parts are
# Copyright 2004-2007, wxRuby development team
# released under the MIT-like wxRuby2 license

# WxRuby Extensions - Dialog functors for wxRuby3

module Wx

  class FileDialog

    wx_set_customize_hook = instance_method :set_customize_hook
    define_method :set_customize_hook do |hook|
      wx_set_customize_hook.bind(self).call(hook)
      @hook = hook # cache hook to prevent premature GC collection
    end

  end

  class FileDialogCustomizeHook

    # prevent construction of abstract base
    if RUBY_VERSION < '2.7.0'
      def self.new(*)
        raise NotImplementedError, 'Wx::FileDialogCustomizeHook is an abstract class.' if self == Wx::FileDialogCustomizeHook
        super
      end
    else
      def self.new(*, **)
        raise NotImplementedError, 'Wx::FileDialogCustomizeHook is an abstract class.' if self == Wx::FileDialogCustomizeHook
        super
      end
    end

    # provide default no-ops

    def add_custom_controls(customizer) end

    def update_custom_controls; end

    def transfer_data_from_custom_controls; end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
wxruby3-1.3.1 lib/wx/core/file_dialog.rb
wxruby3-1.3.0 lib/wx/core/file_dialog.rb