Class: DragLabel

Inherits:
Qt::Label show all
Defined in:
ext/ruby/qtruby/examples/draganddrop/draggabletext/draglabel.rb,
ext/ruby/qtruby/examples/draganddrop/fridgemagnets/draglabel.rb

Overview

** ** Copyright © 2004-2005 Trolltech AS. All rights reserved. ** ** This file is part of the example classes of the Qt Toolkit. ** ** This file may be used under the terms of the GNU General Public ** License version 2.0 as published by the Free Software Foundation ** and appearing in the file LICENSE.GPL included in the packaging of ** this file. Please review the following information to ensure GNU ** General Public Licensing requirements will be met: ** www.trolltech.com/products/qt/opensource.html ** ** If you are unsure which license is appropriate for your use, please ** review the following information: ** www.trolltech.com/products/qt/licensing.html or contact the ** sales department at [email protected]. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. **

** Translated to QtRuby by Richard Dale

Instance Method Summary collapse

Constructor Details

#initialize(text, parent = nil) ⇒ DragLabel

Returns a new instance of DragLabel.



28
29
30
31
32
# File 'ext/ruby/qtruby/examples/draganddrop/draggabletext/draglabel.rb', line 28

def initialize(text, parent = nil)
    super(text, parent)
    setFrameShape(Qt::Frame::Panel)
    setFrameShadow(Qt::Frame::Raised)
end

Instance Method Details

#mousePressEvent(event) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'ext/ruby/qtruby/examples/draganddrop/draggabletext/draglabel.rb', line 34

def mousePressEvent(event)
    plainText = text(); # for quoting purposes

    mimeData = Qt::MimeData.new
    mimeData.text = plainText

    drag = Qt::Drag.new(self)
    drag.mimeData = mimeData
    drag.hotSpot = event.pos - rect.topLeft

    dropAction = drag.start(Qt::CopyAction | Qt::MoveAction)
    
    if dropAction == Qt::MoveAction
        close()
        update()
    end
end