summaryrefslogtreecommitdiffstats
path: root/qtruby/rubylib/examples/base/rui.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qtruby/rubylib/examples/base/rui.rb')
-rw-r--r--qtruby/rubylib/examples/base/rui.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/qtruby/rubylib/examples/base/rui.rb b/qtruby/rubylib/examples/base/rui.rb
new file mode 100644
index 00000000..ad14bc11
--- /dev/null
+++ b/qtruby/rubylib/examples/base/rui.rb
@@ -0,0 +1,21 @@
+require '../base/kicons.rb'
+
+RAction = Struct.new(:text_with_accel, :icon_type, :rec, :slot, :included_in, :action)
+RSeperator = Struct.new(:included_in, :id)
+
+def build_actions(actions)
+ actions.each { |a|
+ if a.is_a? RSeperator
+ a.included_in.each {
+ |to| a.id = to.insertSeparator()
+ }
+ else
+ qt_action = $kIcons.make_qt_action(self, a.text_with_accel, a.icon_type)
+ connect(qt_action, SIGNAL('activated()'), a.rec, a.slot)
+ a.included_in.each {
+ |to| qt_action.addTo(to)
+ }
+ a.action = qt_action
+ end
+ }
+end