mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-06-20 23:44:08 +00:00
Update Atlas sidebar layout
Replace the wxBoxSizer with a wxFlexGridSizer so the gaps between main elements, typically wxStaticBoxSizer, remain uniform across the tools. Add a style variable to control the wxFlexGridSizer on platform basis. Also replace the obsolete wxScrolledWindow by inheriting from wxScrolled<wxPanel> instead. Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
This commit is contained in:
@@ -61,14 +61,8 @@ static wxWindow* Tooltipped(wxWindow* window, const wxString& tip)
|
|||||||
CinemaSidebar::CinemaSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
|
CinemaSidebar::CinemaSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
|
||||||
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
|
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
|
||||||
{
|
{
|
||||||
wxSizer* scrollSizer = new wxBoxSizer(wxVERTICAL);
|
wxStaticBoxSizer* commonSizer = new wxStaticBoxSizer(wxVERTICAL, this, _T("Common settings"));
|
||||||
scrolledWindow = new wxScrolledWindow(this);
|
m_MainSizer->Add(commonSizer, wxSizerFlags().Expand());
|
||||||
scrolledWindow->SetScrollRate(10, 10);
|
|
||||||
scrolledWindow->SetSizer(scrollSizer);
|
|
||||||
m_MainSizer->Add(scrolledWindow, wxSizerFlags().Proportion(1).Expand());
|
|
||||||
|
|
||||||
wxStaticBoxSizer* commonSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _T("Common settings"));
|
|
||||||
scrollSizer->Add(commonSizer, wxSizerFlags().Expand());
|
|
||||||
|
|
||||||
wxFlexGridSizer* gridSizer = new wxFlexGridSizer(2, 5, 5);
|
wxFlexGridSizer* gridSizer = new wxFlexGridSizer(2, 5, 5);
|
||||||
gridSizer->AddGrowableCol(1);
|
gridSizer->AddGrowableCol(1);
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ private:
|
|||||||
|
|
||||||
void ReloadPathList();
|
void ReloadPathList();
|
||||||
|
|
||||||
wxScrolledWindow* scrolledWindow;
|
|
||||||
wxCheckBox* m_DrawPath;
|
wxCheckBox* m_DrawPath;
|
||||||
wxListBox* m_PathList;
|
wxListBox* m_PathList;
|
||||||
wxTextCtrl* m_NewPathName;
|
wxTextCtrl* m_NewPathName;
|
||||||
|
|||||||
@@ -19,14 +19,22 @@
|
|||||||
|
|
||||||
#include "Sidebar.h"
|
#include "Sidebar.h"
|
||||||
|
|
||||||
|
#include "tools/atlas/AtlasUI/ScenarioEditor/StyleSheet.h"
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <wx/sizer.h>
|
#include <wx/sizer.h>
|
||||||
#include <wx/window.h>
|
#include <wx/window.h>
|
||||||
|
|
||||||
Sidebar::Sidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* WXUNUSED(bottomBarContainer))
|
Sidebar::Sidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* WXUNUSED(bottomBarContainer))
|
||||||
: wxPanel(sidebarContainer), m_ScenarioEditor(scenarioEditor), m_BottomBar(NULL), m_AlreadyDisplayed(false)
|
: wxScrolled<wxPanel>(sidebarContainer),
|
||||||
|
m_ScenarioEditor(scenarioEditor),
|
||||||
|
m_BottomBar(nullptr),
|
||||||
|
m_AlreadyDisplayed(false)
|
||||||
{
|
{
|
||||||
m_MainSizer = new wxBoxSizer(wxVERTICAL);
|
SetScrollRate(10, 10);
|
||||||
|
|
||||||
|
m_MainSizer = new wxFlexGridSizer(1, Atlas::Style::SIDEBAR_MAINLAOYOUT_VGAP, 0);
|
||||||
|
m_MainSizer->AddGrowableCol(0);
|
||||||
SetSizer(m_MainSizer);
|
SetSizer(m_MainSizer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2025 Wildfire Games.
|
/* Copyright (C) 2026 Wildfire Games.
|
||||||
* This file is part of 0 A.D.
|
* This file is part of 0 A.D.
|
||||||
*
|
*
|
||||||
* 0 A.D. is free software: you can redistribute it and/or modify
|
* 0 A.D. is free software: you can redistribute it and/or modify
|
||||||
@@ -19,12 +19,13 @@
|
|||||||
#define INCLUDED_SIDEBAR
|
#define INCLUDED_SIDEBAR
|
||||||
|
|
||||||
#include <wx/panel.h>
|
#include <wx/panel.h>
|
||||||
|
#include <wx/scrolwin.h>
|
||||||
|
|
||||||
class ScenarioEditor;
|
class ScenarioEditor;
|
||||||
class wxSizer;
|
class wxFlexGridSizer;
|
||||||
class wxWindow;
|
class wxWindow;
|
||||||
|
|
||||||
class Sidebar : public wxPanel
|
class Sidebar : public wxScrolled<wxPanel>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Sidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer);
|
Sidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer);
|
||||||
@@ -41,7 +42,10 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
ScenarioEditor& m_ScenarioEditor;
|
ScenarioEditor& m_ScenarioEditor;
|
||||||
|
|
||||||
wxSizer* m_MainSizer; // vertical box sizer, used by most sidebars
|
/*
|
||||||
|
* Single colum wxFlexGridSizer, used to evenly space the top panels.
|
||||||
|
*/
|
||||||
|
wxFlexGridSizer* m_MainSizer;
|
||||||
|
|
||||||
wxWindow* m_BottomBar; // window that goes at the bottom of the screen; may be NULL
|
wxWindow* m_BottomBar; // window that goes at the bottom of the screen; may be NULL
|
||||||
|
|
||||||
|
|||||||
@@ -237,22 +237,13 @@ EnvironmentSidebar::EnvironmentSidebar(
|
|||||||
ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
|
ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
|
||||||
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
|
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
|
||||||
{
|
{
|
||||||
wxSizer* scrollSizer = new wxBoxSizer(wxVERTICAL);
|
wxStaticBoxSizer* waterBoxSizer = new wxStaticBoxSizer(wxVERTICAL, this, _T("Water settings"));
|
||||||
wxScrolledWindow* scrolledWindow = new wxScrolledWindow(this);
|
|
||||||
scrolledWindow->SetScrollRate(10, 10);
|
|
||||||
scrolledWindow->SetSizer(scrollSizer);
|
|
||||||
m_MainSizer->Add(scrolledWindow, wxSizerFlags().Proportion(1).Expand());
|
|
||||||
|
|
||||||
wxFlexGridSizer* gridSizer = new wxFlexGridSizer(1, 10, 10);
|
|
||||||
gridSizer->AddGrowableCol(0);
|
|
||||||
scrollSizer->Add(gridSizer, wxSizerFlags().Expand());
|
|
||||||
|
|
||||||
wxStaticBoxSizer* waterBoxSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _T("Water settings"));
|
|
||||||
wxStaticBox* waterBox = waterBoxSizer->GetStaticBox();
|
wxStaticBox* waterBox = waterBoxSizer->GetStaticBox();
|
||||||
gridSizer->Add(waterBoxSizer, wxSizerFlags().Expand());
|
m_MainSizer->Add(waterBoxSizer, wxSizerFlags().Expand());
|
||||||
wxFlexGridSizer* waterSizer = new wxFlexGridSizer(1, 10, 10);
|
wxFlexGridSizer* waterSizer = new wxFlexGridSizer(1, 10, 10);
|
||||||
waterSizer->AddGrowableCol(0);
|
waterSizer->AddGrowableCol(0);
|
||||||
waterBoxSizer->Add(waterSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
waterBoxSizer->Add(waterSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
||||||
|
|
||||||
waterSizer->Add(new wxButton(
|
waterSizer->Add(new wxButton(
|
||||||
waterBox, ID_RecomputeWaterData, _("Reset Water Data")), wxSizerFlags().Expand());
|
waterBox, ID_RecomputeWaterData, _("Reset Water Data")), wxSizerFlags().Expand());
|
||||||
waterSizer->Add(m_WaterTypeList = new VariableListBox(
|
waterSizer->Add(m_WaterTypeList = new VariableListBox(
|
||||||
@@ -277,9 +268,9 @@ EnvironmentSidebar::EnvironmentSidebar(
|
|||||||
m_WaterTypeList->SetChoices(list);
|
m_WaterTypeList->SetChoices(list);
|
||||||
|
|
||||||
|
|
||||||
wxStaticBoxSizer* sunBoxSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _T("Sun / lighting settings"));
|
wxStaticBoxSizer* sunBoxSizer = new wxStaticBoxSizer(wxVERTICAL, this, _T("Sun / lighting settings"));
|
||||||
wxStaticBox* sunBox = sunBoxSizer->GetStaticBox();
|
wxStaticBox* sunBox = sunBoxSizer->GetStaticBox();
|
||||||
gridSizer->Add(sunBoxSizer, wxSizerFlags().Expand());
|
m_MainSizer->Add(sunBoxSizer, wxSizerFlags().Expand());
|
||||||
wxFlexGridSizer* sunSizer = new wxFlexGridSizer(1, 10, 10);
|
wxFlexGridSizer* sunSizer = new wxFlexGridSizer(1, 10, 10);
|
||||||
sunSizer->AddGrowableCol(0);
|
sunSizer->AddGrowableCol(0);
|
||||||
sunBoxSizer->Add(sunSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
sunBoxSizer->Add(sunSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
||||||
@@ -305,9 +296,9 @@ EnvironmentSidebar::EnvironmentSidebar(
|
|||||||
sunSizer->Add(new VariableColorBox(
|
sunSizer->Add(new VariableColorBox(
|
||||||
sunBox, _("Ambient color"), g_EnvironmentSettings.ambientcolor), wxSizerFlags().Expand());
|
sunBox, _("Ambient color"), g_EnvironmentSettings.ambientcolor), wxSizerFlags().Expand());
|
||||||
|
|
||||||
wxStaticBoxSizer* postProcBoxSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _T("Post-processing settings"));
|
wxStaticBoxSizer* postProcBoxSizer = new wxStaticBoxSizer(wxVERTICAL, this, _T("Post-processing settings"));
|
||||||
wxStaticBox* postProcBox = postProcBoxSizer->GetStaticBox();
|
wxStaticBox* postProcBox = postProcBoxSizer->GetStaticBox();
|
||||||
gridSizer->Add(postProcBoxSizer, wxSizerFlags().Expand());
|
m_MainSizer->Add(postProcBoxSizer, wxSizerFlags().Expand());
|
||||||
wxFlexGridSizer* postProcSizer = new wxFlexGridSizer(1, 10, 10);
|
wxFlexGridSizer* postProcSizer = new wxFlexGridSizer(1, 10, 10);
|
||||||
postProcSizer->AddGrowableCol(0);
|
postProcSizer->AddGrowableCol(0);
|
||||||
postProcBoxSizer->Add(postProcSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
postProcBoxSizer->Add(postProcSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
||||||
|
|||||||
@@ -476,21 +476,13 @@ void MapSettingsControl::SendToEngine()
|
|||||||
MapSidebar::MapSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
|
MapSidebar::MapSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
|
||||||
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer), m_SimState(SimInactive)
|
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer), m_SimState(SimInactive)
|
||||||
{
|
{
|
||||||
wxFlexGridSizer* scrollSizer = new wxFlexGridSizer(1, 5, 5);
|
m_MapSettingsCtrl = new MapSettingsControl(this, m_ScenarioEditor);
|
||||||
scrollSizer->AddGrowableCol(0);
|
m_MainSizer->Add(m_MapSettingsCtrl, wxSizerFlags().Expand());
|
||||||
|
|
||||||
wxScrolledWindow* scrolledWindow = new wxScrolledWindow(this);
|
|
||||||
scrolledWindow->SetScrollRate(10, 10);
|
|
||||||
scrolledWindow->SetSizer(scrollSizer);
|
|
||||||
m_MainSizer->Add(scrolledWindow, wxSizerFlags().Expand().Proportion(1));
|
|
||||||
|
|
||||||
m_MapSettingsCtrl = new MapSettingsControl(scrolledWindow, m_ScenarioEditor);
|
|
||||||
scrollSizer->Add(m_MapSettingsCtrl, wxSizerFlags().Expand());
|
|
||||||
|
|
||||||
{
|
{
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// Random map settings
|
// Random map settings
|
||||||
wxStaticBoxSizer* topSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _("Random map"));
|
wxStaticBoxSizer* topSizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Random map"));
|
||||||
wxStaticBox* topBox = topSizer->GetStaticBox();
|
wxStaticBox* topBox = topSizer->GetStaticBox();
|
||||||
|
|
||||||
wxFlexGridSizer* grid = new wxFlexGridSizer(1, 10, 10);
|
wxFlexGridSizer* grid = new wxFlexGridSizer(1, 10, 10);
|
||||||
@@ -498,7 +490,7 @@ MapSidebar::MapSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContaine
|
|||||||
|
|
||||||
topSizer->Add(grid, wxSizerFlags().Border(wxALL, 5).Expand());
|
topSizer->Add(grid, wxSizerFlags().Border(wxALL, 5).Expand());
|
||||||
|
|
||||||
scrollSizer->Add(topSizer, wxSizerFlags().Expand());
|
m_MainSizer->Add(topSizer, wxSizerFlags().Expand());
|
||||||
|
|
||||||
grid->Add(new wxChoice(topBox, ID_RandomScript), wxSizerFlags().Expand());
|
grid->Add(new wxChoice(topBox, ID_RandomScript), wxSizerFlags().Expand());
|
||||||
|
|
||||||
@@ -539,18 +531,18 @@ MapSidebar::MapSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContaine
|
|||||||
{
|
{
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// Misc tools
|
// Misc tools
|
||||||
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _("Misc tools"));
|
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Misc tools"));
|
||||||
sizer->Add(new wxButton(sizer->GetStaticBox(), ID_ResizeMap, _("Resize/Recenter map")), wxSizerFlags().Expand().Border(wxALL, 5));
|
sizer->Add(new wxButton(sizer->GetStaticBox(), ID_ResizeMap, _("Resize/Recenter map")), wxSizerFlags().Expand().Border(wxALL, 5));
|
||||||
scrollSizer->Add(sizer, wxSizerFlags().Expand());
|
m_MainSizer->Add(sizer, wxSizerFlags().Expand());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// Simulation buttons
|
// Simulation buttons
|
||||||
wxStaticBoxSizer* topSizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _("Simulation test"));
|
wxStaticBoxSizer* topSizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Simulation test"));
|
||||||
wxStaticBox* topBox = topSizer->GetStaticBox();
|
wxStaticBox* topBox = topSizer->GetStaticBox();
|
||||||
|
|
||||||
scrollSizer->Add(topSizer, wxSizerFlags().Expand());
|
m_MainSizer->Add(topSizer, wxSizerFlags().Expand());
|
||||||
|
|
||||||
wxGridSizer* gridSizer = new wxGridSizer(5, 5, 5);
|
wxGridSizer* gridSizer = new wxGridSizer(5, 5, 5);
|
||||||
gridSizer->Add(Tooltipped(new wxButton(topBox, ID_SimPlay, _("Play"), wxDefaultPosition, wxSize(48, -1)),
|
gridSizer->Add(Tooltipped(new wxButton(topBox, ID_SimPlay, _("Play"), wxDefaultPosition, wxSize(48, -1)),
|
||||||
|
|||||||
@@ -268,50 +268,47 @@ ObjectSidebar::ObjectSidebar(
|
|||||||
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer),
|
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer),
|
||||||
m_Impl(new ObjectSidebarImpl(scenarioEditor))
|
m_Impl(new ObjectSidebarImpl(scenarioEditor))
|
||||||
{
|
{
|
||||||
wxSizer* scrollSizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* topSizer = new wxBoxSizer(wxVERTICAL);
|
||||||
wxScrolledWindow* scrolledWindow = new wxScrolledWindow(this);
|
m_MainSizer->AddGrowableRow(0);
|
||||||
scrolledWindow->SetScrollRate(10, 10);
|
m_MainSizer->Add(topSizer, wxSizerFlags().Expand());
|
||||||
scrolledWindow->SetSizer(scrollSizer);
|
|
||||||
m_MainSizer->Add(scrolledWindow, wxSizerFlags().Proportion(1).Expand());
|
|
||||||
|
|
||||||
wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
sizer->Add(new wxStaticText(scrolledWindow, wxID_ANY, _("Filter")), wxSizerFlags().Align(wxALIGN_CENTER));
|
sizer->Add(new wxStaticText(this, wxID_ANY, _("Filter")), wxSizerFlags().Align(wxALIGN_CENTER));
|
||||||
sizer->AddSpacer(2);
|
sizer->AddSpacer(2);
|
||||||
sizer->Add(
|
sizer->Add(
|
||||||
Tooltipped(
|
Tooltipped(
|
||||||
new wxTextCtrl(scrolledWindow, ID_ObjectFilter),
|
new wxTextCtrl(this, ID_ObjectFilter),
|
||||||
_("Enter text to filter object list")
|
_("Enter text to filter object list")
|
||||||
),
|
),
|
||||||
wxSizerFlags().Expand().Proportion(1)
|
wxSizerFlags().Expand().Proportion(1)
|
||||||
);
|
);
|
||||||
scrollSizer->Add(sizer, wxSizerFlags().Expand());
|
topSizer->Add(sizer, wxSizerFlags().Expand());
|
||||||
scrollSizer->AddSpacer(3);
|
topSizer->AddSpacer(3);
|
||||||
wxCheckBox* exactSearchCheckBox = new wxCheckBox(
|
wxCheckBox* exactSearchCheckBox = new wxCheckBox(this, ID_ObjectExactFilter, _("Exact Search"));
|
||||||
scrolledWindow, ID_ObjectExactFilter, _("Exact Search"));
|
|
||||||
exactSearchCheckBox->SetValue(true);
|
exactSearchCheckBox->SetValue(true);
|
||||||
scrollSizer->Add(Tooltipped(exactSearchCheckBox,
|
topSizer->Add(Tooltipped(exactSearchCheckBox,
|
||||||
_("Provides a search with a strict string equality")));
|
_("Provides a search with a strict string equality")));
|
||||||
scrollSizer->AddSpacer(3);
|
topSizer->AddSpacer(3);
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
wxArrayString strings;
|
wxArrayString strings;
|
||||||
strings.Add(_("Entities"));
|
strings.Add(_("Entities"));
|
||||||
strings.Add(_("Actors (all)"));
|
strings.Add(_("Actors (all)"));
|
||||||
wxChoice* objectType = new wxChoice(scrolledWindow, ID_ObjectType, wxDefaultPosition, wxDefaultSize, strings);
|
wxChoice* objectType = new wxChoice(this, ID_ObjectType, wxDefaultPosition, wxDefaultSize, strings);
|
||||||
objectType->SetSelection(0);
|
objectType->SetSelection(0);
|
||||||
scrollSizer->Add(objectType, wxSizerFlags().Expand());
|
topSizer->Add(objectType, wxSizerFlags().Expand());
|
||||||
scrollSizer->AddSpacer(3);
|
topSizer->AddSpacer(3);
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
m_Impl->m_ObjectListBox = new wxListBox(scrolledWindow, ID_SelectObject, wxDefaultPosition, wxDefaultSize, 0, nullptr, wxLB_SINGLE|wxLB_HSCROLL);
|
m_Impl->m_ObjectListBox = new wxListBox(this, ID_SelectObject, wxDefaultPosition, wxDefaultSize, 0, nullptr, wxLB_SINGLE|wxLB_HSCROLL);
|
||||||
scrollSizer->Add(m_Impl->m_ObjectListBox, wxSizerFlags().Proportion(1).Expand());
|
topSizer->Add(m_Impl->m_ObjectListBox, wxSizerFlags().Proportion(1).Expand());
|
||||||
scrollSizer->AddSpacer(3);
|
topSizer->AddSpacer(3);
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
scrollSizer->Add(new wxButton(scrolledWindow, ID_ToggleViewer, _("Switch to Actor Viewer")), wxSizerFlags().Expand());
|
topSizer->Add(new wxButton(this, ID_ToggleViewer, _("Switch to Actor Viewer")), wxSizerFlags().Expand());
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -985,14 +985,8 @@ void PlayerSettingsControl::SendToEngine()
|
|||||||
PlayerSidebar::PlayerSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
|
PlayerSidebar::PlayerSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer)
|
||||||
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer), m_Loaded(false)
|
: Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer), m_Loaded(false)
|
||||||
{
|
{
|
||||||
wxSizer* scrollSizer = new wxBoxSizer(wxVERTICAL);
|
m_PlayerSettingsCtrl = new PlayerSettingsControl(this, m_ScenarioEditor);
|
||||||
wxScrolledWindow* scrolledWindow = new wxScrolledWindow(this);
|
m_MainSizer->Add(m_PlayerSettingsCtrl, wxSizerFlags().Expand());
|
||||||
scrolledWindow->SetScrollRate(10, 10);
|
|
||||||
scrolledWindow->SetSizer(scrollSizer);
|
|
||||||
m_MainSizer->Add(scrolledWindow, wxSizerFlags().Proportion(1).Expand());
|
|
||||||
|
|
||||||
m_PlayerSettingsCtrl = new PlayerSettingsControl(scrolledWindow, m_ScenarioEditor);
|
|
||||||
scrollSizer->Add(m_PlayerSettingsCtrl, wxSizerFlags().Expand());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerSidebar::OnFirstDisplay()
|
void PlayerSidebar::OnFirstDisplay()
|
||||||
|
|||||||
@@ -222,16 +222,10 @@ END_EVENT_TABLE();
|
|||||||
TerrainSidebar::TerrainSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer) :
|
TerrainSidebar::TerrainSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebarContainer, wxWindow* bottomBarContainer) :
|
||||||
Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
|
Sidebar(scenarioEditor, sidebarContainer, bottomBarContainer)
|
||||||
{
|
{
|
||||||
wxSizer* scrollSizer = new wxBoxSizer(wxVERTICAL);
|
|
||||||
wxScrolledWindow* scrolledWindow = new wxScrolledWindow(this);
|
|
||||||
scrolledWindow->SetScrollRate(10, 10);
|
|
||||||
scrolledWindow->SetSizer(scrollSizer);
|
|
||||||
m_MainSizer->Add(scrolledWindow, wxSizerFlags().Proportion(1).Expand());
|
|
||||||
|
|
||||||
{
|
{
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// Terrain elevation
|
// Terrain elevation
|
||||||
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _("Elevation tools"));
|
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Elevation tools"));
|
||||||
wxSizer* gridSizer = new wxGridSizer(4, 5, 5);
|
wxSizer* gridSizer = new wxGridSizer(4, 5, 5);
|
||||||
gridSizer->Add(Tooltipped(new ToolButton(scenarioEditor.GetToolManager(), sizer->GetStaticBox(), _("Modify"), _T("AlterElevation"), wxSize(48, -1)),
|
gridSizer->Add(Tooltipped(new ToolButton(scenarioEditor.GetToolManager(), sizer->GetStaticBox(), _("Modify"), _T("AlterElevation"), wxSize(48, -1)),
|
||||||
_("Brush with left mouse buttons to raise terrain,\nright mouse button to lower it")), wxSizerFlags().Expand());
|
_("Brush with left mouse buttons to raise terrain,\nright mouse button to lower it")), wxSizerFlags().Expand());
|
||||||
@@ -242,13 +236,13 @@ TerrainSidebar::TerrainSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebar
|
|||||||
gridSizer->Add(Tooltipped(new ToolButton(scenarioEditor.GetToolManager(), sizer->GetStaticBox(), _("Flatten"), _T("FlattenElevation"), wxSize(48, -1)),
|
gridSizer->Add(Tooltipped(new ToolButton(scenarioEditor.GetToolManager(), sizer->GetStaticBox(), _("Flatten"), _T("FlattenElevation"), wxSize(48, -1)),
|
||||||
_("Brush with left mouse button to flatten terrain")), wxSizerFlags().Expand());
|
_("Brush with left mouse button to flatten terrain")), wxSizerFlags().Expand());
|
||||||
sizer->Add(gridSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
sizer->Add(gridSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
||||||
scrollSizer->Add(sizer, wxSizerFlags().Expand());
|
m_MainSizer->Add(sizer, wxSizerFlags().Expand());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// Terrain texture
|
// Terrain texture
|
||||||
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _("Texture tools"));
|
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Texture tools"));
|
||||||
wxSizer* gridSizer = new wxGridSizer(3, 5, 5);
|
wxSizer* gridSizer = new wxGridSizer(3, 5, 5);
|
||||||
gridSizer->Add(Tooltipped(new ToolButton(scenarioEditor.GetToolManager(), sizer->GetStaticBox(), _("Paint"), _T("PaintTerrain"), wxSize(48, -1)),
|
gridSizer->Add(Tooltipped(new ToolButton(scenarioEditor.GetToolManager(), sizer->GetStaticBox(), _("Paint"), _T("PaintTerrain"), wxSize(48, -1)),
|
||||||
_("Brush with left mouse button to paint texture dominantly,\nright mouse button to paint submissively.\nShift-left-click for eyedropper tool")), wxSizerFlags().Expand());
|
_("Brush with left mouse button to paint texture dominantly,\nright mouse button to paint submissively.\nShift-left-click for eyedropper tool")), wxSizerFlags().Expand());
|
||||||
@@ -257,26 +251,26 @@ TerrainSidebar::TerrainSidebar(ScenarioEditor& scenarioEditor, wxWindow* sidebar
|
|||||||
gridSizer->Add(Tooltipped(new ToolButton(scenarioEditor.GetToolManager(), sizer->GetStaticBox(), _("Fill"), _T("FillTerrain"), wxSize(48, -1)),
|
gridSizer->Add(Tooltipped(new ToolButton(scenarioEditor.GetToolManager(), sizer->GetStaticBox(), _("Fill"), _T("FillTerrain"), wxSize(48, -1)),
|
||||||
_T("Bucket fill a patch of terrain texture with a new one")), wxSizerFlags().Expand());
|
_T("Bucket fill a patch of terrain texture with a new one")), wxSizerFlags().Expand());
|
||||||
sizer->Add(gridSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
sizer->Add(gridSizer, wxSizerFlags().Expand().Border(wxALL, 5));
|
||||||
scrollSizer->Add(sizer, wxSizerFlags().Expand().Border(wxTOP, 10));
|
m_MainSizer->Add(sizer, wxSizerFlags().Expand());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// Brush settings
|
// Brush settings
|
||||||
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _("Brush"));
|
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Brush"));
|
||||||
|
|
||||||
m_TexturePreview = new TexturePreviewPanel(sizer->GetStaticBox());
|
m_TexturePreview = new TexturePreviewPanel(sizer->GetStaticBox());
|
||||||
sizer->Add(m_TexturePreview, wxSizerFlags(1).Expand().Border(wxALL, 5));
|
sizer->Add(m_TexturePreview, wxSizerFlags(1).Expand().Border(wxALL, 5));
|
||||||
|
|
||||||
g_Brush_Elevation.CreateUI(sizer->GetStaticBox(), sizer);
|
g_Brush_Elevation.CreateUI(sizer->GetStaticBox(), sizer);
|
||||||
scrollSizer->Add(sizer, wxSizerFlags().Expand().Border(wxTOP, 10));
|
m_MainSizer->Add(sizer, wxSizerFlags().Expand());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// Visualise
|
// Visualise
|
||||||
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, scrolledWindow, _("Visualise"));
|
wxStaticBoxSizer* sizer = new wxStaticBoxSizer(wxVERTICAL, this, _("Visualise"));
|
||||||
scrollSizer->Add(sizer, wxSizerFlags().Expand().Border(wxTOP, 10));
|
m_MainSizer->Add(sizer, wxSizerFlags().Expand());
|
||||||
|
|
||||||
wxFlexGridSizer* visSizer = new wxFlexGridSizer(2, 5, 5);
|
wxFlexGridSizer* visSizer = new wxFlexGridSizer(2, 5, 5);
|
||||||
visSizer->AddGrowableCol(1);
|
visSizer->AddGrowableCol(1);
|
||||||
|
|||||||
@@ -26,12 +26,15 @@ namespace Atlas::Style
|
|||||||
#if defined(__WXGTK__)
|
#if defined(__WXGTK__)
|
||||||
constexpr int BOTTOMBAR_DEFAULT_SIZE = 200;
|
constexpr int BOTTOMBAR_DEFAULT_SIZE = 200;
|
||||||
constexpr int SIDEBAR_DEFAULT_SIZE = 285;
|
constexpr int SIDEBAR_DEFAULT_SIZE = 285;
|
||||||
|
constexpr int SIDEBAR_MAINLAOYOUT_VGAP = 10;
|
||||||
#elif defined(__WXOSX__) || defined(__WXMAC__)
|
#elif defined(__WXOSX__) || defined(__WXMAC__)
|
||||||
constexpr int BOTTOMBAR_DEFAULT_SIZE = 210;
|
constexpr int BOTTOMBAR_DEFAULT_SIZE = 210;
|
||||||
constexpr int SIDEBAR_DEFAULT_SIZE = 285;
|
constexpr int SIDEBAR_DEFAULT_SIZE = 285;
|
||||||
|
constexpr int SIDEBAR_MAINLAOYOUT_VGAP = 5;
|
||||||
#else // __MSW__
|
#else // __MSW__
|
||||||
constexpr int BOTTOMBAR_DEFAULT_SIZE = 180;
|
constexpr int BOTTOMBAR_DEFAULT_SIZE = 180;
|
||||||
constexpr int SIDEBAR_DEFAULT_SIZE = 235;
|
constexpr int SIDEBAR_DEFAULT_SIZE = 235;
|
||||||
|
constexpr int SIDEBAR_MAINLAOYOUT_VGAP = 5;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // namespace Atlas::Style
|
} // namespace Atlas::Style
|
||||||
|
|||||||
Reference in New Issue
Block a user