Skip to content

Commit 2ceeff8

Browse files
committed
exposed uiWindowShow method, darwin window setup for sane show onfocus andlabs#20
1 parent b592bab commit 2ceeff8

File tree

5 files changed

+12
-4
lines changed

5 files changed

+12
-4
lines changed

darwin/window.m

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,16 @@ static int uiWindowVisible(uiControl *c)
172172
return [w->window isVisible];
173173
}
174174

175-
static void uiWindowShow(uiControl *c)
175+
void uiWindowShow(uiControl *c)
176176
{
177177
uiWindow *w = (uiWindow *) c;
178-
178+
// TODO: D4
179+
// https://developer.apple.com/documentation/appkit/nswindow/1419208-makekeyandorderfront?language=objc
179180
[w->window makeKeyAndOrderFront:w->window];
181+
[w->window setLevel:NSFloatingWindowLevel];
182+
// [w->window orderFrontRegardless];
183+
// [w->window makeKeyAndOrderFront:nil];
184+
// [w->window orderFront: nil];
180185
}
181186

182187
static void uiWindowHide(uiControl *c)

examples/controlgallery/main.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ int main(void)
323323

324324
uiControlShow(uiControl(mainwin));
325325
uiMain();
326+
327+
uiWindowShow(uiControl(mainwin));
326328
return 0;
327329
}
328330

ui.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ _UI_EXTERN void uiWindowSetChild(uiWindow *w, uiControl *child);
131131
_UI_EXTERN int uiWindowMargined(uiWindow *w);
132132
_UI_EXTERN void uiWindowSetMargined(uiWindow *w, int margined);
133133
_UI_EXTERN uiWindow *uiNewWindow(const char *title, int width, int height, int hasMenubar);
134+
_UI_EXTERN void uiWindowShow(uiControl *c);
134135

135136
typedef struct uiButton uiButton;
136137
#define uiButton(this) ((uiButton *) (this))

unix/window.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ static int uiWindowToplevel(uiControl *c)
9898

9999
uiUnixControlDefaultVisible(uiWindow)
100100

101-
static void uiWindowShow(uiControl *c)
101+
void uiWindowShow(uiControl *c)
102102
{
103103
uiWindow *w = uiWindow(c);
104104

windows/window.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ static int uiWindowVisible(uiControl *c)
201201
return w->visible;
202202
}
203203

204-
static void uiWindowShow(uiControl *c)
204+
void uiWindowShow(uiControl *c)
205205
{
206206
uiWindow *w = uiWindow(c);
207207

0 commit comments

Comments
 (0)