populse_mia.user_interface.data_browser.rapid_search¶
Rapid Search Widget Module
This module provides the RapidSearch widget, a specialized QLineEdit component for performing quick searches across visualized tags in the data browser table.
The RapidSearch widget enables users to filter DataBrowser using various search patterns and wildcards. It supports searching for specific text patterns as well as finding entries with undefined or missing values.
- Contains:
- Class:
RapidSearch
Classes
|
Widget for pattern searching in table data across visualized tags. |
- class populse_mia.user_interface.data_browser.rapid_search.QLineEdit(parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.rapid_search.QLineEdit(contents: str | None, parent: QWidget | None = None)
Bases:
QWidget- LeadingPosition = 0¶
- NoEcho = 1¶
- Normal = 0¶
- Password = 2¶
- PasswordEchoOnEdit = 3¶
- TrailingPosition = 1¶
- addAction(self, action: QAction | None)¶
- addAction(self, action: QAction | None, position: QLineEdit.ActionPosition) None
- addAction(self, icon: QIcon, position: QLineEdit.ActionPosition) QAction | None
- alignment(self) Qt.Alignment¶
- backspace(self)¶
- clear(self)¶
- copy(self)¶
- cursorMoveStyle(self) Qt.CursorMoveStyle¶
- cursorPositionChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- cursorRect(self) QRect¶
- cut(self)¶
- del_(self)¶
- deselect(self)¶
- echoMode(self) QLineEdit.EchoMode¶
- editingFinished¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- getTextMargins(self)¶
- inputMethodQuery(self, a0: Qt.InputMethodQuery) Any¶
- inputMethodQuery(self, property: Qt.InputMethodQuery, argument: Any) Any
- inputRejected¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- minimumSizeHint(self) QSize¶
- paste(self)¶
- redo(self)¶
- returnPressed¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- selectAll(self)¶
- selectionChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- setAlignment(self, flag: Qt.Alignment | Qt.AlignmentFlag)¶
- setCursorMoveStyle(self, style: Qt.CursorMoveStyle)¶
- setEchoMode(self, a0: QLineEdit.EchoMode)¶
- setTextMargins(self, left: int, top: int, right: int, bottom: int)¶
- setTextMargins(self, margins: QMargins) None
- sizeHint(self) QSize¶
- textChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- textEdited¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- textMargins(self) QMargins¶
- undo(self)¶
- class populse_mia.user_interface.data_browser.rapid_search.RapidSearch(databrowser)[source]¶
Bases:
QLineEditWidget for pattern searching in table data across visualized tags.
Supports special search syntax: - ‘%’: Wildcard for any string - ‘_’: Wildcard for any single character - ‘Not Defined’: Matches scans with missing values
Dates should be formatted as: yyyy-mm-dd hh:mm:ss.fff
- __init__(databrowser)[source]¶
Initialize the RapidSearch widget.
- Parameters:
databrowser – Parent data browser widget
- prepare_not_defined_filter(tags)[source]¶
Create a filter for finding entries with undefined values.
- Parameters:
(list) (tags) – List of tags to check for null values
- Return (str):
QL-like filter expression for finding null values
- static prepare_filter(search, tags, scans)[source]¶
Create a filter for searching text across specified tags.
- Parameters:
(str) (search) – Search pattern to look for
(list) (scans) – List of tags to search within
(list) – List of scans to restrict the search to
- Return (str):
SQL-like filter expression for the search