[FLTK] hide() from callback??

Hi everyone, I am wondering if it is possible to hide() a window from a callback? Maybe this involves returning "value()" from the callback, I don't know.

void selectcallback(Fl_Widget* widget, void*)
{
Fl_Window *window2 = new Fl_Window(340, 300, "Select a world");
Fl_File_Browser *world = new Fl_File_Browser(20, 20, 300, 200, "");
world->type(FL_HOLD_BROWSER);
window2->resizable(world);

world->callback(browsercallback);


TCHAR infoBuf[100];
DWORD bufCharCount = 100;
GetUserName(infoBuf, &bufCharCount);

const char *dir1 = "C:/Users/";

int size = 0;
while ((char)infoBuf[size] != '\0')
{
size++;
}
size++;
char * dir2 = new char[size];
wcstombs(dir2, infoBuf, size);

const char *dir3 = "/AppData/Roaming/.minecraft/saves";
char result1[100];
char result2[200];
strcpy_s(result1, dir1);
strcat_s(result1, dir2);
strcpy_s(result2, result1);
strcat_s(result2, dir3);

const char *dir = result2;
//const char *dir = "C:/Users/[username]/AppData/Roaming/.minecraft/saves";
Fl_File_Sort_F *sort = fl_numericsort;
world->load(dir, sort);

void browsercallback(Fl_Widget* widget, void*);
int index = world->value();
window2->show();

//This is where it would be nice to somehow return value().
if (index > 0)
{
window2->hide();
}
}

void browsercallback(Fl_Widget* widget, void*)
{
Fl_File_Browser *world = (Fl_File_Browser*)widget;
Fl_Window *window2 = (Fl_Window*)widget;

int index = world->value();
//char w2Change = *world->text(index);

//This one wont hide the entire window, only its contents... WHYYY
window2->hide();
}
Last edited on
Topic archived. No new replies allowed.