From 2ca99e3ffe7eabfba687e05730960e36d9b80c58 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Sat, 27 Jun 2015 19:57:10 -0400 Subject: [PATCH] Finished the control stubbing. Everything (that is expected to work) works (so far)! --- redo/unix/combobox.c | 9 +++++++-- redo/unix/datetimepicker.c | 3 ++- redo/unix/radiobuttons.c | 8 +++++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/redo/unix/combobox.c b/redo/unix/combobox.c index f08a6bec..14a32e13 100644 --- a/redo/unix/combobox.c +++ b/redo/unix/combobox.c @@ -4,6 +4,8 @@ struct combobox { uiCombobox c; GtkWidget *widget; + GtkComboBox *combobox; + GtkComboBoxText *comboboxText; }; uiDefineControlType(uiCombobox, uiTypeCombobox, struct combobox) @@ -22,13 +24,16 @@ static void comboboxAppend(uiCombobox *cc, const char *text) PUT_CODE_HERE; } -static uiCombobox *finishNewCombobox(GtkWidget (*newfunc)(void)) +static uiCombobox *finishNewCombobox(GtkWidget *(*newfunc)(void)) { struct combobox *c; c = (struct combobox *) uiNewControl(uiTypeCombobox()); - PUT_CODE_HERE; + c->widget = (*newfunc)(); + c->combobox = GTK_COMBO_BOX(c->widget); + c->comboboxText = GTK_COMBO_BOX_TEXT(c->widget); + uiUnixMakeSingleWidgetControl(uiControl(c), c->widget); uiControl(c)->Handle = comboboxHandle; diff --git a/redo/unix/datetimepicker.c b/redo/unix/datetimepicker.c index 96fb7dc7..e29ae5d8 100644 --- a/redo/unix/datetimepicker.c +++ b/redo/unix/datetimepicker.c @@ -29,7 +29,8 @@ uiDateTimePicker *finishNewDateTimePicker(OSTHING OSARG) d = (struct datetimepicker *) uiNewControl(uiTypeDateTimePicker()); - PUT_CODE_HERE; + d->widget = gtk_label_new("TODO uiDateTimePicker not implemented"); + uiUnixMakeSingleWidgetControl(uiControl(d), d->widget); uiControl(d)->Handle = datetimepickerHandle; diff --git a/redo/unix/radiobuttons.c b/redo/unix/radiobuttons.c index edbc5c2a..017f4ed2 100644 --- a/redo/unix/radiobuttons.c +++ b/redo/unix/radiobuttons.c @@ -1,8 +1,12 @@ // 11 june 2015 #include "uipriv_unix.h" +// on GTK+ a uiRadioButtons is a GtkBox with each of the GtkRadioButtons as children + struct radiobuttons { uiRadioButtons r; + GtkWidget *boxWidget; + GtkBox *box; }; uiDefineControlType(uiRadioButtons, uiTypeRadioButtons, struct radiobuttons) @@ -26,7 +30,9 @@ uiRadioButtons *uiNewRadioButtons(void) r = (struct radiobuttons *) uiNewControl(uiTypeRadioButtons()); - PUT_CODE_HERE; + r->boxWidget = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); + r->box = GTK_BOX(r->boxWidget); + uiUnixMakeSingleWidgetControl(uiControl(r), r->boxWidget); uiControl(r)->Handle = radiobuttonsHandle;