wylark
/
munter.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0b8de1a
)
Implement reset button functionality
author
Alexander Vasarab <alexander@wylark.com>
Mon, 29 Jun 2020 17:26:32 +0000
(10:26 -0700)
committer
Alexander Vasarab <alexander@wylark.com>
Mon, 29 Jun 2020 17:26:32 +0000
(10:26 -0700)
munter/gui.py
patch
|
blob
|
history
diff --git
a/munter/gui.py
b/munter/gui.py
index fef293a96b3d7ecbb8fa7e18f9864b394174e4cf..fc5d82a9bf5ffbac5cbbd1a733e54589e86ab166 100644
(file)
--- a/
munter/gui.py
+++ b/
munter/gui.py
@@
-19,12
+19,7
@@
class MainFrame(wx.Frame):
self.SetTitle('Munter.py')
self.SetSize(600, 400)
self.SetTitle('Munter.py')
self.SetSize(600, 400)
- self.props = dict()
- self.props['distance'] = 0
- self.props['elevation'] = 0
- self.props['fitness'] = 'average'
- self.props['units'] = 'imperial'
- self.props['travel_mode'] = 'uphill'
+ self.props = self.init_props()
self.pnl = wx.Panel(self)
self.pnl = wx.Panel(self)
@@
-35,10
+30,8
@@
class MainFrame(wx.Frame):
st.SetFont(font)
st.SetFont(font)
- #sizer = wx.BoxSizer(wx.VERTICAL)
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(st, wx.SizerFlags().Border(wx.TOP|wx.LEFT, 0))
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(st, wx.SizerFlags().Border(wx.TOP|wx.LEFT, 0))
- #self.pnl.SetSizer(sizer)
# text entry fields
self.st_distance = wx.StaticText(self.pnl, label="Distance: ")
# text entry fields
self.st_distance = wx.StaticText(self.pnl, label="Distance: ")
@@
-56,8
+49,9
@@
class MainFrame(wx.Frame):
self.st_travel_mode = wx.StaticText(self.pnl, label="Travel Mode: ")
rb_travel_mode_choices = ['uphill', 'flat', 'downhill', 'bushwhacking']
rb_travel_mode_default = 'uphill'
self.st_travel_mode = wx.StaticText(self.pnl, label="Travel Mode: ")
rb_travel_mode_choices = ['uphill', 'flat', 'downhill', 'bushwhacking']
rb_travel_mode_default = 'uphill'
- self.rb_travel_mode = wx.ComboBox(self.pnl, choices=rb_travel_mode_choices,
- value=rb_travel_mode_default, style=wx.CB_READONLY)
+ self.rb_travel_mode = wx.ComboBox(self.pnl,
+ choices=rb_travel_mode_choices,
+ value=rb_travel_mode_default, style=wx.CB_READONLY)
self.st_units = wx.StaticText(self.pnl, label="Units: ")
rb_units_choices = ['imperial', 'metric']
self.st_units = wx.StaticText(self.pnl, label="Units: ")
rb_units_choices = ['imperial', 'metric']
@@
-70,26
+64,27
@@
class MainFrame(wx.Frame):
self.rb_units.append(wx.RadioButton(self.pnl, label=label, style=style))
# static text
self.rb_units.append(wx.RadioButton(self.pnl, label=label, style=style))
# static text
- self.st_mtc = wx.StaticText(self.pnl, label="
0h
",
+ self.st_mtc = wx.StaticText(self.pnl, label="",
style=wx.ALIGN_CENTRE_HORIZONTAL)
st_mtc_font = st.GetFont()
st_mtc_font.PointSize += 10
self.st_mtc.SetFont(st_mtc_font)
style=wx.ALIGN_CENTRE_HORIZONTAL)
st_mtc_font = st.GetFont()
st_mtc_font.PointSize += 10
self.st_mtc.SetFont(st_mtc_font)
+ # buttons
+ self.b_reset = wx.Button(self.pnl, wx.NewId(), '&Reset', (-1, -1),
+ wx.DefaultSize)
+
# bindings
self.pnl.Bind(wx.EVT_TEXT, self.update_distance, self.te_distance)
self.pnl.Bind(wx.EVT_TEXT, self.update_elevation, self.te_elevation)
self.rb_fitness.Bind(wx.EVT_COMBOBOX, self.update_fitness)
self.rb_travel_mode.Bind(wx.EVT_COMBOBOX, self.update_travel_mode)
# bindings
self.pnl.Bind(wx.EVT_TEXT, self.update_distance, self.te_distance)
self.pnl.Bind(wx.EVT_TEXT, self.update_elevation, self.te_elevation)
self.rb_fitness.Bind(wx.EVT_COMBOBOX, self.update_fitness)
self.rb_travel_mode.Bind(wx.EVT_COMBOBOX, self.update_travel_mode)
+ self.b_reset.Bind(wx.EVT_BUTTON, self.reset)
for cb in self.rb_units:
cb.Bind(wx.EVT_RADIOBUTTON, self.update_units)
for cb in self.rb_units:
cb.Bind(wx.EVT_RADIOBUTTON, self.update_units)
- # buttons
- b_clear = wx.Button(self.pnl, wx.NewId(), '&Clear', (-1, -1),
- wx.DefaultSize)
-
# layout
b = 5
w = 100
# layout
b = 5
w = 100
@@
-127,7
+122,7
@@
class MainFrame(wx.Frame):
hsizer_mtc.SetItemMinSize(self.st_mtc, (w, -1))
hsizer5 = wx.BoxSizer(wx.HORIZONTAL)
hsizer_mtc.SetItemMinSize(self.st_mtc, (w, -1))
hsizer5 = wx.BoxSizer(wx.HORIZONTAL)
- hsizer5.Add(
b_clear
, 0)
+ hsizer5.Add(
self.b_reset
, 0)
b = 5
vsizer1 = wx.BoxSizer(wx.VERTICAL)
b = 5
vsizer1 = wx.BoxSizer(wx.VERTICAL)
@@
-143,6
+138,16
@@
class MainFrame(wx.Frame):
self.pnl.SetSizerAndFit(vsizer1)
self.pnl.SetClientSize(vsizer1.GetSize())
self.pnl.SetSizerAndFit(vsizer1)
self.pnl.SetClientSize(vsizer1.GetSize())
+ self.update_mtc()
+
+ def init_props(self):
+ props = dict()
+ props['distance'] = 0
+ props['elevation'] = 0
+ props['fitness'] = 'average'
+ props['units'] = 'imperial'
+ props['travel_mode'] = 'uphill'
+ return props
def update_distance(self, event):
value = self.te_distance.GetValue()
def update_distance(self, event):
value = self.te_distance.GetValue()
@@
-194,6
+199,15
@@
class MainFrame(wx.Frame):
self.pnl.Layout()
self.pnl.Layout()
+ def reset(self, event):
+ self.props = self.init_props()
+ self.te_distance.SetValue(str(self.props['distance']))
+ self.te_elevation.SetValue(str(self.props['elevation']))
+ self.rb_fitness.SetValue(str(self.props['fitness']))
+ self.rb_travel_mode.SetValue(str(self.props['travel_mode']))
+ # leave units as the user selected
+ self.update_mtc()
+
def startup():
app = wx.App()
frm = MainFrame(None)
def startup():
app = wx.App()
frm = MainFrame(None)