class Metasm::Gui::ContainerChoiceWidget

a widget that holds many other widgets, and displays only one of them at a time

a widget that holds many other widgets, and displays only one of them at a time

Attributes

view_indexes[RW]
views[RW]

Public Class Methods

new(*a, &b) click to toggle source
Calls superclass method
# File metasm/gui/gtk.rb, line 75
def initialize(*a, &b)
        super()
        self.show_border = false
        self.show_tabs = false
        @views = {}
        @view_indexes = []

        signal_connect('realize') { initialize_visible } if respond_to? :initialize_visible

        initialize_widget(*a, &b)

        show_all
end

Public Instance Methods

addview(name, w) click to toggle source
# File metasm/gui/gtk.rb, line 97
def addview(name, w)
        @view_indexes << name
        @views[name] = w
        append_page(w, Gtk::Label.new(name.to_s))
end
curview() click to toggle source
# File metasm/gui/gtk.rb, line 103
def curview
        @views[curview_index]
end
curview_index() click to toggle source
# File metasm/gui/gtk.rb, line 107
def curview_index
        return if page == -1
        @view_indexes[page]
end
has_focus?(c) click to toggle source
# File metasm/gui/win32.rb, line 1524
def has_focus?(c)
        c == @curview
end
hwnd=(h) click to toggle source
# File metasm/gui/win32.rb, line 1519
def hwnd=(h)
        @hwnd = h
        @views.each { |k, v| v.hwnd = h }
end
initialize_visible_() click to toggle source
# File metasm/gui/win32.rb, line 1468
def initialize_visible_
        @visible = true
        @views.each { |k, v| v.initialize_visible_ }
end
paint_(rc) click to toggle source
# File metasm/gui/win32.rb, line 1505
def paint_(rc)
        @curview.paint_(rc) if @curview
end
resized_(w, h) click to toggle source
# File metasm/gui/win32.rb, line 1509
def resized_(w, h)
        @width = w
        @height = h
        @views.each { |k, v|
                v.x = @x
                v.y = @y
                v.resized_(w, h)
        }
end
set_focus(c) click to toggle source
# File metasm/gui/win32.rb, line 1528
def set_focus(c)
        @curview = c
        grab_focus
        redraw
end
showview(i) click to toggle source
# File metasm/gui/gtk.rb, line 93
def showview(i)
        set_page @view_indexes.index(i)
end
view(i) click to toggle source
# File metasm/gui/gtk.rb, line 89
def view(i)
        @views[i]
end