Started uiWindow positioning stuff.

This commit is contained in:
Pietro Gagliardi 2016-06-15 13:21:07 -04:00
parent efe207ca37
commit 4465d37d2e
5 changed files with 63 additions and 0 deletions

View File

@ -25,6 +25,7 @@ _add_exec(tester
page12.c
page13.c
page14.c
page15.c
spaced.c
${_TEST_RESOURCES_RC}
)

View File

@ -49,6 +49,7 @@ int main(int argc, char *argv[])
uiBox *page6, *page7, *page8, *page9, *page10;
uiBox *page11, *page12, *page13;
uiTab *page14;
uiBox *page15;
uiTab *outerTab;
uiTab *innerTab;
int nomenus = 0;
@ -148,6 +149,9 @@ int main(int argc, char *argv[])
page14 = makePage14();
uiTabAppend(innerTab, "Page 14", uiControl(page14));
page15 = makePage15(w);
uiTabAppend(innerTab, "Page 15", uiControl(page15));
if (startspaced)
setSpaced(1);

52
test/page15.c Normal file
View File

@ -0,0 +1,52 @@
// 15 june 2016
#include "test.h"
void moveX(uiSpinbox *s, void *data)
{
uiWindow *w = uiWindow(data);
int x, y;
uiWindowPosition(w, &x, &y);
x = uiSpinboxValue(s);
uiWindowSetPosition(w, x, y);
}
void moveX(uiSpinbox *s, void *data)
{
uiWindow *w = uiWindow(data);
int x, y;
uiWindowPosition(w, &x, &y);
y = uiSpinboxValue(s);
uiWindowSetPosition(w, x, y);
}
// TODO onMove
uiBox *makePage15(uiWindow *w)
{
uiBox *page15;
uiBox *hbox;
uiSpinbox *x;
uiSpinbox *y;
int curx, cury;
page15 = newVerticalBox();
hbox = newHorizontalBox();
uiBoxAppend(page15, uiControl(hbox), 1);
uiBoxAppend(hbox, uiControl(uiNewLabel("Position")), 0);
x = uiNewSpinbox(INT_MIN, INT_MAX);
uiBoxAppend(hbox, uiControl(x), 1);
y = uiNewSpinbox(INT_MIN, INT_MAX);
uiBoxAppend(hbox, uiControl(y), 1);
uiSpinboxOnChanged(x, moveX, w);
uiSpinboxOnChanged(y, moveY, w);
uiWindowPosition(w, &curX, &curY);
uiSpinboxSetValue(x, curX);
uiSpinboxSetValue(y, curY);
return page15;
}

View File

@ -5,6 +5,7 @@
#include <stdarg.h>
#include <string.h>
#include <math.h>
#include <limits.h>
#include "../ui.h"
// main.c
@ -85,3 +86,6 @@ extern uiBox *makePage13(void);
// page14.c
extern uiTab *makePage14(void);
// page15.c
extern uiBox *makePage15(uiWindow *);

2
ui.h
View File

@ -99,6 +99,8 @@ typedef struct uiWindow uiWindow;
#define uiWindow(this) ((uiWindow *) (this))
_UI_EXTERN char *uiWindowTitle(uiWindow *w);
_UI_EXTERN void uiWindowSetTitle(uiWindow *w, const char *title);
_UI_EXTERN void uiWindowPosition(uiWindow *w, int *x, int *y);
_UI_EXTERN void uiWindowSetPosition(uiWindow *w, int x, int y);
_UI_EXTERN void uiWindowOnClosing(uiWindow *w, int (*f)(uiWindow *w, void *data), void *data);
_UI_EXTERN void uiWindowSetChild(uiWindow *w, uiControl *child);
_UI_EXTERN int uiWindowMargined(uiWindow *w);