summaryrefslogtreecommitdiffstats
path: root/examples/demo/dnd/dnd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/demo/dnd/dnd.cpp')
-rw-r--r--examples/demo/dnd/dnd.cpp120
1 files changed, 120 insertions, 0 deletions
diff --git a/examples/demo/dnd/dnd.cpp b/examples/demo/dnd/dnd.cpp
new file mode 100644
index 0000000..eb3684d
--- /dev/null
+++ b/examples/demo/dnd/dnd.cpp
@@ -0,0 +1,120 @@
+#include <qiconview.h>
+#include <qdragobject.h>
+#include <qlayout.h>
+#include <qmultilineedit.h>
+
+#include "dnd.h"
+#include "styledbutton.h"
+#include "listview.h"
+#include "iconview.h"
+
+DnDDemo::DnDDemo( QWidget* parent, const char* name )
+ : DnDDemoBase( parent, name )
+{
+ buttonPixmap1->setEditor( StyledButton::PixmapEditor );
+ buttonPixmap2->setEditor( StyledButton::PixmapEditor );
+ buttonPixmap3->setEditor( StyledButton::PixmapEditor );
+ buttonPixmap4->setEditor( StyledButton::PixmapEditor );
+
+ multiLine1->setTextFormat( RichText );
+ multiLine1->setText( "<p><b>Faust</b> - <i>Goethe</i></p>"
+ "Habe nun, ach! Philosophie,<br>"
+ "Juristerei und Medizin,<br>"
+ "Und leider auch Theologie<br>"
+ "Durchaus studiert, mit heißem Bemühn.<br>"
+ "Da steh ich nun, ich armer Tor!<br>"
+ "Und bin so klug als wie zuvor;<br>"
+ "Heiße Magister, heiße Doktor gar<br>"
+ "Und ziehe schon an die zehen Jahr<br>"
+ "Herauf, herab und quer und krumm<br>"
+ "Meine Schüler an der Nase herum-<br>"
+ "Und sehe, daß wir nichts wissen können!<br>"
+ "Das will mir schier das Herz verbrennen.<br>"
+ "Zwar bin ich gescheiter als all die Laffen,<br>"
+ "Doktoren, Magister, Schreiber und Pfaffen;<br>"
+ "Mich plagen keine Skrupel noch Zweifel,<br>"
+ "Fürchte mich weder vor Hölle noch Teufel-<br>"
+ "Dafür ist mir auch alle Freud entrissen,<br>"
+ "Bilde mir nicht ein, was Rechts zu wissen,<br>"
+ "Bilde mir nicht ein, ich könnte was lehren,<br>"
+ "Die Menschen zu bessern und zu bekehren.<br>"
+ "Auch hab ich weder Gut noch Geld,<br>"
+ "Noch Ehr und Herrlichkeit der Welt;<br>"
+ "Es möchte kein Hund so länger leben!<br>"
+ "Drum hab ich mich der Magie ergeben,<br>"
+ "Ob mir durch Geistes Kraft und Mund<br>"
+ "Nicht manch Geheimnis würde kund;<br>"
+ "Daß ich nicht mehr mit saurem Schweiß<br>"
+ "Zu sagen brauche, was ich nicht weiß;<br>"
+ "Daß ich erkenne, was die Welt<br>"
+ "Im Innersten zusammenhält,<br>"
+ "Schau alle Wirkenskraft und Samen,<br>"
+ "Und tu nicht mehr in Worten kramen. <br>" );
+
+ multiLine2->setTextFormat( RichText );
+ multiLine2->setText( "<p><b>To Milton</b> - <i>Oscar Wilde</i></p>"
+ "Milton! I think thy spirit hath passed away<br>"
+ "From these white cliffs and high-embattled towers;<br>"
+ "This gorgeous fiery-coloured world of ours<br>"
+ "Seems fallen into ashes dull and grey,<br>"
+ "And the age changed unto a mimic play<br>"
+ "Wherein we waste our else too-crowded hours:<br>"
+ "For all our pomp and pageantry and powers<br>"
+ "We are but fit to delve the common clay,<br>"
+ "Seeing this little isle on which we stand,<br>"
+ "This England, this sea-lion of the sea,<br>"
+ "By ignorant demagogues is held in fee,<br>"
+ "Who love her not: Dear God! is this the land<br>"
+ "Which bare a triple empire in her hand<br>"
+ "When Cromwell spake the word Democracy!<br>" );
+
+
+ items.insert( tr("copy"), IconItem( tr("Copy"), "editcopy.png" ) );
+ items.insert( tr("cut"), IconItem( tr("Cut"), "editcut.png" ));
+ items.insert( tr("paste"), IconItem( tr("Paste"), "editpaste.png" ));
+ items.insert( tr("raise"), IconItem( tr("Raise"), "editraise.png" ));
+ items.insert( tr("lower"), IconItem( tr("Lower"), "editlower.png" ));
+ items.insert( tr("new"), IconItem( tr("New"), "filenew.png" ));
+ items.insert( tr("load"), IconItem( tr("Load"), "fileopen.png" ));
+ items.insert( tr("save"), IconItem( tr("Save"), "filesave.png" ));
+ items.insert( tr("undo"), IconItem( tr("Undo"), "undo.png" ));
+ items.insert( tr("redo"), IconItem( tr("Redo"), "redo.png" ));
+ items.insert( tr("delete"), IconItem( tr("Delete"), "editdelete.png" ));
+ items.insert( tr("help"), IconItem( tr("Help"), "help.png" ));
+ items.insert( tr("home"), IconItem( tr("Home"), "home.png" ));
+
+ listView->addColumn( tr("Actions"), 240 );
+ listView->setColumnWidthMode( 0, QListView::Maximum );
+
+ QMap<QString,IconItem>::Iterator it;
+ for( it = items.begin(); it != items.end(); ++it ) {
+ IconItem item = it.data();
+
+ QIconViewItem *iitem = new IconViewItem( iconView, item.name(), *item.pixmap(), it.key() );
+ iitem->setRenameEnabled( TRUE );
+ QListViewItem *litem = new ListViewItem( listView, item.name(), it.key() );
+ litem->setPixmap( 0, *item.pixmap() );
+ }
+}
+
+DnDDemo::~DnDDemo()
+{
+
+}
+
+IconItem::IconItem( const QString& name, const QString& icon )
+{
+ _name = name;
+ _pixmap = loadPixmap( icon );
+}
+
+QPixmap IconItem::loadPixmap( const QString& name )
+{
+ QPixmap pix( "textdrawing/" + name );
+ return pix;
+}
+
+IconItem DnDDemo::findItem( const QString& tag )
+{
+ return items[ tag ];
+}