Did the rest of the object changes on GTK+.

This commit is contained in:
Pietro Gagliardi 2016-04-24 16:59:46 -04:00
parent fa4632d101
commit 96e8f1f8ea
21 changed files with 30 additions and 32 deletions

View File

@ -37,6 +37,10 @@ struct uiUnixControl {
#define uiUnixDefineControl(type) \
uiUnixDefineControlWithOnDestroy(type, (void) this;)
// TODO document
#define uiNewControl(type) uiUnixNewControl(sizeof (type), type ## Signature, #type)
_UI_EXTERN uiUnixControl *uiUnixNewControl(size_t n, uint32_t typesig, const char *typename);
#define uiUnixFinishNewControl(variable, type) \
uiControl(variable)->CommitDestroy = _ ## type ## CommitDestroy; \
uiControl(variable)->Handle = _ ## type ## Handle; \

View File

@ -510,7 +510,7 @@ uiArea *uiNewArea(uiAreaHandler *ah)
{
uiArea *a;
a = (uiArea *) uiNewControl(uiAreaType());
a = (uiArea *) uiNewControl(uiArea);
a->ah = ah;
a->scrolling = FALSE;
@ -532,7 +532,7 @@ uiArea *uiNewScrollingArea(uiAreaHandler *ah, intmax_t width, intmax_t height)
{
uiArea *a;
a = (uiArea *) uiNewControl(uiAreaType());
a = (uiArea *) uiNewControl(uiArea);
a->ah = ah;
a->scrolling = TRUE;

View File

@ -110,7 +110,7 @@ static uiBox *finishNewBox(GtkOrientation orientation)
{
uiBox *b;
b = (uiBox *) uiNewControl(uiBoxType());
b = (uiBox *) uiNewControl(uiBox);
b->widget = gtk_box_new(orientation, 0);
b->container = GTK_CONTAINER(b->widget);

View File

@ -47,7 +47,7 @@ uiButton *uiNewButton(const char *text)
{
uiButton *b;
b = (uiButton *) uiNewControl(uiButtonType());
b = (uiButton *) uiNewControl(uiButton);
b->widget = gtk_button_new_with_label(text);
b->button = GTK_BUTTON(b->widget);

View File

@ -68,7 +68,7 @@ uiCheckbox *uiNewCheckbox(const char *text)
{
uiCheckbox *c;
c = (uiCheckbox *) uiNewControl(uiCheckboxType());
c = (uiCheckbox *) uiNewControl(uiCheckbox);
c->widget = gtk_check_button_new_with_label(text);
c->button = GTK_BUTTON(c->widget);

View File

@ -56,7 +56,7 @@ static uiCombobox *finishNewCombobox(GtkWidget *(*newfunc)(void))
{
uiCombobox *c;
c = (uiCombobox *) uiNewControl(uiComboboxType());
c = (uiCombobox *) uiNewControl(uiCombobox);
c->widget = (*newfunc)();
c->combobox = GTK_COMBO_BOX(c->widget);

View File

@ -1,15 +1,6 @@
// 16 august 2015
#include "uipriv_unix.h"
static uintmax_t type_uiUnixControl = 0;
uintmax_t uiUnixControlType(void)
{
if (type_uiUnixControl == 0)
type_uiUnixControl = uiRegisterType("uiUnixControl", uiControlType(), sizeof (uiUnixControl));
return type_uiUnixControl;
}
static void defaultCommitShow(uiControl *c)
{
gtk_widget_show(GTK_WIDGET(uiControlHandle(c)));
@ -38,3 +29,10 @@ void uiUnixFinishControl(uiControl *c)
c->CommitShow = defaultCommitShow;
c->CommitHide = defaultCommitHide;
}
#define uiUnixControlSignature 0x556E6978
uiUnixControl *uiUnixNewControl(size_t n, uint32_t typesig, const char *typename)
{
return uiUnixControl(newControl(n, uiUnixControlSignature, typesig, typename));
}

View File

@ -22,7 +22,7 @@ uiDateTimePicker *finishNewDateTimePicker(OSTHING OSARG)
{
uiDateTimePicker *d;
d = (uiDateTimePicker *) uiNewControl(uiDateTimePickerType());
d = (uiDateTimePicker *) uiNewControl(uiDateTimePicker);
d->widget = gtk_label_new("TODO uiDateTimePicker not implemented");

View File

@ -66,7 +66,7 @@ uiEntry *uiNewEntry(void)
{
uiEntry *e;
e = (uiEntry *) uiNewControl(uiEntryType());
e = (uiEntry *) uiNewControl(uiEntry);
e->widget = gtk_entry_new();
e->entry = GTK_ENTRY(e->widget);

View File

@ -50,7 +50,7 @@ uiFontButton *uiNewFontButton(void)
{
uiFontButton *b;
b = (uiFontButton *) uiNewControl(uiFontButtonType());
b = (uiFontButton *) uiNewControl(uiFontButton);
b->widget = gtk_font_button_new();
b->button = GTK_BUTTON(b->widget);

View File

@ -78,7 +78,7 @@ uiGroup *uiNewGroup(const char *text)
PangoAttribute *bold;
PangoAttrList *boldlist;
g = (uiGroup *) uiNewControl(uiGroupType());
g = (uiGroup *) uiNewControl(uiGroup);
g->widget = gtk_frame_new(text);
g->container = GTK_CONTAINER(g->widget);

View File

@ -28,7 +28,7 @@ uiLabel *uiNewLabel(const char *text)
{
uiLabel *l;
l = (uiLabel *) uiNewControl(uiLabelType());
l = (uiLabel *) uiNewControl(uiLabel);
l->widget = gtk_label_new(text);
l->misc = GTK_MISC(l->widget);

View File

@ -8,13 +8,11 @@ static gboolean hasPreferences = FALSE;
static gboolean hasAbout = FALSE;
struct uiMenu {
uiTyped t;
char *name;
GArray *items; // []*uiMenuItem
};
struct uiMenuItem {
uiTyped t;
char *name;
int type;
void (*onClicked)(uiMenuItem *, uiWindow *, void *);
@ -140,7 +138,6 @@ static uiMenuItem *newItem(uiMenu *m, int type, const char *name)
complain("attempt to create a new menu item after menus have been finalized");
item = uiNew(uiMenuItem);
uiTyped(item)->Type = uiMenuItemType();
g_array_append_val(m->items, item);
@ -238,7 +235,6 @@ uiMenu *uiNewMenu(const char *name)
menus = g_array_new(FALSE, TRUE, sizeof (uiMenu *));
m = uiNew(uiMenu);
uiTyped(m)->Type = uiMenuType();
g_array_append_val(menus, m);

View File

@ -87,7 +87,7 @@ uiMultilineEntry *uiNewMultilineEntry(void)
{
uiMultilineEntry *e;
e = (uiMultilineEntry *) uiNewControl(uiMultilineEntryType());
e = (uiMultilineEntry *) uiNewControl(uiMultilineEntry);
e->widget = gtk_scrolled_window_new(NULL, NULL);
e->scontainer = GTK_CONTAINER(e->widget);

View File

@ -22,7 +22,7 @@ uiProgressBar *uiNewProgressBar(void)
{
uiProgressBar *p;
p = (uiProgressBar *) uiNewControl(uiProgressBarType());
p = (uiProgressBar *) uiNewControl(uiProgressBar);
p->widget = gtk_progress_bar_new();
p->pbar = GTK_PROGRESS_BAR(p->widget);

View File

@ -42,7 +42,7 @@ uiRadioButtons *uiNewRadioButtons(void)
{
uiRadioButtons *r;
r = (uiRadioButtons *) uiNewControl(uiRadioButtonsType());
r = (uiRadioButtons *) uiNewControl(uiRadioButtons);
r->widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
r->container = GTK_CONTAINER(r->widget);

View File

@ -15,7 +15,7 @@ uiSeparator *uiNewHorizontalSeparator(void)
{
uiSeparator *s;
s = (uiSeparator *) uiNewControl(uiSeparatorType());
s = (uiSeparator *) uiNewControl(uiSeparator);
s->widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL);
s->separator = GTK_SEPARATOR(s->widget);

View File

@ -50,7 +50,7 @@ uiSlider *uiNewSlider(intmax_t min, intmax_t max)
{
uiSlider *s;
s = (uiSlider *) uiNewControl(uiSliderType());
s = (uiSlider *) uiNewControl(uiSlider);
s->widget = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, min, max, 1);
s->range = GTK_RANGE(s->widget);

View File

@ -54,7 +54,7 @@ uiSpinbox *uiNewSpinbox(intmax_t min, intmax_t max)
if (min >= max)
complain("error: min >= max in uiNewSpinbox()");
s = (uiSpinbox *) uiNewControl(uiSpinboxType());
s = (uiSpinbox *) uiNewControl(uiSpinbox);
s->widget = gtk_spin_button_new_with_range(min, max, 1);
s->entry = GTK_ENTRY(s->widget);

View File

@ -86,7 +86,7 @@ uiTab *uiNewTab(void)
{
uiTab *t;
t = (uiTab *) uiNewControl(uiTabType());
t = (uiTab *) uiNewControl(uiTab);
t->widget = gtk_notebook_new();
t->container = GTK_CONTAINER(t->widget);

View File

@ -121,7 +121,7 @@ uiWindow *uiNewWindow(const char *title, int width, int height, int hasMenubar)
{
uiWindow *w;
w = (uiWindow *) uiNewControl(uiWindowType());
w = (uiWindow *) uiNewControl(uiWindow);
w->widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
w->container = GTK_CONTAINER(w->widget);