class DropArea
Public Class Methods
new(parent = nil)
click to toggle source
Calls superclass method
# File examples/draganddrop/dropsite/dropsitewidget.rb, line 35 def initialize(parent = nil) super(parent) setMinimumSize(200, 200) setFrameStyle(Qt::Frame::Sunken | Qt::Frame::StyledPanel) setAlignment(Qt::AlignCenter) setAcceptDrops(true) setAutoFillBackground(true) clear() end
Public Instance Methods
clear()
click to toggle source
# File examples/draganddrop/dropsite/dropsitewidget.rb, line 93 def clear() setText(tr("<drop content>")) setBackgroundRole(Qt::Palette::Dark) emit changed(nil) end
dragEnterEvent(event)
click to toggle source
# File examples/draganddrop/dropsite/dropsitewidget.rb, line 45 def dragEnterEvent(event) setText(tr("<drop content>")) setBackgroundRole(Qt::Palette::Highlight) event.acceptProposedAction() # emit changed(event.mimeData()) end
dragLeaveEvent(event)
click to toggle source
# File examples/draganddrop/dropsite/dropsitewidget.rb, line 88 def dragLeaveEvent(event) clear() event.accept() end
dragMoveEvent(event)
click to toggle source
# File examples/draganddrop/dropsite/dropsitewidget.rb, line 53 def dragMoveEvent(event) event.acceptProposedAction() end
dropEvent(event)
click to toggle source
# File examples/draganddrop/dropsite/dropsitewidget.rb, line 57 def dropEvent(event) mimeData = event.mimeData() if mimeData.hasText setText(mimeData.text()) setTextFormat(Qt::PlainText) end formats = mimeData.formats() formats.each do |format| if format.start_with?("image/") pixmap = Qt::Pixmap.new pixmap.loadFromData(mimeData.data(format), format) if !pixmap.nil? setPixmap(pixmap) break end end #text = createPlainText(mimeData.data(format), format) text = mimeData.data(format).to_s if !text.empty? setText(text) break else setText(tr("No supported format")) end end setBackgroundRole(Qt::Palette::Dark) event.acceptProposedAction() end