class Sender

Public Class Methods

new(parent = nil) click to toggle source
Calls superclass method
# File examples/network/broadcastsender/sender.rb, line 31
def initialize(parent = nil)
    super(parent)
    @statusLabel = Qt::Label.new(tr("Ready to broadcast datagrams on port 45454"))
    @startButton = Qt::PushButton.new(tr("&Start"))
    @quitButton = Qt::PushButton.new(tr("&Quit"))
    @timer = Qt::Timer.new(self)
    @udpSocket = Qt::UdpSocket.new(self)
    @messageNo = 1

    connect(@startButton, SIGNAL(:clicked), self, SLOT(:startBroadcasting))
    connect(@quitButton, SIGNAL(:clicked), self, SLOT(:close))
    connect(@timer, SIGNAL(:timeout), self, SLOT(:broadcastDatagram))

    buttonLayout = Qt::HBoxLayout.new do |b|
                b.addStretch(1)
                b.addWidget(@startButton)
                b.addWidget(@quitButton)
        end

    self.layout = Qt::VBoxLayout.new do |m|
                m.addWidget(@statusLabel)
                m.addLayout(buttonLayout)
        end

    self.windowTitle = tr("Broadcast Sender")
end

Public Instance Methods

broadcastDatagram() click to toggle source
# File examples/network/broadcastsender/sender.rb, line 63
def broadcastDatagram()
    @statusLabel.text = tr("Now broadcasting datagram %d" % @messageNo)
    datagram = Qt::ByteArray.new("Broadcast message %d" % @messageNo)
    @udpSocket.writeDatagram(datagram,
    # method_missing with this syntax
    #@udpSocket.writeDatagram(datagram.data(), datagram.size(),
                             Qt::HostAddress.new(Qt::HostAddress::Broadcast), 45454)
    @messageNo += 1
end
startBroadcasting() click to toggle source
# File examples/network/broadcastsender/sender.rb, line 58
def startBroadcasting()
    @startButton.enabled = false
    @timer.start(1000)
end