mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
#ifndef NOTEBOOKPAGE_H
|
|
#define NOTEBOOKPAGE_H
|
|
|
|
#include "QDragEnterEvent"
|
|
#include "QHBoxLayout"
|
|
#include "QRect"
|
|
#include "QVBoxLayout"
|
|
#include "QVector"
|
|
#include "QWidget"
|
|
#include "chatwidget.h"
|
|
#include "notebookpage.h"
|
|
#include "notebookpagedroppreview.h"
|
|
#include "notebooktab.h"
|
|
|
|
class NotebookPage : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
NotebookPage(QWidget *parent, NotebookTab *tab);
|
|
NotebookTab *tab;
|
|
QVBoxLayout parentbox;
|
|
QHBoxLayout hbox;
|
|
|
|
std::pair<int, int> removeFromLayout(ChatWidget *widget);
|
|
void addToLayout(ChatWidget *widget, std::pair<int, int> position);
|
|
|
|
static bool isDraggingSplit;
|
|
static ChatWidget *draggingSplit;
|
|
static std::pair<int, int> dropPosition;
|
|
|
|
protected:
|
|
void paintEvent(QPaintEvent *) Q_DECL_OVERRIDE;
|
|
|
|
void enterEvent(QEvent *);
|
|
void leaveEvent(QEvent *);
|
|
void mouseReleaseEvent(QMouseEvent *event);
|
|
|
|
void dragEnterEvent(QDragEnterEvent *event) Q_DECL_OVERRIDE;
|
|
void dragMoveEvent(QDragMoveEvent *event) Q_DECL_OVERRIDE;
|
|
void dragLeaveEvent(QDragLeaveEvent *event) Q_DECL_OVERRIDE;
|
|
void dropEvent(QDropEvent *event) Q_DECL_OVERRIDE;
|
|
|
|
struct DropRegion {
|
|
QRect rect;
|
|
std::pair<int, int> position;
|
|
|
|
DropRegion(QRect rect, std::pair<int, int> position)
|
|
{
|
|
this->rect = rect;
|
|
this->position = position;
|
|
}
|
|
};
|
|
|
|
std::vector<DropRegion> dropRegions;
|
|
|
|
NotebookPageDropPreview preview;
|
|
|
|
private:
|
|
void setPreviewRect(QPoint mousePos);
|
|
};
|
|
|
|
#endif // NOTEBOOKPAGE_H
|