// Don't modify, generated file from /build/libresprite/src/libresprite/data/widgets/main_window.xml

#pragma once

#include "app/find_widget.h"
#include "app/load_widget.h"
#include "ui/ui.h"

namespace app {
namespace gen {

  class MainWindow : public ui::Window {
  public:
    MainWindow() : ui::Window(ui::Window::DesktopWindow) {
      app::load_widget("main_window.xml", "main_window", this);
      app::finder(this)
        >> "menu_bar_placeholder" >> m_menuBarPlaceholder
        >> "tabs_placeholder" >> m_tabsPlaceholder
        >> "touch_bar_placeholder" >> m_touchBarPlaceholder
        >> "color_bar_splitter" >> m_colorBarSplitter
        >> "color_bar_placeholder" >> m_colorBarPlaceholder
        >> "context_bar_placeholder" >> m_contextBarPlaceholder
        >> "tool_bar_alt_placeholder" >> m_toolBarAltPlaceholder
        >> "timeline_splitter" >> m_timelineSplitter
        >> "workspace_placeholder" >> m_workspacePlaceholder
        >> "timeline_placeholder" >> m_timelinePlaceholder
        >> "tool_bar_placeholder" >> m_toolBarPlaceholder
        >> "touch_bar_alt_placeholder" >> m_touchBarAltPlaceholder
        >> "status_bar_placeholder" >> m_statusBarPlaceholder
      ;
    }

    ui::HBox* menuBarPlaceholder() const { return m_menuBarPlaceholder; }
    ui::HBox* tabsPlaceholder() const { return m_tabsPlaceholder; }
    ui::VBox* touchBarPlaceholder() const { return m_touchBarPlaceholder; }
    ui::Splitter* colorBarSplitter() const { return m_colorBarSplitter; }
    ui::VBox* colorBarPlaceholder() const { return m_colorBarPlaceholder; }
    ui::VBox* contextBarPlaceholder() const { return m_contextBarPlaceholder; }
    ui::VBox* toolBarAltPlaceholder() const { return m_toolBarAltPlaceholder; }
    ui::Splitter* timelineSplitter() const { return m_timelineSplitter; }
    ui::HBox* workspacePlaceholder() const { return m_workspacePlaceholder; }
    ui::VBox* timelinePlaceholder() const { return m_timelinePlaceholder; }
    ui::VBox* toolBarPlaceholder() const { return m_toolBarPlaceholder; }
    ui::VBox* touchBarAltPlaceholder() const { return m_touchBarAltPlaceholder; }
    ui::HBox* statusBarPlaceholder() const { return m_statusBarPlaceholder; }

  private:
    ui::HBox* m_menuBarPlaceholder;
    ui::HBox* m_tabsPlaceholder;
    ui::VBox* m_touchBarPlaceholder;
    ui::Splitter* m_colorBarSplitter;
    ui::VBox* m_colorBarPlaceholder;
    ui::VBox* m_contextBarPlaceholder;
    ui::VBox* m_toolBarAltPlaceholder;
    ui::Splitter* m_timelineSplitter;
    ui::HBox* m_workspacePlaceholder;
    ui::VBox* m_timelinePlaceholder;
    ui::VBox* m_toolBarPlaceholder;
    ui::VBox* m_touchBarAltPlaceholder;
    ui::HBox* m_statusBarPlaceholder;
  };

} // namespace gen
} // namespace app
