@@ -7,17 +7,7 @@ import (
7
7
"unsafe"
8
8
)
9
9
10
- // #include <stdlib.h>
11
- // #include <time.h>
12
- // #include "ui.h"
13
- // #include "util.h"
14
- // static inline struct tm *allocTimeStruct(void)
15
- // {
16
- // return (struct tm *) pkguiAlloc(sizeof (struct tm));
17
- // }
18
- // extern void doDateTimePickerOnChanged(uiDateTimePicker *, void *);
19
- // // see golang/go#19835
20
- // typedef void (*dtpCallback)(uiDateTimePicker *, void *);
10
+ // #include "pkgui.h"
21
11
import "C"
22
12
23
13
// DateTimePicker is a Control that represents a field where the user
@@ -33,7 +23,7 @@ func finishNewDateTimePicker(dd *C.uiDateTimePicker) *DateTimePicker {
33
23
34
24
d .d = dd
35
25
36
- C .uiDateTimePickerOnChanged (d .d , C . dtpCallback ( C . doDateTimePickerOnChanged ), nil )
26
+ C .pkguiDateTimePickerOnChanged (d .d )
37
27
38
28
d .ControlBase = NewControlBase (d , uintptr (unsafe .Pointer (d .d )))
39
29
return d
@@ -60,8 +50,8 @@ func NewTimePicker() *DateTimePicker {
60
50
// Time returns the time stored in the uiDateTimePicker.
61
51
// The time is assumed to be local time.
62
52
func (d * DateTimePicker ) Time () time.Time {
63
- tm := C .allocTimeStruct ()
64
- defer C .free ( unsafe . Pointer ( tm ) )
53
+ tm := C .pkguiAllocTime ()
54
+ defer C .pkguiFreeTime ( tm )
65
55
C .uiDateTimePickerTime (d .d , tm )
66
56
return time .Date (
67
57
int (tm .tm_year + 1900 ),
@@ -77,8 +67,8 @@ func (d *DateTimePicker) Time() time.Time {
77
67
// t's components are read as-is via t.Date() and t.Clock();
78
68
// no time zone manipulations are done.
79
69
func (d * DateTimePicker ) SetTime (t time.Time ) {
80
- tm := C .allocTimeStruct ()
81
- defer C .free ( unsafe . Pointer ( tm ) )
70
+ tm := C .pkguiAllocTime ()
71
+ defer C .pkguiFreeTime ( tm )
82
72
year , mon , mday := t .Date ()
83
73
tm .tm_year = C .int (year - 1900 )
84
74
tm .tm_mon = C .int (mon - 1 )
@@ -98,8 +88,8 @@ func (d *DateTimePicker) OnChanged(f func(*DateTimePicker)) {
98
88
d .onChanged = f
99
89
}
100
90
101
- //export doDateTimePickerOnChanged
102
- func doDateTimePickerOnChanged (dd * C.uiDateTimePicker , data unsafe.Pointer ) {
91
+ //export pkguiDoDateTimePickerOnChanged
92
+ func pkguiDoDateTimePickerOnChanged (dd * C.uiDateTimePicker , data unsafe.Pointer ) {
103
93
d := ControlFromLibui (uintptr (unsafe .Pointer (dd ))).(* DateTimePicker )
104
94
if d .onChanged != nil {
105
95
d .onChanged (d )
0 commit comments