From d796c9dd933ab96ec83b9a634feedd5d32e1ba3f Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Tue, 8 Nov 2011 12:31:36 -0600 Subject: Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731 --- doc/html/simple_dd-example.html | 305 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 305 insertions(+) create mode 100644 doc/html/simple_dd-example.html (limited to 'doc/html/simple_dd-example.html') diff --git a/doc/html/simple_dd-example.html b/doc/html/simple_dd-example.html new file mode 100644 index 000000000..c64ea32d4 --- /dev/null +++ b/doc/html/simple_dd-example.html @@ -0,0 +1,305 @@ + + + + + +Drag and Drop (Simple) + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

Drag and Drop (Simple)

+ + +

+This provides a very simple example of TQt's drag and drop +functionality. +

For a more complete example see the Drag and Drop example. +


+

Header file: +

/****************************************************************************
+** $Id: qt/main.h   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
+**
+** This file is part of an example program for TQt.  This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include <qapplication.h>
+#include <qcursor.h>
+#include <qsplitter.h>
+#include <qlistbox.h>
+#include <qiconview.h>
+#include <qpixmap.h>
+
+class TQDragEnterEvent;
+class TQDragDropEvent;
+
+
+class DDListBox : public TQListBox
+{
+    Q_OBJECT
+public:
+    DDListBox( TQWidget * parent = 0, const char * name = 0, WFlags f = 0 );
+    // Low-level drag and drop
+    void dragEnterEvent( TQDragEnterEvent *evt );
+    void dropEvent( TQDropEvent *evt );
+    void mousePressEvent( TQMouseEvent *evt );
+    void mouseMoveEvent( TQMouseEvent * );
+private:
+    int dragging;
+};
+
+
+class DDIconViewItem : public TQIconViewItem
+{
+public:
+    DDIconViewItem( TQIconView *parent, const TQString& text, const TQPixmap& icon ) :
+        TQIconViewItem( parent, text, icon ) {}
+    DDIconViewItem( TQIconView *parent, const TQString &text ) :
+        TQIconViewItem( parent, text ) {}
+    // High-level drag and drop
+    bool acceptDrop( const TQMimeSource *mime ) const;
+    void dropped( TQDropEvent *evt, const TQValueList<TQIconDragItem>& );
+};
+
+
+class DDIconView : public TQIconView
+{
+    Q_OBJECT
+public:
+    DDIconView( TQWidget * parent = 0, const char * name = 0, WFlags f = 0 ) :
+        TQIconView( parent, name, f ) {}
+    // High-level drag and drop
+    TQDragObject *dragObject();
+public slots:
+    void slotNewItem( TQDropEvent *evt, const TQValueList<TQIconDragItem>& list );
+};
+
+
+ +


+

Implementation: +

/****************************************************************************
+** $Id: qt/main.cpp   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
+**
+** This file is part of an example program for TQt.  This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+
+const char* red_icon[]={
+"16 16 2 1",
+"r c red",
+". c None",
+"................",
+"................",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"................",
+"................"};
+
+const char* blue_icon[]={
+"16 16 2 1",
+"b c blue",
+". c None",
+"................",
+"................",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"................",
+"................"};
+
+const char* green_icon[]={
+"16 16 2 1",
+"g c green",
+". c None",
+"................",
+"................",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"................",
+"................"};
+
+
+// ListBox -- low level drag and drop
+
+DDListBox::DDListBox( TQWidget * parent, const char * name, WFlags f ) :
+    TQListBox( parent, name, f )
+{
+    setAcceptDrops( TRUE );
+    dragging = FALSE;
+}
+
+
+void DDListBox::dragEnterEvent( TQDragEnterEvent *evt )
+{
+    if ( TQTextDrag::canDecode( evt ) )
+        evt->accept();
+}
+
+
+void DDListBox::dropEvent( TQDropEvent *evt )
+{
+    TQString text;
+
+    if ( TQTextDrag::decode( evt, text ) )
+        insertItem( text );
+}
+
+
+void DDListBox::mousePressEvent( TQMouseEvent *evt )
+{
+    TQListBox::mousePressEvent( evt );
+    dragging = TRUE;
+}
+
+
+void DDListBox::mouseMoveEvent( TQMouseEvent * )
+{
+    if ( dragging ) {
+        TQDragObject *d = new TQTextDrag( currentText(), this );
+        d->dragCopy(); // do NOT delete d.
+        dragging = FALSE;
+    }
+}
+
+
+// IconViewIcon -- high level drag and drop
+
+
+bool DDIconViewItem::acceptDrop( const TQMimeSource *mime ) const
+{
+    if ( mime->provides( "text/plain" ) )
+        return TRUE;
+    return FALSE;
+}
+
+
+void DDIconViewItem::dropped( TQDropEvent *evt, const TQValueList<TQIconDragItem>& )
+{
+    TQString label;
+
+    if ( TQTextDrag::decode( evt, label ) )
+        setText( label );
+}
+
+
+// IconView -- high level drag and drop
+
+TQDragObject *DDIconView::dragObject()
+{
+  return new TQTextDrag( currentItem()->text(), this );
+}
+
+void DDIconView::slotNewItem( TQDropEvent *evt, const TQValueList<TQIconDragItem>& )
+{
+    TQString label;
+
+    if ( TQTextDrag::decode( evt, label ) ) {
+        DDIconViewItem *item = new DDIconViewItem( this, label );
+        item->setRenameEnabled( TRUE );
+    }
+}
+
+
+
+int main( int argc, char *argv[] )
+{
+    TQApplication app( argc, argv );
+
+    // Create and show the widgets
+    TQSplitter *split = new TQSplitter();
+    DDIconView *iv   = new DDIconView( split );
+    (void)             new DDListBox( split );
+    app.setMainWidget( split );
+    split->resize( 600, 400 );
+    split->show();
+
+    // Set up the connection so that we can drop items into the icon view
+    TQObject::connect(
+        iv, SIGNAL(dropped(TQDropEvent*, const TQValueList<TQIconDragItem>&)),
+        iv, SLOT(slotNewItem(TQDropEvent*, const TQValueList<TQIconDragItem>&)));
+
+    // Populate the TQIconView with icons
+    DDIconViewItem *item;
+    item = new DDIconViewItem( iv, "Red",   TQPixmap( red_icon ) );
+    item->setRenameEnabled( TRUE );
+    item = new DDIconViewItem( iv, "Green", TQPixmap( green_icon ) );
+    item->setRenameEnabled( TRUE );
+    item = new DDIconViewItem( iv, "Blue",  TQPixmap( blue_icon ) );
+    item->setRenameEnabled( TRUE );
+
+    return app.exec();
+}
+
+
+
+ +

See also Examples. + + +


+ +
Copyright © 2007 +TrolltechTrademarks +
TQt 3.3.8
+
+ -- cgit v1.2.1