WxRuby

Un article de Wikipédia, l'encyclopédie libre.

WxRuby est un toolkit graphique libre utilisant le langage de programmation Ruby. Il est basé sur le widget toolkit multiplate-forme wxWidgets, écrit en C++.

wxRuby permet d'utiliser Ruby pour la création d'applications graphiques sur Windows, Mac OS X, Linux GTK, etc. Les applications ainsi créées conservent l'apparence native du système sur lequel elles sont exécutées.

Licence[modifier | modifier le code]

WxRuby est publié sous la licence WxRuby2[1].

Exemple[modifier | modifier le code]

#!/usr/bin/env ruby

begin
  require 'rubygems' 
rescue LoadError
end
require 'wx'

# A Wx::Frame is a self-contained, top-level Window that can contain
# controls, menubars, and statusbars
class MinimalFrame < Wx::Frame
  def initialize(title)
    # The main application frame has no parent (nil)
    super(nil, :title => title, :size => [ 400, 300 ])

    menu_bar = Wx::MenuBar.new
    # The "file" menu
    menu_file = Wx::Menu.new
    # Using Wx::ID_EXIT standard id means the menu item will be given
    # the right label for the platform and language, and placed in the
    # correct platform-specific menu - eg on OS X, in the Application's menu
    menu_file.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
    menu_bar.append(menu_file, "&File")

    # The "help" menu
    menu_help = Wx::Menu.new
    menu_help.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
    menu_bar.append(menu_help, "&Help")

    # Assign the menubar to this frame
    self.menu_bar = menu_bar

    # Create a status bar at the bottom of the frame
    create_status_bar(2)
    self.status_text = "Welcome to wxRuby!"

    # Set it up to handle menu events using the relevant methods. 
    evt_menu Wx::ID_EXIT, :on_quit
    evt_menu Wx::ID_ABOUT, :on_about
  end

  # End the application; it should finish automatically when the last
  # window is closed.
  def on_quit
    close()
  end

  # show an 'About' dialog - WxRuby's about_box function will show a
  # platform-native 'About' dialog, but you could also use an ordinary
  # Wx::MessageDialog here.
  def on_about
    Wx::about_box(:name => self.title,
                   :version     => Wx::WXRUBY_VERSION,
                   :description => "This is the minimal sample",
                   :developers  => ['The wxRuby Development Team'] )
  end
end

# Wx::App is the container class for any wxruby app. To start an
# application, either define a subclass of Wx::App, create an instance,
# and call its main_loop method, OR, simply call the Wx::App.run class
# method, as shown here.
Wx::App.run do 
  self.app_name = 'Minimal'
  frame = MinimalFrame.new("Minimal wxRuby App")
  frame.show
end

Références[modifier | modifier le code]

Liens externes[modifier | modifier le code]