Skip to content

Grid issues on Cocoa  #435

@mischnic

Description

@mischnic

There seem to be some bugs regarding uiGrid on macOS

Cocoa:
bildschirmfoto 2018-11-01 um 17 28 28
GTK:
bildschirmfoto 2018-11-01 um 17 28 22

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "ui.h"

int onClosing(uiWindow *w, void *data)
{
	uiQuit();
	return 1;
}

int main(void)
{
	uiInitOptions o;
	const char *err;
	uiWindow *w;

	memset(&o, 0, sizeof (uiInitOptions));
	err = uiInit(&o);
	if (err != NULL) {
		fprintf(stderr, "error initializing ui: %s\n", err);
		uiFreeInitError(err);
		return 1;
	}

	w = uiNewWindow("Grid Test", 500, 400, 0);
	uiWindowSetMargined(w, 1);

	uiGrid *grid = uiNewGrid();
	uiGridSetPadded(grid, 1);
	uiWindowSetChild(w, uiControl(grid));

	uiEntry *name = uiNewEntry();
	uiEntry *surname = uiNewEntry();
	uiSlider *age = uiNewSlider(0, 100);
	uiMultilineEntry *data = uiNewMultilineEntry();
	uiMultilineEntrySetText(data, "This is a text.This is a text.\nThis is a text.\nThis is a text.This is a text.\nThis is a text.\n");

	uiGridAppend(grid, uiControl(uiNewLabel("name")),    0, 0, 2, 1, 0, uiAlignFill, 0, uiAlignStart);
	uiGridAppend(grid, uiControl(uiNewLabel("surname")), 0, 1, 2, 1, 0, uiAlignFill, 0, uiAlignStart);
	uiGridAppend(grid, uiControl(uiNewLabel("age")),     0, 2, 2, 1, 0, uiAlignFill, 0, uiAlignStart);

	uiGridAppend(grid, uiControl(name),     2, 0, 2, 1, 0, uiAlignFill, 0, uiAlignStart);
	uiGridAppend(grid, uiControl(surname),  2, 1, 2, 1, 0, uiAlignFill, 0, uiAlignStart);
	uiGridAppend(grid, uiControl(age),      2, 2, 2, 1, 0, uiAlignFill, 0, uiAlignStart);

	uiGridAppend(grid, uiControl(data),     4, 0, 1, 3, 1, uiAlignFill, 1, uiAlignFill);

	uiWindowOnClosing(w, onClosing, NULL);
	uiControlShow(uiControl(w));
	uiMain();
	return 0;
}

kusti8/proton-native#55
parro-it/libui-node#63

Grid does work on macOS; it's just insanely buggy because either Auto Layout is hard or my attempt at making a grid with it is poor (probably the latter), so it only works under specific circumstances... This is an active problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions