|
|
|
@ -4,6 +4,8 @@ import com.fr.base.NameStyle;
|
|
|
|
|
import com.fr.base.Style; |
|
|
|
|
import com.fr.design.designer.IntervalConstants; |
|
|
|
|
import com.fr.design.dialog.BasicPane; |
|
|
|
|
import com.fr.design.event.UIObserver; |
|
|
|
|
import com.fr.design.event.UIObserverListener; |
|
|
|
|
import com.fr.design.gui.ibutton.UIButtonGroup; |
|
|
|
|
import com.fr.design.gui.icontainer.UIScrollPane; |
|
|
|
|
import com.fr.design.gui.ilable.UILabel; |
|
|
|
@ -24,8 +26,10 @@ import java.awt.Component;
|
|
|
|
|
import java.awt.Dimension; |
|
|
|
|
import java.awt.event.ActionEvent; |
|
|
|
|
import java.awt.event.ActionListener; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
public class StylePane extends BasicPane { |
|
|
|
|
public class StylePane extends BasicPane implements UIObserver { |
|
|
|
|
public static final String[] FOLLOWING_THEME_STRING_ARRAYS = new String[]{ |
|
|
|
|
Toolkit.i18nText("Fine-Design_Style_Follow_Theme"), |
|
|
|
|
Toolkit.i18nText("Fine-Design_Style_Not_Follow_Theme"), |
|
|
|
@ -40,6 +44,8 @@ public class StylePane extends BasicPane {
|
|
|
|
|
|
|
|
|
|
private JPanel contentPane; |
|
|
|
|
|
|
|
|
|
private final List<UIObserverListener> observerListeners = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
public StylePane() { |
|
|
|
|
followingThemeButtonGroup = new UIButtonGroup<>(FOLLOWING_THEME_STRING_ARRAYS); |
|
|
|
|
customStylePane = new CustomStylePane(); |
|
|
|
@ -67,7 +73,7 @@ public class StylePane extends BasicPane {
|
|
|
|
|
int selectedIndex = followingThemeButtonGroup.getSelectedIndex(); |
|
|
|
|
cardLayout.show(contentPane, FOLLOWING_THEME_STRING_ARRAYS[selectedIndex]); |
|
|
|
|
if (selectedIndex == 1) { |
|
|
|
|
// 对于同一个单元格,跟随主题切换到自定义,若跟随主题面板有选中项,则自定义中的配置与其保持一致,否则自定义中配置保持不变
|
|
|
|
|
// 对于同一个单元格,跟随主题切换到自定义,自定义中的配置与其保持一致
|
|
|
|
|
NameStyle lastSelectedNameStyle = themedCellStyleListPane.updateBean(); |
|
|
|
|
if (lastSelectedNameStyle != null) { |
|
|
|
|
Style lastSelectedRealStyle = lastSelectedNameStyle.getRealStyle(); |
|
|
|
@ -81,10 +87,11 @@ public class StylePane extends BasicPane {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
// 对于同一个单元格,自定义切换到跟随主题,跟随主题应当清除选中项,即没有选中任何主题中的单元格样式,
|
|
|
|
|
// 因为还未选中,所以自定义中的配置保持不变,此时若用户切换会自定义,配置应当与之前一样
|
|
|
|
|
themedCellStyleListPane.populateBean(null); |
|
|
|
|
// 对于同一个单元格,自定义切换到跟随主题,跟随主题选中"默认"样式,并使用默认样式设置选中的单元格
|
|
|
|
|
themedCellStyleListPane.reset(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fireStateChanged(); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
@ -205,4 +212,19 @@ public class StylePane extends BasicPane {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void fireStateChanged() { |
|
|
|
|
for (UIObserverListener listener: observerListeners) { |
|
|
|
|
listener.doChange(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void registerChangeListener(UIObserverListener listener) { |
|
|
|
|
observerListeners.add(listener); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean shouldResponseChangeListener() { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |