Commit Graph

1951 Commits

Author SHA1 Message Date
Martín Lucas Golini
307d9249ac Add float and clear support.
Fixes in Base64 implementation.
Fixes in remote image loading.
2026-05-02 01:12:13 -03:00
Martín Lucas Golini
d54fd398f6 Fix bad includes.
Add very hacky and basic overflow support.
2026-05-01 19:06:36 -03:00
Martín Lucas Golini
157bc2962f Added HTML forms support.
Added cookies support (now it's possible to login in websites).
Improved redirect handling in HTTP client.
Fix in `Node::find*` and `UIWidget::find*` functions to ignore closing nodes.
Fix in Node min width and height handling with pixel scale different than 1.
2026-05-01 18:52:46 -03:00
Martín Lucas Golini
936938b71f Added an option to set dynamic theming in the UICodeEditor. 2026-05-01 01:07:06 -03:00
Martín Lucas Golini
12b1ff0d62 Create the code element with the correct tag. 2026-04-30 20:59:13 -03:00
Martín Lucas Golini
76de6553b4 Introducing UITextNode, a native text node representation within the eepp UI hierarchy. This solves issues where text content incorrectly intercepts CSS structural pseudo-classes (like :nth-child and :first-of-type) because it was previously wrapped in standard UIWidget components (UITextSpan).
In standard web browsers, a `Node` represents anything in the DOM (including text), whereas an `Element` represents an HTML tag. CSS selectors strictly filter by `Element`.
Currently, `eepp`'s CSS engine (`StyleSheetSpecification`) evaluates selectors directly against `Node` sibling counts (`getNodeIndex()`, `getChildCount()`). By distinguishing between "Widgets" (Elements) and "Text Nodes" at the node level, we updated these selectors to count only true structural elements, matching web standards with zero performance overhead.
2026-04-30 20:57:32 -03:00
Martín Lucas Golini
2b5d08d3b0 UITextSpan now inherits from UIRichText, if it's inline-block it will behave as a block otherwise it will continue behaving as inline. This improves inline-block behavior and it's much close to the specification. 2026-04-30 16:49:03 -03:00
Martín Lucas Golini
10b8ed8622 Fix incorrect wrap in inline-blocks. 2026-04-30 13:31:36 -03:00
Martín Lucas Golini
6691d9c174 Improvements for ul and ol.
Added a few tags: dl, dt, dd.
Load style tags inside UIRichText blocks.
Added `display: list-item`.
2026-04-30 12:58:05 -03:00
Martín Lucas Golini
04d69e2871 Several HTML widgets fixes. 2026-04-29 14:07:56 -03:00
Martín Lucas Golini
ae0fd6bc2b Fixes for absolute positioning and some minor details. 2026-04-29 13:05:29 -03:00
Martín Lucas Golini
e1d9642dc6 Simulate content-box for HTML compat layer. 2026-04-29 00:28:11 -03:00
Martín Lucas Golini
c65122e120 UITextSpan drawBorder fix when span has padding. 2026-04-28 01:28:25 -03:00
Martín Lucas Golini
7c2fad64bc Add font shorthand parser (a simplified version to what we can support now). 2026-04-28 01:14:04 -03:00
Martín Lucas Golini
bbd91d2399 Added support for margin and padding in text spans. 2026-04-27 23:58:13 -03:00
Martín Lucas Golini
24cf3ad6c7 Added UISvg (for embedded svg in XML) and UIHTMLImage (to handle HTML img, although still WIP). 2026-04-27 16:41:37 -03:00
Martín Lucas Golini
939ce02a3a Support "inherit" keyword in CSS properties. 2026-04-27 10:53:53 -03:00
Martín Lucas Golini
82a93dada4 Added UIHTMLListItem to handle list items properly. 2026-04-27 01:38:37 -03:00
Martín Lucas Golini
41e979d314 CSS Position (Out of Flow) implementation.
Added a few plan descriptions that I want to implement later.
2026-04-26 21:50:34 -03:00
Martín Lucas Golini
d93b03f624 Pump versions.
Add keybindings to the ecode markdown viewer.
Optimization in BlockLayouter.
Hack to display code in <pre><code> HTML elements.
2026-04-26 01:12:42 -03:00
Martín Lucas Golini
d8596bbdcd Merge remote-tracking branch 'origin/develop' into develop 2026-04-25 20:48:35 -03:00
Martín Lucas Golini
8a9bc2cd47 Some HTML rendering fixes. Most important is the media query is correctly processed when combining style sheets. 2026-04-25 20:47:51 -03:00
Martín Lucas Golini
1970b8bbe9 WIP CSS Display support. 2026-04-25 18:55:39 -03:00
Martín Lucas Golini
5e85425f27 Fix bug that blocked horizontal scroll on lines larger than the viewport when horizontal scrollbar was disabled. 2026-04-25 13:41:59 -03:00
Martín Lucas Golini
bc37296f66 Added kerning cache in FontTrueType. 2026-04-25 02:03:21 -03:00
Martín Lucas Golini
18ff217a11 Don't lock the editor while matching brackets. 2026-04-25 01:13:50 -03:00
Martín Lucas Golini
eec7eeb284 Fix a possible dead-lock during closing.
Update to actions/checkout@v6.
2026-04-21 00:20:39 -03:00
Martín Lucas Golini
7307b524f4 Fix UISceneNode::solveRelativePath.
Some fixes in LLM Chat UI, also added the option to display the reasoning (`display_reasoning`).
2026-04-20 01:42:12 -03:00
Martín Lucas Golini
7ec6e3cf1f Greatly improved signature help rendering, now allows to render in multi-line with text-wrapped and it's enabled by default. Added new options for the Auto Complete Plugin:
* **max_signature_helper_width**: The maximum width in stylesheet length of the signature helper (default value: "90%").
* **max_suggestion_documentation_width**:  The maximum width in stylesheet length of the currently selected suggestion item documentation (default value: "100%").
* **signature_help_multi_line**: Enables the signature help to be rendered in multiple lines if needed (wraps text), otherwise it will render in a single line and ensure the current parameter is visible.
* **suggestion_documentation**:  Enables the suggestion item documentation.

(SpartanJ/ecode#874).
2026-04-19 00:52:03 -03:00
Martín Lucas Golini
878307df78 Ups, forgot to export the new class in Windows build. 2026-04-18 15:55:59 -03:00
Martín Lucas Golini
4180e9d7c3 Separate the box placement logic into an static class UIPlacementUtils so it can be used in different cases (SpartanJ/ecode#874). 2026-04-18 15:24:27 -03:00
Martín Lucas Golini
da1bbda8c7 Much better documentation placement in the auto-complete suggestions function/method documentation (SpartanJ/ecode#874). 2026-04-18 13:27:03 -03:00
Martín Lucas Golini
18be45681d Prevent miss-matching new/delete when using ASAN. 2026-04-17 18:22:40 -03:00
Martín Lucas Golini
3908920485 Fix annoying warning. 2026-04-16 23:18:59 -03:00
Martín Lucas Golini
ac811a38d9 Add getSelectionRange to UIAbstractTableView and UITreeView. 2026-04-16 01:00:38 -03:00
Martín Lucas Golini
4a4da521d9 Change default keybindings using option+key for macOS to make possible to input text with those key combinations. Mostly changes on modifier keys for some operations: status control panels will switch with mod+number and ctrl+number will switch to tab number, also ctrl+tab and ctrl+shift+tab will advance and move to previous tab.
Also: "lsp-symbol-code-action" will default to cmd+return. "format-doc" will default to mod+option+f.
Important: these changes do not *change* any currently configured shortcut, existing users will have to migrate manually, this is intentional to not disrupt current users work flows.
These changes are for the issue: SpartanJ/ecode#877.
2026-04-14 20:56:49 -03:00
Martín Lucas Golini
530c869a02 Added TERM_PROGRAM and TERM_PROGRAM_VERSION environment variables to the new terminal instances (SpartanJ/ecode#878). 2026-04-14 18:32:14 -03:00
Martín Lucas Golini
16579dad0e margin: auto support.
background from body to html when html background is transparent.
2026-04-14 00:54:47 -03:00
Martín Lucas Golini
382781edec Make auto-indent configurable (none, preserve, smart). 2026-04-12 16:42:54 -03:00
Martín Lucas Golini
2e481f40f3 Update app title when focusing any new tab that it's not an editor or a terminal. 2026-04-12 15:45:04 -03:00
Martín Lucas Golini
a401f260e8 Fix underline in some cases not being rendered.
Fix UIWidget::propagateInheritedProperty incorrect length calculation in some specific cases.
2026-04-11 00:23:03 -03:00
Martín Lucas Golini
9c80091bba Fix Android build.
Add Brotli support to Compression, IOStreamInflate and HTTP client.
2026-04-09 01:43:25 -03:00
Martín Lucas Golini
8bbb61d8f5 Open folder if valid on press enter in path input (SpartanJ/ecode#872).
Improved resources path solving.
Minor changes in tests.
2026-04-08 20:05:52 -03:00
Martín Lucas Golini
57929621df Prevent a crash when signature parameters are incorrect.
"About ecode" close with escape (SpartanJ/ecode#873).
2026-04-08 15:51:35 -03:00
Martín Lucas Golini
311dffba7c Improved RichText custom sizes to indicate if it's a block. 2026-04-08 00:28:23 -03:00
Martín Lucas Golini
5e6c05d0c5 Fixes in Color::isColorString, added some functions to String, refactored a few things in LuaPattern. Fixed a crash while rendering text with only spaces. Improved FunctionString performance. 2026-04-07 00:05:51 -03:00
Martín Lucas Golini
535353dd02 Fixes for min-width and max-width within layouts. 2026-04-06 02:01:35 -03:00
Martín Lucas Golini
fcacef0b3d Some fixes to font-face loading. 2026-04-05 22:21:16 -03:00
Martín Lucas Golini
3fd6e5637b Fix SVG align rendering defaults to match HTML.
Fix accidental reflow on UIRichText.
2026-04-05 13:17:57 -03:00
Martín Lucas Golini
061cb53dbf Fix pt, em, rem, pc, in, cm, mm to follow HTML spec.
Fix hexa color validation in Color::isColorString.
2026-04-05 03:21:57 -03:00