帆软报表设计器源代码。
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.

49 lines
1.7 KiB

package com.fr.widgettheme.designer;
import com.fr.base.io.BaseBook;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.JTemplateAction;
import com.fr.widgettheme.util.WidgetThemeDesignerUtils;
import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.file.HistoryTemplateListCache;
import com.fr.design.i18n.Toolkit;
import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.JTemplate;
import com.fr.widgettheme.control.attr.WidgetDisplayEnhanceMarkAttr;
import java.awt.event.ActionEvent;
/**
* @author Bruce.Deng
* @since 11.0
* Created 2022/11/28
*/
public class WidgetThemeDisplayAction<T extends JTemplate<?, ?>> extends JTemplateAction<T> {
public WidgetThemeDisplayAction(T jwb) {
super(jwb);
setName(Toolkit.i18nText("Fine-Design_Widget_Display_Enhance"));
this.setSmallIcon(IconUtils.readIcon("/com/fr/widgettheme/menu.svg"));
}
@Override
public void actionPerformed(ActionEvent e) {
final T jwb = getEditingComponent();
if (jwb == null) {
return;
}
BaseBook wbTpl = jwb.getTarget();
WidgetDisplayEnhanceMarkAttr attr = WidgetThemeDesignerUtils.getStrongestControlAttrFromTemplate(wbTpl);
final WidgetThemeDisplayConfigPane configPane = new WidgetThemeDisplayConfigPane();
configPane.populate(attr);
configPane.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() {
@Override
public void doOk() {
wbTpl.addAttrMark(configPane.update());
jwb.fireTargetModified();
HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().activeOldJTemplate();
}
}).setVisible(true);
}
}