uiDateTimePicker Emit proper GTK+ signal in dateTimePickerWidget
This commit is contained in:
parent
0baf2d2eb6
commit
5ec5ebdfae
|
@ -38,7 +38,6 @@ struct dateTimePickerWidget {
|
||||||
|
|
||||||
GdkDevice *keyboard;
|
GdkDevice *keyboard;
|
||||||
GdkDevice *mouse;
|
GdkDevice *mouse;
|
||||||
uiDateTimePicker *control;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct dateTimePickerWidgetClass {
|
struct dateTimePickerWidgetClass {
|
||||||
|
@ -120,12 +119,11 @@ static void setLabel(dateTimePickerWidget *d)
|
||||||
g_date_time_unref(dt);
|
g_date_time_unref(dt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int changedSignal;
|
||||||
|
|
||||||
static void dateTimeChanged(dateTimePickerWidget *d)
|
static void dateTimeChanged(dateTimePickerWidget *d)
|
||||||
{
|
{
|
||||||
uiDateTimePicker *c;
|
g_signal_emit(d, changedSignal, 0);
|
||||||
|
|
||||||
c = d->control;
|
|
||||||
(*(c->onChanged))(c, c->onChangedData);
|
|
||||||
setLabel(d);
|
setLabel(d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -553,6 +551,13 @@ static void dateTimePickerWidget_class_init(dateTimePickerWidgetClass *class)
|
||||||
{
|
{
|
||||||
G_OBJECT_CLASS(class)->dispose = dateTimePickerWidget_dispose;
|
G_OBJECT_CLASS(class)->dispose = dateTimePickerWidget_dispose;
|
||||||
G_OBJECT_CLASS(class)->finalize = dateTimePickerWidget_finalize;
|
G_OBJECT_CLASS(class)->finalize = dateTimePickerWidget_finalize;
|
||||||
|
|
||||||
|
changedSignal = g_signal_new("changed",
|
||||||
|
G_TYPE_FROM_CLASS(class),
|
||||||
|
G_SIGNAL_RUN_LAST,
|
||||||
|
0,
|
||||||
|
NULL, NULL, NULL,
|
||||||
|
G_TYPE_NONE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void defaultOnChanged(uiDateTimePicker *d, void *data)
|
static void defaultOnChanged(uiDateTimePicker *d, void *data)
|
||||||
|
@ -592,6 +597,14 @@ void uiDateTimePickerOnChanged(uiDateTimePicker *d, void (*f)(uiDateTimePicker *
|
||||||
d->onChangedData = data;
|
d->onChangedData = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void onChanged(dateTimePickerWidget *d, gpointer data)
|
||||||
|
{
|
||||||
|
uiDateTimePicker *c;
|
||||||
|
|
||||||
|
c = uiDateTimePicker(data);
|
||||||
|
(*(c->onChanged))(c, c->onChangedData);
|
||||||
|
}
|
||||||
|
|
||||||
static GtkWidget *newDTP(void)
|
static GtkWidget *newDTP(void)
|
||||||
{
|
{
|
||||||
GtkWidget *w;
|
GtkWidget *w;
|
||||||
|
@ -629,7 +642,7 @@ uiDateTimePicker *finishNewDateTimePicker(GtkWidget *(*fn)(void))
|
||||||
|
|
||||||
d->widget = (*fn)();
|
d->widget = (*fn)();
|
||||||
d->d = dateTimePickerWidget(d->widget);
|
d->d = dateTimePickerWidget(d->widget);
|
||||||
d->d->control = d;
|
g_signal_connect(d->widget, "changed", G_CALLBACK(onChanged), d);
|
||||||
uiDateTimePickerOnChanged(d, defaultOnChanged, NULL);
|
uiDateTimePickerOnChanged(d, defaultOnChanged, NULL);
|
||||||
|
|
||||||
return d;
|
return d;
|
||||||
|
|
Loading…
Reference in New Issue