From aeb8acb7c9387755f6e4af7b325ed67828b85d86 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Wed, 12 Mar 2025 17:09:32 +0300 Subject: [PATCH] feat: swap SplitBox panels on double-click --- src/graphics/ui/elements/SplitBox.cpp | 8 ++++++++ src/graphics/ui/elements/SplitBox.hpp | 1 + 2 files changed, 9 insertions(+) diff --git a/src/graphics/ui/elements/SplitBox.cpp b/src/graphics/ui/elements/SplitBox.cpp index 4ea5c5ff..8729835e 100644 --- a/src/graphics/ui/elements/SplitBox.cpp +++ b/src/graphics/ui/elements/SplitBox.cpp @@ -59,6 +59,14 @@ void SplitBox::refresh() { } } +void SplitBox::doubleClick(GUI*, int x, int y) { + if (nodes.size() < 2) { + return; + } + std::swap(nodes[0], nodes[1]); + refresh(); +} + void SplitBox::fullRefresh() { refresh(); reposition(); diff --git a/src/graphics/ui/elements/SplitBox.hpp b/src/graphics/ui/elements/SplitBox.hpp index 00bab21e..7e7ca88b 100644 --- a/src/graphics/ui/elements/SplitBox.hpp +++ b/src/graphics/ui/elements/SplitBox.hpp @@ -10,6 +10,7 @@ namespace gui { virtual void mouseMove(GUI*, int x, int y) override; virtual void refresh() override; virtual void fullRefresh() override; + virtual void doubleClick(GUI*, int x, int y) override; private: float splitPos; };