mirror of
https://github.com/fltk/fltk.git
synced 2026-06-04 23:42:15 +08:00
Merge all of the scrollbar sizes into a single API call
(Fl::scrollbar_size()) rather than a bunch of separate APIs and hardcoded values (STR #1800) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5547 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
@@ -1,11 +1,13 @@
|
|||||||
CHANGES IN FLTK 1.1.8
|
CHANGES IN FLTK 1.1.8
|
||||||
|
|
||||||
|
- Documentation fixes (STR #1454, STR #1455, STR #1456,
|
||||||
|
STR #1457, STR #1458, STR #1460, STR #1481)
|
||||||
|
- Added Fl::scrollbar_size() methods that are used by all
|
||||||
|
of the scrollbar-using widgets (STR #1500)
|
||||||
- fl_read_image() was broken on Intel-based Macs (STR
|
- fl_read_image() was broken on Intel-based Macs (STR
|
||||||
#1490)
|
#1490)
|
||||||
- Fl_Progress was using the wrong width to calculate
|
- Fl_Progress was using the wrong width to calculate
|
||||||
progress (STR #1492)
|
progress (STR #1492)
|
||||||
- Documentation fixes (STR #1454, STR #1455, STR #1456,
|
|
||||||
STR #1457, STR #1458, STR #1460, STR #1481)
|
|
||||||
- Fl::x(), Fl::y(), Fl::w(), and Fl::h() did not report
|
- Fl::x(), Fl::y(), Fl::w(), and Fl::h() did not report
|
||||||
the desktop work area on X11 (STR #1482)
|
the desktop work area on X11 (STR #1482)
|
||||||
- Shortcut events could be sent to the wrong window (STR
|
- Shortcut events could be sent to the wrong window (STR
|
||||||
|
|||||||
@@ -109,6 +109,8 @@ public:
|
|||||||
static int scheme(const char*);
|
static int scheme(const char*);
|
||||||
static const char* scheme() {return scheme_;}
|
static const char* scheme() {return scheme_;}
|
||||||
static int reload_scheme();
|
static int reload_scheme();
|
||||||
|
static int scrollbar_size();
|
||||||
|
static void scrollbar_size(int W);
|
||||||
|
|
||||||
// execution:
|
// execution:
|
||||||
static int wait();
|
static int wait();
|
||||||
|
|||||||
+6
-6
@@ -25,7 +25,7 @@
|
|||||||
// http://www.fltk.org/str.php
|
// 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
|
||||||
|
|
||||||
#ifndef Fl_Help_Dialog_H
|
#ifndef Fl_Help_Dialog_H
|
||||||
#define Fl_Help_Dialog_H
|
#define Fl_Help_Dialog_H
|
||||||
@@ -37,11 +37,11 @@
|
|||||||
#include <FL/Fl_Input.H>
|
#include <FL/Fl_Input.H>
|
||||||
|
|
||||||
class FL_EXPORT Fl_Help_Dialog {
|
class FL_EXPORT Fl_Help_Dialog {
|
||||||
int index_;
|
int index_;
|
||||||
int max_;
|
int max_;
|
||||||
int line_[100];
|
int line_[100];
|
||||||
char file_[100][256];
|
char file_[100][256];
|
||||||
int find_pos_;
|
int find_pos_;
|
||||||
public:
|
public:
|
||||||
Fl_Help_Dialog();
|
Fl_Help_Dialog();
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ state information and global methods for the current application.</P>
|
|||||||
<LI><A HREF="#Fl.scheme">scheme</A></LI>
|
<LI><A HREF="#Fl.scheme">scheme</A></LI>
|
||||||
<LI><A HREF="#Fl.screen_count">screen_count</A></LI>
|
<LI><A HREF="#Fl.screen_count">screen_count</A></LI>
|
||||||
<LI><A HREF="#Fl.screen_xywh">screen_xywh</A></LI>
|
<LI><A HREF="#Fl.screen_xywh">screen_xywh</A></LI>
|
||||||
|
<LI><A HREF="#Fl.scrollbar_size">scrollbar_size</A></LI>
|
||||||
<LI><A HREF="#Fl.selection">selection</A></LI>
|
<LI><A HREF="#Fl.selection">selection</A></LI>
|
||||||
<LI><A HREF="#Fl.selection_owner">selection_owner</A></LI>
|
<LI><A HREF="#Fl.selection_owner">selection_owner</A></LI>
|
||||||
<LI><A HREF="#Fl.set_abort">set_abort</A></LI>
|
<LI><A HREF="#Fl.set_abort">set_abort</A></LI>
|
||||||
@@ -1128,6 +1129,15 @@ specified coordinates. The last form gets the bounding box for
|
|||||||
the numbered screen, where <tt>n</tt> is a number from 0 to the
|
the numbered screen, where <tt>n</tt> is a number from 0 to the
|
||||||
number of screens less 1.</P>
|
number of screens less 1.</P>
|
||||||
|
|
||||||
|
<H4><A NAME="Fl.scrollbar_size">void scrollbar_size(int W);<BR>
|
||||||
|
int scrollbar_size();</A></H4>
|
||||||
|
|
||||||
|
<P>Sets or gets the default scrollbar size that is used by the
|
||||||
|
<A HREF="Fl_Browser_.html#Fl_Browser_"><TT>Fl_Browser_</TT></A>,
|
||||||
|
<A HREF="Fl_Help_View.html#Fl_Help_View"><TT>Fl_Help_View</TT></A>,
|
||||||
|
<A HREF="Fl_Scroll.html#Fl_Scroll"><TT>Fl_Scroll</TT></A>, and
|
||||||
|
<A HREF="Fl_Text_Display.html#Fl_Text_Display"><TT>Fl_Text_Display</TT></A> widgets.</P>
|
||||||
|
|
||||||
<H4><A NAME="Fl.selection">void selection(Fl_Widget &owner, const char* stuff, int len);</A></H4>
|
<H4><A NAME="Fl.selection">void selection(Fl_Widget &owner, const char* stuff, int len);</A></H4>
|
||||||
|
|
||||||
<P>Changes the current selection. The block of text is
|
<P>Changes the current selection. The block of text is
|
||||||
|
|||||||
@@ -681,7 +681,8 @@ For a description of the <TT>fl_</TT> functions, see
|
|||||||
<LI>scrollbar_align: <A HREF="Fl_Text_Display.html#Fl_Text_Display.scrollbar_align">Fl_Text_Display</A></LI>
|
<LI>scrollbar_align: <A HREF="Fl_Text_Display.html#Fl_Text_Display.scrollbar_align">Fl_Text_Display</A></LI>
|
||||||
<LI>scrollbar_left: <A href="Fl_Browser_.html#Fl_Browser_.scrollbar_left">Fl_Browser_</A></LI>
|
<LI>scrollbar_left: <A href="Fl_Browser_.html#Fl_Browser_.scrollbar_left">Fl_Browser_</A></LI>
|
||||||
<LI>scrollbar_right: <A href="Fl_Browser_.html#Fl_Browser_.scrollbar_right">Fl_Browser_</A></LI>
|
<LI>scrollbar_right: <A href="Fl_Browser_.html#Fl_Browser_.scrollbar_right">Fl_Browser_</A></LI>
|
||||||
<LI>scrollbar_width: <A HREF="Fl_Text_Display.html#Fl_Text_Display.scrollbar_width">Fl_Text_Display</A></LI>
|
<LI>scrollbar_size: <A HREF="Fl.html#Fl.scrollbar_size">Fl</A></LI>
|
||||||
|
<LI>scrollbar_width: <A HREF="Fl_Browser_.html#Fl_Browser_.scrollbar_width">Fl_Browser_</A>, <A HREF="Fl_Text_Display.html#Fl_Text_Display.scrollbar_width">Fl_Text_Display</A></LI>
|
||||||
<LI>scrollvalue: <A href=Fl_Slider.html#Fl_Slider.scrollvalue>Fl_Slider</A></LI>
|
<LI>scrollvalue: <A href=Fl_Slider.html#Fl_Slider.scrollvalue>Fl_Slider</A></LI>
|
||||||
<LI>search_backward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.search_backward">Fl_Text_Buffer</A></LI>
|
<LI>search_backward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.search_backward">Fl_Text_Buffer</A></LI>
|
||||||
<LI>search_forward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.search_forward">Fl_Text_Buffer</A></LI>
|
<LI>search_forward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.search_forward">Fl_Text_Buffer</A></LI>
|
||||||
|
|||||||
+13
-1
@@ -3,7 +3,7 @@
|
|||||||
//
|
//
|
||||||
// Base Browser widget class for the Fast Light Tool Kit (FLTK).
|
// 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
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Library General Public
|
// 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()));
|
((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;
|
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:
|
// return where to draw the actual box:
|
||||||
void Fl_Browser_::bbox(int& X, int& Y, int& W, int& H) const {
|
void Fl_Browser_::bbox(int& X, int& Y, int& W, int& H) const {
|
||||||
Fl_Boxtype b = box() ? box() : FL_DOWN_BOX;
|
Fl_Boxtype b = box() ? box() : FL_DOWN_BOX;
|
||||||
|
|||||||
+46
-57
@@ -25,7 +25,7 @@
|
|||||||
// http://www.fltk.org/str.php
|
// 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 "../FL/Fl_Help_Dialog.H"
|
||||||
#include "flstring.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_Help_Dialog::Fl_Help_Dialog() {
|
||||||
Fl_Double_Window* w;
|
{ window_ = new Fl_Double_Window(530, 385, "Help Dialog");
|
||||||
{ Fl_Double_Window* o = window_ = new Fl_Double_Window(530, 385, "Help Dialog");
|
window_->user_data((void*)(this));
|
||||||
w = o;
|
{ view_ = new Fl_Help_View(10, 10, 510, 330);
|
||||||
o->user_data((void*)(this));
|
view_->box(FL_DOWN_BOX);
|
||||||
{ Fl_Help_View* o = view_ = new Fl_Help_View(10, 10, 510, 330);
|
view_->callback((Fl_Callback*)cb_view_);
|
||||||
o->box(FL_DOWN_BOX);
|
Fl_Group::current()->resizable(view_);
|
||||||
o->color(FL_BACKGROUND_COLOR);
|
} // Fl_Help_View* view_
|
||||||
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);
|
|
||||||
}
|
|
||||||
{ Fl_Group* o = new Fl_Group(10, 348, 510, 27);
|
{ Fl_Group* o = new Fl_Group(10, 348, 510, 27);
|
||||||
{ Fl_Button* o = new Fl_Button(456, 350, 64, 25, "Close");
|
{ Fl_Button* o = new Fl_Button(456, 350, 64, 25, "Close");
|
||||||
o->callback((Fl_Callback*)cb_Close);
|
o->callback((Fl_Callback*)cb_Close);
|
||||||
o->label(fl_close);
|
o->label(fl_close);
|
||||||
}
|
} // Fl_Button* o
|
||||||
{ Fl_Button* o = back_ = new Fl_Button(386, 350, 25, 25, "@<-");
|
{ back_ = new Fl_Button(386, 350, 25, 25, "@<-");
|
||||||
o->tooltip("Show the previous help page.");
|
back_->tooltip("Show the previous help page.");
|
||||||
o->shortcut(0xff51);
|
back_->shortcut(0xff51);
|
||||||
o->labelcolor((Fl_Color)2);
|
back_->labelcolor((Fl_Color)2);
|
||||||
o->callback((Fl_Callback*)cb_back_);
|
back_->callback((Fl_Callback*)cb_back_);
|
||||||
}
|
} // Fl_Button* back_
|
||||||
{ Fl_Button* o = forward_ = new Fl_Button(421, 350, 25, 25, "@->");
|
{ forward_ = new Fl_Button(421, 350, 25, 25, "@->");
|
||||||
o->tooltip("Show the next help page.");
|
forward_->tooltip("Show the next help page.");
|
||||||
o->shortcut(0xff53);
|
forward_->shortcut(0xff53);
|
||||||
o->labelcolor((Fl_Color)2);
|
forward_->labelcolor((Fl_Color)2);
|
||||||
o->callback((Fl_Callback*)cb_forward_);
|
forward_->callback((Fl_Callback*)cb_forward_);
|
||||||
}
|
} // Fl_Button* forward_
|
||||||
{ Fl_Button* o = smaller_ = new Fl_Button(316, 350, 25, 25, "F");
|
{ smaller_ = new Fl_Button(316, 350, 25, 25, "F");
|
||||||
o->tooltip("Make the help text smaller.");
|
smaller_->tooltip("Make the help text smaller.");
|
||||||
o->labelfont(1);
|
smaller_->labelfont(1);
|
||||||
o->labelsize(10);
|
smaller_->labelsize(10);
|
||||||
o->callback((Fl_Callback*)cb_smaller_);
|
smaller_->callback((Fl_Callback*)cb_smaller_);
|
||||||
}
|
} // Fl_Button* smaller_
|
||||||
{ Fl_Button* o = larger_ = new Fl_Button(351, 350, 25, 25, "F");
|
{ larger_ = new Fl_Button(351, 350, 25, 25, "F");
|
||||||
o->tooltip("Make the help text larger.");
|
larger_->tooltip("Make the help text larger.");
|
||||||
o->labelfont(1);
|
larger_->labelfont(1);
|
||||||
o->labelsize(16);
|
larger_->labelsize(16);
|
||||||
o->callback((Fl_Callback*)cb_larger_);
|
larger_->callback((Fl_Callback*)cb_larger_);
|
||||||
}
|
} // Fl_Button* larger_
|
||||||
{ Fl_Group* o = new Fl_Group(10, 350, 296, 25);
|
{ Fl_Group* o = new Fl_Group(10, 350, 296, 25);
|
||||||
o->box(FL_DOWN_BOX);
|
o->box(FL_DOWN_BOX);
|
||||||
o->color(FL_BACKGROUND2_COLOR);
|
o->color(FL_BACKGROUND2_COLOR);
|
||||||
{ Fl_Input* o = find_ = new Fl_Input(35, 352, 268, 21, "@search");
|
{ find_ = new Fl_Input(35, 352, 268, 21, "@search");
|
||||||
o->tooltip("find text in document");
|
find_->tooltip("find text in document");
|
||||||
o->box(FL_FLAT_BOX);
|
find_->box(FL_FLAT_BOX);
|
||||||
o->labelsize(13);
|
find_->labelsize(13);
|
||||||
o->callback((Fl_Callback*)cb_find_);
|
find_->callback((Fl_Callback*)cb_find_);
|
||||||
o->when(FL_WHEN_ENTER_KEY_ALWAYS);
|
find_->when(FL_WHEN_ENTER_KEY_ALWAYS);
|
||||||
Fl_Group::current()->resizable(o);
|
Fl_Group::current()->resizable(find_);
|
||||||
}
|
} // Fl_Input* find_
|
||||||
o->end();
|
o->end();
|
||||||
Fl_Group::current()->resizable(o);
|
Fl_Group::current()->resizable(o);
|
||||||
}
|
} // Fl_Group* o
|
||||||
o->end();
|
o->end();
|
||||||
}
|
} // Fl_Group* o
|
||||||
o->size_range(260, 150);
|
window_->size_range(260, 150);
|
||||||
o->end();
|
window_->end();
|
||||||
}
|
} // Fl_Double_Window* window_
|
||||||
back_->deactivate();
|
back_->deactivate();
|
||||||
forward_->deactivate();
|
forward_->deactivate();
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ class FL_EXPORT Fl_Help_Dialog {open
|
|||||||
label {Help Dialog} open
|
label {Help Dialog} open
|
||||||
private xywh {398 65 530 385} type Double resizable size_range {260 150 0 0} visible
|
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())
|
callback {if (view_->filename())
|
||||||
{
|
{
|
||||||
if (view_->changed())
|
if (view_->changed())
|
||||||
@@ -87,8 +87,6 @@ class FL_EXPORT Fl_Help_Dialog {open
|
|||||||
forward_->deactivate();
|
forward_->deactivate();
|
||||||
}} open
|
}} open
|
||||||
private xywh {10 10 510 330} box DOWN_BOX selection_color 15 resizable
|
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
|
Fl_Group {} {open
|
||||||
xywh {10 348 510 27}
|
xywh {10 348 510 27}
|
||||||
|
|||||||
+33
-30
@@ -434,20 +434,21 @@ Fl_Help_View::draw()
|
|||||||
|
|
||||||
draw_box(b, x(), y(), ww, hh, bgcolor_);
|
draw_box(b, x(), y(), ww, hh, bgcolor_);
|
||||||
|
|
||||||
|
int ss = Fl::scrollbar_size();
|
||||||
if (hscrollbar_.visible()) {
|
if (hscrollbar_.visible()) {
|
||||||
draw_child(hscrollbar_);
|
draw_child(hscrollbar_);
|
||||||
hh -= 17;
|
hh -= ss;
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
if (scrollbar_.visible()) {
|
if (scrollbar_.visible()) {
|
||||||
draw_child(scrollbar_);
|
draw_child(scrollbar_);
|
||||||
ww -= 17;
|
ww -= ss;
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
if (i == 2) {
|
if (i == 2) {
|
||||||
fl_color(FL_GRAY);
|
fl_color(FL_GRAY);
|
||||||
fl_rectf(x() + ww - Fl::box_dw(b) + Fl::box_dx(b),
|
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_)
|
if (!value_)
|
||||||
@@ -941,13 +942,6 @@ Fl_Help_View::draw()
|
|||||||
}
|
}
|
||||||
|
|
||||||
fl_pop_clip();
|
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 dx = Fl::box_dw(b) - Fl::box_dx(b);
|
||||||
int dy = Fl::box_dh(b) - Fl::box_dy(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();
|
hscrollbar_.show();
|
||||||
|
|
||||||
if (size_ < (h() - 24)) {
|
dh += ss;
|
||||||
|
|
||||||
|
if (size_ < (h() - dh)) {
|
||||||
scrollbar_.hide();
|
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 {
|
} else {
|
||||||
scrollbar_.show();
|
scrollbar_.show();
|
||||||
scrollbar_.resize(x() + w() - 17 - dx, y() + Fl::box_dy(b), 17, h() - 17 - Fl::box_dh(b));
|
scrollbar_.resize(x() + w() - ss - dx, y() + Fl::box_dy(b),
|
||||||
hscrollbar_.resize(x() + Fl::box_dx(b), y() + h() - 17 - dy, w() - 17 - Fl::box_dw(b), 17);
|
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 {
|
} else {
|
||||||
hscrollbar_.hide();
|
hscrollbar_.hide();
|
||||||
|
|
||||||
if (size_ < (h() - 8)) scrollbar_.hide();
|
if (size_ < (h() - dh)) scrollbar_.hide();
|
||||||
else {
|
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();
|
scrollbar_.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset scrolling if it needs to be...
|
// Reset scrolling if it needs to be...
|
||||||
if (scrollbar_.visible()) {
|
if (scrollbar_.visible()) {
|
||||||
int temph = h() - 8;
|
int temph = h() - Fl::box_dh(box());
|
||||||
if (hscrollbar_.visible()) temph -= 16;
|
if (hscrollbar_.visible()) temph -= ss;
|
||||||
if ((topline_ + temph) > size_) topline(size_ - temph);
|
if ((topline_ + temph) > size_) topline(size_ - temph);
|
||||||
else topline(topline_);
|
else topline(topline_);
|
||||||
} else topline(0);
|
} else topline(0);
|
||||||
|
|
||||||
if (hscrollbar_.visible()) {
|
if (hscrollbar_.visible()) {
|
||||||
int tempw = w() - 24;
|
int tempw = w() - ss - Fl::box_dw(box());
|
||||||
if ((leftline_ + tempw) > hsize_) leftline(hsize_ - tempw);
|
if ((leftline_ + tempw) > hsize_) leftline(hsize_ - tempw);
|
||||||
else leftline(leftline_);
|
else leftline(leftline_);
|
||||||
} else leftline(0);
|
} else leftline(0);
|
||||||
@@ -2743,10 +2746,6 @@ Fl_Help_View::handle(int event) // I - Event to handle
|
|||||||
fl_cursor(FL_CURSOR_DEFAULT);
|
fl_cursor(FL_CURSOR_DEFAULT);
|
||||||
return 1;
|
return 1;
|
||||||
case FL_PUSH:
|
case FL_PUSH:
|
||||||
if (Fl::focus() != this) {
|
|
||||||
Fl::focus(this);
|
|
||||||
handle(FL_FOCUS);
|
|
||||||
}
|
|
||||||
if (Fl_Group::handle(event))
|
if (Fl_Group::handle(event))
|
||||||
return 1;
|
return 1;
|
||||||
linkp = find_link(xx, yy);
|
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
|
int hh, // I - Height in pixels
|
||||||
const char *l)
|
const char *l)
|
||||||
: Fl_Group(xx, yy, ww, hh, l),
|
: Fl_Group(xx, yy, ww, hh, l),
|
||||||
scrollbar_(xx + ww - 17, yy, 17, hh - 17),
|
scrollbar_(xx + ww - Fl::scrollbar_size(), yy,
|
||||||
hscrollbar_(xx, yy + hh - 17, ww - 17, 17)
|
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);
|
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);
|
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),
|
int ss = Fl::scrollbar_size();
|
||||||
17, h() - 17 - Fl::box_dh(b));
|
scrollbar_.resize(x() + w() - ss - Fl::box_dw(b) + Fl::box_dx(b),
|
||||||
hscrollbar_.resize(x() + Fl::box_dx(b), y() + h() - 17 - Fl::box_dh(b) + Fl::box_dy(b),
|
y() + Fl::box_dy(b), ss, h() - ss - Fl::box_dh(b));
|
||||||
w() - 17 - Fl::box_dw(b), 17);
|
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();
|
format();
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -273,12 +273,12 @@ void Fl_Scroll::scrollbar_cb(Fl_Widget* o, void*) {
|
|||||||
s->position(s->xposition(), int(((Fl_Scrollbar*)o)->value()));
|
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_Scroll::Fl_Scroll(int X,int Y,int W,int H,const char* L)
|
||||||
: Fl_Group(X,Y,W,H,L),
|
: Fl_Group(X,Y,W,H,L),
|
||||||
scrollbar(X+W-SLIDER_WIDTH,Y,SLIDER_WIDTH,H-SLIDER_WIDTH),
|
scrollbar(X+W-Fl::scrollbar_size(),Y,
|
||||||
hscrollbar(X,Y+H-SLIDER_WIDTH,W-SLIDER_WIDTH,SLIDER_WIDTH) {
|
Fl::scrollbar_size(),H-Fl::scrollbar_size()),
|
||||||
|
hscrollbar(X,Y+H-Fl::scrollbar_size(),
|
||||||
|
W-Fl::scrollbar_size(),Fl::scrollbar_size()) {
|
||||||
type(BOTH);
|
type(BOTH);
|
||||||
xposition_ = 0;
|
xposition_ = 0;
|
||||||
yposition_ = 0;
|
yposition_ = 0;
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ Fl_Text_Display::Fl_Text_Display(int X, int Y, int W, int H, const char* l)
|
|||||||
|
|
||||||
end();
|
end();
|
||||||
|
|
||||||
scrollbar_width(16);
|
scrollbar_width(Fl::scrollbar_size());
|
||||||
scrollbar_align(FL_ALIGN_BOTTOM_RIGHT);
|
scrollbar_align(FL_ALIGN_BOTTOM_RIGHT);
|
||||||
|
|
||||||
mCursorOn = 0;
|
mCursorOn = 0;
|
||||||
|
|||||||
@@ -322,6 +322,9 @@ int Fl::reload_scheme() {
|
|||||||
set_boxtype(FL_THIN_DOWN_BOX, FL_PLASTIC_THIN_DOWN_BOX);
|
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_UP_BOX, FL_PLASTIC_ROUND_UP_BOX);
|
||||||
set_boxtype(_FL_ROUND_DOWN_BOX, FL_PLASTIC_ROUND_DOWN_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+")) {
|
} else if (scheme_ && !strcasecmp(scheme_, "gtk+")) {
|
||||||
// Use a GTK+ inspired look-n-feel...
|
// Use a GTK+ inspired look-n-feel...
|
||||||
if (scheme_bg_) {
|
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_THIN_DOWN_BOX, FL_GTK_THIN_DOWN_BOX);
|
||||||
set_boxtype(_FL_ROUND_UP_BOX, FL_GTK_ROUND_UP_BOX);
|
set_boxtype(_FL_ROUND_UP_BOX, FL_GTK_ROUND_UP_BOX);
|
||||||
set_boxtype(_FL_ROUND_DOWN_BOX, FL_GTK_ROUND_DOWN_BOX);
|
set_boxtype(_FL_ROUND_DOWN_BOX, FL_GTK_ROUND_DOWN_BOX);
|
||||||
|
|
||||||
|
// Use slightly thinner scrollbars...
|
||||||
|
Fl::scrollbar_size(15);
|
||||||
} else {
|
} else {
|
||||||
// Use the standard FLTK look-n-feel...
|
// Use the standard FLTK look-n-feel...
|
||||||
if (scheme_bg_) {
|
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_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_UP_BOX, fl_round_up_box, 3, 3, 6, 6);
|
||||||
set_boxtype(_FL_ROUND_DOWN_BOX, fl_round_down_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...
|
// Set (or clear) the background tile for all windows...
|
||||||
|
|||||||
Reference in New Issue
Block a user