populse_mia 3.0.0-dev+85ba6670 documentation

populse_mia.user_interface.data_browser.advanced_search

Contents

populse_mia.user_interface.data_browser.advanced_search¶

Module to define the advanced search.

Contains:
Class:
  • AdvancedSearch

Classes

AdvancedSearch(project, data_browser[, ...])

Class that manages the widget of the advanced search

populse_mia.user_interface.data_browser.advanced_search.get_origin(tp)[source]¶

Get the unsubscripted version of a type.

This supports generic types, Callable, Tuple, Union, Literal, Final, ClassVar, Annotated, and others. Return None for unsupported types.

Examples:

>>> P = ParamSpec('P')
>>> assert get_origin(Literal[42]) is Literal
>>> assert get_origin(int) is None
>>> assert get_origin(ClassVar[int]) is ClassVar
>>> assert get_origin(Generic) is Generic
>>> assert get_origin(Generic[T]) is Generic
>>> assert get_origin(Union[T, int]) is Union
>>> assert get_origin(List[Tuple[T, T]][int]) is list
>>> assert get_origin(P.args) is P
class populse_mia.user_interface.data_browser.advanced_search.QObjectCleanupHandler¶

Bases: QObject

add(self, object: QObject | None) → QObject | None¶
clear(self)¶
isEmpty(self) → bool¶
remove(self, object: QObject | None)¶
class populse_mia.user_interface.data_browser.advanced_search.QPixmap¶
class populse_mia.user_interface.data_browser.advanced_search.QPixmap(w: int, h: int)
class populse_mia.user_interface.data_browser.advanced_search.QPixmap(a0: QSize)
class populse_mia.user_interface.data_browser.advanced_search.QPixmap(fileName: str | None, format: str | None = None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.ImageConversionFlag.AutoColor)
class populse_mia.user_interface.data_browser.advanced_search.QPixmap(xpm: List[str])
class populse_mia.user_interface.data_browser.advanced_search.QPixmap(a0: QPixmap)
class populse_mia.user_interface.data_browser.advanced_search.QPixmap(variant: Any)

Bases: QPaintDevice

cacheKey(self) → int¶
convertFromImage(self, img: QImage, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) → bool¶
copy(self, rect: QRect = QRect()) → QPixmap¶
copy(self, ax: int, ay: int, awidth: int, aheight: int) → QPixmap
createHeuristicMask(self, clipTight: bool = True) → QBitmap¶
createMaskFromColor(self, maskColor: QColor | Qt.GlobalColor, mode: Qt.MaskMode = Qt.MaskInColor) → QBitmap¶
defaultDepth() → int¶
depth(self) → int¶
detach(self)¶
devType(self) → int¶
devicePixelRatio(self) → float¶
fill(self, color: QColor | Qt.GlobalColor = Qt.GlobalColor.white)¶
fromImage(image: QImage, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) → QPixmap¶
fromImageReader(imageReader: QImageReader | None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) → QPixmap¶
hasAlpha(self) → bool¶
hasAlphaChannel(self) → bool¶
height(self) → int¶
isNull(self) → bool¶
isQBitmap(self) → bool¶
load(self, fileName: str | None, format: str | None = None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) → bool¶
loadFromData(self, buf: PyQt5.sip.array[bytes] | None, format: str | None = None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) → bool¶
loadFromData(self, buf: QByteArray | bytes | bytearray, format: str | None = None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) → bool
mask(self) → QBitmap¶
metric(self, a0: QPaintDevice.PaintDeviceMetric) → int¶
paintEngine(self) → QPaintEngine | None¶
rect(self) → QRect¶
save(self, fileName: str | None, format: str | None = None, quality: int = -1) → bool¶
save(self, device: QIODevice | None, format: str | None = None, quality: int = -1) → bool
scaled(self, width: int, height: int, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation) → QPixmap¶
scaled(self, size: QSize, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation) → QPixmap
scaledToHeight(self, height: int, mode: Qt.TransformationMode = Qt.FastTransformation) → QPixmap¶
scaledToWidth(self, width: int, mode: Qt.TransformationMode = Qt.FastTransformation) → QPixmap¶
scroll(self, dx: int, dy: int, rect: QRect) → QRegion | None¶
scroll(self, dx: int, dy: int, x: int, y: int, width: int, height: int) → QRegion | None
setDevicePixelRatio(self, scaleFactor: float)¶
setMask(self, a0: QBitmap)¶
size(self) → QSize¶
swap(self, other: QPixmap)¶
toImage(self) → QImage¶
transformed(self, transform: QTransform, mode: Qt.TransformationMode = Qt.FastTransformation) → QPixmap¶
trueMatrix(m: QTransform, w: int, h: int) → QTransform¶
width(self) → int¶
class populse_mia.user_interface.data_browser.advanced_search.QComboBox(parent: QWidget | None = None)¶

Bases: QWidget

AdjustToContents = 0¶
AdjustToContentsOnFirstShow = 1¶
AdjustToMinimumContentsLength = 2¶
AdjustToMinimumContentsLengthWithIcon = 3¶
InsertAfterCurrent = 4¶
InsertAlphabetically = 6¶
InsertAtBottom = 3¶
InsertAtCurrent = 2¶
InsertAtTop = 1¶
InsertBeforeCurrent = 5¶
class InsertPolicy¶

Bases: int

NoInsert = 0¶
class SizeAdjustPolicy¶

Bases: int

activated¶

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

addItem(self, text: str | None, userData: Any = None)¶
addItem(self, icon: QIcon, text: str | None, userData: Any = None) → None
addItems(self, texts: Iterable[str | None])¶
changeEvent(self, e: QEvent | None)¶
clear(self)¶
clearEditText(self)¶
completer(self) → QCompleter | None¶
contextMenuEvent(self, e: QContextMenuEvent | None)¶
count(self) → int¶
currentData(self, role: int = Qt.ItemDataRole.UserRole) → Any¶
currentIndex(self) → int¶
currentIndexChanged¶

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

currentText(self) → str¶
currentTextChanged¶

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

duplicatesEnabled(self) → bool¶
editTextChanged¶

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

event(self, event: QEvent | None) → bool¶
findData(self, data: Any, role: int = Qt.UserRole, flags: Qt.MatchFlags | Qt.MatchFlag = Qt.MatchExactly | Qt.MatchCaseSensitive) → int¶
findText(self, text: str | None, flags: Qt.MatchFlags | Qt.MatchFlag = Qt.MatchExactly | Qt.MatchCaseSensitive) → int¶
focusInEvent(self, e: QFocusEvent | None)¶
focusOutEvent(self, e: QFocusEvent | None)¶
hasFrame(self) → bool¶
hideEvent(self, e: QHideEvent | None)¶
hidePopup(self)¶
highlighted¶

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

iconSize(self) → QSize¶
initStyleOption(self, option: QStyleOptionComboBox | None)¶
inputMethodEvent(self, a0: QInputMethodEvent | None)¶
inputMethodQuery(self, a0: Qt.InputMethodQuery) → Any¶
inputMethodQuery(self, query: Qt.InputMethodQuery, argument: Any) → Any
insertItem(self, index: int, text: str | None, userData: Any = None)¶
insertItem(self, index: int, icon: QIcon, text: str | None, userData: Any = None) → None
insertItems(self, index: int, texts: Iterable[str | None])¶
insertPolicy(self) → QComboBox.InsertPolicy¶
insertSeparator(self, index: int)¶
isEditable(self) → bool¶
itemData(self, index: int, role: int = Qt.UserRole) → Any¶
itemDelegate(self) → QAbstractItemDelegate | None¶
itemIcon(self, index: int) → QIcon¶
itemText(self, index: int) → str¶
keyPressEvent(self, e: QKeyEvent | None)¶
keyReleaseEvent(self, e: QKeyEvent | None)¶
lineEdit(self) → QLineEdit | None¶
maxCount(self) → int¶
maxVisibleItems(self) → int¶
minimumContentsLength(self) → int¶
minimumSizeHint(self) → QSize¶
model(self) → QAbstractItemModel | None¶
modelColumn(self) → int¶
mousePressEvent(self, e: QMouseEvent | None)¶
mouseReleaseEvent(self, e: QMouseEvent | None)¶
paintEvent(self, e: QPaintEvent | None)¶
placeholderText(self) → str¶
removeItem(self, index: int)¶
resizeEvent(self, e: QResizeEvent | None)¶
rootModelIndex(self) → QModelIndex¶
setCompleter(self, c: QCompleter | None)¶
setCurrentIndex(self, index: int)¶
setCurrentText(self, text: str | None)¶
setDuplicatesEnabled(self, enable: bool)¶
setEditText(self, text: str | None)¶
setEditable(self, editable: bool)¶
setFrame(self, a0: bool)¶
setIconSize(self, size: QSize)¶
setInsertPolicy(self, policy: QComboBox.InsertPolicy)¶
setItemData(self, index: int, value: Any, role: int = Qt.ItemDataRole.UserRole)¶
setItemDelegate(self, delegate: QAbstractItemDelegate | None)¶
setItemIcon(self, index: int, icon: QIcon)¶
setItemText(self, index: int, text: str | None)¶
setLineEdit(self, edit: QLineEdit | None)¶
setMaxCount(self, max: int)¶
setMaxVisibleItems(self, maxItems: int)¶
setMinimumContentsLength(self, characters: int)¶
setModel(self, model: QAbstractItemModel | None)¶
setModelColumn(self, visibleColumn: int)¶
setPlaceholderText(self, placeholderText: str | None)¶
setRootModelIndex(self, index: QModelIndex)¶
setSizeAdjustPolicy(self, policy: QComboBox.SizeAdjustPolicy)¶
setValidator(self, v: QValidator | None)¶
setView(self, itemView: QAbstractItemView | None)¶
showEvent(self, e: QShowEvent | None)¶
showPopup(self)¶
sizeAdjustPolicy(self) → QComboBox.SizeAdjustPolicy¶
sizeHint(self) → QSize¶
textActivated¶

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

textHighlighted¶

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

validator(self) → QValidator | None¶
view(self) → QAbstractItemView | None¶
wheelEvent(self, e: QWheelEvent | None)¶
class populse_mia.user_interface.data_browser.advanced_search.QGridLayout(parent: QWidget | None)¶
class populse_mia.user_interface.data_browser.advanced_search.QGridLayout

Bases: QLayout

addItem(self, item: QLayoutItem | None, row: int, column: int, rowSpan: int = 1, columnSpan: int = 1, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment())¶
addItem(self, a0: QLayoutItem | None) → None
addLayout(self, a0: QLayout | None, row: int, column: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment())¶
addLayout(self, a0: QLayout | None, row: int, column: int, rowSpan: int, columnSpan: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment()) → None
addWidget(self, w: QWidget | None)¶
addWidget(self, a0: QWidget | None, row: int, column: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment()) → None
addWidget(self, a0: QWidget | None, row: int, column: int, rowSpan: int, columnSpan: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment()) → None
cellRect(self, row: int, column: int) → QRect¶
columnCount(self) → int¶
columnMinimumWidth(self, column: int) → int¶
columnStretch(self, column: int) → int¶
count(self) → int¶
expandingDirections(self) → Qt.Orientations¶
getItemPosition(self, idx: int)¶
hasHeightForWidth(self) → bool¶
heightForWidth(self, a0: int) → int¶
horizontalSpacing(self) → int¶
invalidate(self)¶
itemAt(self, a0: int) → QLayoutItem | None¶
itemAtPosition(self, row: int, column: int) → QLayoutItem | None¶
maximumSize(self) → QSize¶
minimumHeightForWidth(self, a0: int) → int¶
minimumSize(self) → QSize¶
originCorner(self) → Qt.Corner¶
rowCount(self) → int¶
rowMinimumHeight(self, row: int) → int¶
rowStretch(self, row: int) → int¶
setColumnMinimumWidth(self, column: int, minSize: int)¶
setColumnStretch(self, column: int, stretch: int)¶
setDefaultPositioning(self, n: int, orient: Qt.Orientation)¶
setGeometry(self, a0: QRect)¶
setHorizontalSpacing(self, spacing: int)¶
setOriginCorner(self, a0: Qt.Corner)¶
setRowMinimumHeight(self, row: int, minSize: int)¶
setRowStretch(self, row: int, stretch: int)¶
setSpacing(self, spacing: int)¶
setVerticalSpacing(self, spacing: int)¶
sizeHint(self) → QSize¶
spacing(self) → int¶
takeAt(self, a0: int) → QLayoutItem | None¶
verticalSpacing(self) → int¶
class populse_mia.user_interface.data_browser.advanced_search.QHBoxLayout¶
class populse_mia.user_interface.data_browser.advanced_search.QHBoxLayout(parent: QWidget | None)

Bases: QBoxLayout

class populse_mia.user_interface.data_browser.advanced_search.QLineEdit(parent: QWidget | None = None)¶
class populse_mia.user_interface.data_browser.advanced_search.QLineEdit(contents: str | None, parent: QWidget | None = None)

Bases: QWidget

class ActionPosition¶

Bases: int

class EchoMode¶

Bases: int

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)¶
changeEvent(self, a0: QEvent | None)¶
clear(self)¶
completer(self) → QCompleter | None¶
contextMenuEvent(self, a0: QContextMenuEvent | None)¶
copy(self)¶
createStandardContextMenu(self) → QMenu | None¶
cursorBackward(self, mark: bool, steps: int = 1)¶
cursorForward(self, mark: bool, steps: int = 1)¶
cursorMoveStyle(self) → Qt.CursorMoveStyle¶
cursorPosition(self) → int¶
cursorPositionAt(self, pos: QPoint) → int¶
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¶
cursorWordBackward(self, mark: bool)¶
cursorWordForward(self, mark: bool)¶
cut(self)¶
del_(self)¶
deselect(self)¶
displayText(self) → str¶
dragEnabled(self) → bool¶
dragEnterEvent(self, a0: QDragEnterEvent | None)¶
dragLeaveEvent(self, e: QDragLeaveEvent | None)¶
dragMoveEvent(self, e: QDragMoveEvent | None)¶
dropEvent(self, a0: QDropEvent | None)¶
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

end(self, mark: bool)¶
event(self, a0: QEvent | None) → bool¶
focusInEvent(self, a0: QFocusEvent | None)¶
focusOutEvent(self, a0: QFocusEvent | None)¶
getTextMargins(self)¶
hasAcceptableInput(self) → bool¶
hasFrame(self) → bool¶
hasSelectedText(self) → bool¶
home(self, mark: bool)¶
initStyleOption(self, option: QStyleOptionFrame | None)¶
inputMask(self) → str¶
inputMethodEvent(self, a0: QInputMethodEvent | None)¶
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

insert(self, a0: str | None)¶
isClearButtonEnabled(self) → bool¶
isModified(self) → bool¶
isReadOnly(self) → bool¶
isRedoAvailable(self) → bool¶
isUndoAvailable(self) → bool¶
keyPressEvent(self, a0: QKeyEvent | None)¶
maxLength(self) → int¶
minimumSizeHint(self) → QSize¶
mouseDoubleClickEvent(self, a0: QMouseEvent | None)¶
mouseMoveEvent(self, a0: QMouseEvent | None)¶
mousePressEvent(self, a0: QMouseEvent | None)¶
mouseReleaseEvent(self, a0: QMouseEvent | None)¶
paintEvent(self, a0: QPaintEvent | None)¶
paste(self)¶
placeholderText(self) → str¶
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)¶
selectedText(self) → str¶
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

selectionEnd(self) → int¶
selectionLength(self) → int¶
selectionStart(self) → int¶
setAlignment(self, flag: Qt.Alignment | Qt.AlignmentFlag)¶
setClearButtonEnabled(self, enable: bool)¶
setCompleter(self, completer: QCompleter | None)¶
setCursorMoveStyle(self, style: Qt.CursorMoveStyle)¶
setCursorPosition(self, a0: int)¶
setDragEnabled(self, b: bool)¶
setEchoMode(self, a0: QLineEdit.EchoMode)¶
setFrame(self, a0: bool)¶
setInputMask(self, inputMask: str | None)¶
setMaxLength(self, a0: int)¶
setModified(self, a0: bool)¶
setPlaceholderText(self, a0: str | None)¶
setReadOnly(self, a0: bool)¶
setSelection(self, a0: int, a1: int)¶
setText(self, a0: str | None)¶
setTextMargins(self, left: int, top: int, right: int, bottom: int)¶
setTextMargins(self, margins: QMargins) → None
setValidator(self, a0: QValidator | None)¶
sizeHint(self) → QSize¶
text(self) → str¶
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)¶
validator(self) → QValidator | None¶
class populse_mia.user_interface.data_browser.advanced_search.QMessageBox(parent: QWidget | None = None)¶
class populse_mia.user_interface.data_browser.advanced_search.QMessageBox(icon: QMessageBox.Icon, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.NoButton, parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.Dialog | Qt.MSWindowsFixedSizeDialogHint)

Bases: QDialog

Abort = 262144¶
AcceptRole = 0¶
ActionRole = 3¶
Apply = 33554432¶
ApplyRole = 8¶
ButtonMask = -769¶
class ButtonRole¶

Bases: int

Cancel = 4194304¶
Close = 2097152¶
Critical = 3¶
Default = 256¶
DestructiveRole = 2¶
Discard = 8388608¶
Escape = 512¶
FirstButton = 1024¶
FlagMask = 768¶
Help = 16777216¶
HelpRole = 4¶
class Icon¶

Bases: int

Ignore = 1048576¶
Information = 1¶
InvalidRole = -1¶
LastButton = 134217728¶
No = 65536¶
NoAll = 131072¶
NoButton = 0¶
NoIcon = 0¶
NoRole = 6¶
NoToAll = 131072¶
Ok = 1024¶
Open = 8192¶
Question = 4¶
RejectRole = 1¶
Reset = 67108864¶
ResetRole = 7¶
RestoreDefaults = 134217728¶
Retry = 524288¶
Save = 2048¶
SaveAll = 4096¶
class StandardButton¶

Bases: int

class StandardButtons¶
class StandardButtons(f: QMessageBox.StandardButtons | QMessageBox.StandardButton)
class StandardButtons(a0: QMessageBox.StandardButtons)

Bases: simplewrapper

Warning = 2¶
Yes = 16384¶
YesAll = 32768¶
YesRole = 5¶
YesToAll = 32768¶
about(parent: QWidget | None, caption: str | None, text: str | None)¶
aboutQt(parent: QWidget | None, title: str | None = '')¶
addButton(self, button: QAbstractButton | None, role: QMessageBox.ButtonRole)¶
addButton(self, text: str | None, role: QMessageBox.ButtonRole) → QPushButton | None
addButton(self, button: QMessageBox.StandardButton) → QPushButton | None
button(self, which: QMessageBox.StandardButton) → QAbstractButton | None¶
buttonClicked¶

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

buttonRole(self, button: QAbstractButton | None) → QMessageBox.ButtonRole¶
buttons(self) → List[QAbstractButton]¶
changeEvent(self, a0: QEvent | None)¶
checkBox(self) → QCheckBox | None¶
clickedButton(self) → QAbstractButton | None¶
closeEvent(self, a0: QCloseEvent | None)¶
critical(parent: QWidget | None, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.Ok, defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) → QMessageBox.StandardButton¶
defaultButton(self) → QPushButton | None¶
detailedText(self) → str¶
escapeButton(self) → QAbstractButton | None¶
event(self, e: QEvent | None) → bool¶
icon(self) → QMessageBox.Icon¶
iconPixmap(self) → QPixmap¶
information(parent: QWidget | None, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.Ok, defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) → QMessageBox.StandardButton¶
informativeText(self) → str¶
keyPressEvent(self, a0: QKeyEvent | None)¶
open(self)¶
open(self, slot: PYQT_SLOT) → None
question(parent: QWidget | None, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.StandardButtons(QMessageBox.Yes | QMessageBox.No), defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) → QMessageBox.StandardButton¶
removeButton(self, button: QAbstractButton | None)¶
resizeEvent(self, a0: QResizeEvent | None)¶
setCheckBox(self, cb: QCheckBox | None)¶
setDefaultButton(self, button: QPushButton | None)¶
setDefaultButton(self, button: QMessageBox.StandardButton) → None
setDetailedText(self, text: str | None)¶
setEscapeButton(self, button: QAbstractButton | None)¶
setEscapeButton(self, button: QMessageBox.StandardButton) → None
setIcon(self, a0: QMessageBox.Icon)¶
setIconPixmap(self, a0: QPixmap)¶
setInformativeText(self, text: str | None)¶
setStandardButtons(self, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton)¶
setText(self, a0: str | None)¶
setTextFormat(self, a0: Qt.TextFormat)¶
setTextInteractionFlags(self, flags: Qt.TextInteractionFlags | Qt.TextInteractionFlag)¶
setWindowModality(self, windowModality: Qt.WindowModality)¶
setWindowTitle(self, title: str | None)¶
showEvent(self, a0: QShowEvent | None)¶
standardButton(self, button: QAbstractButton | None) → QMessageBox.StandardButton¶
standardButtons(self) → QMessageBox.StandardButtons¶
standardIcon(icon: QMessageBox.Icon) → QPixmap¶
text(self) → str¶
textFormat(self) → Qt.TextFormat¶
textInteractionFlags(self) → Qt.TextInteractionFlags¶
warning(parent: QWidget | None, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.Ok, defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) → QMessageBox.StandardButton¶
class populse_mia.user_interface.data_browser.advanced_search.QPushButton(parent: QWidget | None = None)¶
class populse_mia.user_interface.data_browser.advanced_search.QPushButton(text: str | None, parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.advanced_search.QPushButton(icon: QIcon, text: str | None, parent: QWidget | None = None)

Bases: QAbstractButton

autoDefault(self) → bool¶
event(self, e: QEvent | None) → bool¶
focusInEvent(self, a0: QFocusEvent | None)¶
focusOutEvent(self, a0: QFocusEvent | None)¶
hitButton(self, pos: QPoint) → bool¶
initStyleOption(self, option: QStyleOptionButton | None)¶
isDefault(self) → bool¶
isFlat(self) → bool¶
keyPressEvent(self, a0: QKeyEvent | None)¶
menu(self) → QMenu | None¶
minimumSizeHint(self) → QSize¶
paintEvent(self, a0: QPaintEvent | None)¶
setAutoDefault(self, a0: bool)¶
setDefault(self, a0: bool)¶
setFlat(self, a0: bool)¶
setMenu(self, menu: QMenu | None)¶
showMenu(self)¶
sizeHint(self) → QSize¶
class populse_mia.user_interface.data_browser.advanced_search.QVBoxLayout¶
class populse_mia.user_interface.data_browser.advanced_search.QVBoxLayout(parent: QWidget | None)

Bases: QBoxLayout

class populse_mia.user_interface.data_browser.advanced_search.QWidget(parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.WindowFlags())¶

Bases: QObject, QPaintDevice

DrawChildren = 2¶
DrawWindowBackground = 1¶
IgnoreMask = 4¶
class RenderFlag¶

Bases: int

class RenderFlags¶
class RenderFlags(f: QWidget.RenderFlags | QWidget.RenderFlag)
class RenderFlags(a0: QWidget.RenderFlags)

Bases: simplewrapper

acceptDrops(self) → bool¶
accessibleDescription(self) → str¶
accessibleName(self) → str¶
actionEvent(self, a0: QActionEvent | None)¶
actions(self) → List[QAction]¶
activateWindow(self)¶
addAction(self, action: QAction | None)¶
addActions(self, actions: Iterable[QAction])¶
adjustSize(self)¶
autoFillBackground(self) → bool¶
backgroundRole(self) → QPalette.ColorRole¶
baseSize(self) → QSize¶
changeEvent(self, a0: QEvent | None)¶
childAt(self, p: QPoint) → QWidget | None¶
childAt(self, ax: int, ay: int) → QWidget | None
childrenRect(self) → QRect¶
childrenRegion(self) → QRegion¶
clearFocus(self)¶
clearMask(self)¶
close(self) → bool¶
closeEvent(self, a0: QCloseEvent | None)¶
contentsMargins(self) → QMargins¶
contentsRect(self) → QRect¶
contextMenuEvent(self, a0: QContextMenuEvent | None)¶
contextMenuPolicy(self) → Qt.ContextMenuPolicy¶
create(self, window: PyQt5.sip.voidptr = None, initializeWindow: bool = True, destroyOldWindow: bool = True)¶
createWindowContainer(window: QWindow | None, parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = 0) → QWidget¶
cursor(self) → QCursor¶
customContextMenuRequested¶

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

destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)¶
devType(self) → int¶
dragEnterEvent(self, a0: QDragEnterEvent | None)¶
dragLeaveEvent(self, a0: QDragLeaveEvent | None)¶
dragMoveEvent(self, a0: QDragMoveEvent | None)¶
dropEvent(self, a0: QDropEvent | None)¶
effectiveWinId(self) → PyQt5.sip.voidptr¶
ensurePolished(self)¶
enterEvent(self, a0: QEvent | None)¶
event(self, a0: QEvent | None) → bool¶
find(a0: PyQt5.sip.voidptr) → QWidget | None¶
focusInEvent(self, a0: QFocusEvent | None)¶
focusNextChild(self) → bool¶
focusNextPrevChild(self, next: bool) → bool¶
focusOutEvent(self, a0: QFocusEvent | None)¶
focusPolicy(self) → Qt.FocusPolicy¶
focusPreviousChild(self) → bool¶
focusProxy(self) → QWidget | None¶
focusWidget(self) → QWidget | None¶
font(self) → QFont¶
fontInfo(self) → QFontInfo¶
fontMetrics(self) → QFontMetrics¶
foregroundRole(self) → QPalette.ColorRole¶
frameGeometry(self) → QRect¶
frameSize(self) → QSize¶
geometry(self) → QRect¶
getContentsMargins(self)¶
grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(-1, -1))) → QPixmap¶
grabGesture(self, type: Qt.GestureType, flags: Qt.GestureFlags | Qt.GestureFlag = Qt.GestureFlags())¶
grabKeyboard(self)¶
grabMouse(self)¶
grabMouse(self, a0: QCursor | Qt.CursorShape) → None
grabShortcut(self, key: QKeySequence | QKeySequence.StandardKey | str | None | int, context: Qt.ShortcutContext = Qt.WindowShortcut) → int¶
graphicsEffect(self) → QGraphicsEffect | None¶
graphicsProxyWidget(self) → QGraphicsProxyWidget | None¶
hasFocus(self) → bool¶
hasHeightForWidth(self) → bool¶
hasMouseTracking(self) → bool¶
hasTabletTracking(self) → bool¶
height(self) → int¶
heightForWidth(self, a0: int) → int¶
hide(self)¶
hideEvent(self, a0: QHideEvent | None)¶
initPainter(self, painter: QPainter | None)¶
inputMethodEvent(self, a0: QInputMethodEvent | None)¶
inputMethodHints(self) → Qt.InputMethodHints¶
inputMethodQuery(self, a0: Qt.InputMethodQuery) → Any¶
insertAction(self, before: QAction | None, action: QAction | None)¶
insertActions(self, before: QAction | None, actions: Iterable[QAction])¶
isActiveWindow(self) → bool¶
isAncestorOf(self, child: QWidget | None) → bool¶
isEnabled(self) → bool¶
isEnabledTo(self, a0: QWidget | None) → bool¶
isFullScreen(self) → bool¶
isHidden(self) → bool¶
isLeftToRight(self) → bool¶
isMaximized(self) → bool¶
isMinimized(self) → bool¶
isModal(self) → bool¶
isRightToLeft(self) → bool¶
isVisible(self) → bool¶
isVisibleTo(self, a0: QWidget | None) → bool¶
isWindow(self) → bool¶
isWindowModified(self) → bool¶
keyPressEvent(self, a0: QKeyEvent | None)¶
keyReleaseEvent(self, a0: QKeyEvent | None)¶
keyboardGrabber() → QWidget | None¶
layout(self) → QLayout | None¶
layoutDirection(self) → Qt.LayoutDirection¶
leaveEvent(self, a0: QEvent | None)¶
locale(self) → QLocale¶
lower(self)¶
mapFrom(self, a0: QWidget | None, a1: QPoint) → QPoint¶
mapFromGlobal(self, a0: QPoint) → QPoint¶
mapFromParent(self, a0: QPoint) → QPoint¶
mapTo(self, a0: QWidget | None, a1: QPoint) → QPoint¶
mapToGlobal(self, a0: QPoint) → QPoint¶
mapToParent(self, a0: QPoint) → QPoint¶
mask(self) → QRegion¶
maximumHeight(self) → int¶
maximumSize(self) → QSize¶
maximumWidth(self) → int¶
metric(self, a0: QPaintDevice.PaintDeviceMetric) → int¶
minimumHeight(self) → int¶
minimumSize(self) → QSize¶
minimumSizeHint(self) → QSize¶
minimumWidth(self) → int¶
mouseDoubleClickEvent(self, a0: QMouseEvent | None)¶
mouseGrabber() → QWidget | None¶
mouseMoveEvent(self, a0: QMouseEvent | None)¶
mousePressEvent(self, a0: QMouseEvent | None)¶
mouseReleaseEvent(self, a0: QMouseEvent | None)¶
move(self, a0: QPoint)¶
move(self, ax: int, ay: int) → None
moveEvent(self, a0: QMoveEvent | None)¶
nativeEvent(self, eventType: QByteArray | bytes | bytearray, message: PyQt5.sip.voidptr | None)¶
nativeParentWidget(self) → QWidget | None¶
nextInFocusChain(self) → QWidget | None¶
normalGeometry(self) → QRect¶
overrideWindowFlags(self, type: Qt.WindowFlags | Qt.WindowType)¶
overrideWindowState(self, state: Qt.WindowStates | Qt.WindowState)¶
paintEngine(self) → QPaintEngine | None¶
paintEvent(self, a0: QPaintEvent | None)¶
palette(self) → QPalette¶
parentWidget(self) → QWidget | None¶
pos(self) → QPoint¶
previousInFocusChain(self) → QWidget | None¶
raise_(self)¶
rect(self) → QRect¶
releaseKeyboard(self)¶
releaseMouse(self)¶
releaseShortcut(self, id: int)¶
removeAction(self, action: QAction | None)¶
render(self, target: QPaintDevice | None, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlags | QWidget.RenderFlag = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.DrawChildren))¶
render(self, painter: QPainter | None, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlags | QWidget.RenderFlag = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.DrawChildren)) → None
repaint(self)¶
repaint(self, x: int, y: int, w: int, h: int) → None
repaint(self, a0: QRect) → None
repaint(self, a0: QRegion) → None
resize(self, a0: QSize)¶
resize(self, w: int, h: int) → None
resizeEvent(self, a0: QResizeEvent | None)¶
restoreGeometry(self, geometry: QByteArray | bytes | bytearray) → bool¶
saveGeometry(self) → QByteArray¶
screen(self) → QScreen | None¶
scroll(self, dx: int, dy: int)¶
scroll(self, dx: int, dy: int, a2: QRect) → None
setAcceptDrops(self, on: bool)¶
setAccessibleDescription(self, description: str | None)¶
setAccessibleName(self, name: str | None)¶
setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)¶
setAutoFillBackground(self, enabled: bool)¶
setBackgroundRole(self, a0: QPalette.ColorRole)¶
setBaseSize(self, basew: int, baseh: int)¶
setBaseSize(self, s: QSize) → None
setContentsMargins(self, left: int, top: int, right: int, bottom: int)¶
setContentsMargins(self, margins: QMargins) → None
setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)¶
setCursor(self, a0: QCursor | Qt.CursorShape)¶
setDisabled(self, a0: bool)¶
setEnabled(self, a0: bool)¶
setFixedHeight(self, h: int)¶
setFixedSize(self, a0: QSize)¶
setFixedSize(self, w: int, h: int) → None
setFixedWidth(self, w: int)¶
setFocus(self)¶
setFocus(self, reason: Qt.FocusReason) → None
setFocusPolicy(self, policy: Qt.FocusPolicy)¶
setFocusProxy(self, a0: QWidget | None)¶
setFont(self, a0: QFont)¶
setForegroundRole(self, a0: QPalette.ColorRole)¶
setGeometry(self, a0: QRect)¶
setGeometry(self, ax: int, ay: int, aw: int, ah: int) → None
setGraphicsEffect(self, effect: QGraphicsEffect | None)¶
setHidden(self, hidden: bool)¶
setInputMethodHints(self, hints: Qt.InputMethodHints | Qt.InputMethodHint)¶
setLayout(self, a0: QLayout | None)¶
setLayoutDirection(self, direction: Qt.LayoutDirection)¶
setLocale(self, locale: QLocale)¶
setMask(self, a0: QBitmap)¶
setMask(self, a0: QRegion) → None
setMaximumHeight(self, maxh: int)¶
setMaximumSize(self, maxw: int, maxh: int)¶
setMaximumSize(self, s: QSize) → None
setMaximumWidth(self, maxw: int)¶
setMinimumHeight(self, minh: int)¶
setMinimumSize(self, minw: int, minh: int)¶
setMinimumSize(self, s: QSize) → None
setMinimumWidth(self, minw: int)¶
setMouseTracking(self, enable: bool)¶
setPalette(self, a0: QPalette)¶
setParent(self, parent: QWidget | None)¶
setParent(self, parent: QWidget | None, f: Qt.WindowFlags | Qt.WindowType) → None
setShortcutAutoRepeat(self, id: int, enabled: bool = True)¶
setShortcutEnabled(self, id: int, enabled: bool = True)¶
setSizeIncrement(self, w: int, h: int)¶
setSizeIncrement(self, s: QSize) → None
setSizePolicy(self, a0: QSizePolicy)¶
setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) → None
setStatusTip(self, a0: str | None)¶
setStyle(self, a0: QStyle | None)¶
setStyleSheet(self, styleSheet: str | None)¶
setTabOrder(a0: QWidget | None, a1: QWidget | None)¶
setTabletTracking(self, enable: bool)¶
setToolTip(self, a0: str | None)¶
setToolTipDuration(self, msec: int)¶
setUpdatesEnabled(self, enable: bool)¶
setVisible(self, visible: bool)¶
setWhatsThis(self, a0: str | None)¶
setWindowFilePath(self, filePath: str | None)¶
setWindowFlag(self, a0: Qt.WindowType, on: bool = True)¶
setWindowFlags(self, type: Qt.WindowFlags | Qt.WindowType)¶
setWindowIcon(self, icon: QIcon)¶
setWindowIconText(self, a0: str | None)¶
setWindowModality(self, windowModality: Qt.WindowModality)¶
setWindowModified(self, a0: bool)¶
setWindowOpacity(self, level: float)¶
setWindowRole(self, a0: str | None)¶
setWindowState(self, state: Qt.WindowStates | Qt.WindowState)¶
setWindowTitle(self, a0: str | None)¶
sharedPainter(self) → QPainter | None¶
show(self)¶
showEvent(self, a0: QShowEvent | None)¶
showFullScreen(self)¶
showMaximized(self)¶
showMinimized(self)¶
showNormal(self)¶
size(self) → QSize¶
sizeHint(self) → QSize¶
sizeIncrement(self) → QSize¶
sizePolicy(self) → QSizePolicy¶
stackUnder(self, a0: QWidget | None)¶
statusTip(self) → str¶
style(self) → QStyle | None¶
styleSheet(self) → str¶
tabletEvent(self, a0: QTabletEvent | None)¶
testAttribute(self, attribute: Qt.WidgetAttribute) → bool¶
toolTip(self) → str¶
toolTipDuration(self) → int¶
underMouse(self) → bool¶
ungrabGesture(self, type: Qt.GestureType)¶
unsetCursor(self)¶
unsetLayoutDirection(self)¶
unsetLocale(self)¶
update(self)¶
update(self, a0: QRect) → None
update(self, a0: QRegion) → None
update(self, ax: int, ay: int, aw: int, ah: int) → None
updateGeometry(self)¶
updateMicroFocus(self)¶
updatesEnabled(self) → bool¶
visibleRegion(self) → QRegion¶
whatsThis(self) → str¶
wheelEvent(self, a0: QWheelEvent | None)¶
width(self) → int¶
winId(self) → PyQt5.sip.voidptr¶
window(self) → QWidget | None¶
windowFilePath(self) → str¶
windowFlags(self) → Qt.WindowFlags¶
windowHandle(self) → QWindow | None¶
windowIcon(self) → QIcon¶
windowIconChanged¶

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

windowIconText(self) → str¶
windowIconTextChanged¶

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

windowModality(self) → Qt.WindowModality¶
windowOpacity(self) → float¶
windowRole(self) → str¶
windowState(self) → Qt.WindowStates¶
windowTitle(self) → str¶
windowTitleChanged¶

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

windowType(self) → Qt.WindowType¶
x(self) → int¶
y(self) → int¶
populse_mia.user_interface.data_browser.advanced_search.FIELD_TYPE_BOOLEAN¶

alias of bool

populse_mia.user_interface.data_browser.advanced_search.FIELD_TYPE_STRING¶

alias of str

class populse_mia.user_interface.data_browser.advanced_search.Config(properties_path=None)[source]¶

Bases: object

Object that handles the configuration of the software

Contains:

Methods:

  • _configure_matlab_only: Configures MATLAB without SPM

  • _configure_matlab_spm: Configures SPM and MATLAB

  • _configure_mcr_only: Configures MCR without SPM

  • _configure_standalone_spm: Configures standalone SPM and MCR

  • _disable_matlab_spm: Disables all MATLAB and SPM configurations

  • get_admin_hash: Get the value of the hash of the admin password

  • get_afni_path: Returns the path of AFNI

  • get_ants_path: Returns the path of ANTS

  • getBackgroundColor: Get background color

  • get_capsul_config: Get CAPSUL config dictionary

  • get_capsul_engine: Get a global CapsulEngine object used for all operations in MIA application

  • getChainCursors: Returns if the “chain cursors” checkbox of the mini-viewer is activated

  • get_freesurfer_setup: Get freesurfer path

  • get_fsl_config: Returns the path of the FSL config file

  • get_mainwindow_maximized: Get the maximized (full-screen) flag

  • get_mainwindow_size: Get the main window size

  • get_matlab_command: Returns Matlab command

  • get_matlab_path: Returns the path of Matlab’s executable

  • get_matlab_standalone_path: Returns the path of Matlab Compiler Runtime

  • get_max_projects: Returns the maximum number of projects displayed in the “Saved projects” menu

  • get_max_thumbnails: Get max thumbnails number at the data browser bottom

  • get_mri_conv_path: Returns the MRIManager.jar path

  • get_mrtrix_path: Returns mrtrix path

  • getNbAllSlicesMax: Returns the maximum number of slices to display in the mini viewer

  • get_opened_projects: Returns the opened projects

  • get_projects_save_path: Returns the folder where the projects are saved

  • get_properties_path: Returns the software’s properties path

  • get_referential: Returns boolean to indicate DataViewer referential

  • get_resources_path: Get the resources path

  • getShowAllSlices: Returns if the “show all slices” checkbox of the mini viewer is activated

  • getSourceImageDir: Get the source directory for project images

  • get_spm_path: Returns the path of SPM12 (license version)

  • get_spm_standalone_path: Returns the path of SPM12 (standalone version)

  • getTextColor: Return the text color

  • getThumbnailTag: Returns the tag that is displayed in the mini viewer

  • get_use_afni: Returns the value of “use afni” checkbox in the preferences

  • get_use_ants: Returns the value of “use ants” checkbox in the preferences

  • get_use_clinical: Returns the value of “clinical mode” checkbox in the preferences

  • get_use_freesurfer: Returns the value of “use freesurfer” checkbox in the preferences

  • get_use_fsl: Returns the value of “use fsl” checkbox in the preferences

  • get_use_matlab: Returns the value of “use matlab” checkbox in the preferences

  • get_use_matlab_standalone: Returns the value of “use matlab standalone” checkbox in the preferences

  • get_use_mrtrix: Returns the value of “use mrtrix” checkbox in the preferences

  • get_user_level: Get the user level in the Capsul config

  • get_user_mode: Returns the value of “user mode” checkbox in the preferences

  • get_use_spm: Returns the value of “use spm” checkbox in the preferences

  • get_use_spm_standalone: Returns the value of “use spm standalone” checkbox in the preferences

  • getViewerConfig: Returns the DataViewer configuration (neuro or radio), by default neuro

  • getViewerFramerate: Returns the DataViewer framerate for automatic time running images

  • isAutoSave: Checks if auto-save mode is activated

  • isControlV1: Checks if the selected display of the controller is of V1 type

  • isRadioView: Checks if miniviewer in radiological orientation (if not, then it is in neurological orientation)

  • loadConfig: Reads the config in the config.yml file

  • saveConfig: Saves the config to the config.yml file

  • set_admin_hash: Set the password hash

  • set_afni_path: Set the path of the AFNI

  • set_ants_path: Set the path of the ANTS

  • setAutoSave: Sets the auto-save mode

  • setBackgroundColor: Sets the background color

  • set_capsul_config: Set CAPSUL configuration dict into MIA config

  • setChainCursors: Set the “chain cursors” checkbox of the mini viewer

  • set_clinical_mode: Set the value of “clinical mode” in the preferences

  • setControlV1: Set controller display mode (True if V1)

  • set_freesurfer_setup: Set freesurfer path

  • set_fsl_config: Set the path of the FSL config file

  • set_mainwindow_maximized: Set the maximized (fullscreen) flag

  • set_mainwindow_size: Set main window size

  • set_matlab_path: Set the path of Matlab’s executable

  • set_matlab_standalone_path: Set the path of Matlab Compiler Runtime

  • set_max_projects: Set the maximum number of projects displayed in the “Saved projects” menu

  • set_max_thumbnails: Set max thumbnails number at the data browser bottom

  • set_mri_conv_path: Set the MRIManager.jar path

  • set_mrtrix_path: Set the path of mrtrix

  • setNbAllSlicesMax: Set the maximum number of slices to display in the mini viewer

  • set_opened_projects: Set the opened projects

  • set_projects_save_path: Set the folder where the projects are saved

  • set_radioView: Set the orientation in miniviewer (True for radiological, False for neurological orientation)

  • set_referential: Set the DataViewer referential

  • set_resources_path: Set the resources path

  • setShowAllSlices: Set the “show all slices” checkbox of the mini viewer

  • setSourceImageDir: Set the source directory for project images

  • set_spm_path: Set the path of SPM12 (license version)

  • set_spm_standalone_path: Set the path of SPM12 (standalone version)

  • setTextColor: Set the text color

  • setThumbnailTag: Set the tag that is displayed in the mini viewer

  • set_use_afni: Set the value of “use afni” checkbox in the preferences

  • set_use_ants: Set the value of “use ants” checkbox in the preferences

  • set_use_freesurfer: Set the value of “use freesurfer” checkbox in the preferences

  • set_use_fsl: Set the value of “use fsl” checkbox in the preferences

  • set_use_matlab: Set the value of “use matlab” checkbox in the preferences

  • set_use_matlab_standalone: Set the value of “use matlab standalone” checkbox in the preferences

  • set_use_mrtrix: Set the value of “use mrtrix” checkbox in the preferences

  • set_user_mode: Set the value of “user mode” checkbox in the preferences

  • set_use_spm: Set the value of “use spm” checkbox in the preferences

  • set_use_spm_standalone: Set the value of “use spm standalone” checkbox in the preferences

  • setViewerConfig: Set the Viewer configuration neuro or radio

  • setViewerFramerate: Set the Viewer frame rate for automatic running time images

  • update_capsul_config: Update a global CapsulEngine object used for all operations in MIA application

capsul_engine = None¶
__init__(properties_path=None)[source]¶

Initialization of the Config class

Parameters:

properties_path – (str) If provided, the configuration file will be loaded / saved from the given directory. Otherwise, the regular heuristics will be used to determine the config path. This option allows to use an alternative config directory (for tests for instance).

_configure_matlab_only(matlab_path: str) → None[source]¶

Configures MATLAB without SPM, ensuring that only MATLAB is used.

Parameters:

matlab_path – (str) The directory path of the MATLAB installation.

_configure_matlab_spm(spm_dir, matlab_path)[source]¶

Configures SPM to use the specified SPM directory with a MATLAB installation.

Parameters:
  • spm_dir – (str) The directory path of the SPM installation.

  • matlab_path – (str) The directory path of the MATLAB installation.

_configure_mcr_only(mcr_dir: str) → None[source]¶

Configures MATLAB Compiler Runtime (MCR) without SPM, ensuring that only MCR is used.

Parameters:

mcr_dir – (str) The directory path of the MATLAB Compiler Runtime (MCR).

_configure_standalone_spm(spm_dir, mcr_dir)[source]¶

Configures standalone SPM to use the specified SPM and MATLAB Compiler Runtime (MCR) directories.

Parameters:
  • spm_dir – (str) The directory path of the standalone SPM installation.

  • mcr_dir – (str) The directory path of the MATLAB Compiler Runtime (MCR).

_disable_matlab_spm() → None[source]¶

Disables all MATLAB and SPM configurations, ensuring that neither MATLAB nor SPM is used.

get_admin_hash()[source]¶

Retrieves the hashed admin password from the configuration.

Returns:

The hashed admin password if found in config, False if not present in config.

get_afni_path()[source]¶

Get the AFNI path.

Returns:

(str) Path to AFNI, or “” if unknown.

get_ants_path()[source]¶

Get the ANTS path.

Returns:

(str) Path to ANTS, or “” if unknown.

getBackgroundColor()[source]¶

Get background color.

Returns:

(str) Background color, or “” if unknown.

get_capsul_config(sync_from_engine=True)[source]¶

Retrieve and construct the Capsul configuration dictionary.

This function builds a configuration dictionary for Capsul, incorporating settings for various neuroimaging tools and processing engines. It manages configurations for tools like SPM, FSL, FreeSurfer, MATLAB, AFNI, ANTs, and MRTrix.

The function first retrieves local settings for each tool from the Mia preferences, then constructs the appropriate configuration structure. If requested, it can synchronize the configuration with the current Capsul engine state.

Parameters:

sync_from_engine – (bool) If True, synchronizes the configuration with the current Capsul engine settings after building the base configuration.

Returns:

(dict) A nested dictionary containing the complete Capsul configuration, structured with the following main sections:

  • engine_modules: List of available processing modules

  • engine: Contains global and environment-specific settings, as well as configurations specific to certain tools (SPM, FSL, etc.)

Private functions:
  • _configure_spm: Configure SPM settings.

  • _configure_tool: Configure various neuroimaging settings (e.g. ‘fsl’, ‘afni’, etc.)

static get_capsul_engine()[source]¶

Get or create a global CapsulEngine singleton for Mia application operations.

The engine is created only once when first needed (lazy initialization). Subsequent calls return the same instance.

Returns:

(CapsulEngine) The global CapsulEngine instance.

getChainCursors()[source]¶

Get the value of the checkbox ‘chain cursor’ in miniviewer.

Returns:

(bool) Value of the checkbox.

get_freesurfer_setup()[source]¶

Get the freesurfer path.

Returns:

(str) Path to freesurfer, or “” if unknown.

get_fsl_config()[source]¶

Get the FSL config file path.

Returns:

(str) Path to the fsl/etc/fslconf/fsl.sh file.

get_mainwindow_maximized()[source]¶

Get the maximized (fullscreen) flag.

Returns:

(bool) Maximized (fullscreen) flag.

get_mainwindow_size()[source]¶

Get the main window size.

Returns:

(list) Main window size.

get_matlab_command()[source]¶

Retrieves the appropriate Matlab command based on the configuration.

Returns:

(str) The Matlab executable path or None if no path is specified.

get_matlab_path()[source]¶

Get the path to the matlab executable.

Returns:

(str) A path.

get_matlab_standalone_path()[source]¶

Get the path to matlab compiler runtime.

Returns:

(str) A path.

get_max_projects()[source]¶

Retrieves the maximum number of projects displayed in the “Saved projects” menu.

Returns:

(int) The maximum number of projects. Defaults to 5 if not specified.

get_max_thumbnails()[source]¶

Retrieves the maximum number of thumbnails displayed in the mini-viewer at the bottom of the data browser.

Returns:

(int) The maximum number of thumbnails. Defaults to 5 if not specified.

get_mri_conv_path()[source]¶

Get the MRIManager.jar path.

Returns:

(str) A path.

get_mrtrix_path()[source]¶

Get the mrtrix path.

Returns:

(str) A path.

getNbAllSlicesMax()[source]¶

Get number the maximum number of slices to display in the miniviewer.

Returns:

(int) Maximum number of slices to display in miniviewer.

get_opened_projects()[source]¶

Get opened projects.

Returns:

(list) Opened projects.

get_projects_save_path()[source]¶

Get the path where projects are saved.

Returns:

(str) A path.

get_properties_path()[source]¶

Retrieves the path to the folder containing the “processes” and “properties” directories of Mia.

The properties path is defined in the configuration_path.yml file, located in ~/.populse_mia.

  • In user mode, the path is retrieved from the properties_user_path parameter.

  • In developer mode, the path is retrieved from the properties_dev_path parameter.

If outdated parameters (mia_path, mia_user_path) are found, they are automatically updated in the configuration file.

Returns:

(str) The absolute path to the properties folder.

get_referential()[source]¶

Retrieves the chosen referential from the anatomist_2 data viewer.

Returns:

(str) “0” for World Coordinates, “1” for Image ref.

get_resources_path()[source]¶

Get the resources path.

Returns:

(str) A path.

getShowAllSlices()[source]¶

Get whether the show_all_slices parameters was enabled or not in the miniviewer.

Returns:

(bool) True if the show_all_slices parameters was enabled.

getSourceImageDir()[source]¶

Get the source directory for project images.

Returns:

(str) A path.

get_spm_path()[source]¶

Get the path of SPM.

Returns:

(str) A path.

get_spm_standalone_path()[source]¶

Get the path to the SPM12 standalone version.

Returns:

(str) A path.

getTextColor()[source]¶

Get the text color.

Returns:

(str) The text color.

getThumbnailTag()[source]¶

Get the tag of the thumbnail displayed in the miniviewer.

Returns:

(str) The tag of the thumbnail displayed in miniviewer.

get_use_afni()[source]¶

Get the value of “use afni” checkbox in the preferences.

Returns:

(bool) The value of “use afni” checkbox.

get_use_ants()[source]¶

Get the value of “use ants” checkbox in the preferences.

Returns:

(bool) The value of “use ants” checkbox.

get_use_clinical()[source]¶

Get the clinical mode in the preferences.

Returns:

(bool) The clinical mode.

get_use_freesurfer()[source]¶

Get the value of “use freesurfer” checkbox in the preferences.

Returns:

(bool) The value of “use freesurfer” checkbox.

get_use_fsl()[source]¶

Get the value of “use fsl” checkbox in the preferences.

Returns:

(bool) The value of “use fsl” checkbox.

get_use_matlab()[source]¶

Get the value of “use matlab” checkbox in the preferences.

Returns:

(bool) The value of “use matlab” checkbox.

get_use_matlab_standalone()[source]¶

Get the value of “use matlab standalone” checkbox in the preferences.

Returns:

(bool) The value of “use matlab standalone” checkbox.

get_use_mrtrix()[source]¶

Get the value of “use mrtrix” checkbox in the preferences.

Returns:

(bool) The value of “use mrtrix” checkbox.

get_user_level()[source]¶

Get the user level in the Capsul config.

Returns:

(int) The user level in the Capsul config.

get_user_mode()[source]¶

Get if user mode is disabled or enabled in the preferences.

Returns:

(bool) If True, the user mode is enabled.

get_use_spm()[source]¶

Get the value of “use spm” checkbox in the preferences.

Returns:

(bool) The value of “use spm” checkbox.

get_use_spm_standalone()[source]¶

Get the value of “use spm standalone” checkbox in the preferences.

Returns:

(bool) The value of “use spm standalone” checkbox.

getViewerConfig()[source]¶

Get the viewer config “neuro” or “radio”, “neuro” by default.

Returns:

(str) The viewer config (“neuro” or “radio”).

getViewerFramerate()[source]¶

Get the Viewer framerate.

Returns:

(str) The Viewer framerat (ex. “5”).

isAutoSave()[source]¶

Get if the auto-save mode is enabled or not.

Returns:

(bool) If True, auto-save mode is enabled.

isControlV1()[source]¶

Gets whether the controller display is of type V1.

Returns:

(bool) If True, V1 controller display.

isRadioView()[source]¶

Get if the display in miniviewer is in radiological orientation.

Returns:

(bool) If True, radiological orientation, otherwise neurological orientation.

loadConfig()[source]¶

Read the config from config.yml file.

Attempts to read an encrypted YAML configuration file from the properties directory, decrypt it using Fernet encryption, and parse it as YAML.

Returns:

(dict) Parsed configuration from the YAML file. Returns empty dict if parsing fails.

saveConfig()[source]¶

Save the current parameters in the config.yml file.

Encrypts and writes the current configuration (self.config) to config.yml using Fernet encryption. Creates the necessary directory structure if it doesn’t exist. After saving, updates the capsul configuration.

set_admin_hash(admin_hash)[source]¶

Set the password hash.

Parameters:

admin_hash – A string.

set_afni_path(path)[source]¶

Set the AFNI path.

Parameters:

path – (str) A path.

set_ants_path(path)[source]¶

Set the ANTS path

Parameters:

path – (str) A path.

setAutoSave(save)[source]¶

Set auto-save mode.

Parameters:

save – A boolean.

setBackgroundColor(color)[source]¶

Set background color and save configuration.

Parameters:

color – Color string (‘Black’, ‘Blue’, ‘Green’, ‘Grey’, ‘Orange’, ‘Red’, ‘Yellow’, ‘White’)

set_capsul_config(capsul_config_dict)[source]¶

Update Mia configuration with Capsul settings and synchronize tools configuration.

Called after editing Capsul config (via File > Mia preferences > Pipeline tab > Edit CAPSUL config) to synchronize Capsul settings with Mia preferences. Configures various neuroimaging tools (AFNI, ANTs, FSL, etc.) based on the Capsul engine configuration.

Parameters:

capsul_config_dict – Dictionary containing Capsul configuration.

Structure of capsul_config_dict:

{
    'engine': {
        'environment_name': {...configuration...}
    },
    'engine_modules': [...]
}
Private function:
  • _get_module_config: Extracts module configuration from the global Capsul configuration.

setChainCursors(chain_cursors)[source]¶

Set the value of the checkbox ‘chain cursor’ in the mini viewer.

Parameters:

chain_cursors – A boolean.

set_clinical_mode(clinical_mode)[source]¶

Enable or disable clinical mode.

Parameters:

clinical_mode – A boolean.

setControlV1(controlV1)[source]¶

Set controller display mode (True if V1).

Parameters:

controlV1 – A boolean.

set_freesurfer_setup(path)[source]¶

Set the freesurfer config file.

Parameters:

path – (str) Path to freesurfer/FreeSurferEnv.sh.

set_fsl_config(path)[source]¶

Set the FSL config file.

Parameters:

path – (str) Path to fsl/etc/fslconf/fsl.sh.

set_mainwindow_maximized(enabled)[source]¶

Set the maximized (full-screen) flag.

Parameters:

enabled – A boolean.

set_mainwindow_size(size)[source]¶

Set main window size.

Parameters:

size – A list of two integers.

set_matlab_path(path)[source]¶

Set the path of Matlab’s executable.

Parameters:

path – (str) A path.

set_matlab_standalone_path(path)[source]¶

Set the path of Matlab Compiler Runtime.

Parameters:

path – (str) A path.

set_max_projects(nb_max_projects)[source]¶

Set the maximum number of projects displayed in the “Saved projects” menu.

Parameters:

nb_max_projects – An integer.

set_max_thumbnails(nb_max_thumbnails)[source]¶

Set max thumbnails number at the data browser bottom.

Parameters:

nb_max_thumbnails – An integer.

set_mri_conv_path(path)[source]¶

Set the MRIManager.jar path.

Parameters:

path – (str) A path.

set_mrtrix_path(path)[source]¶

Set the mrtrix path.

Parameters:

path – (str) A path.

setNbAllSlicesMax(nb_slices_max)[source]¶

Set the number of slices to display in the mini-viewer.

Parameters:

nb_slices_max – (int) Maximum number of slices to display.

set_opened_projects(new_projects)[source]¶

Set the list of opened projects and saves the modification.

Parameters:

new_projects – (list[str]) A list of paths.

set_projects_save_path(path)[source]¶

Set the folder where the projects are saved.

Parameters:

path – (str) A path.

set_radioView(radio_view)[source]¶

Set the radiological / neurological orientation in mini viewer.

  • True for radiological

  • False for neurological

Parameters:

radio_view – A boolean.

set_referential(ref)[source]¶

Set the referential to “image Ref” or “World Coordinates” in anatomist_2 data viewer.

Parameters:

ref – (str) “0” for World Coordinates, “1” for Image Ref.

set_resources_path(path)[source]¶

Set the resources path.

Parameters:

path – (str) A path.

setShowAllSlices(show_all_slices)[source]¶

Set the show_all_slides setting in miniviewer.

Parameters:

show_all_slices – A boolean.

setSourceImageDir(source_image_dir)[source]¶

Set the source directory for project images.

Parameters:

source_image_dir – (str) A path.

set_spm_path(path)[source]¶

Set the path of SPM (license version).

Parameters:

path – (str) A path.

set_spm_standalone_path(path)[source]¶

Set the path of SPM (standalone version).

Parameters:

path – (str) A path.

setTextColor(color)[source]¶

Set text color and save configuration.

Parameters:

color – Color string (‘Black’, ‘Blue’, ‘Green’, ‘Grey’, ‘Orange’, ‘Red’, ‘Yellow’, ‘White’)

setThumbnailTag(thumbnail_tag)[source]¶

Set the tag that is displayed in the mini-viewer.

Parameters:

thumbnail_tag – A string.

set_use_afni(use_afni)[source]¶

Set the value of “use_afni” checkbox in the preferences.

Parameters:

use_afni – A boolean.

set_use_ants(use_ants)[source]¶

Set the value of “use_ants” checkbox in the preferences.

Parameters:

use_ants – A boolean.

set_use_freesurfer(use_freesurfer)[source]¶

Set the value of “use_freesurfer” checkbox in the preferences.

Parameters:

use_freesurfer – A boolean.

set_use_fsl(use_fsl)[source]¶

Set the value of “use_fsl” checkbox in the preferences.

Parameters:

use_fsl – A boolean.

set_use_matlab(use_matlab)[source]¶

Set the value of “use matlab” checkbox in the preferences.

Parameters:

use_matlab – A boolean.

set_use_matlab_standalone(use_matlab_standalone)[source]¶

Set the value of “use_matlab_standalone” checkbox in the preferences.

Parameters:

use_matlab – A boolean.

set_use_mrtrix(use_mrtrix)[source]¶

Set the value of “use_mrtrix” checkbox in the preferences.

Parameters:

use_mrtrix – A boolean.

set_user_mode(user_mode)[source]¶

Enable or disable user mode.

Parameters:

user_mode – A boolean.

set_use_spm(use_spm)[source]¶

Set the value of “use spm” checkbox in the preferences.

Parameters:

use_spm – A boolean.

set_use_spm_standalone(use_spm_standalone)[source]¶

Set the value of “use spm standalone” checkbox in the preferences.

Parameters:

use_spm_standalone – A boolean.

setViewerConfig(config_NeuRad)[source]¶

sets user’s configuration neuro or radio for data_viewer.

  • neuro: neurological

  • radio: radiological

Parameters:

config_NeuRad – A string.

setViewerFramerate(im_sec)[source]¶

sets user’s framerate for data_viewer.

Parameters:

im_sec – (int) Number of images per second.

update_capsul_config()[source]¶

Updates the global CapsulEngine object used for all operations in the Mia application.

The CapsulEngine is created once when needed and updated each time the configuration is saved. This method ensures that all necessary engine modules are loaded and configurations are properly imported from the saved settings.

Returns:

(capsul.engine.CapsulEngine) The updated CapsulEngine object, or None if the engine is not initialized.

class populse_mia.user_interface.data_browser.advanced_search.ClickableLabel[source]¶

Bases: QLabel

A QLabel subclass that emits a signal when clicked.

clicked¶

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

__init__()[source]¶

Initializes the ClickableLabel.

mousePressEvent(event)[source]¶

Handles the mouse press event by emitting the clicked signal.

Parameters:

(QMouseEvent) (event) – The mouse event triggering the signal.

class populse_mia.user_interface.data_browser.advanced_search.AdvancedSearch(project, data_browser, scans_list=None, tags_list=None, from_pipeline=False)[source]¶

Bases: QWidget

Class that manages the widget of the advanced search

The advanced search creates a complex query to the database and is a combination of several “query lines” which are linked with AND or OR and all composed of: - A negation or not - A tag name or all visible tags - A condition (==, !=, >, <, >=, <=, CONTAINS, IN, BETWEEN) - A value

__init__(project, data_browser, scans_list=None, tags_list=None, from_pipeline=False)[source]¶

Initialize the AdvancedSearch widget.

Parameters:
  • project – The current project instance.

  • data_browser – The parent DataBrowser widget that contains this search.

  • scans_list – List of document scans to search within. Defaults to empty list.

  • tags_list – List of tags to display in the search interface. Defaults to empty list.

  • (bool) (from_pipeline) – Whether the widget is instantiated from the pipeline manager. Defaults to False.

add_search_bar()[source]¶

Add an advanced search bar row to the search interface.

Creates a complete search row containing:
  • NOT operator toggle

  • Field selector (populated with available tags)

  • Condition operator selector (==, !=, >, <, etc.)

  • Value input field

  • Remove button to delete this row

The row components are connected with signals to update dynamically based on field type and selected condition.

apply_filter(filter)[source]¶

Apply a filter to update the displayed scans in the data browser.

Retrieves documents from the database based on the provided filter criteria and updates the table visualization accordingly. If the filter is invalid or an error occurs, displays a warning and reverts to showing all scans.

Parameters:

filter –

Filter object containing the query criteria with attributes:

  • nots (list): Negation flags for each condition

  • values (list): Values to match against

  • conditions (list): Comparison operators

    (e.g., ‘==’, ‘>’, ‘<’)

  • links (list): Logical operators connecting

    conditions (‘AND’, ‘OR’)

  • fields (list): Database fields to query

Side Effects:
  • Updates self.rows with filter parameters

  • Modifies self.data_browser.table_data.scans_to_visualize

  • May display a warning dialog on error

  • Calls self.data_browser.table_data.update_visualized_rows()

displayConditionRules(field, condition)[source]¶

Update available condition operators based on the selected field’s type.

Dynamically adjusts the condition dropdown to show only operators that are valid for the selected field’s data type. Numeric fields allow comparison operators (<, >, <=, >=, BETWEEN), while non-numeric fields exclude them. List fields exclude the IN operator, while non-list fields include it.

Parameters:
  • field – QComboBox widget containing the selected tag name.

  • condition – QComboBox widget whose items will be updated based on the field’s type.

Behavior:
  • Numeric types: Include <, >, <=, >=, BETWEEN operators

  • String/Boolean/List types: Exclude comparison operators

  • List types: Exclude IN operator

  • Non-list types: Include IN operator

  • Special case “All visualized tags”: Treated as non-numeric

displayValueRules(choice, value)[source]¶

Configure the value input widget based on the selected condition operator.

Adjusts the enabled state and placeholder text of the value input to match the requirements of the selected condition operator.

Parameters:
  • choice – QComboBox containing the selected condition operator.

  • value – QLineEdit widget that will be configured.

Behavior:
  • BETWEEN: Enabled with placeholder “value1; value2”

  • IN: Enabled with placeholder for semicolon-separated list

  • HAS VALUE/HAS NO VALUE: Disabled and cleared

  • Other operators: Enabled with no placeholder

get_filters(replace_all_by_fields)[source]¶

Extract filter criteria from UI widgets.

Parses the filter rows to extract search criteria including fields, conditions, values, logical operators, and negation flags. Handles special cases like “All visualized tags” expansion and operator compatibility validation.

Parameters:

replace_all_by_fields – If True, replaces “All visualized tags” with the actual list of visible fields. If False, keeps the literal “All visualized tags” text.

Return (tuple):

A 5-tuple containing: - fields (list): Field names to filter on - conditions (list): Comparison operators (e.g., ‘=’, ‘BETWEEN’) - values (list): Filter values (strings or lists for BETWEEN/IN) - links (list): Logical operators connecting filters (AND/OR) - nots (list): Negation flags for each filter

Note

  • BETWEEN and IN conditions have their values split into lists

  • Fields incompatible with operators are automatically removed

launch_search()[source]¶

Execute search query and update the data browser table.

Retrieves filter parameters, constructs and executes a database query, then updates the data browser’s visualized scans with the results. If the search fails, displays an error dialog and reverts to showing all available scans.

Side Effects:
  • Updates self.data_browser.table_data.scans_to_visualize

  • Updates self.data_browser.table_data.scans_to_search

  • Updates self.project.currentFilter (if not from_pipeline)

  • Displays error dialog on search failure

static prepare_filters(links, fields, conditions, values, nots, scans)[source]¶

Construct a filter query string from filter components.

Builds a query by combining multiple filter rows with logical operators (AND/OR), where each row can filter across multiple fields with optional negation.

Parameters:
  • links – Logical operators joining filter rows (e.g., [‘AND’, ‘OR’]). Length should be len(fields) - 1.

  • fields – Nested list where each sublist contains field names to filter on. Fields within a row are OR-combined.

  • conditions – Filter operators for each row. Supported values: ‘==’, ‘!=’, ‘<’, ‘>’, ‘<=’, ‘>=’, ‘IN’, ‘BETWEEN’, ‘CONTAINS’, ‘HAS VALUE’, ‘HAS NO VALUE’.

  • values – Filter values corresponding to each condition. For ‘BETWEEN’, provide a two-element sequence [min, max].

  • nots – Negation flags for each row (‘NOT’ to negate, empty string otherwise).

  • scans – List of scan identifiers to restrict the search scope.

Returns:

Complete filter query string with all conditions and scan restrictions.

refresh_search()[source]¶

Refresh the search widget by rebuilding its layout with the current filters.

This method performs the following steps:
  1. Retrieves the current filter values without replacing “All visualized tags”.

  2. Clears the old layout and cleans up its widgets.

  3. Removes and restores row borders according to the links.

  4. Rebuilds the main grid layout with all row widgets.

  5. Adds the search button in a horizontal layout at the bottom.

  6. Sets the new combined layout as the widget’s layout.

remove_row(row_layout)[source]¶

Remove a specified row from the layout while ensuring at least one row remains.

This method deletes all widgets in the specified row, removes the row from the internal rows list, and refreshes the view.

Parameters:

row_layout – The row (list of widgets) to remove.

rows_borders_added(links)[source]¶

Add UI controls (links and add button) to search query rows.

Adds a green plus button to the last row for adding new search bars, and adds AND/OR combo boxes to all rows except the first one for linking query conditions.

Parameters:

links – List of previously selected link operators (‘AND’/’OR’) to restore when rebuilding the UI.

rows_borders_removed()[source]¶

Remove the link widget and the “add row” widget from every row.

This ensures that these widgets are properly removed from the layout and scheduled for deletion, preventing memory leaks.

show_search()[source]¶

Reset the search rows and display the search bar.

This method clears the current rows if there are none or fewer than one, and initializes the search bar for the advanced search functionality.

Contents

© Copyright 2022, populse. Created using Sphinx 7.3.7.