Commit Graph

69 Commits

Author SHA1 Message Date
Albrecht Schlosser 1209e9dcd7 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)
2023-10-22 19:35:17 +02:00
Matthias Melcher bbf0ea664d Removes dependency on Fl_Preferences::get/set(.., Fl_String, ...) 2023-10-21 18:41:57 +02:00
Matthias Melcher 71b8e77935
FLUID: adds greatly enhanced Shell Commands (#774)
The user can add an arbitrary number of highly configurable 
shell commands through the setting panel. The commands can
be saved as user preferences, inside the .fl file, or exported
to an external file. Shell scripts can be limited to individual 
platforms, can have shortcut keys, etc. .

* documentation will follow
* support to call `fltk-config` will follow
2023-09-26 16:01:03 +02:00
Matthias Melcher 94a75b012f Fixes a bunch of typos in comments. 2023-08-26 15:17:28 +02:00
Albrecht Schlosser 7b2c770ef7 Fix trailing comma in enums of public headers
Compiler warning: comma at end of enumerator list [-Wpedantic]

Note 1: I decided to fix these warnings although trailing commas in
enums are allowed at least since C++11.

Note 2: I fixed only public headers because these headers may be
compiled in user code. To do: check internal headers.
2023-04-13 20:14:36 +02:00
Matthias Melcher 13cd927ab4
Add Fl_String to Fl_Preferences (#687) 2023-02-25 22:44:39 +01:00
Albrecht Schlosser fc250a3aa2 Update documentation and dependencies 2022-03-25 17:27:46 +01:00
Albrecht Schlosser c483c4c5de Fl_Preferences (X11): Fix detection of preferences directory
- Fix compiler warning [-Wmaybe-uninitialized] for variable home
- Reformat enum 'Root' for better readability
- Add new enum values CORE_SYSTEM_L and CORE_USER_L
- Improve documentation (deprecated and new enums)
- Initialize internal static variable 'filename' which could be used
  uninitialized and thus return any previous value (type == MEMORY)
2022-02-03 20:46:13 +01:00
Matthias Melcher 7308bcdb74
Preferences XDG path (#377)
* Preferences: remove CamelCase from public interface.

* Prefs: documentation.

* Prefs: updating Doxygen comments

* XDG conforming preferences path
2022-01-23 22:35:21 +01:00
Matthias Melcher 09eff7243a
Fixing and upgrading Fl_Preferences (#374)
* Added filename function to Fl_Preferences

Static function to get filename before opening.
Member to get filename after opening.
Bug fixes for memory mapped preferences.

* ERROR is a macro on Windows, don't use it

* Added Fl_Preferences::dirty().

User can now check if the database will be written
when flushed or destroyed.
Flush returns a crude error code.

* Fl_Preferences::get binary data returns # of bytes read.

* Verified group deletion code

* Fl_Preferences ignores locale.

This will make .prefs files interchangeable
between different computers.

* Updating the Preferences Mode to ignore locale.

* Fixes in docs.
2022-01-19 16:08:29 +01: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
Albrecht Schlosser ec15ac6c89 Fix documentation typos and formatting 2020-05-24 14:18:08 +02:00
Matthias Melcher ed80d9cef0 Fixed some documentation for Fl_Preferences and fl_make_path. 2020-01-14 19:21:58 +01:00
Matthias Melcher c0237a1f04 Limiting file access for Fl_Preferences.
Added Fl_Preferences::file_access() and various flags that make it possible to limit or completely deny file access to the preferences system, either for the core library or for the application or both.
2019-12-31 18:30:04 +01:00
Manolo Gouy 46f08f6d21 Documentation: reveal where the Fl_Preferences text files are located on each platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13136 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-11-27 12:41:39 +00:00
Albrecht Schlosser 52ae3582a2 Replace "WIN32" with "_WIN32" or "Windows".
Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32".
Replace "WIN32" in text and documentation with "Windows".
Replace "MSWindows" with "Windows".

To do: README.Windows.txt (and maybe other documentation as well)
needs updates.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09 14:39:42 +00:00
Matthias Melcher a8f4fbc2ef STR #2823.2/2: Improved Fl_Preferences "dirty" flag handling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12305 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-07 21:00:17 +00:00
Greg Ercolano 67ed1a8da9 STR# #2973: applied patch str_2973_r9958_sun-fix-errors-5.patch verbatim.
src/Fl_Tree_Item.cxx -- solve: "Fl_Tree_Item.cxx",    line 614: Error: Initializing int& requires an lvalue.
    FL/Fl_Preferences.H  -- solve: "FL/Fl_Preferences.H", line 196: Error: Fl_Preferences::RootNode is not accessible from 0
    FL/Fl_Tree_Item.H    -- solve: "Fl_Tree_Item.cxx",    line 614: Error: Initializing int& requires an lvalue.
    test/unittests.cxx   -- solve: "unittests.cxx",        line 95: Error: The type "UnitTest*[]" is incomplete.
            


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-16 20:25:14 +00:00
Albrecht Schlosser 92d846caa4 Fixed Fl_Preferences documentation typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9228 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-01-18 11:39:57 +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
Greg Ercolano 0abd2665f5 Reformatting for CMP: Indent fixes, bracing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7949 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-05 00:38:16 +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 1e26ada2c5 Fixed tab key navigation to inactive widgets (STR #2420), fixed a few pedantic warnings
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7788 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-31 20:47:50 +00:00
Matthias Melcher 8ad7e5ccc0 Added callback when double-clicking file in a file chooser (STR#2346)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7783 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-30 21:52:38 +00:00
Matthias Melcher 32716d6b1e Updated the Fluid IDE support for the current source file structure. Changed the Fl_Tree rendering code around a bit to make the tree more like MSWindows on Windows and more like Apple on Apple machines. I hope you guys like it. I also moved the function to load Fl_Preferences into an Fl_Tree into the Fl_Tree class where it belongs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7672 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-10 09:44:45 +00:00
Manolo Gouy 0d32b63ea3 Fixed databse typo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7415 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-03 13:03:43 +00:00
Manolo Gouy 3ea2e46ce6 Fl_Preferences.H: renamed dummy variable id to id_ to allow gcc-3.3
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7414 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-03 09:14:03 +00:00
Matthias Melcher 2f82fd0663 Mixed bag. Please see CHANGES.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7117 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-02-20 21:14:47 +00:00
Matthias Melcher 416f5b0dcd Still not having added Fl_Tree and Fl_Table to Fluid, I remembered the plugin concept we had early on. It occured to me that writing plugins must not be difficult, and that FLTK already has everything needed. So here it is, a plugin implementation for FLTK. The MSWindows/Cygwin implementation is untested due to lack of a machine. The dynamic loading still needs a test implementation. Comments welcome.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7023 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-24 00:16:33 +00:00
Matthias Melcher 68219958d0 Fl_Preferences now have an API to delete all nodes or entries at once.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6995 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-12 08:48:55 +00:00
Matthias Melcher 3d5d2b54f2 Added a function to copy an entire Fl_Preferences database into an Fl_Tree view. This will break IDEs that do not have Fl_Tree and Fl_Table added yet!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6992 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-10 22:37:56 +00:00
Matthias Melcher bb34489826 Fixed stupid crash bug in Fl_Preferences.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6990 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-07 16:02:44 +00:00
Matthias Melcher 2164880821 Fixed previous commit
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6985 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-12-28 23:10:11 +00:00
Matthias Melcher ae9b3365aa Added an ID type to preferences which can be retrieved to then re-use the same dataset. IDs can be used in callbacks as user_data(). No need to keep an Fl_Preference around that would later require deleting.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6984 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-12-28 22:26:48 +00:00
Matthias Melcher 9048b4b895 Improved Preferences database. Branches can now be accessed by index. Added UUID generation (better versions needed for Unix and MSWin!). Added access to group name and path
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-12-27 20:14:04 +00:00
Matthias Melcher b1ba38da60 Updated doxygen docs for Fl_Input_ to get a greater insight into the code. I'll try to get full Unicode support in soon. The current code uses some interesting solutions ;-).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6770 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-18 18:52:59 +00:00
Albrecht Schlosser 509ac7e176 Reverted removal of #include <stdio.h>, because it _is_ needed.
It was removed in r 6682 (STR #2173).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6733 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-01 14:10:58 +00:00
Albrecht Schlosser 039a9be3f5 Fl_Preferences.H now doesn't include windows.h any more
(Windows only, STR #2173).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6682 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-03-14 10:23:05 +00:00
Matthias Melcher 167d767e0f Changed the copyright to 2009 for header files. Still todo: src and test directory.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6614 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01 16:11:32 +00:00
Matthias Melcher 2ecabfa676 Moved Fl_Preferences documentation to the correct places.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6490 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-31 16:30:07 +00:00
Matthias Melcher baa5549c00 Moving some doxygen dox around (Fl_Preferences).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6464 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-19 09:37:21 +00:00
Matthias Melcher fc28028954 Updated some documentation for Fl_Preferences::getUserdataPath()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6460 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-18 20:35:13 +00:00
Fabien Costantini 5a71578b1b Doxygen pdf documentation: Changed pdf mime type to application/pdf. Removed all Widget class headers from file section as they already are in the class section, this saves many pages. Also disabled the referenced by/from systematic inserts for each functions as this is more a core developer documentation feature than a fltk user manual feature, also saves many pages. Didn't use the LATEX_COMPACT feature yet, not happy with its result, will comment it later.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6439 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-15 13:46:06 +00:00
Fabien Costantini e8478458bf Doxygen documentation: Fixed most important warnings for the Fl_Widget, Fl_Window, Fl_Valuator classes that should be now a 100% documented. For the rest I drastically reduced the undocumented APIs, but many others (less important) remains.
It looks and feels pretty good now :-)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6299 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-18 19:09:34 +00:00
Fabien Costantini 2be88792b3 Doxygen documentation: fixed all ambiguous methods signatures, fixed erroneous path test into ../test since the doxyfile move, fixed all intro dl,dt,dd related tags warnings in intro.dox .
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6289 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-17 22:25:45 +00:00
Fabien Costantini ae697b80b2 Doxygen documentation : took the opportunity to update copyright info as we modified already in batch almost all sources, added also a fil doxygen command to class headers to harmonize with original matt Fl_Widget dox. format.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6265 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-16 07:26:22 +00:00
Fabien Costantini a99524ef2d Doxygen documentation. Completed Fl class, added a todo related to recent Fl API to document. Matt?. More cosmetics have been done, replaced *all* <pre> </pre> tags by \code \endcode sequences.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6260 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-15 19:21:20 +00:00
Fabien Costantini 6645d3cb6a Doxygen Documentation WP6 Done, Also completed the documentation of Help_View, Help_Dialog and cleaned up Preferences from ugly stars in comments and also removed redundant get/set text from methods doc. In this increment, we don't bother with the old dox format (comments in header). We have better things to do with our time (like about 40 mores files to doxyfy :-).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6243 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-14 20:00:03 +00:00
Albrecht Schlosser c3b29633d7 corrected some typos and wrong argument references.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-02 20:25:52 +00:00
Matthias Melcher 97b806e580 Added two UTF-8 support headers which can not be used just yet. Added sample implementation of Doxygen documentation, including a Doxygen config file, two copied doc pages documentation/index.do and documentation/preface.dox, and sample headers fro Fl_Preferences and Fl_Clock.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6089 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-04-08 00:09:16 +00:00