class TetrixWindow

Public Class Methods

new(parent = nil) click to toggle source
Calls superclass method
# File examples/widgets/tetrix/tetrixwindow.rb, line 30
def initialize(parent = nil)
    super(parent)
    @board = TetrixBoard.new(self)

    @nextPieceLabel = Qt::Label.new
    @nextPieceLabel.frameStyle = Qt::Frame::Box | Qt::Frame::Raised
    @nextPieceLabel.alignment = Qt::AlignCenter.to_i
    @board.nextPieceLabel = @nextPieceLabel

    @scoreLcd = Qt::LCDNumber.new(5)
    @scoreLcd.segmentStyle = Qt::LCDNumber::Filled
    @levelLcd = Qt::LCDNumber.new(2)
    @levelLcd.segmentStyle = Qt::LCDNumber::Filled
    @linesLcd = Qt::LCDNumber.new(5)
    @linesLcd.segmentStyle = Qt::LCDNumber::Filled

    @startButton = Qt::PushButton.new(tr("&Start"))
    @startButton.focusPolicy = Qt::NoFocus
    @quitButton = Qt::PushButton.new(tr("&Quit"))
    @quitButton.focusPolicy = Qt::NoFocus
    @pauseButton = Qt::PushButton.new(tr("&Pause"))
    @pauseButton.focusPolicy = Qt::NoFocus

    connect(@startButton, SIGNAL('clicked()'), @board, SLOT('start()'))
    connect(@quitButton , SIGNAL('clicked()'), $qApp, SLOT('quit()'))
    connect(@pauseButton, SIGNAL('clicked()'), @board, SLOT('pause()'))
    connect(@board, SIGNAL('scoreChanged(int)'), @scoreLcd, SLOT('display(int)'))
    connect(@board, SIGNAL('levelChanged(int)'), @levelLcd, SLOT('display(int)'))
    connect(@board, SIGNAL('linesRemovedChanged(int)'),
            @linesLcd, SLOT('display(int)'))

    layout = Qt::GridLayout.new do |l|
        l.addWidget(createLabel(tr("NEXT")), 0, 0)
        l.addWidget(@nextPieceLabel, 1, 0)
        l.addWidget(createLabel(tr("LEVEL")), 2, 0)
        l.addWidget(@levelLcd, 3, 0)
        l.addWidget(@startButton, 4, 0)
        l.addWidget(@board, 0, 1, 6, 1)
        l.addWidget(createLabel(tr("SCORE")), 0, 2)
        l.addWidget(@scoreLcd, 1, 2)
        l.addWidget(createLabel(tr("LINES REMOVED")), 2, 2)
        l.addWidget(@linesLcd, 3, 2)
        l.addWidget(@quitButton, 4, 2)
        l.addWidget(@pauseButton, 5, 2)
    end

    setLayout(layout)

    setWindowTitle(tr("Tetrix"))
    resize(550, 370)
end

Public Instance Methods

createLabel(text) click to toggle source
# File examples/widgets/tetrix/tetrixwindow.rb, line 82
def createLabel(text)
    lbl = Qt::Label.new(text)
    lbl.alignment = Qt::AlignHCenter | Qt::AlignBottom
    return lbl
end