From aa9efcf13b60fe4da865f3d520e8ce4ee16ef913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Sun, 24 May 2026 13:15:31 -0300 Subject: [PATCH] Load CSS default HTML element styles from a CSS file with no specificity. This simplyfies how to setup the HTML defaults. Also set new defaults matching closer HTML spec. --- .ecode/project_build.json | 2 +- bin/assets/ui/breeze.css | 95 +--------- .../eepp-uihtmltable-complex-layout-2.webp | Bin 27386 -> 27464 bytes .../assets/html/element_defaults.html | 146 ++++++++++++++++ bin/unit_tests/assets/html/lobsters_item.html | 4 + include/eepp/ui/css/stylesheet.hpp | 2 + include/eepp/ui/css/stylesheetselector.hpp | 2 + include/eepp/ui/css/stylesheetstyle.hpp | 2 + include/eepp/ui/uiscenenode.hpp | 2 + include/eepp/ui/uiwidget.hpp | 4 + include/eepp/ui/uiwidgetcreator.hpp | 3 + src/eepp/ui/css/stylesheet.cpp | 6 + src/eepp/ui/css/stylesheetselector.cpp | 4 + src/eepp/ui/css/stylesheetspecification.cpp | 2 +- src/eepp/ui/css/stylesheetstyle.cpp | 8 + src/eepp/ui/tablelayouter.cpp | 12 +- src/eepp/ui/uicodeeditor.cpp | 1 + src/eepp/ui/uihtmldetails.cpp | 14 +- src/eepp/ui/uihtmlinput.cpp | 8 +- src/eepp/ui/uirichtext.cpp | 49 +----- src/eepp/ui/uiscenenode.cpp | 5 + src/eepp/ui/uitextedit.cpp | 1 + src/eepp/ui/uitextinput.cpp | 1 + src/eepp/ui/uitextspan.cpp | 17 +- src/eepp/ui/uiwebview.cpp | 2 + src/eepp/ui/uiwidget.cpp | 21 +++ src/eepp/ui/uiwidgetcreator.cpp | 163 ++++++++++++++---- src/tests/unit_tests/uihtml_tests.cpp | 19 +- 28 files changed, 407 insertions(+), 188 deletions(-) create mode 100644 bin/unit_tests/assets/html/element_defaults.html diff --git a/.ecode/project_build.json b/.ecode/project_build.json index 159f08674..9e6098a1d 100644 --- a/.ecode/project_build.json +++ b/.ecode/project_build.json @@ -220,7 +220,7 @@ "working_dir": "${project_root}/bin" }, { - "args": "-filter=\"UIRichText.InvalidWidthLengthComputation3\"", + "args": "", "command": "${project_root}/bin/unit_tests/eepp-unit_tests-debug", "name": "eepp-unit_tests-debug", "working_dir": "${project_root}/bin/unit_tests/" diff --git a/bin/assets/ui/breeze.css b/bin/assets/ui/breeze.css index f94ebed13..36f0bb0a7 100644 --- a/bin/assets/ui/breeze.css +++ b/bin/assets/ui/breeze.css @@ -52,91 +52,13 @@ droppable-hovering-color: #FFFFFF20; } -MarkdownView > *, -body { - color: var(--font); -} - -b, -strong { - font-style: bold; -} - -small { - font-size: smaller; -} - -u, -ins { - text-decoration: underline; -} - -s, -del { - text-decoration: strikethrough; -} - -i, -em, -cite { - font-style: italic; -} - -CodeEditor, -code, -kbd { - font-family: monospace; -} - -h1 { - font-size: 2em; - font-weight: bold; -} - -h2 { - font-size: 1.5em; - font-weight: bold; -} - -h3 { - font-size: 1.17em; - font-weight: bold; -} - -h4 { - font-size: 1em; - font-weight: bold; -} - -h5 { - font-size: 0.83em; - font-weight: bold; -} - -h6 { - font-size: 0.67em; - font-weight: bold; -} - -a { - cursor: arrow; - text-decoration: none; -} - -a:hover { - text-decoration: underline; - cursor: hand; -} - -sub, -sup { - font-size: smaller; -} - -blockquote { - padding-left: 8dp; +MarkdownView { background-color: var(--list-back); - border-left: 2dp solid var(--tab-line); + padding: 4dp; +} + +MarkdownView body { + color: var(--font); } MarkdownView p, @@ -171,11 +93,6 @@ MarkdownView a:hover { color: var(--font-highlight); } -MarkdownView { - background-color: var(--list-back); - padding: 4dp; -} - MarkdownView li > p { margin: 0; } MarkdownView blockquote > *:first-child { margin-top: 0dp; } MarkdownView blockquote > *:last-child { margin-bottom: 0dp; } diff --git a/bin/unit_tests/assets/html/eepp-uihtmltable-complex-layout-2.webp b/bin/unit_tests/assets/html/eepp-uihtmltable-complex-layout-2.webp index a9fa7b7dd226772e37dbe4b76d09ee9ed07dc3f6..f06d8b567990996a12b360d232870408ba8fd34a 100644 GIT binary patch literal 27464 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 J-i=e9{{l!l6>|Up diff --git a/bin/unit_tests/assets/html/element_defaults.html b/bin/unit_tests/assets/html/element_defaults.html new file mode 100644 index 000000000..f77de6360 --- /dev/null +++ b/bin/unit_tests/assets/html/element_defaults.html @@ -0,0 +1,146 @@ + + + + +HTML Element Defaults + + + +

HTML Element Default Styles

+

This page exercises all elements whose defaults were moved to widget-creation code.

+ +

Headings

+
+

Heading 1 — The quick brown fox

+

Heading 2 — The quick brown fox

+

Heading 3 — The quick brown fox

+

Heading 4 — The quick brown fox

+
Heading 5 — The quick brown fox
+
Heading 6 — The quick brown fox
+
+ +

Inline Text Semantics

+
+
b / strong bold text strong text
+
i / em / cite italic text emphasized citation
+
u / ins underlined inserted
+
s / del strikethrough deleted
+
small small text
+
code / kbd function() Ctrl+C
+
sub / sup H2O and E=mc2
+ +
a (visited) visited link
+
a (hover) hovered link
+
mark highlighted text
+
+ +

Block Elements

+
+

A paragraph of text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+

Another paragraph with a
line break in the middle.

+
+
preformatted text
+    with spaces
+  and newlines
+
+

This is a blockquote. It should have left border, left padding, and background.

+

Multiple paragraphs in a blockquote.

+
+
A div container with no special styling
+
+ +

Lists

+
+
    +
  • Unordered list item 1
  • +
  • Unordered list item 2 +
      +
    • Nested item A
    • +
    • Nested item B
    • +
    +
  • +
  • Unordered list item 3
  • +
+
    +
  1. Ordered list item 1
  2. +
  3. Ordered list item 2 +
      +
    1. Nested numbered item A
    2. +
    3. Nested numbered item B
    4. +
    +
  4. +
  5. Ordered list item 3
  6. +
+
+

Form Controls — Text Inputs

+ +
+
text
+
text (empty)
+
password
+
number
+
textarea
+
+ +

Form Controls — Buttons

+
+
submit
+
button
+
reset
+
+ +

Form Controls — Checkboxes

+
+
checkbox Option A Option B
+
radio Choice 1 Choice 2
+
+ +

Tables

+
+ + + + + + + + + + + +
Header AHeader BHeader C
Cell 1Cell 2Cell 3
Cell 4Cell 5Cell 6
Footer 1Footer 2Footer 3
+
+ +

Details / Summary

+
+
+ Click to expand details +

Hidden content revealed when summary is clicked.

+
+
+ Already open details +

This content is visible by default.

+
+
+ +

Misc

+
+
image triangle
+
fieldset +
+ Legend + Fieldset content +
+
+
hidden input (should not be visible)
+
+ + diff --git a/bin/unit_tests/assets/html/lobsters_item.html b/bin/unit_tests/assets/html/lobsters_item.html index d29921a57..050ca1698 100644 --- a/bin/unit_tests/assets/html/lobsters_item.html +++ b/bin/unit_tests/assets/html/lobsters_item.html @@ -1,5 +1,6 @@ + Lobsters