23 #include <Q3PointArray>
63 p->
Painter->setPen(QPen(Qt::black,0));
73 p->
Painter->setBrush(QColor(192, 192, 192));
74 p->
Painter->setPen(QColor(152, 152, 152));
80 Points.setPoints(3, x, dy, (x+dx)>>1, y, dx, dy);
81 p->
Painter->drawConvexPolygon(Points);
82 p->
Painter->setPen(QColor(224, 224, 224));
83 p->
Painter->drawLine(x, dy, (x+dx)>>1, y);
87 p->
Painter->setPen(QColor(152, 152, 152));
90 Points.setPoints(3, x, y-dy, (x+dx)>>1, y, dx, y-dy);
91 p->
Painter->drawConvexPolygon(Points);
92 p->
Painter->setPen(QColor(208, 208, 208));
93 p->
Painter->drawLine(x, y-dy, (x+dx)>>1, y);
94 p->
Painter->setPen(QColor(224, 224, 224));
95 p->
Painter->drawLine(x, y-dy, dx, y-dy);
97 p->
Painter->setBrush(QBrush(Qt::NoBrush));
108 p->
Painter->setPen(QPen(Qt::darkGray,3));
110 p->
Painter->setPen(QPen(Qt::darkRed,2));
130 int tHeight = metrics.lineSpacing();
132 int colWidth=0, x=8, y;
137 if(
y2 < (tHeight + 8))
139 y =
y2 - tHeight - 6;
143 Lines.append(
new Line(0,
y2, 0, 0, QPen(Qt::black,0)));
145 Lines.append(
new Line(0, 0,
x2, 0, QPen(Qt::black,0)));
146 Lines.append(
new Line(0, y+2,
x2, y+2, QPen(Qt::black,2)));
154 Str = QObject::tr(
"no variables");
166 int counting, invisibleCount=0;
167 int startWriting, lastCount = 1;
178 invisibleCount = counting - y/tHeight;
190 if(colWidth < 0)
goto funcEnd;
196 counting /= pD->count;
197 for(
int z1=0; z1<lastCount; z1++) {
199 for(
int z=pD->count; z>0; z--) {
200 if(startWriting <= 0) {
201 y += tHeight*startWriting;
203 if(y < tHeight)
break;
206 if(colWidth < 0)
goto funcEnd;
209 y -= tHeight*counting;
211 else startWriting -= counting;
215 if(y >= tHeight)
if(y <
y2-tHeight-5)
216 Lines.append(
new Line(0, y+1,
x2, y+1, QPen(Qt::black,0)));
218 lastCount *= pD->count;
221 Lines.append(
new Line(x-8,
y2, x-8, 0, QPen(Qt::black,0)));
223 Lines.current()->style = QPen(Qt::black,2);
237 if(colWidth < 0)
goto funcEnd;
246 Str = QObject::tr(
"invalid");
248 if(colWidth < 0)
goto funcEnd;
253 if(z > NumAll) NumAll = z;
255 if(g->
Var.right(2) !=
".X")
258 if(startWriting-- > 0)
continue;
259 if(y < tHeight)
break;
267 if(colWidth < 0)
goto funcEnd;
276 if(startWriting-- > 0) {
277 pcy += strlen(pcy) + 1;
280 if(y < tHeight)
break;
284 if(colWidth < 0)
goto funcEnd;
287 pcy += strlen(pcy) + 1;
292 if(z > NumLeft) NumLeft = z;
295 Str = QObject::tr(
"wrong dependency");
297 if(colWidth < 0)
goto funcEnd;
302 Str = QObject::tr(
"no data");
304 if(colWidth < 0)
goto funcEnd;
309 Lines.append(
new Line(x-8,
y2, x-8, 0, QPen(Qt::black,0)));
313 if(invisibleCount > 0) {
320 NumLeft = NumAll - NumLeft - y;
342 if(
x1 <= 0)
return 0;
346 if(clickPos > (
cy-20)) {
400 Name = QObject::tr(
"Tabular");
401 BitmapFile = (
char *)
"tabular";
void drawResizeRect(int, int)
void map(int, int, int &, int &)
#define MIN_SCROLLBAR_SIZE
virtual void paint(ViewPainter *)
QString complexDeg(double real, double imag, int Precision)
bool sameDependencies(Graph *, Graph *)
void drawLine(int, int, int, int)
QString StringNum(double num, char form, int Precision)
virtual Diagram * newOne()
Definitions and declarations for the main application.
QString complexRad(double real, double imag, int Precision)
static Element * info(QString &, char *&, bool getNewOne=false)
void fillRect(int, int, int, int, const QColor &)
int drawText(const QString &, int, int, int *Height=0)
Q3PtrList< Graph > Graphs
Q3PtrList< struct Arc > Arcs
QString complexRect(double real, double imag, int Precision)
TabDiagram(int _cx=0, int _cy=0)
int checkColumnWidth(const QString &, const QFontMetrics &, int, int, int)
void drawRect(int, int, int, int)
Superclass of all schematic drawing elements.
Q3PtrList< DataX > cPointsX
virtual bool scrollTo(int, int, int)
virtual int calcDiagram()