#include #include #include #include #include #include "pickfile.h" int choose_file_picker() { window_t *choose_window; event_t ev; button_t *ok, *cancel; int choose_done = 0; choose_window = yzNewWindow("File Chooser", 400, 300); yzSelectWindow(choose_window); yzPenColor(55000, 55000, 55000); yzClear(); ok = yzAddButton("Open", 225, 260, 75, 20, 1); cancel = yzAddButton("Cancel", 100, 260, 75, 20, 2); yzPenColor(0, 0, 0); yzText(20, 22, pickerPrompt); select_dir(); switch_to_directory(pickerDir); while(!choose_done) { ev = yzGetEvent(1000); switch(ev.type) { case YZ_BUTTON_HIT: switch(ev.button) { case 1: // ok if(open_selection()) choose_done = 1; break; case 2: // cancel canc: pickerFile = "/../cancel"; choose_done = 1; break; } break; case YZ_KEY_DOWN: if(ev.key == 27)goto canc; if(directory_key(ev.key)) choose_done = 1; break; case YZ_MOUSE_DOWN: if(directory_click(ev.x, ev.y)) choose_done = 1; break; } } yzRemoveButton(ok); yzRemoveButton(cancel); yzDeleteWindow(choose_window); }