Added wxTimePickerCtrl page to the widgets sample.
Even if this page is pretty trivial, add it for consistency with wxDatePickerCtrl. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -75,6 +75,7 @@ WIDGETS_OBJECTS = \
|
|||||||
widgets_static.o \
|
widgets_static.o \
|
||||||
widgets_statbmp.o \
|
widgets_statbmp.o \
|
||||||
widgets_textctrl.o \
|
widgets_textctrl.o \
|
||||||
|
widgets_timepick.o \
|
||||||
widgets_toggle.o \
|
widgets_toggle.o \
|
||||||
widgets_widgets.o \
|
widgets_widgets.o \
|
||||||
$(__widgets___win32rc)
|
$(__widgets___win32rc)
|
||||||
@@ -284,6 +285,9 @@ widgets_statbmp.o: $(srcdir)/statbmp.cpp
|
|||||||
widgets_textctrl.o: $(srcdir)/textctrl.cpp
|
widgets_textctrl.o: $(srcdir)/textctrl.cpp
|
||||||
$(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/textctrl.cpp
|
$(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/textctrl.cpp
|
||||||
|
|
||||||
|
widgets_timepick.o: $(srcdir)/timepick.cpp
|
||||||
|
$(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/timepick.cpp
|
||||||
|
|
||||||
widgets_toggle.o: $(srcdir)/toggle.cpp
|
widgets_toggle.o: $(srcdir)/toggle.cpp
|
||||||
$(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/toggle.cpp
|
$(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/toggle.cpp
|
||||||
|
|
||||||
|
|||||||
@@ -211,7 +211,6 @@ void DatePickerWidgetsPage::CreateContent()
|
|||||||
sizerRight->Add(0, 0, 1, wxCENTRE);
|
sizerRight->Add(0, 0, 1, wxCENTRE);
|
||||||
sizerRight->Add(m_datePicker, 1, wxCENTRE);
|
sizerRight->Add(m_datePicker, 1, wxCENTRE);
|
||||||
sizerRight->Add(0, 0, 1, wxCENTRE);
|
sizerRight->Add(0, 0, 1, wxCENTRE);
|
||||||
sizerRight->SetMinSize(150, 0);
|
|
||||||
m_sizerDatePicker = sizerRight; // save it to modify it later
|
m_sizerDatePicker = sizerRight; // save it to modify it later
|
||||||
|
|
||||||
// the 3 panes panes compose the window
|
// the 3 panes panes compose the window
|
||||||
|
|||||||
207
samples/widgets/icons/timepick.xpm
Normal file
207
samples/widgets/icons/timepick.xpm
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
/* XPM */
|
||||||
|
static const char *timepick_xpm[] = {
|
||||||
|
/* columns rows colors chars-per-pixel */
|
||||||
|
"32 32 169 2",
|
||||||
|
" c None",
|
||||||
|
". c #067706",
|
||||||
|
"X c #0F750E",
|
||||||
|
"o c #0D7E09",
|
||||||
|
"O c #117611",
|
||||||
|
"+ c #167616",
|
||||||
|
"@ c #1A7A16",
|
||||||
|
"# c #1A7A19",
|
||||||
|
"$ c #217D1F",
|
||||||
|
"% c #267C23",
|
||||||
|
"& c #2B712A",
|
||||||
|
"* c #5E795F",
|
||||||
|
"= c #69696A",
|
||||||
|
"- c #6E6E6F",
|
||||||
|
"; c #6E6E70",
|
||||||
|
": c #6F6F70",
|
||||||
|
"> c #717172",
|
||||||
|
", c #727273",
|
||||||
|
"< c #737373",
|
||||||
|
"1 c #737374",
|
||||||
|
"2 c #747475",
|
||||||
|
"3 c #797979",
|
||||||
|
"4 c #FF0000",
|
||||||
|
"5 c #FF4800",
|
||||||
|
"6 c #FF7400",
|
||||||
|
"7 c #FF0048",
|
||||||
|
"8 c #FF0074",
|
||||||
|
"9 c #018700",
|
||||||
|
"0 c #018901",
|
||||||
|
"q c #018D00",
|
||||||
|
"w c #0D8109",
|
||||||
|
"e c #029902",
|
||||||
|
"r c #029B02",
|
||||||
|
"t c #069905",
|
||||||
|
"y c #059A05",
|
||||||
|
"u c #198219",
|
||||||
|
"i c #1F821A",
|
||||||
|
"p c #1A8719",
|
||||||
|
"a c #179716",
|
||||||
|
"s c #00A900",
|
||||||
|
"d c #01A901",
|
||||||
|
"f c #00AA01",
|
||||||
|
"g c #00AB01",
|
||||||
|
"h c #03AB03",
|
||||||
|
"j c #00AC01",
|
||||||
|
"k c #00AD01",
|
||||||
|
"l c #06AB06",
|
||||||
|
"z c #16B116",
|
||||||
|
"x c #278427",
|
||||||
|
"c c #218B20",
|
||||||
|
"v c #288428",
|
||||||
|
"b c #2A8E29",
|
||||||
|
"n c #319231",
|
||||||
|
"m c #349632",
|
||||||
|
"M c #389635",
|
||||||
|
"N c #3F923C",
|
||||||
|
"B c #22B422",
|
||||||
|
"V c #31A130",
|
||||||
|
"C c #32BC32",
|
||||||
|
"Z c #37BB37",
|
||||||
|
"A c #3EBD3E",
|
||||||
|
"S c #40AB40",
|
||||||
|
"D c #5FA25F",
|
||||||
|
"F c #639064",
|
||||||
|
"G c #659A65",
|
||||||
|
"H c #68A868",
|
||||||
|
"J c #70AB70",
|
||||||
|
"K c #77A876",
|
||||||
|
"L c #75BC74",
|
||||||
|
"P c #52C152",
|
||||||
|
"I c #52C353",
|
||||||
|
"U c #5CC15C",
|
||||||
|
"Y c #6BCB6C",
|
||||||
|
"T c #7ECE7E",
|
||||||
|
"R c #7FD27F",
|
||||||
|
"E c #FF9C48",
|
||||||
|
"W c #FF9C74",
|
||||||
|
"Q c #FFBF74",
|
||||||
|
"! c #FF489C",
|
||||||
|
"~ c #FF749C",
|
||||||
|
"^ c #FF74BF",
|
||||||
|
"/ c #808080",
|
||||||
|
"( c #818181",
|
||||||
|
") c #838384",
|
||||||
|
"_ c #878788",
|
||||||
|
"` c #8E8E90",
|
||||||
|
"' c #8F8F90",
|
||||||
|
"] c #909091",
|
||||||
|
"[ c #909092",
|
||||||
|
"{ c #919192",
|
||||||
|
"} c #939395",
|
||||||
|
"| c #989899",
|
||||||
|
" . c #80B080",
|
||||||
|
".. c #8AB88A",
|
||||||
|
"X. c #8DBC8D",
|
||||||
|
"o. c #95B795",
|
||||||
|
"O. c #92BD92",
|
||||||
|
"+. c #9ABC9A",
|
||||||
|
"@. c #AFAFAF",
|
||||||
|
"#. c #B0B0B0",
|
||||||
|
"$. c #B1B1B1",
|
||||||
|
"%. c #B0B0B2",
|
||||||
|
"&. c #BABABC",
|
||||||
|
"*. c #BCBCBC",
|
||||||
|
"=. c #BDBDBD",
|
||||||
|
"-. c #BEBEBE",
|
||||||
|
";. c #BFBFBF",
|
||||||
|
":. c #FF9C9C",
|
||||||
|
">. c #FF9CBF",
|
||||||
|
",. c #9ECB9E",
|
||||||
|
"<. c #93D893",
|
||||||
|
"1. c #A5C8A5",
|
||||||
|
"2. c #ACCAAB",
|
||||||
|
"3. c #A5DAA5",
|
||||||
|
"4. c #AAD4A9",
|
||||||
|
"5. c #ABDDAB",
|
||||||
|
"6. c #BBC9BC",
|
||||||
|
"7. c #B7D1B7",
|
||||||
|
"8. c #BFD2BF",
|
||||||
|
"9. c #A9E0A9",
|
||||||
|
"0. c #B4E3B4",
|
||||||
|
"q. c #FFDF9C",
|
||||||
|
"w. c #FFFFBF",
|
||||||
|
"e. c #FF9CDF",
|
||||||
|
"r. c #FFBFFF",
|
||||||
|
"t. c #C0C0C0",
|
||||||
|
"y. c #C1C1C1",
|
||||||
|
"u. c #C0C0C3",
|
||||||
|
"i. c #C5C5C8",
|
||||||
|
"p. c #C8C8C8",
|
||||||
|
"a. c #C8C8CB",
|
||||||
|
"s. c #CBCBCB",
|
||||||
|
"d. c #CCCCCC",
|
||||||
|
"f. c #CECECF",
|
||||||
|
"g. c #C8D8C8",
|
||||||
|
"h. c #CBDCCB",
|
||||||
|
"j. c #CFCFD1",
|
||||||
|
"k. c #D0D0D2",
|
||||||
|
"l. c #D1D1D2",
|
||||||
|
"z. c #D0D0D3",
|
||||||
|
"x. c #D1D1D3",
|
||||||
|
"c. c #D2D2D3",
|
||||||
|
"v. c #D2D2D4",
|
||||||
|
"b. c #D3D3D4",
|
||||||
|
"n. c #D3D3D5",
|
||||||
|
"m. c #D3D3D6",
|
||||||
|
"M. c #D4D4D5",
|
||||||
|
"N. c #D4D4D6",
|
||||||
|
"B. c #D4D4D7",
|
||||||
|
"V. c #D5D5D8",
|
||||||
|
"C. c #D8D8DA",
|
||||||
|
"Z. c #D9D9DB",
|
||||||
|
"A. c #DADADA",
|
||||||
|
"S. c #DADADB",
|
||||||
|
"D. c #DADEDA",
|
||||||
|
"F. c #D9D9DC",
|
||||||
|
"G. c #DADADC",
|
||||||
|
"H. c #DBDBDD",
|
||||||
|
"J. c #DDDDDF",
|
||||||
|
"K. c #DDF3DD",
|
||||||
|
"L. c #FFFFDF",
|
||||||
|
"P. c #FFDFFF",
|
||||||
|
"I. c #E2E2E3",
|
||||||
|
"U. c #E3E3E3",
|
||||||
|
"Y. c #E3E3E4",
|
||||||
|
"T. c #E4E4E4",
|
||||||
|
"R. c #E5E5E5",
|
||||||
|
"E. c #E3E8E3",
|
||||||
|
"W. c #FFFFFF",
|
||||||
|
/* pixels */
|
||||||
|
" h.D u x .. ",
|
||||||
|
" 1.c 5.K.P 9 .",
|
||||||
|
" 7.n 0.9.A f j v ",
|
||||||
|
" O.. U Y B f j z # ",
|
||||||
|
" H 0 y h h j j Z S K ",
|
||||||
|
" J q C <.r f f P T X E.",
|
||||||
|
" p o m y y a R 3.O 8. ",
|
||||||
|
" ;.F b N @ V L ,.+ g. ",
|
||||||
|
" *.] m.6.M 2.i 4.$ +. ",
|
||||||
|
" ;.] z.H.b.D.X.w % G ",
|
||||||
|
" ;.] m.G.b.U.b.* & o. ",
|
||||||
|
" / ;.' m.G.b.I.B.2 @. ",
|
||||||
|
" ;.' m.G.m.U.b.1 #. ",
|
||||||
|
" y.' m.C.z.U.b.1 #. ",
|
||||||
|
" y.{ m.C.b.T.z.< #. ",
|
||||||
|
" y.{ B.C.b.T.z.< #. ",
|
||||||
|
" d.' B.C.b.T.z.- #. ",
|
||||||
|
" | B.z.b.T.z.- #. ",
|
||||||
|
" d._ J.p.C.z.- #. ",
|
||||||
|
" / i.s.u.&.- #. ",
|
||||||
|
" ) } #.= 3 C. ",
|
||||||
|
" W.W.W.W.W.W.W.W.W.;.: < p.W.W.W.W.W.W.W.W.W.W.W.W.W. ",
|
||||||
|
" W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W. ",
|
||||||
|
" W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W. ",
|
||||||
|
" W.W.W.W.6 e.W.E 4 7 P.W.W.Q 4 7 P.W.q.8 W.W.W.W.W.W. ",
|
||||||
|
" W.W.W.Q :.e.W.W.W.Q r.Q e.W.W.Q r.L.~ :.W.W.W.W.W.W. ",
|
||||||
|
" W.W.W.W.q.e.W.W.w.! W.W.W.w.4 ! W.W P.:.W.W.W.W.W.W. ",
|
||||||
|
" W.W.W.W.q.e.W.w.8 W.W.W.W.W.W.q.>.5 4 4 ! W.W.W.W.W. ",
|
||||||
|
" W.W.W.Q 4 4 e.E 4 4 ^ Q e.E 4 7 P.W.W.:.W.W.W.W.W.W. ",
|
||||||
|
" W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W. ",
|
||||||
|
" W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W.W. ",
|
||||||
|
" "
|
||||||
|
};
|
||||||
@@ -62,6 +62,7 @@ WIDGETS_OBJECTS = \
|
|||||||
$(OBJS)\widgets_static.obj \
|
$(OBJS)\widgets_static.obj \
|
||||||
$(OBJS)\widgets_statbmp.obj \
|
$(OBJS)\widgets_statbmp.obj \
|
||||||
$(OBJS)\widgets_textctrl.obj \
|
$(OBJS)\widgets_textctrl.obj \
|
||||||
|
$(OBJS)\widgets_timepick.obj \
|
||||||
$(OBJS)\widgets_toggle.obj \
|
$(OBJS)\widgets_toggle.obj \
|
||||||
$(OBJS)\widgets_widgets.obj
|
$(OBJS)\widgets_widgets.obj
|
||||||
|
|
||||||
@@ -343,6 +344,9 @@ $(OBJS)\widgets_statbmp.obj: .\statbmp.cpp
|
|||||||
$(OBJS)\widgets_textctrl.obj: .\textctrl.cpp
|
$(OBJS)\widgets_textctrl.obj: .\textctrl.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) .\textctrl.cpp
|
$(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) .\textctrl.cpp
|
||||||
|
|
||||||
|
$(OBJS)\widgets_timepick.obj: .\timepick.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) .\timepick.cpp
|
||||||
|
|
||||||
$(OBJS)\widgets_toggle.obj: .\toggle.cpp
|
$(OBJS)\widgets_toggle.obj: .\toggle.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) .\toggle.cpp
|
$(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) .\toggle.cpp
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ WIDGETS_OBJECTS = \
|
|||||||
$(OBJS)\widgets_static.o \
|
$(OBJS)\widgets_static.o \
|
||||||
$(OBJS)\widgets_statbmp.o \
|
$(OBJS)\widgets_statbmp.o \
|
||||||
$(OBJS)\widgets_textctrl.o \
|
$(OBJS)\widgets_textctrl.o \
|
||||||
|
$(OBJS)\widgets_timepick.o \
|
||||||
$(OBJS)\widgets_toggle.o \
|
$(OBJS)\widgets_toggle.o \
|
||||||
$(OBJS)\widgets_widgets.o \
|
$(OBJS)\widgets_widgets.o \
|
||||||
$(OBJS)\widgets_sample_rc.o
|
$(OBJS)\widgets_sample_rc.o
|
||||||
@@ -330,6 +331,9 @@ $(OBJS)\widgets_statbmp.o: ./statbmp.cpp
|
|||||||
$(OBJS)\widgets_textctrl.o: ./textctrl.cpp
|
$(OBJS)\widgets_textctrl.o: ./textctrl.cpp
|
||||||
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\widgets_timepick.o: ./timepick.cpp
|
||||||
|
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\widgets_toggle.o: ./toggle.cpp
|
$(OBJS)\widgets_toggle.o: ./toggle.cpp
|
||||||
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ WIDGETS_OBJECTS = \
|
|||||||
widgets_static.o \
|
widgets_static.o \
|
||||||
widgets_statbmp.o \
|
widgets_statbmp.o \
|
||||||
widgets_textctrl.o \
|
widgets_textctrl.o \
|
||||||
|
widgets_timepick.o \
|
||||||
widgets_toggle.o \
|
widgets_toggle.o \
|
||||||
widgets_widgets.o
|
widgets_widgets.o
|
||||||
|
|
||||||
@@ -195,6 +196,9 @@ widgets_statbmp.o: ./statbmp.cpp
|
|||||||
widgets_textctrl.o: ./textctrl.cpp
|
widgets_textctrl.o: ./textctrl.cpp
|
||||||
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
widgets_timepick.o: ./timepick.cpp
|
||||||
|
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
widgets_toggle.o: ./toggle.cpp
|
widgets_toggle.o: ./toggle.cpp
|
||||||
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ WIDGETS_OBJECTS = \
|
|||||||
$(OBJS)\widgets_static.obj \
|
$(OBJS)\widgets_static.obj \
|
||||||
$(OBJS)\widgets_statbmp.obj \
|
$(OBJS)\widgets_statbmp.obj \
|
||||||
$(OBJS)\widgets_textctrl.obj \
|
$(OBJS)\widgets_textctrl.obj \
|
||||||
|
$(OBJS)\widgets_timepick.obj \
|
||||||
$(OBJS)\widgets_toggle.obj \
|
$(OBJS)\widgets_toggle.obj \
|
||||||
$(OBJS)\widgets_widgets.obj
|
$(OBJS)\widgets_widgets.obj
|
||||||
WIDGETS_RESOURCES = \
|
WIDGETS_RESOURCES = \
|
||||||
@@ -453,6 +454,9 @@ $(OBJS)\widgets_statbmp.obj: .\statbmp.cpp
|
|||||||
$(OBJS)\widgets_textctrl.obj: .\textctrl.cpp
|
$(OBJS)\widgets_textctrl.obj: .\textctrl.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) .\textctrl.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) .\textctrl.cpp
|
||||||
|
|
||||||
|
$(OBJS)\widgets_timepick.obj: .\timepick.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) .\timepick.cpp
|
||||||
|
|
||||||
$(OBJS)\widgets_toggle.obj: .\toggle.cpp
|
$(OBJS)\widgets_toggle.obj: .\toggle.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) .\toggle.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) .\toggle.cpp
|
||||||
|
|
||||||
|
|||||||
@@ -260,6 +260,7 @@ WIDGETS_OBJECTS = &
|
|||||||
$(OBJS)\widgets_static.obj &
|
$(OBJS)\widgets_static.obj &
|
||||||
$(OBJS)\widgets_statbmp.obj &
|
$(OBJS)\widgets_statbmp.obj &
|
||||||
$(OBJS)\widgets_textctrl.obj &
|
$(OBJS)\widgets_textctrl.obj &
|
||||||
|
$(OBJS)\widgets_timepick.obj &
|
||||||
$(OBJS)\widgets_toggle.obj &
|
$(OBJS)\widgets_toggle.obj &
|
||||||
$(OBJS)\widgets_widgets.obj
|
$(OBJS)\widgets_widgets.obj
|
||||||
|
|
||||||
@@ -370,6 +371,9 @@ $(OBJS)\widgets_statbmp.obj : .AUTODEPEND .\statbmp.cpp
|
|||||||
$(OBJS)\widgets_textctrl.obj : .AUTODEPEND .\textctrl.cpp
|
$(OBJS)\widgets_textctrl.obj : .AUTODEPEND .\textctrl.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\widgets_timepick.obj : .AUTODEPEND .\timepick.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\widgets_toggle.obj : .AUTODEPEND .\toggle.cpp
|
$(OBJS)\widgets_toggle.obj : .AUTODEPEND .\toggle.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
|
||||||
|
|
||||||
|
|||||||
237
samples/widgets/timepick.cpp
Normal file
237
samples/widgets/timepick.cpp
Normal file
@@ -0,0 +1,237 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Program: wxWidgets Widgets Sample
|
||||||
|
// Name: timepick.cpp
|
||||||
|
// Purpose: Part of the widgets sample showing time picker
|
||||||
|
// Author: Vadim Zeitlin
|
||||||
|
// Created: 2011-12-20
|
||||||
|
// Id: $Id$
|
||||||
|
// Copyright: (c) 2011 wxWindows team
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// declarations
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// headers
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// for compilers that support precompilation, includes "wx/wx.h".
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
#pragma hdrstop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if wxUSE_TIMEPICKCTRL
|
||||||
|
|
||||||
|
// for all others, include the necessary headers
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#include "wx/app.h"
|
||||||
|
#include "wx/log.h"
|
||||||
|
|
||||||
|
#include "wx/button.h"
|
||||||
|
#include "wx/textctrl.h"
|
||||||
|
|
||||||
|
#include "wx/sizer.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/timectrl.h"
|
||||||
|
#include "wx/dateevt.h"
|
||||||
|
|
||||||
|
#include "widgets.h"
|
||||||
|
|
||||||
|
#include "icons/timepick.xpm"
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// constants
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// control ids
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
TimePickerPage_Reset = wxID_HIGHEST,
|
||||||
|
TimePickerPage_Set,
|
||||||
|
TimePickerPage_Picker
|
||||||
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// CheckBoxWidgetsPage
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class TimePickerWidgetsPage : public WidgetsPage
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TimePickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
|
||||||
|
virtual ~TimePickerWidgetsPage(){};
|
||||||
|
|
||||||
|
virtual wxControl *GetWidget() const { return m_timePicker; }
|
||||||
|
virtual void RecreateWidget() { CreateTimePicker(); }
|
||||||
|
|
||||||
|
// lazy creation of the content
|
||||||
|
virtual void CreateContent();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// event handlers
|
||||||
|
void OnTimeChanged(wxDateEvent& event);
|
||||||
|
|
||||||
|
void OnButtonSet(wxCommandEvent& event);
|
||||||
|
void OnButtonReset(wxCommandEvent& event);
|
||||||
|
|
||||||
|
// reset the time picker parameters
|
||||||
|
void Reset();
|
||||||
|
|
||||||
|
// (re)create the time picker
|
||||||
|
void CreateTimePicker();
|
||||||
|
|
||||||
|
// the controls
|
||||||
|
// ------------
|
||||||
|
|
||||||
|
// the checkbox itself and the sizer it is in
|
||||||
|
wxTimePickerCtrl *m_timePicker;
|
||||||
|
wxSizer *m_sizerTimePicker;
|
||||||
|
|
||||||
|
wxTextCtrl *m_textCur;
|
||||||
|
|
||||||
|
private:
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
DECLARE_WIDGETS_PAGE(TimePickerWidgetsPage)
|
||||||
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// event tables
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
BEGIN_EVENT_TABLE(TimePickerWidgetsPage, WidgetsPage)
|
||||||
|
EVT_BUTTON(TimePickerPage_Reset, TimePickerWidgetsPage::OnButtonReset)
|
||||||
|
EVT_BUTTON(TimePickerPage_Set, TimePickerWidgetsPage::OnButtonSet)
|
||||||
|
|
||||||
|
EVT_TIME_CHANGED(wxID_ANY, TimePickerWidgetsPage::OnTimeChanged)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// implementation
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
#if defined(__WXMSW__)
|
||||||
|
#define FAMILY_CTRLS NATIVE_CTRLS
|
||||||
|
#else
|
||||||
|
#define FAMILY_CTRLS GENERIC_CTRLS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
IMPLEMENT_WIDGETS_PAGE(TimePickerWidgetsPage, wxT("TimePicker"),
|
||||||
|
FAMILY_CTRLS | PICKER_CTRLS
|
||||||
|
);
|
||||||
|
|
||||||
|
TimePickerWidgetsPage::TimePickerWidgetsPage(WidgetsBookCtrl *book,
|
||||||
|
wxImageList *imaglist)
|
||||||
|
: WidgetsPage(book, imaglist, timepick_xpm)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimePickerWidgetsPage::CreateContent()
|
||||||
|
{
|
||||||
|
wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
||||||
|
// left pane
|
||||||
|
wxSizer* const sizerLeft = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
|
sizerLeft->Add(new wxButton(this, TimePickerPage_Reset, "&Reset"),
|
||||||
|
wxSizerFlags().Centre().Border());
|
||||||
|
|
||||||
|
|
||||||
|
// middle pane: operations
|
||||||
|
wxSizer* const sizerMiddle = new wxBoxSizer(wxVERTICAL);
|
||||||
|
sizerMiddle->Add(CreateSizerWithTextAndButton
|
||||||
|
(
|
||||||
|
TimePickerPage_Set,
|
||||||
|
"&Set time",
|
||||||
|
wxID_ANY,
|
||||||
|
&m_textCur
|
||||||
|
),
|
||||||
|
wxSizerFlags().Expand().Border());
|
||||||
|
|
||||||
|
m_textCur->SetMinSize(wxSize(GetTextExtent(" 99:99:99 ").x, -1));
|
||||||
|
|
||||||
|
|
||||||
|
// right pane: control itself
|
||||||
|
wxSizer *sizerRight = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
||||||
|
m_timePicker = new wxTimePickerCtrl(this, TimePickerPage_Picker);
|
||||||
|
|
||||||
|
sizerRight->Add(0, 0, 1, wxCENTRE);
|
||||||
|
sizerRight->Add(m_timePicker, 1, wxCENTRE);
|
||||||
|
sizerRight->Add(0, 0, 1, wxCENTRE);
|
||||||
|
m_sizerTimePicker = sizerRight; // save it to modify it later
|
||||||
|
|
||||||
|
// the 3 panes panes compose the window
|
||||||
|
sizerTop->Add(sizerLeft, 0, (wxALL & ~wxLEFT), 10);
|
||||||
|
sizerTop->Add(sizerMiddle, 0, (wxTOP | wxBOTTOM), 10);
|
||||||
|
sizerTop->Add(sizerRight, 1, wxGROW | (wxALL & ~wxRIGHT), 10);
|
||||||
|
|
||||||
|
// final initializations
|
||||||
|
Reset();
|
||||||
|
|
||||||
|
SetSizer(sizerTop);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimePickerWidgetsPage::Reset()
|
||||||
|
{
|
||||||
|
const wxDateTime today = wxDateTime::Today();
|
||||||
|
|
||||||
|
m_timePicker->SetValue(today);
|
||||||
|
m_textCur->SetValue(today.FormatISOTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimePickerWidgetsPage::CreateTimePicker()
|
||||||
|
{
|
||||||
|
const wxDateTime value = m_timePicker->GetValue();
|
||||||
|
|
||||||
|
size_t count = m_sizerTimePicker->GetChildren().GetCount();
|
||||||
|
for ( size_t n = 0; n < count; n++ )
|
||||||
|
{
|
||||||
|
m_sizerTimePicker->Remove(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
delete m_timePicker;
|
||||||
|
|
||||||
|
m_timePicker = new wxTimePickerCtrl(this, TimePickerPage_Picker, value);
|
||||||
|
|
||||||
|
m_sizerTimePicker->Add(0, 0, 1, wxCENTRE);
|
||||||
|
m_sizerTimePicker->Add(m_timePicker, 1, wxCENTRE);
|
||||||
|
m_sizerTimePicker->Add(0, 0, 1, wxCENTRE);
|
||||||
|
m_sizerTimePicker->Layout();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// event handlers
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void TimePickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
Reset();
|
||||||
|
|
||||||
|
CreateTimePicker();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimePickerWidgetsPage::OnButtonSet(wxCommandEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
wxDateTime dt;
|
||||||
|
if ( !dt.ParseISOTime(m_textCur->GetValue()) )
|
||||||
|
{
|
||||||
|
wxLogError("Invalid time, please use HH:MM:SS format.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_timePicker->SetValue(dt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimePickerWidgetsPage::OnTimeChanged(wxDateEvent& event)
|
||||||
|
{
|
||||||
|
wxLogMessage("Time changed, now is %s (control value is %s).",
|
||||||
|
event.GetDate().FormatISOTime(),
|
||||||
|
m_timePicker->GetValue().FormatISOTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_TIMEPICKCTRL
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
static.cpp
|
static.cpp
|
||||||
statbmp.cpp
|
statbmp.cpp
|
||||||
textctrl.cpp
|
textctrl.cpp
|
||||||
|
timepick.cpp
|
||||||
toggle.cpp
|
toggle.cpp
|
||||||
widgets.cpp
|
widgets.cpp
|
||||||
</sources>
|
</sources>
|
||||||
|
|||||||
@@ -360,6 +360,10 @@ SOURCE=.\textctrl.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\timepick.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\toggle.cpp
|
SOURCE=.\toggle.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|||||||
@@ -619,6 +619,9 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath=".\textctrl.cpp">
|
RelativePath=".\textctrl.cpp">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\timepick.cpp">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\toggle.cpp">
|
RelativePath=".\toggle.cpp">
|
||||||
</File>
|
</File>
|
||||||
|
|||||||
@@ -907,6 +907,10 @@
|
|||||||
RelativePath=".\textctrl.cpp"
|
RelativePath=".\textctrl.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\timepick.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\toggle.cpp"
|
RelativePath=".\toggle.cpp"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -879,6 +879,10 @@
|
|||||||
RelativePath=".\textctrl.cpp"
|
RelativePath=".\textctrl.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\timepick.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\toggle.cpp"
|
RelativePath=".\toggle.cpp"
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user