mirror of
https://github.com/storytold/gridcraft.git
synced 2026-11-15 14:52:26 +00:00
* M12.AR4: preserve Arabic logical text in bidi display and editing * M12.AR4: drop the stale "no bidi" note from the RTL sheet status * M12.AR4: open the Arabic editors and place the caret through key and pointer events in tests * M12.AR4: skip the conditional-format lookup in the formula bar unless a rule sets reading order * M12.AR4: test that the caret after typed Arabic is drawn at the text's left end (#1070) * M12.AR4: pass the theme body font in the reading-order style test * M12.AR4: adapt the Arabic UI tests to egui 0.37 (row direction, editor ids, Ctrl+End to the logical end) * M12.AR4: read the active sheet through Workbook::active_sheet() in the formula bar main made `Workbook::active_sheet` an `ActiveSheet` (shared between windows on one workbook); the formula bar's reading-order lookup takes the index from the accessor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * M12.AR4: keep explicit Left on wrapped right-to-left cells and trailing spaces in the editor Wrapped cell text lays out every row from the left when the painted alignment is Left, instead of aligning right-to-left rows to their start. The cell and formula bar editor keep trailing whitespace in their layout so a right-to-left entry ending in a space keeps the caret inside the text. * M12.AR4: keep Right and General on right-to-left sheets aligned right in wrapped cells * M12.AR4: keep right-aligned Arabic with a marked first letter inside its cell --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: FredApps <153173854+FredApps@users.noreply.github.com> Co-authored-by: FredApps <FredApps@users.noreply.github.com>
41 lines
1.6 KiB
Rust
41 lines
1.6 KiB
Rust
//! The GridCraft document model: workbooks, sheets, a copy-on-write cell store, interned
|
|
//! styles, defined names, tables, conditional formats, validation, comments, charts and print
|
|
//! settings. Pure data; calculation lives in `gridcraft-calc`.
|
|
#![deny(clippy::unwrap_used, clippy::expect_used, clippy::panic, clippy::unimplemented, clippy::todo, clippy::unreachable)]
|
|
#![forbid(unsafe_code)]
|
|
|
|
mod b64;
|
|
pub mod cell;
|
|
mod cellmap;
|
|
pub mod features;
|
|
pub mod macros;
|
|
pub mod password;
|
|
pub mod preserved;
|
|
pub mod python;
|
|
pub mod sheet;
|
|
pub mod store;
|
|
pub mod style;
|
|
pub mod workbook;
|
|
|
|
pub use cell::{Cell, CellPicture, Formula};
|
|
pub use features::*;
|
|
pub use macros::*;
|
|
pub use password::PasswordHash;
|
|
pub use preserved::{Preserved, PreservedPart, PreservedRel, PreservedSheet, PreservedXml};
|
|
pub use python::{PyCode, PyOutput};
|
|
pub use sheet::{DEFAULT_COL_WIDTH, DEFAULT_ROW_HEIGHT, LineIndex, Sheet, SheetUid, SheetViewMode, Visibility, points_to_chars};
|
|
pub use store::CellStore;
|
|
pub use style::{
|
|
Alignment, BorderLine, BorderStyle, Borders, Color, Fill, Font, HAlign, NumFmt, PatternType, ReadingOrder, Style, StyleId, StyleTable, Theme,
|
|
Underline, VAlign, VertAlign,
|
|
};
|
|
pub use workbook::{
|
|
CalcMode, CalcSettings, DefinedName, DocProps, EQUATION_BUDGET_MESSAGE, MAX_EQUATION_LAYOUT_BYTES, PhoneticProps, PhoneticRun, PhoneticString,
|
|
ShowObjects, Workbook, WorkbookView,
|
|
};
|
|
|
|
/// Font used for new workbooks. Only a name: renderers substitute an available open font
|
|
/// (e.g. the metric-compatible Carlito) when it isn't installed.
|
|
pub const DEFAULT_FONT: &str = "Calibri";
|
|
pub const DEFAULT_FONT_SIZE: f32 = 11.0;
|