Merge branch 'master' of evefit.org:pyfa
This commit is contained in:
2
eos
2
eos
Submodule eos updated: 2319c0297f...61bb6cf132
@@ -25,11 +25,10 @@ import gui.marketBrowser
|
||||
import gui.display as d
|
||||
from gui.contextMenu import ContextMenu
|
||||
import gui.shipBrowser
|
||||
import gui.multiSwitch
|
||||
from eos.types import Slot
|
||||
from gui.builtinViewColumns.state import State
|
||||
import gui.multiSwitch
|
||||
from gui import bitmapLoader
|
||||
import gui.shipBrowser
|
||||
|
||||
FitChanged, FIT_CHANGED = wx.lib.newevent.NewEvent()
|
||||
|
||||
@@ -59,8 +58,19 @@ class FitSpawner(gui.multiSwitch.TabSpawner):
|
||||
|
||||
def handleDrag(self, type, fitID):
|
||||
if type == "fit":
|
||||
for page in self.multiSwitch.pages:
|
||||
if isinstance(page, FittingView) and page.activeFitID == fitID:
|
||||
index = self.multiSwitch.GetPageIndex(page)
|
||||
self.multiSwitch.SetSelection(index)
|
||||
return
|
||||
elif isinstance(page, gui.multiSwitch.BlankPage):
|
||||
view = FittingView(self.multiSwitch)
|
||||
self.multiSwitch.ReplaceActivePage(view)
|
||||
view.handleDrag(type, fitID)
|
||||
return
|
||||
|
||||
view = FittingView(self.multiSwitch)
|
||||
self.multiSwitch.ReplaceActivePage(view)
|
||||
self.multiSwitch.AddPage(view)
|
||||
view.handleDrag(type, fitID)
|
||||
|
||||
FitSpawner.register()
|
||||
|
||||
@@ -33,12 +33,19 @@ class FleetView(wx.gizmos.TreeListCtrl):
|
||||
self.AddColumn(col)
|
||||
|
||||
self.SetMainColumn(1)
|
||||
|
||||
self.icons = {}
|
||||
self.addImage = self.imageList.Add(bitmapLoader.getBitmap("add_small", "icons"))
|
||||
for icon in ("fb", "fc", "sb", "sc", "wb", "wc"):
|
||||
self.icons[icon] = self.imageList.Add(bitmapLoader.getBitmap("fleet_%s_small" % icon, "icons"))
|
||||
|
||||
self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.checkNew)
|
||||
|
||||
def checkNew(self, event):
|
||||
data = self.GetPyData(event.Item)
|
||||
if data and isinstance(data, tuple) and data[0] == "add":
|
||||
layer = data[1]
|
||||
|
||||
|
||||
def populate(self, fleetID):
|
||||
sFleet = service.Fleet.getInstance()
|
||||
f = sFleet.getFleetByID(fleetID)
|
||||
@@ -75,9 +82,11 @@ class FleetView(wx.gizmos.TreeListCtrl):
|
||||
|
||||
def addAdder(self, treeItemId, layer):
|
||||
id = self.AppendItem(treeItemId, "Add new %s" % layer.capitalize())
|
||||
self.SetPyData(id, ("add", layer))
|
||||
self.SetItemImage(id, self.addImage, 1)
|
||||
|
||||
def setEntry(self, treeItemId, fit, layer, info):
|
||||
self.SetPyData(treeItemId, info)
|
||||
if fit is None:
|
||||
self.SetItemText(treeItemId, "%s Commander" % layer.capitalize(), 1)
|
||||
else:
|
||||
|
||||
@@ -29,10 +29,7 @@ class MultiSwitch(gui.chromeTabs.PFNotebook):
|
||||
for type in TabSpawner.tabTypes:
|
||||
handlers.append(type(self))
|
||||
|
||||
def handleDrag(self, type, info, spawnTab=True):
|
||||
if spawnTab:
|
||||
self.AddPage()
|
||||
|
||||
def handleDrag(self, type, info):
|
||||
for handler in self.handlers:
|
||||
h = getattr(handler, "handleDrag", None)
|
||||
if h:
|
||||
@@ -40,8 +37,8 @@ class MultiSwitch(gui.chromeTabs.PFNotebook):
|
||||
|
||||
def AddPage(self, tabWnd=None, tabTitle="Empty Tab", tabImage=None):
|
||||
if tabWnd is None:
|
||||
tabWnd = wx.Panel(self, size=(0, 0))
|
||||
tabWnd.handleDrag = lambda type, info: self.handleDrag(type, info, False)
|
||||
tabWnd = BlankPage(self)
|
||||
tabWnd.handleDrag = lambda type, info: self.handleDrag(type, info)
|
||||
|
||||
gui.chromeTabs.PFNotebook.AddPage(self, tabWnd, tabTitle, tabImage, True)
|
||||
|
||||
@@ -52,6 +49,10 @@ class MultiSwitch(gui.chromeTabs.PFNotebook):
|
||||
else:
|
||||
gui.mainFrame.MainFrame.getInstance().Close()
|
||||
|
||||
class BlankPage(wx.Panel):
|
||||
def __init__(self, parent):
|
||||
wx.Panel.__init__(self, parent, size=(0, 0))
|
||||
|
||||
class TabSpawner(object):
|
||||
tabTypes = []
|
||||
@classmethod
|
||||
|
||||
Reference in New Issue
Block a user