Commit Graph

109 Commits

Author SHA1 Message Date
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
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
49dd9289b8 #860: FLUID: Removes Group attributes from Fl_Terminal 2023-12-05 18:34:17 +01:00
Matthias Melcher
96730f80cb Adds some possible NULL references and small fixes 2023-12-01 16:53:27 +01:00
Albrecht Schlosser
57371365d8 Fix compiler warning, dependencies, and trailing whitespace
The benign warning was:
  ‘Fl_Browser_::hscrollbar’ will be initialized after [-Wreorder]
  ‘int Fl_Browser_::linespacing_’ ...
2023-11-27 15:33:53 +01:00
Matthias Melcher
348c1876e6 FLUID: Adds text attribute support to Fl_Terminal. 2023-11-16 00:42:57 +01:00
Matthias Melcher
69189c8f07 FLUID: Fixes missing DISPLAY connection.
Fl_Terminal opens the X11 Display before shown, so we need
to generate a proxy in batch mode. This will no longer  work
when we add more Fl_Terminal attributes to FLUID.
2023-11-15 16:05:14 +01:00
Matthias Melcher
fc03d304e7 FLUID: fixing test/valuator.fl and test/tree.fl
Using Fl_Terminal widget instead of subclassing from Fl_Group
2023-11-15 15:48:22 +01:00
Matthias Melcher
4cf758f9c4 FLUID: updates file structure README 2023-11-15 15:05:38 +01:00
Matthias Melcher
dd8ac4d557 FLUID: Replaces Fl_Simple_Terminal with Fl_Terminal 2023-11-15 13:02:48 +01:00
Matthias Melcher
e690e76da1 FLUID: Adds undo for all grid operations. 2023-11-05 22:19:03 +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
904d25dafe FLUID: Improves adding widgets to Fl_Flex. 2023-11-01 20:17:08 +01: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
17baeceb7a FLUID: Positioning grid cells intuitively.
User can now drag widgets from the toolbox into the grid
or use the context menu to add them into the corresponding
cell. If no position is indicated, now children are added at the
first free cell.
2023-10-23 01:36:55 +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
ea88888f76 FLUID typos, comments, superfluous code 2023-10-19 23:54:37 +02:00
Matthias Melcher
94a75b012f Fixes a bunch of typos in comments. 2023-08-26 15:17:28 +02:00
Matthias Melcher
43fe6ee027 FLUID improves positioning and sizing new widgets
Better default sizes for text based widgets and menu managers
Better Menu refresh on custom text heights
Smarter positioning of menu bars and groups inside tabs
Fixes wrong include guard
2023-07-20 13:49:19 +02:00
Matthias Melcher
d0331e6342 FLUID: layout preset no longer forces text font selection 2023-07-19 21:26:27 +02:00
Matthias Melcher
e8eccde8db FLUID: RTTI improvements, 'is_a90' now const, apply RTTI 2023-07-19 20:42:08 +02:00
Matthias Melcher
35728ac9ec FLUID: Fixes override attribute, cleanup 2023-07-19 17:56:18 +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
4f7a3f384f FLUID correct inheritance, formatting, factory floor cleaning 2023-07-18 15:21:14 +02:00
Matthias Melcher
2279f85824 FLUID: restores g++98 compatibility
I want enum classes, sigh.
2023-07-17 20:41:04 +02:00
Matthias Melcher
9bdc7139da FLUID: better initial sizes for buttons and windows 2023-07-17 20:21:04 +02:00
Matthias Melcher
9794d200b3 FLUID: emulating RTTI and fixing type dependencies (Buttons) 2023-07-17 18:32:13 +02:00
Matthias Melcher
80ad543963 FLUID: using symbols instead of integers 2023-07-17 15:56:05 +02:00
Matthias Melcher
4d3e1032ea FLUID formatting and comments 2023-07-14 15:17:14 +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
44c874b731
Use FL_OVERRIDE for all overridden virtual methods (#611)
FL_OVERRIDE is defined as `override` for C++11 and higher
FL_OVERRIDE is defined as `override` for VisualC 2015 and newer
Don't interfere with Fl_Widget::override()
2022-12-30 19:14:36 +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
Matthias Melcher
983777535e GitHub #329: fixed missing code
Commented out code was obsolete.
line_len was a true bug which can shred the end of lines.

Removed Warning
2021-12-16 19:51:37 +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
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
Albrecht Schlosser
5cb72ef065 Fix whitespace and minor formatting issues 2020-11-17 16:11:03 +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
Matthias Melcher
2b1bed470f Fix Fluid batch mode with Fl_Simple_Terminal.
Fl_Simple_Terminal would connect Fluid to the Display in batch mode. We
fix that by creating an Fl_Text_Display instead.
2019-02-16 00:00:24 +01:00
Matthias Melcher
2b6347d0bd STR #3445: Duplicating Widget Class in Fluid no longer crashes. 2019-02-01 21:32:48 +01:00
Matthias Melcher
6ff11dd8d0 Added Fl_Simple_Terminal to Fluid. 2019-01-14 01:43:17 +01:00
Matthias Melcher
6a61772c80 STR 3460: Fluid menu item types
Added pulldown menus to create radio style and checkbox style
menu items without going through the Class menu.
2019-01-14 01:14:40 +01:00
Matthias Melcher
011e5c498a Added new functionality to Fluid: the 'binary data' type can now include text files as well as binary files into the source code. There is an additional check box in the dialog. Terminology is now "inlined data" instead of "binary data". Texts were modified to reflect the changes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13026 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-25 15:17:16 +00:00
Albrecht Schlosser
900314d4f4 Documentation and copyright updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12450 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-12 15:26:36 +00:00
Albrecht Schlosser
141c3594d2 Fluid: remove redundant code, fix FL_IMAGE_LABEL labeltype.
Remove leading underscore from _FL_IMAGE_LABEL.
Remove redundant assignment of image().

Thanks to Greg for finding these issues.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12449 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-12 13:44:15 +00:00
Albrecht Schlosser
e629a9275b Fluid: align internal tables (no code changes).
Note: tab width 8.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12447 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-12 12:55:30 +00:00
Albrecht Schlosser
c96c4c35b0 Add 'fluid -u' command-line switch to upgrade fluid files in batch mode.
This option opens a fluid ('.fl') file and saves it overwriting the old
file with the current syntax and library version number.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10611 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-09 20:37:45 +00:00
Albrecht Schlosser
5b774e9970 Use fl_ascii_strcasecmp in fluid/factory.cxx (STR #3006).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10336 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-25 10:37:35 +00:00