#[non_exhaustive]#[repr(u8)]pub enum FieldType {
ClickHere = 0,
Author = 1,
LastSavedBy = 2,
CreatedTime = 3,
ModifiedTime = 4,
Title = 5,
}Expand description
Type of a press-field (누름틀) or SUMMERY auto-field carried in
[Control::Field].
ClickHere is the press-field (user-fillable form). The rest are
SUMMERY-family auto-fields (HWPX <hp:fieldBegin type="SUMMERY">,
HWP5 %smr ctrl_id) that resolve to document metadata at render time.
Wave 12n (2026-06-02) breaking: legacy Date/Time/DocSummary/UserInfo
variants were renamed to match the actual HWPX Command token and 한컴
menu item, and PageNum was moved out to [Control::InlinePageNumber]
because the wire family is atno, not SUMMERY/fieldBegin.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ClickHere = 0
Click-here placeholder press-field (default). 한컴 누름틀. HWP5 %clk.
Author = 1
SUMMERY $author — 만든 사람 (was [FieldType::DocSummary]).
LastSavedBy = 2
SUMMERY $lastsaveby — 마지막 저장한 사람 (was [FieldType::UserInfo]).
CreatedTime = 3
SUMMERY $createtime — 만든 날짜 (was [FieldType::Time]).
ModifiedTime = 4
SUMMERY $modifiedtime — 마지막 저장한 날짜 (was [FieldType::Date]).
Title = 5
SUMMERY $title — 문서 제목 (NEW in Wave 12n).
Implementations§
Source§impl FieldType
impl FieldType
Sourcepub fn summary_token(self) -> Option<&'static str>
pub fn summary_token(self) -> Option<&'static str>
Returns the HWPX Command $token for SUMMERY variants, or None
for non-SUMMERY (ClickHere).
Sourcepub fn from_summary_token(token: &str) -> Option<Self>
pub fn from_summary_token(token: &str) -> Option<Self>
Parses a SUMMERY $token ($author, $createtime, …) into a
matching FieldType. Returns None for unknown tokens; callers
should carry the raw token via [Control::UnknownSummary] instead.
Sourcepub fn hwpx_editable(self) -> bool
pub fn hwpx_editable(self) -> bool
Returns the HWPX <hp:fieldBegin editable="…"> value for this
field type (Wave 12p task #124).
Empirically derived from the Hancom-native
sample-field-docsummary.hwpx:
Author,Title→false(stable user metadata; Hancom keeps the authored value)LastSavedBy,CreatedTime,ModifiedTime→true(Hancom recomputes from the document metadata on save)ClickHere→true(placeholder press-fields are user-editable)
Encoders use this method to populate the editable attribute
instead of the prior hardcoded "1" (which previously caused
$author/$title to appear edited when re-saved by Hancom).
Trait Implementations§
impl Copy for FieldType
Source§impl<'de> Deserialize<'de> for FieldType
impl<'de> Deserialize<'de> for FieldType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for FieldType
Source§impl JsonSchema for FieldType
impl JsonSchema for FieldType
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreimpl StructuralPartialEq for FieldType
Auto Trait Implementations§
impl Freeze for FieldType
impl RefUnwindSafe for FieldType
impl Send for FieldType
impl Sync for FieldType
impl Unpin for FieldType
impl UnsafeUnpin for FieldType
impl UnwindSafe for FieldType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.