Fixed default size of wxTimeCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -68,15 +68,18 @@ class wxTimeCtrl(wxTextCtrl):
|
|||||||
spinButton = None,
|
spinButton = None,
|
||||||
style = wxTE_PROCESS_TAB, name = "time"
|
style = wxTE_PROCESS_TAB, name = "time"
|
||||||
):
|
):
|
||||||
self.__fmt24hr = fmt24hr
|
|
||||||
if size == wxDefaultSize:
|
|
||||||
# set appropriate default sizes depending on format:
|
|
||||||
if self.__fmt24hr: size = wxSize(52, -1)
|
|
||||||
else: size = wxSize(70, -1)
|
|
||||||
|
|
||||||
wxTextCtrl.__init__(self, parent, id, value='',
|
wxTextCtrl.__init__(self, parent, id, value='',
|
||||||
pos=pos, size=size, style=style, name=name)
|
pos=pos, size=size, style=style, name=name)
|
||||||
|
|
||||||
|
self.__fmt24hr = fmt24hr
|
||||||
|
if size == wxDefaultSize:
|
||||||
|
# set appropriate default sizes depending on format:
|
||||||
|
if self.__fmt24hr:
|
||||||
|
testText = '00:00:00 '
|
||||||
|
else:
|
||||||
|
testText = '00:00:00 XXX'
|
||||||
|
w, h = self.GetTextExtent(testText)
|
||||||
|
self.SetClientSize( (w+4, -1) )
|
||||||
|
|
||||||
# Set up all the positions of the cells in the wxTimeCtrl (once):
|
# Set up all the positions of the cells in the wxTimeCtrl (once):
|
||||||
# Format of control is:
|
# Format of control is:
|
||||||
@@ -634,52 +637,49 @@ class wxTimeCtrl(wxTextCtrl):
|
|||||||
self.SetValue(newtext)
|
self.SetValue(newtext)
|
||||||
self.SetInsertionPoint(pos+1)
|
self.SetInsertionPoint(pos+1)
|
||||||
|
|
||||||
|
|
||||||
class TestPanel(wxPanel):
|
|
||||||
def __init__(self, parent, id,
|
|
||||||
pos = wxPyDefaultPosition, size = wxPyDefaultSize,
|
|
||||||
fmt24hr = 0, test_mx = 0,
|
|
||||||
style = wxTAB_TRAVERSAL ):
|
|
||||||
|
|
||||||
self.test_mx = test_mx
|
|
||||||
wxPanel.__init__(self, parent, id, pos, size, style)
|
|
||||||
|
|
||||||
sizer = wxBoxSizer( wxHORIZONTAL )
|
|
||||||
self.tc = wxTimeCtrl(self, 10, fmt24hr = fmt24hr)
|
|
||||||
sizer.AddWindow( self.tc, 0, wxALIGN_CENTRE|wxLEFT|wxTOP|wxBOTTOM, 5 )
|
|
||||||
sb = wxSpinButton( self, 20, wxDefaultPosition, wxSize(-1,20), 0 )
|
|
||||||
self.tc.BindSpinButton(sb)
|
|
||||||
sizer.AddWindow( sb, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
self.SetAutoLayout( true )
|
|
||||||
self.SetSizer( sizer )
|
|
||||||
sizer.Fit( self )
|
|
||||||
sizer.SetSizeHints( self )
|
|
||||||
|
|
||||||
EVT_TIMEUPDATE(self, self.tc.GetId(), self.OnTimeChange)
|
|
||||||
|
|
||||||
def OnTimeChange(self, event):
|
|
||||||
_dbg('OnTimeChange: value = ', event.GetValue())
|
|
||||||
wxdt = self.tc.GetWxDateTime()
|
|
||||||
_dbg('wxdt =', wxdt.GetHour(), wxdt.GetMinute(), wxdt.GetSecond())
|
|
||||||
if self.test_mx:
|
|
||||||
mxdt = self.tc.GetMxDateTime()
|
|
||||||
_dbg('mxdt =', mxdt.hour, mxdt.minute, mxdt.second)
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
class MyApp(wxApp):
|
class TestPanel(wxPanel):
|
||||||
|
def __init__(self, parent, id,
|
||||||
|
pos = wxPyDefaultPosition, size = wxPyDefaultSize,
|
||||||
|
fmt24hr = 0, test_mx = 0,
|
||||||
|
style = wxTAB_TRAVERSAL ):
|
||||||
|
|
||||||
|
self.test_mx = test_mx
|
||||||
|
wxPanel.__init__(self, parent, id, pos, size, style)
|
||||||
|
|
||||||
|
sizer = wxBoxSizer( wxHORIZONTAL )
|
||||||
|
self.tc = wxTimeCtrl(self, 10, fmt24hr = fmt24hr)
|
||||||
|
sizer.AddWindow( self.tc, 0, wxALIGN_CENTRE|wxLEFT|wxTOP|wxBOTTOM, 5 )
|
||||||
|
sb = wxSpinButton( self, 20, wxDefaultPosition, wxSize(-1,20), 0 )
|
||||||
|
self.tc.BindSpinButton(sb)
|
||||||
|
sizer.AddWindow( sb, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 )
|
||||||
|
|
||||||
|
self.SetAutoLayout( true )
|
||||||
|
self.SetSizer( sizer )
|
||||||
|
sizer.Fit( self )
|
||||||
|
sizer.SetSizeHints( self )
|
||||||
|
|
||||||
|
EVT_TIMEUPDATE(self, self.tc.GetId(), self.OnTimeChange)
|
||||||
|
|
||||||
|
def OnTimeChange(self, event):
|
||||||
|
_dbg('OnTimeChange: value = ', event.GetValue())
|
||||||
|
wxdt = self.tc.GetWxDateTime()
|
||||||
|
_dbg('wxdt =', wxdt.GetHour(), wxdt.GetMinute(), wxdt.GetSecond())
|
||||||
|
if self.test_mx:
|
||||||
|
mxdt = self.tc.GetMxDateTime()
|
||||||
|
_dbg('mxdt =', mxdt.hour, mxdt.minute, mxdt.second)
|
||||||
|
|
||||||
|
|
||||||
|
class MyApp(wxApp):
|
||||||
def OnInit(self):
|
def OnInit(self):
|
||||||
import sys
|
import sys
|
||||||
fmt24hr = '24' in sys.argv
|
fmt24hr = '24' in sys.argv
|
||||||
test_mx = 'mx' in sys.argv
|
test_mx = 'mx' in sys.argv
|
||||||
|
|
||||||
try:
|
try:
|
||||||
frame = wxFrame(NULL, -1, "Junk", wxPoint(20,20), wxSize(100,100) )
|
frame = wxFrame(NULL, -1, "Junk", wxPoint(20,20), wxSize(100,100) )
|
||||||
panel = TestPanel(frame, -1, wxPoint(-1,-1), fmt24hr=fmt24hr, test_mx = test_mx)
|
panel = TestPanel(frame, -1, wxPoint(-1,-1), fmt24hr=fmt24hr, test_mx = test_mx)
|
||||||
@@ -687,7 +687,6 @@ if __name__ == '__main__':
|
|||||||
except:
|
except:
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
return false
|
return false
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
Reference in New Issue
Block a user