diff --git a/src/helpers/gtab/GTab.h b/src/helpers/gtab/GTab.h index cbe065a5..4b193a12 100644 --- a/src/helpers/gtab/GTab.h +++ b/src/helpers/gtab/GTab.h @@ -111,9 +111,9 @@ class GTab : public BView , public GTabDropZone { void SetLayoutItem(BLayoutItem* layItem) { fLayoutItem = layItem; } BString Label() { return fLabel; }; - void SetLabel(const char* label) { fLabel.SetTo(label); } + void SetLabel(const char* label) { fLabel.SetTo(label); } - virtual void OnDropMessage(BMessage* message) override; + void OnDropMessage(BMessage* message) override; protected: BLayoutItem* fLayoutItem; @@ -151,8 +151,7 @@ class GTabCloseButton : public GTab { }; -class Filler : public BView, public GTabDropZone -{ +class Filler : public BView, public GTabDropZone { public: Filler(TabsContainer* tabsContainer); diff --git a/src/ui/PanelTabManager.cpp b/src/ui/PanelTabManager.cpp index 00068fce..81e12f7e 100644 --- a/src/ui/PanelTabManager.cpp +++ b/src/ui/PanelTabManager.cpp @@ -5,10 +5,11 @@ #include "PanelTabManager.h" -#include "GTabView.h" -#include "GTab.h" + #include +#include "GTab.h" +#include "GTabView.h" class GTabID : public GTab { @@ -27,12 +28,14 @@ struct tab_info { GTabID* tab; BView* view; }; + typedef std::map TabIdMap; class PanelTabView : public GTabView { public: - PanelTabView(PanelTabManager* manager, const char* name, tab_affinity affinity, orientation orientation): + PanelTabView(PanelTabManager* manager, const char* name, tab_affinity affinity, orientation orientation) + : GTabView(name, affinity, orientation) { } @@ -43,38 +46,39 @@ class PanelTabView : public GTabView { GTabView::AddTab(tab, panel); } - bool HasTab(tab_id id) { + bool HasTab(tab_id id) + { return fIdMap.contains(id); } - void SelectTab(tab_id id) { + void SelectTab(tab_id id) + { assert(fIdMap.contains(id) == true); GTabView::SelectTab(fIdMap[id].tab); } - void SetLabelForTab(tab_id id, const char* label) { + void SetLabelForTab(tab_id id, const char* label) + { assert(fIdMap.contains(id) == true); fIdMap[id].tab->SetLabel(label); fIdMap[id].tab->Invalidate(); } - - protected: - virtual void OnTabRemoved(GTab* _tab) override + void OnTabRemoved(GTab* _tab) override { GTabID* tab = dynamic_cast(_tab); assert(tab != nullptr && fIdMap.contains(tab->GetID()) == true); fIdMap.erase(tab->GetID()); } - virtual void OnTabAdded(GTab* _tab, BView* panel) override + void OnTabAdded(GTab* _tab, BView* panel) override { GTabID* tab = dynamic_cast(_tab); assert(tab != nullptr && fIdMap.contains(tab->GetID()) == false); fIdMap[tab->GetID()] = { tab, panel }; } - GTab* CreateTabView(GTab* clone) override + GTab* CreateTabView(GTab* clone) override { GTabID* tab = dynamic_cast(clone); return new GTabID(tab->GetID(), tab->Label().String());; @@ -84,10 +88,13 @@ class PanelTabView : public GTabView { TabIdMap fIdMap; }; + +// PanelTabManager PanelTabManager::PanelTabManager() { } + BView* PanelTabManager::CreatePanelTabView(const char* tabview_name, orientation orientation) {