条件属性扩展示例。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
2.1 KiB

package com.fr.plugin.cell.highlight.ui;
import com.fanruan.api.design.DesignKit;
import com.fanruan.api.design.ui.component.UIComboBox;
import com.fanruan.api.design.ui.component.UIDictionaryComboBox;
import com.fanruan.api.macro.Constants;
import com.fr.design.condition.ConditionAttrSingleConditionPane;
import com.fr.design.condition.ConditionAttributesPane;
import com.fr.plugin.cell.highlight.fun.AlignHighlightAction;
import com.fr.report.cell.cellattr.highlight.HighlightAction;
/**
* @author richie
* @date 2015-03-26
* @since 8.0
*/
public class AlignHighlightPane extends ConditionAttrSingleConditionPane<HighlightAction> {
private UIDictionaryComboBox<Integer> alignComboBox;
private UIComboBox<String> scopeComboBox;
public AlignHighlightPane(ConditionAttributesPane conditionAttributesPane) {
super(conditionAttributesPane);
this.alignComboBox = new UIDictionaryComboBox<>(
new Integer[]{Constants.LEFT, Constants.CENTER, Constants.RIGHT},
new String[]{
DesignKit.i18nText("Plugin-Highlight_Align_Left"),
DesignKit.i18nText("Plugin-Highlight_Align_Center"),
DesignKit.i18nText("Plugin-Highlight_Align_Right")}
);
add(alignComboBox);
this.scopeComboBox = new UIComboBox<>(new String[]{
DesignKit.i18nText("Plugin-Highlight_Align_Current_Cell"),
DesignKit.i18nText("Plugin-Highlight_Align_Current_Row"),
DesignKit.i18nText("Plugin-Highlight_Align_Current_Column")});
this.add(this.scopeComboBox);
}
@Override
public String nameForPopupMenuItem() {
return DesignKit.i18nText("Plugin-Highlight_Align");
}
@Override
public void populate(HighlightAction condition) {
AlignHighlightAction action = (AlignHighlightAction) condition;
scopeComboBox.setSelectedIndex(action.getScope());
alignComboBox.setSelectedItem(action.getAlign());
}
@Override
public HighlightAction update() {
return new AlignHighlightAction(alignComboBox.getSelectedItem(), scopeComboBox.getSelectedIndex());
}
}