/**
* @version $Id: ComparePreviewDialog.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $
*
* 2011/12/21 16:05:45
* @author kousuke-morishima
*
* Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved.
*/
package com.tida_okinawa.corona.internal.ui.actions;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import com.tida_okinawa.corona.PreviewDialog;
import com.tida_okinawa.corona.internal.ui.component.CompositeUtil;
/**
* @author kousuke-morishima
*/
public class ComparePreviewDialog extends PreviewDialog {
/**
* @param shell
* @param check
* アイテム一覧にチェックボックスをつけるか
*/
ComparePreviewDialog(Shell shell, boolean check) {
super(shell, check);
beforeLabelProvider = afterLabelProvider = new LabelProvider(); // set
// default
}
/* ****************************************
* UI
*/
@Override
protected void selectionChanged(SelectionChangedEvent event) {
/* 選択したアイテムのbefore/afterを表示する */
IStructuredSelection selection = (IStructuredSelection) itemViewer.getSelection();
String before = beforeLabelProvider.getText(selection.getFirstElement());
beforeText.setText(before);
String after = afterLabelProvider.getText(selection.getFirstElement());
afterText.setText(after);
};
Text beforeText = null;
Text afterText = null;
@Override
protected void createDetailArea(Composite parent) {
SashForm root = CompositeUtil.defaultSashForm(parent, SWT.HORIZONTAL);
Composite beforeGroup = CompositeUtil.defaultComposite(root, 1);
CompositeUtil.createLabel(beforeGroup, "変更前", -1);
beforeText = createText(beforeGroup);
Composite afterGroup = CompositeUtil.defaultComposite(root, 1);
CompositeUtil.createLabel(afterGroup, "変更後", -1);
afterText = createText(afterGroup);
root.setWeights(new int[] { 1, 1 });
}
private static Text createText(Composite parent) {
Text text = new Text(parent, SWT.BORDER | SWT.MULTI);
text.setEditable(false);
text.setLayoutData(CompositeUtil.gridData(true, true, 1, 1));
return text;
}
/**
* @deprecated use {@link #setBeforeLabelProvider(LabelProvider)} and
* {@link #setAfterLabelProvider(LabelProvider)}
*/
@Deprecated
@Override
public void setDetailLabelProvider(LabelProvider labelProvider) {
};
LabelProvider beforeLabelProvider;
public void setBeforeLabelProvider(LabelProvider labelProvider) {
beforeLabelProvider = labelProvider;
}
LabelProvider afterLabelProvider;
public void setAfterLabelProvider(LabelProvider labelProvider) {
afterLabelProvider = labelProvider;
}
}