Class: TetrixWindow
- Inherits:
-
Qt::Widget
- Object
- Qt::Base
- Qt::Widget
- TetrixWindow
- Defined in:
- ext/ruby/qtruby/examples/widgets/tetrix/tetrixwindow.rb
Instance Method Summary collapse
- #createLabel(text) ⇒ Object
-
#initialize(parent = nil) ⇒ TetrixWindow
constructor
A new instance of TetrixWindow.
Methods inherited from Qt::Widget
Methods inherited from Qt::Base
#%, #&, #*, #**, #+, #-, #-@, #/, #<, #<<, #<=, #==, #>, #>=, #>>, #QCOMPARE, #QEXPECT_FAIL, #QFAIL, #QSKIP, #QTEST, #QVERIFY, #QVERIFY2, #QWARN, #^, ancestors, #is_a?, #methods, private_slots, #protected_methods, #public_methods, q_classinfo, q_signal, q_slot, signals, #singleton_methods, slots, #|, #~
Constructor Details
#initialize(parent = nil) ⇒ TetrixWindow
Returns a new instance of TetrixWindow.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'ext/ruby/qtruby/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 |