Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Sequoyah/LFE documentation

< Sequoyah
Revision as of 13:20, 7 April 2011 by Wmg040.motorola.com (Talk | contribs) (Overview)

Overview

Overview
Sequoyah Localization Diagram.png

Since there are so much files, we'll briefly explain some classes that are more important to the understanding of the framework as a whole. If you have any comments/corrections/suggestions, please post them on our mailing list!

Plugins

org.eclipse.sequoyah.localization.stringeditor

Sequoyah Localization Stringeditor Diagram.png

This is the plug-in that implements the editor used by the Localization Framework.

org.eclipse.sequoyah.localization.editor.datatype

This package is responsible for dealing with data types. It's classes are:

  • RowInfo

An object of this type is the root node of a linked list. It also has a string key and a list of RowInfoLeaf.

  • RowInfoLeaf

An object of this type is a node on the linked list of a RowInfo. It has a HashMap of cells, which will contain the information, and a link to its parent and its position on the list.

  • CellInfo

An object of this type is the representation of a cell of the editor. It has a string value, a string comment, its position, its dirty condition and a list of other cell infos. This list will be populated if the children are the node of an array, and the CellInfo itself will be the root of it.

  • ColumnInfo

An object of this type is the representation of a column of the editor. It has a string id, a string tooltip, a map of cell infos and a flag to indicate if the column can be deleted.

  • TranslationInfo

An object of this type is an extension of a ColumnInfo, with some special fields to hold information regarding language translations.

org.eclipse.sequoyah.localization.editor.model

  • StringEditorPart

This class handles the editor UI part, setting up the composite that will be exhibited to the user. Most of the configuration is done inside the createMainControl method. Also, this class has methods to deal with the columns in the editor and their state.

  • CellEditingSupport

This class is the core of the cell editing: it states if and how the cell can be edited, and what will be done after edition.

  • StringEditorViewerModel

This class handles the editor model, and so it has a list of columns, a map of rows, lots of listeners and a cell validator. It is another model representation that comes from the framework and is used by the UI, providing the editor data.

org.eclipse.sequoyah.localization.editor.model.actions

This package has a class for every action that the editor can perform. They are: AddArray, AddArrayItem, AddColumn, AddMultipleItems, AddSingleString, CloneColumn, ColapseExpandAll, HideShowAllColumns, HideShowColumn, MenuDropDown, RemoveColumn, RemoveKey, RevertToSaved, TranslateCell and TranslateColumn. Each action has its own peculiarities needed to perform the desired action.

org.eclipse.sequoyah.localization.editor.model.operations

Another package org.eclipse.sequoyah.localization.editor.model.actions deals with the actions available, such as adding and removing items or columns, translation actions and visualization. Also related to these actions there's a package org.eclipse.sequoyah.localization.editor.model.operations to deal with operations that use the actions (almost like a wrapper to the actions).

org.eclipse.sequoyah.localization.tools

Sequoyah Localization Tools Diagram.png

This is the plug-in that holds utility methods.

It has a package org.eclipse.sequoyah.localization.tools.actions to deal with actions, like translation, search and grammar checking. It has a data model package org.eclipse.sequoyah.localization.tools.datamodel, that handles file types and locale info. Related to this package, there is a package org.eclipse.sequoyah.localization.tools.datamodel.node to handle the nodes for these file types.

There are three packages (org.eclipse.sequoyah.localization.tools.extensions.*) to deal with extensions: grammar checker, translations and localization schemas. They have interfaces, implementations and providers to those extension services.

Also there are packages to handle persistence (org.eclipse.sequoyah.localization.tools.persistence) and preferences (org.eclipse.sequoyah.localization.tools.preferences). There is one package (org.eclipse.sequoyah.localization.tools.managers) that deals with managers ranging from project issues to the extensions above mentioned.

org.eclipse.sequoyah.localization.android

Sequoyah Localization Android Diagram.png

This plug-in implements Android specific stuff.

It has an activator and specializes the LocalizationSchema and LocaleAttribute and also uses and XML Parser filter (for which purpose? which methods it provides?).

It has a package that contains specialized file types, and another one with specific managers for Android files and nodes and providers.(which?)

Back to the top