diff options
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(); +}; |
