mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-06 08:26:07 +08:00
Fix the window size when progress panels are removed.
This commit is contained in:
parent
ac9f65c098
commit
d1af41e61b
@ -32,6 +32,7 @@ class mainWindow(wx.Frame):
|
||||
|
||||
self.lastPath = ""
|
||||
self.filename = None
|
||||
self.progressPanelList = []
|
||||
self.controlList = []
|
||||
self.plugins = {}
|
||||
for m in skeinforge_profile.getCraftTypePluginModule().getCraftSequence():
|
||||
@ -109,7 +110,6 @@ class mainWindow(wx.Frame):
|
||||
|
||||
self.panel = p
|
||||
self.sizer = sizer
|
||||
self.sizer.SetRows(2)
|
||||
|
||||
self.SetSize((800, 400))
|
||||
self.Centre()
|
||||
@ -170,11 +170,27 @@ class mainWindow(wx.Frame):
|
||||
settings.storeRepository(self.plugins[pluginName])
|
||||
settings.saveGlobalConfig(settings.getDefaultConfigPath())
|
||||
#skeinpypy.runSkein([self.filename])
|
||||
spp = sliceProgessPanel.sliceProgessPanel(self.panel, self.filename)
|
||||
self.sizer.Add(spp, (self.sizer.GetRows(),0), span=(1,4), flag=wx.EXPAND)
|
||||
self.sizer.SetRows(self.sizer.GetRows()+1)
|
||||
spp = sliceProgessPanel.sliceProgessPanel(self, self.panel, self.filename)
|
||||
self.sizer.Add(spp, (len(self.progressPanelList)+2,0), span=(1,4), flag=wx.EXPAND)
|
||||
self.sizer.Layout()
|
||||
|
||||
newSize = self.GetSize();
|
||||
newSize.IncBy(0, spp.GetSize().GetHeight())
|
||||
self.SetSize(newSize)
|
||||
self.progressPanelList.append(spp)
|
||||
|
||||
def removeSliceProgress(self, spp):
|
||||
self.progressPanelList.remove(spp)
|
||||
newSize = self.GetSize();
|
||||
newSize.IncBy(0, -spp.GetSize().GetHeight())
|
||||
self.SetSize(newSize)
|
||||
spp.Destroy()
|
||||
for spp in self.progressPanelList:
|
||||
self.sizer.Remove(spp)
|
||||
i = 2
|
||||
for spp in self.progressPanelList:
|
||||
self.sizer.Add(spp, (i,0), span=(1,4), flag=wx.EXPAND)
|
||||
i += 1
|
||||
|
||||
def updateConfig(self):
|
||||
for ctrl in self.controlList:
|
||||
ctrl.setting.setValueToString(ctrl.GetValue())
|
||||
|
@ -5,8 +5,9 @@ import wx,sys,math,threading,subprocess
|
||||
from newui import skeinRun
|
||||
|
||||
class sliceProgessPanel(wx.Panel):
|
||||
def __init__(self, parent, filename):
|
||||
def __init__(self, mainWindow, parent, filename):
|
||||
wx.Panel.__init__(self, parent, -1)
|
||||
self.mainWindow = mainWindow
|
||||
self.filename = filename
|
||||
self.abort = False
|
||||
|
||||
@ -30,7 +31,7 @@ class sliceProgessPanel(wx.Panel):
|
||||
|
||||
def OnAbort(self, e):
|
||||
if self.abort:
|
||||
self.Destroy()
|
||||
self.mainWindow.removeSliceProgress(self)
|
||||
else:
|
||||
self.abort = True
|
||||
|
||||
@ -61,4 +62,6 @@ class WorkerThread(threading.Thread):
|
||||
wx.CallAfter(self.notifyWindow.statusText.SetLabel, "Aborted by user.")
|
||||
return
|
||||
line = p.stdout.readline()
|
||||
wx.CallAfter(self.notifyWindow.progressGauge.SetValue, maxValue)
|
||||
wx.CallAfter(self.notifyWindow.statusText.SetLabel, "Ready.")
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user