Parent

Class/Module Index [+]

Quicksearch

StatusIconSample

Public Class Methods

new() click to toggle source
# File gtk2/sample/misc/statusicon.rb, line 25
def initialize
  super
  @status = STATUS_INFO
  update_icon

  set_blinking(true)
  signal_connect("activate"){
    icon_activated
  }
  signal_connect("popup-menu"){|w, button, activate_time|
    menu = Gtk::Menu.new
    checkmenuitem = Gtk::CheckMenuItem.new("Blink")
    checkmenuitem.active = blinking?
    checkmenuitem.signal_connect("activate"){|w|
      set_blinking(w.active?)
    }
    menu.append(checkmenuitem)
    
    menuitem = Gtk::MenuItem.new("Quit")
    menuitem.signal_connect("activate"){
      set_visible(false)
      Gtk.main_quit
    }
    menu.append(menuitem)
    menu.show_all
    menu.popup(nil, nil, button, activate_time)
  }

  timeout_func
end

Public Instance Methods

icon_activated() click to toggle source
# File gtk2/sample/misc/statusicon.rb, line 78
def icon_activated
  unless @dialog
    @dialog = Gtk::MessageDialog.new(nil, 0,
                                     Gtk::MessageDialog::QUESTION,
                                     Gtk::MessageDialog::BUTTONS_CLOSE,
                                     "You wanna test the status icon?")
    @dialog.window_position = Gtk::Window::POS_CENTER
    
    @dialog.signal_connect("response"){ @dialog.hide }
    @dialog.signal_connect("delete_event"){ @dialog.hide_on_delete }
    
    toggle = Gtk::ToggleButton.new("_Show the icon")
    @dialog.vbox.pack_end(toggle, true, true, 6)
    toggle.active = visible?
    toggle.signal_connect("toggled"){|w|
      set_visible(w.active?)
    }

    toggle = Gtk::ToggleButton.new("_Blink the icon")
    @dialog.vbox.pack_end(toggle, true, true, 6)
    toggle.active = blinking?
    toggle.signal_connect("toggled"){|w|
      set_blinking(w.active?)
    }
 
    toggle = Gtk::ToggleButton.new("_Change the icon")
    @dialog.vbox.pack_end(toggle, true, true, 6)
    toggle.active = (@timeout != 0)
    toggle.signal_connect("toggled"){ 
      if @timeout and @timeout > 0
        GLib::Source.remove(@timeout)
        @timeout = 0
      else 
        @timeout = timeout_func
      end
    }
  end
  @dialog.show_all
  @dialog.present
end
timeout_func() click to toggle source
# File gtk2/sample/misc/statusicon.rb, line 66
def timeout_func
  GLib::Timeout.add(2000) {
    if @status == STATUS_INFO
      @status = STATUS_QUESTION
    else
      @status = STATUS_INFO
    end
    update_icon
    true
  }
end
update_icon() click to toggle source
# File gtk2/sample/misc/statusicon.rb, line 56
def update_icon
  if @status == STATUS_INFO
    set_icon_name(Gtk::Stock::DIALOG_INFO)
    set_tooltip("Some Information ...")
  else
    set_icon_name(Gtk::Stock::DIALOG_QUESTION)
    set_tooltip("Some Question ...")
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.