diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2021-11-18 13:52:25 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2022-01-10 15:25:18 -0700 |
| commit | 7f6e54fdc8ff4a06fdcd3c510a37add337f04bac (patch) | |
| tree | 60cce5955fcc05fc84f35f9662d49c7e0790dde1 /ui/syncgroup.h | |
| parent | d9661f34eec6855d495a10eaafc2a8e2679756a7 (diff) | |
Refactor main area to use pane system
Diffstat (limited to 'ui/syncgroup.h')
| -rw-r--r-- | ui/syncgroup.h | 39 |
1 files changed, 39 insertions, 0 deletions
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<ViewFrame*> 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<ViewFrame*>& 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(); +}; |
