use of net.sourceforge.nattable.config.IConfigRegistry in project translationstudio8 by heartsome.
the class HsMultiCellEditorControl method activeSourceAndTargetCell.
public static void activeSourceAndTargetCell(XLIFFEditorImplWithNatTable xliffEditor) {
if (xliffEditor == null) {
return;
}
int[] selectedRowIndexs = xliffEditor.getSelectedRows();
if (selectedRowIndexs.length == 0) {
return;
}
Arrays.sort(selectedRowIndexs);
int rowIndex = selectedRowIndexs[selectedRowIndexs.length - 1];
if (!xliffEditor.isHorizontalLayout()) {
// source index
rowIndex = rowIndex * 2;
}
NatTable natTable = xliffEditor.getTable();
IConfigRegistry configRegistry = natTable.getConfigRegistry();
ViewportLayer vLayer = LayerUtil.getLayer(natTable, ViewportLayer.class);
int rowPosition = vLayer.getRowPositionByIndex(rowIndex);
rowPosition += 1;
if (rowPosition < 1) {
return;
}
int columnIndex = xliffEditor.getSrcColumnIndex();
HsMultiCellEditor srcCellEditor = activeCell(vLayer, xliffEditor, configRegistry, columnIndex, rowIndex, rowPosition, NatTableConstant.SOURCE);
if (srcCellEditor == null) {
return;
}
if (!xliffEditor.isHorizontalLayout()) {
// target
rowIndex = rowIndex + 1;
rowPosition = vLayer.getRowPositionByIndex(rowIndex);
rowPosition += 1;
if (rowPosition < 1) {
return;
}
}
columnIndex = xliffEditor.getTgtColumnIndex();
HsMultiCellEditor tgtCellEditor = activeCell(vLayer, xliffEditor, configRegistry, columnIndex, rowIndex, rowPosition, NatTableConstant.TARGET);
if (tgtCellEditor == null) {
return;
}
HsMultiActiveCellEditor.activateCellEditors(srcCellEditor, tgtCellEditor, natTable);
// 目标文本段一进入焦点就进行一次拼写检查 robert 2013-01-22
// UNDO 这里错误单词提示并没有修改颜色。
String tgtLang = xliffEditor.getTgtColumnName();
spellTrigger = RealTimeSpellCheckTrigger.getInstance();
if (spellTrigger != null && spellTrigger.checkSpellAvailable(tgtLang)) {
tgtTextFirstRealTimeSpellCheck(tgtLang, tgtCellEditor);
tgtTextRealTimeSpellCheck(tgtLang, tgtCellEditor);
}
List<String> terms = xliffEditor.getTermsCache().get(selectedRowIndexs[0]);
if (terms != null && terms.size() > 0) {
srcCellEditor.highlightedTerms(terms);
}
}
Aggregations