From a27a8a75bc2de6e26b2b5d2d93bfa455ed7e732f Mon Sep 17 00:00:00 2001
From: "D.M.G" <gonzalezdamianm@hotmail.com>
Date: Thu, 19 Dec 2013 19:18:39 -0300
Subject: [PATCH] Fixed few examples to work and added some warning strings on
 apps which doesn't work unless you have a explicit gem installed.

---
 examples/RAA.rb               | 10 ++++++++--
 examples/babelfish.rb         |  9 ++++++++-
 examples/canvasdemo.rb        |  4 ++--
 examples/charts.rb            | 11 +++++++++--
 examples/iRAA.rb              |  8 +++++++-
 examples/raabrowser.rb        | 10 ++++++++--
 examples/rmagick.rb           |  8 +++++++-
 examples/textedit/textedit.rb |  6 +++---
 8 files changed, 52 insertions(+), 14 deletions(-)

diff --git a/examples/RAA.rb b/examples/RAA.rb
index 8d42598..cc5065c 100755
--- a/examples/RAA.rb
+++ b/examples/RAA.rb
@@ -1,5 +1,11 @@
-require 'soap/rpc/driver'
-require 'iRAA'
+begin
+  require 'soap/rpc/driver'
+  require 'iRAA'
+rescue LoadError
+  warn("Sorry, at the moment this example is not working.")
+  sleep(5)
+  exit(false)
+end
 
 module RAA
   extend SOAP
diff --git a/examples/babelfish.rb b/examples/babelfish.rb
index 7184429..e9d41a5 100755
--- a/examples/babelfish.rb
+++ b/examples/babelfish.rb
@@ -1,7 +1,14 @@
 #!/usr/bin/env ruby
 
 require 'fox16'
-require 'tranexp'
+
+begin
+  require 'tranexp'
+rescue LoadError
+  warn("LoadError: To execute this app you need to have 'tranexp' gem installed.")
+  sleep(5)
+  exit(false)
+end
 
 include Fox
 
diff --git a/examples/canvasdemo.rb b/examples/canvasdemo.rb
index 17175aa..06b05e8 100755
--- a/examples/canvasdemo.rb
+++ b/examples/canvasdemo.rb
@@ -10,7 +10,7 @@ class CanvasDemo < FXMainWindow
     super(app, "Canvas Demo", nil, nil, DECOR_ALL, 0, 0, 800, 600)
 
     # Menu bar
-    menu_bar = FXMenubar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
+    menu_bar = FXMenuBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
 
     # File menu
     file_menu = FXMenuPane.new(self)
@@ -53,7 +53,7 @@ class CanvasDemo < FXMainWindow
     FXMenuTitle.new(menu_bar, "&Help", nil, help_menu)
 
     # Status bar
-    FXStatusbar.new(self,
+    FXStatusBar.new(self,
       LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|STATUSBAR_WITH_DRAGCORNER)
 
     # Shapes canvas fills the remainder
diff --git a/examples/charts.rb b/examples/charts.rb
index b3e1720..730f1f8 100644
--- a/examples/charts.rb
+++ b/examples/charts.rb
@@ -1,6 +1,13 @@
 require 'fox16'
-require 'google_chart'
-require 'open-uri'
+
+begin
+  require 'google_chart'
+  require 'open-uri'
+rescue LoadError
+  warn("LoadError: To execute this app you need to have 'google_chart' gem installed.")
+  sleep(5)
+  exit(false)
+end
 
 include Fox
 
diff --git a/examples/iRAA.rb b/examples/iRAA.rb
index 72c2347..61510e8 100755
--- a/examples/iRAA.rb
+++ b/examples/iRAA.rb
@@ -1,4 +1,10 @@
-require 'soap/mapping'
+begin
+  require 'soap/mapping'
+rescue LoadError
+  warn("Sorry, at the moment this example is not working.")
+  sleep(5)
+  exit(false)
+end
 
 
 module RAA; extend SOAP
diff --git a/examples/raabrowser.rb b/examples/raabrowser.rb
index 4ba7888..34073d6 100755
--- a/examples/raabrowser.rb
+++ b/examples/raabrowser.rb
@@ -1,6 +1,12 @@
 require 'fox16'
-require 'cgi'
-require 'soap/wsdlDriver'
+begin
+  require 'cgi'
+  require 'soap/wsdlDriver'
+rescue LoadError
+  warn("Sorry, at the moment this example is not working.")
+  sleep(5)
+  exit(false)
+end
 
 include Fox
 
diff --git a/examples/rmagick.rb b/examples/rmagick.rb
index 5bde55e..f1c221b 100755
--- a/examples/rmagick.rb
+++ b/examples/rmagick.rb
@@ -1,5 +1,11 @@
 require 'fox16'
-require 'RMagick'
+begin
+  require 'RMagick'
+rescue LoadError
+  warn("LoadError: To execute this app you need to have 'RMagick' gem installed.")
+  sleep(5)
+  exit(false)
+end
 
 include Fox
 
diff --git a/examples/textedit/textedit.rb b/examples/textedit/textedit.rb
index 55f0713..75cf634 100755
--- a/examples/textedit/textedit.rb
+++ b/examples/textedit/textedit.rb
@@ -3,9 +3,9 @@
 require 'fox16'
 require 'fox16/responder'
 require 'fox16/undolist'
-require 'prefdialog'
-require 'helpwindow'
-require 'commands'
+require_relative 'prefdialog'
+require_relative 'helpwindow'
+require_relative 'commands'
 
 include Fox
 
-- 
GitLab