From 8f4fa005746deb8dd7e34cd07acaa55d50d59fe9 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Fri, 23 Jul 2004 21:12:24 +0000 Subject: Fl_Counter didn't use a thin down box for the text field if the box type was set to FL_THIN_UP_BOX (STR #467) Fl_Help_View now resets the scrollbars if they go outside the current view (STR #464) fl_dir_chooser() did not show the previous selection as documented (STR #443) Fl_Text_Display used delete[] instead of free() in some places (STR #466) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3691 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Counter.cxx | 5 +++-- src/Fl_Help_View.cxx | 19 +++++++++++++++---- src/Fl_Text_Display.cxx | 9 +++++---- src/fl_file_dir.cxx | 10 +++++----- 4 files changed, 28 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/Fl_Counter.cxx b/src/Fl_Counter.cxx index 6157efe8e..43aa96d0f 100644 --- a/src/Fl_Counter.cxx +++ b/src/Fl_Counter.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Counter.cxx,v 1.8.2.3.2.14 2004/04/11 04:38:57 easysw Exp $" +// "$Id: Fl_Counter.cxx,v 1.8.2.3.2.15 2004/07/23 21:12:24 easysw Exp $" // // Counter widget for the Fast Light Tool Kit (FLTK). // @@ -33,6 +33,7 @@ void Fl_Counter::draw() { boxtype[0] = box(); if (boxtype[0] == FL_UP_BOX) boxtype[0] = FL_DOWN_BOX; + if (boxtype[0] == FL_THIN_UP_BOX) boxtype[0] = FL_THIN_DOWN_BOX; for (i=1; i<5; i++) if (mouseobj == i) boxtype[i] = fl_down(box()); @@ -188,5 +189,5 @@ Fl_Counter::Fl_Counter(int X, int Y, int W, int H, const char* l) } // -// End of "$Id: Fl_Counter.cxx,v 1.8.2.3.2.14 2004/04/11 04:38:57 easysw Exp $". +// End of "$Id: Fl_Counter.cxx,v 1.8.2.3.2.15 2004/07/23 21:12:24 easysw Exp $". // diff --git a/src/Fl_Help_View.cxx b/src/Fl_Help_View.cxx index 28c798e9b..36ae551f3 100644 --- a/src/Fl_Help_View.cxx +++ b/src/Fl_Help_View.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Help_View.cxx,v 1.1.2.50 2004/07/04 23:27:48 easysw Exp $" +// "$Id: Fl_Help_View.cxx,v 1.1.2.51 2004/07/23 21:12:24 easysw Exp $" // // Fl_Help_View widget routines. // @@ -1568,8 +1568,19 @@ Fl_Help_View::format() } } - topline(topline_); - leftline(leftline_); + // Reset scrolling if it needs to be... + if (scrollbar_.visible()) { + int hh = h() - 8; + if (hscrollbar_.visible()) hh -= 16; + if ((topline_ + hh) > size_) topline(size_ - hh); + else topline(topline_); + } else topline(0); + + if (hscrollbar_.visible()) { + int ww = w() - 24; + if ((leftline_ + ww) > hsize_) leftline(hsize_ - ww); + else leftline(leftline_); + } else leftline(0); } @@ -2795,5 +2806,5 @@ hscrollbar_callback(Fl_Widget *s, void *) // -// End of "$Id: Fl_Help_View.cxx,v 1.1.2.50 2004/07/04 23:27:48 easysw Exp $". +// End of "$Id: Fl_Help_View.cxx,v 1.1.2.51 2004/07/23 21:12:24 easysw Exp $". // diff --git a/src/Fl_Text_Display.cxx b/src/Fl_Text_Display.cxx index e5b2b1d49..43559cfd3 100644 --- a/src/Fl_Text_Display.cxx +++ b/src/Fl_Text_Display.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Text_Display.cxx,v 1.12.2.54 2004/05/26 02:42:10 easysw Exp $" +// "$Id: Fl_Text_Display.cxx,v 1.12.2.55 2004/07/23 21:12:24 easysw Exp $" // // Copyright 2001-2004 by Bill Spitzak and others. // Original code Copyright Mark Edel. Permission to distribute under @@ -793,7 +793,7 @@ int Fl_Text_Display::position_to_xy( int pos, int* X, int* Y ) { outIndex += charLen; } *X = xStep; - delete [] (char *)lineStr; + free((char *)lineStr); return 1; } @@ -1851,9 +1851,10 @@ int Fl_Text_Display::xy_to_position( int X, int Y, int posType ) { outIndex += charLen; } + free((char *)lineStr); + /* If the X position was beyond the end of the line, return the position of the newline at the end of the line */ - delete [] (char *)lineStr; return lineStart + lineLen; } @@ -3087,5 +3088,5 @@ int Fl_Text_Display::handle(int event) { // -// End of "$Id: Fl_Text_Display.cxx,v 1.12.2.54 2004/05/26 02:42:10 easysw Exp $". +// End of "$Id: Fl_Text_Display.cxx,v 1.12.2.55 2004/07/23 21:12:24 easysw Exp $". // diff --git a/src/fl_file_dir.cxx b/src/fl_file_dir.cxx index 89f436f82..d0142e8c9 100644 --- a/src/fl_file_dir.cxx +++ b/src/fl_file_dir.cxx @@ -1,5 +1,5 @@ // -// "$Id: fl_file_dir.cxx,v 1.1.2.15 2004/04/11 04:39:00 easysw Exp $" +// "$Id: fl_file_dir.cxx,v 1.1.2.16 2004/07/23 21:12:24 easysw Exp $" // // File chooser widget for the Fast Light Tool Kit (FLTK). // @@ -114,16 +114,16 @@ fl_dir_chooser(const char *message, // I - Message for titlebar { static char retname[1024]; // Returned directory name - if (!fname || !*fname) fname = "."; - if (!fc) { + if (!fname || !*fname) fname = "."; + fc = new Fl_File_Chooser(fname, "*", Fl_File_Chooser::CREATE | Fl_File_Chooser::DIRECTORY, message); fc->callback(callback, 0); } else { fc->type(Fl_File_Chooser::CREATE | Fl_File_Chooser::DIRECTORY); fc->filter("*"); - fc->value(fname); + if (fname && *fname) fc->value(fname); fc->label(message); } @@ -142,5 +142,5 @@ fl_dir_chooser(const char *message, // I - Message for titlebar // -// End of "$Id: fl_file_dir.cxx,v 1.1.2.15 2004/04/11 04:39:00 easysw Exp $". +// End of "$Id: fl_file_dir.cxx,v 1.1.2.16 2004/07/23 21:12:24 easysw Exp $". // -- cgit v1.2.3