Skip to content

Commit

Permalink
Merge pull request #4970 from ales-erjavec/fixes/discretize-default-c…
Browse files Browse the repository at this point in the history
…utpoints-save

Fix discretize default cutpoints restore
  • Loading branch information
janezd committed Sep 11, 2020
2 parents 011831a + 385bdeb commit a9c7853
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions Orange/widgets/data/owdiscretize.py
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,6 @@ def __init__(self):
self.method = Methods.Default
self.k = 5
self.cutpoints = ()
self.default_cutpoints = ()

box = gui.vBox(self.controlArea, self.tr("Default Discretization"))
self._default_method_ = 0
Expand Down Expand Up @@ -334,21 +333,20 @@ def _intbox(parent, attr, callback):
s.setMaximumWidth(60)
s.setAlignment(Qt.AlignRight)
gui.rubber(s.box)
sp = box.sizePolicy()
sp.setControlType(sp.SpinBox)
return box.box

self.k_general = _intbox(self.left, "default_k",
self._default_disc_changed)
self.k_general.layout().setContentsMargins(0, 0, 0, 0)

def manual_cut_editline(text="") -> QLineEdit:
def manual_cut_editline(text="", enabled=True) -> QLineEdit:
edit = QLineEdit(
text=text,
placeholderText="e.g. 0.0, 0.5, 1.0",
toolTip="Enter fixed discretization cut points (a comma "
"separated list of strictly increasing numbers e.g. "
"0.0, 0.5, 1.0).",
enabled=enabled,
)
@edit.textChanged.connect
def update():
Expand Down Expand Up @@ -378,7 +376,8 @@ def update():
return edit

self.manual_cuts_edit = manual_cut_editline(
text=", ".join(map(str, self.default_cutpoints))
text=", ".join(map(str, self.default_cutpoints)),
enabled=self.default_method == Methods.Custom,
)

def set_manual_default_cuts():
Expand Down Expand Up @@ -434,7 +433,10 @@ def set_manual_default_cuts():
gui.appendRadioButton(controlbox, "Remove attribute", id=Methods.Remove)
b = gui.appendRadioButton(controlbox, "Manual", id=Methods.Custom)

self.manual_cuts_specific = manual_cut_editline()
self.manual_cuts_specific = manual_cut_editline(
text=", ".join(map(str, self.cutpoints)),
enabled=self.method == Methods.Custom
)
self.manual_cuts_specific.setValidator(validator)
b.toggled[bool].connect(self.manual_cuts_specific.setEnabled)

Expand Down Expand Up @@ -490,6 +492,7 @@ def set_default_method(self, method: Methods):
self.default_method_name = method.name
self.default_button_group.button(method).setChecked(True)
self._default_disc_changed()
self.manual_cuts_edit.setEnabled(method == Methods.Custom)

@Inputs.data
def set_data(self, data):
Expand Down

0 comments on commit a9c7853

Please sign in to comment.