import wx
import wx.lib.masked as masked

class myFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, parent=None, size = (250, 500))

        self.panel = wx.Panel(self)

        self.panel.KeyFramesText = wx.StaticText(self.panel, label = "Application")
        self.panel.KeyFramesText.SetFont(wx.Font(16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))

        self.panel.Screen1Text = wx.StaticText(self.panel, label = "For Screen 1:")
        self.panel.Screen1Editable1 = masked.NumCtrl(self.panel, integerWidth = 10, min = 0)
        self.panel.Screen1Button1 = wx.Button(self.panel, label = "Add", style = wx.BU_EXACTFIT)

        self.panel.Screen1Editable2 = wx.ListBox(self.panel, style = wx.LB_SINGLE)

        self.panel.Screen1Button2 = wx.Button(self.panel, label = "Remove", style = wx.BU_EXACTFIT)
        self.panel.Screen1Text.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
        self.panel.Screen1Editable1.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
        self.panel.Screen1Button1.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
        self.panel.Screen1Editable2.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
        self.panel.Screen1Button2.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))

        self.panel.Screen2Text = wx.StaticText(self.panel, label = "For Screen 2:")
        self.panel.Screen2Editable1 = masked.NumCtrl(self.panel, integerWidth = 10, min = 0)
        self.panel.Screen2Button1 = wx.Button(self.panel, label = "Add", style = wx.BU_EXACTFIT)

        self.panel.Screen2Editable2 = wx.ListBox(self.panel, style = wx.LB_SINGLE)

        self.panel.Screen2Button2 = wx.Button(self.panel, label = "Remove", style = wx.BU_EXACTFIT)
        self.panel.Screen2Text.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
        self.panel.Screen2Editable1.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
        self.panel.Screen2Button1.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
        self.panel.Screen2Editable2.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
        self.panel.Screen2Button2.SetFont(wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))

        VSizer = wx.BoxSizer(wx.VERTICAL)
        VSizer.Add(self.panel.KeyFramesText, 0, wx.ALL, 5)

        VSizer.Add(self.panel.Screen1Text, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)
        VSizer.Add(self.panel.Screen1Editable1, 0, wx.EXPAND | wx.ALL, 5)
        VSizer.Add(self.panel.Screen1Button1, 0, wx.EXPAND | wx.ALL, 5)
        VSizer.Add(self.panel.Screen1Editable2, 1, wx.EXPAND | wx.ALL, 5)
        VSizer.Add(self.panel.Screen1Button2, 0, wx.EXPAND | wx.ALL, 5)

        VSizer.Add(self.panel.Screen2Text, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)
        VSizer.Add(self.panel.Screen2Editable1, 0, wx.EXPAND | wx.ALL, 5)
        VSizer.Add(self.panel.Screen2Button1, 0, wx.EXPAND | wx.ALL, 5)
        VSizer.Add(self.panel.Screen2Editable2, 1, wx.EXPAND | wx.ALL, 5)
        VSizer.Add(self.panel.Screen2Button2, 0, wx.EXPAND | wx.ALL, 5)

        self.panel.SetSizer(VSizer)

        self.panel.Screen1Button1.Bind(wx.EVT_BUTTON, self.onButton1)
        self.panel.Screen2Button1.Bind(wx.EVT_BUTTON, self.onButton2)

    def onButton1(self, event):
        self.panel.Screen1Editable2.Append("1")

    def onButton2(self, event):
        self.panel.Screen2Editable2.Append("1")

x = wx.App()
y = myFrame().Show()
x.MainLoop()