diff --git a/hswindow/hseditor/hsdc6editor/dc6_editor.go b/hswindow/hseditor/hsdc6editor/dc6_editor.go index df4057d4..1438b09c 100644 --- a/hswindow/hseditor/hsdc6editor/dc6_editor.go +++ b/hswindow/hseditor/hsdc6editor/dc6_editor.go @@ -58,28 +58,28 @@ func Create(config *hsconfig.Config, // Build builds a new dc6 editor func (e *DC6Editor) Build() { + id := e.Path.GetUniqueID() + e.IsOpen(&e.Visible) e.Flags(g.WindowFlagsAlwaysAutoResize) - if !e.selectPalette { - e.Layout(g.Layout{ - dc6widget.Create(e.state, e.palette, e.textureLoader, e.Path.GetUniqueID(), e.dc6), - }) - - return + if e.selectPalette { + selectPaletteWidget := hswidget.NewSelectPaletteWidget( + id+"selectPalette", + e.Project, + e.config, + ).IsOpen(&e.selectPalette).OnSelect( + func(palette *[256]d2interface.Color) { + e.palette = palette + }, + ) + + e.Layout(selectPaletteWidget) } - selectPaletteWidget := hswidget.NewSelectPaletteWidget( - e.Path.GetUniqueID()+"selectPalette", - e.Project, - e.config, - ).IsOpen(&e.selectPalette).OnSelect( - func(palette *[256]d2interface.Color) { - e.palette = palette - }, + e.Layout( + dc6widget.Create(e.state, e.palette, e.textureLoader, id, e.dc6), ) - - e.Layout(selectPaletteWidget) } // UpdateMainMenuLayout updates main menu to it contain DC6's editor menu diff --git a/hswindow/hseditor/hsdcceditor/dcc_editor.go b/hswindow/hseditor/hsdcceditor/dcc_editor.go index ab372c72..cfb9c64e 100644 --- a/hswindow/hseditor/hsdcceditor/dcc_editor.go +++ b/hswindow/hseditor/hsdcceditor/dcc_editor.go @@ -62,25 +62,27 @@ func (e *DCCEditor) Build() { e.IsOpen(&e.Visible) e.Flags(g.WindowFlagsAlwaysAutoResize) - if !e.selectPalette { - e.Layout(g.Layout{ - dccwidget.Create(e.textureLoader, e.state, e.palette, e.Path.GetUniqueID(), e.dcc), - }) + id := e.Path.GetUniqueID() + + if e.selectPalette { + selectPaletteWidget := hswidget.NewSelectPaletteWidget( + "##"+id+"SelectPaletteWidget", + e.Project, + e.config, + ).IsOpen(&e.selectPalette).OnSelect( + func(colors *[256]d2interface.Color) { + e.palette = colors + }, + ) + + e.Layout(selectPaletteWidget) return } - selectPaletteWidget := hswidget.NewSelectPaletteWidget( - "##"+e.Path.GetUniqueID()+"SelectPaletteWidget", - e.Project, - e.config, - ).IsOpen(&e.selectPalette).OnSelect( - func(colors *[256]d2interface.Color) { - e.palette = colors - }, + e.Layout( + dccwidget.Create(e.textureLoader, e.state, e.palette, id, e.dcc), ) - - e.Layout(selectPaletteWidget) } // UpdateMainMenuLayout updates main menu to it contain editor's options diff --git a/hswindow/hseditor/hsdt1editor/dt1_editor.go b/hswindow/hseditor/hsdt1editor/dt1_editor.go index e422cdf3..21557137 100644 --- a/hswindow/hseditor/hsdt1editor/dt1_editor.go +++ b/hswindow/hseditor/hsdt1editor/dt1_editor.go @@ -59,29 +59,28 @@ func Create(config *hsconfig.Config, // Build prepares the editor for rendering, but does not actually render it func (e *DT1Editor) Build() { + id := e.Path.GetUniqueID() + e.IsOpen(&e.Visible) e.Flags(g.WindowFlagsAlwaysAutoResize) - if !e.selectPalette { - dt1Viewer := dt1widget.Create(e.state, e.palette, e.textureLoader, e.Path.GetUniqueID(), e.dt1) - e.Layout(g.Layout{ - dt1Viewer, - }) - - return + if e.selectPalette { + selectPaletteWidget := hswidget.NewSelectPaletteWidget( + id+"SelectPalette", + e.Project, + e.config, + ).IsOpen(&e.selectPalette).OnSelect( + func(colors *[256]d2interface.Color) { + e.palette = colors + }, + ) + e.Layout(selectPaletteWidget) } - selectPaletteWidget := hswidget.NewSelectPaletteWidget( - e.Path.GetUniqueID(), - e.Project, - e.config, - ).IsOpen(&e.selectPalette).OnSelect( - func(colors *[256]d2interface.Color) { - e.palette = colors - }, - ) - - e.Layout(selectPaletteWidget) + dt1Viewer := dt1widget.Create(e.state, e.palette, e.textureLoader, id, e.dt1) + e.Layout(g.Layout{ + dt1Viewer, + }) } // UpdateMainMenuLayout updates main menu layout to it contains editors options