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