package com.fr.plugin.db.redis.ui; import com.fanruan.api.design.ui.container.BasicPane; import com.fanruan.api.design.util.GUICoreKit; import com.fanruan.api.layout.TableLayoutKit; import com.fanruan.api.design.ui.editor.ValueEditorPane; import com.fanruan.api.design.ui.component.UILabel; import com.fanruan.api.design.ui.component.code.UISyntaxTextArea; import com.fanruan.api.design.ui.component.code.SyntaxConstants; import com.fanruan.api.design.DesignKit; import com.fr.plugin.db.redis.core.order.OrderValue; import com.fr.plugin.db.redis.ui.value.IndexValuePaneFactory; import com.fr.plugin.db.redis.util.RedisDesignUtils; import java.awt.*; /** * @author richie * @version 10.0 * Created by richie on 2019-03-18 */ public class RedisScriptPane extends BasicPane { private ValueEditorPane dbIndexEditor; private UISyntaxTextArea scriptTextPane; public RedisScriptPane() { setLayout(new BorderLayout()); scriptTextPane = new UISyntaxTextArea(); dbIndexEditor = IndexValuePaneFactory.createValueEditorPane(); Component[][] coms = new Component[][]{ {new UILabel(DesignKit.i18nText("Plugin-Redis_DB_Index") + ":"), dbIndexEditor}, {new UILabel(DesignKit.i18nText("Plugin-Redis_Script_Query_Text") + ":"), RedisDesignUtils.createConditionTextPane(scriptTextPane, SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT, 350)}, }; double p = TableLayoutKit.PREFERRED; double f = TableLayoutKit.FILL; double[] rowSize = {p, p, p}; double[] columnSize = {p, f}; add(GUICoreKit.createTableLayoutPane(coms, rowSize, columnSize)); } @Override protected String title4PopupWindow() { return "Script"; } public OrderValue getOrderValue() { return (OrderValue) dbIndexEditor.update(); } public void setOrderValue(OrderValue orderValue) { dbIndexEditor.populate(orderValue); } public String getScript() { return scriptTextPane.getText(); } public void setScript(String script) { scriptTextPane.setText(script); } }