12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #include "CMindView.h"
- #include "CRectItem.h"
- #include "CLineItem.h"
- #include "CTextItem.h"
- #include "CMind.h"
- #include "CNodeItem.h"
- #include <QMenu>
- #include <QContextMenuEvent>
- #include <QDebug>
- CMindView::CMindView(QWidget *parent) : QGraphicsView(new QGraphicsScene(), parent)
- {
- setRenderHints(QPainter::Antialiasing); // 抗锯齿
- }
- CMind *CMindView::mind() const
- {
- return m_mind;
- }
- void CMindView::setMind(CMind *mind)
- {
- m_mind = mind;
- refresh();
- }
- void CMindView::refresh()
- {
- for (CNodeData n : m_mind->nodeList()) {
- CNodeItem *item = new CNodeItem(n.number);
- item->setText(n.name);
- item->setPos(QPointF());
- scene()->addItem(item->rectItem());
- scene()->addItem(item->textItem());
- }
- }
- void CMindView::setALignment(CMindView::Alignment align)
- {
- m_align = align;
- }
- void CMindView::testItems()
- {
- CRectItem *r = new CRectItem(QRectF(0, 0, 100, 100));
- scene()->addItem(r);
- CLineItem *l = new CLineItem(QPointF(-100, -100), QPointF(50, 50));
- scene()->addItem(l);
- l->setFlags(QGraphicsItem::ItemIsMovable);
- l->setLineType(CLineItem::CurveToLine);
- CTextItem *t = new CTextItem("test", QPoint(0, 0));
- scene()->addItem(t);
- }
|