diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2023-10-22 19:30:37 +0200 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2023-10-22 19:35:17 +0200 |
| commit | 1209e9dcd7e1e97bedc747d06ba4eea837562158 (patch) | |
| tree | 7897d3c61368958f191bfe684b96d1d08467a2bb /FL/filename.H | |
| parent | 05ac0247cbd902f910fa89f8d4f4fde9de904b0f (diff) | |
Make Fl_String and Fl_Int_Vector private (#789)
- add CMake option 'OPTION_USE_STD'
- add configure option '--enable-use_std'
- move FL/Fl_String.H to src/Fl_String.H
- move FL/Fl_Int_Vector.H to src/Fl_Int_Vector.H
- remove Fl_String from demo program examples/callbacks.cxx
- remove Fl_Int_Vector from public header FL/Fl_Table.H
- some methods of Fl_Table are no longer inline
- add CMake option OPTION_USE_STD to allow std::string in some
selected functions and methods
Experimental, may be removed before release:
- use either Fl_Int_Vector or std::vector in Fl_Table depending
on CMake OPTION_USE_STD or configure --enable-use_std
Move all fl_filename* functions that use Fl_String to fluid
Main changes in fluid:
- add fluid_filename.h and .cxx
- include "fluid_filename.h" rather than <FL/filename.H>
Update fl_input(), fl_password() and test/ask
- add maxchar parameter to fl_input() and fl_password()
- fl_input_str() and fl_password_str() are optional and return
std::string if enabled (FLTK_USE_STD)
Diffstat (limited to 'FL/filename.H')
| -rw-r--r-- | FL/filename.H | 51 |
1 files changed, 34 insertions, 17 deletions
diff --git a/FL/filename.H b/FL/filename.H index b5b76f92f..92bf96f73 100644 --- a/FL/filename.H +++ b/FL/filename.H @@ -1,7 +1,7 @@ /* * Filename header file for the Fast Light Tool Kit (FLTK). * - * Copyright 1998-2018 by Bill Spitzak and others. + * Copyright 1998-2023 by Bill Spitzak and others. * * This library is free software. Distribution and use rights are outlined in * the file "COPYING" which should have been included with this file. If this @@ -14,16 +14,30 @@ * https://www.fltk.org/bugs.php */ -/** \file - File names and URI utility functions. +/* + * Note to devs: + * Under Windows, we include filename.H from numericsort.c; this should probably change. + * This implies that we need C-style comments and '#ifdef __cplusplus ... #endif' */ +/** \file + File names and URI utility functions. +*/ + #ifndef FL_FILENAME_H # define FL_FILENAME_H #include "Fl_Export.H" #include <FL/platform_types.h> +#ifdef __cplusplus + +// The following include is not (yet) used in FLTK 1.4 +// In FLTK 1.5 or 4.0 using std::string would be default. +// #include <string> + +#endif /* __cplusplus */ + /** \addtogroup filenames File names and URI utility functions File names and URI functions defined in <FL/filename.H> @{ */ @@ -55,22 +69,25 @@ FL_EXPORT int fl_filename_isdir(const char *name); # if defined(__cplusplus) -class Fl_String; - -FL_EXPORT Fl_String fl_filename_name(const Fl_String &filename); -FL_EXPORT Fl_String fl_filename_path(const Fl_String &filename); -FL_EXPORT Fl_String fl_filename_ext(const Fl_String &filename); -FL_EXPORT Fl_String fl_filename_setext(const Fl_String &filename, const Fl_String &new_extension); -FL_EXPORT Fl_String fl_filename_expand(const Fl_String &from); FL_EXPORT int fl_filename_absolute(char *to, int tolen, const char *from, const char *cwd); -FL_EXPORT Fl_String fl_filename_absolute(const Fl_String &from); -FL_EXPORT Fl_String fl_filename_absolute(const Fl_String &from, const Fl_String &base); FL_EXPORT int fl_filename_relative(char *to, int tolen, const char *from, const char *cwd); -FL_EXPORT Fl_String fl_filename_relative(const Fl_String &from); -FL_EXPORT Fl_String fl_filename_relative(const Fl_String &from, const Fl_String &base); -FL_EXPORT Fl_String fl_getcwd(); -# endif + +// FIXME: We can't do this in 1.4.x - enable this block in 1.5 or higher. +// See fluid/fluid_filename.{h|cxx} for an implementation using Fl_String. + +// FL_EXPORT std::string fl_filename_name(const std::string &filename); +// FL_EXPORT std::string fl_filename_path(const std::string &filename); +// FL_EXPORT std::string fl_filename_ext(const std::string &filename); +// FL_EXPORT std::string fl_filename_setext(const std::string &filename, const std::string &new_extension); +// FL_EXPORT std::string fl_filename_expand(const std::string &from); +// FL_EXPORT std::string fl_filename_absolute(const std::string &from); +// FL_EXPORT std::string fl_filename_absolute(const std::string &from, const std::string &base); +// FL_EXPORT std::string fl_filename_relative(const std::string &from); +// FL_EXPORT std::string fl_filename_relative(const std::string &from, const std::string &base); +// FL_EXPORT std::string fl_getcwd(); + +# endif /* defined(__cplusplus) */ # if defined(__cplusplus) && !defined(FL_DOXYGEN) /* @@ -120,7 +137,7 @@ FL_EXPORT void fl_decode_uri(char *uri); # endif /* __cplusplus */ /* - * FLTK 1.0.x compatibility definitions (FLTK_1_0_COMPAT) dropped in 1.4.0 + * Note: FLTK 1.0.x compatibility definitions (FLTK_1_0_COMPAT) dropped in 1.4.0 */ #endif /* FL_FILENAME_H */ |
