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.
50 lines
1.8 KiB
50 lines
1.8 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; |
|
|
|
/** |
|
* 控件主题显示增强菜单action |
|
* |
|
* @author Bruce.Deng |
|
* @since 11.0 |
|
* Created on 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 jTemplate = getEditingComponent(); |
|
if (!JTemplate.isValid(jTemplate)) { |
|
return; |
|
} |
|
BaseBook baseBook = jTemplate.getTarget(); |
|
WidgetDisplayEnhanceMarkAttr attr = WidgetThemeDesignerUtils.getStrongestControlAttrFromTemplate(baseBook); |
|
final WidgetThemeDisplayConfigPane configPane = new WidgetThemeDisplayConfigPane(); |
|
configPane.populate(attr); |
|
configPane.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { |
|
@Override |
|
public void doOk() { |
|
baseBook.addAttrMark(configPane.update()); |
|
jTemplate.fireTargetModified(); |
|
HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().activeOldJTemplate(); |
|
} |
|
}).setVisible(true); |
|
} |
|
}
|
|
|