import wx
from . import munter
+from . import __progname__ as progname
+from . import __version__ as version
class MainFrame(wx.Frame):
"""
def __init__(self, *args, **kw):
super(MainFrame, self).__init__(*args, **kw)
- self.SetTitle('Munter.py')
+ self.SetTitle(progname)
self.SetSize(600, 400)
self.props = self.init_props()
self.pnl = wx.Panel(self)
- st = wx.StaticText(self.pnl, label="Munter.py")
+ st = wx.StaticText(self.pnl, label=progname)
font = st.GetFont()
font.PointSize += 10
font = font.Bold()
sizer.Add(st, wx.SizerFlags().Border(wx.TOP|wx.LEFT, 0))
# text entry fields
- self.st_distance = wx.StaticText(self.pnl, label="Distance: ")
+ self.st_distance = wx.StaticText(self.pnl, label="Distance: ", style=wx.ALIGN_RIGHT)
self.te_distance = wx.TextCtrl(self.pnl, value="0", size=(140, -1))
- self.st_elevation = wx.StaticText(self.pnl, label="Elevation: ")
+ self.st_elevation = wx.StaticText(self.pnl, label="Elevation: ", style=wx.ALIGN_RIGHT)
self.te_elevation = wx.TextCtrl(self.pnl, value="0", size=(140, -1))
- self.st_fitness = wx.StaticText(self.pnl, label="Fitness: ")
+ self.st_fitness = wx.StaticText(self.pnl, label="Fitness: ", style=wx.ALIGN_RIGHT)
rb_fitness_choices = ['slow', 'average', 'fast']
rb_fitness_default = 'average'
self.rb_fitness = wx.ComboBox(self.pnl, choices=rb_fitness_choices,
value=rb_fitness_default, style=wx.CB_READONLY)
- self.st_travel_mode = wx.StaticText(self.pnl, label="Travel Mode: ")
+ self.st_travel_mode = wx.StaticText(self.pnl, label="Travel Mode: ", style=wx.ALIGN_RIGHT)
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.st_units = wx.StaticText(self.pnl, label="Units: ")
+ self.st_units = wx.StaticText(self.pnl, label="Units: ", style=wx.ALIGN_RIGHT)
rb_units_choices = ['imperial', 'metric']
rb_units_default = 'imperial'
def update_distance(self, event):
value = self.te_distance.GetValue()
if value:
- self.props['distance'] = float(value)
+ try:
+ new_val = float(value)
+ self.props['distance'] = new_val
+ except:
+ # reset GUI to last-accepted val
+ self.te_distance.SetValue(str(self.props['distance']))
+ pass
self.update_mtc()
def update_elevation(self, event):
value = self.te_elevation.GetValue()
if value:
- self.props['elevation'] = int(value)
+ try:
+ new_val = int(value)
+ self.props['elevation'] = new_val
+ except:
+ # reset GUI to last-accepted val
+ self.te_elevation.SetValue(str(self.props['elevation']))
+ pass
self.update_mtc()
def update_fitness(self, event):