From 9f261f5b80b3600db1cfe1b4f06d43ac62ad9490 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Wed, 26 Jun 2019 07:53:22 +0300 Subject: [PATCH] Change window size when needed --- gui/graphFrame/frame.py | 13 +++++++++++-- gui/graphFrame/panel.py | 9 +++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/gui/graphFrame/frame.py b/gui/graphFrame/frame.py index 3b2d4a704..bd232fc1c 100644 --- a/gui/graphFrame/frame.py +++ b/gui/graphFrame/frame.py @@ -124,8 +124,17 @@ class GraphFrame(wx.Frame): self.mainFrame.Bind(EFFECTIVE_HP_TOGGLED, self.OnEhpToggled) self.draw() - self.Fit() - self.SetMinSize(self.GetSize()) + self.UpdateWindowSize() + + def UpdateWindowSize(self): + curW, curH = self.GetSize() + bestW, bestH = self.GetBestSize() + newW = max(curW, bestW) + newH = max(curH, bestH) + if newW > curW or newH > curH: + newSize = wx.Size(newW, newH) + self.SetSize(newSize) + self.SetMinSize(newSize) def closeEvent(self, event): self.closeWindow() diff --git a/gui/graphFrame/panel.py b/gui/graphFrame/panel.py index d2e167db5..a283efe42 100644 --- a/gui/graphFrame/panel.py +++ b/gui/graphFrame/panel.py @@ -69,7 +69,7 @@ class GraphControlPanel(wx.Panel): self.srcVectorSizer.Add(self.srcVectorLabel, 0, wx.ALIGN_CENTER_HORIZONTAL| wx.BOTTOM, 5) self.srcVector = VectorPicker(self, style=wx.NO_BORDER, size=75, offset=90) self.srcVectorSizer.Add(self.srcVector, 0, wx.SHAPED | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 0) - graphOptsSizer.Add(self.srcVectorSizer, 0, wx.EXPAND | wx.LEFT, 30) + graphOptsSizer.Add(self.srcVectorSizer, 0, wx.EXPAND | wx.LEFT, 15) self.tgtVectorSizer = wx.BoxSizer(wx.VERTICAL) self.tgtVectorLabel = wx.StaticText(self, wx.ID_ANY, '') @@ -128,7 +128,8 @@ class GraphControlPanel(wx.Panel): self.targetList.Show(view.hasTargets) self.updateInputs() - self.Layout() + self.graphFrame.Layout() + self.graphFrame.UpdateWindowSize() def updateInputs(self): # Clean up old inputs @@ -191,7 +192,6 @@ class GraphControlPanel(wx.Panel): self.srcVector.SetDirectionOnly(view.srcVectorDef.lengthHandle == mainInputHandle) self.tgtVector.SetDirectionOnly(view.tgtVectorDef.lengthHandle == mainInputHandle) - def OnShowY0Change(self, event): event.Skip() self.graphFrame.draw() @@ -203,7 +203,8 @@ class GraphControlPanel(wx.Panel): def OnXTypeUpdate(self, event): event.Skip() self.updateInputs() - self.Layout() + self.graphFrame.Layout() + self.graphFrame.UpdateWindowSize() self.graphFrame.draw() def OnFieldChanged(self, event):