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.
92 lines
1.6 KiB
92 lines
1.6 KiB
#ifndef EXAMPLE_H
|
|
#define EXAMPLE_H
|
|
|
|
#include <qpopupmenu.h>
|
|
#include <qmainwindow.h>
|
|
#include <qintdict.h>
|
|
#include <qcanvas.h>
|
|
|
|
class BouncyLogo : public QCanvasSprite {
|
|
void initPos();
|
|
void initSpeed();
|
|
public:
|
|
BouncyLogo(QCanvas*);
|
|
void advance(int);
|
|
int rtti() const;
|
|
};
|
|
|
|
|
|
class FigureEditor : public QCanvasView {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
FigureEditor(QCanvas&, QWidget* parent=0, const char* name=0, WFlags f=0);
|
|
void clear();
|
|
|
|
protected:
|
|
void contentsMousePressEvent(QMouseEvent*);
|
|
void contentsMouseMoveEvent(QMouseEvent*);
|
|
|
|
signals:
|
|
void status(const QString&);
|
|
|
|
private:
|
|
QCanvasItem* moving;
|
|
QPoint moving_start;
|
|
};
|
|
|
|
class Main : public QMainWindow {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
Main(QCanvas&, QWidget* parent=0, const char* name=0, WFlags f=0);
|
|
~Main();
|
|
|
|
public slots:
|
|
void help();
|
|
|
|
private slots:
|
|
void aboutQt();
|
|
void newView();
|
|
void clear();
|
|
void init();
|
|
|
|
void addSprite();
|
|
void addCircle();
|
|
void addHexagon();
|
|
void addPolygon();
|
|
void addSpline();
|
|
void addText();
|
|
void addLine();
|
|
void addRectangle();
|
|
void addMesh();
|
|
void addLogo();
|
|
void addButterfly();
|
|
|
|
void enlarge();
|
|
void shrink();
|
|
void rotateClockwise();
|
|
void rotateCounterClockwise();
|
|
void zoomIn();
|
|
void zoomOut();
|
|
void mirror();
|
|
void moveL();
|
|
void moveR();
|
|
void moveU();
|
|
void moveD();
|
|
|
|
void print();
|
|
|
|
void toggleDoubleBuffer();
|
|
|
|
private:
|
|
QCanvas& canvas;
|
|
FigureEditor *editor;
|
|
|
|
QPopupMenu* options;
|
|
QPrinter* printer;
|
|
int dbf_id;
|
|
};
|
|
|
|
#endif
|