Add basic character switching abilities. Warning: this is UNFINISHED

This commit is contained in:
cncfanatics
2010-09-14 11:17:16 +02:00
parent 6d07151d71
commit 3554a4b6a8
4 changed files with 54 additions and 4 deletions

View File

@@ -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)

View File

@@ -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))

View File

@@ -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