|
|
|
@ -11,9 +11,9 @@ import com.fr.design.gui.icontainer.UIScrollPane;
|
|
|
|
|
import com.fr.design.gui.itextfield.UITextField; |
|
|
|
|
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; |
|
|
|
|
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; |
|
|
|
|
import com.fr.design.i18n.Toolkit; |
|
|
|
|
import com.fr.design.layout.TableLayout; |
|
|
|
|
import com.fr.design.layout.TableLayoutHelper; |
|
|
|
|
|
|
|
|
|
import com.fr.design.utils.gui.UIComponentUtils; |
|
|
|
|
import com.fr.plugin.chart.base.VanChartHtmlLabel; |
|
|
|
|
import com.fr.van.chart.designer.style.VanChartStylePane; |
|
|
|
@ -32,7 +32,7 @@ import java.awt.event.ActionListener;
|
|
|
|
|
/** |
|
|
|
|
* Created by Mitisky on 16/2/19. |
|
|
|
|
*/ |
|
|
|
|
public class VanChartHtmlLabelPane extends JPanel{ |
|
|
|
|
public class VanChartHtmlLabelPane extends JPanel { |
|
|
|
|
|
|
|
|
|
private static final long serialVersionUID = -5512128966013558611L; |
|
|
|
|
private static final int JS_HEIGHT = 100; |
|
|
|
@ -47,7 +47,9 @@ public class VanChartHtmlLabelPane extends JPanel{
|
|
|
|
|
|
|
|
|
|
private VanChartStylePane parent; |
|
|
|
|
|
|
|
|
|
public void setCustomFormatterText(String text){ |
|
|
|
|
private JPanel widthAndHeightPane; |
|
|
|
|
|
|
|
|
|
public void setCustomFormatterText(String text) { |
|
|
|
|
contentTextArea.setText(text); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -56,24 +58,28 @@ public class VanChartHtmlLabelPane extends JPanel{
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public VanChartHtmlLabelPane() { |
|
|
|
|
useHtml = new UIToggleButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Html")); |
|
|
|
|
useHtml = new UIToggleButton(Toolkit.i18nText("Fine-Design_Chart_Html")); |
|
|
|
|
UIComponentUtils.setLineWrap(useHtml); |
|
|
|
|
JPanel widthAndHeightPane = createWidthAndHeightPane(); |
|
|
|
|
useHtml.addChangeListener(e -> checkWidthAndHeightPane()); |
|
|
|
|
widthAndHeightPane = createWidthAndHeightPane(); |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = {f}; |
|
|
|
|
double[] rowSize = {p, p, p}; |
|
|
|
|
double[] rowSize = {p, p, p, p}; |
|
|
|
|
|
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{createJSContentPane()}, |
|
|
|
|
new Component[]{useHtml}, |
|
|
|
|
new Component[]{widthAndHeightPane} |
|
|
|
|
new Component[]{null, null}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
JPanel contentPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); |
|
|
|
|
|
|
|
|
|
this.setLayout(new BorderLayout()); |
|
|
|
|
this.add(contentPane, BorderLayout.CENTER); |
|
|
|
|
this.add(contentPane, BorderLayout.NORTH); |
|
|
|
|
if (widthAndHeightPane != null) { |
|
|
|
|
this.add(widthAndHeightPane, BorderLayout.CENTER); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private JComponent createJSContentPane() { |
|
|
|
@ -112,7 +118,7 @@ public class VanChartHtmlLabelPane extends JPanel{
|
|
|
|
|
ac.setTriggerKey(KeyStroke.getKeyStroke(shortCuts.replace("+", "pressed"))); |
|
|
|
|
ac.install(contentTextArea); |
|
|
|
|
|
|
|
|
|
return new UIScrollPane(contentTextArea){ |
|
|
|
|
return new UIScrollPane(contentTextArea) { |
|
|
|
|
@Override |
|
|
|
|
public Dimension getPreferredSize() { |
|
|
|
|
return new Dimension(super.getPreferredSize().width, JS_HEIGHT); |
|
|
|
@ -121,15 +127,15 @@ public class VanChartHtmlLabelPane extends JPanel{
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void fireJSChange() { |
|
|
|
|
if(parent != null){ |
|
|
|
|
if (parent != null) { |
|
|
|
|
parent.attributeChanged(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected JPanel createWidthAndHeightPane() { |
|
|
|
|
isCustomWidth = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom_Width")); |
|
|
|
|
isCustomWidth = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Custom_Width")); |
|
|
|
|
customWidth = new UITextField(6); |
|
|
|
|
isCustomHeight = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom_Height")); |
|
|
|
|
isCustomHeight = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Custom_Height")); |
|
|
|
|
customHeight = new UITextField(6); |
|
|
|
|
|
|
|
|
|
isCustomWidth.addActionListener(new ActionListener() { |
|
|
|
@ -147,13 +153,13 @@ public class VanChartHtmlLabelPane extends JPanel{
|
|
|
|
|
}); |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = { p, f }; |
|
|
|
|
double[] columnSize = {p, f}; |
|
|
|
|
double[] rowSize = {p, p, p}; |
|
|
|
|
|
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{isCustomWidth, customWidth}, |
|
|
|
|
new Component[]{isCustomHeight, customHeight}, |
|
|
|
|
new Component[] {null, null} |
|
|
|
|
new Component[]{null, null} |
|
|
|
|
}; |
|
|
|
|
return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
@ -171,8 +177,14 @@ public class VanChartHtmlLabelPane extends JPanel{
|
|
|
|
|
checkWidth(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void populate(VanChartHtmlLabel htmlLabel){ |
|
|
|
|
if(htmlLabel == null){ |
|
|
|
|
private void checkWidthAndHeightPane() { |
|
|
|
|
if (widthAndHeightPane != null) { |
|
|
|
|
widthAndHeightPane.setVisible(useHtml.isSelected()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void populate(VanChartHtmlLabel htmlLabel) { |
|
|
|
|
if (htmlLabel == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
setCustomFormatterText(htmlLabel.getCustomText()); |
|
|
|
@ -186,10 +198,11 @@ public class VanChartHtmlLabelPane extends JPanel{
|
|
|
|
|
isCustomHeight.setSelected(htmlLabel.isCustomHeight()); |
|
|
|
|
customHeight.setText(htmlLabel.getHeight()); |
|
|
|
|
checkBoxUse(); |
|
|
|
|
checkWidthAndHeightPane(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void update(VanChartHtmlLabel htmlLabel) { |
|
|
|
|
if(htmlLabel == null){ |
|
|
|
|
if (htmlLabel == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
htmlLabel.setCustomText(contentTextArea.getText()); |
|
|
|
|