add #uiOpenFolder
This commit is contained in:
parent
d93bb2c48f
commit
f407c6acc8
|
@ -175,6 +175,20 @@ static void onOpenFileClicked(uiButton *b, void *data)
|
||||||
uiFreeText(filename);
|
uiFreeText(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void onOpenFolderClicked(uiButton *b, void *data)
|
||||||
|
{
|
||||||
|
uiEntry *entry = uiEntry(data);
|
||||||
|
char *filename;
|
||||||
|
|
||||||
|
filename = uiOpenFolder(mainwin);
|
||||||
|
if (filename == NULL) {
|
||||||
|
uiEntrySetText(entry, "(cancelled)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
uiEntrySetText(entry, filename);
|
||||||
|
uiFreeText(filename);
|
||||||
|
}
|
||||||
|
|
||||||
static void onSaveFileClicked(uiButton *b, void *data)
|
static void onSaveFileClicked(uiButton *b, void *data)
|
||||||
{
|
{
|
||||||
uiEntry *entry = uiEntry(data);
|
uiEntry *entry = uiEntry(data);
|
||||||
|
@ -259,10 +273,10 @@ static uiControl *makeDataChoosersPage(void)
|
||||||
1, 0, 1, 1,
|
1, 0, 1, 1,
|
||||||
1, uiAlignFill, 0, uiAlignFill);
|
1, uiAlignFill, 0, uiAlignFill);
|
||||||
|
|
||||||
button = uiNewButton("Save File");
|
button = uiNewButton("Open Folder");
|
||||||
entry = uiNewEntry();
|
entry = uiNewEntry();
|
||||||
uiEntrySetReadOnly(entry, 1);
|
uiEntrySetReadOnly(entry, 1);
|
||||||
uiButtonOnClicked(button, onSaveFileClicked, entry);
|
uiButtonOnClicked(button, onOpenFolderClicked, entry);
|
||||||
uiGridAppend(grid, uiControl(button),
|
uiGridAppend(grid, uiControl(button),
|
||||||
0, 1, 1, 1,
|
0, 1, 1, 1,
|
||||||
0, uiAlignFill, 0, uiAlignFill);
|
0, uiAlignFill, 0, uiAlignFill);
|
||||||
|
@ -270,10 +284,21 @@ static uiControl *makeDataChoosersPage(void)
|
||||||
1, 1, 1, 1,
|
1, 1, 1, 1,
|
||||||
1, uiAlignFill, 0, uiAlignFill);
|
1, uiAlignFill, 0, uiAlignFill);
|
||||||
|
|
||||||
|
button = uiNewButton("Save File");
|
||||||
|
entry = uiNewEntry();
|
||||||
|
uiEntrySetReadOnly(entry, 1);
|
||||||
|
uiButtonOnClicked(button, onSaveFileClicked, entry);
|
||||||
|
uiGridAppend(grid, uiControl(button),
|
||||||
|
0, 2, 1, 1,
|
||||||
|
0, uiAlignFill, 0, uiAlignFill);
|
||||||
|
uiGridAppend(grid, uiControl(entry),
|
||||||
|
1, 2, 1, 1,
|
||||||
|
1, uiAlignFill, 0, uiAlignFill);
|
||||||
|
|
||||||
msggrid = uiNewGrid();
|
msggrid = uiNewGrid();
|
||||||
uiGridSetPadded(msggrid, 1);
|
uiGridSetPadded(msggrid, 1);
|
||||||
uiGridAppend(grid, uiControl(msggrid),
|
uiGridAppend(grid, uiControl(msggrid),
|
||||||
0, 2, 2, 1,
|
0, 3, 2, 1,
|
||||||
0, uiAlignCenter, 0, uiAlignStart);
|
0, uiAlignCenter, 0, uiAlignStart);
|
||||||
|
|
||||||
button = uiNewButton("Message Box");
|
button = uiNewButton("Message Box");
|
||||||
|
@ -341,6 +366,19 @@ static void openClicked(uiMenuItem *item, uiWindow *w, void *data)
|
||||||
uiFreeText(filename);
|
uiFreeText(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void openFolderClicked(uiMenuItem *item, uiWindow *w, void *data)
|
||||||
|
{
|
||||||
|
char *filename;
|
||||||
|
|
||||||
|
filename = uiOpenFolder(mainwin);
|
||||||
|
if (filename == NULL) {
|
||||||
|
uiMsgBoxError(mainwin, "No folder selected", "Don't be alarmed!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
uiMsgBox(mainwin, "Folder selected", filename);
|
||||||
|
uiFreeText(filename);
|
||||||
|
}
|
||||||
|
|
||||||
static void saveClicked(uiMenuItem *item, uiWindow *w, void *data)
|
static void saveClicked(uiMenuItem *item, uiWindow *w, void *data)
|
||||||
{
|
{
|
||||||
char *filename;
|
char *filename;
|
||||||
|
@ -403,6 +441,8 @@ int main(void)
|
||||||
menu = uiNewMenu("File");
|
menu = uiNewMenu("File");
|
||||||
item = uiMenuAppendItem(menu, "Open");
|
item = uiMenuAppendItem(menu, "Open");
|
||||||
uiMenuItemOnClicked(item, openClicked, NULL);
|
uiMenuItemOnClicked(item, openClicked, NULL);
|
||||||
|
item = uiMenuAppendItem(menu, "Open Folder");
|
||||||
|
uiMenuItemOnClicked(item, openFolderClicked, NULL);
|
||||||
item = uiMenuAppendItem(menu, "Save");
|
item = uiMenuAppendItem(menu, "Save");
|
||||||
uiMenuItemOnClicked(item, saveClicked, NULL);
|
uiMenuItemOnClicked(item, saveClicked, NULL);
|
||||||
item = uiMenuAppendQuitItem(menu);
|
item = uiMenuAppendQuitItem(menu);
|
||||||
|
|
14
test/page5.c
14
test/page5.c
|
@ -16,6 +16,19 @@ static void openFile(uiButton *b, void *data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void openFolder(uiButton *b, void *data)
|
||||||
|
{
|
||||||
|
char *fn;
|
||||||
|
|
||||||
|
fn = uiOpenFolder(parent);
|
||||||
|
if (fn == NULL)
|
||||||
|
uiLabelSetText(uiLabel(data), "(cancelled)");
|
||||||
|
else {
|
||||||
|
uiLabelSetText(uiLabel(data), fn);
|
||||||
|
uiFreeText(fn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void saveFile(uiButton *b, void *data)
|
static void saveFile(uiButton *b, void *data)
|
||||||
{
|
{
|
||||||
char *fn;
|
char *fn;
|
||||||
|
@ -74,6 +87,7 @@ uiBox *makePage5(uiWindow *pw)
|
||||||
uiBoxAppend(page5, uiControl(hbox), 0);
|
uiBoxAppend(page5, uiControl(hbox), 0);
|
||||||
|
|
||||||
D("Open File", openFile);
|
D("Open File", openFile);
|
||||||
|
D("Open Folder", openFolder);
|
||||||
D("Save File", saveFile);
|
D("Save File", saveFile);
|
||||||
|
|
||||||
title = uiNewEntry();
|
title = uiNewEntry();
|
||||||
|
|
1
ui.h
1
ui.h
|
@ -270,6 +270,7 @@ _UI_EXTERN void uiMenuAppendSeparator(uiMenu *m);
|
||||||
_UI_EXTERN uiMenu *uiNewMenu(const char *name);
|
_UI_EXTERN uiMenu *uiNewMenu(const char *name);
|
||||||
|
|
||||||
_UI_EXTERN char *uiOpenFile(uiWindow *parent);
|
_UI_EXTERN char *uiOpenFile(uiWindow *parent);
|
||||||
|
_UI_EXTERN char *uiOpenFolder(uiWindow *parent);
|
||||||
_UI_EXTERN char *uiSaveFile(uiWindow *parent);
|
_UI_EXTERN char *uiSaveFile(uiWindow *parent);
|
||||||
_UI_EXTERN void uiMsgBox(uiWindow *parent, const char *title, const char *description);
|
_UI_EXTERN void uiMsgBox(uiWindow *parent, const char *title, const char *description);
|
||||||
_UI_EXTERN void uiMsgBoxError(uiWindow *parent, const char *title, const char *description);
|
_UI_EXTERN void uiMsgBoxError(uiWindow *parent, const char *title, const char *description);
|
||||||
|
|
Loading…
Reference in New Issue