diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_Browser_.cxx | 14 | ||||
| -rw-r--r-- | src/Fl_Help_Dialog.cxx | 103 | ||||
| -rw-r--r-- | src/Fl_Help_Dialog.fl | 4 | ||||
| -rw-r--r-- | src/Fl_Help_View.cxx | 63 | ||||
| -rw-r--r-- | src/Fl_Scroll.cxx | 8 | ||||
| -rw-r--r-- | src/Fl_Text_Display.cxx | 2 | ||||
| -rw-r--r-- | src/Fl_get_system_colors.cxx | 9 |
7 files changed, 107 insertions, 96 deletions
diff --git a/src/Fl_Browser_.cxx b/src/Fl_Browser_.cxx index 8637e9cba..852b25431 100644 --- a/src/Fl_Browser_.cxx +++ b/src/Fl_Browser_.cxx @@ -3,7 +3,7 @@ // // Base Browser widget class for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2005 by Bill Spitzak and others. +// Copyright 1998-2006 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -67,8 +67,20 @@ static void hscrollbar_callback(Fl_Widget* s, void*) { ((Fl_Browser_*)(s->parent()))->hposition(int(((Fl_Scrollbar*)s)->value())); } +// Scrollbar size should be part of the Fl class, but is left here for +// binary compatibility in 1.1.x - M. Sweet int Fl_Browser_::scrollbar_width_ = 16; +// Get the standard scrollbar size +int Fl::scrollbar_size() { + return Fl_Browser_::scrollbar_width(); +} + +// Set the standard scrollbar size +void Fl::scrollbar_size(int W) { + Fl_Browser_::scrollbar_width(W); +} + // return where to draw the actual box: void Fl_Browser_::bbox(int& X, int& Y, int& W, int& H) const { Fl_Boxtype b = box() ? box() : FL_DOWN_BOX; diff --git a/src/Fl_Help_Dialog.cxx b/src/Fl_Help_Dialog.cxx index c38e7c8c0..9760cd7d7 100644 --- a/src/Fl_Help_Dialog.cxx +++ b/src/Fl_Help_Dialog.cxx @@ -25,7 +25,7 @@ // http://www.fltk.org/str.php // -// generated by Fast Light User Interface Designer (fluid) version 1.0107 +// generated by Fast Light User Interface Designer (fluid) version 1.0108 #include "../FL/Fl_Help_Dialog.H" #include "flstring.h" @@ -154,72 +154,61 @@ void Fl_Help_Dialog::cb_find_(Fl_Input* o, void* v) { } Fl_Help_Dialog::Fl_Help_Dialog() { - Fl_Double_Window* w; - { Fl_Double_Window* o = window_ = new Fl_Double_Window(530, 385, "Help Dialog"); - w = o; - o->user_data((void*)(this)); - { Fl_Help_View* o = view_ = new Fl_Help_View(10, 10, 510, 330); - o->box(FL_DOWN_BOX); - o->color(FL_BACKGROUND_COLOR); - o->selection_color(FL_SELECTION_COLOR); - o->labeltype(FL_NORMAL_LABEL); - o->labelfont(0); - o->labelsize(14); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_view_); - o->align(FL_ALIGN_TOP); - o->when(FL_WHEN_RELEASE); - o->end(); - Fl_Group::current()->resizable(o); - } + { window_ = new Fl_Double_Window(530, 385, "Help Dialog"); + window_->user_data((void*)(this)); + { view_ = new Fl_Help_View(10, 10, 510, 330); + view_->box(FL_DOWN_BOX); + view_->callback((Fl_Callback*)cb_view_); + Fl_Group::current()->resizable(view_); + } // Fl_Help_View* view_ { Fl_Group* o = new Fl_Group(10, 348, 510, 27); { Fl_Button* o = new Fl_Button(456, 350, 64, 25, "Close"); o->callback((Fl_Callback*)cb_Close); o->label(fl_close); - } - { Fl_Button* o = back_ = new Fl_Button(386, 350, 25, 25, "@<-"); - o->tooltip("Show the previous help page."); - o->shortcut(0xff51); - o->labelcolor((Fl_Color)2); - o->callback((Fl_Callback*)cb_back_); - } - { Fl_Button* o = forward_ = new Fl_Button(421, 350, 25, 25, "@->"); - o->tooltip("Show the next help page."); - o->shortcut(0xff53); - o->labelcolor((Fl_Color)2); - o->callback((Fl_Callback*)cb_forward_); - } - { Fl_Button* o = smaller_ = new Fl_Button(316, 350, 25, 25, "F"); - o->tooltip("Make the help text smaller."); - o->labelfont(1); - o->labelsize(10); - o->callback((Fl_Callback*)cb_smaller_); - } - { Fl_Button* o = larger_ = new Fl_Button(351, 350, 25, 25, "F"); - o->tooltip("Make the help text larger."); - o->labelfont(1); - o->labelsize(16); - o->callback((Fl_Callback*)cb_larger_); - } + } // Fl_Button* o + { back_ = new Fl_Button(386, 350, 25, 25, "@<-"); + back_->tooltip("Show the previous help page."); + back_->shortcut(0xff51); + back_->labelcolor((Fl_Color)2); + back_->callback((Fl_Callback*)cb_back_); + } // Fl_Button* back_ + { forward_ = new Fl_Button(421, 350, 25, 25, "@->"); + forward_->tooltip("Show the next help page."); + forward_->shortcut(0xff53); + forward_->labelcolor((Fl_Color)2); + forward_->callback((Fl_Callback*)cb_forward_); + } // Fl_Button* forward_ + { smaller_ = new Fl_Button(316, 350, 25, 25, "F"); + smaller_->tooltip("Make the help text smaller."); + smaller_->labelfont(1); + smaller_->labelsize(10); + smaller_->callback((Fl_Callback*)cb_smaller_); + } // Fl_Button* smaller_ + { larger_ = new Fl_Button(351, 350, 25, 25, "F"); + larger_->tooltip("Make the help text larger."); + larger_->labelfont(1); + larger_->labelsize(16); + larger_->callback((Fl_Callback*)cb_larger_); + } // Fl_Button* larger_ { Fl_Group* o = new Fl_Group(10, 350, 296, 25); o->box(FL_DOWN_BOX); o->color(FL_BACKGROUND2_COLOR); - { Fl_Input* o = find_ = new Fl_Input(35, 352, 268, 21, "@search"); - o->tooltip("find text in document"); - o->box(FL_FLAT_BOX); - o->labelsize(13); - o->callback((Fl_Callback*)cb_find_); - o->when(FL_WHEN_ENTER_KEY_ALWAYS); - Fl_Group::current()->resizable(o); - } + { find_ = new Fl_Input(35, 352, 268, 21, "@search"); + find_->tooltip("find text in document"); + find_->box(FL_FLAT_BOX); + find_->labelsize(13); + find_->callback((Fl_Callback*)cb_find_); + find_->when(FL_WHEN_ENTER_KEY_ALWAYS); + Fl_Group::current()->resizable(find_); + } // Fl_Input* find_ o->end(); Fl_Group::current()->resizable(o); - } + } // Fl_Group* o o->end(); - } - o->size_range(260, 150); - o->end(); - } + } // Fl_Group* o + window_->size_range(260, 150); + window_->end(); + } // Fl_Double_Window* window_ back_->deactivate(); forward_->deactivate(); diff --git a/src/Fl_Help_Dialog.fl b/src/Fl_Help_Dialog.fl index 42f044bfe..8d013ddba 100644 --- a/src/Fl_Help_Dialog.fl +++ b/src/Fl_Help_Dialog.fl @@ -47,7 +47,7 @@ class FL_EXPORT Fl_Help_Dialog {open label {Help Dialog} open private xywh {398 65 530 385} type Double resizable size_range {260 150 0 0} visible } { - Fl_Group view_ { + Fl_Help_View view_ { callback {if (view_->filename()) { if (view_->changed()) @@ -87,8 +87,6 @@ class FL_EXPORT Fl_Help_Dialog {open forward_->deactivate(); }} open private xywh {10 10 510 330} box DOWN_BOX selection_color 15 resizable - code0 {\#include <FL/Fl_Help_View.H>} - class Fl_Help_View } {} Fl_Group {} {open xywh {10 348 510 27} diff --git a/src/Fl_Help_View.cxx b/src/Fl_Help_View.cxx index 2fcc5b41a..75fffa6e6 100644 --- a/src/Fl_Help_View.cxx +++ b/src/Fl_Help_View.cxx @@ -434,20 +434,21 @@ Fl_Help_View::draw() draw_box(b, x(), y(), ww, hh, bgcolor_); + int ss = Fl::scrollbar_size(); if (hscrollbar_.visible()) { draw_child(hscrollbar_); - hh -= 17; + hh -= ss; i ++; } if (scrollbar_.visible()) { draw_child(scrollbar_); - ww -= 17; + ww -= ss; i ++; } if (i == 2) { fl_color(FL_GRAY); fl_rectf(x() + ww - Fl::box_dw(b) + Fl::box_dx(b), - y() + hh - Fl::box_dh(b) + Fl::box_dy(b), 17, 17); + y() + hh - Fl::box_dh(b) + Fl::box_dy(b), ss, ss); } if (!value_) @@ -941,13 +942,6 @@ Fl_Help_View::draw() } fl_pop_clip(); - if (Fl::focus()==this) { - ww = w() ; - hh = h(); - if (hscrollbar_.visible()) hh -= 18; - if (scrollbar_.visible()) ww -= 18; - draw_focus(box(), x(), y(), ww, hh); - } } @@ -1775,38 +1769,47 @@ Fl_Help_View::format() int dx = Fl::box_dw(b) - Fl::box_dx(b); int dy = Fl::box_dh(b) - Fl::box_dy(b); + int ss = Fl::scrollbar_size(); + int dw = Fl::box_dw(b) + ss; + int dh = Fl::box_dh(b); - if (hsize_ > (w() - 24)) { + if (hsize_ > (w() - dw)) { hscrollbar_.show(); - if (size_ < (h() - 24)) { + dh += ss; + + if (size_ < (h() - dh)) { scrollbar_.hide(); - hscrollbar_.resize(x() + Fl::box_dx(b), y() + h() - 17 - dy, w() - Fl::box_dw(b), 17); + hscrollbar_.resize(x() + Fl::box_dx(b), y() + h() - ss - dy, + w() - Fl::box_dw(b), ss); } else { scrollbar_.show(); - scrollbar_.resize(x() + w() - 17 - dx, y() + Fl::box_dy(b), 17, h() - 17 - Fl::box_dh(b)); - hscrollbar_.resize(x() + Fl::box_dx(b), y() + h() - 17 - dy, w() - 17 - Fl::box_dw(b), 17); + scrollbar_.resize(x() + w() - ss - dx, y() + Fl::box_dy(b), + ss, h() - ss - Fl::box_dh(b)); + hscrollbar_.resize(x() + Fl::box_dx(b), y() + h() - ss - dy, + w() - ss - Fl::box_dw(b), ss); } } else { hscrollbar_.hide(); - if (size_ < (h() - 8)) scrollbar_.hide(); + if (size_ < (h() - dh)) scrollbar_.hide(); else { - scrollbar_.resize(x() + w() - 17 - dx, y() + Fl::box_dy(b), 17, h() - Fl::box_dh(b)); + scrollbar_.resize(x() + w() - ss - dx, y() + Fl::box_dy(b), + ss, h() - Fl::box_dh(b)); scrollbar_.show(); } } // Reset scrolling if it needs to be... if (scrollbar_.visible()) { - int temph = h() - 8; - if (hscrollbar_.visible()) temph -= 16; + int temph = h() - Fl::box_dh(box()); + if (hscrollbar_.visible()) temph -= ss; if ((topline_ + temph) > size_) topline(size_ - temph); else topline(topline_); } else topline(0); if (hscrollbar_.visible()) { - int tempw = w() - 24; + int tempw = w() - ss - Fl::box_dw(box()); if ((leftline_ + tempw) > hsize_) leftline(hsize_ - tempw); else leftline(leftline_); } else leftline(0); @@ -2743,10 +2746,6 @@ Fl_Help_View::handle(int event) // I - Event to handle fl_cursor(FL_CURSOR_DEFAULT); return 1; case FL_PUSH: - if (Fl::focus() != this) { - Fl::focus(this); - handle(FL_FOCUS); - } if (Fl_Group::handle(event)) return 1; linkp = find_link(xx, yy); @@ -2814,8 +2813,10 @@ Fl_Help_View::Fl_Help_View(int xx, // I - Left position int hh, // I - Height in pixels const char *l) : Fl_Group(xx, yy, ww, hh, l), - scrollbar_(xx + ww - 17, yy, 17, hh - 17), - hscrollbar_(xx, yy + hh - 17, ww - 17, 17) + scrollbar_(xx + ww - Fl::scrollbar_size(), yy, + Fl::scrollbar_size(), hh - Fl::scrollbar_size()), + hscrollbar_(xx, yy + hh - Fl::scrollbar_size(), + ww - Fl::scrollbar_size(), Fl::scrollbar_size()) { color(FL_BACKGROUND2_COLOR, FL_SELECTION_COLOR); @@ -3001,10 +3002,12 @@ Fl_Help_View::resize(int xx, // I - New left position Fl_Widget::resize(xx, yy, ww, hh); - scrollbar_.resize(x() + w() - 17 - Fl::box_dw(b) + Fl::box_dx(b), y() + Fl::box_dy(b), - 17, h() - 17 - Fl::box_dh(b)); - hscrollbar_.resize(x() + Fl::box_dx(b), y() + h() - 17 - Fl::box_dh(b) + Fl::box_dy(b), - w() - 17 - Fl::box_dw(b), 17); + int ss = Fl::scrollbar_size(); + scrollbar_.resize(x() + w() - ss - Fl::box_dw(b) + Fl::box_dx(b), + y() + Fl::box_dy(b), ss, h() - ss - Fl::box_dh(b)); + hscrollbar_.resize(x() + Fl::box_dx(b), + y() + h() - ss - Fl::box_dh(b) + Fl::box_dy(b), + w() - ss - Fl::box_dw(b), ss); format(); } diff --git a/src/Fl_Scroll.cxx b/src/Fl_Scroll.cxx index 0053385cc..a3bc85c1b 100644 --- a/src/Fl_Scroll.cxx +++ b/src/Fl_Scroll.cxx @@ -273,12 +273,12 @@ void Fl_Scroll::scrollbar_cb(Fl_Widget* o, void*) { s->position(s->xposition(), int(((Fl_Scrollbar*)o)->value())); } -#define SLIDER_WIDTH 16 - Fl_Scroll::Fl_Scroll(int X,int Y,int W,int H,const char* L) : Fl_Group(X,Y,W,H,L), - scrollbar(X+W-SLIDER_WIDTH,Y,SLIDER_WIDTH,H-SLIDER_WIDTH), - hscrollbar(X,Y+H-SLIDER_WIDTH,W-SLIDER_WIDTH,SLIDER_WIDTH) { + scrollbar(X+W-Fl::scrollbar_size(),Y, + Fl::scrollbar_size(),H-Fl::scrollbar_size()), + hscrollbar(X,Y+H-Fl::scrollbar_size(), + W-Fl::scrollbar_size(),Fl::scrollbar_size()) { type(BOTH); xposition_ = 0; yposition_ = 0; diff --git a/src/Fl_Text_Display.cxx b/src/Fl_Text_Display.cxx index a74149711..efc2a5196 100644 --- a/src/Fl_Text_Display.cxx +++ b/src/Fl_Text_Display.cxx @@ -105,7 +105,7 @@ Fl_Text_Display::Fl_Text_Display(int X, int Y, int W, int H, const char* l) end(); - scrollbar_width(16); + scrollbar_width(Fl::scrollbar_size()); scrollbar_align(FL_ALIGN_BOTTOM_RIGHT); mCursorOn = 0; diff --git a/src/Fl_get_system_colors.cxx b/src/Fl_get_system_colors.cxx index 9df0b6739..753254606 100644 --- a/src/Fl_get_system_colors.cxx +++ b/src/Fl_get_system_colors.cxx @@ -322,6 +322,9 @@ int Fl::reload_scheme() { set_boxtype(FL_THIN_DOWN_BOX, FL_PLASTIC_THIN_DOWN_BOX); set_boxtype(_FL_ROUND_UP_BOX, FL_PLASTIC_ROUND_UP_BOX); set_boxtype(_FL_ROUND_DOWN_BOX, FL_PLASTIC_ROUND_DOWN_BOX); + + // Use standard size scrollbars... + Fl::scrollbar_size(16); } else if (scheme_ && !strcasecmp(scheme_, "gtk+")) { // Use a GTK+ inspired look-n-feel... if (scheme_bg_) { @@ -340,6 +343,9 @@ int Fl::reload_scheme() { set_boxtype(FL_THIN_DOWN_BOX, FL_GTK_THIN_DOWN_BOX); set_boxtype(_FL_ROUND_UP_BOX, FL_GTK_ROUND_UP_BOX); set_boxtype(_FL_ROUND_DOWN_BOX, FL_GTK_ROUND_DOWN_BOX); + + // Use slightly thinner scrollbars... + Fl::scrollbar_size(15); } else { // Use the standard FLTK look-n-feel... if (scheme_bg_) { @@ -358,6 +364,9 @@ int Fl::reload_scheme() { set_boxtype(FL_THIN_DOWN_BOX, fl_thin_down_box, 1, 1, 2, 2); set_boxtype(_FL_ROUND_UP_BOX, fl_round_up_box, 3, 3, 6, 6); set_boxtype(_FL_ROUND_DOWN_BOX, fl_round_down_box, 3, 3, 6, 6); + + // Use standard size scrollbars... + Fl::scrollbar_size(16); } // Set (or clear) the background tile for all windows... |
