populse_mia.user_interface.data_browser.data_browser

Module to define data browser tab appearance, settings and methods.

Contains:
Class:
  • DataBrowser

  • DateFormatDelegate

  • DateTimeFormatDelegate

  • NumberFormatDelegate

  • TableDataBrowser

  • TimeFormatDelegate

Classes

DataBrowser(project, main_window)

Widget that manages and displays the contents of the Data Browser tab.

DateFormatDelegate([parent])

A custom delegate for handling date editing in table views.

DateTimeFormatDelegate([parent])

Custom delegate for displaying and editing datetime values in table views.

NumberFormatDelegate([parent])

Delegate for handling numeric input in table cells.

TableDataBrowser(project, data_browser, ...)

Table widget that displays the documents contained in the database and their associated tags.

TimeFormatDelegate([parent])

Delegate for handling time data display and editing in table views.

populse_mia.user_interface.data_browser.data_browser.contextmanager(func)[source]

@contextmanager decorator.

Typical usage:

@contextmanager def some_generator(<arguments>):

<setup> try:

yield <value>

finally:

<cleanup>

This makes this:

with some_generator(<arguments>) as <variable>:

<body>

equivalent to this:

<setup> try:

<variable> = <value> <body>

finally:

<cleanup>

class populse_mia.user_interface.data_browser.data_browser.partial[source]

Bases: object

partial(func, *args, **keywords) - new function with partial application of the given arguments and keywords.

args

tuple of arguments to future partial calls

func

function object to use in future partial calls

keywords

dictionary of keyword arguments to future partial calls

class populse_mia.user_interface.data_browser.data_browser.Path(*args, **kwargs)[source]

Bases: PurePath

PurePath subclass that can make system calls.

Path represents a filesystem path but unlike PurePath, also offers methods to do system calls on path objects. Depending on your system, instantiating a Path will return either a PosixPath or a WindowsPath object. You can also instantiate a PosixPath or WindowsPath directly, but cannot instantiate a WindowsPath on a POSIX system or vice versa.

stat(*, follow_symlinks=True)[source]

Return the result of the stat() system call on this path, like os.stat() does.

lstat()[source]

Like stat(), except if the path points to a symlink, the symlink’s status information is returned, rather than its target’s.

exists(*, follow_symlinks=True)[source]

Whether this path exists.

This method normally follows symlinks; to check whether a symlink exists, add the argument follow_symlinks=False.

is_dir()[source]

Whether this path is a directory.

is_file()[source]

Whether this path is a regular file (also True for symlinks pointing to regular files).

is_mount()[source]

Check if this path is a mount point

Whether this path is a symbolic link.

is_junction()[source]

Whether this path is a junction.

is_block_device()[source]

Whether this path is a block device.

is_char_device()[source]

Whether this path is a character device.

is_fifo()[source]

Whether this path is a FIFO.

is_socket()[source]

Whether this path is a socket.

samefile(other_path)[source]

Return whether other_path is the same or not as this file (as returned by os.path.samefile()).

open(mode='r', buffering=-1, encoding=None, errors=None, newline=None)[source]

Open the file pointed to by this path and return a file object, as the built-in open() function does.

read_bytes()[source]

Open the file in bytes mode, read it, and close the file.

read_text(encoding=None, errors=None)[source]

Open the file in text mode, read it, and close the file.

write_bytes(data)[source]

Open the file in bytes mode, write to it, and close the file.

write_text(data, encoding=None, errors=None, newline=None)[source]

Open the file in text mode, write to it, and close the file.

iterdir()[source]

Yield path objects of the directory contents.

The children are yielded in arbitrary order, and the special entries ‘.’ and ‘..’ are not included.

_scandir()[source]
_make_child_relpath(name)[source]
glob(pattern, *, case_sensitive=None)[source]

Iterate over this subtree and yield all existing files (of any kind, including directories) matching the given relative pattern.

rglob(pattern, *, case_sensitive=None)[source]

Recursively yield all existing files (of any kind, including directories) matching the given relative pattern, anywhere in this subtree.

walk(top_down=True, on_error=None, follow_symlinks=False)[source]

Walk the directory tree from this directory, similar to os.walk().

__init__(*args, **kwargs)[source]
classmethod cwd()[source]

Return a new path pointing to the current working directory.

classmethod home()[source]

Return a new path pointing to the user’s home directory (as returned by os.path.expanduser(‘~’)).

absolute()[source]

Return an absolute version of this path by prepending the current working directory. No normalization or symlink resolution is performed.

Use resolve() to get the canonical path to a file.

resolve(strict=False)[source]

Make the path absolute, resolving all symlinks on the way and also normalizing it.

owner()[source]

Return the login name of the file owner.

group()[source]

Return the group name of the file gid.

Return the path to which the symbolic link points.

touch(mode=438, exist_ok=True)[source]

Create this file with the given access mode, if it doesn’t exist.

mkdir(mode=511, parents=False, exist_ok=False)[source]

Create a new directory at this given path.

chmod(mode, *, follow_symlinks=True)[source]

Change the permissions of the path, like os.chmod().

lchmod(mode)[source]

Like chmod(), except if the path points to a symlink, the symlink’s permissions are changed, rather than its target’s.

Remove this file or link. If the path is a directory, use rmdir() instead.

rmdir()[source]

Remove this directory. The directory must be empty.

rename(target)[source]

Rename this path to the target path.

The target path may be absolute or relative. Relative paths are interpreted relative to the current working directory, not the directory of the Path object.

Returns the new Path instance pointing to the target path.

replace(target)[source]

Rename this path to the target path, overwriting if that path exists.

The target path may be absolute or relative. Relative paths are interpreted relative to the current working directory, not the directory of the Path object.

Returns the new Path instance pointing to the target path.

Make this path a symlink pointing to the target path. Note the order of arguments (link, target) is the reverse of os.symlink.

Make this path a hard link pointing to the same file as target.

Note the order of arguments (self, target) is the reverse of os.link’s.

expanduser()[source]

Return a new path with expanded ~ and ~user constructs (as returned by os.path.expanduser)

populse_mia.user_interface.data_browser.data_browser.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.data_browser.Qt

Bases: simplewrapper

AA_CompressHighFrequencyEvents = 25
AA_CompressTabletEvents = 29
AA_DisableHighDpiScaling = 21
AA_DisableNativeVirtualKeyboard = 9
AA_DisableSessionManager = 31
AA_DisableShaderDiskCache = 27
AA_DisableWindowContextHelpButton = 30
AA_DontCheckOpenGLContextThreadAffinity = 26
AA_DontCreateNativeWidgetSiblings = 4
AA_DontShowIconsInMenus = 2
AA_DontShowShortcutsInContextMenus = 28
AA_DontUseNativeDialogs = 23
AA_DontUseNativeMenuBar = 6
AA_EnableHighDpiScaling = 20
AA_ForceRasterWidgets = 14
AA_ImmediateWidgetCreation = 0
AA_MSWindowsUseDirect3DByDefault = 1
AA_MacDontSwapCtrlAndMeta = 7
AA_MacPluginApplication = 5
AA_NativeWindows = 3
AA_PluginApplication = 5
AA_SetPalette = 19
AA_ShareOpenGLContexts = 18
AA_SynthesizeMouseForUnhandledTabletEvents = 24
AA_SynthesizeMouseForUnhandledTouchEvents = 12
AA_SynthesizeTouchForUnhandledMouseEvents = 11
AA_Use96Dpi = 8
AA_UseDesktopOpenGL = 15
AA_UseHighDpiPixmaps = 13
AA_UseOpenGLES = 16
AA_UseSoftwareOpenGL = 17
AA_UseStyleSheetPropagationInWidgetStyles = 22
AA_X11InitThreads = 10
ALT = 134217728
AbsoluteSize = 0
AccessibleDescriptionRole = 12
AccessibleTextRole = 11
ActionMask = 255
ActionsContextMenu = 2
ActiveWindowFocusReason = 3
AddToSelection = 1
AlignAbsolute = 16
AlignBaseline = 256
AlignBottom = 64
AlignCenter = 132
AlignHCenter = 4
AlignHorizontal_Mask = 31
AlignJustify = 8
AlignLeading = 1
AlignLeft = 1
AlignRight = 2
AlignTop = 32
AlignTrailing = 2
AlignVCenter = 128
AlignVertical_Mask = 480
class Alignment
class Alignment(f: Qt.Alignment | Qt.AlignmentFlag)
class Alignment(a0: Qt.Alignment)

Bases: simplewrapper

class AlignmentFlag

Bases: int

AllButtons = 134217727
AllDockWidgetAreas = 15
AllToolBarAreas = 15
AltModifier = 134217728
AnchorBottom = 5
AnchorHorizontalCenter = 1
AnchorLeft = 0
class AnchorPoint

Bases: int

AnchorRight = 2
AnchorTop = 3
AnchorVerticalCenter = 4
ApplicationActive = 4
class ApplicationAttribute

Bases: int

ApplicationHidden = 1
ApplicationInactive = 2
ApplicationModal = 2
ApplicationShortcut = 2
class ApplicationState

Bases: int

class ApplicationStates
class ApplicationStates(f: Qt.ApplicationStates | Qt.ApplicationState)
class ApplicationStates(a0: Qt.ApplicationStates)

Bases: simplewrapper

ApplicationSuspended = 0
ArrowCursor = 0
class ArrowType

Bases: int

AscendingOrder = 0
class AspectRatioMode

Bases: int

AutoColor = 0
AutoConnection = 0
AutoDither = 0
AutoText = 2
AvoidDither = 128
class Axis

Bases: int

BDiagPattern = 12
class BGMode

Bases: int

BackButton = 8
BackgroundColorRole = 8
BackgroundRole = 8
BacktabFocusReason = 2
BeginNativeGesture = 0
BevelJoin = 64
BitmapCursor = 24
BlankCursor = 10
BlockingQueuedConnection = 3
BottomDockWidgetArea = 8
BottomEdge = 8
BottomLeftCorner = 2
BottomLeftSection = 8
BottomRightCorner = 3
BottomRightSection = 6
BottomSection = 7
BottomToolBarArea = 8
class BrushStyle

Bases: int

BusyCursor = 16
BypassGraphicsProxyWidget = 536870912
BypassWindowManagerHint = 1024
CTRL = 67108864
CaseInsensitive = 0
CaseSensitive = 1
class CaseSensitivity

Bases: int

Ceil = 2
class CheckState

Bases: int

CheckStateRole = 10
Checked = 2
ChecksumIso3309 = 0
ChecksumItuV41 = 1
class ChecksumType

Bases: int

ClickFocus = 2
class ClipOperation

Bases: int

ClosedHandCursor = 18
CoarseTimer = 1
ColorOnly = 3
ConicalGradientPattern = 17
class ConnectionType

Bases: int

ContainsItemBoundingRect = 2
ContainsItemShape = 0
class ContextMenuPolicy

Bases: int

ControlModifier = 67108864
class CoordinateSystem

Bases: int

CopyAction = 1
class Corner

Bases: int

CoverWindow = 65
CrossCursor = 2
CrossPattern = 11
class CursorMoveStyle

Bases: int

class CursorShape

Bases: int

CustomContextMenu = 3
CustomCursor = 25
CustomDashLine = 6
CustomGesture = 256
CustomizeWindowHint = 33554432
DashDotDotLine = 5
DashDotLine = 4
DashLine = 2
class DateFormat

Bases: int

class DayOfWeek

Bases: int

DecorationRole = 1
DefaultContextMenu = 1
DefaultLocaleLongDate = 7
DefaultLocaleShortDate = 6
Dense1Pattern = 2
Dense2Pattern = 3
Dense3Pattern = 4
Dense4Pattern = 5
Dense5Pattern = 6
Dense6Pattern = 7
Dense7Pattern = 8
DescendingOrder = 1
Desktop = 17
DeviceCoordinates = 0
DiagCrossPattern = 14
Dialog = 3
DiffuseAlphaDither = 8
DiffuseDither = 0
DirectConnection = 1
DisplayRole = 0
class DockWidgetArea

Bases: int

DockWidgetArea_Mask = 15
class DockWidgetAreas
class DockWidgetAreas(f: Qt.DockWidgetAreas | Qt.DockWidgetArea)
class DockWidgetAreas(a0: Qt.DockWidgetAreas)

Bases: simplewrapper

DontStartGestureOnChildren = 1
DotLine = 3
DownArrow = 2
DragCopyCursor = 19
DragLinkCursor = 21
DragMoveCursor = 20
Drawer = 7
class DropAction

Bases: int

class DropActions
class DropActions(f: Qt.DropActions | Qt.DropAction)
class DropActions(a0: Qt.DropActions)

Bases: simplewrapper

class Edge

Bases: int

class Edges
class Edges(f: Qt.Edges | Qt.Edge)
class Edges(a0: Qt.Edges)

Bases: simplewrapper

EditRole = 2
ElideLeft = 0
ElideMiddle = 2
ElideNone = 3
ElideRight = 1
EndNativeGesture = 1
EnterKeyDefault = 0
EnterKeyDone = 2
EnterKeyGo = 3
EnterKeyNext = 6
EnterKeyPrevious = 7
EnterKeyReturn = 1
EnterKeySearch = 5
EnterKeySend = 4
class EnterKeyType

Bases: int

class EventPriority

Bases: int

ExactHit = 0
ExtraButton1 = 8
ExtraButton10 = 4096
ExtraButton11 = 8192
ExtraButton12 = 16384
ExtraButton13 = 32768
ExtraButton14 = 65536
ExtraButton15 = 131072
ExtraButton16 = 262144
ExtraButton17 = 524288
ExtraButton18 = 1048576
ExtraButton19 = 2097152
ExtraButton2 = 16
ExtraButton20 = 4194304
ExtraButton21 = 8388608
ExtraButton22 = 16777216
ExtraButton23 = 33554432
ExtraButton24 = 67108864
ExtraButton3 = 32
ExtraButton4 = 64
ExtraButton5 = 128
ExtraButton6 = 256
ExtraButton7 = 512
ExtraButton8 = 1024
ExtraButton9 = 2048
FDiagPattern = 13
FastTransformation = 0
class FillRule

Bases: int

class FindChildOption

Bases: int

class FindChildOptions
class FindChildOptions(f: Qt.FindChildOptions | Qt.FindChildOption)
class FindChildOptions(a0: Qt.FindChildOptions)

Bases: simplewrapper

FindChildrenRecursively = 1
FindDirectChildrenOnly = 0
FlatCap = 0
Floor = 3
class FocusPolicy

Bases: int

class FocusReason

Bases: int

FontRole = 6
ForbiddenCursor = 14
ForegroundRole = 9
ForeignWindow = 33
ForwardButton = 16
FramelessWindowHint = 2048
Friday = 5
FuzzyHit = 1
GestureCanceled = 4
GestureFinished = 3
class GestureFlag

Bases: int

class GestureFlags
class GestureFlags(f: Qt.GestureFlags | Qt.GestureFlag)
class GestureFlags(a0: Qt.GestureFlags)

Bases: simplewrapper

GestureStarted = 1
class GestureState

Bases: int

class GestureType

Bases: int

GestureUpdated = 2
class GlobalColor

Bases: int

GroupSwitchModifier = 1073741824
class HighDpiScaleFactorRoundingPolicy(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Ceil = 2
Floor = 3
PassThrough = 5
Round = 1
RoundPreferFloor = 4
HighDpiScaleFactorRoundingPolicys

alias of HighDpiScaleFactorRoundingPolicy

HighEventPriority = 1
class HitTestAccuracy

Bases: int

HorPattern = 9
Horizontal = 1
IBeamCursor = 4
ISODate = 1
ISODateWithMs = 9
IgnoreAction = 0
IgnoreAspectRatio = 0
IgnoredGesturesPropagateToParent = 4
ImAbsolutePosition = 1024
ImAnchorPosition = 128
ImAnchorRectangle = 16384
ImCurrentSelection = 32
ImCursorPosition = 8
ImCursorRectangle = 2
ImEnabled = 1
ImEnterKeyType = 8192
ImFont = 4
ImHints = 256
ImInputItemClipRectangle = 32768
ImMaximumTextLength = 64
ImMicroFocus = 2
ImPlatformData = -2147483648
ImPreferredLanguage = 512
ImQueryAll = -1
ImQueryInput = 16570
ImSurroundingText = 16
ImTextAfterCursor = 4096
ImTextBeforeCursor = 2048
class ImageConversionFlag

Bases: int

class ImageConversionFlags
class ImageConversionFlags(f: Qt.ImageConversionFlags | Qt.ImageConversionFlag)
class ImageConversionFlags(a0: Qt.ImageConversionFlags)

Bases: simplewrapper

ImhDate = 128
ImhDialableCharactersOnly = 1048576
ImhDigitsOnly = 65536
ImhEmailCharactersOnly = 2097152
ImhExclusiveInputMask = -65536
ImhFormattedNumbersOnly = 131072
ImhHiddenText = 1
ImhLatinOnly = 8388608
ImhLowercaseOnly = 524288
ImhMultiLine = 1024
ImhNoAutoUppercase = 4
ImhNoEditMenu = 2048
ImhNoPredictiveText = 64
ImhNoTextHandles = 4096
ImhNone = 0
ImhPreferLatin = 512
ImhPreferLowercase = 32
ImhPreferNumbers = 8
ImhPreferUppercase = 16
ImhSensitiveData = 2
ImhTime = 256
ImhUppercaseOnly = 262144
ImhUrlCharactersOnly = 4194304
InitialSortOrderRole = 14
class InputMethodHint

Bases: int

class InputMethodHints
class InputMethodHints(f: Qt.InputMethodHints | Qt.InputMethodHint)
class InputMethodHints(a0: Qt.InputMethodHints)

Bases: simplewrapper

class InputMethodQueries
class InputMethodQueries(f: Qt.InputMethodQueries | Qt.InputMethodQuery)
class InputMethodQueries(a0: Qt.InputMethodQueries)

Bases: simplewrapper

class InputMethodQuery

Bases: int

IntersectClip = 2
IntersectsItemBoundingRect = 3
IntersectsItemShape = 1
InvertedLandscapeOrientation = 8
InvertedPortraitOrientation = 4
class ItemDataRole

Bases: int

class ItemFlag

Bases: int

class ItemFlags
class ItemFlags(f: Qt.ItemFlags | Qt.ItemFlag)
class ItemFlags(a0: Qt.ItemFlags)

Bases: simplewrapper

ItemIsAutoTristate = 64
ItemIsDragEnabled = 4
ItemIsDropEnabled = 8
ItemIsEditable = 2
ItemIsEnabled = 32
ItemIsSelectable = 1
ItemIsTristate = 64
ItemIsUserCheckable = 16
ItemIsUserTristate = 256
ItemNeverHasChildren = 128
class ItemSelectionMode

Bases: int

class ItemSelectionOperation

Bases: int

KeepAspectRatio = 1
KeepAspectRatioByExpanding = 2
class Key

Bases: int

Key_0 = 48
Key_1 = 49
Key_2 = 50
Key_3 = 51
Key_4 = 52
Key_5 = 53
Key_6 = 54
Key_7 = 55
Key_8 = 56
Key_9 = 57
Key_A = 65
Key_AE = 198
Key_Aacute = 193
Key_Acircumflex = 194
Key_AddFavorite = 16777408
Key_Adiaeresis = 196
Key_Agrave = 192
Key_Alt = 16777251
Key_AltGr = 16781571
Key_Ampersand = 38
Key_Any = 32
Key_Apostrophe = 39
Key_ApplicationLeft = 16777415
Key_ApplicationRight = 16777416
Key_Aring = 197
Key_AsciiCircum = 94
Key_AsciiTilde = 126
Key_Asterisk = 42
Key_At = 64
Key_Atilde = 195
Key_AudioCycleTrack = 16777478
Key_AudioForward = 16777474
Key_AudioRandomPlay = 16777476
Key_AudioRepeat = 16777475
Key_AudioRewind = 16777413
Key_Away = 16777464
Key_B = 66
Key_Back = 16777313
Key_BackForward = 16777414
Key_Backslash = 92
Key_Backspace = 16777219
Key_Backtab = 16777218
Key_Bar = 124
Key_BassBoost = 16777331
Key_BassDown = 16777333
Key_BassUp = 16777332
Key_Battery = 16777470
Key_Blue = 16777495
Key_Bluetooth = 16777471
Key_Book = 16777417
Key_BraceLeft = 123
Key_BraceRight = 125
Key_BracketLeft = 91
Key_BracketRight = 93
Key_BrightnessAdjust = 16777410
Key_C = 67
Key_CD = 16777418
Key_Calculator = 16777419
Key_Calendar = 16777444
Key_Call = 17825796
Key_Camera = 17825824
Key_CameraFocus = 17825825
Key_Cancel = 16908289
Key_CapsLock = 16777252
Key_Ccedilla = 199
Key_ChannelDown = 16777497
Key_ChannelUp = 16777496
Key_Clear = 16777227
Key_ClearGrab = 16777421
Key_Close = 16777422
Key_Codeinput = 16781623
Key_Colon = 58
Key_Comma = 44
Key_Community = 16777412
Key_Context1 = 17825792
Key_Context2 = 17825793
Key_Context3 = 17825794
Key_Context4 = 17825795
Key_ContrastAdjust = 16777485
Key_Control = 16777249
Key_Copy = 16777423
Key_Cut = 16777424
Key_D = 68
Key_DOS = 16777426
Key_Dead_A = 16781953
Key_Dead_Abovecomma = 16781924
Key_Dead_Abovedot = 16781910
Key_Dead_Abovereversedcomma = 16781925
Key_Dead_Abovering = 16781912
Key_Dead_Aboveverticalline = 16781969
Key_Dead_Acute = 16781905
Key_Dead_Belowbreve = 16781931
Key_Dead_Belowcircumflex = 16781929
Key_Dead_Belowcomma = 16781934
Key_Dead_Belowdiaeresis = 16781932
Key_Dead_Belowdot = 16781920
Key_Dead_Belowmacron = 16781928
Key_Dead_Belowring = 16781927
Key_Dead_Belowtilde = 16781930
Key_Dead_Belowverticalline = 16781970
Key_Dead_Breve = 16781909
Key_Dead_Capital_Schwa = 16781963
Key_Dead_Caron = 16781914
Key_Dead_Cedilla = 16781915
Key_Dead_Circumflex = 16781906
Key_Dead_Currency = 16781935
Key_Dead_Diaeresis = 16781911
Key_Dead_Doubleacute = 16781913
Key_Dead_Doublegrave = 16781926
Key_Dead_E = 16781955
Key_Dead_Grave = 16781904
Key_Dead_Greek = 16781964
Key_Dead_Hook = 16781921
Key_Dead_Horn = 16781922
Key_Dead_I = 16781957
Key_Dead_Invertedbreve = 16781933
Key_Dead_Iota = 16781917
Key_Dead_Longsolidusoverlay = 16781971
Key_Dead_Lowline = 16781968
Key_Dead_Macron = 16781908
Key_Dead_O = 16781959
Key_Dead_Ogonek = 16781916
Key_Dead_Semivoiced_Sound = 16781919
Key_Dead_Small_Schwa = 16781962
Key_Dead_Stroke = 16781923
Key_Dead_Tilde = 16781907
Key_Dead_U = 16781961
Key_Dead_Voiced_Sound = 16781918
Key_Dead_a = 16781952
Key_Dead_e = 16781954
Key_Dead_i = 16781956
Key_Dead_o = 16781958
Key_Dead_u = 16781960
Key_Delete = 16777223
Key_Direction_L = 16777305
Key_Direction_R = 16777312
Key_Display = 16777425
Key_Documents = 16777427
Key_Dollar = 36
Key_Down = 16777237
Key_E = 69
Key_ETH = 208
Key_Eacute = 201
Key_Ecircumflex = 202
Key_Ediaeresis = 203
Key_Egrave = 200
Key_Eisu_Shift = 16781615
Key_Eisu_toggle = 16781616
Key_Eject = 16777401
Key_End = 16777233
Key_Enter = 16777221
Key_Equal = 61
Key_Escape = 16777216
Key_Excel = 16777428
Key_Exclam = 33
Key_Execute = 16908291
Key_Exit = 16908298
Key_Explorer = 16777429
Key_F = 70
Key_F1 = 16777264
Key_F10 = 16777273
Key_F11 = 16777274
Key_F12 = 16777275
Key_F13 = 16777276
Key_F14 = 16777277
Key_F15 = 16777278
Key_F16 = 16777279
Key_F17 = 16777280
Key_F18 = 16777281
Key_F19 = 16777282
Key_F2 = 16777265
Key_F20 = 16777283
Key_F21 = 16777284
Key_F22 = 16777285
Key_F23 = 16777286
Key_F24 = 16777287
Key_F25 = 16777288
Key_F26 = 16777289
Key_F27 = 16777290
Key_F28 = 16777291
Key_F29 = 16777292
Key_F3 = 16777266
Key_F30 = 16777293
Key_F31 = 16777294
Key_F32 = 16777295
Key_F33 = 16777296
Key_F34 = 16777297
Key_F35 = 16777298
Key_F4 = 16777267
Key_F5 = 16777268
Key_F6 = 16777269
Key_F7 = 16777270
Key_F8 = 16777271
Key_F9 = 16777272
Key_Favorites = 16777361
Key_Finance = 16777411
Key_Find = 16777506
Key_Flip = 17825798
Key_Forward = 16777314
Key_G = 71
Key_Game = 16777430
Key_Go = 16777431
Key_Greater = 62
Key_Green = 16777493
Key_Guide = 16777498
Key_H = 72
Key_Hangul = 16781617
Key_Hangul_Banja = 16781625
Key_Hangul_End = 16781619
Key_Hangul_Hanja = 16781620
Key_Hangul_Jamo = 16781621
Key_Hangul_Jeonja = 16781624
Key_Hangul_PostHanja = 16781627
Key_Hangul_PreHanja = 16781626
Key_Hangul_Romaja = 16781622
Key_Hangul_Special = 16781631
Key_Hangul_Start = 16781618
Key_Hangup = 17825797
Key_Hankaku = 16781609
Key_Help = 16777304
Key_Henkan = 16781603
Key_Hibernate = 16777480
Key_Hiragana = 16781605
Key_Hiragana_Katakana = 16781607
Key_History = 16777407
Key_Home = 16777232
Key_HomePage = 16777360
Key_Hyper_L = 16777302
Key_Hyper_R = 16777303
Key_I = 73
Key_Iacute = 205
Key_Icircumflex = 206
Key_Idiaeresis = 207
Key_Igrave = 204
Key_Info = 16777499
Key_Insert = 16777222
Key_J = 74
Key_K = 75
Key_Kana_Lock = 16781613
Key_Kana_Shift = 16781614
Key_Kanji = 16781601
Key_Katakana = 16781606
Key_KeyboardBrightnessDown = 16777398
Key_KeyboardBrightnessUp = 16777397
Key_KeyboardLightOnOff = 16777396
Key_L = 76
Key_LastNumberRedial = 17825801
Key_Launch0 = 16777378
Key_Launch1 = 16777379
Key_Launch2 = 16777380
Key_Launch3 = 16777381
Key_Launch4 = 16777382
Key_Launch5 = 16777383
Key_Launch6 = 16777384
Key_Launch7 = 16777385
Key_Launch8 = 16777386
Key_Launch9 = 16777387
Key_LaunchA = 16777388
Key_LaunchB = 16777389
Key_LaunchC = 16777390
Key_LaunchD = 16777391
Key_LaunchE = 16777392
Key_LaunchF = 16777393
Key_LaunchG = 16777486
Key_LaunchH = 16777487
Key_LaunchMail = 16777376
Key_LaunchMedia = 16777377
Key_Left = 16777234
Key_Less = 60
Key_LightBulb = 16777405
Key_LogOff = 16777433
Key_M = 77
Key_MailForward = 16777467
Key_Market = 16777434
Key_Massyo = 16781612
Key_MediaLast = 16842751
Key_MediaNext = 16777347
Key_MediaPause = 16777349
Key_MediaPlay = 16777344
Key_MediaPrevious = 16777346
Key_MediaRecord = 16777348
Key_MediaStop = 16777345
Key_MediaTogglePlayPause = 16777350
Key_Meeting = 16777435
Key_Memo = 16777404
Key_Menu = 16777301
Key_MenuKB = 16777436
Key_MenuPB = 16777437
Key_Messenger = 16777465
Key_Meta = 16777250
Key_MicMute = 16777491
Key_MicVolumeDown = 16777502
Key_MicVolumeUp = 16777501
Key_Minus = 45
Key_Mode_switch = 16781694
Key_MonBrightnessDown = 16777395
Key_MonBrightnessUp = 16777394
Key_Muhenkan = 16781602
Key_Multi_key = 16781600
Key_MultipleCandidate = 16781629
Key_Music = 16777469
Key_MySites = 16777438
Key_N = 78
Key_New = 16777504
Key_News = 16777439
Key_No = 16842754
Key_Ntilde = 209
Key_NumLock = 16777253
Key_NumberSign = 35
Key_O = 79
Key_Oacute = 211
Key_Ocircumflex = 212
Key_Odiaeresis = 214
Key_OfficeHome = 16777440
Key_Ograve = 210
Key_Ooblique = 216
Key_Open = 16777505
Key_OpenUrl = 16777364
Key_Option = 16777441
Key_Otilde = 213
Key_P = 80
Key_PageDown = 16777239
Key_PageUp = 16777238
Key_ParenLeft = 40
Key_ParenRight = 41
Key_Paste = 16777442
Key_Pause = 16777224
Key_Percent = 37
Key_Period = 46
Key_Phone = 16777443
Key_Pictures = 16777468
Key_Play = 16908293
Key_Plus = 43
Key_PowerDown = 16777483
Key_PowerOff = 16777399
Key_PreviousCandidate = 16781630
Key_Print = 16777225
Key_Printer = 16908290
Key_Q = 81
Key_Question = 63
Key_QuoteDbl = 34
Key_QuoteLeft = 96
Key_R = 82
Key_Red = 16777492
Key_Redo = 16777508
Key_Refresh = 16777316
Key_Reload = 16777446
Key_Reply = 16777445
Key_Return = 16777220
Key_Right = 16777236
Key_Romaji = 16781604
Key_RotateWindows = 16777447
Key_RotationKB = 16777449
Key_RotationPB = 16777448
Key_S = 83
Key_Save = 16777450
Key_ScreenSaver = 16777402
Key_ScrollLock = 16777254
Key_Select = 16842752
Key_Semicolon = 59
Key_Send = 16777451
Key_Settings = 16777500
Key_Shift = 16777248
Key_Shop = 16777406
Key_SingleCandidate = 16781628
Key_Slash = 47
Key_Sleep = 16908292
Key_Space = 32
Key_Spell = 16777452
Key_SplitScreen = 16777453
Key_Standby = 16777363
Key_Stop = 16777315
Key_Subtitle = 16777477
Key_Super_L = 16777299
Key_Super_R = 16777300
Key_Support = 16777454
Key_Suspend = 16777484
Key_SysReq = 16777226
Key_T = 84
Key_THORN = 222
Key_Tab = 16777217
Key_TaskPane = 16777455
Key_Terminal = 16777456
Key_Time = 16777479
Key_ToDoList = 16777420
Key_ToggleCallHangup = 17825799
Key_Tools = 16777457
Key_TopMenu = 16777482
Key_TouchpadOff = 16777490
Key_TouchpadOn = 16777489
Key_TouchpadToggle = 16777488
Key_Touroku = 16781611
Key_Travel = 16777458
Key_TrebleDown = 16777335
Key_TrebleUp = 16777334
Key_U = 85
Key_UWB = 16777473
Key_Uacute = 218
Key_Ucircumflex = 219
Key_Udiaeresis = 220
Key_Ugrave = 217
Key_Underscore = 95
Key_Undo = 16777507
Key_Up = 16777235
Key_V = 86
Key_Video = 16777459
Key_View = 16777481
Key_VoiceDial = 17825800
Key_VolumeDown = 16777328
Key_VolumeMute = 16777329
Key_VolumeUp = 16777330
Key_W = 87
Key_WLAN = 16777472
Key_WWW = 16777403
Key_WakeUp = 16777400
Key_WebCam = 16777466
Key_Word = 16777460
Key_X = 88
Key_Xfer = 16777461
Key_Y = 89
Key_Yacute = 221
Key_Yellow = 16777494
Key_Yes = 16842753
Key_Z = 90
Key_Zenkaku = 16781608
Key_Zenkaku_Hankaku = 16781610
Key_Zoom = 16908294
Key_ZoomIn = 16777462
Key_ZoomOut = 16777463
Key_acute = 180
Key_brokenbar = 166
Key_cedilla = 184
Key_cent = 162
Key_currency = 164
Key_degree = 176
Key_diaeresis = 168
Key_division = 247
Key_exclamdown = 161
Key_guillemotleft = 171
Key_guillemotright = 187
Key_hyphen = 173
Key_iTouch = 16777432
Key_macron = 175
Key_masculine = 186
Key_mu = 181
Key_multiply = 215
Key_nobreakspace = 160
Key_notsign = 172
Key_onehalf = 189
Key_onequarter = 188
Key_onesuperior = 185
Key_ordfeminine = 170
Key_paragraph = 182
Key_periodcentered = 183
Key_plusminus = 177
Key_questiondown = 191
Key_registered = 174
Key_section = 167
Key_ssharp = 223
Key_sterling = 163
Key_threequarters = 190
Key_threesuperior = 179
Key_twosuperior = 178
Key_unknown = 33554431
Key_ydiaeresis = 255
Key_yen = 165
class KeyboardModifier

Bases: int

KeyboardModifierMask = -33554432
class KeyboardModifiers
class KeyboardModifiers(f: Qt.KeyboardModifiers | Qt.KeyboardModifier)
class KeyboardModifiers(a0: Qt.KeyboardModifiers)

Bases: simplewrapper

KeypadModifier = 536870912
LandscapeOrientation = 2
LastCursor = 21
class LayoutDirection

Bases: int

LayoutDirectionAuto = 2
LeftArrow = 3
LeftButton = 1
LeftDockWidgetArea = 1
LeftEdge = 2
LeftSection = 1
LeftToRight = 0
LeftToolBarArea = 1
LinearGradientPattern = 15
LinkAction = 4
LinksAccessibleByKeyboard = 8
LinksAccessibleByMouse = 4
LocalDate = 2
LocalTime = 0
LocaleDate = 3
LogicalCoordinates = 1
LogicalMoveStyle = 0
LowEventPriority = -1
META = 268435456
MODIFIER_MASK = -33554432
MPenCapStyle = 48
MPenJoinStyle = 448
MPenStyle = 15
MSWindowsFixedSizeDialogHint = 256
MSWindowsOwnDC = 512
MacWindowToolBarButtonHint = 268435456
MarkdownText = 3
MaskInColor = 0
class MaskMode

Bases: int

MaskOutColor = 1
MatchCaseSensitive = 16
MatchContains = 1
MatchEndsWith = 3
MatchExactly = 0
MatchFixedString = 8
class MatchFlag

Bases: int

class MatchFlags
class MatchFlags(f: Qt.MatchFlags | Qt.MatchFlag)
class MatchFlags(a0: Qt.MatchFlags)

Bases: simplewrapper

MatchRecursive = 64
MatchRegExp = 4
MatchRegularExpression = 9
MatchStartsWith = 2
MatchWildcard = 5
MatchWrap = 32
MaximizeUsingFullscreenGeometryHint = 4194304
MaximumSize = 2
MenuBarFocusReason = 6
MetaModifier = 268435456
MidButton = 4
MiddleButton = 4
MinimumDescent = 3
MinimumSize = 0
MiterJoin = 0
class Modifier

Bases: int

Monday = 1
MonoOnly = 2
class MouseButton

Bases: int

class MouseButtons
class MouseButtons(f: Qt.MouseButtons | Qt.MouseButton)
class MouseButtons(a0: Qt.MouseButtons)

Bases: simplewrapper

MouseEventCreatedDoubleClick = 1
class MouseEventFlag

Bases: int

class MouseEventFlags
class MouseEventFlags(f: Qt.MouseEventFlags | Qt.MouseEventFlag)
class MouseEventFlags(a0: Qt.MouseEventFlags)

Bases: simplewrapper

MouseEventNotSynthesized = 0
class MouseEventSource

Bases: int

MouseEventSynthesizedByApplication = 3
MouseEventSynthesizedByQt = 2
MouseEventSynthesizedBySystem = 1
MouseFocusReason = 0
MoveAction = 2
class NativeGestureType

Bases: int

class NavigationMode

Bases: int

NavigationModeCursorAuto = 3
NavigationModeCursorForceVisible = 4
NavigationModeKeypadDirectional = 2
NavigationModeKeypadTabOrder = 1
NavigationModeNone = 0
NoArrow = 0
NoBrush = 0
NoButton = 0
NoClip = 0
NoContextMenu = 0
NoDockWidgetArea = 0
NoDropShadowWindowHint = 1073741824
NoFocus = 0
NoFocusReason = 8
NoFormatConversion = 512
NoItemFlags = 0
NoModifier = 0
NoOpaqueDetection = 256
NoPen = 0
NoScrollPhase = 0
NoSection = 0
NoTabFocus = 0
NoTextInteraction = 0
NoToolBarArea = 0
NonModal = 0
NormalEventPriority = 0
OddEvenFill = 0
OffsetFromUTC = 2
OpaqueMode = 1
OpenHandCursor = 17
OrderedAlphaDither = 4
OrderedDither = 16
class Orientation

Bases: int

class Orientations
class Orientations(f: Qt.Orientations | Qt.Orientation)
class Orientations(a0: Qt.Orientations)

Bases: simplewrapper

OtherFocusReason = 7
PanGesture = 3
PanNativeGesture = 2
PartiallyChecked = 1
PassThrough = 5
class PenCapStyle

Bases: int

class PenJoinStyle

Bases: int

class PenStyle

Bases: int

PinchGesture = 4
PlainText = 0
PointingHandCursor = 13
Popup = 9
PopupFocusReason = 4
PortraitOrientation = 1
PreciseTimer = 0
PreferDither = 64
PreferredSize = 1
PreventContextMenu = 4
PrimaryOrientation = 0
QueuedConnection = 2
RFC2822Date = 8
RadialGradientPattern = 16
ReceivePartialGestures = 2
RelativeSize = 1
RepeatTile = 1
ReplaceClip = 1
ReplaceSelection = 0
RichText = 1
RightArrow = 4
RightButton = 2
RightDockWidgetArea = 2
RightEdge = 4
RightSection = 5
RightToLeft = 1
RightToolBarArea = 2
RotateNativeGesture = 5
Round = 1
RoundCap = 32
RoundJoin = 128
RoundPreferFloor = 4
RoundTile = 2
SHIFT = 33554432
Saturday = 6
class ScreenOrientation

Bases: int

class ScreenOrientations
class ScreenOrientations(f: Qt.ScreenOrientations | Qt.ScreenOrientation)
class ScreenOrientations(a0: Qt.ScreenOrientations)

Bases: simplewrapper

ScrollBarAlwaysOff = 1
ScrollBarAlwaysOn = 2
ScrollBarAsNeeded = 0
class ScrollBarPolicy

Bases: int

ScrollBegin = 1
ScrollEnd = 3
ScrollMomentum = 4
class ScrollPhase

Bases: int

ScrollUpdate = 2
Sheet = 5
ShiftModifier = 33554432
class ShortcutContext

Bases: int

ShortcutFocusReason = 5
SizeAllCursor = 9
SizeBDiagCursor = 7
SizeFDiagCursor = 8
class SizeHint

Bases: int

SizeHintRole = 13
SizeHorCursor = 6
class SizeMode

Bases: int

SizeVerCursor = 5
SmartZoomNativeGesture = 4
SmoothTransformation = 1
SolidLine = 1
SolidPattern = 1
class SortOrder

Bases: int

SplashScreen = 15
SplitHCursor = 12
SplitVCursor = 11
SquareCap = 16
StatusTipRole = 4
StretchTile = 0
StrongFocus = 11
SubWindow = 18
Sunday = 7
SvgMiterJoin = 256
SwipeGesture = 5
SwipeNativeGesture = 6
SystemLocaleDate = 2
SystemLocaleLongDate = 5
SystemLocaleShortDate = 4
TabFocus = 1
TabFocusAllControls = 255
class TabFocusBehavior

Bases: int

TabFocusListControls = 2
TabFocusReason = 1
TabFocusTextControls = 1
TapAndHoldGesture = 2
TapGesture = 1
TargetMoveAction = 32770
TaskButton = 32
TextAlignmentRole = 7
TextBrowserInteraction = 13
TextColorRole = 9
TextDate = 0
TextDontClip = 512
TextDontPrint = 16384
TextEditable = 16
TextEditorInteraction = 19
class TextElideMode

Bases: int

TextExpandTabs = 1024
class TextFlag

Bases: int

class TextFormat

Bases: int

TextHideMnemonic = 32768
TextIncludeTrailingSpaces = 134217728
class TextInteractionFlag

Bases: int

class TextInteractionFlags
class TextInteractionFlags(f: Qt.TextInteractionFlags | Qt.TextInteractionFlag)
class TextInteractionFlags(a0: Qt.TextInteractionFlags)

Bases: simplewrapper

TextJustificationForced = 65536
TextSelectableByKeyboard = 2
TextSelectableByMouse = 1
TextShowMnemonic = 2048
TextSingleLine = 256
TextWordWrap = 4096
TextWrapAnywhere = 8192
TexturePattern = 24
ThresholdAlphaDither = 0
ThresholdDither = 32
Thursday = 4
class TileRule

Bases: int

class TimeSpec

Bases: int

TimeZone = 3
class TimerType

Bases: int

TitleBarArea = 9
Tool = 11
class ToolBarArea

Bases: int

ToolBarArea_Mask = 15
class ToolBarAreas
class ToolBarAreas(f: Qt.ToolBarAreas | Qt.ToolBarArea)
class ToolBarAreas(a0: Qt.ToolBarAreas)

Bases: simplewrapper

ToolButtonFollowStyle = 4
ToolButtonIconOnly = 0
class ToolButtonStyle

Bases: int

ToolButtonTextBesideIcon = 2
ToolButtonTextOnly = 1
ToolButtonTextUnderIcon = 3
ToolTip = 13
ToolTipRole = 3
TopDockWidgetArea = 4
TopEdge = 1
TopLeftCorner = 0
TopLeftSection = 2
TopRightCorner = 1
TopRightSection = 4
TopSection = 3
TopToolBarArea = 4
TouchPointMoved = 2
TouchPointPressed = 1
TouchPointReleased = 8
class TouchPointState

Bases: int

class TouchPointStates
class TouchPointStates(f: Qt.TouchPointStates | Qt.TouchPointState)
class TouchPointStates(a0: Qt.TouchPointStates)

Bases: simplewrapper

TouchPointStationary = 4
class TransformationMode

Bases: int

TransparentMode = 0
Tuesday = 2
class UIEffect

Bases: int

UI_AnimateCombo = 3
UI_AnimateMenu = 1
UI_AnimateToolBox = 6
UI_AnimateTooltip = 4
UI_FadeMenu = 2
UI_FadeTooltip = 5
UI_General = 0
UNICODE_ACCEL = 0
UTC = 1
Unchecked = 0
UniqueConnection = 128
UpArrow = 1
UpArrowCursor = 1
UserRole = 256
VerPattern = 10
Vertical = 2
VeryCoarseTimer = 2
VisualMoveStyle = 1
WA_AcceptDrops = 78
WA_AcceptTouchEvents = 121
WA_AlwaysShowToolTips = 84
WA_AlwaysStackOnTop = 128
WA_AttributeCount = 132
WA_ContentsMarginsRespectsSafeArea = 130
WA_CustomWhatsThis = 47
WA_DeleteOnClose = 55
WA_Disabled = 0
WA_DontCreateNativeAncestors = 101
WA_DontShowOnScreen = 103
WA_ForceDisabled = 32
WA_ForceUpdatesDisabled = 59
WA_GrabbedShortcut = 50
WA_GroupLeader = 72
WA_Hover = 74
WA_InputMethodEnabled = 14
WA_InputMethodTransparent = 75
WA_InvalidSize = 45
WA_KeyCompression = 33
WA_KeyboardFocusChange = 77
WA_LaidOut = 7
WA_LayoutOnEntireRect = 48
WA_LayoutUsesWidgetRect = 92
WA_MSWindowsUseDirect3D = 94
WA_MacAlwaysShowToolWindow = 96
WA_MacBrushedMetal = 46
WA_MacFrameworkScaled = 117
WA_MacMetalStyle = 46
WA_MacMiniSize = 91
WA_MacNoClickThrough = 12
WA_MacNoShadow = 127
WA_MacNormalSize = 89
WA_MacOpaqueSizeGrip = 85
WA_MacShowFocusRect = 88
WA_MacSmallSize = 90
WA_MacVariableSize = 102
WA_Mapped = 11
WA_MouseNoMask = 71
WA_MouseTracking = 2
WA_Moved = 43
WA_NativeWindow = 100
WA_NoChildEventsForParent = 58
WA_NoChildEventsFromChildren = 39
WA_NoMousePropagation = 73
WA_NoMouseReplay = 54
WA_NoSystemBackground = 9
WA_NoX11EventCompression = 81
WA_OpaquePaintEvent = 4
WA_OutsideWSRange = 49
WA_PaintOnScreen = 8
WA_PaintUnclipped = 52
WA_PendingMoveEvent = 34
WA_PendingResizeEvent = 35
WA_PendingUpdate = 44
WA_QuitOnClose = 76
WA_Resized = 42
WA_RightToLeft = 56
WA_SetCursor = 38
WA_SetFont = 37
WA_SetLayoutDirection = 57
WA_SetLocale = 87
WA_SetPalette = 36
WA_SetStyle = 86
WA_SetWindowIcon = 53
WA_ShowWithoutActivating = 98
WA_StaticContents = 5
WA_StyleSheet = 97
WA_StyleSheetTarget = 131
WA_StyledBackground = 93
WA_TabletTracking = 129
WA_TintedBackground = 82
WA_TouchPadAcceptSingleTouchEvents = 123
WA_TranslucentBackground = 120
WA_TransparentForMouseEvents = 51
WA_UnderMouse = 1
WA_UpdatesDisabled = 10
WA_WState_CompressKeys = 61
WA_WState_ConfigPending = 64
WA_WState_Created = 60
WA_WState_ExplicitShowHide = 69
WA_WState_Hidden = 16
WA_WState_InPaintEvent = 62
WA_WState_OwnSizePolicy = 68
WA_WState_Polished = 66
WA_WState_Reparented = 63
WA_WState_Visible = 15
WA_WindowModified = 41
WA_WindowPropagation = 80
WA_X11DoNotAcceptFocus = 126
WA_X11NetWmWindowTypeCombo = 115
WA_X11NetWmWindowTypeDND = 116
WA_X11NetWmWindowTypeDesktop = 104
WA_X11NetWmWindowTypeDialog = 110
WA_X11NetWmWindowTypeDock = 105
WA_X11NetWmWindowTypeDropDownMenu = 111
WA_X11NetWmWindowTypeMenu = 107
WA_X11NetWmWindowTypeNotification = 114
WA_X11NetWmWindowTypePopupMenu = 112
WA_X11NetWmWindowTypeSplash = 109
WA_X11NetWmWindowTypeToolBar = 106
WA_X11NetWmWindowTypeToolTip = 113
WA_X11NetWmWindowTypeUtility = 108
WA_X11OpenGLOverlay = 83
WaitCursor = 3
Wednesday = 3
WhatsThisCursor = 15
WhatsThisRole = 5
WheelFocus = 15
class WhiteSpaceMode

Bases: int

WhiteSpaceModeUndefined = -1
WhiteSpaceNoWrap = 2
WhiteSpaceNormal = 0
WhiteSpacePre = 1
Widget = 0
class WidgetAttribute

Bases: int

WidgetShortcut = 0
WidgetWithChildrenShortcut = 3
WindingFill = 1
Window = 1
WindowActive = 8
WindowCloseButtonHint = 134217728
WindowContextHelpButtonHint = 65536
WindowDoesNotAcceptFocus = 2097152
class WindowFlags
class WindowFlags(f: Qt.WindowFlags | Qt.WindowType)
class WindowFlags(a0: Qt.WindowFlags)

Bases: simplewrapper

class WindowFrameSection

Bases: int

WindowFullScreen = 4
WindowFullscreenButtonHint = -2147483648
WindowMaximizeButtonHint = 32768
WindowMaximized = 2
WindowMinMaxButtonsHint = 49152
WindowMinimizeButtonHint = 16384
WindowMinimized = 1
WindowModal = 1
class WindowModality

Bases: int

WindowNoState = 0
WindowOverridesSystemGestures = 1048576
WindowShadeButtonHint = 131072
WindowShortcut = 1
class WindowState

Bases: int

class WindowStates
class WindowStates(f: Qt.WindowStates | Qt.WindowState)
class WindowStates(a0: Qt.WindowStates)

Bases: simplewrapper

WindowStaysOnBottomHint = 67108864
WindowStaysOnTopHint = 262144
WindowSystemMenuHint = 8192
WindowTitleHint = 4096
WindowTransparentForInput = 524288
class WindowType

Bases: int

WindowType_Mask = 255
X11BypassWindowManagerHint = 1024
XAxis = 0
XButton1 = 8
XButton2 = 16
YAxis = 1
ZAxis = 2
ZoomNativeGesture = 3
black = 2
blue = 9
color0 = 0
color1 = 1
convertFromPlainText(plain: str | None, mode: Qt.WhiteSpaceMode = Qt.WhiteSpacePre) str
cyan = 10
darkBlue = 15
darkCyan = 16
darkGray = 4
darkGreen = 14
darkMagenta = 17
darkRed = 13
darkYellow = 18
gray = 5
green = 8
lightGray = 6
magenta = 11
mightBeRichText(a0: str | None) bool
red = 7
transparent = 19
white = 3
yellow = 12
class populse_mia.user_interface.data_browser.data_browser.QVariant
class populse_mia.user_interface.data_browser.data_browser.QVariant(type: QVariant.Type)
class populse_mia.user_interface.data_browser.data_browser.QVariant(obj: Any)
class populse_mia.user_interface.data_browser.data_browser.QVariant(a0: QVariant | None)

Bases: simplewrapper

BitArray = 13
Bitmap = 73
Bool = 1
Brush = 66
ByteArray = 12
Char = 7
Color = 67
Cursor = 74
Date = 14
DateTime = 16
Double = 6
EasingCurve = 29
Font = 64
Hash = 28
Icon = 69
Image = 70
Int = 2
Invalid = 0
KeySequence = 75
Line = 23
LineF = 24
List = 9
Locale = 18
LongLong = 4
Map = 8
Matrix = 79
Matrix4x4 = 81
ModelIndex = 42
Palette = 68
Pen = 76
PersistentModelIndex = 50
Pixmap = 65
Point = 25
PointF = 26
Polygon = 71
PolygonF = 86
Quaternion = 85
Rect = 19
RectF = 20
RegExp = 27
Region = 72
RegularExpression = 44
Size = 21
SizeF = 22
SizePolicy = 121
String = 10
StringList = 11
TextFormat = 78
TextLength = 77
Time = 15
Transform = 80
class Type

Bases: int

UInt = 3
ULongLong = 5
Url = 17
UserType = 1024
Uuid = 30
Vector2D = 82
Vector3D = 83
Vector4D = 84
canConvert(self, targetTypeId: int) bool
clear(self)
convert(self, targetTypeId: int) bool
isNull(self) bool
isValid(self) bool
load(self, ds: QDataStream)
nameToType(name: str | None) QVariant.Type
save(self, ds: QDataStream)
swap(self, other: QVariant | None)
type(self) QVariant.Type
typeName(self) str | None
typeToName(typeId: int) str | None
userType(self) int
value(self) Any
class populse_mia.user_interface.data_browser.data_browser.QColor(color: Qt.GlobalColor)
class populse_mia.user_interface.data_browser.data_browser.QColor(rgb: int)
class populse_mia.user_interface.data_browser.data_browser.QColor(rgba64: QRgba64)
class populse_mia.user_interface.data_browser.data_browser.QColor(variant: Any)
class populse_mia.user_interface.data_browser.data_browser.QColor
class populse_mia.user_interface.data_browser.data_browser.QColor(r: int, g: int, b: int, alpha: int = 255)
class populse_mia.user_interface.data_browser.data_browser.QColor(aname: str | None)
class populse_mia.user_interface.data_browser.data_browser.QColor(acolor: QColor | Qt.GlobalColor)

Bases: simplewrapper

Cmyk = 3
ExtendedRgb = 5
HexArgb = 1
HexRgb = 0
Hsl = 4
Hsv = 2
Invalid = 0
class NameFormat

Bases: int

Rgb = 1
class Spec

Bases: int

alpha(self) int
alphaF(self) float
black(self) int
blackF(self) float
blue(self) int
blueF(self) float
colorNames() List[str]
convertTo(self, colorSpec: QColor.Spec) QColor
cyan(self) int
cyanF(self) float
darker(self, factor: int = 200) QColor
fromCmyk(c: int, m: int, y: int, k: int, alpha: int = 255) QColor
fromCmykF(c: float, m: float, y: float, k: float, alpha: float = 1) QColor
fromHsl(h: int, s: int, l: int, alpha: int = 255) QColor
fromHslF(h: float, s: float, l: float, alpha: float = 1) QColor
fromHsv(h: int, s: int, v: int, alpha: int = 255) QColor
fromHsvF(h: float, s: float, v: float, alpha: float = 1) QColor
fromRgb(rgb: int) QColor
fromRgb(r: int, g: int, b: int, alpha: int = 255) QColor
fromRgbF(r: float, g: float, b: float, alpha: float = 1) QColor
fromRgba(rgba: int) QColor
fromRgba64(r: int, g: int, b: int, alpha: int = 65535) QColor
fromRgba64(rgba: QRgba64) QColor
getCmyk(self)
getCmykF(self)
getHsl(self)
getHslF(self)
getHsv(self)
getHsvF(self)
getRgb(self)
getRgbF(self)
green(self) int
greenF(self) float
hslHue(self) int
hslHueF(self) float
hslSaturation(self) int
hslSaturationF(self) float
hsvHue(self) int
hsvHueF(self) float
hsvSaturation(self) int
hsvSaturationF(self) float
hue(self) int
hueF(self) float
isValid(self) bool
isValidColor(name: str | None) bool
lighter(self, factor: int = 150) QColor
lightness(self) int
lightnessF(self) float
magenta(self) int
magentaF(self) float
name(self) str
name(self, format: QColor.NameFormat) str
red(self) int
redF(self) float
rgb(self) int
rgba(self) int
rgba64(self) QRgba64
saturation(self) int
saturationF(self) float
setAlpha(self, alpha: int)
setAlphaF(self, alpha: float)
setBlue(self, blue: int)
setBlueF(self, blue: float)
setCmyk(self, c: int, m: int, y: int, k: int, alpha: int = 255)
setCmykF(self, c: float, m: float, y: float, k: float, alpha: float = 1)
setGreen(self, green: int)
setGreenF(self, green: float)
setHsl(self, h: int, s: int, l: int, alpha: int = 255)
setHslF(self, h: float, s: float, l: float, alpha: float = 1)
setHsv(self, h: int, s: int, v: int, alpha: int = 255)
setHsvF(self, h: float, s: float, v: float, alpha: float = 1)
setNamedColor(self, name: str | None)
setRed(self, red: int)
setRedF(self, red: float)
setRgb(self, r: int, g: int, b: int, alpha: int = 255)
setRgb(self, rgb: int) None
setRgbF(self, r: float, g: float, b: float, alpha: float = 1)
setRgba(self, rgba: int)
setRgba64(self, rgba: QRgba64)
spec(self) QColor.Spec
toCmyk(self) QColor
toExtendedRgb(self) QColor
toHsl(self) QColor
toHsv(self) QColor
toRgb(self) QColor
value(self) int
valueF(self) float
yellow(self) int
yellowF(self) float
class populse_mia.user_interface.data_browser.data_browser.QIcon
class populse_mia.user_interface.data_browser.data_browser.QIcon(pixmap: QPixmap)
class populse_mia.user_interface.data_browser.data_browser.QIcon(other: QIcon)
class populse_mia.user_interface.data_browser.data_browser.QIcon(fileName: str | None)
class populse_mia.user_interface.data_browser.data_browser.QIcon(engine: QIconEngine | None)
class populse_mia.user_interface.data_browser.data_browser.QIcon(variant: Any)

Bases: wrapper

Active = 2
Disabled = 1
class Mode

Bases: int

Normal = 0
Off = 1
On = 0
Selected = 3
class State

Bases: int

actualSize(self, size: QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QSize
actualSize(self, window: QWindow | None, size: QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QSize
addFile(self, fileName: str | None, size: QSize = QSize(), mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off)
addPixmap(self, pixmap: QPixmap, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off)
availableSizes(self, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) List[QSize]
cacheKey(self) int
fallbackSearchPaths() List[str]
fallbackThemeName() str
fromTheme(name: str | None) QIcon
fromTheme(name: str | None, fallback: QIcon) QIcon
hasThemeIcon(name: str | None) bool
isDetached(self) bool
isMask(self) bool
isNull(self) bool
name(self) str
paint(self, painter: QPainter | None, rect: QRect, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.AlignCenter, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off)
paint(self, painter: QPainter | None, x: int, y: int, w: int, h: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.AlignCenter, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) None
pixmap(self, size: QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QPixmap
pixmap(self, w: int, h: int, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QPixmap
pixmap(self, extent: int, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QPixmap
pixmap(self, window: QWindow | None, size: QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QPixmap
setFallbackSearchPaths(paths: Iterable[str | None])
setFallbackThemeName(name: str | None)
setIsMask(self, isMask: bool)
setThemeName(path: str | None)
setThemeSearchPaths(searchpath: Iterable[str | None])
swap(self, other: QIcon)
themeName() str
themeSearchPaths() List[str]
class populse_mia.user_interface.data_browser.data_browser.QPixmap
class populse_mia.user_interface.data_browser.data_browser.QPixmap(w: int, h: int)
class populse_mia.user_interface.data_browser.data_browser.QPixmap(a0: QSize)
class populse_mia.user_interface.data_browser.data_browser.QPixmap(fileName: str | None, format: str | None = None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.ImageConversionFlag.AutoColor)
class populse_mia.user_interface.data_browser.data_browser.QPixmap(xpm: List[str])
class populse_mia.user_interface.data_browser.data_browser.QPixmap(a0: QPixmap)
class populse_mia.user_interface.data_browser.data_browser.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.data_browser.QAbstractItemView(parent: QWidget | None = None)

Bases: QAbstractScrollArea

AboveItem = 1
AllEditTriggers = 31
AnimatingState = 6
AnyKeyPressed = 16
BelowItem = 2
CollapsingState = 5
ContiguousSelection = 4
CurrentChanged = 1
class CursorAction

Bases: int

DoubleClicked = 2
DragDrop = 3
class DragDropMode

Bases: int

DragOnly = 1
DragSelectingState = 2
DraggingState = 1
class DropIndicatorPosition

Bases: int

DropOnly = 2
EditKeyPressed = 8
class EditTrigger

Bases: int

class EditTriggers
class EditTriggers(f: QAbstractItemView.EditTriggers | QAbstractItemView.EditTrigger)
class EditTriggers(a0: QAbstractItemView.EditTriggers)

Bases: simplewrapper

EditingState = 3
EnsureVisible = 0
ExpandingState = 4
ExtendedSelection = 3
InternalMove = 4
MoveDown = 1
MoveEnd = 5
MoveHome = 4
MoveLeft = 2
MoveNext = 8
MovePageDown = 7
MovePageUp = 6
MovePrevious = 9
MoveRight = 3
MoveUp = 0
MultiSelection = 2
NoDragDrop = 0
NoEditTriggers = 0
NoSelection = 0
NoState = 0
OnItem = 0
OnViewport = 3
PositionAtBottom = 2
PositionAtCenter = 3
PositionAtTop = 1
class ScrollHint

Bases: int

class ScrollMode

Bases: int

ScrollPerItem = 0
ScrollPerPixel = 1
SelectColumns = 2
SelectItems = 0
SelectRows = 1
SelectedClicked = 4
class SelectionBehavior

Bases: int

class SelectionMode

Bases: int

SingleSelection = 1
class State

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

alternatingRowColors(self) bool
autoScrollMargin(self) int
clearSelection(self)
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

closeEditor(self, editor: QWidget | None, hint: QAbstractItemDelegate.EndEditHint)
closePersistentEditor(self, index: QModelIndex)
commitData(self, editor: QWidget | None)
currentChanged(self, current: QModelIndex, previous: QModelIndex)
currentIndex(self) QModelIndex
dataChanged(self, topLeft: QModelIndex, bottomRight: QModelIndex, roles: Iterable[int] = [])
defaultDropAction(self) Qt.DropAction
dirtyRegionOffset(self) QPoint
doubleClicked

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

dragDropMode(self) QAbstractItemView.DragDropMode
dragDropOverwriteMode(self) bool
dragEnabled(self) bool
dragEnterEvent(self, e: QDragEnterEvent | None)
dragLeaveEvent(self, e: QDragLeaveEvent | None)
dragMoveEvent(self, e: QDragMoveEvent | None)
dropEvent(self, e: QDropEvent | None)
dropIndicatorPosition(self) QAbstractItemView.DropIndicatorPosition
edit(self, index: QModelIndex)
edit(self, index: QModelIndex, trigger: QAbstractItemView.EditTrigger, event: QEvent | None) bool
editTriggers(self) QAbstractItemView.EditTriggers
editorDestroyed(self, editor: QObject | None)
entered

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
eventFilter(self, object: QObject | None, event: QEvent | None) bool
executeDelayedItemsLayout(self)
focusInEvent(self, e: QFocusEvent | None)
focusNextPrevChild(self, next: bool) bool
focusOutEvent(self, e: QFocusEvent | None)
hasAutoScroll(self) bool
horizontalOffset(self) int
horizontalScrollMode(self) QAbstractItemView.ScrollMode
horizontalScrollbarAction(self, action: int)
horizontalScrollbarValueChanged(self, value: int)
iconSize(self) QSize
iconSizeChanged

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

indexAt(self, p: QPoint) QModelIndex
indexWidget(self, index: QModelIndex) QWidget | None
inputMethodEvent(self, event: QInputMethodEvent | None)
inputMethodQuery(self, query: Qt.InputMethodQuery) Any
isIndexHidden(self, index: QModelIndex) bool
isPersistentEditorOpen(self, index: QModelIndex) bool
itemDelegate(self) QAbstractItemDelegate | None
itemDelegate(self, index: QModelIndex) QAbstractItemDelegate | None
itemDelegateForColumn(self, column: int) QAbstractItemDelegate | None
itemDelegateForRow(self, row: int) QAbstractItemDelegate | None
keyPressEvent(self, e: QKeyEvent | None)
keyboardSearch(self, search: str | None)
model(self) QAbstractItemModel | None
mouseDoubleClickEvent(self, e: QMouseEvent | None)
mouseMoveEvent(self, e: QMouseEvent | None)
mousePressEvent(self, e: QMouseEvent | None)
mouseReleaseEvent(self, e: QMouseEvent | None)
moveCursor(self, cursorAction: QAbstractItemView.CursorAction, modifiers: Qt.KeyboardModifiers | Qt.KeyboardModifier) QModelIndex
openPersistentEditor(self, index: QModelIndex)
pressed

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

reset(self)
resetHorizontalScrollMode(self)
resetVerticalScrollMode(self)
resizeEvent(self, e: QResizeEvent | None)
rootIndex(self) QModelIndex
rowsAboutToBeRemoved(self, parent: QModelIndex, start: int, end: int)
rowsInserted(self, parent: QModelIndex, start: int, end: int)
scheduleDelayedItemsLayout(self)
scrollDirtyRegion(self, dx: int, dy: int)
scrollTo(self, index: QModelIndex, hint: QAbstractItemView.ScrollHint = QAbstractItemView.EnsureVisible)
scrollToBottom(self)
scrollToTop(self)
selectAll(self)
selectedIndexes(self) List[QModelIndex]
selectionBehavior(self) QAbstractItemView.SelectionBehavior
selectionChanged(self, selected: QItemSelection, deselected: QItemSelection)
selectionCommand(self, index: QModelIndex, event: QEvent | None = None) QItemSelectionModel.SelectionFlags
selectionMode(self) QAbstractItemView.SelectionMode
selectionModel(self) QItemSelectionModel | None
setAlternatingRowColors(self, enable: bool)
setAutoScroll(self, enable: bool)
setAutoScrollMargin(self, margin: int)
setCurrentIndex(self, index: QModelIndex)
setDefaultDropAction(self, dropAction: Qt.DropAction)
setDirtyRegion(self, region: QRegion)
setDragDropMode(self, behavior: QAbstractItemView.DragDropMode)
setDragDropOverwriteMode(self, overwrite: bool)
setDragEnabled(self, enable: bool)
setDropIndicatorShown(self, enable: bool)
setEditTriggers(self, triggers: QAbstractItemView.EditTriggers | QAbstractItemView.EditTrigger)
setHorizontalScrollMode(self, mode: QAbstractItemView.ScrollMode)
setIconSize(self, size: QSize)
setIndexWidget(self, index: QModelIndex, widget: QWidget | None)
setItemDelegate(self, delegate: QAbstractItemDelegate | None)
setItemDelegateForColumn(self, column: int, delegate: QAbstractItemDelegate | None)
setItemDelegateForRow(self, row: int, delegate: QAbstractItemDelegate | None)
setModel(self, model: QAbstractItemModel | None)
setRootIndex(self, index: QModelIndex)
setSelection(self, rect: QRect, command: QItemSelectionModel.SelectionFlags | QItemSelectionModel.SelectionFlag)
setSelectionBehavior(self, behavior: QAbstractItemView.SelectionBehavior)
setSelectionMode(self, mode: QAbstractItemView.SelectionMode)
setSelectionModel(self, selectionModel: QItemSelectionModel | None)
setState(self, state: QAbstractItemView.State)
setTabKeyNavigation(self, enable: bool)
setTextElideMode(self, mode: Qt.TextElideMode)
setVerticalScrollMode(self, mode: QAbstractItemView.ScrollMode)
showDropIndicator(self) bool
sizeHintForColumn(self, column: int) int
sizeHintForIndex(self, index: QModelIndex) QSize
sizeHintForRow(self, row: int) int
startDrag(self, supportedActions: Qt.DropActions | Qt.DropAction)
state(self) QAbstractItemView.State
tabKeyNavigation(self) bool
textElideMode(self) Qt.TextElideMode
timerEvent(self, e: QTimerEvent | None)
update(self)
update(self, index: QModelIndex) None
updateEditorData(self)
updateEditorGeometries(self)
updateGeometries(self)
verticalOffset(self) int
verticalScrollMode(self) QAbstractItemView.ScrollMode
verticalScrollbarAction(self, action: int)
verticalScrollbarValueChanged(self, value: int)
viewOptions(self) QStyleOptionViewItem
viewportEntered

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

viewportEvent(self, e: QEvent | None) bool
viewportSizeHint(self) QSize
visualRect(self, index: QModelIndex) QRect
visualRegionForSelection(self, selection: QItemSelection) QRegion
class populse_mia.user_interface.data_browser.data_browser.QAction(parent: QObject | None = None)
class populse_mia.user_interface.data_browser.data_browser.QAction(text: str | None, parent: QObject | None = None)
class populse_mia.user_interface.data_browser.data_browser.QAction(icon: QIcon, text: str | None, parent: QObject | None = None)

Bases: QObject

AboutQtRole = 3
AboutRole = 4
class ActionEvent

Bases: int

ApplicationSpecificRole = 2
HighPriority = 256
Hover = 1
LowPriority = 0
class MenuRole

Bases: int

NoRole = 0
NormalPriority = 128
PreferencesRole = 5
class Priority

Bases: int

QuitRole = 6
TextHeuristicRole = 1
Trigger = 0
actionGroup(self) QActionGroup | None
activate(self, event: QAction.ActionEvent)
associatedGraphicsWidgets(self) List[QGraphicsWidget]
associatedWidgets(self) List[QWidget]
autoRepeat(self) bool
changed

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

data(self) Any
event(self, a0: QEvent | None) bool
font(self) QFont
hover(self)
hovered

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

icon(self) QIcon
iconText(self) str
isCheckable(self) bool
isChecked(self) bool
isEnabled(self) bool
isIconVisibleInMenu(self) bool
isSeparator(self) bool
isShortcutVisibleInContextMenu(self) bool
isVisible(self) bool
menu(self) QMenu | None
menuRole(self) QAction.MenuRole
parentWidget(self) QWidget | None
priority(self) QAction.Priority
setActionGroup(self, group: QActionGroup | None)
setAutoRepeat(self, a0: bool)
setCheckable(self, a0: bool)
setChecked(self, a0: bool)
setData(self, var: Any)
setDisabled(self, b: bool)
setEnabled(self, a0: bool)
setFont(self, font: QFont)
setIcon(self, icon: QIcon)
setIconText(self, text: str | None)
setIconVisibleInMenu(self, visible: bool)
setMenu(self, menu: QMenu | None)
setMenuRole(self, menuRole: QAction.MenuRole)
setPriority(self, priority: QAction.Priority)
setSeparator(self, b: bool)
setShortcut(self, shortcut: QKeySequence | QKeySequence.StandardKey | str | None | int)
setShortcutContext(self, context: Qt.ShortcutContext)
setShortcutVisibleInContextMenu(self, show: bool)
setShortcuts(self, shortcuts: Iterable[QKeySequence | QKeySequence.StandardKey | str | None | int])
setShortcuts(self, a0: QKeySequence.StandardKey) None
setStatusTip(self, statusTip: str | None)
setText(self, text: str | None)
setToolTip(self, tip: str | None)
setVisible(self, a0: bool)
setWhatsThis(self, what: str | None)
shortcut(self) QKeySequence
shortcutContext(self) Qt.ShortcutContext
shortcuts(self) List[QKeySequence]
showStatusText(self, widget: QWidget | None = None) bool
statusTip(self) str
text(self) str
toggle(self)
toggled

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

toolTip(self) str
trigger(self)
triggered

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

whatsThis(self) str
class populse_mia.user_interface.data_browser.data_browser.QApplication(argv: List[str])

Bases: QGuiApplication

class ColorSpec

Bases: int

CustomColor = 1
ManyColor = 2
NormalColor = 0
aboutQt()
activeModalWidget() QWidget | None
activePopupWidget() QWidget | None
activeWindow() QWidget | None
alert(widget: QWidget | None, msecs: int = 0)
allWidgets() List[QWidget]
autoSipEnabled(self) bool
beep()
closeAllWindows()
colorSpec() int
cursorFlashTime() int
desktop() QDesktopWidget | None
doubleClickInterval() int
event(self, a0: QEvent | None) bool
exec() int
exec_() int
focusChanged

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

focusWidget() QWidget | None
font() QFont
font(a0: QWidget | None) QFont
font(className: str | None) QFont
fontMetrics() QFontMetrics
globalStrut() QSize
isEffectEnabled(a0: Qt.UIEffect) bool
keyboardInputInterval() int
notify(self, a0: QObject | None, a1: QEvent | None) bool
palette() QPalette
palette(a0: QWidget | None) QPalette
palette(className: str | None) QPalette
setActiveWindow(act: QWidget | None)
setAutoSipEnabled(self, enabled: bool)
setColorSpec(a0: int)
setCursorFlashTime(a0: int)
setDoubleClickInterval(a0: int)
setEffectEnabled(a0: Qt.UIEffect, enabled: bool = True)
setFont(a0: QFont, className: str | None = None)
setGlobalStrut(a0: QSize)
setKeyboardInputInterval(a0: int)
setPalette(a0: QPalette, className: str | None = None)
setStartDragDistance(l: int)
setStartDragTime(ms: int)
setStyle(a0: QStyle | None)
setStyle(a0: str | None) QStyle | None
setStyleSheet(self, sheet: str | None)
setWheelScrollLines(a0: int)
setWindowIcon(icon: QIcon)
startDragDistance() int
startDragTime() int
style() QStyle | None
styleSheet(self) str
topLevelAt(p: QPoint) QWidget | None
topLevelAt(x: int, y: int) QWidget | None
topLevelWidgets() List[QWidget]
wheelScrollLines() int
widgetAt(p: QPoint) QWidget | None
widgetAt(x: int, y: int) QWidget | None
windowIcon() QIcon
class populse_mia.user_interface.data_browser.data_browser.QDateEdit(parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QDateEdit(date: QDate | datetime.date, parent: QWidget | None = None)

Bases: QDateTimeEdit

class populse_mia.user_interface.data_browser.data_browser.QDateTimeEdit(parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QDateTimeEdit(datetime: QDateTime | datetime.datetime, parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QDateTimeEdit(date: QDate | datetime.date, parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QDateTimeEdit(time: QTime | datetime.time, parent: QWidget | None = None)

Bases: QAbstractSpinBox

AmPmSection = 1
DateSections_Mask = 1792
DaySection = 256
HourSection = 16
MSecSection = 2
MinuteSection = 8
MonthSection = 512
NoSection = 0
SecondSection = 4
class Section

Bases: int

class Sections
class Sections(f: QDateTimeEdit.Sections | QDateTimeEdit.Section)
class Sections(a0: QDateTimeEdit.Sections)

Bases: simplewrapper

TimeSections_Mask = 31
YearSection = 1024
calendar(self) QCalendar
calendarPopup(self) bool
calendarWidget(self) QCalendarWidget | None
clear(self)
clearMaximumDate(self)
clearMaximumDateTime(self)
clearMaximumTime(self)
clearMinimumDate(self)
clearMinimumDateTime(self)
clearMinimumTime(self)
currentSection(self) QDateTimeEdit.Section
currentSectionIndex(self) int
date(self) QDate
dateChanged

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

dateTime(self) QDateTime
dateTimeChanged

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

dateTimeFromText(self, text: str | None) QDateTime
displayFormat(self) str
displayedSections(self) QDateTimeEdit.Sections
event(self, e: QEvent | None) bool
fixup(self, input: str | None) str
focusInEvent(self, e: QFocusEvent | None)
focusNextPrevChild(self, next: bool) bool
initStyleOption(self, option: QStyleOptionSpinBox | None)
keyPressEvent(self, e: QKeyEvent | None)
maximumDate(self) QDate
maximumDateTime(self) QDateTime
maximumTime(self) QTime
minimumDate(self) QDate
minimumDateTime(self) QDateTime
minimumTime(self) QTime
mousePressEvent(self, event: QMouseEvent | None)
paintEvent(self, event: QPaintEvent | None)
sectionAt(self, index: int) QDateTimeEdit.Section
sectionCount(self) int
sectionText(self, s: QDateTimeEdit.Section) str
setCalendar(self, calendar: QCalendar)
setCalendarPopup(self, enable: bool)
setCalendarWidget(self, calendarWidget: QCalendarWidget | None)
setCurrentSection(self, section: QDateTimeEdit.Section)
setCurrentSectionIndex(self, index: int)
setDate(self, date: QDate | datetime.date)
setDateRange(self, min: QDate | datetime.date, max: QDate | datetime.date)
setDateTime(self, dateTime: QDateTime | datetime.datetime)
setDateTimeRange(self, min: QDateTime | datetime.datetime, max: QDateTime | datetime.datetime)
setDisplayFormat(self, format: str | None)
setMaximumDate(self, max: QDate | datetime.date)
setMaximumDateTime(self, dt: QDateTime | datetime.datetime)
setMaximumTime(self, max: QTime | datetime.time)
setMinimumDate(self, min: QDate | datetime.date)
setMinimumDateTime(self, dt: QDateTime | datetime.datetime)
setMinimumTime(self, min: QTime | datetime.time)
setSelectedSection(self, section: QDateTimeEdit.Section)
setTime(self, time: QTime | datetime.time)
setTimeRange(self, min: QTime | datetime.time, max: QTime | datetime.time)
setTimeSpec(self, spec: Qt.TimeSpec)
sizeHint(self) QSize
stepBy(self, steps: int)
stepEnabled(self) QAbstractSpinBox.StepEnabled
textFromDateTime(self, dt: QDateTime | datetime.datetime) str
time(self) QTime
timeChanged

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

timeSpec(self) Qt.TimeSpec
validate(self, input: str | None, pos: int)
wheelEvent(self, e: QWheelEvent | None)
class populse_mia.user_interface.data_browser.data_browser.QDoubleSpinBox(parent: QWidget | None = None)

Bases: QAbstractSpinBox

cleanText(self) str
decimals(self) int
fixup(self, str: str | None) str
maximum(self) float
minimum(self) float
prefix(self) str
setDecimals(self, prec: int)
setMaximum(self, max: float)
setMinimum(self, min: float)
setPrefix(self, p: str | None)
setRange(self, min: float, max: float)
setSingleStep(self, val: float)
setStepType(self, stepType: QAbstractSpinBox.StepType)
setSuffix(self, s: str | None)
setValue(self, val: float)
singleStep(self) float
stepType(self) QAbstractSpinBox.StepType
suffix(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

textFromValue(self, v: float) str
validate(self, input: str | None, pos: int)
value(self) float
valueChanged

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

valueFromText(self, text: str | None) float
class populse_mia.user_interface.data_browser.data_browser.QFrame(parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.WindowFlags())

Bases: QWidget

Box = 1
HLine = 4
NoFrame = 0
Panel = 2
Plain = 16
Raised = 32
class Shadow

Bases: int

Shadow_Mask = 240
class Shape

Bases: int

Shape_Mask = 15
class StyleMask

Bases: int

StyledPanel = 6
Sunken = 48
VLine = 5
WinPanel = 3
changeEvent(self, a0: QEvent | None)
drawFrame(self, a0: QPainter | None)
event(self, e: QEvent | None) bool
frameRect(self) QRect
frameShadow(self) QFrame.Shadow
frameShape(self) QFrame.Shape
frameStyle(self) int
frameWidth(self) int
initStyleOption(self, option: QStyleOptionFrame | None)
lineWidth(self) int
midLineWidth(self) int
paintEvent(self, a0: QPaintEvent | None)
setFrameRect(self, a0: QRect)
setFrameShadow(self, a0: QFrame.Shadow)
setFrameShape(self, a0: QFrame.Shape)
setFrameStyle(self, a0: int)
setLineWidth(self, a0: int)
setMidLineWidth(self, a0: int)
sizeHint(self) QSize
class populse_mia.user_interface.data_browser.data_browser.QGridLayout(parent: QWidget | None)
class populse_mia.user_interface.data_browser.data_browser.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.data_browser.QHBoxLayout
class populse_mia.user_interface.data_browser.data_browser.QHBoxLayout(parent: QWidget | None)

Bases: QBoxLayout

class populse_mia.user_interface.data_browser.data_browser.QItemDelegate(parent: QObject | None = None)

Bases: QAbstractItemDelegate

createEditor(self, parent: QWidget | None, option: QStyleOptionViewItem, index: QModelIndex) QWidget | None
drawBackground(self, painter: QPainter | None, option: QStyleOptionViewItem, index: QModelIndex)
drawCheck(self, painter: QPainter | None, option: QStyleOptionViewItem, rect: QRect, state: Qt.CheckState)
drawDecoration(self, painter: QPainter | None, option: QStyleOptionViewItem, rect: QRect, pixmap: QPixmap)
drawDisplay(self, painter: QPainter | None, option: QStyleOptionViewItem, rect: QRect, text: str | None)
drawFocus(self, painter: QPainter | None, option: QStyleOptionViewItem, rect: QRect)
editorEvent(self, event: QEvent | None, model: QAbstractItemModel | None, option: QStyleOptionViewItem, index: QModelIndex) bool
eventFilter(self, object: QObject | None, event: QEvent | None) bool
hasClipping(self) bool
itemEditorFactory(self) QItemEditorFactory | None
paint(self, painter: QPainter | None, option: QStyleOptionViewItem, index: QModelIndex)
setClipping(self, clip: bool)
setEditorData(self, editor: QWidget | None, index: QModelIndex)
setItemEditorFactory(self, factory: QItemEditorFactory | None)
setModelData(self, editor: QWidget | None, model: QAbstractItemModel | None, index: QModelIndex)
sizeHint(self, option: QStyleOptionViewItem, index: QModelIndex) QSize
updateEditorGeometry(self, editor: QWidget | None, option: QStyleOptionViewItem, index: QModelIndex)
class populse_mia.user_interface.data_browser.data_browser.QMenu(parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QMenu(title: str | None, parent: QWidget | None = None)

Bases: QWidget

aboutToHide

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

aboutToShow

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

actionAt(self, a0: QPoint) QAction | None
actionEvent(self, a0: QActionEvent | None)
actionGeometry(self, a0: QAction | None) QRect
activeAction(self) QAction | None
addAction(self, action: QAction | None)
addMenu(self, menu: QMenu | None) QAction | None
addMenu(self, title: str | None) QMenu | None
addMenu(self, icon: QIcon, title: str | None) QMenu | None
addSection(self, text: str | None) QAction | None
addSection(self, icon: QIcon, text: str | None) QAction | None
addSeparator(self) QAction | None
changeEvent(self, a0: QEvent | None)
clear(self)
columnCount(self) int
defaultAction(self) QAction | None
enterEvent(self, a0: QEvent | None)
event(self, a0: QEvent | None) bool
exec(self) QAction | None
exec(self, pos: QPoint, action: QAction | None = None) QAction | None
exec(actions: Iterable[QAction], pos: QPoint, at: QAction | None = None, parent: QWidget | None = None) QAction | None
exec_(self) QAction | None
exec_(self, p: QPoint, action: QAction | None = None) QAction | None
exec_(actions: Iterable[QAction], pos: QPoint, at: QAction | None = None, parent: QWidget | None = None) QAction | None
focusNextPrevChild(self, next: bool) bool
hideEvent(self, a0: QHideEvent | None)
hideTearOffMenu(self)
hovered

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

icon(self) QIcon
initStyleOption(self, option: QStyleOptionMenuItem | None, action: QAction | None)
insertMenu(self, before: QAction | None, menu: QMenu | None) QAction | None
insertSection(self, before: QAction | None, text: str | None) QAction | None
insertSection(self, before: QAction | None, icon: QIcon, text: str | None) QAction | None
insertSeparator(self, before: QAction | None) QAction | None
isEmpty(self) bool
isTearOffEnabled(self) bool
isTearOffMenuVisible(self) bool
keyPressEvent(self, a0: QKeyEvent | None)
leaveEvent(self, a0: QEvent | None)
menuAction(self) QAction | None
mouseMoveEvent(self, a0: QMouseEvent | None)
mousePressEvent(self, a0: QMouseEvent | None)
mouseReleaseEvent(self, a0: QMouseEvent | None)
paintEvent(self, a0: QPaintEvent | None)
popup(self, p: QPoint, action: QAction | None = None)
separatorsCollapsible(self) bool
setActiveAction(self, act: QAction | None)
setDefaultAction(self, a0: QAction | None)
setIcon(self, icon: QIcon)
setNoReplayFor(self, widget: QWidget | None)
setSeparatorsCollapsible(self, collapse: bool)
setTearOffEnabled(self, a0: bool)
setTitle(self, title: str | None)
setToolTipsVisible(self, visible: bool)
showTearOffMenu(self)
showTearOffMenu(self, pos: QPoint) None
sizeHint(self) QSize
timerEvent(self, a0: QTimerEvent | None)
title(self) str
toolTipsVisible(self) bool
triggered

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

wheelEvent(self, a0: QWheelEvent | None)
class populse_mia.user_interface.data_browser.data_browser.QMessageBox(parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.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.data_browser.QProgressDialog(parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.WindowFlags())
class populse_mia.user_interface.data_browser.data_browser.QProgressDialog(labelText: str | None, cancelButtonText: str | None, minimum: int, maximum: int, parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.WindowFlags())

Bases: QDialog

autoClose(self) bool
autoReset(self) bool
cancel(self)
canceled

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

changeEvent(self, a0: QEvent | None)
closeEvent(self, a0: QCloseEvent | None)
forceShow(self)
labelText(self) str
maximum(self) int
minimum(self) int
minimumDuration(self) int
open(self)
open(self, slot: PYQT_SLOT) None
reset(self)
resizeEvent(self, a0: QResizeEvent | None)
setAutoClose(self, b: bool)
setAutoReset(self, b: bool)
setBar(self, bar: QProgressBar | None)
setCancelButton(self, button: QPushButton | None)
setCancelButtonText(self, a0: str | None)
setLabel(self, label: QLabel | None)
setLabelText(self, a0: str | None)
setMaximum(self, maximum: int)
setMinimum(self, minimum: int)
setMinimumDuration(self, ms: int)
setRange(self, minimum: int, maximum: int)
setValue(self, progress: int)
showEvent(self, e: QShowEvent | None)
sizeHint(self) QSize
value(self) int
wasCanceled(self) bool
class populse_mia.user_interface.data_browser.data_browser.QPushButton(parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QPushButton(text: str | None, parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.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.data_browser.QSizePolicy
class populse_mia.user_interface.data_browser.data_browser.QSizePolicy(horizontal: QSizePolicy.Policy, vertical: QSizePolicy.Policy, type: QSizePolicy.ControlType = QSizePolicy.DefaultType)
class populse_mia.user_interface.data_browser.data_browser.QSizePolicy(variant: Any)
class populse_mia.user_interface.data_browser.data_browser.QSizePolicy(a0: QSizePolicy)

Bases: simplewrapper

ButtonBox = 2
CheckBox = 4
ComboBox = 8
class ControlType

Bases: int

class ControlTypes
class ControlTypes(f: QSizePolicy.ControlTypes | QSizePolicy.ControlType)
class ControlTypes(a0: QSizePolicy.ControlTypes)

Bases: simplewrapper

DefaultType = 1
ExpandFlag = 2
Expanding = 7
Fixed = 0
Frame = 16
GroupBox = 32
GrowFlag = 1
IgnoreFlag = 8
Ignored = 13
Label = 64
Line = 128
LineEdit = 256
Maximum = 4
Minimum = 1
MinimumExpanding = 3
class Policy

Bases: int

class PolicyFlag

Bases: int

Preferred = 5
PushButton = 512
RadioButton = 1024
ShrinkFlag = 4
Slider = 2048
SpinBox = 4096
TabWidget = 8192
ToolButton = 16384
controlType(self) QSizePolicy.ControlType
expandingDirections(self) Qt.Orientations
hasHeightForWidth(self) bool
hasWidthForHeight(self) bool
horizontalPolicy(self) QSizePolicy.Policy
horizontalStretch(self) int
retainSizeWhenHidden(self) bool
setControlType(self, type: QSizePolicy.ControlType)
setHeightForWidth(self, b: bool)
setHorizontalPolicy(self, d: QSizePolicy.Policy)
setHorizontalStretch(self, stretchFactor: int)
setRetainSizeWhenHidden(self, retainSize: bool)
setVerticalPolicy(self, d: QSizePolicy.Policy)
setVerticalStretch(self, stretchFactor: int)
setWidthForHeight(self, b: bool)
transpose(self)
transposed(self) QSizePolicy
verticalPolicy(self) QSizePolicy.Policy
verticalStretch(self) int
class populse_mia.user_interface.data_browser.data_browser.QSplitter(parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QSplitter(orientation: Qt.Orientation, parent: QWidget | None = None)

Bases: QFrame

addWidget(self, widget: QWidget | None)
changeEvent(self, a0: QEvent | None)
childEvent(self, a0: QChildEvent | None)
childrenCollapsible(self) bool
closestLegalPosition(self, a0: int, a1: int) int
count(self) int
createHandle(self) QSplitterHandle | None
event(self, a0: QEvent | None) bool
getRange(self, index: int)
handle(self, index: int) QSplitterHandle | None
handleWidth(self) int
indexOf(self, w: QWidget | None) int
insertWidget(self, index: int, widget: QWidget | None)
isCollapsible(self, index: int) bool
minimumSizeHint(self) QSize
moveSplitter(self, pos: int, index: int)
opaqueResize(self) bool
orientation(self) Qt.Orientation
refresh(self)
replaceWidget(self, index: int, widget: QWidget | None) QWidget | None
resizeEvent(self, a0: QResizeEvent | None)
restoreState(self, state: QByteArray | bytes | bytearray) bool
saveState(self) QByteArray
setChildrenCollapsible(self, a0: bool)
setCollapsible(self, index: int, a1: bool)
setHandleWidth(self, a0: int)
setOpaqueResize(self, opaque: bool = True)
setOrientation(self, a0: Qt.Orientation)
setRubberBand(self, position: int)
setSizes(self, list: Iterable[int])
setStretchFactor(self, index: int, stretch: int)
sizeHint(self) QSize
sizes(self) List[int]
splitterMoved

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

widget(self, index: int) QWidget | None
class populse_mia.user_interface.data_browser.data_browser.QTableWidget(parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QTableWidget(rows: int, columns: int, parent: QWidget | None = None)

Bases: QTableView

cellActivated

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

cellChanged

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

cellClicked

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

cellDoubleClicked

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

cellEntered

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

cellPressed

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

cellWidget(self, row: int, column: int) QWidget | None
clear(self)
clearContents(self)
closePersistentEditor(self, item: QTableWidgetItem | None)
column(self, item: QTableWidgetItem | None) int
columnCount(self) int
currentCellChanged

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

currentColumn(self) int
currentItem(self) QTableWidgetItem | None
currentItemChanged

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

currentRow(self) int
dropEvent(self, event: QDropEvent | None)
dropMimeData(self, row: int, column: int, data: QMimeData | None, action: Qt.DropAction) bool
editItem(self, item: QTableWidgetItem | None)
event(self, e: QEvent | None) bool
findItems(self, text: str | None, flags: Qt.MatchFlags | Qt.MatchFlag) List[QTableWidgetItem]
horizontalHeaderItem(self, column: int) QTableWidgetItem | None
indexFromItem(self, item: QTableWidgetItem | None) QModelIndex
insertColumn(self, column: int)
insertRow(self, row: int)
isPersistentEditorOpen(self, item: QTableWidgetItem | None) bool
isSortingEnabled(self) bool
item(self, row: int, column: int) QTableWidgetItem | None
itemActivated

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

itemAt(self, p: QPoint) QTableWidgetItem | None
itemAt(self, ax: int, ay: int) QTableWidgetItem | None
itemChanged

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

itemClicked

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

itemDoubleClicked

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

itemEntered

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

itemFromIndex(self, index: QModelIndex) QTableWidgetItem | None
itemPressed

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

itemPrototype(self) QTableWidgetItem | None
itemSelectionChanged

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

items(self, data: QMimeData | None) List[QTableWidgetItem]
mimeData(self, items: Iterable[QTableWidgetItem]) QMimeData | None
mimeTypes(self) List[str]
openPersistentEditor(self, item: QTableWidgetItem | None)
removeCellWidget(self, arow: int, acolumn: int)
removeColumn(self, column: int)
removeRow(self, row: int)
row(self, item: QTableWidgetItem | None) int
rowCount(self) int
scrollToItem(self, item: QTableWidgetItem | None, hint: QAbstractItemView.ScrollHint = QAbstractItemView.EnsureVisible)
selectedItems(self) List[QTableWidgetItem]
selectedRanges(self) List[QTableWidgetSelectionRange]
setCellWidget(self, row: int, column: int, widget: QWidget | None)
setColumnCount(self, columns: int)
setCurrentCell(self, row: int, column: int)
setCurrentCell(self, row: int, column: int, command: QItemSelectionModel.SelectionFlags | QItemSelectionModel.SelectionFlag) None
setCurrentItem(self, item: QTableWidgetItem | None)
setCurrentItem(self, item: QTableWidgetItem | None, command: QItemSelectionModel.SelectionFlags | QItemSelectionModel.SelectionFlag) None
setHorizontalHeaderItem(self, column: int, item: QTableWidgetItem | None)
setHorizontalHeaderLabels(self, labels: Iterable[str | None])
setItem(self, row: int, column: int, item: QTableWidgetItem | None)
setItemPrototype(self, item: QTableWidgetItem | None)
setModel(self, model: QAbstractItemModel | None)
setRangeSelected(self, range: QTableWidgetSelectionRange, select: bool)
setRowCount(self, rows: int)
setSortingEnabled(self, enable: bool)
setVerticalHeaderItem(self, row: int, item: QTableWidgetItem | None)
setVerticalHeaderLabels(self, labels: Iterable[str | None])
sortItems(self, column: int, order: Qt.SortOrder = Qt.AscendingOrder)
supportedDropActions(self) Qt.DropActions
takeHorizontalHeaderItem(self, column: int) QTableWidgetItem | None
takeItem(self, row: int, column: int) QTableWidgetItem | None
takeVerticalHeaderItem(self, row: int) QTableWidgetItem | None
verticalHeaderItem(self, row: int) QTableWidgetItem | None
visualColumn(self, logicalColumn: int) int
visualItemRect(self, item: QTableWidgetItem | None) QRect
visualRow(self, logicalRow: int) int
class populse_mia.user_interface.data_browser.data_browser.QTableWidgetItem(type: int = QTableWidgetItem.ItemType.Type)
class populse_mia.user_interface.data_browser.data_browser.QTableWidgetItem(text: str | None, type: int = QTableWidgetItem.ItemType.Type)
class populse_mia.user_interface.data_browser.data_browser.QTableWidgetItem(icon: QIcon, text: str | None, type: int = QTableWidgetItem.ItemType.Type)
class populse_mia.user_interface.data_browser.data_browser.QTableWidgetItem(other: QTableWidgetItem)

Bases: wrapper

class ItemType

Bases: int

Type = 0
UserType = 1000
background(self) QBrush
checkState(self) Qt.CheckState
clone(self) QTableWidgetItem | None
column(self) int
data(self, role: int) Any
flags(self) Qt.ItemFlags
font(self) QFont
foreground(self) QBrush
icon(self) QIcon
isSelected(self) bool
read(self, in_: QDataStream)
row(self) int
setBackground(self, brush: QBrush | QColor | Qt.GlobalColor | QGradient)
setCheckState(self, state: Qt.CheckState)
setData(self, role: int, value: Any)
setFlags(self, aflags: Qt.ItemFlags | Qt.ItemFlag)
setFont(self, afont: QFont)
setForeground(self, brush: QBrush | QColor | Qt.GlobalColor | QGradient)
setIcon(self, aicon: QIcon)
setSelected(self, aselect: bool)
setSizeHint(self, size: QSize)
setStatusTip(self, astatusTip: str | None)
setText(self, atext: str | None)
setTextAlignment(self, alignment: int)
setToolTip(self, atoolTip: str | None)
setWhatsThis(self, awhatsThis: str | None)
sizeHint(self) QSize
statusTip(self) str
tableWidget(self) QTableWidget | None
text(self) str
textAlignment(self) int
toolTip(self) str
type(self) int
whatsThis(self) str
write(self, out: QDataStream)
class populse_mia.user_interface.data_browser.data_browser.QTimeEdit(parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QTimeEdit(time: QTime | datetime.time, parent: QWidget | None = None)

Bases: QDateTimeEdit

class populse_mia.user_interface.data_browser.data_browser.QToolBar(title: str | None, parent: QWidget | None = None)
class populse_mia.user_interface.data_browser.data_browser.QToolBar(parent: QWidget | None = None)

Bases: QWidget

actionAt(self, p: QPoint) QAction | None
actionAt(self, ax: int, ay: int) QAction | None
actionEvent(self, event: QActionEvent | None)
actionGeometry(self, action: QAction | None) QRect
actionTriggered

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

addAction(self, action: QAction | None)
addSeparator(self) QAction | None
addWidget(self, widget: QWidget | None) QAction | None
allowedAreas(self) Qt.ToolBarAreas
allowedAreasChanged

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

changeEvent(self, event: QEvent | None)
clear(self)
event(self, event: QEvent | None) bool
iconSize(self) QSize
iconSizeChanged

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

initStyleOption(self, option: QStyleOptionToolBar | None)
insertSeparator(self, before: QAction | None) QAction | None
insertWidget(self, before: QAction | None, widget: QWidget | None) QAction | None
isAreaAllowed(self, area: Qt.ToolBarArea) bool
isFloatable(self) bool
isFloating(self) bool
isMovable(self) bool
movableChanged

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

orientation(self) Qt.Orientation
orientationChanged

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

paintEvent(self, event: QPaintEvent | None)
setAllowedAreas(self, areas: Qt.ToolBarAreas | Qt.ToolBarArea)
setFloatable(self, floatable: bool)
setIconSize(self, iconSize: QSize)
setMovable(self, movable: bool)
setOrientation(self, orientation: Qt.Orientation)
setToolButtonStyle(self, toolButtonStyle: Qt.ToolButtonStyle)
toggleViewAction(self) QAction | None
toolButtonStyle(self) Qt.ToolButtonStyle
toolButtonStyleChanged

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

topLevelChanged

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

visibilityChanged

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

widgetForAction(self, action: QAction | None) QWidget | None
class populse_mia.user_interface.data_browser.data_browser.QToolButton(parent: QWidget | None = None)

Bases: QAbstractButton

DelayedPopup = 0
InstantPopup = 2
MenuButtonPopup = 1
class ToolButtonPopupMode

Bases: int

actionEvent(self, a0: QActionEvent | None)
arrowType(self) Qt.ArrowType
autoRaise(self) bool
changeEvent(self, a0: QEvent | None)
defaultAction(self) QAction | None
enterEvent(self, a0: QEvent | None)
event(self, e: QEvent | None) bool
hitButton(self, pos: QPoint) bool
initStyleOption(self, option: QStyleOptionToolButton | None)
leaveEvent(self, a0: QEvent | None)
menu(self) QMenu | None
minimumSizeHint(self) QSize
mousePressEvent(self, a0: QMouseEvent | None)
mouseReleaseEvent(self, a0: QMouseEvent | None)
nextCheckState(self)
paintEvent(self, a0: QPaintEvent | None)
popupMode(self) QToolButton.ToolButtonPopupMode
setArrowType(self, type: Qt.ArrowType)
setAutoRaise(self, enable: bool)
setDefaultAction(self, a0: QAction | None)
setMenu(self, menu: QMenu | None)
setPopupMode(self, mode: QToolButton.ToolButtonPopupMode)
setToolButtonStyle(self, style: Qt.ToolButtonStyle)
showMenu(self)
sizeHint(self) QSize
timerEvent(self, a0: QTimerEvent | None)
toolButtonStyle(self) Qt.ToolButtonStyle
triggered

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

class populse_mia.user_interface.data_browser.data_browser.QVBoxLayout
class populse_mia.user_interface.data_browser.data_browser.QVBoxLayout(parent: QWidget | None)

Bases: QBoxLayout

class populse_mia.user_interface.data_browser.data_browser.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.data_browser.FIELD_TYPE_DATE

alias of date

populse_mia.user_interface.data_browser.data_browser.FIELD_TYPE_DATETIME

alias of datetime

populse_mia.user_interface.data_browser.data_browser.FIELD_TYPE_FLOAT

alias of float

populse_mia.user_interface.data_browser.data_browser.FIELD_TYPE_STRING

alias of str

populse_mia.user_interface.data_browser.data_browser.FIELD_TYPE_TIME

alias of time

class populse_mia.user_interface.data_browser.data_browser.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.data_browser.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 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

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 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.

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.

class populse_mia.user_interface.data_browser.data_browser.CountTable(project)[source]

Bases: QDialog

A visual tool for verifying medical scan completeness through tag combination analysis.

This dialog provides an interactive interface to analyze medical scan data by selecting multiple tags (metadata fields) and displaying their combinations in a matrix format. The tool helps identify missing scans by showing which combinations of tag values have corresponding data.

The interface consists of: - Dynamic tag selection buttons (expandable from 2 to n tags) - Add/remove controls for tag management - A results table showing all possible combinations - Visual indicators (✓/✗) for data presence/absence

Table Structure:
  • Rows: All combinations of the first (n-1) selected tags

  • Columns: First (n-1) tag names + values of the last tag

  • Cells: Count of matching scans or absence indicator

  • Footer: Total counts per column

Example

With tags [PatientName, TimePoint, SequenceName] for 2 patients (P1, P2), 3 timepoints (T1, T2, T3), and sequences (RARE, MDEFT, FLASH):

Key Features:
  • Dynamic tag addition/removal

  • Real-time scan counting

  • Visual missing data indicators

  • Hover tooltips showing specific scan files

  • Automatic table resizing

__init__(project) None[source]

Initialize the CountTable with the given project.

Parameters:

project – The current medical imaging project containing scan database

_create_clickable_label(image_name: str, click_handler: Callable) ClickableLabel[source]

Create a clickable label with an image.

Parameters:
  • (str) (image_name) – The filename of the image to display on the label.

  • (Callable) (click_handler) – The function to be called when the label is clicked.

Return (ClickableLabel):

A label displaying the specified image, which triggers the click handler when clicked.

_create_push_button(text: str, idx: int) QPushButton[source]

Create and configure a tag selection button.

Parameters:
  • (str) (text) – The text to display on the button.

  • (int) (idx) – The index associated with the button for tag selection.

Return (QPushButton):

A configured QPushButton that triggers the tag selection when clicked.

_setup_components() None[source]

Initialize basic UI components.

_setup_labels() None[source]

Initialize add/remove control labels with icons.

_setup_layout() None[source]

Initialize main widget layout.

_setup_table() None[source]

Initialize table widget, placeholder label and count button.

add_tag() None[source]

Add a new tag to visualize in the count table.

count_scans() None[source]

Generate and populate the scan count table.

Creates a matrix showing all combinations of selected tag values, with counts or indicators for each combination’s scan availability. Early returns if no tags are selected or if database access fails.

fill_first_tags() None[source]

Populate table cells for the first (n-1) selected tags.

Generates all possible combinations of the first n-1 tag values and fills corresponding table cells. Also adds total counts in the bottom row.

fill_headers() None[source]

Populate table headers with tag names and last tag values.

Sets horizontal headers for:
  • First n-1 columns: tag names

  • Remaining columns: values of the last selected tag

Also adds a “Total” row header.

fill_last_tag() None[source]

Populate cells for the last selected tag with scan counts or indicators.

For each combination of first n-1 tags and each value of the last tag:
  • Queries database for matching scans

  • Shows count with checkmark if scans exist

  • Shows red X if no scans found

  • Adds scan filenames as tooltip

  • Updates column totals

fill_values(idx: int) None[source]

Populate values list for the tag at the specified index.

Extracts all unique values for the selected tag from the database and stores them for table generation.

Parameters:

(Int) (idx) – Index of the select tag

static prepare_filter(tag_value_pairs: list[tuple[str, Any]]) str[source]

Build database query string from tag-value pairs.

Parameters:

tag_value_pairs – List of (tag_name, value) tuples

Returns:

Query string for database filtering

refresh_layout() None[source]

Update the widget layout after adding/removing tags.

remove_tag() None[source]

Remove the last tag selection button and its data.

select_tag(idx: int) None[source]

Open tag selection dialog for the specified button.

Parameters:

(Int) (idx) – The index of the button/tag to configure

class populse_mia.user_interface.data_browser.data_browser.MiniViewer(project)[source]

Bases: QWidget

MiniViewer allows rapid visualization of scans with either a single image per scan or all images of the greater dimension of the scan.

Displayed images depend on their dimension: - 3D: Display all slices. - 4D: Display the middle slice of the third dimension for each time of the

fourth dimension.

  • 5D: Display the middle slice of the third dimension for the first time

    of the fourth dimension for each time of the fifth dimension.

Note

  • idx corresponds to the index of the displayed image

  • idx in [0, self.max_scans]

  • most of the class’s attributes are lists of 0 to self.max_scans

    elements

__init__(project)[source]

Initialize the MiniViewer with project configuration.

The MiniViewer provides a thumbnail preview interface for scans, initially hidden to maximize space for the data browser.

Parameters:

project – The current project instance containing scan data and project-specific configuration.

_create_layouts()[source]

Initialize and configure all layout managers for the MiniViewer widget.

Creates a hierarchical layout structure with:
  • Horizontal layouts for images, sliders (3D/4D/5D), checkboxes, and thumbnails

  • Vertical layouts for main content organization and slider grouping

  • Sets the final vertical layout as the widget’s root layout

All layouts are stored as instance attributes for later population with widgets.

_create_top_bar()[source]

Create and configure the top control bar of the MiniViewer.

This method initializes a persistent horizontal container holding the main interactive controls of the viewer, including:

  • A checkbox to enable/disable cursor display

  • An orientation label centered in the layout

  • A checkbox to switch to “all slices” display mode

  • Slice configuration controls (label + line edit), hidden by default

_initialize_checkboxes()[source]

Initialize checkboxes for controlling visualization behavior.

Creates two checkboxes:
  • ‘Show all slices’: Toggles between displaying all slices or

    using cursors

  • ‘Chain cursors’: Links cursors across multiple selected documents

Both checkboxes are initialized with their states from the current config and connected to their respective event handlers.

_initialize_components()[source]

Initialize UI components for the MiniViewer.

Creates and configures the main UI elements including:
  • Frame containers and scroll area for layout management

  • Slice count control with label and editable line input

  • Orientation label (radiological vs neurological view)

  • Empty collections for dynamic image display elements (sliders, labels, images)

Note: Image-related collections are initialized as empty lists and

populated dynamically based on the loaded data dimensions.

boxSlider(idx)[source]

Initialize dimensional sliders and value fields for a given index.

Creates three sliders (3D, 4D, 5D) with their corresponding text fields and connects each slider’s valueChanged signal to the appropriate position update handler.

Parameters:

(int) (idx) – The index position where sliders should be inserted.

Note: Each slider is connected to changePosValue with dimension
offsets:
  • 3D slider: dimension 1

  • 4D slider: dimension 2

  • 5D slider: dimension 3

changePosValue(idx, cursor_to_change)[source]

Synchronize cursor positions across multiple image viewers when chain mode is enabled.

When the “Chain cursors” checkbox is checked, this method propagates the cursor value from the modified viewer to all other viewers, scaling the value proportionally to account for different cursor ranges.

Parameters:
  • (int) (cursor_to_change) – Index of the viewer whose cursor was changed.

  • (int) – Cursor identifier (1=3D, 2=4D, 3=5D).

Notes

  • If chain mode is disabled, only updates the image for the given index.

  • Boundary values (min/max) are preserved exactly.

  • Intermediate values are scaled linearly to maintain relative position.

check_box_cursors_state_changed()[source]

Update cursor chaining configuration based on checkbox state.

Synchronizes the cursor chaining setting in the configuration with the current state of the checkbox. When enabled, cursors will be chained together across views.

clear()[source]

Clear cached Nibabel image to free memory.

Removes the internal image reference if it exists, allowing the image object to be garbage collected.

clear_layouts()[source]

Remove and safely delete all widgets from the dynamic content layout.

This method clears the self.content_layout by iteratively removing each item and scheduling any associated QWidget for deletion using deleteLater(). This ensures proper memory management and avoids immediate deletion issues within the Qt event loop.

Only widgets contained in self.content_layout are affected. Persistent UI elements (such as the top control bar) must not be part of this layout and are therefore preserved.

createDimensionLabels(idx)[source]

Create and configure dimension labels for the specified index.

Creates three QLabel widgets (3D, 4D, and 5D) at the given index position, configures them with a 9-point font, and sets their text labels.

Parameters:

idx – The index position where the labels should be inserted.

createFieldValue()[source]

Create a read-only field for displaying cursor position.

Return (QLineEdit):

A disabled, center-aligned text field with fixed width (65px) and font size (9pt) for displaying coordinate values.

create_slider(minimum=0, maximum=0, position=0)[source]

Create a horizontal slider widget.

Parameters:
  • minimum – The minimum value of the slider. Defaults to 0.

  • maximum – The maximum value of the slider. Defaults to 0.

  • position – The initial position/value of the slider. Defaults to 0.

Return QSlider:

A configured horizontal slider widget, initially disabled.

Note: The slider is created with strong focus policy and a tick interval of 1. It starts in a disabled state. With default parameters (min=0, max=0), the slider has no range and should be configured before enabling.

displayPosValue(idx)[source]

Update position display for all dimensional sliders at the given index.

Updates the text labels for 3D, 4D, and 5D sliders to show the current position (1-indexed) and maximum value in the format “current / max”.

Parameters:

idx – Index of the slider group to update (0-based).

enableSliders(idx)[source]

Enable sliders at the specified index across all dimensions.

Parameters:

idx – Index of the sliders to enable across 3D, 4D, and 5D slider collections.

image2DModifications(idx, im2D=None)[source]

Apply display modifications to a 2D image slice.

Processes an image for optimal display by: 1. Resizing to standard display dimensions 2. Rescaling intensities with percentile-based clipping 3. Converting to appropriate display data type 4. Applying orientation rotation (radiological/neurological)

Parameters:
  • idx – Index of the image slice in the internal array

  • im2D – Optional 2D numpy array to modify. If None, uses self.im_2D[idx]

Note: When im2D is not provided, the modified image is stored in

self.im_2D[idx]

image_to_pixmap(im, i)[source]

Convert an N-dimensional NIfTI image to a 2D Qt pixmap.

Extracts a 2D slice from multi-dimensional medical imaging data and converts it to a Qt pixmap for display. The extraction strategy depends on dimensionality:

  • 3D images: Extract slice at index i along the z-axis

  • 4D images: Extract middle z-slice from the 3D volume at time index i

  • 5D images: Extract middle z-slice from the 3D volume at time index 1

    of the 4D volume at the 5th dimension index i

Parameters:
  • im – NIfTI image object with a dataobj attribute

  • i – Index for slice/volume selection along the outermost variable dimension

Return (QPixmap):

Qt pixmap ready for display, or pixmap from empty array if dimensionality is unsupported

indexImage(idx)[source]

Update the displayed 2D image slice and adjust slider ranges according to the dimensionality of the selected image.

The current values of the 3D, 4D, and 5D sliders are used to extract the corresponding slice from the image data. Sliders that exceed the image dimensionality are reset to a maximum value of 0.

Parameters:

idx – Index of the selected image

mem_release()[source]

Release memory by clearing all internal lists holding images, sliders, labels, and related UI elements.

This method empties the existing lists in place (without reassigning them) to ensure that all references are removed and memory can be reclaimed.

navigImage(idx)[source]

Display the 2D image corresponding to the given index.

This method updates the navigation state, applies image-specific modifications, converts the image to a Qt pixmap, and displays it in the associated label.

Parameters:

(int) (idx) – Index of the image to display

openTagsPopUp()[source]

Open a modal dialog allowing the user to select the tag used as the thumbnail legend.

If the dialog is accepted, slice verification is triggered for the current file paths.

Notes: The dialog instance is stored on self.popUp to allow access from unit tests.

setThumbnail(file_path_db, idx)[source]

Set the thumbnail description label for a given image index.

Retrieves the value of the configured thumbnail tag from the database and displays it under the image frame. If the value is not defined, a default placeholder is used. The tooltip shows the tag name.

Parameters:
  • (str) (file_path_db) – Path of selected image in database format (ex. data/raw_data/mymri.nii’)

  • (int) (idx) – Index of the image in the UI.

show_slices(file_paths)[source]

Display thumbnail previews of neuroimaging files with interactive controls.

Creates a thumbnail viewer showing either cursor-controlled slices or multiple slices from the selected neuroimaging files. On first call, makes the MiniViewer visible. Does nothing if the viewer is hidden by the user.

The viewer supports two display modes: - Cursor mode (default): Shows one slice per image with interactive

3D/4D/5D sliders

  • All slices mode: Displays multiple consecutive slices from each image

Parameters:

file_paths – List of paths to neuroimaging files (NIfTI format) to display. Invalid or non-existent files are automatically filtered out with warnings.

Side effects:
  • Modifies self.file_paths by removing invalid entries

  • Updates self.img list with loaded image objects

  • Creates and configures numerous Qt widgets for the thumbnail display

  • Logs warnings for files that cannot be loaded or displayed

Note

Maximum thumbnails displayed is controlled by self.config.get_max_thumbnails() in cursor mode, and by self.line_edit_nb_slices.text() in all slices mode.

update_nb_slices()[source]

Update slice configuration and refresh thumbnails.

Triggered when the user modifies the number of slices to visualize. Updates the configuration with the new slice count and re-validates the current file paths to regenerate thumbnails accordingly.

Notes: The slice count is retrieved from the UI line edit widget and applied to all loaded files.

update_visualization()[source]

Update visualization settings and refresh thumbnails.

Synchronizes the slice visualization preference (show all slices vs. single slice) based on the checkbox state, updates the configuration, and regenerates thumbnails for the current file paths.

This method is triggered when the user toggles the “show all slices” checkbox.

verify_slices(file_paths)[source]

Update slice display settings based on the number of selected files.

When multiple files are selected, the “Show all slices” checkbox is disabled and unchecked to prevent viewing slices from multiple files simultaneously. For single file selection, the checkbox remains enabled.

Parameters:

file_paths – List or collection of selected document file paths.

class populse_mia.user_interface.data_browser.data_browser.ModifyTable(project, value, types, scans, tags)[source]

Bases: QDialog

Dialog to modify cell contents containing lists in the data browser tab.

This dialog provides a user interface to edit cells that contain list values. It displays the list elements in a table and allows users to add or remove elements.

__init__(project, value, types, scans, tags)[source]

Initialize the ModifyTable dialog.

Parameters:
  • project – Instance of the current project

  • value – List of values in the cell to be modified

  • types – Allowed value types for validation

  • scans – Scan identifiers corresponding to rows

  • tags – Tag identifiers corresponding to columns

_convert_value(text, field_type)[source]

Convert a text value to the appropriate type based on field_type.

Parameters:
  • text – String value to convert

  • field_type – Database field type constant

Returns:

The converted value in the appropriate type

_show_error_message(value, type_problem)[source]

Display an error message for invalid values.

Parameters:
  • value – The invalid value

  • type_problem – The specific type that failed validation

add_item()[source]

Add a new element to the list with default value 0.

fill_table()[source]

Populate the table with the current list elements.

Configures the table dimensions, populates cells with values, and adjusts table size to fit content within reasonable bounds.

rem_last_item()[source]

Remove the last element of the list if there’s more than one element.

Lists must maintain at least one element.

update_table_values(test=False)[source]

Validate user input and update the database with new values.

Validates each value against specified types and updates the database only if all values are valid.

Parameters:

(bool) (test) – Flag for testing mode, defaults to False

class populse_mia.user_interface.data_browser.data_browser.RapidSearch(databrowser)[source]

Bases: QLineEdit

Widget 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

class populse_mia.user_interface.data_browser.data_browser.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.data_browser.PopUpAddPath(project, databrowser)[source]

Bases: QDialog

Dialog for adding a document to the project without using the MRI Files Manager (File > Import).

__init__(project, databrowser)[source]

Initializes the pop-up for adding a document.

Parameters:
  • (Project) (project) – The current project instance.

  • (DataBrowser) (databrowser) – The application’s data browser.

file_to_choose()[source]

Opens a file dialog for selecting documents.

find_type()[source]

Determines the document type when the file path changes.

save_path()[source]

Adds the selected document paths to the database and updates the UI.

class populse_mia.user_interface.data_browser.data_browser.PopUpAddTag(databrowser, project)[source]

Bases: QDialog

Dialog for adding a new tag to the project.

This dialog allows users to create a new tag by specifying its name, default value, description, unit, and type.

signal_add_tag

Signal emitted when a new tag is successfully added

- _connect_signals

Connect signals to slots

- _setup_layouts

Set up the layout of UI elements

- _setup_ui

Set up the dialog UI elements

- _show_error

Display an error message box

- ok_action

Validates input fields and adds the new tag if valid

- on_activated

Updates form fields when tag type is changed

signal_add_tag

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__(databrowser, project)[source]

Initialize the dialog for adding a new tag.

Parameters:
  • databrowser – The data browser instance

  • project – The current project in the software

_connect_signals()[source]

Connect signals to slots.

_setup_layouts()[source]

Set up the layout of UI elements.

_setup_ui()[source]

Set up the dialog UI elements.

_show_error(text, informative_text)[source]

Display an error message box.

Parameters:
  • text – The main error message text

  • informative_text – The additional informative text

ok_action()[source]

Validate inputs and add the new tag if all fields are correct.

Performs validation on the tag name, type and default value to ensure they are valid before adding the tag to the project.

on_activated(text)[source]

Update the default value when the tag type changes.

Parameters:

text – The new type selected from combo box

class populse_mia.user_interface.data_browser.data_browser.PopUpCloneTag(databrowser, project)[source]

Bases: QDialog

Dialog for cloning an existing tag with a new name.

This dialog allows users to select an existing tag from the project and clone it with a new name.

signal_clone_tag

Signal emitted when a tag is successfully cloned

- _connect_signals

Connect signals to slots

- _populate_tag_list

Populate the tag list with available tags

- _setup_ui

Set up the dialog UI elements

- _show_error

Display an error message box

- ok_action

Validates the new tag name and clones the selected tag

- search_str

Filters the tag list based on a search string

signal_clone_tag

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__(databrowser, project)[source]

Initialize the dialog for cloning a tag.

Parameters:
  • databrowser – The data browser instance

  • project – The current project in the software

_connect_signals(project)[source]

Connect signals to slots.

Parameters:

project – The current project

_populate_tag_list(project)[source]

Populate the tag list with available tags from the project.

Parameters:

project – The current project

_setup_ui()[source]

Set up the dialog UI elements.

_show_error(text, informative_text)[source]

Display an error message box.

Parameters:
  • text – The main error message text

  • informative_text – The additional informative text

ok_action(project)[source]

Validate new tag name and clone the selected tag if valid.

Parameters:

project – The current project

search_str(project, search_text)[source]

Filter the tag list based on the search string.

Parameters:
  • project – The current project

  • search_text – The search string to filter by

class populse_mia.user_interface.data_browser.data_browser.PopUpDataBrowserCurrentSelection(project, databrowser, filter, main_window, TableDataBrowser)[source]

Bases: QDialog

Dialog to display and confirm the current data browser selection.

This dialog shows a table of the currently selected document from the data browser and allows the user to confirm or cancel the selection. When confirmed, it updates the scan_list attribute of relevant components in the main window.

project

Current project in the software.

databrowser

Data browser instance of the software.

filter

List of the current documents in the data browser.

main_window

Main window of the software.

__init__(project, databrowser, filter, main_window, TableDataBrowser)[source]

Initialize the dialog with the current project and selection data.

Parameters:
  • project – Current project in the software

  • databrowser – Data browser instance of the software

  • (list) (filter) – List of the current documents in the data browser

  • main_window – Main window of the software

  • TableDataBrowser – Class for displaying data in a table format

_set_dialog_size()[source]

Set the dialog size based on screen resolution.

_setup_ui(TableDataBrowser)[source]

Set up the dialog’s user interface.

Parameters:

TableDataBrowser – Class for displaying data in a table format

ok_clicked()[source]

Update the scan_list attribute of components when OK is clicked.

This method propagates the current filter (selected documents) to various components in the main window’s pipeline manager, and marks the data as sent in the data browser before closing the dialog.

class populse_mia.user_interface.data_browser.data_browser.PopUpMultipleSort(project, table_data_browser)[source]

Bases: QDialog

Dialog for sorting the data browser’s table based on multiple tags.

This dialog allows users to select multiple tags (columns) for sorting table data in either ascending or descending order. Users can dynamically add or remove sort criteria.

__init__(project, table_data_browser)[source]

Initialize the multiple sort dialog.

Parameters:
  • project – Current project in the software

  • table_data_browser – Data browser’s table to be sorted

_setup_ui_elements()[source]

Create and configure all UI elements.

add_tag()[source]

Add a new tag button to the sort criteria.

fill_values(idx)[source]

Collect unique values for the selected tag.

Parameters:

idx – Index of the tag button in the push_buttons list

refresh_layout()[source]

Update the dialog layout to reflect current tag buttons.

remove_tag()[source]

Remove the last tag button from the sort criteria.

select_tag(idx)[source]

Open a pop-up dialog to choose a tag for the specified button.

Parameters:

idx – Index of the button in the push_buttons list

sort_scans()[source]

Collect sorting parameters and send them to the data browser.

class populse_mia.user_interface.data_browser.data_browser.PopUpProperties(project, databrowser, old_tags)[source]

Bases: QDialog

Dialog for modifying project properties.

Allows users to change project settings, including visualized tags and information. Is called when the user wants to change the current project’s properties (File > properties).

signal_settings_change

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__(project, databrowser, old_tags)[source]

Initialize the project properties dialog.

Parameters:
  • project – current project in the software

  • databrowser – data browser instance of the software

  • old_tags – visualized tags before opening this dialog

ok_clicked()[source]

Saves the modifications and updates the data browser.

class populse_mia.user_interface.data_browser.data_browser.PopUpRemoveScan(scan, size)[source]

Bases: QDialog

Dialog to confirm removal of a scan previously sent to the pipeline manager.

Provides options to remove or keep a scan, with additional ‘apply to all’ functionality when multiple scans are involved. Is called when the user wants to remove a scan that was previously sent to the pipeline manager.

__init__(scan, size)[source]

Initialize the remove scan confirmation dialog.

Parameters:
  • scan – Identifier of the scan to be potentially removed.

  • size – Total number of scans in the removal process.

cancel_clicked()[source]

Handle ‘Cancel’ action.

Sets stop flag to True and indicates no global action.

no_all_clicked()[source]

Handle ‘No to All’ action.

Sets stop flag to True and indicates a global ‘No’ action.

yes_all_clicked()[source]

Handle ‘Yes to All’ action.

Clears stop flag and indicates a global ‘Yes’ action.

yes_clicked()[source]

Handle ‘Yes’ action.

Clears both stop and repeat flags for a single item removal.

class populse_mia.user_interface.data_browser.data_browser.PopUpRemoveTag(databrowser, project)[source]

Bases: QDialog

Dialog for removing user-defined tags from a Populse MIA project.

Allows users to select and remove custom tags from the project’s database.

signal_remove_tag

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__(databrowser, project)[source]

Initialize the remove tag dialog.

Parameters:
  • databrowser – Data browser instance managing project data.

  • project – Current project containing tags to be removed.

ok_action()[source]

Process selected tags for removal and update the data browser.

Retrieves selected tags and passes them to the data browser for removal. Closes the dialog after processing.

search_str(search_pattern)[source]

Filter tags based on search pattern.

Parameters:

search_pattern – String to match against tag names.

class populse_mia.user_interface.data_browser.data_browser.PopUpSelectFilter(project, databrowser)[source]

Bases: PopUpFilterSelection

Popup window for selecting and opening a previously saved filter.

__init__(project, databrowser)[source]

Initializes the PopUpSelectFilter dialog

Parameters:
  • (Project) (project) – The current project instance.

  • (DataBrowser) (databrowser) – The data browser instance.

ok_clicked()[source]

Saves the selected filter as the current filter and updates the data browser.

class populse_mia.user_interface.data_browser.data_browser.PopUpShowHistory(project, brick_uuid, scan, databrowser, main_window)[source]

Bases: QDialog

A dialog for displaying the history of a document in a software pipeline.

This class creates a popup window that provides comprehensive information about a specific brick (processing node) in a pipeline, including: - Pipeline visualization - Input and output parameters - Initialization and execution details

The dialog allows users to: - View the pipeline structure - Inspect node details - Navigate between associated bricks - Select and highlight specific files

__init__(project, brick_uuid, scan, databrowser, main_window)[source]

Initialize the document history popup.

Parameters:
  • project – Current project in the software

  • (str) (scan) – Unique identifier of the brick

  • (str) – Filename of the scan

  • databrowser – Data browser instance

  • main_window – Main window of the software

_updateio_table(io_dict, item_idx)[source]

Populate the table’s input and output sections with given dictionary data.

This method dynamically creates table headers and cell widgets based on the input dictionary, handling nested lists and detecting scanned file paths.

Parameters:
  • (dict) (io_dict) – Dictionary containing input or output data to be displayed. Keys represent column headers, and values can be strings, lists, or nested lists.

  • (int) (item_idx) – The starting column index for populating the table

Return (int):

The updated column index after processing the dictionary.

adjust_size()[source]

Adjust the size of the dialog based on screen resolution.

file_clicked()[source]

Close the history window and select the file in the data browser.

find_associated_bricks(node_name)[source]

Find bricks associated with a given node name.

Parameters:

(str) (node_name) – The name of the node to find associated bricks for.

Return (dict):

A dictionary where the keys are the full brick names and the values are lists of associated UUIDs.

find_process_from_plug(plug)[source]

Find the process and plug name from a given plug.

Parameters:

(Plug) (plug) – The plug object to find the process and plug name from.

Return (tuple):

A tuple containing the process name (str) and plug name (str).

handle_pipeline_nodes(pipeline, full_brick_name)[source]

Handle pipeline nodes, set up the view, and initialize the pipeline visualization.

Parameters:
  • (Pipeline) (pipeline) – The pipeline object containing the nodes to handle.

  • (list) (full_brick_name) – The full name of the brick, split into parts.

highlight_selected_node(node_name)[source]

Highlight the selected node in the pipeline view.

Parameters:

(str) (node_name) – The name of the node to highlight.

initialize_pipeline(full_brick_name)[source]

Initialize the pipeline view using the given pipeline XML.

Parameters:

(list) (full_brick_name) – The full name of the brick, split into parts.

io_value_is_scan(value)[source]

Check if the I/O value is a scan.

Parameters:

value – I/O value

Returns:

The scan corresponding to the value if it exists, None otherwise

load_data(brick_uuid, scan)[source]

Load data from the project database and update the table with brick data.

Parameters:
  • (str) (scan) – The UUID of the brick to load.

  • (str) – The identifier of the scan associated with the brick.

load_pipeline_data(history_uuid, full_brick_name)[source]

Load pipeline data from the database based on the provided history UUID.

Parameters:
  • (str) (history_uuid) – The UUID of the history record to load pipeline data from.

  • (list) (full_brick_name) – The full name of the brick, split into parts.

node_selected(node_name, process)[source]

Handle node selection and update the table.

Parameters:
  • node_name – node name

  • process – process of the corresponding node

select_node(pipeline, bricks, full_brick_name)[source]

Select the node in the pipeline view based on the provided brick UUID.

Parameters:
  • (Pipeline) (pipeline) – The pipeline object containing the nodes to handle.

  • (dict) (bricks) – A dictionary of bricks with UUIDs as values.

  • (list) (full_brick_name) – The full name of the brick, split into parts.

setup_ui()[source]

Set up the user interface components.

update_table(inputs, outputs, brick_name, init='', init_time=None, exec='', exec_time=None)[source]

Updates the table with information about a brick’s execution state.

Parameters:
  • (dict) (outputs) – Dictionary containing input data.

  • (dict) – Dictionary containing output data.

  • (str) (brick_name) – Name of the brick.

  • optional) (exec_time (Any,) – Initialization status.

  • optional) – Initialization timestamp.

  • optional) – Execution status.

  • optional) – Execution timestamp.

Contains:
  • create_cell_widget: Creates a QWidget containing a vertically

    aligned QLabel

update_table_for_single_brick(bricks, node_name, full_node_name)[source]

Update the table for a single brick, using the provided brick data.

Parameters:
  • (dict) (bricks) – A dictionary of bricks with UUIDs as values.

  • (str) (node_name) – The name of the node associated with the brick.

  • (list) (full_node_name) – The full name of the node, split into parts.

update_table_for_subpipeline(bricks, process, full_node_name)[source]

Update the table for a subpipeline based on the given process and brick data.

Parameters:
  • (dict) (bricks) – A dictionary of bricks with UUIDs as values.

  • (PipelineNode) (process) – The process node associated with the subpipeline.

  • (list) (full_node_name) – The full name of the node, split into parts.

update_table_with_brick_data(brick_row, full_brick_name)[source]

Update the table with the brick’s input and output data after processing.

Parameters:
  • (list) (full_brick_name) – A list containing the brick data to update the table with.

  • (list) – The full name of the brick, split into parts.

populse_mia.user_interface.data_browser.data_browser.check_value_type(value, value_type, is_subvalue=False)[source]

Checks the type of new value in a table cell (QTableWidget).

Parameters:
  • (str) (value) – Value of the cell (always a str, can be a string representation of a list)

  • (type) (value_type) – Expected type (can be list[str], list[int], etc.)

  • (bool) (is_subvalue) – Whether the value is a subvalue of a list.

Returns:

True if the value is valid to replace the old one, False otherwise

populse_mia.user_interface.data_browser.data_browser.safe_connect(signal, slot)[source]

Connect a Qt signal to a slot, ensuring a single connection.

First disconnects signal from slot (if connected) to avoid duplicate connections, then connects them. This guarantees that the slot is connected exactly once.

Parameters:
  • signal – The Qt signal to (re)connect.

  • slot – The slot (callable) to connect to the signal.

populse_mia.user_interface.data_browser.data_browser.safe_disconnect(signal, slot)[source]

Disconnect a Qt signal from a slot if connected.

Attempts to disconnect signal from slot and silently ignores the error raised when the connection does not exist. This makes the operation idempotent and safe to call multiple times.

Parameters:
  • signal – The Qt signal to disconnect from.

  • slot – The slot (callable) previously connected to the signal.

populse_mia.user_interface.data_browser.data_browser.set_item_data(item, value, value_type)[source]

Sets the data for a given item in the data browser based on the expected type.

This function prepares the input value according to the specified value_type, converting it into a format suitable for PyQt’s QVariant. It supports both primitive types (e.g., int, str, float) and more complex types like datetime, date, time, and lists of these types.

Parameters:
  • (QStandardItem) (item) – The item to update (expected to support setData method).

  • (Any) (value) – The new value to set for the item.

  • (Type) (value_type) – The expected type of the value, which can be a standard Python type (e.g., str, int, float, bool) or a typing-based list type (e.g., list[int], list[datetime]).

populse_mia.user_interface.data_browser.data_browser.table_to_database(value, value_type)[source]

Prepares the value to the database based on its type.

Parameters:
  • (Any) (value) – Value to convert.

  • (Type) (value_type) – Value type.

Return (Any):

The value converted for the database.

populse_mia.user_interface.data_browser.data_browser.type_name(t)[source]

Returns the name of a type or a string representation for generic aliases.

Parameters:

(Any) (t) – The type to get the name or representation for. This can be a regular type (e.g., str, list) or a generic alias (e.g., list[str]).

Returns:

The name of the type (e.g., ‘str’) or the string representation of the generic alias (e.g., ‘list[str]’).

class populse_mia.user_interface.data_browser.data_browser.DataBrowser(project, main_window)[source]

Bases: QWidget

Widget that manages and displays the contents of the Data Browser tab.

The Data Browser provides an interface for viewing, filtering, tagging, and sending documents to the pipeline manager. It integrates tools for advanced search, tag management, and visual inspection of loaded data.

__init__(project, main_window)[source]

Initialization of the data_browser class.

Parameters:
  • project – Current project in the software

  • main_window – Main window of the software

add_tag_infos(new_tag_name, new_default_value, tag_type, new_tag_description, new_tag_unit)[source]

Add a new tag to both current and initial database collections.

This method creates a new tag field in the database schema and populates it with default values for all existing scans. The operation is tracked in the project’s undo/redo history.

Parameters:
  • (str) (new_tag_unit) – Name of the new tag to create

  • new_default_value – Default value to assign to all existing scans

  • (str) – Data type of the tag (e.g., FIELD_TYPE_STRING, FIELD_TYPE_FLOAT)

  • (str) – Human-readable description of the tag

  • (str) – Unit of measurement for the tag value

Note

  • Marks the project as having unsaved modifications

  • Adds the operation to the undo history

  • Updates the UI table with the new column

add_tag_pop_up()[source]

Display a popup window for adding a new tag to the project.

This method initializes and shows a PopUpAddTag dialog, allowing the user to add a new tag to the current project. The popup is modal and tied to the current project context.

clone_tag_infos(tag_to_clone, new_tag_name)[source]

Clone a tag and its associated data, creating a new tag with the same attributes and values.

This method clones the specified tag, including its schema and data, into a new tag. The new tag is added to both the current and initial collections, and all existing values for the original tag are copied to the new tag. The operation is recorded in the project’s undo history.

Parameters:
  • (str) (new_tag_name) – Name of the tag to clone

  • (str)

    Name of the new tag to create

    Notes:
    • The new tag is added to the database schema and data for both COLLECTION_CURRENT amd COLLECTION_INITIAL collections.

    • The project’s unsaved modifications flag is set to True.

    • The operation is recorded in the project’s undo history.

connect_actions()[source]

Connect UI actions to their corresponding methods.

Binds each action’s triggered signal to the appropriate slot method, enabling interactive functionality for tag management and filter operations.

connect_mini_viewer()[source]

Display the selected documents in the viewer.

connect_toolbar()[source]

Connect methods to toolbar.

count_table_pop_up()[source]

Open the count table pop-up.

create_layout()[source]

Create the layouts of the tab.

create_toolbar_view()[source]

Create the toolbar menu at the top of the tab

move_splitter()[source]

Connect the mini viewer if the splitter is not at its minimum position.

Checks whether the bottom pane of the vertical splitter is at its minimum height. If it’s larger than the minimum, connects the mini viewer.

open_filter()[source]

Display a dialog for selecting and opening a saved project filter.

Creates and shows a PopUpSelectFilter dialog, allowing the user to choose from previously saved filters associated with the current project. The dialog is stored as an instance attribute to maintain a reference during its lifetime.

open_filter_infos()[source]

Apply the current project filter to the data table.

Opens the advanced search interface if the filter contains exclusion criteria (nots), updates the search bar text, and refreshes the visualized scans to match the filtered document collection.

The method:
  • Retrieves documents from the current collection

  • Updates scans_to_visualize and scans_to_search

  • Applies the filter’s search bar text

  • Shows advanced search interface if exclusion filters exist

remove_tag_infos(tag_names_to_remove)[source]

Remove specified tags from the database and update the UI.

This method removes tags from both the current and initial collections, preserving tag attributes and values in the undo history. The table display is updated to reflect the changes.

Parameters:

tag_names_to_remove – Iterable of tag names (str) to remove from the database and table display.

Side Effects:
  • Marks project as having unsaved modifications

  • Adds removal operation to undo history

  • Clears redo history

  • Removes columns from table display

  • Temporarily disconnects and reconnects table selection signal

remove_tag_pop_up()[source]

Display a modal dialog for removing user tags from the project.

Creates and shows a PopUpRemoveTag instance, allowing the user to select and remove tags associated with the current project.

Clear the search bar input field.

This method resets the search bar to an empty state by clearing any existing text content.

search_str(str_search)[source]

Search and filter documents in the table based on a search string.

Updates the table’s visualized documents based on the search criteria. An empty string shows all searchable scans. The special value NOT_DEFINED_VALUE filters for documents with undefined field values.

Parameters:

str_search – The search string to filter documents. Empty string returns all searchable scans. NOT_DEFINED_VALUE returns scans with undefined values.

send_documents_to_pipeline()[source]

Display a popup dialog for sending filtered scans to the Pipeline Manager.

Retrieves the currently filtered scans from the table data and presents them in a selection popup, allowing the user to confirm which scans to send to the pipeline.

The popup is shown modally and references the main window as its parent.

show_clone_tag_popup()[source]

Display a popup dialog for cloning a tag.

This method initializes and shows a popup dialog (PopUpCloneTag) to allow the user to clone a tag within the current project context.

The popup is stored as an instance variable for later reference if needed.

Toggle the visibility of the advanced search interface.

If the advanced search is hidden, it resets and displays the search interface, updating the scans list to the current visualized scans. If the advanced search is visible, it hides the interface, resets the search state, and restores the original scans list to the data browser.

This method ensures the UI and data state are synchronized with the visibility of the advanced search.

update_database(database)[source]

Update the project database and reset UI state.

This method propagates the database instance to all components that need it and resets UI elements to their default state. It’s called during project lifecycle events (new, open, save as).

Parameters:

database – The new Database instance to use across the application.

class populse_mia.user_interface.data_browser.data_browser.DateFormatDelegate(parent=None)[source]

Bases: QItemDelegate

A custom delegate for handling date editing in table views.

This delegate provides a QDateEdit widget for editing date values in table cells, with dates formatted as DD/MM/YYYY. It replaces the default text editor with a calendar-based date picker for improved user experience and data validation.

__init__(parent=None)[source]

Initialize the DateFormatDelegate.

Parameters:

parent – Optional parent QObject. Defaults to None.

createEditor(parent, option, index)[source]

Create and return a QDateEdit widget for editing dates.

This method is called by the view when a cell needs to be edited. It creates a date editor with DD/MM/YYYY format.

Parameters:
  • parent – The parent widget for the editor.

  • option – Style options for rendering the item.

  • index – The model index of the item being edited.

Return (QDateEdit):

A configured date editor widget.

class populse_mia.user_interface.data_browser.data_browser.DateTimeFormatDelegate(parent=None)[source]

Bases: QItemDelegate

Custom delegate for displaying and editing datetime values in table views.

This delegate provides a QDateTimeEdit widget for editing datetime cells, formatted as DD/MM/YYYY HH:MM:SS.mmm (day/month/year with milliseconds).

DATETIME_FORMAT = 'dd/MM/yyyy hh:mm:ss.zzz'
__init__(parent=None)[source]

Initialize the datetime delegate.

Parameters:

parent – Optional parent QWidget. Defaults to None.

createEditor(parent, option, index)[source]

Create and configure a datetime editor widget.

Parameters:
  • parent – Parent widget for the editor.

  • option – Style options for the item.

  • index – Model index of the item being edited.

Return (QDateTimeEdit):

Configured datetime editor widget.

class populse_mia.user_interface.data_browser.data_browser.NumberFormatDelegate(parent=None)[source]

Bases: QItemDelegate

Delegate for handling numeric input in table cells.

The number of decimal places is automatically inferred from the existing cell value, ensuring consistent formatting of numeric inputs.

__init__(parent=None)[source]

Initialize the NumberFormatDelegate.

Parameters:

(QWidget) (parent) – The parent widget. Defaults to None.

createEditor(parent, option, index)[source]

Create and configure a QDoubleSpinBox editor for numeric input.

The number of decimal places is determined by examining the current cell value.

Parameters:
  • parent – Parent widget for the editor.

  • option – Style options for the item.

Paramindex:

Model index of the item being edited.

Return (QDoubleSpinBox):

A spin box editor configured with the appropriate decimal precision.

class populse_mia.user_interface.data_browser.data_browser.TableDataBrowser(project, data_browser, tags_to_display, update_values, activate_selection, link_viewer=True)[source]

Bases: QTableWidget

Table widget that displays the documents contained in the database and their associated tags.

__init__(project, data_browser, tags_to_display, update_values, activate_selection, link_viewer=True)[source]

Initialize the data table widget with project data and browser context.

Parameters:
  • (Project) (project) – The current project instance containing data and configuration.

  • (DataBrowser) (data_browser) – Parent DataBrowser widget that contains this table.

  • (list[str]) (tags_to_display) – List of metadata tags to show as table columns.

  • (bool) (activate_selection) – If True, enables cell editing; if False, table is read-only.

  • (bool) – True to enable the selection feature, False otherwise.

  • link_viewer(bool) – If True, links table selection to external viewer widget. Defaults to True.

Notes

  • Column sorting and reordering are enabled by default (except first column).

  • Extended selection mode is used unless activate_selection is falsy.

  • A custom context menu is available only when both activate_selection and link_viewer are True.

add_column(column, tag)[source]

Add a new column to the table with the specified tag.

Inserts a column at the given index, configures its header with metadata from the database, sets the appropriate delegate based on field type, and populates cells with current values from the database.

Parameters:
  • (int) (column) – Zero-based index where the column should be inserted.

  • (str) (tag) – Tag name identifying the field to add from the database.

Note

Temporarily disconnects item change signals during insertion to prevent unwanted event triggers, then reconnects them after completion.

add_columns()[source]

Add and update table columns based on database fields.

This method synchronizes the table’s columns with the current database schema by:

  • Adding columns for new database fields that don’t exist in the table

  • Populating new columns with values from the database

  • Removing columns that no longer exist in the database

  • Applying appropriate formatting delegates based on field types

  • Maintaining column visibility settings

The method temporarily disconnects item change signals during operation to prevent unwanted events, then reconnects them after completion.

Note:
  • The TAG_FILENAME column is always placed first

  • Columns are sorted alphabetically (except TAG_FILENAME)

  • System tags (TAG_CHECKSUM, TAG_HISTORY) are excluded

  • Undefined values are displayed in italic bold text

add_path()[source]

Open a dialog to add documents to the current project.

Creates and displays a PopUpAddPath dialog that allows users to select and add document paths to the project’s data browser.

add_rows(rows)[source]

Insert rows into the table if they don’t already exist.

This method adds new scans to the table, populating each column with data from the database. It displays a progress dialog during the operation and handles special cases like the TAG_BRICKS column with custom widgets.

Parameters:

rows – An iterable of scan identifiers to be added to the table.

Note

  • Duplicate scans (already present in the table) are automatically skipped

  • Sorting is temporarily disabled during the insertion process

  • The first column (name) is set as non-editable

  • TAG_BRICKS columns receive custom button widgets for interaction

batch_update(*, disable_sorting=True)[source]

Context manager for efficient batch updates.

This manager temporarily disables repainting, signal emission, and optionally sorting, allowing multiple modifications to the table without triggering unnecessary redraws or signal handling. All previous widget states are restored upon exit, even if an exception occurs.

Parameters:

(bool) (disable_sorting) – If True (default), temporarily disables sorting during the batch update to prevent rearrangements.

clear_cell()[source]

Clear values from selected cells in the table.

This method removes data from the currently selected cells in the database and updates the UI to reflect the cleared state. The operation is recorded in the project’s undo history for potential reversal.

The method performs the following actions for each selected cell:
  • Retrieves the current value from the database

  • Removes the value from the database

  • Updates the cell’s visual appearance (italic + bold)

  • Records the change for undo/redo functionality

Side Effects:
  • Modifies database values in COLLECTION_CURRENT

  • Updates table cell formatting

  • Appends operation to project.undos

  • Clears project.redos

context_menu_table(position)[source]

Create and display the context menu for the table, and perform the corresponding action based on the user’s selection.

Parameters:

(QPoint) (position) – The mouse cursor position relative to the widget.

delete_from_brick(brick_id)[source]

Delete a brick and its associated documents from the database.

This method cleans up the database when a pipeline (composed of multiple bricks) is initialized but not executed before another pipeline is started or the software is closed. It removes the brick and any orphaned output documents that are not used as inputs elsewhere.

Parameters:

(str) (brick_id) – The unique identifier of the brick to be deleted.

display_file()[source]

Open the selected file(s) in the user’s default application.

Iterates over all selected items in the view, resolves their absolute paths, and opens each file using the platform’s default application.

Supported platforms: Linux, macOS, and Windows.

display_unreset_values()[source]

Displays a warning dialog listing values that cannot be reset.

This method shows a QMessageBox warning when certain values (such as user tags, FileName, or undefined cells) cannot be reset because they lack a raw value. The dialog includes a descriptive message and an OK button for dismissal.

edit_table_data_values()[source]

Edit and update selected cell values in the DataBrowser table.

This method handles the selection of cells, validation of list lengths, and updating of values in both the table and the database. It supports list-type fields and ensures data consistency across selections.

Steps:
  1. Collects selected cells and their metadata (coordinates, types, lengths, etc.).

  2. Validates list lengths for compatibility.

  3. Opens a dialog for value modification if valid.

  4. Updates the table and database, and records changes for undo/redo history.

Note

  • Exits early if the selected tag is ‘TAG_BRICKS’ or if the field type is not a list.

  • Disconnects and reconnects the itemChanged signal to prevent recursive updates.

fill_cells_update_table()[source]

Initialize and populate table cells with scan data from the database.

This method performs the following operations:
  1. Creates a progress dialog to track cell population

  2. Retrieves scan documents matching scans_to_visualize from the database

  3. Populates each cell with appropriate data based on column type

  4. Handles special cases (name column, bricks column)

  5. Applies saved sorting preferences

  6. Resizes rows and columns to fit content

Special column handling:
  • Column 0 (name): Read-only, always displays as string

  • Bricks column: Displays clickable buttons for brick history

  • Other columns: Editable, type-specific formatting

Notes

  • Displays a modal progress dialog during population

  • Temporarily hides the table during updates for performance

  • Connects cell change signals after population completes

fill_headers(take_tags_to_update=False)[source]

Initialize and populate table headers with field metadata.

Sets up table columns based on database fields, configuring each with:
  • Appropriate tooltips showing description, unit, and type

  • Specialized delegates for numeric and temporal data types

  • Visibility based on display settings or field attributes

Parameters:

take_tags_to_update – If True, use tags_to_display for visibility. If False, use field visibility attributes. Defaults to False.

get_current_filter()[source]

Get the current data browser selection.

Returns the list of selected scan paths if a selection is active, otherwise returns all visible scan paths in the data browser.

Return (list):

List of scan paths from either the current selection or all visible scans in the data browser.

get_index_insertion(to_insert)[source]

Find the insertion index for a new column to maintain alphabetical order.

Uses binary search to efficiently locate the correct position for inserting a column header while preserving the existing alphabetical sort order.

Parameters:

(str) (to_insert) – The column header text to insert.

Return (int):

The column index where the new column should be inserted. Returns columnCount() if it should be appended at the end.

Note: Assumes that column 0 is reserved (TAG_FILENAME must always be

the first tag on the left) and start the search from column 1.

get_scan_row(scan)[source]

Find the row index for a given scan filename.

Parameters:

scan – The scan filename to search for.

Return(int):

The zero-based row index if the scan is found, None otherwise.

get_tag_column(tag)[source]

Find the column index for a given tag name.

Searches through the table’s horizontal headers to locate the column corresponding to the specified tag.

Parameters:

(str) (tag) – The name of the tag to search for.

Return (int):

The zero-based column index if the tag is found, None otherwise.

mouseReleaseEvent(event)[source]

Handle mouse release event and update table data.

This method is called when a mouse button is released over the widget. It delegates to the parent class handler and then updates the table data values.

Parameters:

(QMouseEvent) (event) – The mouse event containing information about the button released, position, and modifiers.

multiple_sort_infos(list_tags, order)[source]

Sort table rows by multiple tag values.

Sorts the visualized scans based on the values of specified tags, then reorganizes the table rows to reflect the new order. Handles both regular items and special brick widgets during the reordering.

Parameters:
  • list_tags(list) – List of tag names to sort by (primary to secondary).

  • (str) (order) – Sort direction, either “Ascending” or “Descending”.

Note

Temporarily disables item change signals during sorting to prevent triggering update handlers. The sort is stable and preserves the relative order of items with equal sort keys.

multiple_sort_pop_up()[source]

Display the multiple sort configuration dialog.

Creates and shows a modal dialog that allows users to configure multiple sorting criteria for the current project data.

Note

The dialog instance is stored in self.pop_up.

on_cell_changed(item_origin)[source]

Update cell values and appearance when edited by the user.

This method handles both single and multi-cell selection, validating type compatibility across all selected cells before applying changes. It performs the following operations:

  1. Validates that all selected cells have compatible types

  2. Verifies the new value matches the expected type(s)

  3. Updates the database with validated values

  4. Maintains undo/redo history for all modifications

  5. Refreshes cell colors and formatting

Special handling: - PatientName: Removes spaces (used for subfolder naming in

calculations)

  • TAG_BRICKS/TAG_FILENAME: Read-only fields, changes are rejected

  • List types: Prevents mixed type selections but allows homogeneous

    lists

Parameters:

item_origin – QTableWidgetItem from which the edit originated

Side effects:
  • Modifies database values for selected cells

  • Updates cell appearance (colors, fonts)

  • Adds entry to project undo history

  • Clears redo history

  • Resizes columns to fit content

remove_scan()[source]

Remove selected scans from the database and file system.

This method handles the removal of scan documents from both the current and initial collections in the project database. It performs the following:

  • Prompts user for confirmation if scans are in the active scan list

  • Preserves modification history for removed scan values

  • Deletes associated files (.nii and .json) from the file system

  • Updates the UI table to reflect removals

The removal process can be cancelled by the user when prompted. If multiple scans are selected, the user can choose to apply their decision to all remaining scans.

Side effects:
  • Modifies database by removing documents from COLLECTION_CURRENT and COLLECTION_INITIAL

  • Deletes scan files from the project folder

  • Updates UI table rows and marks project as having unsaved modifications

reset_cell()[source]

Reset selected cells to their original values from the initial collection.

This method restores the values of all selected cells to their original state by retrieving values from COLLECTION_INITIAL and updating COLLECTION_CURRENT. If any cells lack initial values (e.g., user-created tags), a warning is displayed. The operation is recorded in the project history for undo/redo functionality.

Side effects:
  • Updates database values in COLLECTION_CURRENT

  • Updates table cell display values

  • Appends operation to project.undos

  • Clears project.redos

  • May display a warning dialog for unreset values

  • Resizes table columns to fit content

reset_column()[source]

Reset selected columns to their original values.

Restores values in selected cells to their initial state from the database. If a cell’s initial value doesn’t exist (e.g., user-added tags), it cannot be reset and a warning will be displayed.

The operation is recorded in the project’s undo history. Any existing redo history is cleared after this operation.

Side effects:
  • Updates database values in COLLECTION_CURRENT

  • Updates table cell displays

  • Appends to project.undos

  • Clears project.redos

  • Resizes columns to fit content

  • May display warning dialog for unreset values

reset_row()[source]

Reset selected cells to their original values from the initial collection.

Restores the values of all cells in selected rows to their initial state by copying values from COLLECTION_INITIAL to COLLECTION_CURRENT. Only cells with available initial values are reset. User-defined tags without initial values are skipped and trigger a warning dialog.

The operation is recorded in the project’s undo/redo history, allowing users to revert the reset if needed. After resetting, columns are automatically resized to fit their contents.

Side Effects:
  • Updates database values in COLLECTION_CURRENT

  • Updates table cell display values

  • Appends operation to project.undos

  • Clears project.redos

  • Shows warning dialog if any values couldn’t be reset

  • Resizes table columns

section_moved(logical_index, old_index, new_index)[source]

Handle section movement to keep the FileName column fixed at position 0.

This slot is triggered when a user attempts to reorder table columns. It ensures the FileName column (logical index 0) always remains at the leftmost visual position, regardless of user drag-and-drop actions.

Parameters:
  • logical_index – The logical index of the moved column (unused).

  • old_index – The previous visual position of the column (unused).

  • new_index – The new visual position of the column (unused).

Note

Parameters are required by the Qt signal signature but not used in the implementation. Uses a guard flag to prevent recursive calls when programmatically repositioning the FileName column.

select_all_column(col)[source]

Select all cells in a column when its header is double-clicked.

This method clears any existing selection before selecting the entire column, ensuring only the specified column is highlighted.

Parameters:

(int) (col) – The zero-based index of the column to select.

select_all_columns()[source]

Select all columns containing currently selected cells.

Expands the current cell selection to include entire columns. If cells from multiple columns are selected, all corresponding columns will be selected. This method is typically invoked from the context menu.

Note

Temporarily switches selection mode to MultiSelection during operation, then restores ExtendedSelection mode.

selection_changed()[source]

Update the tab view when the table selection changes.

Rebuilds the internal scans list based on currently selected items, grouping tag names by scan name. If link_viewer is enabled, updates the connected mini viewer display.

Side effects:
  • Clears and repopulates self.scans with [scan_name, [tag_names]] pairs

  • Calls data_browser.connect_mini_viewer() if self.link_viewer is True

show_brick_history(scan)[source]

Display a popup window showing the history of a brick.

This method retrieves the brick UUID associated with the triggering sender, creates a history popup dialog, and displays it to the user.

Parameters:

scan – The scan data to display in the history popup.

Note

The sender (typically a UI widget) must be registered in self.bricks to retrieve the corresponding brick UUID.

sort_column(order)[source]

Sort the currently selected column.

Parameters:

int) (order (Qt.SortOrder or) – Sort order to apply. - Qt.AscendingOrder (0): Sort from lowest to highest - Qt.DescendingOrder (1): Sort from highest to lowest

Note

Temporarily disconnects signals during sorting to prevent unwanted side effects, then reconnects them afterward.

sort_updated(column, order)[source]

Update project state and apply sorting to the table.

Temporarily disconnects signals, updates the project’s sort configuration, applies the sort to table items, refreshes visual elements, and reconnects signals.

Parameters:
  • column – The column index to sort by. Use -1 to indicate no sorting.

  • order – The sort order (Qt.AscendingOrder or Qt.DescendingOrder).

Note

This method is a no-op when column is -1, allowing safe calls with invalid column indices.

update_colors()[source]

Update cell background colors based on data state and visibility.

Colors indicate:
  • White/Grey: Unmodified builtin tags (alternating for visible

    rows)

  • Cyan/Blue: Modified builtin tags (alternating for visible rows)

  • Pink/Red: User-defined tags or null values (alternating for

    visible rows)

Note: This method assumes the itemChanged signal is disconnected. Automatically saves modifications if auto-save is enabled.

update_selection()[source]

Update table selection based on current scan results.

Clears existing selection and selects cells corresponding to tags found in the current scan results. For each scan, selects the cells at the intersection of the scan’s row and its associated tag columns.

update_table(take_tags_to_update=False)[source]

Refresh the table with current project data.

Completely resets and repopulates the table when switching projects. This involves clearing selections, fetching current scan documents, refilling headers and cells, resizing columns/rows, and updating the visual appearance.

Parameters:

take_tags_to_update – If True, updates tags during the header fill operation. Defaults to False.

Side Effects:
  • Clears current table selection

  • Resets scans_to_visualize and scans_to_search attributes

  • Clears selected scans list if selection is active

  • Disconnects and reconnects table signals

  • Modifies table dimensions and visual styling

update_visualized_columns(old_tags, showed)[source]

Update column visibility based on tag selection changes.

Synchronizes the table’s visible columns with the provided tag list by:

  • Hiding columns for tags that are no longer displayed

  • Showing columns for newly displayed tags

  • Updating advanced search dropdowns if the search panel is open

  • Refreshing column sizing and colors

Parameters:
  • (list) (showed) – Previously visualized tags.

  • (list) – Tags to currently display in the table.

update_visualized_rows(old_scans)[source]

Update table row visibility based on current scan visualization state.

Temporarily disconnects selection signals, hides rows for scans no longer in the visualization list, shows rows for newly visualized scans, and updates the table appearance.

Parameters:

old_scans – Collection of scans from the previous state, used to determine which rows need to be hidden.

visualized_tags_pop_up()[source]

Display a modal dialog for configuring visualized tag columns.

Opens a properties popup showing currently visible tags and allowing the user to modify which tags are displayed in the data browser. The popup is sized to 50% of screen width and 80% of screen height.

class populse_mia.user_interface.data_browser.data_browser.TimeFormatDelegate(parent=None)[source]

Bases: QItemDelegate

Delegate for handling time data display and editing in table views.

This delegate creates a QTimeEdit widget with millisecond precision (hh:mm:ss.zzz format) for editing time values in a TableDataBrowser.

__init__(parent=None)[source]

Initialize the time format delegate.

Parameters:

parent – Parent QWidget, if any. Defaults to None.

createEditor(parent, option, index)[source]

Create and configure the editor widget for time values.

Parameters:
  • parent – Parent widget for the editor.

  • option – Style options for the item (unused, required by Qt API).

  • index – Model index of the item being edited (unused, required by Qt API).

Return (QTimeEdit):

Configured time editor widget with hh:mm:ss.zzz format.