Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#34420 Fix booelan settings #35615

Merged
merged 3 commits into from
Sep 23, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -121,13 +121,36 @@ public void widgetSelected(SelectionEvent e) {
UIUtils.createPlaceholder(group, 1);
UIUtils.createControlLabel(group, CoreMessages.pref_page_ui_general_boolean_label_color);

booleanCheckedPanel = new BooleanPanel(group, BooleanState.CHECKED);
booleanUncheckedPanel = new BooleanPanel(group, BooleanState.UNCHECKED);
booleanNullPanel = new BooleanPanel(group, BooleanState.NULL);
BooleanStyleSet savedStyles = BooleanStyleSet.getDefaultStyles(DBWorkbench.getPlatform().getPreferenceStore());
BooleanStyleSet defaultStyles = BooleanStyleSet.getDefaultStyleSet();

booleanCheckedPanel = new BooleanPanel(
group,
BooleanState.CHECKED,
savedStyles.getStyle(BooleanState.CHECKED).getMode() == BooleanMode.TEXT ?
savedStyles.getStyle(BooleanState.CHECKED).getText() :
defaultStyles.getStyle(BooleanState.CHECKED).getText()
);

booleanUncheckedPanel = new BooleanPanel(
group,
BooleanState.UNCHECKED,
savedStyles.getStyle(BooleanState.UNCHECKED).getMode() == BooleanMode.TEXT ?
savedStyles.getStyle(BooleanState.UNCHECKED).getText() :
defaultStyles.getStyle(BooleanState.UNCHECKED).getText()
);

booleanNullPanel = new BooleanPanel(
group,
BooleanState.NULL,
savedStyles.getStyle(BooleanState.NULL).getMode() == BooleanMode.TEXT ?
savedStyles.getStyle(BooleanState.NULL).getText() :
defaultStyles.getStyle(BooleanState.NULL).getText()
);

notifyBooleanStylesChanged(savedStyles);
}

notifyBooleanStylesChanged(BooleanStyleSet.getDefaultStyles(DBWorkbench.getPlatform().getPreferenceStore()));

{
final Group group = UIUtils.createControlGroup(composite, "Holiday decorations", 1, GridData.FILL_HORIZONTAL, 0);

@@ -209,14 +232,16 @@ private class BooleanPanel extends EventManager {

private BooleanMode currentMode;
private String currentText;
private String savedText;
private UIElementAlignment currentAlignment;
private UIElementFontStyle currentFontStyle;
private RGB currentColor;
private RGB currentDefaultColor;

public BooleanPanel(@NotNull Composite parent, @NotNull BooleanState state) {
public BooleanPanel(@NotNull Composite parent, @NotNull BooleanState state, @NotNull String savedText) {
this.parent = parent;
this.state = state;
this.savedText = savedText;

final FontDescriptor fontDescriptor = FontDescriptor.createFrom(parent.getFont());
this.normalFont = parent.getFont();
@@ -314,6 +339,11 @@ public void widgetSelected(SelectionEvent e) {
break;
case PROP_MODE:
UIUtils.enableWithChildren(text, event.getNewValue() == BooleanMode.TEXT);
if (event.getNewValue() == BooleanMode.TEXT) {
text.getTextComponent().setText(this.savedText);
} else {
text.getTextComponent().setText("");
}
break;
case PROP_COLOR:
text.getTextComponent().setForeground(UIUtils.getSharedColor((RGB) event.getNewValue()));
@@ -430,6 +460,7 @@ public void loadStyle(@NotNull BooleanStyle style, @NotNull RGB defaultColor) {
@NotNull
public BooleanStyle saveStyle() {
if (currentMode == BooleanMode.TEXT) {
savedText = currentText;
return BooleanStyle.usingText(currentText, currentAlignment, currentColor, currentFontStyle);
} else {
return BooleanStyle.usingIcon(state.getIcon(), currentAlignment);
Original file line number Diff line number Diff line change
@@ -71,6 +71,11 @@
return value == null ? nullStyle : value ? checkedStyle : uncheckedStyle;
}

@NotNull

Check warning on line 74 in plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/bool/BooleanStyleSet.java

Jenkins-CI-integration / CheckStyle Report

plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/bool/BooleanStyleSet.java#L74

Missing a Javadoc comment.
public BooleanStyle getStyle(@NotNull BooleanState state) {
return state.choose(checkedStyle, uncheckedStyle, nullStyle);
}

@NotNull
public BooleanStyle getCheckedStyle() {
return checkedStyle;
Loading
Oops, something went wrong.