--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/templates/mainform.cpp Tue Jan 23 18:54:09 2007 +0000
@@ -0,0 +1,102 @@
+#include <QGridLayout>
+#include <QImage>
+#include <QPixmap>
+#include <QMessageBox>
+#include <QFile>
+#include <QTextStream>
+#include <QRegExp>
+#include <QDebug>
+#include "mainform.h"
+
+MyWindow::MyWindow(QWidget * parent, Qt::WFlags flags)
+ : QMainWindow(parent, flags)
+
+{
+ QWidget * centralWidget = new QWidget(this);
+ QGridLayout * mainlayout = new QGridLayout(centralWidget);
+ mainlayout->setMargin(1);
+ mainlayout->setSpacing(1);
+
+ sa_xy = new QScrollArea(centralWidget);
+ xy = new PixLabel();
+ xy->setFixedSize(1024, 512);
+ sa_xy->setWidget(xy);
+
+ mainlayout->addWidget(sa_xy, 0, 0, 1, 4);
+
+ setCentralWidget(centralWidget);
+
+ buttAdd = new QPushButton(centralWidget);
+ buttAdd->setText(tr("Add"));
+ mainlayout->addWidget(buttAdd, 1, 0);
+
+ buttCode = new QPushButton(centralWidget);
+ buttCode->setText(tr("Code"));
+ mainlayout->addWidget(buttCode, 1, 1);
+
+ buttSave = new QPushButton(centralWidget);
+ buttSave->setText(tr("Save"));
+ mainlayout->addWidget(buttSave, 1, 3);
+
+ buttLoad = new QPushButton(centralWidget);
+ buttLoad->setText(tr("Load"));
+ mainlayout->addWidget(buttLoad, 1, 2);
+
+ connect(buttAdd, SIGNAL(clicked()), xy, SLOT(AddRect()));
+ connect(buttCode, SIGNAL(clicked()), this, SLOT(Code()));
+ connect(buttSave, SIGNAL(clicked()), this, SLOT(Save()));
+ connect(buttLoad, SIGNAL(clicked()), this, SLOT(Load()));
+}
+
+void MyWindow::Code()
+{
+ if (xy->rects.size())
+ {
+ QFile f("template.pas");
+ if (!f.open(QIODevice::WriteOnly))
+ {
+ QMessageBox::information(this, tr("Error"),
+ tr("Cannot save"));
+ return ;
+ }
+
+ QTextStream stream(&f);
+ stream << QString("const Template0Points: array[0..%1] of TSDL_Rect =").arg(xy->rects.size() - 1) << endl;
+ stream << " (" << endl;
+ for(int i = 0; i < xy->rects.size(); i++)
+ {
+ QRect r = xy->rects[i].normalized();
+ stream << QString(" (x: %1; y: %2; w: %3; h: %4),").
+ arg(r.x() * 2, 4).arg(r.y() * 2, 4).arg(r.width() * 2, 4).arg(r.height() * 2, 4) << endl;
+ }
+ stream << " );" << endl;
+ f.close();
+ }
+}
+
+void MyWindow::Save()
+{
+ if (xy->rects.size())
+ {
+ QFile f("rects.txt");
+ if (!f.open(QIODevice::WriteOnly))
+ {
+ QMessageBox::information(this, tr("Error"),
+ tr("Cannot save"));
+ return ;
+ }
+
+ QTextStream stream(&f);
+ for(int i = 0; i < xy->rects.size(); i++)
+ {
+ QRect r = xy->rects[i].normalized();
+ stream << r.x() << " " << r.y() << " " << r.width() << " " << r.height() << endl;
+ }
+ f.close();
+ }
+}
+
+void MyWindow::Load()
+{
+
+}