Package org.omegat.gui.editor
Class EditorController
- java.lang.Object
-
- org.omegat.gui.editor.EditorController
-
- All Implemented Interfaces:
IEditor
public class EditorController extends java.lang.Object implements IEditor
Class for control all editor operations.You can find good description of java text editor working at Using the Swing Text Package that was originally found at http://java.sun.com/products/jfc/tsc/articles/text/overview/
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.omegat.gui.editor.IEditor
IEditor.CaretPosition, IEditor.CHANGE_CASE_TO
-
-
Constructor Summary
Constructors Constructor Description EditorController(MainWindow mainWindow)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivateEntry()Activate entry for edit.voidactivateEntry(IEditor.CaretPosition pos)Activates the current entry (if available) by displaying source text and embedding displayed text in markers.voidchangeCase(IEditor.CHANGE_CASE_TO toWhat)Change case of the selected text or if none is selected, of the current word.voidcommitAndDeactivate()Commits the translation.voidcommitAndLeave()Commits the translation and leave entry activated.AlphabeticalMarkersgetAlphabeticalMarkers()IAutoCompletergetAutoCompleter()Access the AutoCompleterSourceTextEntrygetCurrentEntry()Get current active entry.intgetCurrentEntryNumber()Get current active entry number.java.lang.StringgetCurrentFile()Get relative path (undersource) of the source file currently open in the editor.intgetCurrentPositionInEntryTranslation()Returns current caret position in the editable translation.SegmentBuildergetCurrentSegmentBuilder()java.lang.StringgetCurrentTargetFile()Get the relative path (undertarget) of the target file corresponding to the current source file (perIEditor.getCurrentFile()).java.lang.StringgetCurrentTranslation()Returns current translation or null.IEditorFiltergetFilter()Gets a filter for this editor, or null if filter doesn't applied.Document3.ORIENTATIONgetOrientation()returns the orientation of the document (so we can decide what way of tag colouring we need; if that has been fixed in an other way, this method can be removed again.).intgetPositionInEntryTranslation(int pos)Returns the relative caret position in the editable translation for a given absolute index into the overall editor document.java.lang.StringgetSelectedText()Get currently selected text.EditorSettingsgetSettings()Get settings instance.voidgotoEntry(int entryNum)Goto entry with specified number.voidgotoEntry(int entryNum, IEditor.CaretPosition pos)Goto entry with specified number, and restore caret to specified position.voidgotoEntry(java.lang.String srcString, EntryKey key)Goto entry based on a string and entry key.voidgotoEntryAfterFix(int entryNum, java.lang.String fixedSource)Goto entry with specified number while avoiding clobbering the tag fixes.voidgotoFile(int fileIndex)Goto first entry in specified file.voidgotoHistoryBack()Go to previous segment from history.voidgotoHistoryForward()Go to next segment from history.voidinsertTag(java.lang.String tag)Inserts tag at the cursor position, probably with adding bidi control chars.voidinsertText(java.lang.String text)Inserts text at the cursor position.voidinsertTextAndMark(java.lang.String text)Inserts text at the cursor position and mark as to be changed by the translator, i.e, background of segment should be marked Must be called only from UI thread.voidmarkActiveEntrySource(SourceTextEntry requiredActiveEntry, java.util.List<Mark> marks, java.lang.String markerClassName)All plugins can call this method for mark something in active entry.voidnextEntry()Move to next entry.voidnextEntryWithNote()Finds the next entry with a non-empty note.voidnextTranslatedEntry()Finds the next translated entry in the document.voidnextUniqueEntry()Find the next unique entry.voidnextUntranslatedEntry()Finds the next untranslated entry in the document.voidnextXAutoEntry()Finds the next/previous x-auto translated entryvoidnextXEnforcedEntry()Finds the next/previous x-enforced translated entryvoidprevEntry()Move to previous entry.voidprevEntryWithNote()Finds the previous entry with a non-empty note.voidprevXAutoEntry()Move to previous x-auto translated entry.voidprevXEnforcedEntry()Move to previous x-enforced translated entry.voidredo()Redo editing.voidrefreshEntries(java.util.Set<java.lang.Integer> entryNumbers)Refresh some entries.voidrefreshView(boolean doCommit)voidrefreshViewAfterFix(java.util.List<java.lang.Integer> fixedEntries)Refresh the current editor view while avoiding clobbering any tag fixes.voidregisterEmptyTranslation()Register as empty.voidregisterIdenticalTranslation()Register translation to be identical to source.voidregisterPopupMenuConstructors(int priority, IPopupMenuConstructor constructor)Register constructor of popup menu.voidregisterUntranslated()Register untranslated.voidremarkOneMarker(java.lang.String markerClassName)Calls specified marker for reprocess all entries.voidremoveFilter()Removes the current filter.voidreplaceEditText(java.lang.String text)Replaces the entire edit area with a given text.voidreplaceEditText(java.lang.String text, java.lang.String origin)Replaces the entire edit area with a given text which origin is origin.voidreplaceEditTextAndMark(java.lang.String text)Inserts text at the cursor position and mark as to be changed by the translator, i.e, background of segment should be marked Must be called only from UI thread.voidreplaceEditTextAndMark(java.lang.String text, java.lang.String origin)Replace text and mark as to be changed by the translator from origin, i.e, background of segment should be marked Must be called only from UI thread.voidreplacePartOfText(java.lang.String text, int start, int end)voidrequestFocus()Set current focus to editor.voidselectSourceText()Select the source text of the current segment.voidsetAlternateTranslationForCurrentEntry(boolean alternate)Set default/alternate translation for current entry.voidsetCaretPosition(IEditor.CaretPosition pos)voidsetFilter(IEditorFilter filter)Sets a filter to this editor.voidshowStat()Calculate statistic for file, request statistic for project and display in status bar.voidundo()Undo editing.voidwindowDeactivated()Perform any necessary actions for window deactivation.
-
-
-
Constructor Detail
-
EditorController
public EditorController(MainWindow mainWindow)
-
-
Method Detail
-
getOrientation
public Document3.ORIENTATION getOrientation()
returns the orientation of the document (so we can decide what way of tag colouring we need; if that has been fixed in an other way, this method can be removed again.).- Returns:
-
requestFocus
public void requestFocus()
Set current focus to editor.- Specified by:
requestFocusin interfaceIEditor
-
getCurrentEntry
public SourceTextEntry getCurrentEntry()
Get current active entry. Can be called from any thread.- Specified by:
getCurrentEntryin interfaceIEditor
-
getCurrentSegmentBuilder
public SegmentBuilder getCurrentSegmentBuilder()
-
getCurrentFile
public java.lang.String getCurrentFile()
Get relative path (undersource) of the source file currently open in the editor.Can be called from any thread.
- Specified by:
getCurrentFilein interfaceIEditor
-
getCurrentTargetFile
public java.lang.String getCurrentTargetFile()
Description copied from interface:IEditorGet the relative path (undertarget) of the target file corresponding to the current source file (perIEditor.getCurrentFile()). This file is what is created upon doing Create Target Documents, but it may not exist yet.Can be called from any thread.
- Specified by:
getCurrentTargetFilein interfaceIEditor
-
activateEntry
public void activateEntry()
Description copied from interface:IEditorActivate entry for edit. Must be called only from UI thread. Will position cursor at the start of segment- Specified by:
activateEntryin interfaceIEditor
-
activateEntry
public void activateEntry(IEditor.CaretPosition pos)
Activates the current entry (if available) by displaying source text and embedding displayed text in markers.Also moves document focus to current entry, and makes sure fuzzy info displayed if available.
-
showStat
public void showStat()
Calculate statistic for file, request statistic for project and display in status bar.
-
refreshEntries
public void refreshEntries(java.util.Set<java.lang.Integer> entryNumbers)
Refresh some entries. Usually after external translation changes replacement.
-
commitAndDeactivate
public void commitAndDeactivate()
Commits the translation. Reads current entry text and commit it to memory if it's changed. Also clears out segment markers while we're at it.Since 1.6: Translation equal to source may be validated as OK translation if appropriate option is set in Workflow options dialog.
All displayed segments with the same source text updated also.
- Specified by:
commitAndDeactivatein interfaceIEditor
-
commitAndLeave
public void commitAndLeave()
Commits the translation and leave entry activated. Translation will be saved. Must be called only from UI thread.- Specified by:
commitAndLeavein interfaceIEditor
-
nextEntry
public void nextEntry()
Description copied from interface:IEditorMove to next entry. Must be called only from UI thread.
-
prevEntry
public void prevEntry()
Description copied from interface:IEditorMove to previous entry. Must be called only from UI thread.
-
nextUntranslatedEntry
public void nextUntranslatedEntry()
Finds the next untranslated entry in the document.- Specified by:
nextUntranslatedEntryin interfaceIEditor
-
nextTranslatedEntry
public void nextTranslatedEntry()
Finds the next translated entry in the document.- Specified by:
nextTranslatedEntryin interfaceIEditor
-
nextXAutoEntry
public void nextXAutoEntry()
Finds the next/previous x-auto translated entry- Specified by:
nextXAutoEntryin interfaceIEditor
-
prevXAutoEntry
public void prevXAutoEntry()
Description copied from interface:IEditorMove to previous x-auto translated entry. Must be called only from UI thread.- Specified by:
prevXAutoEntryin interfaceIEditor
-
nextXEnforcedEntry
public void nextXEnforcedEntry()
Finds the next/previous x-enforced translated entry- Specified by:
nextXEnforcedEntryin interfaceIEditor
-
prevXEnforcedEntry
public void prevXEnforcedEntry()
Description copied from interface:IEditorMove to previous x-enforced translated entry. Must be called only from UI thread.- Specified by:
prevXEnforcedEntryin interfaceIEditor
-
nextEntryWithNote
public void nextEntryWithNote()
Finds the next entry with a non-empty note.- Specified by:
nextEntryWithNotein interfaceIEditor
-
prevEntryWithNote
public void prevEntryWithNote()
Finds the previous entry with a non-empty note.- Specified by:
prevEntryWithNotein interfaceIEditor
-
nextUniqueEntry
public void nextUniqueEntry()
Find the next unique entry.- Specified by:
nextUniqueEntryin interfaceIEditor
-
getCurrentEntryNumber
public int getCurrentEntryNumber()
Get current active entry number. Can be called from any thread.- Specified by:
getCurrentEntryNumberin interfaceIEditor
-
gotoFile
public void gotoFile(int fileIndex)
Goto first entry in specified file.
-
gotoEntry
public void gotoEntry(int entryNum)
Goto entry with specified number. Convenience method forIEditor.gotoEntry(int, CaretPosition)where the caret position will be the start of the entry.
-
gotoEntry
public void gotoEntry(int entryNum, IEditor.CaretPosition pos)Description copied from interface:IEditorGoto entry with specified number, and restore caret to specified position.
-
gotoEntry
public void gotoEntry(java.lang.String srcString, EntryKey key)Description copied from interface:IEditorGoto entry based on a string and entry key.
-
gotoEntryAfterFix
public void gotoEntryAfterFix(int entryNum, java.lang.String fixedSource)Description copied from interface:IEditorGoto entry with specified number while avoiding clobbering the tag fixes.- Specified by:
gotoEntryAfterFixin interfaceIEditor- Parameters:
entryNum- entry number, starts from 1fixedSource- The source of the entry that was fixed Must be called only from UI thread.
-
refreshViewAfterFix
public void refreshViewAfterFix(java.util.List<java.lang.Integer> fixedEntries)
Description copied from interface:IEditorRefresh the current editor view while avoiding clobbering any tag fixes.- Specified by:
refreshViewAfterFixin interfaceIEditor- Parameters:
fixedEntries- A list of all entries that were altered Must be called only from UI thread.
-
refreshView
public void refreshView(boolean doCommit)
- Specified by:
refreshViewin interfaceIEditor
-
changeCase
public void changeCase(IEditor.CHANGE_CASE_TO toWhat)
Change case of the selected text or if none is selected, of the current word.- Specified by:
changeCasein interfaceIEditor- Parameters:
toWhat- : lower, title, upper or cycle
-
replaceEditText
public void replaceEditText(java.lang.String text)
Replaces the entire edit area with a given text. Must be called only from UI thread.- Specified by:
replaceEditTextin interfaceIEditor
-
replaceEditText
public void replaceEditText(java.lang.String text, java.lang.String origin)Replaces the entire edit area with a given text which origin is origin.when manual edit and origin is unknown, origin will be null. Must be called only from UI thread.
- Specified by:
replaceEditTextin interfaceIEditor
-
replacePartOfText
public void replacePartOfText(java.lang.String text, int start, int end)
-
replaceEditTextAndMark
public void replaceEditTextAndMark(java.lang.String text, java.lang.String origin)Replace text and mark as to be changed by the translator from origin, i.e, background of segment should be marked Must be called only from UI thread.- Specified by:
replaceEditTextAndMarkin interfaceIEditor
-
replaceEditTextAndMark
public void replaceEditTextAndMark(java.lang.String text)
Inserts text at the cursor position and mark as to be changed by the translator, i.e, background of segment should be marked Must be called only from UI thread.- Specified by:
replaceEditTextAndMarkin interfaceIEditor
-
getCurrentTranslation
public java.lang.String getCurrentTranslation()
Description copied from interface:IEditorReturns current translation or null.- Specified by:
getCurrentTranslationin interfaceIEditor
-
getCurrentPositionInEntryTranslation
public int getCurrentPositionInEntryTranslation()
Returns current caret position in the editable translation.
-
getPositionInEntryTranslation
public int getPositionInEntryTranslation(int pos)
Returns the relative caret position in the editable translation for a given absolute index into the overall editor document.
-
setCaretPosition
public void setCaretPosition(IEditor.CaretPosition pos)
-
insertText
public void insertText(java.lang.String text)
Inserts text at the cursor position. Must be called only from UI thread.- Specified by:
insertTextin interfaceIEditor
-
insertTextAndMark
public void insertTextAndMark(java.lang.String text)
Inserts text at the cursor position and mark as to be changed by the translator, i.e, background of segment should be marked Must be called only from UI thread.- Specified by:
insertTextAndMarkin interfaceIEditor- Parameters:
text- The text to insert
-
insertTag
public void insertTag(java.lang.String tag)
Inserts tag at the cursor position, probably with adding bidi control chars. Must be called only from UI thread.
-
selectSourceText
public void selectSourceText()
Select the source text of the current segment.- Specified by:
selectSourceTextin interfaceIEditor
-
gotoHistoryBack
public void gotoHistoryBack()
Go to previous segment from history. Must be called only from UI thread.- Specified by:
gotoHistoryBackin interfaceIEditor
-
gotoHistoryForward
public void gotoHistoryForward()
Go to next segment from history. Must be called only from UI thread.- Specified by:
gotoHistoryForwardin interfaceIEditor
-
getSettings
public EditorSettings getSettings()
Get settings instance.- Specified by:
getSettingsin interfaceIEditor- Returns:
- interface for read and change editor settings Can be called from any thread.
-
undo
public void undo()
Undo editing. Must be called only from UI thread.
-
redo
public void redo()
Redo editing. Must be called only from UI thread.
-
getSelectedText
public java.lang.String getSelectedText()
Get currently selected text.- Specified by:
getSelectedTextin interfaceIEditor- Returns:
- selected text Must be called only from UI thread.
-
remarkOneMarker
public void remarkOneMarker(java.lang.String markerClassName)
Calls specified marker for reprocess all entries.- Specified by:
remarkOneMarkerin interfaceIEditor
-
markActiveEntrySource
public void markActiveEntrySource(SourceTextEntry requiredActiveEntry, java.util.List<Mark> marks, java.lang.String markerClassName)
All plugins can call this method for mark something in active entry.- Specified by:
markActiveEntrySourcein interfaceIEditor- Parameters:
requiredActiveEntry- entry which should be active. If user moved to other entry, then marks will be skippedmarks- list of marksmarkerClassName- marker's class name
-
registerPopupMenuConstructors
public void registerPopupMenuConstructors(int priority, IPopupMenuConstructor constructor)Description copied from interface:IEditorRegister constructor of popup menu.- Specified by:
registerPopupMenuConstructorsin interfaceIEditor- Parameters:
priority- priority of process orderconstructor- constructor instance
-
getFilter
public IEditorFilter getFilter()
Description copied from interface:IEditorGets a filter for this editor, or null if filter doesn't applied.
-
setFilter
public void setFilter(IEditorFilter filter)
Sets a filter to this editor. The filter causes only the selected entries to be shown in the editor. Document is reloaded to immediately have the filter being effective.
-
removeFilter
public void removeFilter()
Removes the current filter. Document is reloaded if appropriate to immediately remove the filter;- Specified by:
removeFilterin interfaceIEditor
-
setAlternateTranslationForCurrentEntry
public void setAlternateTranslationForCurrentEntry(boolean alternate)
Set default/alternate translation for current entry.- Specified by:
setAlternateTranslationForCurrentEntryin interfaceIEditor
-
registerUntranslated
public void registerUntranslated()
Description copied from interface:IEditorRegister untranslated.- Specified by:
registerUntranslatedin interfaceIEditor
-
registerEmptyTranslation
public void registerEmptyTranslation()
Description copied from interface:IEditorRegister as empty.- Specified by:
registerEmptyTranslationin interfaceIEditor
-
registerIdenticalTranslation
public void registerIdenticalTranslation()
Description copied from interface:IEditorRegister translation to be identical to source.- Specified by:
registerIdenticalTranslationin interfaceIEditor
-
windowDeactivated
public void windowDeactivated()
Description copied from interface:IEditorPerform any necessary actions for window deactivation.- Specified by:
windowDeactivatedin interfaceIEditor
-
getAlphabeticalMarkers
public AlphabeticalMarkers getAlphabeticalMarkers()
-
getAutoCompleter
public IAutoCompleter getAutoCompleter()
Description copied from interface:IEditorAccess the AutoCompleter- Specified by:
getAutoCompleterin interfaceIEditor
-
-