[studio] Add acceptsClipboardPayload to Editor
This commit is contained in:
parent
791d19504e
commit
a138f60fea
@ -209,7 +209,7 @@ void StudioUI::drawMenu() noexcept {
|
|||||||
if (ImGui::MenuItem("Cut", "Ctrl+X", false, m_activeEditor && m_activeEditor->cutEnabled())) {
|
if (ImGui::MenuItem("Cut", "Ctrl+X", false, m_activeEditor && m_activeEditor->cutEnabled())) {
|
||||||
m_activeEditor->cut();
|
m_activeEditor->cut();
|
||||||
}
|
}
|
||||||
if (ImGui::MenuItem("Paste", "Ctrl+V", false, m_activeEditor && m_activeEditor->pasteEnabled()) && m_activeEditor) {
|
if (ImGui::MenuItem("Paste", "Ctrl+V", false, m_activeEditor && m_activeEditor->pasteEnabled())) {
|
||||||
m_activeEditor->paste();
|
m_activeEditor->paste();
|
||||||
}
|
}
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
|
@ -22,4 +22,9 @@ struct StudioContext {
|
|||||||
ui(pUi), tctx(pTctx) {}
|
ui(pUi), tctx(pTctx) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[[nodiscard]]
|
||||||
|
constexpr keel::Context &keelCtx(StudioContext &ctx) noexcept {
|
||||||
|
return keelCtx(ctx.tctx);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -43,6 +43,9 @@ class BaseEditor: public Widget {
|
|||||||
|
|
||||||
virtual void paste();
|
virtual void paste();
|
||||||
|
|
||||||
|
[[nodiscard]]
|
||||||
|
virtual bool acceptsClipboardPayload() const noexcept;
|
||||||
|
|
||||||
virtual void exportFile();
|
virtual void exportFile();
|
||||||
|
|
||||||
virtual void keyStateChanged(turbine::Key key, bool down);
|
virtual void keyStateChanged(turbine::Key key, bool down);
|
||||||
|
@ -23,6 +23,10 @@ void BaseEditor::copy() {
|
|||||||
void BaseEditor::paste() {
|
void BaseEditor::paste() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool BaseEditor::acceptsClipboardPayload() const noexcept {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
void BaseEditor::exportFile() {
|
void BaseEditor::exportFile() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,7 +99,7 @@ void BaseEditor::setPasteEnabled(bool v) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool BaseEditor::pasteEnabled() const noexcept {
|
bool BaseEditor::pasteEnabled() const noexcept {
|
||||||
return m_pasteEnabled;
|
return m_pasteEnabled && acceptsClipboardPayload();
|
||||||
}
|
}
|
||||||
|
|
||||||
ox::Error BaseEditor::saveItem() noexcept {
|
ox::Error BaseEditor::saveItem() noexcept {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user