Some Advice - GenToggleButton

Hello All,

I'm trying to write my first ever program but I would like some advice.
I want to use 3 GenToggleButtons, with only one allowed to be toggled-down at any stage.

Three buttons are labeled "A", "B" and "C". Button "A" is toggled-down at startup. Pressing "B" or "C" toggles-down the selected button, making "A" to un-Toggle. If a button is already toggled-down, pressing it again should keep it down. This does work as I want, but seems an ugly way to do it.

Also, in creating buttons I have used 'button1','button2','button3' as specific id numbers, to keep things simple (for me). The same thing goes for positioning.

Questions:-
1. Is there a cleaner (more elegant) way in 'OnLeftDown'?
2. It works, but have I done something wrong, using 'button1' & 'self.button1'? I'm still trying to work through "self.Bind vs. self.button.Bind" at wxPyWiki, but its well above my head so far, I'm just stealing other's work.

Thanks for any help, even if its just to tell me that I'm in the wrong place.
John

import wx
import wx.lib.buttons as buttons
button1 = 101
button2 = 102
button3 = 103
class GenericButtonFrame(wx.Frame):
    def __init__(self, parent, ID, title):
        wx.Frame.__init__(self, None, -1, title, size=(500, 350))

        panel1 = wx.Panel(self,-1)
               b = buttons.GenToggleButton(panel1, button1, "A", [40, 10], [125,30], 0)
        b.SetUseFocusIndicator(False)
        b.SetValue(True) #Toggled-down
        self.Bind(wx.EVT_BUTTON, self.OnLeftDown, b)
        self.button1 = b
                b = buttons.GenToggleButton(panel1, button2, "B", [180, 10], [125,30], 0)
        b.SetUseFocusIndicator(False)
        self.Bind(wx.EVT_BUTTON, self.OnLeftDown, b)
        self.button2 = b
                b = buttons.GenToggleButton(panel1, button3, "C", [320, 10], [125,30], 0)
        b.SetUseFocusIndicator(False)
        self.Bind(wx.EVT_BUTTON, self.OnLeftDown, b)
        self.button3 = b
               def OnLeftDown(self, event):
        id = event.GetId()
        if id == button1:
            self.button1.SetValue(True)
            self.button2.SetValue(False)
            self.button3.SetValue(False)
        if id == button2:
            self.button2.SetValue(True)
            self.button1.SetValue(False)
            self.button3.SetValue(False)
        if id == button3:
            self.button3.SetValue(True)
            self.button1.SetValue(False)
            self.button2.SetValue(False)

    #Close, Exit
    def OnCloseMe(self, event):
        self.Close(True)
        if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = GenericButtonFrame(None, -1, "GenToggleButton Test")
    frame.Show()
    app.MainLoop()