Commit Graph

63 Commits

Author SHA1 Message Date
Albrecht Schlosser
92e9181a0a Rename FL/fl_string.h to FL/fl_string_functions.h
This is part 1 of the final fix for a previous name clash on case
insensitive file systems (fl_string.h vs. Fl_String.H).
2022-01-16 19:47:16 +01:00
Greg Ercolano
2141c63628 Implement + deploy fl_strdup() 2020-08-01 14:19:40 -07:00
Greg Ercolano
0693c70f57 First pass at fixing issue 99
A lot of code touched because low level functions needed to pass up
error messages reliably, and this had to propagate up the entire
driver hierarchy.

Tested OK *in English* on:
     > Linux
     > OSX 10.10.x
     > Windows VS2017
     > Windows mingw64
I have no way to test on Android, but it might work.

TODO: Needs testing in other languages to verify proper UTF8 error messages,
      esp. with Windows VS, due to complexities with FormatMessage() -- see get_ms_errmsg()
2020-07-14 12:52:56 +02:00
Albrecht Schlosser
f09e17c3c5 Remove $Id$ tags, update URL's, and more
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files

The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
2020-07-06 20:28:20 +02:00
Manolo Gouy
7046e99f96 Move Fl_System_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:12:43 +00:00
Manolo Gouy
da276e6efa Add one more argument to virtual Fl_System_Driver::file_browser_load_filesystem() giving length of the filename argument
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12050 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-19 08:40:41 +00:00
Manolo Gouy
7e20aa06f9 Fix error in WIN32 code when rewriting Fl_File_Browser.cxx for the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11572 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-10 17:56:53 +00:00
Manolo Gouy
927774af85 Rewrite Fl_File_Browser.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11570 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-10 06:33:19 +00:00
Manolo Gouy
90682dbd48 Rewrite filename_isdir.cxx for the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11555 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-08 15:48:28 +00:00
Matthias Melcher
5d1df0e789 Details on PORTME items. Move fl_parse_color() to screen drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 12:57:00 +00:00
Matthias Melcher
50ee3bcd66 Mark places that need to be refactored with // PORTME:
Searching for __APPLE, WIN32 or X11 did give me many false results. I instead marked most ifdef's that I would like to get rid of with the text // PORTME:, so they can be easily found by a global search.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11 12:02:36 +00:00
Albrecht Schlosser
d32b291a72 Fix typos in #pragma FL_PORTING.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10991 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04 13:40:57 +00:00
Matthias Melcher
acf6c881d3 Updated platform specific #if's to report unimplemented code when compiling with FL_PORTING defined and WIN32 and __APPLE__ undefined>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-03 22:54:29 +00:00
Albrecht Schlosser
9797563552 Improve code formatting according to CMP.
Add one pair of braces for clarity, move some other braces and
else statements around. There's more to that, but these were
minimal changes to improve readability for solving STR #3043.
There are no real code changes involved though.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10474 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-27 15:29:54 +00:00
Manolo Gouy
1882f90a94 Removed compilation warnings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10145 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-04 13:46:09 +00:00
Ian MacArthur
b176f4d3f6 Apply the *nix file-chooser patches from STR #2935.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9884 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-16 12:02:23 +00:00
Fabien Costantini
8809c5d65d Fixed build error in msvs because Fl ref to FULLSCREEN enum was not accessible in Fl_Widget. new inline is_fullscreen() getter has been implemented to avoid a build error with (at least) msvc compilers. Fixed a ton of warnings / problems when bilding on windows 64 bits target with ms toolchain. cleaned up about 200 warnings raised when building win74 targets.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-05 05:12:30 +00:00
Greg Ercolano
4f4a8fc3c7 Modifications to all LGPL headers for STR #2685.
(to clarify static exception LGPL by changing license references)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19 04:49:30 +00:00
Matthias Melcher
9092dccab8 Changed all fixed filename buffers (that I could find) to use FL_PATH_MX instead. Raised FL_PATH_MX from skipy 256 characters to 2048, which corresponds with modern file systems.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-19 21:20:10 +00:00
Matthias Melcher
e454f97acc Fixed Copyright to 2010.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28 21:06:39 +00:00
Matthias Melcher
699bf33e69 Removed Metrowerks support for Apple builds.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7352 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29 10:47:11 +00:00
Greg Ercolano
ee1cd223a9 Added warnings re: duplicate definition of Fl_Browser.cxx's private FL_BLINE
struct in Fl_File_Browser.cxx.

Currently changes to one struct must be manually kept in sync with the other.

todo: Fl_File_Browser should be fixed to not do this.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6853 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-09-09 05:16:41 +00:00
Greg Ercolano
e60b85f94c Small mod to FL_BLINE to follow similar mod in Fl_Browser's FL_BLINE
which was made in order to solve STR #1739.

    Thanks to SebHoll for pointing this out.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6851 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-09-07 21:17:08 +00:00
Matthias Melcher
5251b64d57 Changed Copyright in 'src' directory
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01 21:28:26 +00:00
Matthias Melcher
b6bde2e456 Merging the UTF8 patch, consisting of O'ksi'd s original 1.1.6 patch and additions by Ian. PLEASE BE AWARE that the patch in its current incarnation is a regression in many aspects and further work is required before we can announce Unicode support.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-10 23:56:49 +00:00
Michael R Sweet
c8f1e91448 Rename fl_filename_isdir_quick to _fl_filename_isdir_quick, do not
export it, and add comments to indicate that it is a private API we
do not support outside of FLTK.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5635 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-01-23 15:02:00 +00:00
Matthias Melcher
e4586d1572 Removed 'optimization' for fl_filename_isdir which would break the original purpose of the fuction (testing the *existence* of a directory). But I did not want to lose the performance in the directory chooser where I *know* that a directory exists, just not if it is a file or directory, so I added the function fl_filename_isdir_quick() to do just that. Please verify that the new version works as expected, especially with regard to the directory chooser.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-01-22 11:14:29 +00:00
Michael R Sweet
c0664eefcd Fl_File_Browser did not calculate the width of directory items
correctly (STR #1470)

src/Fl_File_Browser.cxx:
    - Fl_File_Browser::item_width(): Use a bold font for directory
      items.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5529 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-10-29 12:13:56 +00:00
Matthias Melcher
7e42a63aa6 ST 1148: a preselected filename will also be selected in the file chooser when popping up. I put a lot of effort into trying to make the chooser behave as it previously did in all other situations, e.g. to choose a directory
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4875 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-03-28 15:24:14 +00:00
Michael R Sweet
c1ba87140e Fix new trailing slash usage, and restore correct OSX filesystem listing
(added filter to hide /dev and /.vol)

src/Fl_File_Browser.cxx:
    - Fl_File_Browser::load(): use getfsstat() API on OSX, and don't
      bother adding a trailing slash to directories since we already
      have them!

src/filename_list.cxx:
    - fl_filename_list(): Add 3 bytes (two possible slashes + nul byte)
      to temporary buffer, and document why we are using memcpy() instead
      of strcpy().

src/filename_isdir.cxx:
    - fl_filename_isdir(): Add check for trailing directory separator
      before wasting time doing a stat() call.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4526 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-18 14:08:17 +00:00
Matthias Melcher
eca40efb6e This change is controversial. It changes the behavior of fl_filename_list
slightly by adding a forward slash after every directory name on every
supported OS. Included in this patch is a change in the code that 
lists mounted volumes on OS X Mac.

Apple users, please check. Open FLUID, open the file dialog and
clear the current path. You shoudl see a list of mounted volumes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4525 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-17 21:56:22 +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
6492c43b4b Check for no icon, and if so manually check for a directory...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4038 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 19:36:10 +00:00
Michael R Sweet
3124794f1f Fl_File_Chooser was slow with large directories (STR #654)
FL/Fl_File_Browser.H:
    - Don't reload the directory view unless asked to.

FL/Fl_File_Chooser.H:
    - Rebuilt using current FLUID.

src/Fl_File_Browser.cxx:
    - Don't reload the directory view unless asked to.

src/Fl_File_Chooser.cxx:
    - Fl_File_Chooser::show() calls rescan().

src/Fl_File_Chooser.fl:
    - Fl_File_Chooser::show() calls rescan().

src/Fl_File_Chooser2.cxx:
    - Only call rescan() when chooser is shown.

src/Fl_File_Icon.cxx:
    - Add optimization for Windows - filenames with trailing slash are
      directories.

test/file_chooser.cxx:
    - Only call show() once...



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4010 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-05 18:26: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
1b84038345 WIN32's scandir() emulation did not allocate enough memory for
directory names (STR #263)

Fl::compose() did not handle special keys like backspace
properly (STR #293)

Fl_Choice did not clip its text when drawing using the plastic
scheme (STR #287)

Fl_Group incorrectly mapped the emacs CTRL keys to keyboard
navigation (STR #228)

Fl_File_Browser::load() didn't handle a NULL directory name (STR
#266)

64-bit library fixes (STR #261, )

The Fl_Valuator::format() function did not limit the size of the
number buffer (STR #268)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3211 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-02-26 03:06:41 +00:00
Michael R Sweet
13005b2a3f Fl_File_Browser incorrectly included "." on WIN32 (STR #9)
Include shellapi.h instead of ShellAPI.h in the WIN32
drag-n-drop code in order to work with the MingW cross compiler
(STR #6)

The cursor was not properly restored when doing drag-n-drop on
X11 (STR #4)

Fl::remove_fd() didn't recalculate the highest file descriptor
properly (STR #20)

Fl_Preferences::deleteGroup() didn't work properly (STR #13)

Fixed the fl_show_file_selector() function - it was copying
using the wrong string size (STR #14)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-05-04 21:45:46 +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
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
7b6e55deaf Remove unnecessary void cast.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2569 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-09 23:49:52 +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
629f327382 Use parenthesis for "#if defined foo" -> "#if defined(foo)" - portability.
Use ANSI C comments in flstring.h, which is included from both C++ and
C code.

Move prototypes for OSX inside existing "C" wrapper in flstring.h.

Simplify M_PI and M_SQRT2 definitions in FL/math.h; no need to define
them twice...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2537 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-17 15:23:58 +00:00
Matthias Melcher
dfefc7b244 First steps in CodeWarrior on OS_X support.
(Praise the day when I finally stop screwing up cvs ;-/  )


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2536 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-17 06:09:26 +00:00
Michael R Sweet
031fef8635 File chooser updates - ../ and ./ map properly, now show ".." in the
directory list, added custom filter stuff, added filter_value() methods.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2487 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-01 21:14:20 +00:00
Michael R Sweet
04f6fbbe03 Make sure DIRECTORY is undef'd for BC++.
Try to get rid of flickering in CubeView demo...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-06-13 19:36:01 +00:00
Michael R Sweet
88d54cd78b Massive update to use strlcpy() and strlcat() instead of strncpy()
and strncat() in almost all places (there are still a few strncpy's
that need to be used...)

Added configure check for strlcat() and strlcpy().

Added emulation code for strlcat() and strlcpy().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-16 12:47:44 +00:00
Michael R Sweet
070a4044eb Clip text in file list properly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-06 04:11:50 +00:00
Michael R Sweet
ae0a956f2e Add sort function as optional argument to Fl_File_Browser::load().
Add docos for sort functions and changes to fl_filename_list() and
Fl_File_Browser::load().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2176 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-02 14:31:10 +00:00