Exemple #1
0
class orderListBase(wx.Panel):
    xrc = os.path.join(location(), "windows", "xrc", 'orderList.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = wx.PrePanel()
        res.LoadOnPanel(pre, parent, "orderList")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.Choices = XRCCTRL(self, "Choices")
        self.Type = XRCCTRL(self, "Type")
        if hasattr(self, "OnType"):
            self.Type.Bind(wx.EVT_CHOICE, self.OnType)

        self.Number = XRCCTRL(self, "Number")
        self.Add = XRCCTRL(self, "Add")
        if hasattr(self, "OnAdd"):
            self.Bind(wx.EVT_BUTTON, self.OnAdd, self.Add)

        self.Delete = XRCCTRL(self, "Delete")
        if hasattr(self, "OnDelete"):
            self.Bind(wx.EVT_BUTTON, self.OnDelete, self.Delete)
Exemple #2
0
class panelPictureBase(wx.Panel):
	xrc = os.path.join(location(), "windows", "xrc", 'panelPicture.xrc')

	def PreCreate(self, pre):
		""" This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
		pass

	def __init__(self, parent, *args, **kw):
		""" Pass an initialized wx.xrc.XmlResource into res """
		f = os.path.join(os.path.dirname(__file__), self.xrc)
		res = XmlResourceWithHandlers(f)		

		# Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
		pre = wx.PrePanel()
		res.LoadOnPanel(pre, parent, "panelPicture")
		self.PreCreate(pre)
		self.PostCreate(pre)

		# Define variables for the controls
		self.Title = XRCCTRL(self, "Title")
		self.Background = XRCCTRL(self, "Background")
		self.Static = XRCCTRL(self, "Static")
		self.Animation = XRCCTRL(self, "Animation")
		self.Download = XRCCTRL(self, "Download")
		self.Progress = XRCCTRL(self, "Progress")
		self.Speed = XRCCTRL(self, "Speed")
		self.ETA = XRCCTRL(self, "ETA")
class winServerBrowserBase:
    xrc = os.path.join(location(), "windows", "xrc", 'winServerBrowser.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Figure out what Frame class (MDI, MiniFrame, etc) is actually our base...
        bases = set()

        def findbases(klass, set):
            for base in klass.__bases__:
                set.add(base)
                findbases(base, set)

        findbases(self.__class__, bases)

        for base in bases:
            if base.__name__.endswith("Frame"):
                break

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = getattr(wx, "Pre%s" % base.__name__)()
        res.LoadOnFrame(pre, parent, "winServerBrowser")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.Panel = XRCCTRL(self, "Panel")
        self.Progress = XRCCTRL(self, "Progress")
        self.Servers = XRCCTRL(self, "Servers")
        self.LocationsPanel = XRCCTRL(self, "LocationsPanel")
        self.LocationsBox = XRCCTRL(self, "LocationsBox")
        self.Locations = XRCCTRL(self, "Locations")
        self.URLTitle = XRCCTRL(self, "URLTitle")
        self.URL = XRCCTRL(self, "URL")
        self.Refresh = XRCCTRL(self, "wxID_REFRESH")
        if hasattr(self, "OnRefresh"):
            self.Bind(wx.EVT_BUTTON, self.OnRefresh, self.Refresh)

        self.NewAccount = XRCCTRL(self, "NewAccount")
        if hasattr(self, "OnNewAccount"):
            self.Bind(wx.EVT_BUTTON, self.OnNewAccount, self.NewAccount)

        self.ConnectTo = XRCCTRL(self, "ConnectTo")
        if hasattr(self, "OnConnectTo"):
            self.Bind(wx.EVT_BUTTON, self.OnConnectTo, self.ConnectTo)

        self.Cancel = XRCCTRL(self, "wxID_CANCEL")
        if hasattr(self, "OnCancel"):
            self.Bind(wx.EVT_BUTTON, self.OnCancel, self.Cancel)
Exemple #4
0
class winHelpBase:
    """\
Unlike a normal XRC generated class, this is a not a full class but a MixIn.
Any class which uses this as a base must also inherit from a proper wx object
such as the wx.Frame class.

This is so that a the same XRC can be used for both MDI and non-MDI frames.
"""

    xrc = os.path.join(location(), "windows", "xrc", 'winHelp.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Figure out what Frame class (MDI, MiniFrame, etc) is actually our base...
        bases = set()

        def findbases(klass, set):
            for base in klass.__bases__:
                set.add(base)
                findbases(base, set)

        findbases(self.__class__, bases)

        for base in bases:
            if base.__name__.endswith("Frame"):
                break

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = getattr(wx, "Pre%s" % base.__name__)()
        res.LoadOnFrame(pre, parent, "winHelp")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.Subject = XRCCTRL(self, "Subject")
        self.Message = XRCCTRL(self, "Message")
        self.ShowAgain = XRCCTRL(self, "ShowAgain")
        if hasattr(self, "OnShowAgain"):
            self.Bind(wx.EVT_CHECKBOX, self.OnShowAgain, self.ShowAgain)

        self.Close = XRCCTRL(self, "wxID_CLOSE")
        if hasattr(self, "OnClose"):
            self.Bind(wx.EVT_BUTTON, self.OnClose, self.Close)
Exemple #5
0
class panelOrderBase(wx.Panel):
    xrc = os.path.join(location(), "windows", "xrc", 'panelOrder.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = wx.PrePanel()
        res.LoadOnPanel(pre, parent, "panelOrder")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.Master = XRCCTRL(self, "Master")
        self.Orders = XRCCTRL(self, "Orders")
        self.Possible = XRCCTRL(self, "Possible")
        if hasattr(self, "OnPossible"):
            self.Possible.Bind(wx.EVT_CHOICE, self.OnPossible)

        self.New = XRCCTRL(self, "New")
        if hasattr(self, "OnNew"):
            self.Bind(wx.EVT_BUTTON, self.OnNew, self.New)

        self.DetailsParentPanel = XRCCTRL(self, "DetailsParentPanel")
        self.ArgumentLine = XRCCTRL(self, "ArgumentLine")
        self.DetailsBorderPanel = XRCCTRL(self, "DetailsBorderPanel")
        self.DetailsPanel = XRCCTRL(self, "DetailsPanel")
        self.ButtonsPanel = XRCCTRL(self, "ButtonsPanel")
        self.Message = XRCCTRL(self, "Message")
        self.Save = XRCCTRL(self, "Save")
        if hasattr(self, "OnSave"):
            self.Bind(wx.EVT_BUTTON, self.OnSave, self.Save)

        self.Revert = XRCCTRL(self, "Revert")
        if hasattr(self, "OnRevert"):
            self.Bind(wx.EVT_BUTTON, self.OnRevert, self.Revert)

        self.Delete = XRCCTRL(self, "Delete")
        if hasattr(self, "OnDelete"):
            self.Bind(wx.EVT_BUTTON, self.OnDelete, self.Delete)
Exemple #6
0
class panelStarMapBase(wx.Panel):
    xrc = os.path.join(location(), "windows", "xrc", 'panelStarMap.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = wx.PrePanel()
        res.LoadOnPanel(pre, parent, "panelStarMap")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.MouseMode = XRCCTRL(self, "MouseMode")
        if hasattr(self, "OnMouseMode"):
            self.Bind(wx.EVT_BUTTON, self.OnMouseMode, self.MouseMode)

        self.ZoomLevel = XRCCTRL(self, "ZoomLevel")
        if hasattr(self, "OnZoomLevel"):
            self.Bind(wx.EVT_COMBOBOX, self.OnZoomLevel, self.ZoomLevel)
            self.Bind(wx.EVT_TEXT_ENTER, self.OnZoomLevel, self.ZoomLevel)
        if hasattr(self, "OnDirtyZoomLevel"):
            self.Bind(wx.EVT_TEXT, self.OnZoomLevel, self.ZoomLevel)

        self.Home = XRCCTRL(self, "Home")
        if hasattr(self, "OnHome"):
            self.Bind(wx.EVT_BUTTON, self.OnHome, self.Home)

        self.Find = XRCCTRL(self, "Find")
        if hasattr(self, "OnFind"):
            self.Bind(wx.EVT_BUTTON, self.OnFind, self.Find)

        self.DisplayMode = XRCCTRL(self, "DisplayMode")
        if hasattr(self, "OnDisplayMode"):
            self.DisplayMode.Bind(wx.EVT_CHOICE, self.OnDisplayMode)

        self.DisplayModeExtra = XRCCTRL(self, "DisplayModeExtra")
        self.FloatCanvas = XRCCTRL(self, "FloatCanvas")
Exemple #7
0
class configConnectBase(wx.Panel):
    xrc = os.path.join(location(), "windows", "xrc", 'configConnect.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = wx.PrePanel()
        res.LoadOnPanel(pre, parent, "configConnect")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.Servers = XRCCTRL(self, "Servers")
        self.ServerDetails = XRCCTRL(self, "ServerDetails")
        self.Username = XRCCTRL(self, "Username")
        self.GameShow = XRCCTRL(self, "GameShow")
        if hasattr(self, "OnGameShow"):
            self.Bind(wx.EVT_TOGGLEBUTTON, self.OnGameShow, self.GameShow)

        self.GameTitle = XRCCTRL(self, "GameTitle")
        self.Game = XRCCTRL(self, "Game")
        self.Password = XRCCTRL(self, "Password")
        self.AutoConnect = XRCCTRL(self, "AutoConnect")
        if hasattr(self, "OnAutoConnect"):
            self.Bind(wx.EVT_CHECKBOX, self.OnAutoConnect, self.AutoConnect)

        self.Debug = XRCCTRL(self, "Debug")
        if hasattr(self, "OnDebug"):
            self.Bind(wx.EVT_CHECKBOX, self.OnDebug, self.Debug)
Exemple #8
0
class IdleFinderBase:
    xrc = os.path.join(location(), "windows", "xrc", 'winIdleFinder.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Figure out what Frame class (MDI, MiniFrame, etc) is actually our base...
        bases = set()

        def findbases(klass, set):
            for base in klass.__bases__:
                set.add(base)
                findbases(base, set)

        findbases(self.__class__, bases)

        for base in bases:
            if base.__name__.endswith("Frame"):
                break

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = getattr(wx, "Pre%s" % base.__name__)()
        res.LoadOnFrame(pre, parent, "IdleFinder")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.base = XRCCTRL(self, "base")
        self.idlelist = XRCCTRL(self, "idlelist")
Exemple #9
0
class orderRangeBase(wx.Panel):
    xrc = os.path.join(location(), "windows", "xrc", 'orderRange.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = wx.PrePanel()
        res.LoadOnPanel(pre, parent, "orderRange")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.Value = XRCCTRL(self, "Value")
Exemple #10
0
class panelSystemBase(wx.Panel):
    xrc = os.path.join(location(), "windows", "xrc", 'panelSystem.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = wx.PrePanel()
        res.LoadOnPanel(pre, parent, "panelSystem")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.Tree = XRCCTRL(self, "Tree")
        self.PrevObject = XRCCTRL(self, "PrevObject")
        if hasattr(self, "OnPrevObject"):
            self.Bind(wx.EVT_BUTTON, self.OnPrevObject, self.PrevObject)

        self.NextObject = XRCCTRL(self, "NextObject")
        if hasattr(self, "OnNextObject"):
            self.Bind(wx.EVT_BUTTON, self.OnNextObject, self.NextObject)

        self.StepInto = XRCCTRL(self, "StepInto")
        if hasattr(self, "OnStepInto"):
            self.Bind(wx.EVT_BUTTON, self.OnStepInto, self.StepInto)

        self.Search = XRCCTRL(self, "Search")
Exemple #11
0
class winAccountBase:
    xrc = os.path.join(location(), "windows", "xrc", 'winAccount.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Figure out what Frame class (MDI, MiniFrame, etc) is actually our base...
        bases = set()

        def findbases(klass, set):
            for base in klass.__bases__:
                set.add(base)
                findbases(base, set)

        findbases(self.__class__, bases)

        for base in bases:
            if base.__name__.endswith("Frame"):
                break

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = getattr(wx, "Pre%s" % base.__name__)()
        res.LoadOnFrame(pre, parent, "winAccount")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.Panel = XRCCTRL(self, "Panel")
        self.Server = XRCCTRL(self, "Server")
        if hasattr(self, "OnServer"):
            self.Bind(wx.EVT_COMBOBOX, self.OnServer, self.Server)
            self.Bind(wx.EVT_TEXT_ENTER, self.OnServer, self.Server)
        if hasattr(self, "OnDirtyServer"):
            self.Bind(wx.EVT_TEXT, self.OnServer, self.Server)

        self.Checking = XRCCTRL(self, "Checking")
        self.Check = XRCCTRL(self, "Check")
        if hasattr(self, "OnCheck"):
            self.Bind(wx.EVT_BUTTON, self.OnCheck, self.Check)

        self.Username = XRCCTRL(self, "Username")
        self.GameShow = XRCCTRL(self, "GameShow")
        if hasattr(self, "OnGameShow"):
            self.Bind(wx.EVT_TOGGLEBUTTON, self.OnGameShow, self.GameShow)

        self.GameTitle = XRCCTRL(self, "GameTitle")
        self.Game = XRCCTRL(self, "Game")
        self.Password1 = XRCCTRL(self, "Password1")
        self.Password2 = XRCCTRL(self, "Password2")
        self.Email = XRCCTRL(self, "Email")
        self.Okay = XRCCTRL(self, "wxID_OK")
        if hasattr(self, "OnOkay"):
            self.Bind(wx.EVT_BUTTON, self.OnOkay, self.Okay)

        self.Cancel = XRCCTRL(self, "wxID_CANCEL")
        if hasattr(self, "OnCancel"):
            self.Bind(wx.EVT_BUTTON, self.OnCancel, self.Cancel)
Exemple #12
0
class winDesignBase:
	xrc = os.path.join(location(), "windows", "xrc", 'winDesign.xrc')

	def PreCreate(self, pre):
		""" This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
		pass

	def __init__(self, parent, *args, **kw):
		""" Pass an initialized wx.xrc.XmlResource into res """
		f = os.path.join(os.path.dirname(__file__), self.xrc)
		res = XmlResourceWithHandlers(f)		

		# Figure out what Frame class (MDI, MiniFrame, etc) is actually our base...
		bases = set()
		def findbases(klass, set):
			for base in klass.__bases__:
				set.add(base)
				findbases(base, set)
		findbases(self.__class__, bases)

		for base in bases:
			if base.__name__.endswith("Frame"):
				break
		
		# Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
		pre = getattr(wx, "Pre%s" % base.__name__)()
		res.LoadOnFrame(pre, parent, "winDesign")
		self.PreCreate(pre)
		self.PostCreate(pre)

		# Define variables for the controls
		self.Panel = XRCCTRL(self, "Panel")
		self.DesignsSearch = XRCCTRL(self, "DesignsSearch")
		self.TitlePanel = XRCCTRL(self, "TitlePanel")
		self.TitleStatic = XRCCTRL(self, "TitleStatic")
		self.TitleEditable = XRCCTRL(self, "TitleEditable")
		self.Used = XRCCTRL(self, "Used")
		self.ComponentsSearch = XRCCTRL(self, "ComponentsSearch")
		self.DesignsPanel = XRCCTRL(self, "DesignsPanel")
		self.DesignsTree = XRCCTRL(self, "DesignsTree")
		self.DesignPanel = XRCCTRL(self, "DesignPanel")
		self.Categories = XRCCTRL(self, "Categories")
		self.DesignInfoPanel = XRCCTRL(self, "DesignInfoPanel")
		self.PartsList = XRCCTRL(self, "PartsList")
		self.DesignProperties = XRCCTRL(self, "DesignProperties")
		self.DesignPropertyGroup1 = XRCCTRL(self, "DesignPropertyGroup1")
		self.DesignButtonsPanel = XRCCTRL(self, "DesignButtonsPanel")
		self.Edit = XRCCTRL(self, "Edit")
		if hasattr(self, "OnEdit"):
			self.Bind(wx.EVT_BUTTON, self.OnEdit, self.Edit)

		self.Duplicate = XRCCTRL(self, "Duplicate")
		if hasattr(self, "OnDuplicate"):
			self.Bind(wx.EVT_BUTTON, self.OnDuplicate, self.Duplicate)

		self.Delete = XRCCTRL(self, "Delete")
		if hasattr(self, "OnDelete"):
			self.Bind(wx.EVT_BUTTON, self.OnDelete, self.Delete)

		self.Revert = XRCCTRL(self, "Revert")
		if hasattr(self, "OnRevert"):
			self.Bind(wx.EVT_BUTTON, self.OnRevert, self.Revert)

		self.Save = XRCCTRL(self, "Save")
		if hasattr(self, "OnSave"):
			self.Bind(wx.EVT_BUTTON, self.OnSave, self.Save)

		self.ComponentsPanel = XRCCTRL(self, "ComponentsPanel")
		self.ComponentsTree = XRCCTRL(self, "ComponentsTree")
		self.ComponentsButtonPanel = XRCCTRL(self, "ComponentsButtonPanel")
		self.ComponentsAdd = XRCCTRL(self, "ComponentsAdd")
		if hasattr(self, "OnComponentsAdd"):
			self.Bind(wx.EVT_BUTTON, self.OnComponentsAdd, self.ComponentsAdd)

		self.ComponentsAddMany = XRCCTRL(self, "ComponentsAddMany")
		if hasattr(self, "OnComponentsAddMany"):
			self.Bind(wx.EVT_BUTTON, self.OnComponentsAddMany, self.ComponentsAddMany)
Exemple #13
0
class winUpdateBase:
    xrc = os.path.join(location(), "windows", "xrc", 'winUpdate.xrc')

    def PreCreate(self, pre):
        """ This function is called during the class's initialization.
		
		Override it for custom setup before the window is created usually to
		set additional window styles using SetWindowStyle() and SetExtraStyle()."""
        pass

    def __init__(self, parent, *args, **kw):
        """ Pass an initialized wx.xrc.XmlResource into res """
        f = os.path.join(os.path.dirname(__file__), self.xrc)
        res = XmlResourceWithHandlers(f)

        # Figure out what Frame class (MDI, MiniFrame, etc) is actually our base...
        bases = set()

        def findbases(klass, set):
            for base in klass.__bases__:
                set.add(base)
                findbases(base, set)

        findbases(self.__class__, bases)

        for base in bases:
            if base.__name__.endswith("Frame"):
                break

        # Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
        pre = getattr(wx, "Pre%s" % base.__name__)()
        res.LoadOnFrame(pre, parent, "winUpdate")
        self.PreCreate(pre)
        self.PostCreate(pre)

        # Define variables for the controls
        self.Panel = XRCCTRL(self, "Panel")
        self.TopText = XRCCTRL(self, "TopText")
        self.Message = XRCCTRL(self, "Message")
        self.ConnectingGauge = XRCCTRL(self, "ConnectingGauge")
        self.ConnectingText = XRCCTRL(self, "ConnectingText")
        self.ConnectingAnim = XRCCTRL(self, "ConnectingAnim")
        self.ProgressTitle = XRCCTRL(self, "ProgressTitle")
        self.ProgressGauge = XRCCTRL(self, "ProgressGauge")
        self.ProgressText = XRCCTRL(self, "ProgressText")
        self.ProgressAnim = XRCCTRL(self, "ProgressAnim")
        self.ObjectdescsAnim = XRCCTRL(self, "ObjectdescsAnim")
        self.OrderdescsAnim = XRCCTRL(self, "OrderdescsAnim")
        self.ObjectsAnim = XRCCTRL(self, "ObjectsAnim")
        self.OrdersAnim = XRCCTRL(self, "OrdersAnim")
        self.BoardsAnim = XRCCTRL(self, "BoardsAnim")
        self.MessagesAnim = XRCCTRL(self, "MessagesAnim")
        self.CategoriesAnim = XRCCTRL(self, "CategoriesAnim")
        self.DesignsAnim = XRCCTRL(self, "DesignsAnim")
        self.ComponentsAnim = XRCCTRL(self, "ComponentsAnim")
        self.PropertiesAnim = XRCCTRL(self, "PropertiesAnim")
        self.PlayersAnim = XRCCTRL(self, "PlayersAnim")
        self.ResourcesAnim = XRCCTRL(self, "ResourcesAnim")
        self.Okay = XRCCTRL(self, "wxID_OK")
        if hasattr(self, "OnOkay"):
            self.Bind(wx.EVT_BUTTON, self.OnOkay, self.Okay)

        self.Save = XRCCTRL(self, "wxID_SAVE")
        if hasattr(self, "OnSave"):
            self.Bind(wx.EVT_BUTTON, self.OnSave, self.Save)

        self.Cancel = XRCCTRL(self, "wxID_CANCEL")
        if hasattr(self, "OnCancel"):
            self.Bind(wx.EVT_BUTTON, self.OnCancel, self.Cancel)