ecode: add customizable debugger panel layouts

- add a reusable right-side panel managed at the application level
  - migrate debugger tabs to UITabWidgetSplitter instances
  - support moving and splitting debugger tabs across bottom and right panels
  - restrict debugger tab drops to debugger-owned panel targets
  - serialize debugger tab layouts, panel state, and table column widths
  - add pixel and percentage column-width modes to UIAbstractTableView
  - support XML/CSS configuration and an optional width-mode context menu
  - preserve percentage totals across resizing, fit-to-content, minimum widths,
    scrollbar changes, and pixel-density rounding
  - add splitter edge hiding while preserving splitter-always-show precedence
  - use EventConnection ownership for safe widget and controller lifetimes
  - validate serialized splitter layouts with structural limits
  - display project-relative source paths in debugger stack frames
  - add ecode localization strings, CSS documentation, tests, and agent rules
This commit is contained in:
Martín Lucas Golini
2026-08-14 00:17:29 -03:00
parent a2c9adca9a
commit bf750761ae
37 changed files with 1579 additions and 131 deletions
+2
View File
@@ -890,6 +890,8 @@ in der Baumansicht und in Öffen-/Schließdialogen aktivieren.</string>
<string name="uifiledialog_select_file">Eine Datei auswählen</string>
<string name="uifiledialog_select_folder">Einen Ordner auswählen</string>
<string name="uifiledialog_table">Tabelle</string>
<string name="uitable_fit_columns_to_view">Spalten an Ansicht anpassen</string>
<string name="uitable_free_column_widths">Freie Spaltenbreiten</string>
<string name="uiterminal_copy">Kopieren</string>
<string name="uiterminal_open_link">Link öffnen</string>
<string name="uiterminal_paste">Einfügen</string>
+2
View File
@@ -874,6 +874,8 @@ the directory tree and in file dialogs to open a folder or file.</string>
<string name="uifiledialog_select_file">Select a file</string>
<string name="uifiledialog_select_folder">Select a folder</string>
<string name="uifiledialog_table">Table</string>
<string name="uitable_fit_columns_to_view">Fit Columns to View</string>
<string name="uitable_free_column_widths">Free Column Widths</string>
<string name="uiterminal_copy">Copy</string>
<string name="uiterminal_open_link">Open Link</string>
<string name="uiterminal_paste">Paste</string>
+2
View File
@@ -865,6 +865,8 @@ dans l'arborescence de répertoires ainsi que dans les boites de dialogues de s
<string name="uifiledialog_select_file">Sélectionner un fichier</string>
<string name="uifiledialog_select_folder">Sélectionner un dossier</string>
<string name="uifiledialog_table">Table</string>
<string name="uitable_fit_columns_to_view">Ajuster les colonnes à la vue</string>
<string name="uitable_free_column_widths">Largeurs de colonnes libres</string>
<string name="uiterminal_copy">Copier</string>
<string name="uiterminal_open_link">Ouvrir un lien</string>
<string name="uiterminal_paste">Coller</string>
+2
View File
@@ -663,6 +663,8 @@ file in the directory tree.</string>
<string name="uifiledialog_select_file">选择文件</string>
<string name="uifiledialog_select_folder">选择文件夹</string>
<string name="uifiledialog_table">Table</string>
<string name="uitable_fit_columns_to_view">列宽适应视图</string>
<string name="uitable_free_column_widths">自由调整列宽</string>
<string name="uiterminal_copy">复制</string>
<string name="uiterminal_open_link">打开链接</string>
<string name="uiterminal_paste">粘贴</string>