From 7f6e54fdc8ff4a06fdcd3c510a37add337f04bac Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Thu, 18 Nov 2021 13:52:25 -0500 Subject: Refactor main area to use pane system --- ui/syncgroup.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ui/syncgroup.h (limited to 'ui/syncgroup.h') diff --git a/ui/syncgroup.h b/ui/syncgroup.h new file mode 100644 index 00000000..5a9828f9 --- /dev/null +++ b/ui/syncgroup.h @@ -0,0 +1,39 @@ +#pragma once + +#include "viewframe.h" +#include "clickablelabel.h" + +class BINARYNINJAUIAPI SyncGroup +{ + std::set m_members; + int m_id; + +public: + SyncGroup(int id); + + void addMember(ViewFrame* frame); + void removeMember(ViewFrame* frame); + bool isEmpty() const; + int identifier() const { return m_id; } + bool contains(ViewFrame* frame) const; + const std::set& members() const { return m_members; } + + void syncLocation(ViewFrame* frame, View* view, const ViewLocation& location); + + static void syncToTarget(View* srcView, ViewFrame* targetFrame, const ViewLocation& location); +}; + +class BINARYNINJAUIAPI SyncGroupWidget: public ClickableIcon +{ + Q_OBJECT + + ViewFrame* m_frame; + +public: + SyncGroupWidget(ViewFrame* frame); + + void updateStatus(); + +private Q_SLOTS: + void handleClick(); +}; -- cgit v1.3.1