Add basic character switching abilities. Warning: this is UNFINISHED
This commit is contained in:
@@ -46,9 +46,8 @@ class CharacterEditor(wx.Dialog):
|
||||
|
||||
self.skillTreeChoice = wx.Choice(self, wx.ID_ANY, style=0)
|
||||
|
||||
for i, info in enumerate(charList):
|
||||
id, name = info
|
||||
self.skillTreeChoice.Insert(name, i, id)
|
||||
for id, name in charList:
|
||||
self.skillTreeChoice.Append(name, id)
|
||||
|
||||
self.skillTreeChoice.SetSelection(0)
|
||||
|
||||
|
||||
@@ -18,9 +18,15 @@
|
||||
#===============================================================================
|
||||
|
||||
import wx
|
||||
import controller
|
||||
from gui import characterEditor as ce
|
||||
from gui import fittingView as fv
|
||||
import gui.mainFrame
|
||||
|
||||
class CharacterSelection(wx.Panel):
|
||||
def __init__(self, parent):
|
||||
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
|
||||
wx.Panel.__init__(self, parent)
|
||||
mainSizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
self.SetSizer(mainSizer)
|
||||
@@ -28,4 +34,37 @@ class CharacterSelection(wx.Panel):
|
||||
mainSizer.Add(wx.StaticText(self, wx.ID_ANY, "Character: "), 0, wx.CENTER)
|
||||
|
||||
self.charChoice = wx.Choice(self)
|
||||
mainSizer.Add(self.charChoice, 1, wx.EXPAND)
|
||||
mainSizer.Add(self.charChoice, 1, wx.EXPAND)
|
||||
|
||||
self.refreshCharacterList()
|
||||
|
||||
self.Bind(wx.EVT_CHOICE, self.charChanged)
|
||||
|
||||
def getActiveCharacter(self):
|
||||
selection = self.charChoice.GetCurrentSelection()
|
||||
return self.charChoice.GetClientData(selection) if selection is not -1 else None
|
||||
|
||||
def refreshCharacterList(self, event=None):
|
||||
choice = self.charChoice
|
||||
cChar = controller.Character.getInstance()
|
||||
activeChar = self.getActiveCharacter()
|
||||
|
||||
choice.Clear()
|
||||
for id, name in cChar.getCharacterList():
|
||||
currId = choice.Append(name, id)
|
||||
if id == activeChar:
|
||||
choice.SetSelection(currId)
|
||||
elif activeChar is None and name == "All 0":
|
||||
all0 = currId
|
||||
|
||||
if activeChar is None:
|
||||
choice.SetSelection(all0)
|
||||
|
||||
def charChanged(self, event):
|
||||
fitID = self.mainFrame.fitMultiSwitch.getActiveFit()
|
||||
charID = self.getActiveCharacter()
|
||||
|
||||
cFit = controller.Fit.getInstance()
|
||||
cFit.changeChar(fitID, charID)
|
||||
|
||||
wx.PostEvent(self.mainFrame, fv.FitChanged(fitID=fitID))
|
||||
|
||||
@@ -44,6 +44,9 @@ class MultiSwitch(wx.Notebook):
|
||||
self.imageList = wx.ImageList(16, 16)
|
||||
self.SetImageList(self.imageList)
|
||||
|
||||
def getActiveFit(self):
|
||||
return self.GetCurrentPage().view.activeFitID
|
||||
|
||||
def AddTab(self, type="fit", frame=None, title=None):
|
||||
pos = self.GetPageCount() - 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user