Loading...
Searching...
No Matches
EditorOverlay.hpp
1#pragma once
2#include <QPointer>
3#include <QWidget>
4
5#include <score_lib_process_export.h>
6
7#include <verdigris>
8
9class QStackedLayout;
10class QCloseEvent;
11namespace score
12{
13class DocumentDelegateView;
14}
15
16namespace Process
17{
29class SCORE_LIB_PROCESS_EXPORT EditorOverlayHost final : public QWidget
30{
31 W_OBJECT(EditorOverlayHost)
32public:
33 EditorOverlayHost(QWidget* editor, QWidget* preview, QWidget* parent = nullptr);
34 ~EditorOverlayHost() override;
35
36 QWidget* editor() const noexcept { return m_editor; }
37 QWidget* preview() const noexcept { return m_preview; }
38
40 QWidget* releaseEditor();
41
42protected:
43 void closeEvent(QCloseEvent* e) override;
44
45private:
46 QStackedLayout* m_layout{};
47 QPointer<QWidget> m_editor;
48 QPointer<QWidget> m_preview;
49};
50
58class SCORE_LIB_PROCESS_EXPORT DocumentBackgroundPreview final : public QWidget
59{
61public:
63 score::DocumentDelegateView& view, QWidget* parent = nullptr);
65
66protected:
67 void paintEvent(QPaintEvent*) override;
68 void timerEvent(QTimerEvent*) override;
69 void showEvent(QShowEvent*) override;
70 void hideEvent(QHideEvent*) override;
71
72private:
73 QPointer<score::DocumentDelegateView> m_view;
74 int m_timer{-1};
75};
76
78SCORE_LIB_PROCESS_EXPORT
79void setEditorTransparent(QWidget* editor, bool transparent);
80
83SCORE_LIB_PROCESS_EXPORT
84void setEditorChromeless(QWidget* editor, bool chromeless);
85}
Paints what the document currently shows behind itself.
Definition EditorOverlay.hpp:59
A code editor drawn over a live preview of what it edits.
Definition EditorOverlay.hpp:30
Definition DocumentDelegateView.hpp:11
Base classes and tools to implement processes and layers.
Definition JSONVisitor.hpp:1115
void setEditorTransparent(QWidget *editor, bool transparent)
Removes the background of an editor widget's text areas (false restores it).
Definition EditorOverlay.cpp:40
void setEditorChromeless(QWidget *editor, bool chromeless)
Definition EditorOverlay.cpp:100
Base toolkit upon which the software is built.
Definition Application.cpp:116