mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-14 22:42:46 +00:00
Add shared IDML cross-reference source writer
This commit is contained in:
2 files changed
+15
-1
No files matched your search
@@ -45,7 +45,7 @@ pub use spread::{
|
||||
TextWrapPreference, spreads,
|
||||
};
|
||||
pub use story::{
|
||||
Ace, AnchoredObjectSetting, AnchoredObjectValues, CONTAINERS, Cell, CellOptions, Container, ContainerKind, ContentPart,
|
||||
Ace, AnchoredObjectSetting, AnchoredObjectValues, CONTAINERS, Cell, CellOptions, Container, ContainerKind, ContentPart, CrossReferenceSource,
|
||||
IndexCrossReferenceValues, IndexDocument, IndexReference, IndexTopicPath, IndexValues, PageReference, Range, SavedCrossReference,
|
||||
SavedCrossReferencePart, Story, StoryAnchor, StoryPreference, Table, TableChild, TableColumn, TableLayout, TableRow, TextNode, TrackedChangeKind,
|
||||
stories,
|
||||
|
||||
@@ -337,6 +337,20 @@ pub struct SavedCrossReference {
|
||||
pub character_range: Option<Range>,
|
||||
}
|
||||
|
||||
/// The IDML cross-reference source wrapper around its saved character range.
|
||||
pub struct CrossReferenceSource;
|
||||
|
||||
impl CrossReferenceSource {
|
||||
pub fn to_el(self_id: &str, applied_format: &str, name: &str, character_range: El) -> El {
|
||||
El::new("CrossReferenceSource")
|
||||
.with_attr("Self", self_id)
|
||||
.with_attr("AppliedFormat", applied_format)
|
||||
.with_attr("Name", name)
|
||||
.with_attr("Hidden", "false")
|
||||
.with_child(character_range)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
pub enum SavedCrossReferencePart {
|
||||
Text(String),
|
||||
|
||||
Reference in new issue
Block a user