Skip to content

Instantly share code, notes, and snippets.

@chadcooper
Last active December 17, 2015 04:09
Show Gist options
  • Select an option

  • Save chadcooper/5548195 to your computer and use it in GitHub Desktop.

Select an option

Save chadcooper/5548195 to your computer and use it in GitHub Desktop.
import wx
class MyPanel(wx.Panel):
def __init__(self, parent, _id):
wx.Panel.__init__(self, parent, _id)
self.SetBackgroundColour("white")
default_font = wx.Font(9, wx.FONTFAMILY_DEFAULT,
wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)
self.SetFont(default_font)
self.main_sizer = wx.BoxSizer(wx.HORIZONTAL)
self.control_sizer = wx.BoxSizer(wx.HORIZONTAL)
self.add_scene_save_edits_button = wx.Button(self, label="Add scene")
self.add_scene_save_edits_button.Bind(wx.EVT_BUTTON, self.on_add_scene)
self.control_sizer.Add(self.add_scene_save_edits_button, 0, wx.CENTER | wx.ALL, 5)
self.edit_scene_button = wx.Button(self, label="Edit scene")
self.edit_scene_button.Bind(wx.EVT_BUTTON, self.on_edit_scene)
self.control_sizer.Add(self.edit_scene_button, 0, wx.CENTER | wx.ALL, 5)
self.cancel_edits_button = wx.Button(self, label="Cancel edits")
self.cancel_edits_button.Bind(wx.EVT_BUTTON, self.on_cancel_edits)
self.cancel_edits_button.Disable()
self.control_sizer.Add(self.cancel_edits_button, 0, wx.CENTER | wx.ALL, 5)
self.main_sizer.Add(self.control_sizer, 0, wx.CENTER)
self.SetSizer(self.main_sizer)
def on_add_scene(self, event):
print "Adding scenes!"
def on_edit_scene(self, event):
print "We are now in scene edit mode!"
self.edit_scene_button.SetLabel("Save edits")
self.edit_scene_button.Bind(wx.EVT_BUTTON, self.on_save_edits)
self.add_scene_save_edits_button.Disable()
self.cancel_edits_button.Enable()
def on_save_edits(self, event):
print "Oh hey, now we are saving edits!"
self.edit_scene_button.SetLabel("Edit scene")
self.edit_scene_button.Bind(wx.EVT_BUTTON, self.on_edit_scene)
self.add_scene_save_edits_button.Enable()
self.cancel_edits_button.Disable()
def on_cancel_edits(self, event):
print "Cancelling edits"
self.add_scene_save_edits_button.SetLabel("Add scene")
self.add_scene_save_edits_button.Bind(wx.EVT_BUTTON, self.on_add_scene)
self.add_scene_save_edits_button.Enable()
self.cancel_edits_button.Disable()
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, "Changing buttons", size=(300, 300))
MyPanel(frame, -1)
frame.Show(True)
app.MainLoop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment