Author: kkaempf Date: Sat Apr 12 17:20:41 2008 New Revision: 46477 URL: http://svn.opensuse.org/viewcvs/yast?rev=46477&view=rev Log: extend further, selection_box1.rb almost working ... Added: trunk/libyui-bindings/swig/ruby/examples/selection_box1.rb Modified: trunk/libyui-bindings/swig/yui.i Added: trunk/libyui-bindings/swig/ruby/examples/selection_box1.rb URL: http://svn.opensuse.org/viewcvs/yast/trunk/libyui-bindings/swig/ruby/example... ============================================================================== --- trunk/libyui-bindings/swig/ruby/examples/selection_box1.rb (added) +++ trunk/libyui-bindings/swig/ruby/examples/selection_box1.rb Sat Apr 12 17:20:41 2008 @@ -0,0 +1,66 @@ +# +# Trivial libyui example +# + +$:.unshift "../../../build/swig/ruby" + +require 'test/unit' + +class LoadTest < Test::Unit::TestCase + def test_selection_box1 + require 'yui' + Yui::YUILog::set_log_file_name "/tmp/libyui-examples.log" + Yui::YUILog::enable_debug_logging + + dialog = Yui::YUI::widget_factory.create_popup_dialog + vbox = Yui::YUI::widget_factory.create_vbox dialog + selBox = Yui::YUI::widget_factory.create_selection_box vbox, "&Menu" + +# items = [] #Yui::YItemCollection.new + selBox.add_item( Yui::YItem.new( "Pizza Margherita" ) ) + selBox.add_item( Yui::YItem.new( "Pizza Capricciosa" ) ) + selBox.add_item( Yui::YItem.new( "Pizza Funghi" ) ) + selBox.add_item( Yui::YItem.new( "Pizza Prosciutto" ) ) + selBox.add_item( Yui::YItem.new( "Pizza Quattro Stagioni" ) ) + selBox.add_item( Yui::YItem.new( "Calzone" ) ) + #selBox.add_items items # This is more efficient than repeatedly calling selBox.add_item + + hbox = Yui::YUI::widget_factory.create_hbox vbox + valueField = Yui::YUI::widget_factory.create_output_field hbox, "<SelectionBox value unknown>" + valueField.set_stretchable Yui::YD_HORIZ, true # // allow stretching over entire dialog width + + valueButton = Yui::YUI::widget_factory.create_push_button hbox, "&Value" + + Yui::YUI::widget_factory.create_vspacing vbox, 0.3 + + rightAlignment = Yui::YUI::widget_factory.create_right vbox + closeButton = Yui::YUI::widget_factory.create_push_button rightAlignment, "&Close" + + # + # Event loop + # + + loop do + event = dialog.wait_for_event + next unless event + break if event.event_type == Yui::YEvent::CancelEvent # window manager "close window" button + valueField.set_value "???" + break if event.widget == closeButton + + if ( event.widget == valueButton || + event.widget == selBox ) # selBox will only send events with setNotify() + item = selBox.selected_item + if item + valueField.set_value item.label + else + valueField.set_value "<none>" + end + end + end + + dialog.destroy + end +end + + + Modified: trunk/libyui-bindings/swig/yui.i URL: http://svn.opensuse.org/viewcvs/yast/trunk/libyui-bindings/swig/yui.i?rev=46... ============================================================================== --- trunk/libyui-bindings/swig/yui.i (original) +++ trunk/libyui-bindings/swig/yui.i Sat Apr 12 17:20:41 2008 @@ -12,14 +12,24 @@ %{ /* Includes the header in the wrapper code */ +#include <string> #include <sstream> #include <stdexcept> + +#define YUILogComponent "bindings" +#include "YaST2/yui/YUILog.h" + #include "YaST2/yui/YUI.h" #include "YaST2/yui/YWidgetFactory.h" #include "YaST2/yui/YDialog.h" #include "YaST2/yui/YLayoutBox.h" #include "YaST2/yui/YEvent.h" +#include "YaST2/yui/YSelectionBox.h" +#include "YaST2/yui/YLabel.h" +#include "YaST2/yui/YPushButton.h" +#include "YaST2/yui/YAlignment.h" + using namespace std; void * @@ -52,17 +62,6 @@ %include "std_set.i" %include "stl.i" - -# %include "YApplication.i" -# %include "YWidget.i" -# %include "YWidgetFactory.i" -# %include "YOptionalWidgetFactory.i" -# %include "YEvent.i" -# %include "YBuiltinCaller.i" -# %include "YDialog.i" -# %include "YMacroPlayer.i" -# %include "YMacroRecorder.i" - #ifdef SWIGPYTHON %include "python/callbacks.i" #endif @@ -71,9 +70,21 @@ %include YUI.h %ignore YUI::start_ui_thread; + +%define YUILogComponent "bindings" +%enddef +%include YUILog.h + +%include YTypes.h %include YWidgetFactory.h %include YWidget.h %include YSingleChildContainerWidget.h %include YDialog.h %include YLayoutBox.h %include YEvent.h +%include YSelectionWidget.h +%include YSelectionBox.h +%include YLabel.h +%include YPushButton.h +%include YAlignment.h +%include YItem.h \ No newline at end of file -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org