diff --git a/unix/button.c b/unix/button.c index 2365f046..b68aafc7 100644 --- a/unix/button.c +++ b/unix/button.c @@ -9,9 +9,7 @@ struct uiButton { void *onClickedData; }; -uiUnixDefineControl( - uiButton // type name -) +uiUnixControlAllDefaults(uiButton) static void onClicked(GtkButton *button, gpointer data) { @@ -47,7 +45,7 @@ uiButton *uiNewButton(const char *text) { uiButton *b; - b = (uiButton *) uiNewControl(uiButton); + uiUnixNewControl(uiButton, b); b->widget = gtk_button_new_with_label(text); b->button = GTK_BUTTON(b->widget); @@ -55,7 +53,5 @@ uiButton *uiNewButton(const char *text) g_signal_connect(b->widget, "clicked", G_CALLBACK(onClicked), b); uiButtonOnClicked(b, defaultOnClicked, NULL); - uiUnixFinishNewControl(b, uiButton); - return b; } diff --git a/unix/checkbox.c b/unix/checkbox.c index 4ff23592..57898856 100644 --- a/unix/checkbox.c +++ b/unix/checkbox.c @@ -12,9 +12,7 @@ struct uiCheckbox { gulong onToggledSignal; }; -uiUnixDefineControl( - uiCheckbox // type name -) +uiUnixControlAllDefaults(uiCheckbox) static void onToggled(GtkToggleButton *b, gpointer data) { @@ -68,7 +66,7 @@ uiCheckbox *uiNewCheckbox(const char *text) { uiCheckbox *c; - c = (uiCheckbox *) uiNewControl(uiCheckbox); + uiUnixNewControl(uiCheckbox, c); c->widget = gtk_check_button_new_with_label(text); c->button = GTK_BUTTON(c->widget); @@ -78,7 +76,5 @@ uiCheckbox *uiNewCheckbox(const char *text) c->onToggledSignal = g_signal_connect(c->widget, "toggled", G_CALLBACK(onToggled), c); uiCheckboxOnToggled(c, defaultOnToggled, NULL); - uiUnixFinishNewControl(c, uiCheckbox); - return c; } diff --git a/unix/combobox.c b/unix/combobox.c index 9826692b..c50b161e 100644 --- a/unix/combobox.c +++ b/unix/combobox.c @@ -11,9 +11,7 @@ struct uiCombobox { gulong onSelectedSignal; }; -uiUnixDefineControl( - uiCombobox // type name -) +uiUnixControlAllDefaults(uiCombobox) // TODO this is triggered when editing an editable combobox's text static void onChanged(GtkComboBox *cbox, gpointer data) @@ -56,7 +54,7 @@ static uiCombobox *finishNewCombobox(GtkWidget *(*newfunc)(void)) { uiCombobox *c; - c = (uiCombobox *) uiNewControl(uiCombobox); + uiUnixNewControl(uiCombobox, c); c->widget = (*newfunc)(); c->combobox = GTK_COMBO_BOX(c->widget); @@ -65,8 +63,6 @@ static uiCombobox *finishNewCombobox(GtkWidget *(*newfunc)(void)) c->onSelectedSignal = g_signal_connect(c->widget, "changed", G_CALLBACK(onChanged), c); uiComboboxOnSelected(c, defaultOnSelected, NULL); - uiUnixFinishNewControl(c, uiCombobox); - return c; } diff --git a/unix/datetimepicker.c b/unix/datetimepicker.c index c2fa4533..18b15e28 100644 --- a/unix/datetimepicker.c +++ b/unix/datetimepicker.c @@ -6,9 +6,7 @@ struct uiDateTimePicker { GtkWidget *widget; }; -uiUnixDefineControl( - uiDateTimePicker // type name -) +uiUnixControlAllDefaults(uiDateTimePicker) // TODO typedef int OSTHING; @@ -22,12 +20,10 @@ uiDateTimePicker *finishNewDateTimePicker(OSTHING OSARG) { uiDateTimePicker *d; - d = (uiDateTimePicker *) uiNewControl(uiDateTimePicker); + uiUnixNewControl(uiDateTimePicker, d); d->widget = gtk_label_new("TODO uiDateTimePicker not implemented"); - uiUnixFinishNewControl(d, uiDateTimePicker); - return d; } diff --git a/unix/entry.c b/unix/entry.c index 8dc2692c..a71a47b5 100644 --- a/unix/entry.c +++ b/unix/entry.c @@ -11,9 +11,7 @@ struct uiEntry { gulong onChangedSignal; }; -uiUnixDefineControl( - uiEntry // type name -) +uiUnixControlAllDefaults(uiEntry) static void onChanged(GtkEditable *editable, gpointer data) { @@ -66,7 +64,7 @@ uiEntry *uiNewEntry(void) { uiEntry *e; - e = (uiEntry *) uiNewControl(uiEntry); + uiUnixNewControl(uiEntry, e); e->widget = gtk_entry_new(); e->entry = GTK_ENTRY(e->widget); @@ -75,7 +73,5 @@ uiEntry *uiNewEntry(void) e->onChangedSignal = g_signal_connect(e->widget, "changed", G_CALLBACK(onChanged), e); uiEntryOnChanged(e, defaultOnChanged, NULL); - uiUnixFinishNewControl(e, uiEntry); - return e; } diff --git a/unix/fontbutton.c b/unix/fontbutton.c index 896fcd81..f8047e08 100644 --- a/unix/fontbutton.c +++ b/unix/fontbutton.c @@ -11,9 +11,7 @@ struct uiFontButton { void *onChangedData; }; -uiUnixDefineControl( - uiFontButton // type name -) +uiUnixControlAllDefaults(uiFontButton) // TODO NOTE no need to inhibit the signal; font-set is documented as only being sent when the user changes the font static void onFontSet(GtkFontButton *button, gpointer data) @@ -50,7 +48,7 @@ uiFontButton *uiNewFontButton(void) { uiFontButton *b; - b = (uiFontButton *) uiNewControl(uiFontButton); + uiUnixNewControl(uiFontButton, b); b->widget = gtk_font_button_new(); b->button = GTK_BUTTON(b->widget); @@ -68,7 +66,5 @@ uiFontButton *uiNewFontButton(void) g_signal_connect(b->widget, "font-set", G_CALLBACK(onFontSet), b); uiFontButtonOnChanged(b, defaultOnChanged, NULL); - uiUnixFinishNewControl(b, uiFontButton); - return b; } diff --git a/unix/label.c b/unix/label.c index e2f69a45..93d1ee43 100644 --- a/unix/label.c +++ b/unix/label.c @@ -8,9 +8,7 @@ struct uiLabel { GtkLabel *label; }; -uiUnixDefineControl( - uiLabel // type name -) +uiUnixControlAllDefaults(uiLabel) char *uiLabelText(uiLabel *l) { @@ -28,7 +26,7 @@ uiLabel *uiNewLabel(const char *text) { uiLabel *l; - l = (uiLabel *) uiNewControl(uiLabel); + uiUnixNewControl(uiLabel, l); l->widget = gtk_label_new(text); l->misc = GTK_MISC(l->widget); @@ -36,7 +34,5 @@ uiLabel *uiNewLabel(const char *text) gtk_misc_set_alignment(l->misc, 0, 0); - uiUnixFinishNewControl(l, uiLabel); - return l; } diff --git a/unix/multilineentry.c b/unix/multilineentry.c index 08bfe1fc..bcd56a74 100644 --- a/unix/multilineentry.c +++ b/unix/multilineentry.c @@ -16,9 +16,7 @@ struct uiMultilineEntry { gulong onChangedSignal; }; -uiUnixDefineControl( - uiMultilineEntry // type name -) +uiUnixControlAllDefaults(uiMultilineEntry) static void onChanged(GtkTextBuffer *textbuf, gpointer data) { @@ -87,7 +85,7 @@ uiMultilineEntry *uiNewMultilineEntry(void) { uiMultilineEntry *e; - e = (uiMultilineEntry *) uiNewControl(uiMultilineEntry); + uiUnixNewControl(uiMultilineEntry, e); e->widget = gtk_scrolled_window_new(NULL, NULL); e->scontainer = GTK_CONTAINER(e->widget); @@ -110,7 +108,5 @@ uiMultilineEntry *uiNewMultilineEntry(void) e->onChangedSignal = g_signal_connect(e->textbuf, "changed", G_CALLBACK(onChanged), e); uiMultilineEntryOnChanged(e, defaultOnChanged, NULL); - uiUnixFinishNewControl(e, uiMultilineEntry); - return e; } diff --git a/unix/progressbar.c b/unix/progressbar.c index 5767476a..587bc8ad 100644 --- a/unix/progressbar.c +++ b/unix/progressbar.c @@ -7,9 +7,7 @@ struct uiProgressBar { GtkProgressBar *pbar; }; -uiUnixDefineControl( - uiProgressBar // type name -) +uiUnixControlAllDefaults(uiProgressBar) void uiProgressBarSetValue(uiProgressBar *p, int value) { @@ -22,12 +20,10 @@ uiProgressBar *uiNewProgressBar(void) { uiProgressBar *p; - p = (uiProgressBar *) uiNewControl(uiProgressBar); + uiUnixNewControl(uiProgressBar, p); p->widget = gtk_progress_bar_new(); p->pbar = GTK_PROGRESS_BAR(p->widget); - uiUnixFinishNewControl(p, uiProgressBar); - return p; } diff --git a/unix/radiobuttons.c b/unix/radiobuttons.c index af1436de..7967d9a7 100644 --- a/unix/radiobuttons.c +++ b/unix/radiobuttons.c @@ -11,14 +11,9 @@ struct uiRadioButtons { GPtrArray *buttons; }; -static void onDestroy(uiRadioButtons *); +uiUnixControlAllDefaultsExceptDestroy(uiRadioButtons) -uiUnixDefineControlWithOnDestroy( - uiRadioButtons, // type name - onDestroy(this); // on destroy -) - -static void onDestroy(uiRadioButtons *r) +static void uiRadioButtonsDestroy(uiControl *c) { // TODO } @@ -42,7 +37,7 @@ uiRadioButtons *uiNewRadioButtons(void) { uiRadioButtons *r; - r = (uiRadioButtons *) uiNewControl(uiRadioButtons); + uiUnixNewControl(uiRadioButtons, r); r->widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); r->container = GTK_CONTAINER(r->widget); @@ -50,7 +45,5 @@ uiRadioButtons *uiNewRadioButtons(void) r->buttons = g_ptr_array_new(); - uiUnixFinishNewControl(r, uiRadioButtons); - return r; } diff --git a/unix/separator.c b/unix/separator.c index 72af9393..63217b72 100644 --- a/unix/separator.c +++ b/unix/separator.c @@ -7,20 +7,16 @@ struct uiSeparator { GtkSeparator *separator; }; -uiUnixDefineControl( - uiSeparator // type name -) +uiUnixControlAllDefaults(uiSeparator) uiSeparator *uiNewHorizontalSeparator(void) { uiSeparator *s; - s = (uiSeparator *) uiNewControl(uiSeparator); + uiUnixNewControl(uiSeparator, s); s->widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); s->separator = GTK_SEPARATOR(s->widget); - uiUnixFinishNewControl(s, uiSeparator); - return s; } diff --git a/unix/slider.c b/unix/slider.c index 8b2f39ba..81b261d8 100644 --- a/unix/slider.c +++ b/unix/slider.c @@ -11,9 +11,7 @@ struct uiSlider { gulong onChangedSignal; }; -uiUnixDefineControl( - uiSlider // type name -) +uiUnixControlAllDefaults(uiSlider) static void onChanged(GtkRange *range, gpointer data) { @@ -50,7 +48,7 @@ uiSlider *uiNewSlider(intmax_t min, intmax_t max) { uiSlider *s; - s = (uiSlider *) uiNewControl(uiSlider); + uiUnixNewControl(uiSlider, s); s->widget = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, min, max, 1); s->range = GTK_RANGE(s->widget); @@ -62,7 +60,5 @@ uiSlider *uiNewSlider(intmax_t min, intmax_t max) s->onChangedSignal = g_signal_connect(s->scale, "value-changed", G_CALLBACK(onChanged), s); uiSliderOnChanged(s, defaultOnChanged, NULL); - uiUnixFinishNewControl(s, uiSlider); - return s; } diff --git a/unix/spinbox.c b/unix/spinbox.c index 13d6082f..0f1a4f5e 100644 --- a/unix/spinbox.c +++ b/unix/spinbox.c @@ -11,9 +11,7 @@ struct uiSpinbox { gulong onChangedSignal; }; -uiUnixDefineControl( - uiSpinbox // type name -) +uiUnixControlAllDefaults(uiSpinbox) static void onChanged(GtkSpinButton *sb, gpointer data) { @@ -54,7 +52,7 @@ uiSpinbox *uiNewSpinbox(intmax_t min, intmax_t max) if (min >= max) complain("error: min >= max in uiNewSpinbox()"); - s = (uiSpinbox *) uiNewControl(uiSpinbox); + uiUnixNewControl(uiSpinbox, s); s->widget = gtk_spin_button_new_with_range(min, max, 1); s->entry = GTK_ENTRY(s->widget); @@ -66,7 +64,5 @@ uiSpinbox *uiNewSpinbox(intmax_t min, intmax_t max) s->onChangedSignal = g_signal_connect(s->spinButton, "value-changed", G_CALLBACK(onChanged), s); uiSpinboxOnChanged(s, defaultOnChanged, NULL); - uiUnixFinishNewControl(s, uiSpinbox); - return s; }