123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- #ifndef MINDMAPWIDGET_H
- #define MINDMAPWIDGET_H
- #include "api/capture/capturewindow.h"
- #include "api/controls/showpixmapdialog.h"
- #include "editcolordialog.h"
- #include "editmarknodedialog.h"
- #include "editnodedialog.h"
- #include "mindmapobject.h"
- #include "mydao.h"
- #include "searchandreplacedialog.h"
- #include "showmindlineoutdialog.h"
- #include <QApplication>
- #include <QBuffer>
- #include <QClipboard>
- #include <QDateTime>
- #include <QDesktopServices>
- #include <QDesktopWidget>
- #include <QElapsedTimer>
- #include <QEventLoop>
- #include <QFileDialog>
- #include <QMenu>
- #include <QMessageBox>
- #include <QMouseEvent>
- #include <QPainter>
- #include <QPixmap>
- #include <QSqlQuery>
- #include <QWidget>
- namespace Ui {
- class MindMapWidget;
- }
- class SearchAndReplaceDialog;
- class MindMapWidget : public QWidget
- {
- Q_OBJECT
- public:
- explicit MindMapWidget(QWidget *parent = nullptr);
- ~MindMapWidget();
- ///打开导图
- void openProject(int id);
- void entranceNode(int pid, int id);
- void backToMindMap();
- void paintEvent(QPaintEvent *event);
- void mouseDoubleClickEvent(QMouseEvent *event);
- void drawRemark(QPainter &painter);
- void clear();
- void addNode(int pid, int id = 0);
- void addNodeInfo(MindMapObject *obj, int i, QSqlQuery &qry);
- MindMapObject *addChildNode(MindMapObject *pobj, int id, QString name);
- void setMyDao(MyDao *myDao);
- void drawNode(int pid, int px, int py, int x, int y, QPainter &painter);
- void mousePressEvent(QMouseEvent *event);
- MindMapObject *selObject();
- void setSelObject(MindMapObject *obj);
- int getNodeNeedCount(MindMapObject *pobj);
- void getMindWidgetChildNum(MindMapObject *pobj);
- void getMindWidgetsChildNum();
- void getNodeCount(MindMapObject *pobj, int &n);
- void mouseReleaseEvent(QMouseEvent *event);
- void getChilds(int pid, QList<int> &ids);
- void wheelEvent(QWheelEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
- void editNode(MindMapObject *selObj, QString name);
- void delSelObject();
- void deleteNodeById(int id);
- int projectId();
- void deleteProject();
- void showSelPopMenu();
- void showPopMenu();
- void releaseMouseFlag();
- void showEditMarkNodeDialog();
- ///为结点增加图标
- void addMarkNodes(MindMapObject *obj);
- void saveDataAsPng();
- void saveDataAsMarkdown();
- void saveDataAsTxtFile();
- void saveDataAsCsvFile();
- void drawImage(QPaintDevice *paintDevice, int imgWidth, int imgHeight, int factor = 1);
- void getDrawRect(int &w, int &h);
- void reSetOrder(int pid);
- void setBackGroundId(int backGroundId);
- int backGroundId();
- void onAddChildNodeEvent();
- void onAddChildNodeEvent(QString name);
- int getNewMaxSxh(int pid);
- void showMindLineOut();
- void showMindLineOutInfo(int pid, QString prefix, QStringList &infos, QString sign = "·", QString space = "");
- void showMindLineOutInfoWithRemark(int pid, QString prefix, QStringList &infos, QString sign = "·",
- QString space = "");
- void getSelectRect(QRect &rc, QPoint pt1, QPoint pt2);
- QColor numColor(int sxh);
- void setNodeFontStyle(int setType);
- void setFontStyle();
- void applyFontStyle();
- int b2i(bool b);
- void setNodeNameFont(MindMapObject *obj, QPainter &painter, QFont &font);
- void setFontAsDefault(QFont &font);
- void showBackColorEditDialog();
- void showFontColorEditDialog();
- void saveMindMapAsNewProject();
- QList<MindMapObject *> &mindMapObjects();
- MyDao *myDao();
- void setEditEnable(bool enable) { editEnable = enable; };
- public slots:
- void onPopMenuTrigger();
- void onAddColorIndex(int colorIndex);
- Q_SIGNALS:
- void onDoubleClick();
- private:
- Ui::MindMapWidget *ui;
- QList<MindMapObject *> m_mindMapObjects;
- MyDao *m_myDao;
- MindMapObject *m_selObject;
- MindMapObject *m_cutObject;
- QPoint m_rootPoint;
- bool m_mousedownFlag;
- QPoint m_mousedownPoint;
- int m_projectId;
- int getMaxLen(QStringList &stl);
- int m_backgroundId;
- QPixmap m_backGroundPix;
- bool m_screenshotFlag;
- bool m_saveshotToFile;
- QPoint m_startShot;
- bool m_hasEntranceNode;
- void loadBackground();
- int getQryValue(QSqlQuery &qry, int index, int defaultValue);
- int getQryValue(QSqlQuery &qry, QString fieldName, int defaultValue);
- bool getQryValueBool(QSqlQuery &qry, QString fieldName, bool defaultValue = false);
- bool editEnable = true;
- };
- #endif // MINDMAPWIDGET_H
|