Move some view handling stuff around and do initial work on the
fleetBrowser
This commit is contained in:
2
eos
2
eos
Submodule eos updated: 5c635976f2...0c6e933317
@@ -20,7 +20,7 @@
|
||||
import wx
|
||||
import service
|
||||
import gui.display as d
|
||||
import gui.fittingView as fv
|
||||
import gui.builtinViews.fittingView as fv
|
||||
import gui.marketBrowser as mb
|
||||
from gui.builtinViewColumns.state import State
|
||||
from gui.contextMenu import ContextMenu
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
from gui.contextMenu import ContextMenu
|
||||
import gui.mainFrame
|
||||
import service
|
||||
import gui.fittingView
|
||||
import wx
|
||||
import gui.fittingView
|
||||
from gui import bitmapLoader
|
||||
|
||||
class AmmoPattern(ContextMenu):
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from gui.contextMenu import ContextMenu
|
||||
import gui.mainFrame
|
||||
import service
|
||||
import gui.fittingView
|
||||
import gui.builtinViews.fittingView
|
||||
import wx
|
||||
from gui import bitmapLoader
|
||||
|
||||
@@ -15,7 +15,7 @@ class DamagePattern(ContextMenu):
|
||||
def getText(self, context, selection):
|
||||
sDP = service.DamagePattern.getInstance()
|
||||
self.patterns = sDP.getDamagePatternList()
|
||||
self.patterns.sort( key=lambda p: (p.name in ["Selected Ammo",
|
||||
self.patterns.sort( key=lambda p: (p.name in ["Selected Ammo",
|
||||
"Uniform"], p.name) )
|
||||
m = map(lambda p: p.name, self.patterns)
|
||||
return m
|
||||
@@ -26,7 +26,7 @@ class DamagePattern(ContextMenu):
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
sFit.setDamagePattern(fitID, self.patterns[i])
|
||||
setattr(self.mainFrame,"_activeDmgPattern",self.patterns[i])
|
||||
wx.PostEvent(self.mainFrame, gui.fittingView.FitChanged(fitID=fitID))
|
||||
wx.PostEvent(self.mainFrame, gui.builtinViews.fittingView.FitChanged(fitID=fitID))
|
||||
|
||||
def getBitmap(self, context, selection):
|
||||
sFit = service.Fit.getInstance()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from gui.contextMenu import ContextMenu
|
||||
from gui.itemStats import ItemStatsDialog
|
||||
import gui.mainFrame
|
||||
import gui.fittingView
|
||||
import gui.builtinViews.fittingView
|
||||
import service
|
||||
import wx
|
||||
|
||||
@@ -54,5 +54,5 @@ class DroneSpinner(wx.Dialog):
|
||||
sFit.splitDroneStack(fitID, self.drone, self.spinner.GetValue())
|
||||
else:
|
||||
sFit.splitProjectedDroneStack(fitID, self.drone, self.spinner.GetValue())
|
||||
wx.PostEvent(mainFrame, gui.fittingView.FitChanged(fitID=fitID))
|
||||
wx.PostEvent(mainFrame, gui.builtinViews.fittingView.FitChanged(fitID=fitID))
|
||||
event.Skip()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from gui.contextMenu import ContextMenu
|
||||
import gui.mainFrame
|
||||
import service
|
||||
import gui.fittingView
|
||||
import gui.builtinViews.fittingView
|
||||
import wx
|
||||
from gui import bitmapLoader
|
||||
|
||||
@@ -19,7 +19,7 @@ class FactorReload(ContextMenu):
|
||||
sFit = service.Fit.getInstance()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
sFit.toggleFactorReload(fitID)
|
||||
wx.PostEvent(self.mainFrame, gui.fittingView.FitChanged(fitID=fitID))
|
||||
wx.PostEvent(self.mainFrame, gui.builtinViews.fittingView.FitChanged(fitID=fitID))
|
||||
|
||||
def getBitmap(self, context, selection):
|
||||
sFit = service.Fit.getInstance()
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
from gui.contextMenu import ContextMenu
|
||||
import gui.mainFrame
|
||||
import service
|
||||
import gui.fittingView
|
||||
import wx
|
||||
from gui import bitmapLoader
|
||||
from eos.types import Hardpoint
|
||||
import gui.builtinViews.fittingView
|
||||
|
||||
class ModuleAmmoPicker(ContextMenu):
|
||||
def __init__(self):
|
||||
@@ -179,6 +179,6 @@ class ModuleAmmoPicker(ContextMenu):
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
|
||||
sFit.setAmmo(fitID, charge.ID if charge is not None else None, self.modules)
|
||||
wx.PostEvent(self.mainFrame, gui.fittingView.FitChanged(fitID=fitID))
|
||||
wx.PostEvent(self.mainFrame, gui.builtinViews.fittingView.FitChanged(fitID=fitID))
|
||||
|
||||
ModuleAmmoPicker.register()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from gui.contextMenu import ContextMenu
|
||||
import gui.mainFrame
|
||||
import service
|
||||
import gui.fittingView
|
||||
import gui.builtinViews.fittingView
|
||||
import wx
|
||||
|
||||
class Project(ContextMenu):
|
||||
@@ -22,6 +22,6 @@ class Project(ContextMenu):
|
||||
sFit = service.Fit.getInstance()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
sFit.project(fitID, selection[0])
|
||||
wx.PostEvent(self.mainFrame, gui.fittingView.FitChanged(fitID=fitID))
|
||||
wx.PostEvent(self.mainFrame, gui.builtinViews.fittingView.FitChanged(fitID=fitID))
|
||||
|
||||
Project.register()
|
||||
|
||||
@@ -25,7 +25,7 @@ from gui import pygauge as PG
|
||||
from util import formatAmount
|
||||
import service
|
||||
import gui.mainFrame
|
||||
import gui.fittingView as fv
|
||||
import gui.builtinViews.fittingView as fv
|
||||
|
||||
EffictiveHpToggled, EFFECTIVE_HP_TOGGLED = wx.lib.newevent.NewEvent()
|
||||
|
||||
|
||||
1
gui/builtinViews/__init__.py
Executable file
1
gui/builtinViews/__init__.py
Executable file
@@ -0,0 +1 @@
|
||||
__all__ = ["fittingView", "fleetView"]
|
||||
@@ -22,14 +22,13 @@ import wx.lib.newevent
|
||||
import service
|
||||
import gui.mainFrame
|
||||
import gui.marketBrowser
|
||||
import bitmapLoader
|
||||
import gui.display as d
|
||||
from gui.contextMenu import ContextMenu
|
||||
import gui.shipBrowser
|
||||
import sys
|
||||
from eos.types import Slot
|
||||
from gui.builtinViewColumns.state import State
|
||||
import gui.multiSwitch
|
||||
from gui import bitmapLoader
|
||||
|
||||
FitChanged, FIT_CHANGED = wx.lib.newevent.NewEvent()
|
||||
|
||||
55
gui/builtinViews/fleetView.py
Normal file
55
gui/builtinViews/fleetView.py
Normal file
@@ -0,0 +1,55 @@
|
||||
import wx.gizmos
|
||||
import gui.fleetBrowser
|
||||
import service
|
||||
|
||||
#Tab spawning handler
|
||||
class FleetSpawner(gui.multiSwitch.TabSpawner):
|
||||
def __init__(self, multiSwitch):
|
||||
self.multiSwitch = multiSwitch
|
||||
mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
mainFrame.Bind(gui.fleetBrowser.EVT_FLEET_SELECTED, self.fleetSelected)
|
||||
|
||||
def fleetSelected(self, event):
|
||||
view = FleetView(self.multiSwitch)
|
||||
self.multiSwitch.ReplaceActivePage(view)
|
||||
view.populate(event.fleetID)
|
||||
view.Show()
|
||||
|
||||
FleetSpawner.register()
|
||||
|
||||
class FleetView(wx.gizmos.TreeListCtrl):
|
||||
def __init__(self, parent):
|
||||
wx.gizmos.TreeListCtrl.__init__(self, parent)
|
||||
|
||||
self.tabManager = parent
|
||||
self.imageList = wx.ImageList(16, 16)
|
||||
self.SetImageList(self.imageList)
|
||||
|
||||
for col in ("Fit", "Shiptype", "Character", "Bonusses"):
|
||||
self.AddColumn(col)
|
||||
|
||||
|
||||
def populate(self, fleetID):
|
||||
sFleet = service.Fleet.getInstance()
|
||||
f = sFleet.getFleet(fleetID)
|
||||
self.tabManager.SetPageTextIcon(self.tabManager.GetSelection(), f.name)
|
||||
self.fleet = f
|
||||
self.DeleteAllItems()
|
||||
root = self.AddRoot("FC")
|
||||
self.setEntry(root, f.leader)
|
||||
|
||||
def setEntry(self, treeItemId, fit):
|
||||
if fit is None:
|
||||
self.SetItemText(treeItemId, "Empty", 0)
|
||||
else:
|
||||
fleet = self.fleet
|
||||
self.SetItemText(treeItemId, fit.name, 0)
|
||||
self.SetItemText(treeItemId, fit.ship.item.name, 1)
|
||||
self.SetItemText(treeItemId, fit.character.name, 2)
|
||||
boosts = fleet.store.getBoosts(fit)
|
||||
if boosts:
|
||||
bonusses = []
|
||||
for name, info in boosts.iteritems():
|
||||
bonusses.append("%s: %.2g" % (name, info[0]))
|
||||
|
||||
self.SetItemText(treeItemId, ", ".join(bonusses), 3)
|
||||
@@ -27,7 +27,7 @@ import service
|
||||
import gui.display as d
|
||||
from gui.contextMenu import ContextMenu
|
||||
import sys
|
||||
import gui.fittingView as fv
|
||||
import gui.builtinViews.fittingView as fv
|
||||
|
||||
CharListUpdated, CHAR_LIST_UPDATED = wx.lib.newevent.NewEvent()
|
||||
CharChanged, CHAR_CHANGED = wx.lib.newevent.NewEvent()
|
||||
|
||||
@@ -21,7 +21,7 @@ import wx
|
||||
import service
|
||||
from gui import characterEditor as ce
|
||||
from gui import bitmapLoader
|
||||
from gui import fittingView as fv
|
||||
from gui.builtinViews import fittingView as fv
|
||||
import gui.mainFrame
|
||||
|
||||
class CharacterSelection(wx.Panel):
|
||||
|
||||
@@ -204,17 +204,23 @@ class PFNotebook(wx.Panel):
|
||||
def IsActive(self, page):
|
||||
return self.activePage == page
|
||||
|
||||
def SetPageText(self, i, text, refresh=False):
|
||||
def SetPageText(self, i, text, refresh=True):
|
||||
tab = self.tabsContainer.tabs[i]
|
||||
tab.text = text
|
||||
if refresh:
|
||||
self.tabsContainer.AdjustTabsSize()
|
||||
self.Refresh()
|
||||
|
||||
def SetPageIcon(self, i, icon, refresh=False):
|
||||
def SetPageIcon(self, i, icon, refresh=True):
|
||||
tab = self.tabsContainer.tabs[i]
|
||||
tab.tabImg = icon
|
||||
if refresh:
|
||||
self.tabsContainer.AdjustTabsSize()
|
||||
self.Refresh()
|
||||
|
||||
def SetPageTextIcon(self, i, text=wx.EmptyString, icon=None):
|
||||
self.SetPageText(i, text)
|
||||
self.SetPageIcon(i, icon)
|
||||
self.SetPageText(i, text, False)
|
||||
self.SetPageIcon(i, icon, False)
|
||||
self.tabsContainer.AdjustTabsSize()
|
||||
self.Refresh()
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
import wx
|
||||
|
||||
import service
|
||||
import gui.fittingView as fv
|
||||
import gui.builtinViews.fittingView as fv
|
||||
import gui.marketBrowser as mb
|
||||
import gui.display as d
|
||||
from gui.builtinViewColumns.state import State
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
import wx
|
||||
import copy
|
||||
from gui import bitmapLoader
|
||||
import gui.mainFrame
|
||||
|
||||
class FleetBrowser(wx.Panel):
|
||||
def __init__(self, parent):
|
||||
wx.Panel.__init__(self, parent)
|
||||
self.SetBackgroundColour("pink")
|
||||
x = FleetItem(self, 1, "IMBA Fleet", 23, size = (200,32))
|
||||
|
||||
FleetSelected, EVT_FLEET_SELECTED = wx.lib.newevent.NewEvent()
|
||||
|
||||
@@ -10,6 +17,7 @@ class FleetItem(wx.Window):
|
||||
size=(0,16), style=0):
|
||||
wx.Window.__init__(self, parent, id, pos, size, style)
|
||||
|
||||
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
self.fleetID = fleetID
|
||||
self.fleetName = fleetName
|
||||
self.fleetCount = fleetCount
|
||||
@@ -26,6 +34,11 @@ class FleetItem(wx.Window):
|
||||
|
||||
self.Bind(wx.EVT_LEAVE_WINDOW, self.LeaveWindow)
|
||||
self.Bind(wx.EVT_ENTER_WINDOW, self.EnterWindow)
|
||||
self.Bind(wx.EVT_LEFT_UP, self.selected)
|
||||
|
||||
def selected(self, event):
|
||||
wx.PostEvent(self.mainFrame, FleetSelected(fleetID=0))
|
||||
event.Skip()
|
||||
|
||||
def Rename(self, newName):
|
||||
self.fleetName = newName
|
||||
@@ -102,9 +115,3 @@ class FleetItem(wx.Window):
|
||||
event.Skip()
|
||||
|
||||
|
||||
|
||||
class FleetBrowser(wx.Panel):
|
||||
def __init__(self, parent):
|
||||
wx.Panel.__init__(self, parent)
|
||||
self.SetBackgroundColour("pink")
|
||||
x = FleetItem(self, 1, "IMBA Fleet", 23, size = (200,32))
|
||||
@@ -1,29 +0,0 @@
|
||||
import wx.gizmos
|
||||
import gui.fleetBrowser
|
||||
|
||||
#Tab spawning handler
|
||||
class FleetSpawner(gui.multiSwitch.TabSpawner):
|
||||
def __init__(self, multiSwitch):
|
||||
self.multiSwitch = multiSwitch
|
||||
mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
mainFrame.Bind(gui.fleetBrowser.EVT_FLEET_SELECTED, self.fleetSelected)
|
||||
|
||||
def fleetSelected(self, event):
|
||||
view = FleetView(self.multiSwitch)
|
||||
self.multiSwitch.ReplaceActivePage(view)
|
||||
|
||||
FleetSpawner.register()
|
||||
|
||||
class FleetView(wx.gizmos.TreeListCtrl):
|
||||
def __init__(self, parent):
|
||||
wx.gizmos.TreeListCtrl.__init__(self, parent)
|
||||
self.imageList = wx.ImageList(16, 16)
|
||||
self.SetImageList(self.imageList)
|
||||
|
||||
for col in ("Fit", "Character", "Bonusses"):
|
||||
self.AddColumn(col)
|
||||
|
||||
self.AddRoot("WC")
|
||||
|
||||
def populate(self):
|
||||
pass
|
||||
@@ -20,7 +20,6 @@
|
||||
import wx
|
||||
import bitmapLoader
|
||||
import gui.display
|
||||
import gui.fittingView
|
||||
|
||||
try:
|
||||
import matplotlib as mpl
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
import wx
|
||||
import service
|
||||
import gui.display as d
|
||||
import gui.fittingView as fv
|
||||
import gui.builtinViews.fittingView as fv
|
||||
import gui.marketBrowser as mb
|
||||
from gui.builtinViewColumns.state import State
|
||||
from gui.contextMenu import ContextMenu
|
||||
|
||||
@@ -35,11 +35,11 @@ from gui.graphFrame import GraphFrame
|
||||
from gui.copySelectDialog import CopySelectDialog
|
||||
from gui.fleetBrowser import FleetBrowser
|
||||
import aboutData
|
||||
import gui.fittingView as fv
|
||||
from wx._core import PyDeadObjectError
|
||||
import os.path
|
||||
import gui.chromeTabs
|
||||
from util import toClipboard, fromClipboard
|
||||
from builtinViews import *
|
||||
|
||||
#dummy panel no paint no erasebk
|
||||
class PFPanel(wx.Panel):
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
|
||||
import wx
|
||||
import bitmapLoader
|
||||
import gui.fittingView
|
||||
import gui.mainFrame
|
||||
import gui.graphFrame
|
||||
|
||||
@@ -91,7 +90,7 @@ class MainMenuBar(wx.MenuBar):
|
||||
|
||||
|
||||
|
||||
self.mainFrame.Bind(gui.fittingView.FIT_CHANGED, self.fitChanged)
|
||||
self.mainFrame.Bind(gui.builtinViews.fittingView.FIT_CHANGED, self.fitChanged)
|
||||
|
||||
def fitChanged(self, event):
|
||||
enable = event.fitID is not None
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
import wx
|
||||
import gui.display as d
|
||||
import gui.fittingView as fv
|
||||
import gui.builtinViews.fittingView as fv
|
||||
import service
|
||||
import gui.droneView
|
||||
from gui.builtinViewColumns.state import State
|
||||
|
||||
@@ -2,7 +2,7 @@ import wx
|
||||
import copy
|
||||
from gui import bitmapLoader
|
||||
import gui.mainFrame
|
||||
import gui.fittingView
|
||||
import gui.builtinViews.fittingView
|
||||
import service
|
||||
import time
|
||||
import os
|
||||
@@ -79,7 +79,7 @@ class ShipBrowser(wx.Panel):
|
||||
self.Bind(EVT_SB_STAGE3_SEL, self.stage3)
|
||||
self.Bind(EVT_SB_SEARCH_SEL, self.searchStage)
|
||||
|
||||
self.mainFrame.Bind(gui.fittingView.FIT_CHANGED, self.RefreshList)
|
||||
self.mainFrame.Bind(gui.builtinViews.fittingView.FIT_CHANGED, self.RefreshList)
|
||||
|
||||
self.stage1(None)
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import service
|
||||
from gui.pyfatogglepanel import TogglePanel
|
||||
import gui.builtinStatsViews
|
||||
from gui.contextMenu import ContextMenu
|
||||
import gui.fittingView as fv
|
||||
import gui.builtinViews.fittingView as fv
|
||||
import gui.mainFrame
|
||||
|
||||
class StatsPane(wx.Panel):
|
||||
|
||||
@@ -4,3 +4,4 @@ from service.attribute import Attribute
|
||||
from service.character import Character
|
||||
from service.damagePattern import DamagePattern
|
||||
from service.settings import SettingsProvider
|
||||
from service.fleet import Fleet
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#===============================================================================
|
||||
|
||||
import eos.db
|
||||
from eos.types import Fit, Ship, Character
|
||||
from eos.types import Fleet as Fleet_
|
||||
|
||||
class Fleet(object):
|
||||
instance = None
|
||||
@@ -38,3 +40,13 @@ class Fleet(object):
|
||||
fleetList.append(fleet.ID, fleet.name, fleet.count())
|
||||
|
||||
return fleetList
|
||||
|
||||
def getFleet(self, ID):
|
||||
f = Fleet_()
|
||||
f.name = "Test"
|
||||
f.leader = Fit()
|
||||
f.leader.name = "FC"
|
||||
f.leader.ship = Ship(eos.db.getItem("Damnation"))
|
||||
f.character = Character("Moo")
|
||||
f.calculateModifiedAttributes()
|
||||
return f
|
||||
|
||||
Reference in New Issue
Block a user