Browse Source
Merge in DESIGN/design from ~BJORN/design:feature/x to feature/x * commit '7e6eedfd8b300a53263f5f9cf0f8b4343885aab1': CHART-20117 图表主题样式research/11.0
Bjorn
3 years ago
45 changed files with 470 additions and 517 deletions
@ -0,0 +1,85 @@
|
||||
package com.fr.design.mainframe.theme.edit.chart; |
||||
|
||||
import com.fr.base.theme.settings.ThemedChartStyle; |
||||
import com.fr.design.gui.ibutton.UIButtonGroup; |
||||
import com.fr.design.gui.ilable.UILabel; |
||||
import com.fr.design.i18n.Toolkit; |
||||
import com.fr.design.style.background.gradient.FixedGradientBarWithPopMenu; |
||||
|
||||
import java.util.List; |
||||
import java.awt.Color; |
||||
import java.awt.Component; |
||||
import java.awt.Dimension; |
||||
import java.awt.event.ActionEvent; |
||||
import java.awt.event.ActionListener; |
||||
|
||||
/** |
||||
* @author Bjorn |
||||
* @version 10.0 |
||||
* Created by Bjorn on 2020-09-17 |
||||
*/ |
||||
public class ChartSeriesStylePane extends AbstractChartStylePane { |
||||
|
||||
private UIButtonGroup<Integer> colorTypeButton; |
||||
private FixedGradientBarWithPopMenu gradientBar; |
||||
|
||||
protected void initComponents() { |
||||
colorTypeButton = new UIButtonGroup<>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Custom_Color"), |
||||
Toolkit.i18nText("Fine-Design_Chart_Legend_Gradual")}); |
||||
gradientBar = new FixedGradientBarWithPopMenu(4, 130); |
||||
initListener(); |
||||
} |
||||
|
||||
protected Component[][] getComponent() { |
||||
return new Component[][]{ |
||||
new Component[]{null, null}, |
||||
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Match_Color_Scheme")), colorTypeButton}, |
||||
new Component[]{null, gradientBar} |
||||
}; |
||||
} |
||||
|
||||
protected double[] getRows(double p) { |
||||
return new double[]{p, p, p}; |
||||
} |
||||
|
||||
private void initListener() { |
||||
colorTypeButton.addActionListener(new ActionListener() { |
||||
@Override |
||||
public void actionPerformed(ActionEvent e) { |
||||
checkTypeButton(); |
||||
} |
||||
}); |
||||
} |
||||
|
||||
private void checkTypeButton() { |
||||
gradientBar.setVisible(colorTypeButton.getSelectedIndex() == 1); |
||||
gradientBar.setPreferredSize(colorTypeButton.getSelectedIndex() == 1 ? new Dimension(0, 60) : new Dimension(0, 0)); |
||||
} |
||||
|
||||
@Override |
||||
protected String title4PopupWindow() { |
||||
return Toolkit.i18nText("Fine-Design_Chart_Series"); |
||||
} |
||||
|
||||
public void populate(ThemedChartStyle chartStyle) { |
||||
if (chartStyle.getThemedChartSeriesColor().isCombineColor()) { |
||||
colorTypeButton.setSelectedIndex(0); |
||||
} else { |
||||
colorTypeButton.setSelectedIndex(1); |
||||
gradientBar.updateColor(chartStyle.getThemedChartSeriesColor().getBeginColor(), chartStyle.getThemedChartSeriesColor().getEndColor()); |
||||
} |
||||
checkTypeButton(); |
||||
} |
||||
|
||||
|
||||
public void populateGradientBar(List<Color> colors) { |
||||
gradientBar.updateColor(colors.get(0), colors.get(1)); |
||||
this.repaint(); |
||||
} |
||||
|
||||
public void update(ThemedChartStyle chartStyle) { |
||||
chartStyle.getThemedChartSeriesColor().setCombineColor(colorTypeButton.getSelectedIndex() == 0); |
||||
chartStyle.getThemedChartSeriesColor().setBeginColor(gradientBar.getSelectColorPointBtnP1().getColorInner()); |
||||
chartStyle.getThemedChartSeriesColor().setEndColor(gradientBar.getSelectColorPointBtnP2().getColorInner()); |
||||
} |
||||
} |
@ -1,49 +0,0 @@
|
||||
package com.fr.design.mainframe.theme.edit.chart; |
||||
|
||||
import com.fr.base.theme.settings.ThemedChartStyle; |
||||
import com.fr.design.i18n.Toolkit; |
||||
|
||||
import java.awt.Component; |
||||
|
||||
/** |
||||
* @author Bjorn |
||||
* @version 10.0 |
||||
* Created by Bjorn on 2020-09-16 |
||||
*/ |
||||
public class ChartTitleStylePane extends AbstractChartStylePane { |
||||
|
||||
//字体样式
|
||||
private ChartFontPane chartFontPane; |
||||
|
||||
protected void initComponents() { |
||||
chartFontPane = new ChartFontPane() { |
||||
public String getUILabelText() { |
||||
return Toolkit.i18nText("Fine-Design_Chart_Title_Character"); |
||||
} |
||||
}; |
||||
} |
||||
|
||||
protected Component[][] getComponent() { |
||||
return new Component[][]{ |
||||
new Component[]{chartFontPane, null} |
||||
}; |
||||
} |
||||
|
||||
protected double[] getRows(double p) { |
||||
return new double[]{p}; |
||||
} |
||||
|
||||
@Override |
||||
protected String title4PopupWindow() { |
||||
return Toolkit.i18nText("Fine-Design_Report_Title"); |
||||
} |
||||
|
||||
public void populate(ThemedChartStyle chartStyle) { |
||||
chartFontPane.populate(chartStyle.getTitleFont()); |
||||
} |
||||
|
||||
|
||||
public void update(ThemedChartStyle chartStyle) { |
||||
chartStyle.setTitleFont(chartFontPane.update()); |
||||
} |
||||
} |
@ -0,0 +1,53 @@
|
||||
package com.fr.design.style.background.gradient; |
||||
|
||||
import com.fr.base.background.ColorBackground; |
||||
import com.fr.design.style.color.NewColorSelectPane; |
||||
|
||||
import javax.swing.JPanel; |
||||
import javax.swing.event.ChangeEvent; |
||||
import javax.swing.event.ChangeListener; |
||||
|
||||
/** |
||||
* @author Bjorn |
||||
* @version 10.0 |
||||
* Created by Bjorn on 2021-08-19 |
||||
*/ |
||||
public class FixedGradientBarWithPopMenu extends FixedGradientBar { |
||||
|
||||
private NewColorSelectPane colorPane; |
||||
|
||||
public FixedGradientBarWithPopMenu(int minvalue, int maxvalue) { |
||||
super(minvalue, maxvalue); |
||||
} |
||||
|
||||
protected void clickButton(int select) { |
||||
setIndex(select); |
||||
showPopupMenu(); |
||||
} |
||||
|
||||
public JPanel initWindowPane(double preferredWidth) { |
||||
// 下拉的时候重新生成面板,刷新最近使用颜色
|
||||
colorPane = new NewColorSelectPane(false) { |
||||
@Override |
||||
public void setVisible(boolean b) { |
||||
super.setVisible(b); |
||||
} |
||||
|
||||
@Override |
||||
protected boolean selectRealTime() { |
||||
return false; |
||||
} |
||||
}; |
||||
colorPane.addChangeListener(new ChangeListener() { |
||||
public void stateChanged(ChangeEvent e) { |
||||
hidePopupMenu(); |
||||
setColor(((NewColorSelectPane) e.getSource()).getColor()); |
||||
getList().get(getIndex()).setColorInner(getColor()); |
||||
fireDisplayComponent(ColorBackground.getInstance(getColor())); |
||||
FixedGradientBarWithPopMenu.this.stateChanged(); |
||||
} |
||||
}); |
||||
return colorPane; |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue