|
Oxygen XML Editor 14.2 Author API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectro.sync.ecss.extensions.api.AuthorSchemaAwareEditingHandlerAdapter
ro.sync.ecss.extensions.tei.TEISchemaAwareEditingHandler
@API(type=INTERNAL, src=PUBLIC) public class TEISchemaAwareEditingHandler
Specific editing support for TEI documents. Handles typing and paste events inside list (a item with a para will be created and the typing/paste content be put inside it) and tables.
Field Summary | |
---|---|
protected java.lang.String |
documentNamespace
For TEI P5 http://www.tei-c.org/ns/1.0, for TEI P4 an empty string. |
Fields inherited from class ro.sync.ecss.extensions.api.AuthorSchemaAwareEditingHandlerAdapter |
---|
lastHandlerResult |
Fields inherited from interface ro.sync.ecss.extensions.api.AuthorSchemaAwareEditingHandler |
---|
ACTION_ID_BACKSPACE, ACTION_ID_CUT, ACTION_ID_DELETE, ACTION_ID_DND, ACTION_ID_INSERT_FRAGMENT, ACTION_ID_PASTE, ACTION_ID_TYPING, CREATE_FRAGMENT_PURPOSE_COPY, CREATE_FRAGMENT_PURPOSE_CUT, CREATE_FRAGMENT_PURPOSE_DND_COPY, CREATE_FRAGMENT_PURPOSE_DND_MOVE |
Constructor Summary | |
---|---|
TEISchemaAwareEditingHandler(java.lang.String documentNamespace)
Constructor. |
Method Summary | |
---|---|
boolean |
handlePasteFragment(int offset,
AuthorDocumentFragment[] fragmentsToInsert,
int actionId,
AuthorAccess authorAccess)
Handle an insert fragment event generated by: a Paste action. |
boolean |
handleTyping(int offset,
char ch,
AuthorAccess authorAccess)
Handle a typing event. |
boolean |
handleTypingFallback(int offset,
char ch,
AuthorAccess authorAccess)
Give a fallback solution for a typing event. |
protected boolean |
isElementWithNameAndNamespace(AuthorNode node,
java.lang.String elementLocalName)
|
protected void |
pushContextElement(WhatElementsCanGoHereContext context,
java.lang.String elementName)
Derive the given context by adding the given element. |
Methods inherited from class ro.sync.ecss.extensions.api.AuthorSchemaAwareEditingHandlerAdapter |
---|
getLastResult, handleCreateDocumentFragment, handleDelete, handleDeleteElementTags, handleDeleteNodes, handleDeleteSelection, handleJoinElements |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final java.lang.String documentNamespace
Constructor Detail |
---|
public TEISchemaAwareEditingHandler(java.lang.String documentNamespace)
documentNamespace
- The document namespace, for different versions of TEI.Method Detail |
---|
public boolean handleTyping(int offset, char ch, AuthorAccess authorAccess) throws InvalidEditException
AuthorSchemaAwareEditingHandler
AuthorSchemaAwareEditingHandler.handleTypingFallback(int, char, AuthorAccess)
will get called.
handleTyping
in interface AuthorSchemaAwareEditingHandler
handleTyping
in class AuthorSchemaAwareEditingHandlerAdapter
offset
- Offset where the typing occurred.ch
- The typed character.authorAccess
- Access class to the author functions.
InvalidEditException
- This is an invalid edit and must be rejected.AuthorSchemaAwareEditingHandlerAdapter.handleTyping(int, char, ro.sync.ecss.extensions.api.AuthorAccess)
public boolean handleTypingFallback(int offset, char ch, AuthorAccess authorAccess) throws InvalidEditException
AuthorSchemaAwareEditingHandler
AuthorSchemaAwareEditingHandler.handleTyping(int, char, AuthorAccess)
method did not handle the
typing event and neither did the AuthorSchemaAwareEditingHandler.handleTyping(int, char, AuthorAccess)
from
the default implementation.
As a fallback solution, a paragraph can be inserted at the given offset (if allowed) and then the typed character can be inserted inside it.
handleTypingFallback
in interface AuthorSchemaAwareEditingHandler
handleTypingFallback
in class AuthorSchemaAwareEditingHandlerAdapter
offset
- Offset where the typing occurred.ch
- The typed character.authorAccess
- Access class to the author functions.
true
if the typing was handled.
InvalidEditException
- This is an invalid edit and must be rejected.AuthorSchemaAwareEditingHandlerAdapter.handleTypingFallback(int, char, ro.sync.ecss.extensions.api.AuthorAccess)
public boolean handlePasteFragment(int offset, AuthorDocumentFragment[] fragmentsToInsert, int actionId, AuthorAccess authorAccess) throws InvalidEditException
AuthorSchemaAwareEditingHandler
AuthorDocumentController.insertXMLFragmentSchemaAware(String, int)
. Selection removal is handled
before calling this method.
handlePasteFragment
in interface AuthorSchemaAwareEditingHandler
handlePasteFragment
in class AuthorSchemaAwareEditingHandlerAdapter
offset
- Offset where the event occurred.fragmentsToInsert
- Fragments to be inserted.actionId
- ACTION_ID_PASTE if event was generated by paste action, ACTION_ID_DND if it was generated by
a DND event or ACTION_ID_INSERT_FRAGMENT if the event was generated by an AuthorDocumentController
schema aware insert method.authorAccess
- Access class to the author functions.
true
if the insertion was handled.
InvalidEditException
- This is an invalid edit and must be rejected.AuthorSchemaAwareEditingHandlerAdapter.handlePasteFragment(int, ro.sync.ecss.extensions.api.node.AuthorDocumentFragment[], int, ro.sync.ecss.extensions.api.AuthorAccess)
protected void pushContextElement(WhatElementsCanGoHereContext context, java.lang.String elementName)
protected boolean isElementWithNameAndNamespace(AuthorNode node, java.lang.String elementLocalName)
true
if the given node is an element with the given local name and from the TEI namespace.
|
Oxygen XML Editor 14.2 Author API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |