Package com.e1c.langtool.ui.external
Class ExternalTranslationView
java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.ui.part.WorkbenchPart
org.eclipse.ui.part.ViewPart
com.e1c.langtool.ui.common.ManagedViewPart
com.e1c.langtool.ui.common.tools.AbstractServiceView
com.e1c.langtool.ui.external.ExternalTranslationView
- All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable,org.eclipse.core.runtime.IExecutableExtension,org.eclipse.ui.IPersistable,org.eclipse.ui.IViewPart,org.eclipse.ui.IWorkbenchPart,org.eclipse.ui.IWorkbenchPart2,org.eclipse.ui.IWorkbenchPart3,org.eclipse.ui.part.IWorkbenchPartOrientation
- Direct Known Subclasses:
GoogleTranslateView,MicrosoftTranslatorView,MockedExternalTranslationView,TranslationAssistView,YandexTranslateView
The base realization of translation view for external translation services.
choosing a translation direction by dropdown lists
modifying a source text to translate using text field
showing a list of translation results in the table
opening a preference page with properties for a translation service
changing auto translatable and text processing modes by toggle buttons
showing detailed information about an errors
All methods of this class were made synchronized to avoid errors in multithreading.
- This realization provides:
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected final IExternalTranslationManagerprotected TableViewerFields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE -
Constructor Summary
ConstructorsConstructorDescriptionExternalTranslationView(IExternalTranslationManager manager, String providerId, String preferencePageId) Constructs a new view for external translation service from the given translation manager, provider's id and id of a preference page for this service. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidclear()Clears this view.voidclosed()protected org.eclipse.core.runtime.jobs.JobvoidcreatePartControl(org.eclipse.swt.widgets.Composite parent) protected Optional<ISingleTranslationQuery>protected org.eclipse.core.runtime.jobs.JobCreates a job that does a translation work.voiddispose()Returns the code of language to translate from.Returns the code of language to translate to.protected Objectprotected IContentProviderprotected IBaseLabelProviderprotected voidhandleStructedSelection(IStructuredSelection selection) protected voidhandleTextSelection(org.eclipse.jface.text.ITextSelection selection) protected voidprotected voidinitMainControl(org.eclipse.swt.widgets.Composite top) Creates a main control.protected voidinitMenu(org.eclipse.jface.action.IMenuManager menuManager) Initializes a menu actions on the given menu manager.protected voidinitToolBar(org.eclipse.jface.action.IToolBarManager tbm) Initializes items for the given toolbar menu.booleanReturns true if the combo boxes for translation languages were properly initialized.protected voidvoidsetSourceLanguage(String locale) Selects the code of language to translate from.voidsetTargetLanguage(String locale) Selects the code of language to translate to.protected voidUpdate languages asynchronously.Methods inherited from class com.e1c.langtool.ui.common.tools.AbstractServiceView
addListenerToActiveText, checkInputText, createTranslationText, getActiveText, getApplicalbleObject, getTopComposite, hideError, isErrorVisible, removeListenerFromActiveText, setActiveText, setApplicableObject, setFocus, showError, startTranslating, stopTranslatingMethods inherited from class com.e1c.langtool.ui.common.ManagedViewPart
activated, broughtToTop, deactivated, hidden, opened, visibleMethods inherited from class org.eclipse.ui.part.ViewPart
checkSite, getViewSite, init, init, saveState, setContentDescription, setInitializationData, setPartNameMethods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, firePropertyChange, getAdapter, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, getTitleToolTip, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusyMethods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObjectMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapterMethods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener
-
Field Details
-
translationTableViewer
-
translationManager
-
isLangsInitialized
protected volatile boolean isLangsInitialized
-
-
Constructor Details
-
ExternalTranslationView
public ExternalTranslationView(IExternalTranslationManager manager, String providerId, String preferencePageId) Constructs a new view for external translation service from the given translation manager, provider's id and id of a preference page for this service.- Parameters:
manager- the translation manager to translate queriesproviderId- the id of translation service's providerpreferencePageId- the id of preference page for translation service
-
-
Method Details
-
setSourceLanguage
Selects the code of language to translate from.- Parameters:
locale- the source language code
-
setTargetLanguage
Selects the code of language to translate to.- Parameters:
locale- the target language code
-
getSourceLanguage
Returns the code of language to translate from.- Returns:
- the source language code or
Optional#empty()if the source language isn't presented
-
getTargetLanguage
Returns the code of language to translate to.- Returns:
- the target language code or
Optional#empty()if the target language isn't presented
-
createPartControl
public void createPartControl(org.eclipse.swt.widgets.Composite parent) - Specified by:
createPartControlin interfaceorg.eclipse.ui.IWorkbenchPart- Overrides:
createPartControlin classAbstractServiceView
-
closed
public void closed()- Overrides:
closedin classManagedViewPart
-
dispose
public void dispose()- Specified by:
disposein interfaceorg.eclipse.ui.IWorkbenchPart- Overrides:
disposein classManagedViewPart
-
isInitialized
public boolean isInitialized()Returns true if the combo boxes for translation languages were properly initialized.It can return false if the API key is invalid and combo boxes couldn't be initialized.
- Returns:
- true if the combo boxes for translation languages were properly initialized
-
handleTextSelection
protected void handleTextSelection(org.eclipse.jface.text.ITextSelection selection) -
handleStructedSelection
-
initMainControl
protected void initMainControl(org.eclipse.swt.widgets.Composite top) Description copied from class:AbstractServiceViewCreates a main control.In most cases this control is used for showing translation results. This component is located between the text component (for active text) in the top and error component in the bottom (for showing information about errors).
- Specified by:
initMainControlin classAbstractServiceView- Parameters:
top- a parent component for main control
-
getTranslationInput
-
getTranslationTableContentProvider
-
getTranslationTableLabelProvider
-
initMenu
protected void initMenu(org.eclipse.jface.action.IMenuManager menuManager) Description copied from class:AbstractServiceViewInitializes a menu actions on the given menu manager.- Overrides:
initMenuin classAbstractServiceView- Parameters:
menuManager- a menu manager for that a menu items will be added
-
clear
protected void clear()Description copied from class:AbstractServiceViewClears this view.It detaches the active applicable object (sets value for object as
Optional.empty()) from this view, sets active text as empty and hides all errors from error component. Also this method should be used for clearing controls that contains not static data (like text fields or tables).- Overrides:
clearin classAbstractServiceView
-
createTranslationJob
protected org.eclipse.core.runtime.jobs.Job createTranslationJob()Description copied from class:AbstractServiceViewCreates a job that does a translation work.- Specified by:
createTranslationJobin classAbstractServiceView- Returns:
- a new translation job or null if it's impossible to create a job
-
createJobFromQuery
-
initToolBar
protected void initToolBar(org.eclipse.jface.action.IToolBarManager tbm) Description copied from class:AbstractServiceViewInitializes items for the given toolbar menu.- Specified by:
initToolBarin classAbstractServiceView- Parameters:
tbm- a toolbar manager for that items will be added
-
updateLanguages
protected void updateLanguages()Update languages asynchronously. -
createQueryFromState
-
handleTranslationException
-
getSupportedLanguages
-
setActiveQuery
-