added zoom in/out and rotate

This commit is contained in:
taipanromania 2008-10-07 14:28:32 +00:00
parent b3fb7c5cbf
commit cad4ff9f57
3 changed files with 159 additions and 24 deletions

View file

@ -22,16 +22,37 @@
#include "mainwindow.h"
MainWindow::MainWindow(QWidget* parent, Qt::WFlags fl)
: QWidget(parent, fl)
{
char bstyle_text[][40] = {
"Code 11", "Code 2 of 5 Matrix", "Code 2 of 5 Interleaved", "IATA Code 2 of 5",
"Code 2 of 5 Data Logic", "Code 2 of 5 Industrial", "Code 39", "Extended Code 39",
"EAN", "EAN-128", "Codabar", "Code 128", "DP Leitcode", "DP Identcode",
"Code 16k", "Code 93", "Flattermarken", "Databar",
"Databar Limited", "Databar Expanded", "Telepen", "UPC-A", "UPC-E",
"Postnet", "MSI Plessey", "FIM", "LOGMARS", "Pharmacode", "PZN",
"Pharmacode 2-track", "PDF417", "PDF417 Truncated", "Maxicode",
"QR Code", "Code 128 Subset B", "Auspost Standard", "Auspost Reply",
"Auspost Route", "Auspost Redirect", "ISBN", "Royal Mail 4-state",
"Data Matrix", "EAN-14", "Codablock-F", "NVE-18", "Databar Stacked",
"Databar Stacked Omni", "Databar Expanded Stacked", "PLANET",
"MicroPDF417", "USPS One Code", "UK Plessey", "Telepen Numeric",
"ITF-14", "Dutch Post KIX", "Aztec Code", "Code 32",
"Composite EAN", "Composite EAN-128", "Composite Databar",
"Composite Databar Limited", "Composite Databar Expanded",
"Composite UPC-A", "Composite UPC-E", "Composite Databar Stacked",
"Composite Databar Stacked Omni", "Composite Databar Expanded Stacked"
};
setupUi(this);
view->setScene(new QGraphicsScene);
m_fgcolor=qRgb(0,0,0);
m_bgcolor=qRgb(0xff,0xff,0xff);
for (int i=0;i<metaObject()->enumerator(0).keyCount();i++)
for (int i=0;i<metaObject()->enumerator(0).keyCount();i++) {
bstyle->addItem(metaObject()->enumerator(0).key(i));
bstyle->setItemText(i,bstyle_text[i]);
}
bstyle->setCurrentIndex(11);
on_generate_clicked();
view->scene()->addItem(&m_bc);
connect(bstyle, SIGNAL(currentIndexChanged( int )), SLOT(on_generate_clicked()));
@ -98,3 +119,25 @@ void MainWindow::on_generate_clicked()
view->scene()->update();
}
void MainWindow::on_zoomIn_clicked()
{
view->scale(1.2,1.2);
}
void MainWindow::on_zoomOut_clicked()
{
view->scale(0.9,0.9);
}
void MainWindow::on_rotateAc_clicked()
{
view->rotate(-5);
}
void MainWindow::on_rotateC_clicked()
{
view->rotate(5);
}
void MainWindow::on_reset_clicked()
{
view->resetTransform();
}