# wxPython:

import wx

class Maker(wx.Panel):
    def __init__(self, *args, **kwargs):
        # create a panel
        wx.Panel.__init__(self, *args, **kwargs)
        self.SetBackgroundColour("white")

    def CreateTextCtrl(self, ctrl_name = None, style=None):
        ctrl = wx.TextCtrl(self,
            name = ctrl_name if ctrl_name is not None else tag,
            style = style)
        if style is not None:
            #print "Setting Style"
            #ctrl.SetWindowStyle(style)
            if style & wx.TE_PROCESS_ENTER:
                print "process Enter"
                self.Bind(wx.EVT_TEXT_ENTER, self._OnTextEnter, ctrl)

            if style & wx.TE_MULTILINE: print "multiline"
        return ctrl

    def _OnTextEnter(self, event):
        print "Enter pressed"
        event.Skip()

class TestPanel(Maker):
    """

    """
    def __init__(self, *args, **kwargs):
        # create a panel
        Maker.__init__(self, *args, **kwargs)


        Entry = self.CreateTextCtrl(ctrl_name='oogie',
            style=wx.TE_MULTILINE | wx.TE_PROCESS_ENTER )


        sizer=wx.BoxSizer(wx.VERTICAL)
        sizer.Add(Entry, 1, wx.EXPAND | wx.GROW | wx.ALL, 5)
        self.SetSizer(sizer)


def test_gui():
    class TestFrame(wx.Frame):
        def __init__(self, parent):
            wx.Frame.__init__(self, parent, title="Test")
            sizer = wx.BoxSizer(wx.VERTICAL)
            #self.Panel = StudentPanel(self, n)
            self.Panel = TestPanel(self)
            sizer.Add(self.Panel, 1, wx.EXPAND | wx.GROW )
            self.SetSizerAndFit(sizer)
            self.Layout()
            self.CenterOnScreen()

    from wx.lib.mixins.inspection import InspectionMixin

    class App(wx.App, InspectionMixin):
        def OnInit(self):
            self.Init()
            frame = TestFrame(None)
            self.SetTopWindow(frame)
            frame.Show()
            return 1

    a = App(0)
    a.MainLoop()

if __name__=='__main__':
    test_gui()