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
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