#!/usr/bin/env python

import sys, wx

class MyFrame(wx.Frame):
	def __init__(self):
		wx.Frame.__init__(self, None, -1, "MyTestFrame")

		self.sp = wx.SplitterWindow(self, style=wx.SP_3D)
		self.lp = wx.Panel(self.sp)
		self.rp = wx.Panel(self.sp)
		# self.lp.Hide()
		# self.rp.Hide()

		self.lsizer = wx.BoxSizer(wx.VERTICAL)
		self.list = wx.ListCtrl(self.lp, style=wx.LC_REPORT)
		self.__populateList()
		self.list.SetFocus()
		self.lsizer.Add(self.list, 1, wx.EXPAND)
		
		self.rsizer = wx.BoxSizer(wx.VERTICAL)
		self.text = wx.StaticText(self.rp, -1, "")
		self.rsizer.Add(self.text, 1, wx.EXPAND)
		self.rp.SetSizer(self.rsizer)

		self.lp.SetSizerAndFit(self.lsizer)
		self.sp.SplitVertically(self.lp, self.rp, 0)

		self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnSelected, self.list)

	# sp = SplitterWindow, rp = right Panel, lp = left Panel
	def OnSelected(self, event):
		self.item = event.GetItem().GetData()
		# oldPanel = self.rp
		# newPanel = wx.Panel(self.sp)
		# newPanel.SetBackgroundColour('#ffffdd')
		self.text.SetLabel("Selected: %s" % self.item)
		#self.sp.ReplaceWindow(self.rp, newPanel)
		# newPanel
		# self.rp.Destroy()
		# self.rp = newPanel

	def __populateList(self):
		self.list.InsertColumn(0, "Spam")
		self.list.InsertColumn(1, "Eggs")
		for i in range(50):
			index = self.list.InsertStringItem(sys.maxint, str(i))
			self.list.SetStringItem(index, 1, str(i*10))
			self.list.SetItemData(index, i)
			if index / 2 * 2 is index:
				self.list.SetItemBackgroundColour(index, '#eeeeee')
			else:
				self.list.SetItemBackgroundColour(index, '#ffffff')


app = wx.PySimpleApp()
frame = MyFrame()
frame.Show()
app.MainLoop()

