Commit Graph

69 Commits

Author SHA1 Message Date
Matthias Melcher
661c0ff41b Fixed redraw range in Multiline Input with wordwrapping for space characters and for undo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4523 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-17 12:07:34 +00:00
Matthias Melcher
a15e974676 - I enlarged the 'minimal update' area in Fl_Input_, so that characters that overlap the font box will be correctly erased during minimal redraw. The original code assumes that character fin in a box from 0,0 to charcter width/height. However, many newer fonts overlap that box and leave traces when redrawn. See 'j' and 'W' in Helvetica on Mac and Windows.
- added textsize etc. support for Fluid Live Mode for Fl_Input type.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4436 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-07-20 11:11:51 +00:00
Michael R Sweet
2d1eade9bf Fl_Input_ crashed on some platforms when wrapping international
text characters (STR #836)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4338 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-05-12 16:58:45 +00:00
Michael R Sweet
1c399af444 Update source file headers with STR web page.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16 00:13:17 +00:00
Michael R Sweet
add37faa25 Copyright updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 21:55:12 +00:00
Michael R Sweet
fdd10af508 fl_old_shortcut() might read past the end of the shortcut string.
Add comment concerning pointer arithmetic in Fl_Input_::put().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3836 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-09-21 13:35:40 +00:00
Matthias Melcher
e20773fa57 Quartz port:
- removed all #warning statemnets and explained caveats with regular
  // warning lines
- made GL text rendering work again (may use wrong fonts since agl doesn't
  really support ATS)
- removed horizontal jittering in Fl_Input_ caused by fractional text
  positions. Unfortunatly, this does not work for Fl_Text_Display, which
  not only jitters, but also became horendously slow due to the complex
  font rendering in Quartz)

I will fix some of the speed issues in fl_measure this afternoon, and
also improve on the 'innards' for rgb data rendering. After that, I will
have to leave the Quartz port alone for a while due to lack of time.
I suggest we make another rc in the next days.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3812 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-09-09 21:34:48 +00:00
Michael R Sweet
62c19c63d6 More doco updates.
All of the core widgets now consistently set changed() before
calling the callback function for a change in value; this allows
programs to check the changed() state in a callback to see why
they are being called (STR #475)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3713 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-07-27 16:02:21 +00:00
Michael R Sweet
a3d0905c9e Copyright updates and prep for 1.1.5rc1.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11 04:39:01 +00:00
Michael R Sweet
037fd7bf94 Fix cursor crash bug (STR #181)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-11-01 01:07:07 +00:00
Michael R Sweet
00cb676e11 Copyright update for 1.1.3 release (not quite yet, but soon...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-30 21:46:07 +00:00
Michael R Sweet
a74795bbb8 Get rid of some valid compiler warnings with CodeWarrior that were reported
by Paul Chambers.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-11-19 16:37:36 +00:00
Michael R Sweet
7a89877eee Add const char * add methods to Fl_Check_Browser.
Fix cursor code in text widgets.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2840 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-11-14 21:05:22 +00:00
Bill Spitzak
ab9c8fe152 Typo found by Albrecht Schlo�er fixed. This would crash fltk when a
window is iconized.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2581 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-13 22:43:59 +00:00
Michael R Sweet
f0ea022d0e Use box function to redraw Fl_Browser_, Fl_Input_, and Fl_Slider.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2580 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-13 15:42:44 +00:00
Michael R Sweet
1860641362 Fix more compile errors.
Redraw Fl_Input_ background using the box() function + clipping.

Bump to 1.1.0rc6.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2575 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-12 19:42:55 +00:00
Michael R Sweet
050919103f More shadow variable changes...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2567 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-09 03:17:30 +00:00
Michael R Sweet
a6b935289e Move the rest of the image file formats (except for XBM and XPM) to
the fltk_images library; saves about 16k in the FLTK core library on my
Intel system.

Fix a memory leak bug in most of the fl_set_fonts*.cxx implementations;
as a result, the Fl_Fontdesc structure now has a fontname member to old
the human-readable font name.

Lots of fixes for shadowed variables, etc.

Use snprintf, strlcpy, and strlcat in more places.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2566 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-09 01:09:49 +00:00
Michael R Sweet
7038a9eeae Send FL_LEAVE events before FL_ENTER events.
Only change the cursor when the widget is activated.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2559 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-30 18:40:50 +00:00
Michael R Sweet
1cea00ad00 Don't paste if there is no data to paste.
Change the cursor in Fl_File_Input based on the location in the field.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2557 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-30 18:10:03 +00:00
Michael R Sweet
7bde142766 Fl_Input_ and Fl_Text_Display now change the mouse pointer to the I beam
when the mouse enters them...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2556 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-30 15:10:32 +00:00
Michael R Sweet
a5110a375d Don't allow paste inside readonly() input widgets.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2552 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-29 22:55:33 +00:00
Michael R Sweet
d453884e0f Add wrap() method and bit for Fl_Input_, and make word wrap dependent
on this (wrap margin is the width of the widget less box borders)

Don't select the text in value() for a readonly() (output) field.

Display a caret instead of a vertical bar for the cursor in output fields.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2545 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-23 16:28:19 +00:00
Michael R Sweet
57cef6a4bd Remove extra 3 pixel offset when the size is below a certain amount;
instead, use a constant +1 offset.

Add another bit to flags_, VISIBLE_FOCUS, which provides
per-widget keyboard focus control.  The default is for all
widgets to participate in keyboard focus navigation.  Use the
set_visible_focus(), clear_visible_focus(), and visible_focus()
methods on Fl_Widget to control this.

Clean up the Fl_Widget documentation and add missing stuff.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2543 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-23 15:07:33 +00:00
Michael R Sweet
667eb3ef6c Remove 3 pixel X border in input fields.
Don't quote chars 0x80 to 0x9f in input fields (labels didn't...)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2541 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-20 05:56:44 +00:00
Michael R Sweet
a48e1cac3f Port 2.0 drawing optimizations for Fl_Input_ - this provides a more
efficient fix for anti-aliased text.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2118 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-27 19:20:50 +00:00
Michael R Sweet
c2521c01da Bump version info to 1.1.0rc1.
Force full redraw in Fl_Input when using Xft or OSX anti-aliased text.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2094 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-16 17:11:11 +00:00
Michael R Sweet
7482426735 Make Fl_Output a subclass of Fl_Input, and add input_type and readonly
methods/constants to support Fl_Output as a special case of Fl_Input
(you can do everything but change the text in Fl_Output...)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2073 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-11 11:52:43 +00:00
Michael R Sweet
ef36be385e Redefine FL_ color values to use the color cube.
Add FL_BACKGROUND_COLOR, FL_BACKGROUND2_COLOR, and FL_FOREGROUND_COLOR,
and use them instead of FL_GRAY, FL_WHITE, and FL_BLACK, respectively.
(FL_GRAY defined to FL_BACKGROUND_COLOR for back-compatibility)

Add fl_rgb_color(uchar g) inline method to map 8-bit grayscale to
24-bit RGB color.

Doco updates for all of this...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2072 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-11 10:46:19 +00:00
Michael R Sweet
84950c0af7 Fl_Output didn't grab input focus, and so was unable to handle CTRL-C
to copy selected text, and wouldn't know when to redraw itself when
it lost focus...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2057 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-08 18:32:16 +00:00
Bill Spitzak
5f55e1cd63 Back-ported cut & paste code from fltk2.0.
This code splits the cut & paste into two buffers. The "SELECTION" is
used for the currently highlighted text and for middle-mouse paste and
(if possible) for handling drag & drop. The "CLIPBOARD" is for Ctrl+C
and Ctrl+V style cut & paste.

This matches how Motif, GTK, and KDE 3.0 work. But many older X
applications (including KDE 2) can only see SELECTION, this results in
cut & paste incompatability that is familiar to X users. However this
now moves fltk over to the majority camp.  On all systems this
eliminates the annoying inability to select a region and replace it
with Ctrl+V.

On Mac and Win32 the SELECTION is local to the application, so
middle-mouse paste only works between fields in the application. There
may be tricks (special clipboard data types? use drag & drop?) to make
it communicate, but unless there are standards it would be fltk-only.

The file Fl_cutpaste.cxx has been deleted, so update the IDE files!
The Win32 and Mac versions have NOT BEEN TESTED! I tried to be careful
editing them but they may need some work.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-03-07 19:22:58 +00:00
Michael R Sweet
64b4177ef4 Copyright updates...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-01 15:11:33 +00:00
Matthias Melcher
d0bdfe300d - MacOS: more keyboard handler fixes, mainly mapping of Mac specific
keys and iBook keys, several fixes to keyboard focus.

Happy Holidays!


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1894 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-22 07:16:12 +00:00
Michael R Sweet
e5db11fd43 Make paste logic smarter for int and float fields.
Replace existing text when pasting into an int or float input field.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1691 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-17 17:00:22 +00:00
Michael R Sweet
45658d7c0f Add fl_beep() function.
Don't allow non-int/float text to be pasted into an Fl_Int_Input or
Fl_Float_Input widget.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1690 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-17 16:37:48 +00:00
Michael R Sweet
079082ef7c 32-bit color (RGB0 or 000I), a la FLTK 2.0, including fl_rgb_color()
function to generate an RGB Fl_Color value.

Sort button names in FLUID.

Fix focus and scroll problems in Fl_Text_Display/Editor.

Fix radio/button demo.

Removed D2 menubar.H header...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1663 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-10-29 03:44:33 +00:00
Michael R Sweet
72b56edc29 Tooltips, and more tooltips.
Fl_Browser_, Fl_Choice, and Fl_Input_ did not do the tooltip stuff.

Fix write_properties so it writes tooltips properly from FLUID.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-09-29 22:59:45 +00:00
Michael R Sweet
94788c4628 Copyright 2001.
FLTK 1.0.11.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-01-22 15:13:41 +00:00
Bill Spitzak
f5375b6ab6 Fl_Gl_Window does not set drawbuffer(BACKBUFFER) for single-buffered
windows.

Fl_Input::replace(...) correctly updates the display if the replaced
region does not include the mark, point, or selected region.

Added Fl::add_check(...), Fl::remove_check, and Fl::has_check. These
are similar to idle callbacks but are only called just before it waits
for new events. They can be used to watch for changes in global state
and respond to them.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1347 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-12-12 08:57:30 +00:00
Bill Spitzak
33c5896a26 FL_WHEN_RELEASE on Fl_Input will now do the callback when the input
field is hidden, for instance when it is on a tab and the user switches
to another tab.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1302 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-09-19 07:21:19 +00:00
Bill Spitzak
823b1f8460 Fixes to WORDWRAP modification to Fl_Input based on work done by
Alexander Rabi Beels.  This will not affect things much because WORDWRAP
is normally disabled.  However it fixes a few bugs with word+line selection
and with up/down arrows working when there are tabs or control characters
in the text.  I modified his patches so no changes are needed to the
header files to enable wordwrap and so that very long words scroll
horizontally rather than break between letters.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1223 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-20 07:56:09 +00:00
Bill Spitzak
56347777a1 Better horizontal scrolling of Fl_Input when cursor is near end of line, restored the selection of all text when Fl_Input::value(x) is done
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1179 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-08 07:38:29 +00:00
Michael R Sweet
7bf3c4e2eb Fixed bug where Fl_Output and Fl_Multiline_Output would scroll to the
end of the value() text.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1175 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-06 18:42:08 +00:00
Michael R Sweet
f87393aaa1 OK, now version 1.0.9
Updated email addresses to point to fltk.org domain...

Updated README and CHANGES files accordingly.

Updated makeinclude and Makefile files to put -L../lib before the
LDFLAGS/GLDFLAGS to avoid problem reported by Alexander.

documentation/Makefile wasn't including makeinclude.

Updated FLUID about window to show version 1.0.9.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-05 21:21:24 +00:00
Michael R Sweet
4b561b6e90 Updated copyright notices for all of the 1.0.x files.
Updated the configure script for *BSD and GCC 2.95 (-fno-exceptions)

Added install rule to documentation directory.

Dumped old packages directory; added traditional RPM spec file and EPM
list file (that replace all of the packages stuff)

The FLUID man page is now "fluid.1" for the formatted page and "fluid.man"
for the non-formatted page, since only IRIX uses pack'd formatted man pages.

Whew!


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-04-25 22:17:00 +00:00
Bill Spitzak
8251826357 Stuff that didn't get into 1.0.7:
Fix for Borland or other platforms where GLint != int.

Fixed browser scrollbars so they work if browser is inside a scroll
(it did not update their position to match where they were drawn)

Fl_Output (and non-focused Fl_Input) now scroll in response to position()
calls from the program to show the position.  In addition I cleaned up the
horizontal scrolling of Fl_Input to be less screwy, it now never scrolls
if the text actually fits in the widget.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@959 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-12-19 05:32:34 +00:00
Bill Spitzak
c3bd173a57 More fixes to the text editing to make the NT users happy.
With all the recent check-ins, the result is that text editing is a
combination of the best parts of "CUA" and X/Motif text editing
(in my opinion).  It mostly acts like CUA with these additions:

1. Clicking in a field the first time selects the entire field (this is a
necessary modification so that it works in point-to-type window managers
and still looks like Windoze, in Windoze it appears that all text fields
are switched to all-selected when the window is "activated").

2. The middle mouse button acts like the left one and *then* does "paste".
Unlike Motif you can replace text by selecting it with the middle mouse button.

3. *drag* of the left mouse button does "copy".  Unlike Motif, other methods
of selecting text (like double-click) does not do "copy".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@807 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-30 20:21:30 +00:00
Bill Spitzak
a7904da09a I fixed Fl_Tabs so that child tabs can be added/removed without any
concern if they are selected, it uses the first visible() child to
indicate the selected tab.

Fixed up rather bogus fix for selecting entire text field when you click
on it.  This new version does not do it for multi-line and does not
mess up the middle-mouse paste action.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@777 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-15 09:01:48 +00:00
Michael R Sweet
516ed80d97 Added "buffer=0" in constructor to avoid purify errors.
git-svn-id: file:///fltk/svn/fltk/trunk@359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-03-04 18:09:18 +00:00
Bill Spitzak
4df7511b18 Didn't like yesterday's fix, I changed it so that zero-length selections
are allowed.  Warning: untested on WIN32 (although it seems likely that
it will work).


git-svn-id: file:///fltk/svn/fltk/trunk@349 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-03-02 07:03:15 +00:00