class ButtonMenuItem
this file is part of manqod manqod is distributed under the CDDL licence the author of manqod is Dobai-Pataky Balint(dpblnt@gmail.com)
Attributes
modname[RW]
target[RW]
text[RW]
Public Class Methods
new(menu_id,parent_menu)
click to toggle source
Calls superclass method
# File lib/ButtonMenu/ButtonMenuItem.rb, line 8 def initialize(menu_id,parent_menu) @menu_id=menu_id @submenu=nil @parent_menu=parent_menu @image_size=nil if row=admin.qrow("select gtkmenu.*, modules.modname from gtkmenu left join modules on gtkmenu.module = modules.id where gtkmenu.id='#{menu_id}'") @modname=row["modname"] if row["module"].to_i == -1 @target=nil else @target=row['target'] end @text=row['display'] @image_id=row['imageid'].to_i end super() set_use_underline(true) set_relief(Gtk::ReliefStyle::NONE) set_no_show_all(true) set_label(text) # set_image(Gtk::Image.new(image_of_id(@image_id,"gtk-large-toolbar"))) # resize_image("gtk-large-toolbar") set_image_position(Gtk::PositionType::TOP) signal_connect("clicked"){|me| edebug(self.inspect+" clicked, so emiting signal","menu","debug") parent_menu.submenu.hide_tree show_up(self) self.changed notify_observers(self) } self end
Public Instance Methods
resize_image(new_size)
click to toggle source
# File lib/ButtonMenu/ButtonMenuItem.rb, line 74 def resize_image(new_size) if @image_size!=new_size set_image(Gtk::Image.new(image_of_id(@image_id,new_size))) @image_size=new_size end end
show_up(caller)
click to toggle source
# File lib/ButtonMenu/ButtonMenuItem.rb, line 61 def show_up(caller) edebug(inspect+" showup","menu","debug") if submenu if caller==self submenu.show_items("gtk-small-toolbar",nil) else submenu.show_items("gtk-large-toolbar",caller) end parent_menu.show_up(self) if parent_menu else parent_menu.show_up(parent_menu) if parent_menu end end
to_s()
click to toggle source
# File lib/ButtonMenu/ButtonMenuItem.rb, line 57 def to_s "ButtonMenuItem(#{text})" end
update(notifier)
click to toggle source
# File lib/ButtonMenu/ButtonMenuItem.rb, line 51 def update(notifier) edebug(self.inspect+" we've been called, so emiting signal","menu","debug") changed notify_observers(notifier) end