You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qt3/examples/demo/dnd/dnd.cpp

121 lines
5.5 KiB

#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 ];
}