Commit Graph

110 Commits

Author SHA1 Message Date
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
3be3a0da1e FLUID: docs, testing 2023-10-20 00:23:09 +02:00
Matthias Melcher
ea88888f76 FLUID typos, comments, superfluous code 2023-10-19 23:54:37 +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
Matthias Melcher
e8eccde8db FLUID: RTTI improvements, 'is_a90' now const, apply RTTI 2023-07-19 20:42:08 +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
2279f85824 FLUID: restores g++98 compatibility
I want enum classes, sigh.
2023-07-17 20:41:04 +02:00
Matthias Melcher
80ad543963 FLUID: using symbols instead of integers 2023-07-17 15:56:05 +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
1aa6c4fed8
Fix position() methods that shadow Fl_Widget::position()
* `FL_DEPRECATED` macro to mark `position()` method that shadow `Fl_Widget::position()` #69 (#666)
2023-02-02 20:54:19 +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
bd5a42eba8 FLUID: unneeded assignment, possible NULL pointer (#660) 2023-01-23 16:24:14 +01:00
Matthias Melcher
fa41211cca
FLUID event handling and UI changes (#575)
* Full support o when()
* Making undo suspend nesting
* Finally correct undo handling for Label: input
* Documentation.
* Adding more undo checkpoints for the Widget Panel
* Quick selection of default user_data types
* Pulldown menu for system colors
* Make sure that partially typed text fields are propagated before saving
2022-12-10 13:11:49 +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
8c3778e13f
Better Fluid Widget dimension controls (#394)
* Size and position widgets can evaluate basic math.

* Allowing x, y, w, and h as variables for formulas.

Also supporting 'i' as a counting index when selecting multiple
widgets, so setting Y: to i*25+10 arranges all selected widgets
vertically.

* Additional variables cx, etc. for children box

cx, cy, cw, ch
2022-02-13 22:01:16 +01:00
Matthias Melcher
42a93eb8de avoid early include of Fl.H option 2022-01-08 22:12:41 +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
de2585d9f1
Removed superfluous comments 2021-12-18 15:22:19 +01:00
Matthias Melcher
763ba46e54 Github #340: removing two warnings. 2021-12-18 15:11:39 +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
3626e82057 GitHub #326: browser scrolling should be much improved
Code now convinces browser to rebuild when the tree changes by UI.
When widgets are move, the current widget should always be visible.
It's the responsibility of the UI callback to update the browser.
2021-12-17 18:38:26 +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
1c962bf5e2 STR 3210: indentation is now controlled in one single position for all source and header files. 2021-12-11 03:40: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
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
1be158a840 STR 3460.b: fixed scrollbar update in widget_browser
Also fixed a bug where a Manu item was accessed by index, which
already was out of sync.
2021-12-08 20:52:51 +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
1a8b94162d Fix Windows (VS) compiler warnings in fluid 2021-08-30 23:45:16 +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
a03220aba5 Fix a memory leak in fluid
Also fixed two typos in comments.
2020-03-08 12:42:30 +01:00
Matthias Melcher
f4dd9c5199 Added widget visibilit indicator to Fluid (STR #2669). 2019-02-02 23:22:40 +01:00
Matthias Melcher
6ff11dd8d0 Added Fl_Simple_Terminal to Fluid. 2019-01-14 01:43:17 +01:00
Albrecht Schlosser
2c043fb5b3 Fix string truncation in fluid (STR #2722 continued).
This commit fixes the truncated string drawing that was partly fixed
in svn r 9112 (FLTK 1.3.1, 2011-10-01).

Combined port of svn r 12057 and 12059. The latter adds sanity checks
and fixes potential buffer overflows.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12060 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-28 21:42:42 +00:00
Albrecht Schlosser
eede707852 Update fluid files and copyright.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11956 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-20 13:31:38 +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
99c536234e Add light gray separator line to fluid widget browser (STR #2997).
Also fix some comments.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10824 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-01 19:04:07 +00:00
Albrecht Schlosser
a2e13ee3a2 Fix documentation, adjust comments in fluid/Fl_Type.cxx.
No code changes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10813 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-23 00:22:42 +00:00
Matthias Melcher
d5a8755ead Added comments to Fluid Widgets. The comment field is between the Additional Code and Callback field on the C++ Tab of the Widget Editor. Care was taken to correctly resize.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10659 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-02 17:19:33 +00:00
Matthias Melcher
61a7bf60f9 Finally fixed the order of arrow and icon in the Type browser in Fluid.
Boy, this has been bothering me since the early eighties (or whenever
I checked that in first). Sorry that it took me a little while.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10657 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-01 15:33:44 +00:00
Greg Ercolano
15367447cd Fix some warnings for IRIX 6.5
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9992 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-24 19:58:24 +00:00
Albrecht Schlosser
ba8fd78d6b Fix cast using both (unsigned char) and (int) to make sure that
char values > 127 are *positive* int's. (STR #2726)
--This line, and those below, will be ignored--

M    fluid/Fl_Type.cxx


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9635 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-07-14 18:31:43 +00:00
Fabien Costantini
8ec35982ee STR2726 fix. proper cast should be int as specified in isspace documentation, not unsigned char
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9363 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-21 03:17:40 +00:00
Matthias Melcher
95692bf287 STR 2722: Fluid widget browser was not UTF8 reay yet.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9112 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-01 16:25:30 +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
bb6392f7ec Added Table and Tree support to Fluid.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8172 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-03 08:28:38 +00:00
Manolo Gouy
b5aac7591c Fix STR #2495: free memory during destructor of Fl_Type object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8107 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-22 20:20:34 +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