mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-30 04:20:23 +00:00
Add Workspace::m_tabsBar field
This commit is contained in:
parent
baa2f61c6b
commit
94b91424f8
@ -62,6 +62,7 @@ MainWindow::MainWindow()
|
|||||||
m_toolBar = new ToolBar();
|
m_toolBar = new ToolBar();
|
||||||
m_tabsBar = new Tabs(this);
|
m_tabsBar = new Tabs(this);
|
||||||
m_workspace = new Workspace();
|
m_workspace = new Workspace();
|
||||||
|
m_workspace->setTabsBar(m_tabsBar);
|
||||||
m_workspace->ActiveViewChanged.connect(&MainWindow::onActiveViewChange, this);
|
m_workspace->ActiveViewChanged.connect(&MainWindow::onActiveViewChange, this);
|
||||||
m_previewEditor = new PreviewEditorWindow();
|
m_previewEditor = new PreviewEditorWindow();
|
||||||
m_timeline = new Timeline();
|
m_timeline = new Timeline();
|
||||||
|
@ -28,6 +28,7 @@ using namespace ui;
|
|||||||
|
|
||||||
Workspace::Workspace()
|
Workspace::Workspace()
|
||||||
: Widget(kGenericWidget)
|
: Widget(kGenericWidget)
|
||||||
|
, m_tabsBar(nullptr)
|
||||||
, m_activeView(nullptr)
|
, m_activeView(nullptr)
|
||||||
{
|
{
|
||||||
SkinTheme* theme = static_cast<SkinTheme*>(getTheme());
|
SkinTheme* theme = static_cast<SkinTheme*>(getTheme());
|
||||||
@ -40,6 +41,11 @@ Workspace::~Workspace()
|
|||||||
ASSERT(m_views.empty());
|
ASSERT(m_views.empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Workspace::setTabsBar(Tabs* tabsBar)
|
||||||
|
{
|
||||||
|
m_tabsBar = tabsBar;
|
||||||
|
}
|
||||||
|
|
||||||
void Workspace::addView(WorkspaceView* view, int pos)
|
void Workspace::addView(WorkspaceView* view, int pos)
|
||||||
{
|
{
|
||||||
if (pos < 0)
|
if (pos < 0)
|
||||||
@ -47,7 +53,7 @@ void Workspace::addView(WorkspaceView* view, int pos)
|
|||||||
else
|
else
|
||||||
m_views.insert(m_views.begin()+pos, view);
|
m_views.insert(m_views.begin()+pos, view);
|
||||||
|
|
||||||
App::instance()->getMainWindow()->getTabsBar()->addTab(dynamic_cast<TabView*>(view), pos);
|
m_tabsBar->addTab(dynamic_cast<TabView*>(view), pos);
|
||||||
setActiveView(view);
|
setActiveView(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,11 +65,10 @@ void Workspace::removeView(WorkspaceView* view)
|
|||||||
if (content->getParent())
|
if (content->getParent())
|
||||||
content->getParent()->removeChild(content);
|
content->getParent()->removeChild(content);
|
||||||
|
|
||||||
// Remove related tab
|
// Remove related tab.
|
||||||
Tabs* tabs = App::instance()->getMainWindow()->getTabsBar();
|
m_tabsBar->removeTab(dynamic_cast<TabView*>(view));
|
||||||
tabs->removeTab(dynamic_cast<TabView*>(view));
|
|
||||||
|
|
||||||
TabView* tabView = tabs->getSelectedTab();
|
TabView* tabView = m_tabsBar->getSelectedTab();
|
||||||
setActiveView(dynamic_cast<WorkspaceView*>(tabView));
|
setActiveView(dynamic_cast<WorkspaceView*>(tabView));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace app {
|
namespace app {
|
||||||
|
class Tabs;
|
||||||
|
|
||||||
class Workspace : public ui::Widget {
|
class Workspace : public ui::Widget {
|
||||||
public:
|
public:
|
||||||
@ -25,6 +26,7 @@ namespace app {
|
|||||||
Workspace();
|
Workspace();
|
||||||
~Workspace();
|
~Workspace();
|
||||||
|
|
||||||
|
void setTabsBar(Tabs* tabsBar);
|
||||||
iterator begin() { return m_views.begin(); }
|
iterator begin() { return m_views.begin(); }
|
||||||
iterator end() { return m_views.end(); }
|
iterator end() { return m_views.end(); }
|
||||||
|
|
||||||
@ -44,6 +46,7 @@ namespace app {
|
|||||||
void onPaint(ui::PaintEvent& ev) override;
|
void onPaint(ui::PaintEvent& ev) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Tabs* m_tabsBar;
|
||||||
WorkspaceViews m_views;
|
WorkspaceViews m_views;
|
||||||
WorkspaceView* m_activeView;
|
WorkspaceView* m_activeView;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user