class SimpleWizard

Public Class Methods

new(parent = nil) click to toggle source
Calls superclass method
# File examples/dialogs/simplewizard/simplewizard.rb, line 30
def initialize(parent = nil)
    super(parent)
    @history = []
    @numPages = 0
    @cancelButton = Qt::PushButton.new(tr("Cancel"))
    @backButton = Qt::PushButton.new(tr("< &Back"))
    @nextButton = Qt::PushButton.new(tr("Next >"))
    @finishButton = Qt::PushButton.new(tr("&Finish"))

    connect(@cancelButton, SIGNAL('clicked()'), self, SLOT('reject()'))
    connect(@backButton, SIGNAL('clicked()'), self, SLOT('backButtonClicked()'))
    connect(@nextButton, SIGNAL('clicked()'), self, SLOT('nextButtonClicked()'))
    connect(@finishButton, SIGNAL('clicked()'), self, SLOT('accept()'))

    @buttonLayout = Qt::HBoxLayout.new do |b|
                    b.addStretch(1)
                    b.addWidget(@cancelButton)
                    b.addWidget(@backButton)
                    b.addWidget(@nextButton)
                    b.addWidget(@finishButton)
    end

    @mainLayout = Qt::VBoxLayout.new {|l| l.addLayout(@buttonLayout)}
    self.layout = @mainLayout
end

Public Instance Methods

backButtonClicked() click to toggle source
# File examples/dialogs/simplewizard/simplewizard.rb, line 70
def backButtonClicked()
    @nextButton.enabled = true
    @finishButton.enabled = true

    oldPage = @history.last
    switchPage(oldPage)
end
buttonEnabled=(enable) click to toggle source
# File examples/dialogs/simplewizard/simplewizard.rb, line 56
def buttonEnabled=(enable)
    if @history.length == @numPages
        @finishButton.enabled = enable
    else
        @nextButton.enabled = enable
    end
end
nextButtonClicked() click to toggle source
# File examples/dialogs/simplewizard/simplewizard.rb, line 78
def nextButtonClicked()
    @nextButton.enabled = true
    @finishButton.enabled = (@history.length == @numPages - 1)

    oldPage = @history.last
    @history.push createPage(@history.length)
    switchPage(oldPage)
end
setNumPages(n) click to toggle source
# File examples/dialogs/simplewizard/simplewizard.rb, line 64
def setNumPages(n)
    @numPages = n
    @history.push createPage(0)
    switchPage(nil)
end
switchPage(oldPage) click to toggle source
# File examples/dialogs/simplewizard/simplewizard.rb, line 87
def switchPage(oldPage)
    if !oldPage.nil?
        oldPage.hide
        @mainLayout.removeWidget(oldPage)
    end

    newPage = @history.last
    @mainLayout.insertWidget(0, newPage)
    newPage.show
    newPage.setFocus

    @backButton.enabled = (@history.length != 1)
    if @history.length == @numPages
        @nextButton.enabled = false
        @finishButton.default = true
    else
        @nextButton.default = true
        @finishButton.enabled = false
    end

    setWindowTitle(tr("Simple Wizard - Step %d of %d" % 
                      [@history.length, @numPages] ) )
end