Sha256: 23b32bbeb7b29193b5c3991d3a8acf81fd94fe843880a9c48d4189c945b186d3

Contents?: true

Size: 1.17 KB

Versions: 16

Compression:

Stored size: 1.17 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

# Pure-ruby implementation of the corresponding Wx class. Simply shows
# the Window's help text in a tooltip.

class Wx::SimpleHelpProvider < Wx::HelpProvider
  def initialize
    super
    # Store for mapping windows -> help strings
    @help_wins = {} 
    # Store for mapping ids -> help strings
    @help_ids  = {}
  end

  # This is what is called by Wx::Window#set_help_text
  def add_help(identifier, text)
    if identifier.kind_of? Wx::Window
      @help_wins[identifier.object_id] = text
    else
      @help_ids[identifier] = text
    end
  end

  # Retrieve help text for the given window +win+
  def get_help(win)
    @help_wins[win.object_id] || @help_ids[win.wx_id] || ""
  end

  # Remove the help text for +win+
  def remove_help(win)
    @help_wins.delete(win.object_id)
  end

  # Show help for +win+
  def show_help(win)
    help_text = get_help(win)
    return false if help_text.empty?
    tip = Wx::TipWindow.new(win, help_text, 100)
    true
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
wxruby3-1.3.1 lib/wx/core/simplehelpprovider.rb
wxruby3-1.3.0 lib/wx/core/simplehelpprovider.rb
wxruby3-1.2.1 lib/wx/core/simplehelpprovider.rb
wxruby3-1.2.0 lib/wx/core/simplehelpprovider.rb
wxruby3-1.1.2 lib/wx/core/simplehelpprovider.rb
wxruby3-1.1.1 lib/wx/core/simplehelpprovider.rb
wxruby3-1.1.0 lib/wx/core/simplehelpprovider.rb
wxruby3-1.0.1 lib/wx/core/simplehelpprovider.rb
wxruby3-0.9.8 lib/wx/core/simplehelpprovider.rb
wxruby3-0.9.7 lib/wx/core/simplehelpprovider.rb
wxruby3-0.9.5 lib/wx/core/simplehelpprovider.rb
wxruby3-0.9.4 lib/wx/core/simplehelpprovider.rb
wxruby3-0.9.3 lib/wx/core/simplehelpprovider.rb
wxruby3-0.9.2 lib/wx/core/simplehelpprovider.rb
wxruby3-0.9.1 lib/wx/core/simplehelpprovider.rb
wxruby3-0.9.0 lib/wx/core/simplehelpprovider.rb