Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Resolve merge conflict from master
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Eng committed Mar 13, 2012
1 parent 97e6e21 commit 3918afc
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 119 deletions.
Expand Up @@ -14,8 +14,8 @@
import org.zanata.webtrans.shared.model.TranslationMemoryGlossaryItem;
import org.zanata.webtrans.shared.model.WorkspaceContext;
import org.zanata.webtrans.shared.rpc.GetTranslationMemory;
import org.zanata.webtrans.shared.rpc.GetTranslationMemory.SearchType;
import org.zanata.webtrans.shared.rpc.GetTranslationMemoryResult;
import org.zanata.webtrans.shared.rpc.HasSearchType.SearchType;

import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.cell.client.FieldUpdater;
Expand Down Expand Up @@ -150,7 +150,7 @@ public void update(int index, TranslationMemoryGlossaryItem object, ImageResourc
@Override
public void update(int index, TranslationMemoryGlossaryItem object, String value)
{
eventBus.fireEvent(new TransMemoryCopyEvent(object.getSource(), object.getTarget()));
eventBus.fireEvent(new CopyDataToEditorEvent(object.getSource(), object.getTarget()));
}
});
}
Expand Down
Expand Up @@ -6,17 +6,14 @@
import org.zanata.webtrans.client.resources.Resources;
import org.zanata.webtrans.client.resources.UiMessages;
import org.zanata.webtrans.client.ui.EnumListBox;
import org.zanata.webtrans.client.ui.LoadingPanel;
import org.zanata.webtrans.client.ui.SearchTypeRenderer;
import org.zanata.webtrans.client.ui.table.column.DetailsColumn;
import org.zanata.webtrans.client.ui.table.column.CopyButtonColumn;
import org.zanata.webtrans.client.ui.table.column.DetailsColumn;
import org.zanata.webtrans.client.ui.table.column.HighlightingLabelColumn;
import org.zanata.webtrans.client.ui.table.column.SimilarityColumn;
import org.zanata.webtrans.shared.model.TranslationMemoryGlossaryItem;
import org.zanata.webtrans.shared.rpc.GetGlossaryDetailsResult;
import org.zanata.webtrans.shared.rpc.HasSearchType.SearchType;

import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.ClickEvent;
Expand Down
@@ -1,42 +1,35 @@
package org.zanata.webtrans.client.view;

import java.util.HashSet;
import java.util.Set;

import org.zanata.webtrans.client.presenter.TransMemoryPresenter;
import org.zanata.webtrans.client.resources.Resources;
import org.zanata.webtrans.client.resources.UiMessages;
import org.zanata.webtrans.client.ui.DiffMatchPatchLabel;
import org.zanata.webtrans.client.ui.EnumListBox;
import org.zanata.webtrans.client.ui.HighlightingLabel;
import org.zanata.webtrans.client.ui.SearchTypeRenderer;
import org.zanata.webtrans.client.ui.table.cell.ClickableImageResourceCell;
import org.zanata.webtrans.client.ui.table.column.CopyButtonColumn;
import org.zanata.webtrans.client.ui.table.column.DiffMatchPatchLabelColumn;
import org.zanata.webtrans.client.ui.table.column.HighlightingLabelColumn;
import org.zanata.webtrans.client.ui.table.column.SimilarityColumn;
import org.zanata.webtrans.shared.model.TranslationMemoryGlossaryItem;
import org.zanata.webtrans.shared.rpc.GetTranslationMemory.SearchType;
import org.zanata.webtrans.shared.rpc.HasSearchType.SearchType;

import com.google.gwt.cell.client.AbstractCell;
import com.google.gwt.cell.client.ButtonCell;
import com.google.gwt.cell.client.ImageResourceCell;
import com.google.gwt.cell.client.ValueUpdater;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.FocusEvent;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyUpEvent;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.cellview.client.CellTable;
import com.google.gwt.user.cellview.client.Column;
import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy;
import com.google.gwt.user.cellview.client.TextColumn;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasValue;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.ValueListBox;
Expand All @@ -61,6 +54,9 @@ interface TransMemoryViewUiBinder extends UiBinder<Widget, TransMemoryView>
@UiField
Button searchButton;

@UiField
Label headerLabel;

@UiField(provided = true)
ValueListBox<SearchType> searchType;

Expand All @@ -80,98 +76,6 @@ interface TransMemoryViewUiBinder extends UiBinder<Widget, TransMemoryView>
private UiMessages messages;
private ListDataProvider<TranslationMemoryGlossaryItem> dataProvider;

private static class ClickableImageResourceCell extends ImageResourceCell
{
@Override
public Set<String> getConsumedEvents()
{
Set<String> consumedEvents = new HashSet<String>();
consumedEvents.add("click");
return consumedEvents;
}

@Override
public void onBrowserEvent(Context context, Element parent, ImageResource value, NativeEvent event, ValueUpdater<ImageResource> valueUpdater)
{
String eventType = event.getType();
if ("click".equals(eventType))
{
onEnterKeyDown(context, parent, value, event, valueUpdater);
}
}

@Override
protected void onEnterKeyDown(Context context, Element parent, ImageResource value, NativeEvent event, ValueUpdater<ImageResource> valueUpdater)
{
if (valueUpdater != null)
{
valueUpdater.update(value);
}
}
}

private final Column<TranslationMemoryGlossaryItem, DiffMatchPatchLabel> sourceColumn = new Column<TranslationMemoryGlossaryItem, DiffMatchPatchLabel>(new DiffMatchPatchLabelCell())
{
@Override
public DiffMatchPatchLabel getValue(TranslationMemoryGlossaryItem object)
{
DiffMatchPatchLabel label = new DiffMatchPatchLabel(query, object.getSource());
return label;
}
};
private final Column<TranslationMemoryGlossaryItem, HighlightingLabel> targetColumn = new Column<TranslationMemoryGlossaryItem, HighlightingLabel>(new HighlightingLabelCell())
{
@Override
public HighlightingLabel getValue(TranslationMemoryGlossaryItem object)
{
HighlightingLabel label = new HighlightingLabel(object.getTarget());
return label;
}
};
private final TextColumn<TranslationMemoryGlossaryItem> similarityColumn = new TextColumn<TranslationMemoryGlossaryItem>()
{
@Override
public String getValue(TranslationMemoryGlossaryItem object)
{
return object.getSimilarityPercent() + "%";
}
};
private final Column<TranslationMemoryGlossaryItem, ImageResource> detailsColumn = new Column<TranslationMemoryGlossaryItem, ImageResource>(new ClickableImageResourceCell())
{
@Override
public ImageResource getValue(TranslationMemoryGlossaryItem object)
{
return resources.informationImage();
}
};

private final Column<TranslationMemoryGlossaryItem, String> copyColumn = new Column<TranslationMemoryGlossaryItem, String>(new ButtonCell())
{
@Override
public String getValue(TranslationMemoryGlossaryItem object)
{
return "Copy";
}
};

private static class DiffMatchPatchLabelCell extends AbstractCell<DiffMatchPatchLabel>
{
@Override
public void render(Context context, DiffMatchPatchLabel value, SafeHtmlBuilder sb)
{
sb.appendHtmlConstant(value.getElement().getString());
}
}

private static class HighlightingLabelCell extends AbstractCell<HighlightingLabel>
{
@Override
public void render(Context context, HighlightingLabel value, SafeHtmlBuilder sb)
{
sb.appendHtmlConstant(value.getElement().getString());
}
}

@Inject
public TransMemoryView(final UiMessages messages, SearchTypeRenderer searchTypeRenderer, Resources resources)
{
Expand All @@ -181,6 +85,7 @@ public TransMemoryView(final UiMessages messages, SearchTypeRenderer searchTypeR
searchType = new EnumListBox<SearchType>(SearchType.class, searchTypeRenderer);
initWidget(uiBinder.createAndBindUi(this));

headerLabel.setText(messages.translationMemoryHeading());
clearButton.setText(messages.clearButtonLabel());
searchButton.setText(messages.searchButtonLabel());
}
Expand Down Expand Up @@ -238,14 +143,14 @@ public Widget asWidget()
@Override
public void startProcessing()
{
//TODO show waiting indicator
// TODO show waiting indicator
}

@Override
public void stopProcessing()
{
//TODO hide waiting indicator
//TODO add test for start and stop processing at appropriate times
// TODO hide waiting indicator
// TODO add test for start and stop processing at appropriate times
}

@Override
Expand Down Expand Up @@ -285,13 +190,26 @@ public void setDataProvider(ListDataProvider<TranslationMemoryGlossaryItem> data
renderTable();
}

private DiffMatchPatchLabelColumn sourceColumn = new DiffMatchPatchLabelColumn(true, false);
private HighlightingLabelColumn targetColumn = new HighlightingLabelColumn(false, true);
private CopyButtonColumn copyColumn = new CopyButtonColumn();
private final Column<TranslationMemoryGlossaryItem, ImageResource> detailsColumn = new Column<TranslationMemoryGlossaryItem, ImageResource>(new ClickableImageResourceCell())
{
@Override
public ImageResource getValue(TranslationMemoryGlossaryItem object)
{
return resources.informationImage();
}
};

private void renderTable()
{
tmTable = new CellTable<TranslationMemoryGlossaryItem>();
tmTable.addStyleName("tmTable");
tmTable.addStyleName("southTable");
tmTable.addColumn(sourceColumn, messages.sourceLabel());
tmTable.addColumn(targetColumn, messages.targetLabel());
tmTable.addColumn(similarityColumn, messages.similarityLabel());
tmTable.addColumn(new SimilarityColumn(), messages.similarityLabel());
tmTable.addColumn(detailsColumn);
tmTable.addColumn(copyColumn);

Expand Down
Expand Up @@ -15,6 +15,7 @@
<g:LayoutPanel>
<g:layer top="0px" height="30px">
<g:HorizontalPanel>
<g:Label ui:field="headerLabel" styleName="{style.headerLabel}"/>
<g:TextBox ui:field="tmTextBox" />
<g:ValueListBox ui:field="searchType"/>
<g:Button ui:field="searchButton"/>
Expand Down
@@ -1,7 +1,15 @@
package org.zanata.webtrans.client.presenter;

import static org.easymock.EasyMock.*;

import static org.easymock.EasyMock.and;
import static org.easymock.EasyMock.capture;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
import static org.easymock.EasyMock.isA;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.reset;
import static org.easymock.EasyMock.verify;
import net.customware.gwt.presenter.client.EventBus;

import org.easymock.Capture;
Expand All @@ -15,7 +23,7 @@
import org.zanata.webtrans.client.rpc.CachingDispatchAsync;
import org.zanata.webtrans.shared.model.TranslationMemoryGlossaryItem;
import org.zanata.webtrans.shared.model.WorkspaceContext;
import org.zanata.webtrans.shared.rpc.GetTranslationMemory.SearchType;
import org.zanata.webtrans.shared.rpc.HasSearchType.SearchType;

import com.google.gwt.cell.client.FieldUpdater;
import com.google.gwt.event.dom.client.ClickHandler;
Expand Down

0 comments on commit 3918afc

Please sign in to comment.