Commit Graph

104 Commits

Author SHA1 Message Date
mid-kid b83a6abe01 Configure/make: Quote variables that may contain spaces
This allows installing FLTK to directories that contain spaces.
2024-08-10 16:28:37 +02:00
Matthias Melcher fd791a068e
Separate FLUID user documentation, screen shot automation (#936)
* CMake integration, no autotiools
* alignment panel is now correctly renamed to setting panel
* source view is now correctly renamed to code view
* Merge FLTK FLUID docs into FLUID user manual.
* Add two simple entry tutorials
* Remove FLUID chapter form FLTK docs.
* GitHub action to generate HTML and PDF docs and
  make the available as artefacts
2024-04-17 17:51:32 +02:00
Albrecht Schlosser 5df5daf78e Make the 'Forms' compatibility library 'fltk_forms' optional
This library is no longer needed in FLTK itself. There is only one
demo program (test/forms.cxx) that uses it if it is built. The demo
program displays a message if fltk_forms is not available.

The default is 'enabled' for backwards compatibility but this may
be changed to 'disabled' in a future version.
2023-12-20 17:33:37 +01:00
Matthias Melcher 0b408792c0 FLUID: Refactors MergeBack
* moved functionality into its own files
* refactored all methods to be less than a page
* documented all calls
* tested all situations I could think of
2023-10-26 23:31:29 +02:00
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
Albrecht Schlosser e18762bff8 Fix fluid build with configure/make + dependencies 2023-10-21 13:26:43 +02:00
Matthias Melcher 814d642e5d FLUID: separate SourceView panel into its own file
hereby removing almost 200 lines of unrelated code form fluid.cxx
and making the location of the panel code more obvious.
Needs a make depend on Linux.
2023-08-29 02:20:50 +02:00
Albrecht Schlosser 4ec02555ef Fix missing (new) source file in fluid and dependencies
New file: Fl_Button_Type.cxx
2023-07-19 23:42:50 +02:00
Matthias Melcher 5c482f9d9b
Fix and update alignment #346 (#701)
* interactive layout alignment rewritten
* interface for new alignment rules
* new alignment dialog box
* user defined layout rules added
* layout rules can be stored in projects, settings, and external files
* Valgrind verification
2023-03-18 17:33:27 +01:00
Matthias Melcher 6fbfaba19d
Move class Fl_Shortcut_Button from FLUID to core (#677) (#680) 2023-02-15 15:24:25 +01:00
ManoloFLTK b37576aa55 New configure setting "--enable-wayland --disable-x11" to build pure Wayland platform. 2022-09-10 07:44:23 +02:00
ManoloFLTK c720aae515 Make hybrid Wayland/X11 platform. 2022-08-29 12:15:32 +02:00
ManoloFLTK 6216165dec Add the Wayland platform to FLTK 1.4 - continued. 2022-03-04 16:58:20 +01:00
Matthias Melcher 21c328f0c5 #322: remove Fluid's dependency on fltk_forms. 2021-12-13 18:44:33 +01:00
Matthias Melcher 160832ce04 STR 3442: copy/paste now inserts widget as expected.
Fluid would add pasted widgets as the last child of the
current group, even if they were cut at the beginning
of the group. This patch adds a 'startegy' to adding
widgets to allow merging closer to the 'current' widget.

Also added d'n'd for the widget bin and some other
UI improvements.

STR 3442: some preparation, variable renaming

STR 3442: unifying functions to add widgets.

Adding widgets interactively is merged into one function,
making undo/redo work as expected and removing
unexpected differences between adding by menu or bin.

STR 3442: adding drag'n'drop for windows from bin.

Just drag the window symbol out of the tree and drop it anywhere
on the desktop.

Visual representation of dragged Window.

STR 3442: insert individual nodes after 'current'

STR 3442: adding new widget at expected positions.

The widget bin can finally do drag'n'drop.
Widgets appear in the tree close to the last selection.
Duplicating now ads right below.
Cut and paste inserts after last selection.

Fluid: replaced #define with strict enum type.
2021-12-13 18:17:07 +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
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 773467dee4 Refactor macOS bundle generation to avoid "quarantine"
macOS Big Sur 11.3 introduced a new "security feature" such that
app bundles created from existing bundle templates in downloaded
files (tar distibutions, expanded) could no longer be executed
without unsetting the "quarantine" attribute. This commit fixes
this by creating all bundles from scratch.

Known *workaround* for older tarballs and snapshots:

  $ xattr -d -r com.apple.quarantine xxx.app
2021-05-13 16:18:13 +02:00
Greg Ercolano cec029dbee Rewrite CodeEditor syntax highlighting for issue #135 2020-11-01 12:16:23 -08:00
Albrecht Schlosser c9bee9ba80 Fix fluid output for international languages
The fluid version and other values in .fl files are written as float
values which means that locale settings apply since we enabled the
locale with "setlocale()".

Update the "rebuild" target in fluid and src folders to update
the fluid (.fl) files and related {.cxx|.h} files.
2020-09-16 12:15:54 +02:00
Michael Dickens 4c012bd706 Fluid: when linking include LDFLAGS order
LDFLAGS often contains "-L*" flags as provided outside the build to tell the linker where to search for libraries. If these are included -before- the ones used for internal linkage as found in LINKSHARED, and FLTK is already installed on the system, then the already-installed FLTK libraries will be found before those internal to the build. Moving the LDFLAGS after LINKSHARED generally solves this issue. Worst case the move won't hurt linking since all of the flags are still included in the link command.
2020-08-20 17:34:57 +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
Albrecht Schlosser 1078b8fe43 Update dependencies
Change sort order using -f (--ignore-case):
  fold lower case to upper case characters
2020-06-13 12:50:06 +02:00
Albrecht Schlosser 44b2b7126c Update dependency system
Try to make `make depend' independent of locale.
2019-06-22 23:42:39 +02:00
ManoloFLTK ff8f38f080 Fix Makefile to produce an app bundle under macOS 2019-02-10 16:29:58 +01:00
Albrecht Schlosser 80ad88555f Sort makedepend files for better comparability
The intention is to improve (and minimize) diffs when dependencies
are changed and `make depend' is executed.

(1) use `makedepend ... -w 20'
(2) `sort -u' the resultant file with some more "magic".

(1) makes sure that there is only one dependent file per line,
(2) makes lines unique since `makedepend' can output one file
    many times which is redundant and makes diffs hard to read.

This uses 'mv', 'grep', and 'sort' in all FLTK library Makefiles.
Image libraries are intentionally left for a later update.
2019-01-18 15:44:24 +01:00
Albrecht Schlosser 66cdcfcd1b Fluid: Fix platform-specific build system (CMake + configure).
Don't compile "empty" file (avoid warning: empty translation unit).
Add '-u' (update) command switch to 'make rebuild'.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12173 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-15 20:28:13 +00:00
Greg Ercolano 8850c5c822 Adds external editor capability to fluid for all platforms.
Solves STR#3213. [CORRECTED]



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11818 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-07-18 21:12:25 +00:00
Albrecht Schlosser d67e9ccb73 Fix compiler warnings (STR #2988) - final commit.
This commit includes all fixes from branch-1.3 (svn r 11243) and additional
fixes for warnings that crept in during the porting efforts, particularly
C++ ("//") comments in C and included header files, and some more.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27 17:27:21 +00:00
Albrecht Schlosser 12b3e335ed Fix Makefiles (particularly target 'clean').
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11237 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27 01:24:32 +00:00
Greg Ercolano bedb7fd6f0 Fixes STR# 2973: collection of Sun compiler fixes to Makefiles.
o Adds $(CXXFLAGS) to $(CXX) commands
    o Implements older, more backwards compatible Bourne shell test(1) syntax for equality tests (= vs ==)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-21 17:23:09 +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 88093df6e8 Removed IDE support from Fluid because it never got finished and seemed more like a race against windmills. I may pick this up again later - maybe.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8086 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-20 20:33:24 +00:00
Matthias Melcher 3ef47f712a Added 'rotated_text' to the Fluid IDE setup. It should probably be in 'Demo' as well.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7595 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-05-07 20:23:07 +00:00
Matthias Melcher e1d22ebba7 Added ide generating code to command line version of Fluid.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7484 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-12 05:18:38 +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 6b3f61e3ff In the configuration setp, LIBNAME (which contains the local path of the library as seen from the src directory) was used wrong. I added LIBBASENAME, the true library name without the path, and replaced LIBNAME wherever it was used wrongly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6611 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-29 19:45:46 +00:00
Michael R Sweet ba2e9f3375 Make --post create a basic Mac OS X application bundle with a shell script
that executes the bundled program.

Change the defaults for Quartz, threading, large file support, XDBE, Xft,
and Xinerama to "yes".

Remove the old Mac OS X resource fork file.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6142 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-07-13 21:39:07 +00:00
Matthias Melcher 9c538a4b2e STR 1883: Attempt to fix installation of binaries in .app bundle on platforms other than OS X. Must be tested with Cygwin and on Linux!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6051 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-02-26 15:26:08 +00:00
Matthias Melcher 5382d3c8d5 STR 1795: applied patch to fix Icon path settings. Will try on my Linux machine next.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6045 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-02-25 14:43:34 +00:00
Matthias Melcher 6df72e8979 STR #1623: restored the unloved POSTBUILD command because the reulting executable is still better than the automatically foregrounding one. The 'right thing' is to create a bundle anyways.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5728 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-03-06 17:03:25 +00:00
Michael R Sweet 58cfbc6c82 Use INSTALL_BIN instead of CP for Mac OS bundles...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5665 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-02-06 21:46:02 +00:00
Michael R Sweet 44b2ff35cf Use install command instead of CHMOD, CP, and MKDIR.
Drop all POSTBUILD stuff as it is no longer used.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5663 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-02-06 19:35:28 +00:00
Michael R Sweet 7b15f5b159 Fix install-linux target in test directory.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5511 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-10-07 11:32:22 +00:00
Matthias Melcher 46a890cad3 Fixed typo in 'desktop-osx' install. Commented out unused variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5384 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-08-30 10:01:35 +00:00
Michael R Sweet 58699112db Fix use of LDFLAGS and make install depend on all target...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5264 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-07-25 19:06:56 +00:00
Michael R Sweet eea2b38b34 Add --with-archflags option to configure script, and use it in the right
places.

Update changes file.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5216 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-06-19 18:29:31 +00:00
Matthias Melcher 4e038ef82b STR #1169: Fixed 'make distclean' to remove binaries inside MacOS app packages
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5040 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-04-28 01:10:00 +00:00
Michael R Sweet f20fc63567 Fix OSX make and install stuff.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4759 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-15 19:26:08 +00:00
Michael R Sweet 61b86ce0e5 More packaging fun (games package to "advertise" FLTK...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4755 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-15 18:02:44 +00:00