From 3d57ba9e5f0995a57ca470671dc5deab545d71ec Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Fri, 13 Aug 2010 16:58:32 +0200 Subject: [PATCH] Add a Notebook to be able to display several fits at once --- gui/fitMultiSwitch.py | 39 +++++++++++++++++++++++++++++++++++++++ gui/mainFrame.py | 18 +++++------------- gui/marketBrowser.py | 6 ++---- 3 files changed, 46 insertions(+), 17 deletions(-) create mode 100644 gui/fitMultiSwitch.py diff --git a/gui/fitMultiSwitch.py b/gui/fitMultiSwitch.py new file mode 100644 index 000000000..e20797d6f --- /dev/null +++ b/gui/fitMultiSwitch.py @@ -0,0 +1,39 @@ +#=============================================================================== +# Copyright (C) 2010 Diego Duclos +# +# This file is part of pyfa. +# +# pyfa is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pyfa is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pyfa. If not, see . +#=============================================================================== + +import wx +from gui.fittingView import FittingView +from gui.statsPane import StatsPane + +class FitMultiSwitch(wx.Notebook): + def __init__(self, parent): + wx.Notebook.__init__(self, parent, wx.ID_ANY) + self.AddPage(wx.Panel(self), "+") + + def AddTab(self): + p = wx.Panel(self) + sizer = wx.BoxSizer(wx.HORIZONTAL) + + sizer.Add(FittingView(p), 1, wx.EXPAND) + sizer.Add(StatsPane(p), 0, wx.EXPAND) + + p.SetSizer(sizer) + pos = self.GetPageCount() - 1 + self.InsertPage(pos, p, "Empty tab") + self.SetSelection(pos) diff --git a/gui/mainFrame.py b/gui/mainFrame.py index c2149498c..5004670ab 100644 --- a/gui/mainFrame.py +++ b/gui/mainFrame.py @@ -21,8 +21,7 @@ import wx from gui.mainMenuBar import MainMenuBar from gui.mainToolBar import MainToolBar from gui.marketBrowser import MarketBrowser -from gui.fittingView import FittingView -from gui.statsPane import StatsPane +from gui.fitMultiSwitch import FitMultiSwitch class MainFrame(wx.Frame): def __init__(self): @@ -36,17 +35,10 @@ class MainFrame(wx.Frame): self.splitter = wx.SplitterWindow(self, style = wx.SP_LIVE_UPDATE) - self.rightPanel = MarketBrowser(self.splitter) - self.leftPanel = wx.Panel(self.splitter) - self.fittingView = FittingView(self.leftPanel) - self.statsPane = StatsPane(self.leftPanel) + self.marketBrowser = MarketBrowser(self.splitter) + self.fitMultiSwitch = FitMultiSwitch(self.splitter) - self.leftSizer = wx.BoxSizer(wx.HORIZONTAL) + self.fitMultiSwitch.AddTab() - self.leftSizer.Add(self.fittingView, 1, wx.EXPAND) - self.leftSizer.Add(self.statsPane, 0, wx.EXPAND) - - self.leftPanel.SetSizer(self.leftSizer) - - self.splitter.SplitVertically(self.rightPanel, self.leftPanel) + self.splitter.SplitVertically(self.marketBrowser, self.fitMultiSwitch) self.splitter.SetMinimumPaneSize(260) diff --git a/gui/marketBrowser.py b/gui/marketBrowser.py index 6460a0434..a622f2c54 100644 --- a/gui/marketBrowser.py +++ b/gui/marketBrowser.py @@ -22,17 +22,15 @@ import wx class MarketBrowser(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent) - hbox = wx.BoxSizer(wx.HORIZONTAL) vbox = wx.BoxSizer(wx.VERTICAL) self.splitter = wx.SplitterWindow(self, style = wx.SP_LIVE_UPDATE) vbox.Add(self.splitter, 1, wx.EXPAND) - hbox.Add(vbox, 1, wx.EXPAND) - self.SetSizer(hbox) + self.SetSizer(vbox) self.marketView = wx.TreeCtrl(self.splitter) self.itemView = wx.TreeCtrl(self.splitter) self.splitter.SplitHorizontally(self.marketView, self.itemView) - self.splitter.SetMinimumPaneSize(400) + self.splitter.SetSashPosition(-300, True)