Commit Graph

1859 Commits

Author SHA1 Message Date
Martín Lucas Golini
b063cbfecf Layout fixes. 2026-03-11 02:46:19 -03:00
Martín Lucas Golini
8dd4124518 Optimized layouting of UIHTMLTable.
Fixed in HTMLFormatter not handling correctly spaces after `<br/>`.
2026-03-09 02:26:33 -03:00
Martín Lucas Golini
d45ffbfe23 Add basic HTML tables support, this allows us to display tables in Markdown files. 2026-03-08 21:51:30 -03:00
Martín Lucas Golini
4320f4aa2f Fix <style> loading with the new XML CDATA loading rules.
Fix how spaces and new lines are handled in UIRichText and UITextSpan.
2026-03-08 17:28:53 -03:00
Martín Lucas Golini
e8f4c9c8f7 More improvements in Markdown and basic HTML support (WIP!). 2026-03-08 16:00:36 -03:00
Martín Lucas Golini
9514b0fd73 Several general improvements and fixes across the UI: UIRichText, UITextSpan, UIImage, UIScrollView. 2026-03-08 03:05:17 -03:00
Martín Lucas Golini
638608b48d Fix anchors in UIRichText by using an special Anchor implementation for UITextSpan (extends from it).
Implemented proper hit-boxes for UITextSpan.
2026-03-07 02:07:56 -03:00
Martín Lucas Golini
cebde979c9 Fixes and sanity checks for issue SpartanJ/ecode#836. Added several tests that triggered the crashes. 2026-03-06 19:14:38 -03:00
Martín Lucas Golini
4edc8453fd Minor fix in RichText selection font color . 2026-03-06 14:17:39 -03:00
Martín Lucas Golini
1473f6b4b6 Add text selection support to RichText and UIRichText. 2026-03-06 12:25:33 -03:00
Martín Lucas Golini
f2a70f9589 This should fix two crashes:
* A crash during debugging that happens due to invalid memory access (UIAbstractView + VariablesModel changes).
* A crash on ChatUI when closing a chat that was about to receive a server response.
2026-03-06 00:53:05 -03:00
Martín Lucas Golini
6a9c2bbeeb Fix background color in Text (should render over text and not the bounding rectangle.
Having fixed this added background color to UIRichText and UITextSpan.
2026-03-05 21:27:35 -03:00
Martín Lucas Golini
d6fa55a696 Added UIMarkdownView and Markdown class (integrated md4c into eepp).
Fixes in HTML rendering.
Fix deadlock in Http pool shutdown.
2026-03-05 01:31:25 -03:00
Martín Lucas Golini
a19ea880cf UIRichText and UITextSpan: Allow span's to have children. 2026-03-04 01:45:59 -03:00
Martín Lucas Golini
0c1bbb6959 Improved RichText support, added more support for basic HTML elements. 2026-03-04 01:04:34 -03:00
Martín Lucas Golini
7ba21c8a0d Register some new tags. 2026-03-03 01:40:49 -03:00
Martín Lucas Golini
607aeb35d5 Fixed a stupid bug in Texture.
More UIRichText fixes, now inherits correctly the UIRichText font style into all of the span children.
2026-03-02 01:36:18 -03:00
Martín Lucas Golini
fc0f33201c RichText class now can hold any Drawable.
Added UIRichText with spans (UITextSpan). Still a WIP but core is working.
2026-03-02 00:20:24 -03:00
Martín Lucas Golini
3b671bbb97 Added documentation to Node, UINode, UIWidget, SceneNode and UISceneNode with the help of AI + human supervision (hopefully I didn't miss any important detail). I chose these classes given that they are core classes of the UI framework. 2026-02-27 00:22:58 -03:00
Martín Lucas Golini
677aab8e0c UIAbstractView::findRowWithText now accepts FindRowWithTextMatchKind instead of a boolean to force equal comparison.
Refactor of some examples, added a new hello world example but using UIApplication.
ecode: Fixed how it filters the `sbt`, `srt` and `sb` universal locator switches.
2026-02-26 00:32:48 -03:00
Martín Lucas Golini
a9901ef23b Allow to configure window shadow style with: window-shadow-color, window-shadow-offset, window-shadow-size. 2026-02-16 13:32:14 -03:00
Martín Lucas Golini
106af2f060 Minor refactor. 2026-02-15 00:07:08 -03:00
Martín Lucas Golini
1b1782bb2d I'll need this later.
Updated TODO.
2026-02-13 20:38:44 -03:00
Martín Lucas Golini
7977cd99dd Minor changes in DropDownList style.
Added StringMapModel and an example.
2026-02-09 13:37:18 -03:00
Martín Lucas Golini
e0bf0a23e5 Added a basic RichText class (and added tests and an example).
Fixed LineWrap when using initial X offset and the word does not fit in the current line but it fits in the next.
Added basic agent rules.
2026-02-08 13:35:16 -03:00
Martín Lucas Golini
4979623687 Added initial offset for Text (plus tests).
Added Primitive::drawPixelPerfectLineRectangle.
Added tRect::enlarge.
2026-02-07 13:01:10 -03:00
Martín Lucas Golini
a82a9652fb This really fixes MSVC build. But I don't understand how this broke in a first place... it makes no sense. 2026-02-05 01:44:09 -03:00
Martín Lucas Golini
9d81f9d96b I guess this should fix MSVC build. 2026-02-05 01:19:55 -03:00
Martín Lucas Golini
2687f49294 Refactor in ContextSettings.
Added NVIDIA provider in AI Assistant and updated Perplexity models.
2026-02-05 00:53:07 -03:00
Martín Lucas Golini
f2d491384d Some UI widgets constructor refactor and minor function renaming.
Added Moonshot LLM models support.
2026-02-04 01:31:43 -03:00
Martín Lucas Golini
ec47dffa30 Several fixes in soft-wrap implementation.
Added soft-wrap support in UITextView and UITooltip.
Added more soft-wrap tests, now testing also selection.
2026-02-03 01:41:15 -03:00
Martín Lucas Golini
bbb8fce43f Instead of using *::cell::text and tableview::cell::icon in breeze and styles we will just use *::tableview::cell. And leave the inner elements of PushButton unaltered (since the father already can alter them).
Did some fixes in `Text::findCharacterPos` and `Text::findCharacterFromPos`, also tentatively added support for soft-wrap in those function (I haven't tested much yet).
2026-02-01 21:46:42 -03:00
Martín Lucas Golini
b7d9fd0567 Soft-Wrap in Text support WIP. 2026-02-01 00:56:37 -03:00
Martín Lucas Golini
256df44a4d Better wildcard matching in utest (allow multiple wildcards). 2026-01-29 17:37:54 -03:00
Martín Lucas Golini
b3b5f97ab8 Optionally return wraps width when computing breaks WIP. 2026-01-26 21:59:53 -03:00
Martín Lucas Golini
efc361b654 LineWraps now also report real new line breaks (otherwise it will not be possible to partition into visual lines).
Added more text hard-wrap tests.
RGB now has a constructor that accepts Color. Color now has `toRGB()`.
2026-01-25 14:53:55 -03:00
Martín Lucas Golini
9d4fce4524 Implemented soft-wrap support in TextLayout.
Also fixed an old LineWrap::computeLineBreaks bug that wrapped too soon some texts, I had to update the tests (they where looking strange but I thought it was some unfortunate wrapping).
2026-01-25 00:26:54 -03:00
Martín Lucas Golini
1789540388 Separate TextLayout result into paragraphs with ShapedTextParagraph.
Change the `Text::wrapText` implementation to use the `LineWrap::computeLineBreaks` function, so it's consistent across eepp. Also renamed the function to `Text::hardWrapText` to be more descriptive.
Added new-line support in `LineWrap::computeLineBreaks`.
2026-01-24 17:59:09 -03:00
Martín Lucas Golini
baa16fe44d Some minor changes in TextLayout and LineWrap. 2026-01-24 13:55:58 -03:00
Martín Lucas Golini
b3748d05f2 Add yet another text rendering test. 2026-01-24 01:01:16 -03:00
Martín Lucas Golini
409cda3ba5 Minor refactor in LineWrap. 2026-01-23 21:48:10 -03:00
Martín Lucas Golini
5d56e4da34 Added String::formatBuffer for char32_t strings.
Minor fixes in breeze theme.
2026-01-22 01:41:25 -03:00
Martín Lucas Golini
faedaa43f4 Refactor in LineWrap operations enums and structs, moved everything into linewrap.hpp.
Revisiting some old code, the Map Editor, many things are not properly layouted, I might fix it later, for the moment a few minor fixes.
Fix build output and app output highlighting.
Fix isStopSelChar used in UITextInput for text selection (double click).
2026-01-21 00:03:01 -03:00
Martín Lucas Golini
f180e58e56 Added Settings -> Window -> UI Theme -> Syntax Color Scheme to use the editor color scheme globally for the UI Theme colors, having a single color palette for the whole UI and making much easier to style the UI, this solves SpartanJ/ecode#661, since now we support one UI theme for each existing syntax color scheme. Still a WIP, I'll continue improving it during the development of 0.7.5, but it's ready to use. 2026-01-18 01:38:27 -03:00
Martín Lucas Golini
cf6c14fbda Do not copy the whole SyntaxDefinition into TextDocument but instead keep the shared pointer to the definition.
Did some minor SyntaxDefinition memory access safety improvements.
In breeze color scheme definition renamed `--win-icon` to `--icon-line` and removed `--scroll-button` since it was not being used.
2026-01-17 00:19:51 -03:00
Martín Lucas Golini
a8cde70eb1 Fix a couple of very unlikely invalid memory access bugs (I was able to reproduce one of those). 2026-01-16 20:07:44 -03:00
Martín Lucas Golini
534e9a8f59 Improved FunctionString::parse to support function calls within function calls. Also fixed some corner cases and added unit tests for the function. 2026-01-15 22:05:29 -03:00
Martín Lucas Golini
f8fe1d9687 Add multi-thread protection to: ModelSelection.
Make UIAbstractView::notifySelectionChange thread-safe.
Added new UI Test (FontRendering.UITextTest).
2026-01-14 20:12:45 -03:00
Martín Lucas Golini
0f8f15fa53 Pump ecode and eepp versions.
Fix sharedir option in premake files.
Minor logic fix in copy file buffer.
2026-01-13 00:05:20 -03:00
Martín Lucas Golini
ac91cedf9c Added support for maximizing the current tab widget (commands: maximize-tab-widget and restore-maximized-tab-widget), it can also be triggered right clicking a tab -> Maximize Tab Widget (SpartanJ/ecode#651).
Added UINodeLink, this is a very simple node that lets you set a link to another node.
Improved focus control in the status bar panels and windows.
It's possible now in UICodeEditorSplitter to cancel a split request with a custom function checker.
When downloading a file that it's not a supported format, it will try to open with the default external program set in the host OS.
2026-01-11 13:32:48 -03:00