Пример #1
0
void uiWindowsControlContinueMinimumSizeChanged(uiWindowsControl *c)
{
	uiControl *parent;

	parent = uiControlParent(uiControl(c));
	if (parent != NULL)
		uiWindowsControlMinimumSizeChanged(uiWindowsControl(parent));
}
Пример #2
0
int uiControlEnabledToUser(uiControl *c)
{
	while (c != NULL) {
		if (!uiControlEnabled(c))
			return 0;
		c = uiControlParent(c);
	}
	return 1;
}
Пример #3
0
void uiWindowsRearrangeControlIDsZOrder(uiControl *c)
{
	uiWindowsControl *wc;

	c = uiControlParent(c);
	if (c == NULL)
		return;
	wc = uiWindowsControl(c);
	(*(wc->ArrangeChildrenControlIDsZOrder))(wc);
}
Пример #4
0
static Janet janet_ui_parent(int32_t argc, Janet *argv) {
    uiControl *c, *d;
    janet_arity(argc, 1, 2);
    c = janet_getcontrol(argv, 0);
    if (argc == 2) {
        d = janet_getcontrol(argv, 1);
        uiControlSetParent(c, d);
        return argv[0];
    }
    return janet_ui_handle_to_control(uiControlParent(c), &control_td);
}
Пример #5
0
void uiControlVerifySetParent(uiControl *c, uiControl *parent)
{
	uiControl *curParent;

	if (uiControlToplevel(c))
		userbug("You cannot give a toplevel uiControl a parent. (control: %p)", c);
	curParent = uiControlParent(c);
	if (parent != NULL && curParent != NULL)
		userbug("You cannot give a uiControl a parent while it already has one. (control: %p; current parent: %p; new parent: %p)", c, curParent, parent);
	if (parent == NULL && curParent == NULL)
		implbug("attempt to double unparent uiControl %p", c);
}
Пример #6
0
void uiControlVerifySetParent(uiControl *c, uiControl *parent)
{
	uiControl *curParent;

	if (uiControlToplevel(c))
		complain("cannot set a parent on a toplevel (uiWindow)");
	curParent = uiControlParent(c);
	if (parent != NULL && curParent != NULL)
		complain("attempt to reparent uiControl %p (has parent %p, attempt to give parent %p)", c, curParent, parent);
	if (parent == NULL && curParent == NULL)
		// TODO implbug()
		complain("attempt to double unparent uiControl %p — likely an implementation bug ", c);
}
Пример #7
0
void uiControlVerifyDestroy(uiControl *c)
{
	if (uiControlParent(c) != NULL)
		complain("attempt to destroy uiControl %p while it has a parent", c);
}
Пример #8
0
void uiFreeControl(uiControl *c)
{
	if (uiControlParent(c) != NULL)
		userbug("You cannot destroy a uiControl while it still has a parent. (control: %p)", c);
	uiFree(c);
}