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

menu_id[RW]
modname[RW]
parent_menu[RW]
submenu[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