Skip to content

Commit 7f6c51d

Browse files
authored
Merge pull request #4924 from PrimozGodec/list-view-search
[ENH] Replace listViews with searchable listViews
2 parents f9c8abe + 394ce53 commit 7f6c51d

File tree

6 files changed

+20
-12
lines changed

6 files changed

+20
-12
lines changed

Orange/widgets/data/owdiscretize.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
)
1010
from AnyQt.QtGui import QValidator, QPalette
1111
from AnyQt.QtCore import Qt, QTimer, QPoint
12+
from orangewidget.utils.listview import ListViewSearch
1213

1314
import Orange.data
1415
import Orange.preprocess.discretize as disc
@@ -406,7 +407,7 @@ def set_manual_default_cuts():
406407
)
407408

408409
# List view with all attributes
409-
self.varview = QListView(
410+
self.varview = ListViewSearch(
410411
selectionMode=QListView.ExtendedSelection,
411412
uniformItemSizes=True,
412413
)

Orange/widgets/data/owimpute.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
)
1616
from AnyQt.QtCore import Qt, QThread, QModelIndex
1717
from AnyQt.QtCore import pyqtSlot as Slot
18+
from orangewidget.utils.listview import ListViewSearch
1819

1920
import Orange.data
2021
from Orange.preprocess import impute
@@ -28,7 +29,6 @@
2829
from Orange.widgets.widget import OWWidget, Msg, Input, Output
2930
from Orange.classification import SimpleTreeLearner
3031

31-
3232
DisplayMethodRole = Qt.UserRole
3333
StateRole = DisplayMethodRole + 0xf4
3434

@@ -195,7 +195,7 @@ def __init__(self):
195195
horizontal_layout = QHBoxLayout(box)
196196
main_layout.addWidget(box)
197197

198-
self.varview = QListView(
198+
self.varview = ListViewSearch(
199199
selectionMode=QListView.ExtendedSelection,
200200
uniformItemSizes=True
201201
)

Orange/widgets/unsupervised/owcorrespondence.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from AnyQt.QtWidgets import QListView, QApplication
77
from AnyQt.QtGui import QBrush, QColor, QPainter
88
from AnyQt.QtCore import QEvent
9+
from orangewidget.utils.listview import ListViewSearch
910

1011
import pyqtgraph as pg
1112
from Orange.data import Table, Domain, ContinuousVariable, StringVariable
@@ -62,7 +63,7 @@ def __init__(self):
6263

6364
box = gui.vBox(self.controlArea, "Variables")
6465
self.varlist = itemmodels.VariableListModel()
65-
self.varview = view = QListView(
66+
self.varview = view = ListViewSearch(
6667
selectionMode=QListView.MultiSelection,
6768
uniformItemSizes=True
6869
)

Orange/widgets/visualize/owboxplot.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
from AnyQt.QtWidgets import (
77
QGraphicsView, QGraphicsScene, QGraphicsItem, QGraphicsSimpleTextItem,
88
QGraphicsTextItem, QGraphicsItemGroup, QGraphicsLineItem,
9-
QGraphicsPathItem, QGraphicsRectItem, QSizePolicy,
10-
QListView)
9+
QGraphicsPathItem, QGraphicsRectItem, QSizePolicy
10+
)
1111
from AnyQt.QtGui import QPen, QColor, QBrush, QPainterPath, QPainter, QFont
1212
from AnyQt.QtCore import Qt, QEvent, QRectF, QSize, QSortFilterProxyModel
13+
from orangewidget.utils.listview import ListViewSearch
1314

1415
import scipy.special
1516
from scipy.stats import f_oneway, chi2_contingency
@@ -201,7 +202,7 @@ def __init__(self):
201202
sorted_model.setSourceModel(self.attrs)
202203
sorted_model.sort(0)
203204
box = gui.vBox(self.controlArea, "Variable")
204-
view = self.attr_list = QListView()
205+
view = self.attr_list = ListViewSearch()
205206
view.setModel(sorted_model)
206207
view.setSelectionMode(view.SingleSelection)
207208
view.selectionModel().selectionChanged.connect(self.attr_changed)
@@ -223,7 +224,7 @@ def __init__(self):
223224
sorted_model.sort(0)
224225

225226
box = gui.vBox(self.controlArea, "Subgroups")
226-
view = self.group_list = QListView()
227+
view = self.group_list = ListViewSearch()
227228
view.setModel(sorted_model)
228229
view.selectionModel().selectionChanged.connect(self.grouping_changed)
229230
view.setMinimumSize(QSize(30, 30))

Orange/widgets/visualize/owdistributions.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from AnyQt.QtWidgets import QGraphicsRectItem
99
from AnyQt.QtGui import QColor, QPen, QBrush, QPainter, QPalette, QPolygonF
1010
from AnyQt.QtCore import Qt, QRectF, QPointF, pyqtSignal as Signal
11+
from orangewidget.utils.listview import ListViewSearch
1112
import pyqtgraph as pg
1213

1314
from Orange.data import Table, DiscreteVariable, ContinuousVariable, Domain
@@ -319,7 +320,9 @@ def __init__(self):
319320
self.controlArea, self, "var", box="Variable",
320321
model=DomainModel(valid_types=DomainModel.PRIMITIVE,
321322
separators=False),
322-
callback=self._on_var_changed)
323+
callback=self._on_var_changed,
324+
viewType=ListViewSearch
325+
)
323326
gui.checkBox(
324327
varview.box, self, "sort_by_freq", "Sort categories by frequency",
325328
callback=self._on_sort_by_freq, stateWhenDisabled=False)

Orange/widgets/visualize/owlineplot.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66

77
from AnyQt.QtCore import Qt, QSize, QLineF, pyqtSignal as Signal
88
from AnyQt.QtGui import QPainter, QPen, QColor
9-
from AnyQt.QtWidgets import QApplication, QGraphicsLineItem
9+
from AnyQt.QtWidgets import QApplication, QGraphicsLineItem, QSizePolicy
1010

1111
import pyqtgraph as pg
1212
from pyqtgraph.functions import mkPen
1313
from pyqtgraph.graphicsItems.ViewBox import ViewBox
1414

15+
from orangewidget.utils.listview import ListViewSearch
1516
from orangewidget.utils.visual_settings_dlg import VisualSettingsDialog
1617

1718
from Orange.data import Table, DiscreteVariable
@@ -676,13 +677,14 @@ def _add_controls(self):
676677
self.group_view = gui.listView(
677678
self.controlArea, self, "group_var", box="Group by",
678679
model=self.group_vars, callback=self.__group_var_changed,
679-
sizeHint=QSize(30, 100))
680+
sizeHint=QSize(30, 100), viewType=ListViewSearch,
681+
sizePolicy=(QSizePolicy.Minimum, QSizePolicy.Expanding)
682+
)
680683
self.group_view.setEnabled(False)
681684

682685
plot_gui = OWPlotGUI(self)
683686
plot_gui.box_zoom_select(self.controlArea)
684687

685-
gui.rubber(self.controlArea)
686688
gui.auto_send(self.controlArea, self, "auto_commit")
687689

688690
self.info.set_input_summary(self.info.NoInput)

0 commit comments

Comments
 (0)