- Tag *pom;
- QPainter p;
-
-if (!analyzer->tags.isEmpty())
-{
- cx=5;cy=15;
- map->fill(backgroundColor());
- p.begin(map);
-
- pom=analyzer->tags.first();
- while (pom!=NULL)
- {
- switch(pom->tag_type)
- {
- case TAG_TEXT:p.setFont(*actual_font);
- if (cx+p.fontMetrics().width(pom->tag_text)>width()-16)
- {cx=5;cy=cy+p.fontMetrics().height();}
- p.drawText(cx,cy,pom->tag_text);
- cx=cx+p.fontMetrics().width(pom->tag_text);
- break;
- case TAG_BREAK: p.setFont(*actual_font);
- cy=cy+p.fontMetrics().height();cx=5;
- break;
- case TAG_ITALIC_ON:
- if (actual_font==bold) actual_font=bold_italic;
- else actual_font=italic;
- break;
- case TAG_ITALIC_OFF:
- if (actual_font==bold_italic) actual_font=bold;
- else actual_font=normal;
- break;
- case TAG_BOLD_ON:
- if (actual_font==italic) actual_font=bold_italic;
- else actual_font=bold;
- break;
- case TAG_BOLD_OFF:
- if (actual_font==bold_italic) actual_font=italic;
- else actual_font=normal;
- break;
- case TAG_LINK:p.setFont(*actual_font);
- if (cx+p.fontMetrics().width(pom->tag_text)>width()-16)
- {cx=5;cy=cy+p.fontMetrics().height();}
- p.setPen(QColor(255,0,0));
- p.drawText(cx,cy,pom->tag_text);
- pom->x = cx;pom->y=cy+p.fontMetrics().height();
- pom->w = p.fontMetrics().width(pom->tag_text);
- pom->h = p.fontMetrics().height();
- p.setPen(QColor(0,0,0));
- cx=cx+p.fontMetrics().width(pom->tag_text);
- break;
- case TAG_ANCHOR: p.setFont(*actual_font);
- if (cx+p.fontMetrics().width(pom->tag_text)>width()-16)
- {cx=5;cy=cy+p.fontMetrics().height();}
- //p.setPen(QColor(0,255,0));
- p.drawText(cx,cy,pom->tag_text);
- pom->x = cx;pom->y=cy-p.fontMetrics().height();
- pom->w = p.fontMetrics().width(pom->tag_text);
- pom->h = p.fontMetrics().height();
- p.setPen(QColor(0,0,0));
- cx=cx+p.fontMetrics().width(pom->tag_text);
- break;
- case TAG_LIST_OFF:
- case TAG_LIST_ON:p.setFont(*actual_font);
- cx=5;cy=cy+p.fontMetrics().height();
- break;
- case TAG_LIST_ITEM:p.setFont(*actual_font);
- p.setBrush(QBrush(QColor(0,0,255)));
- cx=5;cy=cy+p.fontMetrics().height();
- p.drawPie(cx,cy-5,5,5,0,5760);
- cx=cx+15;
- break;
- case TAG_LINE:p.setFont(*actual_font);
- cx=5;cy=cy+p.fontMetrics().height();
- p.drawLine(cx,cy-(int)(p.fontMetrics().height()/2),
- width()-16-5,cy-(int)(p.fontMetrics().height()/2));
- cx=5;cy=cy+p.fontMetrics().height();
- break;
-
-
- }//switch
- pom = analyzer->tags.next();
- }
- p.end();
- repaint();
-}
+ Tag *pom;
+ QPainter p;
+
+ if (!analyzer->tags.isEmpty()) {
+ cx = 5;
+ cy = 15;
+ map->fill(backgroundColor());
+ p.begin(map);
+
+ pom = analyzer->tags.first();
+ while (pom != NULL) {
+ switch(pom->tag_type) {
+ case TAG_TEXT:
+ p.setFont(*actual_font);
+ if (cx + p.fontMetrics().width(pom->tag_text) >
+ width() - 16) {
+ cx = 5;
+ cy = cy + p.fontMetrics().height();
+ }
+ p.drawText(cx, cy, pom->tag_text);
+ cx = cx + p.fontMetrics().width(pom->tag_text);
+ break;
+ case TAG_BREAK:
+ p.setFont(*actual_font);
+ cy = cy + p.fontMetrics().height();
+ cx = 5;
+ break;
+ case TAG_ITALIC_ON:
+ if (actual_font == bold)
+ actual_font = bold_italic;
+ else
+ actual_font = italic;
+
+ break;
+ case TAG_ITALIC_OFF:
+ if (actual_font == bold_italic)
+ actual_font = bold;
+ else
+ actual_font = normal;
+
+ break;
+ case TAG_BOLD_ON:
+ if (actual_font == italic)
+ actual_font = bold_italic;
+ else
+ actual_font = bold;
+
+ break;
+ case TAG_BOLD_OFF:
+ if (actual_font == bold_italic)
+ actual_font = italic;
+ else
+ actual_font = normal;
+
+ break;
+ case TAG_LINK:
+ p.setFont(*actual_font);
+ if (cx + p.fontMetrics().width(pom->tag_text) >
+ width() - 16) {
+ cx = 5;
+ cy = cy + p.fontMetrics().height();
+ }
+ p.setPen(QColor(255, 0, 0));
+ p.drawText(cx, cy, pom->tag_text);
+ pom->x = cx;
+ pom->y = cy + p.fontMetrics().height();
+ pom->w = p.fontMetrics().width(pom->tag_text);
+ pom->h = p.fontMetrics().height();
+ p.setPen(QColor(0, 0, 0));
+ cx = cx + p.fontMetrics().width(pom->tag_text);
+ break;
+ case TAG_ANCHOR:
+ p.setFont(*actual_font);
+ if (cx + p.fontMetrics().width(pom->tag_text) >
+ width() - 16) {
+ cx = 5;
+ cy = cy + p.fontMetrics().height();
+ }
+ //p.setPen(QColor(0,255,0));
+ p.drawText(cx, cy, pom->tag_text);
+ pom->x = cx;
+ pom->y = cy - p.fontMetrics().height();
+ pom->w = p.fontMetrics().width(pom->tag_text);
+ pom->h = p.fontMetrics().height();
+ p.setPen(QColor(0, 0, 0));
+ cx=cx + p.fontMetrics().width(pom->tag_text);
+ break;
+ case TAG_LIST_OFF:
+ case TAG_LIST_ON:
+ p.setFont(*actual_font);
+ cx = 5;
+ cy = cy + p.fontMetrics().height();
+ break;
+ case TAG_LIST_ITEM:p.setFont(*actual_font);
+ p.setBrush(QBrush(QColor(0, 0, 255)));
+ cx = 5;
+ cy = cy + p.fontMetrics().height();
+ p.drawPie(cx, cy - 5, 5, 5, 0, 5760);
+ cx = cx + 15;
+ break;
+ case TAG_LINE:
+ p.setFont(*actual_font);
+ cx = 5;
+ cy = cy + p.fontMetrics().height();
+ p.drawLine(cx, cy -
+ (int)(p.fontMetrics().height() / 2),
+ width() - 16 - 5, cy -
+ (int)(p.fontMetrics().height() / 2));
+ cx = 5;
+ cy = cy + p.fontMetrics().height();
+ break;
+ }//switch
+ pom = analyzer->tags.next();
+ }
+ p.end();
+ repaint();
+ }