Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

Draw.h

00001 /*
00002 Copyright (C) 2000,2001 Stefan Duffner 
00003 
00004 This program is free software; you can redistribute it and/or
00005 modify it under the terms of the GNU General Public License
00006 as published by the Free Software Foundation; either version 2
00007 of the License, or any later version.
00008 
00009 This program is distributed in the hope that it will be useful,
00010 but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 GNU General Public License for more details.
00013 
00014 You should have received a copy of the GNU General Public License
00015 along with this program; if not, write to the Free Software
00016 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00017 */
00018 
00019 #ifndef DRAW_H
00020 #define DRAW_H
00021 
00022 #include <qpainter.h>
00023 #include <qobject.h>
00024 
00025 class Machine;
00026 class GState;
00027 class ScrollView;
00028 class GTransition;
00029 class Options;
00030 class GITransition;
00031 class Grid;
00032 class Transition;
00033 
00040 class Draw : public QObject
00041 {
00042   Q_OBJECT
00043   public:
00044     Draw(QObject*, Options* );
00045 
00046     void drawStates(Machine* , QPainter* , int , int , double );
00047     void drawState(Machine* m, GState* , QPainter* , int , int , double , 
00048       bool drawxor=TRUE);
00049     void drawTransitions(Machine* , QPainter* , int, int, double /*, int, int*/);
00050     void drawTransition(Machine*, GTransition* , QPainter* , int , int , 
00051       double , /*int, int,*/ bool drawxor=TRUE, bool dotted=TRUE, 
00052       bool control_lines=FALSE, bool first=FALSE);
00053     void drawArrow(GTransition*, QPainter*, QPen, int);
00054     void drawArrow(GITransition*, QPainter*, QPen, int);
00055     void drawCondition(Machine* m, GTransition* , QPainter* , int, int, 
00056       double/*, int, int*/);
00057     void drawInitialTransition(Machine* m, GITransition* , QPainter*, int, int, 
00058       double, bool drawxor=FALSE, bool first=FALSE, bool transptext=FALSE);
00059     void drawGrid(Grid*, QPainter*, int, int, double);
00060 
00061     void calcArrow(GTransition*, double&, double&, double&, double&);
00062     void calcArrow(GITransition*, double&, double&, double&, double&);
00063     void calcArrow(double, double, double, double, double&, double&, double&, 
00064                 double&);
00065 
00066     void drawHeadline(Machine* , QPainter* , double);
00067 
00068   private:
00070     Options* options;
00071 };
00072 
00073 
00074 
00075 
00076 #endif

Generated at Fri Apr 11 22:37:13 2003 for Qfsm by doxygen1.2.9.1 written by Dimitri van Heesch, © 1997-2001