Commit Graph

94 Commits

Author SHA1 Message Date
Albrecht Schlosser
d589c05b17 Fix documentation typos and trailing whitespace 2024-10-15 18:59:28 +02:00
Matthias Melcher
9eb5f11c39 FLUID: Fixes file reading bug, introduces two weeks ago: #1078 2024-10-06 17:33:13 +02:00
Matthias Melcher
da20d8397d FLUID: Improved paste order option 2024-09-15 14:00:15 +02:00
Matthias Melcher
e7f1247552 FLUID: type node placement in scene graph revised
- fixes copy/paste operation that would place pasted types wrong
- improves paste into folded and unfolded groups
- improves duplication of multiple types
- much improved placement of types that don;t fit at the
  requested position
- some more testing will follow in the next days
2024-09-14 01:10:41 +02:00
Matthias Melcher
a7328d940b FLUID: Imporving method name can_have_children() 2024-09-11 15:00:48 +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
Matthias Melcher
ec9430e744 FLUID: comments, typos, formatting 2024-03-02 22:58:57 +01:00
Albrecht Schlosser
4b315d190c Fix dependencies and whitespace issues 2023-11-14 18:14:48 +01:00
Matthias Melcher
c86ca1a9fc FLUID: '\r' (CR) is skipped when reading project files
Project and code files are now always written with LF instead of
CRLF, even on MSWindows machines.
2023-11-06 11:36:02 +01:00
Matthias Melcher
e690e76da1 FLUID: Adds undo for all grid operations. 2023-11-05 22:19:03 +01:00
Matthias Melcher
032d3f5cf4 FLUID: Fixes child properties reader. 2023-11-05 14:53:47 +01:00
Matthias Melcher
9ca4aed1fa FLUID: Adds more interactive editing to Fl_Grid
* this commit introduces a few FIXMEs and TODOs that probably
can't be solved until we do some major refactoring. They work for
now, but adding more layout controlling widgets will be hard.
2023-11-02 15:18:09 +01:00
Matthias Melcher
900337f1e3
FLUID: Fixes compile error. 2023-10-27 19:06:25 +02:00
Matthias Melcher
4b5985eb49 FLUID: Fixes issues when pasting widget into Fl_Flex #809
* new virtual function layout_widget() to inform parents after
all children were added
2023-10-27 18:31:20 +02:00
Matthias Melcher
aab6afd32c FLUID: Documentation and typos. 2023-10-27 16:09:06 +02:00
Matthias Melcher
6d5021c00e FLUID: Adds initial MergeBack feature. 2023-10-26 00:39:10 +02:00
Matthias Melcher
e8d218109e FLUID: Adds much more detailed CodeView
in preparation for "find" and "reveal"
2023-10-24 14:29:01 +02:00
Matthias Melcher
9817536cfd FLUID: basic Fl_Grid support
* no settings for children yet
* ne good interactive editing for children
2023-10-20 19:00:52 +02:00
Matthias Melcher
371ff17639 FLUID: fixing settings dialog update 2023-09-27 13:14:09 +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
2e38007d1f FLUID: increases readability
- removed some direct filename manipulation
- central place to generate file names and paths
- fixes command line filename override if no actual
  batch command is given
2023-09-05 15:11:09 +02:00
Matthias Melcher
94a75b012f Fixes a bunch of typos in comments. 2023-08-26 15:17:28 +02:00
Matthias Melcher
f8a3278776 FLUID: emulated RTTI for all types
Complete type hierarchy in Fl_Types doc
Window now derives correctly from Group
Menu Items now correctly (functionally in FLUID) derived form Button
Menu Buttons have a better hierarchy
Fixing two possible crash bugs where Input_Choice was assumed to be a Menu_
Hoping I have not degraded the original code!
2023-07-19 17:45:28 +02:00
Matthias Melcher
aeedd18316 FLUID fixes wrong type IDs and more cleanup 2023-07-19 15:06:25 +02:00
Matthias Melcher
5d69828ed0 FLUID: fixes all overlapping widgets in all .fl files
Also fixes an issue with multiple use of the same variable
for different types of i18n.
2023-07-14 23:42:17 +02:00
Matthias Melcher
4d3e1032ea FLUID formatting and comments 2023-07-14 15:17:14 +02:00
Matthias Melcher
f37347dd6e
Fix and consolidate settings dialogs (#346, #703) 2023-03-19 20:04:01 +01: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
9f87af8ad9
Fl_String refactoring and extension (#683)
- add true unittest and Fl_String testing
- interface and printout are similar to gtest
  without requiring external linkage.
  just run `unittest --core`.
- new Fl_String API
- extended API to fl_input_str and fl_password_str
- co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2023-02-23 15:42:05 +01:00
Matthias Melcher
a3251b3208 FLUID: another memory leak 2023-02-09 16:48:11 +01:00
Matthias Melcher
179771acd2
Fixing FLUID file corruption from issue #653 (#662)
Removing all globals in file writer (#653 )
Fix some static analyser complaints
Valgrind: handle width==0 in GfxDrivers on Wayland and X11
Don't use `Fl_Input_::static_value`, it accesses previous
buffer that may be deleted
Project file write encapsulated, removing globals
Encapsulating project file reader, removing states in glbals
Project i/o increased source code readability
2023-01-26 15:23:43 +01:00
Matthias Melcher
a63ad76603
FLUID refactor and macOS warnings removed (#623)
P renamed to g_project
class Project renamed to class Fluid_Project
fixes macOS type cast warnings
2023-01-01 20:05:42 +01:00
Matthias Melcher
6e5c472cf9
Handle Fluid project settings better (#556)
Fix allocation bug in Fl_String
2022-11-26 01:35:50 +01:00
Matthias Melcher
93ea93ee2b
Fluid support for Fl_Flex (#523) and some Fl_Flex improvements
* Adding Fluid support for Fl_Flex, margins, and gap.

* Fluid Fl_Flex mostly working. Fixed in Fl_Flex::set_size().

* Fluid Flex live mode works, interactive dragging works

* Fluid Flex: adding check box for fixed children

* Fluid Flex: visual flexibility indicator in guides.

* Fluid Flex: bug in generated code.

* Fix formatting

* Fixing Tooltip, fixing resize issue PR #518.

* Removing unused variables.

Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2022-11-01 13:30:05 +01:00
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
Matthias Melcher
42a93eb8de avoid early include of Fl.H option 2022-01-08 22:12:41 +01:00
Matthias Melcher
2328547538 Github #351: fixed missing curly brackets. 2021-12-19 22:33:12 +01:00
Matthias Melcher
29531873ea STR 3289: Fluid i18n, gettext, catguts improvements
Removed some unneeded code.
2021-12-19 02:03:05 +01:00
Matthias Melcher
b490ce3463 STR 3355: allow Unicode UTF-8 in source code
This includes changes in the UI in Project Settings.
2021-12-17 21:28:23 +01:00
Matthias Melcher
20593074c6 github #328: temporarily disabling new project flags
Project wide settings require a redesign.
Temporarily disabled until I find a satisfying solution.
2021-12-15 20:19:33 +01:00
Albrecht Schlosser
81d07af93a Fluid: convert Fl_Group::forms_end() to a static function
... just in case we disable forms compatibility in the future and
remove Fl_Group::forms_end().

Also: improve doxygen docs, fix some typos.
2021-12-13 21:55:03 +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
c175d1276d STR 3210: fixing indentation of Fl_Menu_Item cnd Widget allbacks.
also added and fixed a few comments

STR 3210: fixed indenting of widget callbacks.

Also fixed what is considered a 'name' (could still be improved).
Also better formatting inlined functions in the header.
2021-12-09 21:51:37 +01:00
Matthias Melcher
0c1f78c1f2 STR 3460.D: fixed .fl file reading code 2021-12-09 18:55:51 +01:00
Matthias Melcher
4f2febd801 Fluid STR 3460.D: Shell commands are now saved in the .fl file (user option)
The shell properties toolbox is completely redesigned:

This dialog box offers a field for a command line and three check buttons
 to generate and save various files before the command is run.

 If the fourth checkbox, "use settings in .fl design files" is checked,
 all shell settings will be store in the current .fl file, and they will
 be read and restored when the .fl is loaded again.

 Fluid will save different shell settings for different operating system as
 it is common that a different OS requires a different shell command.

 Fluid comes with default shell settings. Pressing the "save as default" button
 will store the current setting in the Fluid app settings and are used for new
 designs, or if the "use settings..." box is not checked.

 Fluid app settings are saved per user and per machine.
2021-12-09 02:48:40 +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
Greg Ercolano
2141c63628 Implement + deploy fl_strdup() 2020-08-01 14:19:40 -07: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
Matthias Melcher
2b6347d0bd STR #3445: Duplicating Widget Class in Fluid no longer crashes. 2019-02-01 21:32:48 +01:00