STR #1062: updated code to resize the preview panel of the file chooser and hide it entirely if unused

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4643 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Matthias Melcher 2005-11-07 08:39:23 +00:00
parent 1fe85a8c18
commit 0a41e770c3
3 changed files with 20 additions and 17 deletions

View File

@ -202,14 +202,14 @@ Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char
} }
{ Fl_Group* o = new Fl_Group(10, 275, 470, 95); { Fl_Group* o = new Fl_Group(10, 275, 470, 95);
{ Fl_Group* o = new Fl_Group(10, 275, 470, 20); { Fl_Group* o = new Fl_Group(10, 275, 470, 20);
{ Fl_Check_Button* o = previewButton = new Fl_Check_Button(10, 275, 170, 20, "Preview"); { Fl_Check_Button* o = previewButton = new Fl_Check_Button(10, 275, 73, 20, "Preview");
o->down_box(FL_DOWN_BOX); o->down_box(FL_DOWN_BOX);
o->value(1); o->value(1);
o->shortcut(0x80070); o->shortcut(0x80070);
o->callback((Fl_Callback*)cb_previewButton); o->callback((Fl_Callback*)cb_previewButton);
previewButton->label(preview_label); previewButton->label(preview_label);
} }
{ Fl_Box* o = new Fl_Box(10, 275, 395, 20); { Fl_Box* o = new Fl_Box(115, 275, 365, 20);
Fl_Group::current()->resizable(o); Fl_Group::current()->resizable(o);
} }
o->end(); o->end();

View File

@ -60,7 +60,7 @@ class FL_EXPORT Fl_File_Chooser {open
callback {fileName->value(""); callback {fileName->value("");
fileList->deselect(); fileList->deselect();
Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this); Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this);
window->hide();} selected window->hide();}
private xywh {387 242 490 380} type Double resizable private xywh {387 242 490 380} type Double resizable
code0 {if (title) window->label(title);} code0 {if (title) window->label(title);}
code1 {\#include <stdio.h>} code1 {\#include <stdio.h>}
@ -90,7 +90,7 @@ window->hide();} selected
} }
} }
Fl_Tile {} { Fl_Tile {} {
callback {update_preview();} open callback {update_preview();}
private xywh {10 45 470 225} resizable private xywh {10 45 470 225} resizable
} { } {
Fl_File_Browser fileList { Fl_File_Browser fileList {
@ -106,17 +106,17 @@ window->hide();} selected
Fl_Group {} { Fl_Group {} {
private xywh {10 275 470 95} private xywh {10 275 470 95}
} { } {
Fl_Group {} { Fl_Group {} {open
private xywh {10 275 470 20} private xywh {10 275 470 20}
} { } {
Fl_Check_Button previewButton { Fl_Check_Button previewButton {
label Preview label Preview
callback {preview(previewButton->value());} callback {preview(previewButton->value());}
xywh {10 275 170 20} down_box DOWN_BOX shortcut 0x80070 value 1 xywh {10 275 73 20} down_box DOWN_BOX shortcut 0x80070 value 1
code0 {previewButton->label(preview_label);} code0 {previewButton->label(preview_label);}
} }
Fl_Box {} { Fl_Box {} {
private xywh {10 275 395 20} resizable private xywh {115 275 365 20} resizable
} }
} }
Fl_File_Input fileName { Fl_File_Input fileName {
@ -138,7 +138,7 @@ window->hide();} selected
if (callback_) if (callback_)
(*callback_)(this, data_); (*callback_)(this, data_);
window->hide();} window->hide();} selected
private xywh {313 345 85 25} private xywh {313 345 85 25}
code0 {\#include <FL/fl_ask.H>} code0 {\#include <FL/fl_ask.H>}
code1 {okButton->label(fl_ok);} code1 {okButton->label(fl_ok);}
@ -299,7 +299,7 @@ okButton->parent()->init_sizes();} {}
} }
decl {void rescan();} {public decl {void rescan();} {public
} }
Function {show()} {open return_type void Function {show()} {return_type void
} { } {
code {window->hotspot(fileList); code {window->hotspot(fileList);
window->show(); window->show();
@ -337,7 +337,7 @@ fileName->take_focus();} {}
} { } {
code {return (fileList->textsize());} {} code {return (fileList->textsize());} {}
} }
Function {type(int t)} {open return_type void Function {type(int t)} {return_type void
} { } {
code {type_ = t; code {type_ = t;
if (t & MULTI) if (t & MULTI)

View File

@ -788,20 +788,23 @@ Fl_File_Chooser::preview(int e)// I - 1 = enable preview, 0 = disable preview
previewButton->value(e); previewButton->value(e);
prefs_.set("preview", e); prefs_.set("preview", e);
Fl_Group *p = previewBox->parent();
if (e) { if (e) {
int w = previewBox->h() * 2 / 3; int w = p->w() * 2 / 3;
fileList->resize(fileList->x(), fileList->y(), fileList->resize(fileList->x(), fileList->y(),
window->w() - 20 - w, fileList->h()); w, fileList->h());
previewBox->resize(window->w() - 10 - w, previewBox->y(), previewBox->resize(fileList->x()+w, previewBox->y(),
w, previewBox->h()); p->w()-w, previewBox->h());
previewBox->show();
update_preview(); update_preview();
} else { } else {
fileList->resize(fileList->x(), fileList->y(), fileList->resize(fileList->x(), fileList->y(),
window->w() - 20, fileList->h()); p->w(), fileList->h());
previewBox->resize(window->w() - 10, previewBox->y(), previewBox->resize(p->x()+p->w(), previewBox->y(),
0, previewBox->h()); 0, previewBox->h());
previewBox->hide();
} }
p->init_sizes();
fileList->parent()->redraw(); fileList->parent()->redraw();
} }