graphic_view.h

Go to the documentation of this file.
00001 
00023 #ifndef GRAPHIC_VIEW_H
00024 #define GRAPHIC_VIEW_H
00025 
00026 #include <QGraphicsView>
00027 
00028 #include "config.h"
00029 #include "graphic_items.h"
00030 #include "graphic_scene.h"
00031 #include "lcdpaintengine.h"
00032 #include "xmlrw.h"
00033 
00035 class GraphicView : public QGraphicsView
00036 {
00037         Q_OBJECT
00038 
00039         public slots:
00040                 void addGraphic(QGraphicsItem*);
00041                 void setSize(const QSize&);
00042                 void addScene(const QString& title=tr("untitled scene"), double time = 0);
00043                 void deleteScene();
00044                 void renameScene();
00045                 void setSceneTime();
00046                 void paintNextScene();
00047                 void paint();
00048                 void setTool(QAction*);
00049                 void zoomIn();
00050                 void zoomOut();
00051                 void clear();
00052                 void save();
00053                 void saveAs();
00054                 void load();
00055                 void selectScene(int);
00056                 void updateScene(const QList<QRectF>&);
00057                 void remove();
00058                 void copy();
00059                 void cut();
00060                 void paste();
00061 
00062         signals:
00063                 void updateSceneTime(double); 
00064                 void updateProperty(ModuleInterface*); 
00065                 void fileStatusChanged(const QString&); 
00066                 void sendPasteStatus(bool);
00067                 void sendEditStatus(bool);
00068 
00069         public:
00070                 enum ToolBtn { Invalid=0, Arrow, Move, Zoom, Text, Image, Line, Polygon, Rectangle, Ellipse };
00071                 GraphicView(QWidget* parent = 0);
00072                 ~GraphicView();
00073                 QTabBar* sceneBar();
00074 
00075         protected:
00076                 void mouseMoveEvent( QMouseEvent* );
00077                 void mousePressEvent( QMouseEvent* );
00078                 void dragMoveEvent( QDragMoveEvent* );
00079                 void dropEvent( QDropEvent* );
00080 
00081                 void drawBackground(QPainter*, const QRectF&);
00082                 
00083         private:
00084                 QMenu m_editMenu;
00085                 QTabBar m_sceneBar; 
00086                 QString m_filename; 
00087                 QList<GraphicScene*> m_scenes; 
00088                 int m_paintSceneIndex; 
00089                 int m_toolBtn; 
00090                 QGraphicsItem* m_tmpGraphic;
00091                 QList<QGraphicsItem *> m_pasteContainer; 
00092                 LCDPaintDevice m_lcdDev; 
00093 };
00094 
00095 #endif

Generated on Thu Apr 5 13:06:31 2007 for LCDBuilder by  doxygen 1.4.7