Commit Graph

9463 Commits

Author SHA1 Message Date
Matthias Melcher 17c8f73a88 STR 3460.C: Code Properties remembers the editor's scroll bar position. 2021-12-08 18:55:44 +01:00
Matthias Melcher 16dae3ea06 Fluid: restructuring and commenting.
tl;dr : making Fluid maintainable, no changes in code execution and logic.

This is a pretty extensive restructuring of the Fluid source tree.
It was neccessary because source and header files were getting
much too big to handle. Many source files had no header, and many
headers declared functions that were in diffrent source files.

Reorganized much of the include statements.
Added comments to some of the files.
Added Doxygen configuration file for standalone Fluid docs.

Tested everything by rebuilding Fluid .fl designs with the resorted
version of Fluid.
2021-12-08 15:52:15 +01:00
engelsman 2d18c6f650
Documentation on widget coordinates and layout, plus new test programs (#304)
Add coordinates and layout section to user manual

add section to user manual to clarify the use of window-relative
coordinates in both Fl_Group and Fl_Window containers, and include
brief descriptions of current layout manager widgets in one place.

add test/coordinates.cxx, test/wizard.cxx and related screenshots
under documentation/src.

update CMakeLists.txt, Makefile and .gitignore for new files.

Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2021-12-08 15:00:33 +01:00
Albrecht Schlosser eb7fb00801 Improve Fl_Scroll docs regarding its bounding box
Make clear that outside labels of widgets are not considered when
calculating the bounding box of the children (scroll area) and
include a hint to add an invisible box if necessary.
2021-12-08 14:22:40 +01:00
ManoloFLTK 4bc25f7f9d Fix for issue #278 - continued : add CMake OPTION_USE_KDIALOG
Use of the kdialog command by class Fl_Naive_File_Chooser can now be turned off
at build-time through CMake OPTION_USE_KDIALOG.

If building via configure + make, set #define USE_KDIALOG to 0 in config.h before make.
2021-12-08 09:41:06 +01:00
ManoloFLTK 630517049f Fix for issue #278 - continued
Because kdialog can't select multiple directories, run the GTK chooser
when BROWSE_MULTI_DIRECTORY is used.
2021-12-07 12:57:49 +01:00
ManoloFLTK 663b93a807 Fix for issue #278: Can we use the qt/kde file picker instead of gtk?
Under the X11 platform, class Fl_Native_File_Chooser will behave as follows :
- if the KDE desktop is used and if command "kdialog" is available in the path,
the Qt/KDE file chooser is used;
- otherwise, if the GTK library is available at run-time,
the GTK file chooser is used;
- otherwise, the FLTK file chooser is used.

In addition, when Fl::OPTION_FNFC_USES_GTK is off, the FLTK file chooser
is always used.
2021-12-07 11:24:35 +01:00
ManoloFLTK 939d536b66 Fix for fltk.coredev "reentrant calls with Fl_Window::resize" - cont'd 2021-12-07 10:54:41 +01:00
Albrecht Schlosser 16c9641797 Improve documentation index and chapter "Migrating Code ..."
- remove redundant "Revision 11" from documentation index page.
- update index (missing refs and one wrong ref)
- update page break
- document header requirements and potential FLTK 1.3 code issues
2021-12-07 00:42:05 +01:00
Albrecht Schlosser 8334abe544 Fix whitespace errors (no code changes)
(1) convert tabs to spaces
(2) remove trailing whitespace
2021-12-06 19:56:40 +01:00
Albrecht Schlosser 39b5ae9e6e Fix Fl_Window::size_range() documentation (STR 3352)
"Tiny window problem if child group larger than window"

See Greg's comment 4: "something is wrong here: either the logic or
the docs are incorrect, not sure which."

It turned out that both were incorrect.

Since we fixed the code this commit completes the STR by fixing the
docs as well so they match the behavior.
2021-12-06 19:49:16 +01:00
ManoloFLTK 8bf62c67cf macOS platform: compute the screen number where a top window is mapped. 2021-12-06 10:18:29 +01:00
Albrecht Schlosser 9154291940 Fix filename in doxygen comment, update dependencies 2021-12-06 00:43:24 +01:00
Matthias Melcher a646c3f012 Fluid: fixing missing return. 2021-12-05 23:46:11 +01:00
Matthias Melcher ff869e7419 Fluid STR 3460: Shell Cmd would saye code to wrong path. 2021-12-05 23:30:41 +01:00
Matthias Melcher 45d1d95b57 Fluid: Adding shortcuts for Checkbox and Radio Menuitems. 2021-12-05 21:51:18 +01:00
Matthias Melcher 2e08864f9e Fluid: Adding shortcuts for Checkbox and Radio Menuitems. 2021-12-05 21:50:46 +01:00
Greg Ercolano 74dd5164d3 Fixes STR #3352: "tiny window problem if child group larger than window" 2021-12-05 12:26:25 -08:00
Albrecht Schlosser cf58f7ae2b Fix MSVC compiler warnings 2021-12-05 21:00:15 +01:00
Matthias Melcher 7d26ee6ac2 Fluid: fixed typos in pixmap's XPM format. 2021-12-05 13:02:03 +01:00
Matthias Melcher 30371740ac STR #2842: new widgets will be created where the user clicked the RMB
If a user adds a new widget using the right mouse button in any of the
design's windows, the new widget will be located with its top left corner
at the selected position.
2021-12-05 00:40:08 +01:00
Matthias Melcher 204ac3dfdf Fluid: adapting menu to pixmap changes. 2021-12-05 00:18:41 +01:00
Matthias Melcher 21a75a18f8 Fluid support for high res graphics
Changing all pixmaps to Hi DPI
Fixed wrong tooltip
Fixed misleading "invisible" indicator
2021-12-04 23:28:07 +01:00
Albrecht Schlosser a0724ab7c4 Add fl_message_icon_label() function (STR #2762)
This message icon label (usually one character) will be used in the
next call of one of the common dialogs.

test/ask.cxx: use fl_message_icon_label()
2021-12-04 20:36:11 +01:00
Albrecht Schlosser 130f864d1d Rename src/Fl_String.cxx to src/Fl_String_class.cxx
Sorry for the noise, still fixing a name class on case-insensitive
file systems (macOS and Windows).
2021-12-04 15:50:10 +01:00
Albrecht Schlosser 7a7e50df6e Rename FL/Fl_String.H to FL/Fl_String_class.H
The previous name existed already with different case (fl_string.h)
in the FL folder which broke the build on macOS and Windows.

This may be a temporary fix - until I find a better way.
2021-12-04 15:34:41 +01:00
Albrecht Schlosser b6de09cff2 Re-enable nested (aka recursive) common dialogs (STR 3242, #282)
Apply Fl_Dialog_r10831.patch as given in STR 3242:
https://www.fltk.org/strfiles/3242/Fl_Dialog_r10831.patch

Reformat, add missing pieces, rename private members, cleanup...

Improve documentation, add fl_choice_n() (issue #282)

New methods fl_input_str() and fl_password_str() return Fl_String
2021-12-04 14:49:27 +01:00
Albrecht Schlosser 2404656266 Add minimal version of class Fl_String
This class will be used in fl_input_str() and fl_password_str().

Todo: add missing documentation ...
2021-12-04 13:40:29 +01:00
Matthias Melcher 0f72957a24
Merge branch 'fltk:master' into master 2021-12-03 20:35:21 +01:00
Matthias Melcher c55fd6f704 CMake for Apple Xcode usability improvements 2021-12-03 20:29:20 +01:00
ManoloFLTK 596a937530 PostScript output: initialise member variables in Fl_Cairo_Graphics_Driver constructor.
Also, remove inadequate Fl_Surface_Device::push_current(this) call in Fl_Posix_Printer_Driver::begin_job().
2021-12-02 10:54:40 +01:00
ManoloFLTK 2db94dcb4c Hack to restore "configure --enable-x11" on macOS ≥ 11
Since macOS 11, configure --enable-x11 (and the equivalent with CMake)
fails when compiling fl_write_png.cxx in parsing of time.h.
The error happens only if png.h is included without time.h having
been included before.
The fix is to #include time.h before png.h

A better fix than his hack is desirable.
2021-12-01 13:38:55 +01:00
Greg Ercolano 36af6a5729 Solves Fl_Tree focus box artifacts on linux - fixes issue #299.
Nabbed the current code from Fl_Widget::draw_focus() which solves.
2021-11-27 10:20:47 -08:00
Greg Ercolano 84c09ae7b2 Fixes #297 - improvements for icon.cxx + icon() docs 2021-11-26 13:13:58 -08:00
Greg Ercolano 6fc5c16e1c Fixes warnings about test/icon.cxx in issue #296 2021-11-26 09:50:19 -08:00
ManoloFLTK 390fa9caa7 Fix for issue #254: remove hardware overlay support - cont'd. 2021-11-26 15:28:43 +01:00
ManoloFLTK 25eed24172 Removed following removal of support for X11 hardware overlay (issue #254) 2021-11-26 15:21:41 +01:00
ManoloFLTK eb8b016fab Fix for issue #254: remove hardware overlay support . 2021-11-26 15:16:15 +01:00
ManoloFLTK 84cf249482 Fix for issue #253: Remove xdbe support 2021-11-26 15:01:54 +01:00
Greg Ercolano 2b400f6abc Solves png warnings from gcc 11.2.0/Rev2 for issue #296 2021-11-25 09:50:45 -08:00
Albrecht Schlosser 7b9ddd97c3 Fix group nesting / end() statements in test/cube demo 2021-11-25 13:36:44 +01:00
ManoloFLTK 2f50640732 X11+XRender platform: more accurate drawing of RGB images when GUI is scaled.
RGB images are now drawn to a size that exactly fit discretised rectangles when non
integral GUI scaling values are used.
2021-11-25 11:19:10 +01:00
ManoloFLTK bf470919f7 Fix X11 platform bug when drawing transparent RGB image without XRender.
The bug would appear with test/device and when scaling up to 133% or above:
the background of the Porsche pixmap would be truncated.
The bug requires to set OPTION_XRENDERER=0 to appear.
2021-11-25 09:12:08 +01:00
Greg Ercolano a900411ee2 Better solution for issue #296 2021-11-24 15:13:04 -08:00
Greg Ercolano e97fd17e04 Solves Fl_Table_Row warning in issue #296 2021-11-24 14:57:44 -08:00
Albrecht Schlosser ef1c2d5b26 Fix README files and remove stale config.guess and config.sub
README.Unix.txt and README.Windows.txt (MinGW, MSYS) instructed to
execute `NOCONFIGURE=1 ./autogen.sh` which is no longer necessary
(a simple `autoconf` does the job).

Remove files misc/config.guess and misc/config.sub because they are
no longer needed: these files are now in th FLTK root directory
available. Remove all references to these files.

Fix .gitattributes accordingly. Also exclude the .github folder
from exports, for instance when creating distribution tarballs.
2021-11-24 15:01:45 +01:00
ManoloFLTK 7e484c614c Fix for [fltk.coredev] reentrant calls with Fl_Window::resize 2021-11-24 10:35:18 +01:00
Albrecht Schlosser 1ce3a84e9f Refactor and improve "Print front window" dialog
src/print_button.cxx: "Print front window" implementation (new file)

This is compiled and activated if USE_PRINT_BUTTON is defined.

The feature can be fine controlled by environment variable
  'FLTK_PRINT_BUTTON' (see docs in source file).
2021-11-19 18:50:53 +01:00
Albrecht Schlosser 0b8eabd184 Disable confusing debug info in clipboard viewer demo
Windows only, depends now on macro DEBUG_CLIPBOARD_DATA.
2021-11-19 18:29:34 +01:00
Albrecht Schlosser 4d31c5bd4f Fix doxygen docs of fl_draw_check()
.. as pointed out by Ian in fltk.coredev. Thanks.
2021-11-19 14:29:46 +01:00