vnote/src/voutline.h
Le Tan 1a77056f4a support outline in edit mode
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-11-10 21:59:37 +08:00

38 lines
961 B
C++

#ifndef VOUTLINE_H
#define VOUTLINE_H
#include <QTreeWidget>
#include "vtoc.h"
class VOutline : public QTreeWidget
{
Q_OBJECT
public:
VOutline(QWidget *parent = 0);
signals:
void outlineItemActivated(const VAnchor &anchor);
public slots:
void updateOutline(const VToc &toc);
void updateCurHeader(const VAnchor &anchor);
private slots:
void handleItemClicked(QTreeWidgetItem *item, int column);
private:
void updateTreeFromOutline(const VToc &toc);
void updateTreeByLevel(const QVector<VHeader> &headers, int &index, QTreeWidgetItem *parent,
QTreeWidgetItem *last, int level);
void expandTree();
void selectAnchor(const QString &anchor);
bool selectAnchorOne(QTreeWidgetItem *item, const QString &anchor);
void selectLineNumber(int lineNumber);
bool selectLineNumberOne(QTreeWidgetItem *item, int lineNumber);
VToc outline;
VAnchor curHeader;
};
#endif // VOUTLINE_H