populse_mia.user_interface.main_window

Module to define main window appearance, functions and settings.

Initialize the software appearance and defines interactions with the user.

Contains:
Class:
  • MainWindow

Classes

MainWindow(project[, test, deleted_projects])

Initialize software appearance and define interactions with the user.

class populse_mia.user_interface.main_window.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])

Bases: date

The year, month and day arguments are required. tzinfo may be None, or an instance of a tzinfo subclass. The remaining arguments may be ints.

astimezone()

tz -> convert to local time in new timezone tz

combine()

date, time -> datetime with same date and time fields

ctime()

Return ctime() style string.

date()

Return date object with same year, month and day.

dst()

Return self.tzinfo.dst(self).

fold
fromisoformat()

string -> datetime from a string in most ISO 8601 formats

fromtimestamp()

timestamp[, tz] -> tz’s local time from POSIX timestamp.

hour
isoformat()

[sep] -> string in ISO 8601 format, YYYY-MM-DDT[HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM]. sep is used to separate the year from the time, and defaults to ‘T’. The optional argument timespec specifies the number of additional terms of the time to include. Valid options are ‘auto’, ‘hours’, ‘minutes’, ‘seconds’, ‘milliseconds’ and ‘microseconds’.

max = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
microsecond
min = datetime.datetime(1, 1, 1, 0, 0)
minute
now()

Returns new datetime object representing current time local to tz.

tz

Timezone object.

If no tz is specified, uses local timezone.

replace()

Return datetime with new specified fields.

resolution = datetime.timedelta(microseconds=1)
second
strptime()

string, format -> new datetime parsed from a string (like time.strptime()).

time()

Return time object with same time but with tzinfo=None.

timestamp()

Return POSIX timestamp as float.

timetuple()

Return time tuple, compatible with time.localtime().

timetz()

Return time object with same time and tzinfo.

tzinfo
tzname()

Return self.tzinfo.tzname(self).

utcfromtimestamp()

Construct a naive UTC datetime from a POSIX timestamp.

utcnow()

Return a new datetime representing UTC day and time.

utcoffset()

Return self.tzinfo.utcoffset(self).

utctimetuple()

Return UTC time tuple, compatible with time.localtime().

populse_mia.user_interface.main_window.expanduser(path)[source]

Expand ~ and ~user constructions. If user or $HOME is unknown, do nothing.

class populse_mia.user_interface.main_window.QCoreApplication(argv: List[str])

Bases: QObject

aboutToQuit

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

addLibraryPath(a0: str | None)
applicationDirPath() str
applicationFilePath() str
applicationName() str
applicationPid() int
applicationVersion() str
arguments() List[str]
closingDown() bool
event(self, a0: QEvent | None) bool
eventDispatcher() QAbstractEventDispatcher | None
exec() int
exec_() int
exit(returnCode: int = 0)
flush()
hasPendingEvents() bool
installNativeEventFilter(self, filterObj: QAbstractNativeEventFilter | None)
installTranslator(messageFile: QTranslator | None) bool
instance() QCoreApplication | None
isQuitLockEnabled() bool
isSetuidAllowed() bool
libraryPaths() List[str]
notify(self, a0: QObject | None, a1: QEvent | None) bool
organizationDomain() str
organizationName() str
postEvent(receiver: QObject | None, event: QEvent | None, priority: int = Qt.EventPriority.NormalEventPriority)
processEvents(flags: QEventLoop.ProcessEventsFlags | QEventLoop.ProcessEventsFlag = QEventLoop.ProcessEventsFlag.AllEvents)
processEvents(flags: QEventLoop.ProcessEventsFlags | QEventLoop.ProcessEventsFlag, maxtime: int) None
quit()
removeLibraryPath(a0: str | None)
removeNativeEventFilter(self, filterObj: QAbstractNativeEventFilter | None)
removePostedEvents(receiver: QObject | None, eventType: int = 0)
removeTranslator(messageFile: QTranslator | None) bool
sendEvent(receiver: QObject | None, event: QEvent | None) bool
sendPostedEvents(receiver: QObject | None = None, eventType: int = 0)
setApplicationName(application: str | None)
setApplicationVersion(version: str | None)
setAttribute(attribute: Qt.ApplicationAttribute, on: bool = True)
setEventDispatcher(eventDispatcher: QAbstractEventDispatcher | None)
setLibraryPaths(a0: Iterable[str | None])
setOrganizationDomain(orgDomain: str | None)
setOrganizationName(orgName: str | None)
setQuitLockEnabled(enabled: bool)
setSetuidAllowed(allow: bool)
startingUp() bool
testAttribute(attribute: Qt.ApplicationAttribute) bool
translate(context: str | None, sourceText: str | None, disambiguation: str | None = None, n: int = -1) str
class populse_mia.user_interface.main_window.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.main_window.QTimer(parent: QObject | None = None)

Bases: QObject

interval(self) int
isActive(self) bool
isSingleShot(self) bool
remainingTime(self) int
setInterval(self, msec: int)
setSingleShot(self, asingleShot: bool)
setTimerType(self, atype: Qt.TimerType)
singleShot(msec: int, slot: PYQT_SLOT)
singleShot(msec: int, timerType: Qt.TimerType, slot: PYQT_SLOT) None
start(self, msec: int)
start(self) None
stop(self)
timeout

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

timerEvent(self, a0: QTimerEvent | None)
timerId(self) int
timerType(self) Qt.TimerType
class populse_mia.user_interface.main_window.QCursor
class populse_mia.user_interface.main_window.QCursor(bitmap: QBitmap, mask: QBitmap, hotX: int = -1, hotY: int = -1)
class populse_mia.user_interface.main_window.QCursor(pixmap: QPixmap, hotX: int = -1, hotY: int = -1)
class populse_mia.user_interface.main_window.QCursor(cursor: QCursor | Qt.CursorShape)
class populse_mia.user_interface.main_window.QCursor(variant: Any)

Bases: simplewrapper

bitmap(self) QBitmap | None
hotSpot(self) QPoint
mask(self) QBitmap | None
pixmap(self) QPixmap
pos() QPoint
pos(screen: QScreen | None) QPoint
setPos(x: int, y: int)
setPos(p: QPoint) None
setPos(screen: QScreen | None, x: int, y: int) None
setPos(screen: QScreen | None, p: QPoint) None
setShape(self, newShape: Qt.CursorShape)
shape(self) Qt.CursorShape
swap(self, other: QCursor | Qt.CursorShape)
class populse_mia.user_interface.main_window.QIcon
class populse_mia.user_interface.main_window.QIcon(pixmap: QPixmap)
class populse_mia.user_interface.main_window.QIcon(other: QIcon)
class populse_mia.user_interface.main_window.QIcon(fileName: str | None)
class populse_mia.user_interface.main_window.QIcon(engine: QIconEngine | None)
class populse_mia.user_interface.main_window.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.main_window.QAction(parent: QObject | None = None)
class populse_mia.user_interface.main_window.QAction(text: str | None, parent: QObject | None = None)
class populse_mia.user_interface.main_window.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.main_window.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.main_window.QMainWindow(parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.WindowFlags())

Bases: QWidget

AllowNestedDocks = 2
AllowTabbedDocks = 4
AnimatedDocks = 1
class DockOption

Bases: int

class DockOptions
class DockOptions(f: QMainWindow.DockOptions | QMainWindow.DockOption)
class DockOptions(a0: QMainWindow.DockOptions)

Bases: simplewrapper

ForceTabbedDocks = 8
GroupedDragging = 32
VerticalTabs = 16
addDockWidget(self, area: Qt.DockWidgetArea, dockwidget: QDockWidget | None)
addDockWidget(self, area: Qt.DockWidgetArea, dockwidget: QDockWidget | None, orientation: Qt.Orientation) None
addToolBar(self, area: Qt.ToolBarArea, toolbar: QToolBar | None)
addToolBar(self, toolbar: QToolBar | None) None
addToolBar(self, title: str | None) QToolBar | None
addToolBarBreak(self, area: Qt.ToolBarArea = Qt.TopToolBarArea)
centralWidget(self) QWidget | None
contextMenuEvent(self, event: QContextMenuEvent | None)
corner(self, corner: Qt.Corner) Qt.DockWidgetArea
createPopupMenu(self) QMenu | None
dockOptions(self) QMainWindow.DockOptions
dockWidgetArea(self, dockwidget: QDockWidget | None) Qt.DockWidgetArea
documentMode(self) bool
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

insertToolBar(self, before: QToolBar | None, toolbar: QToolBar | None)
insertToolBarBreak(self, before: QToolBar | None)
isAnimated(self) bool
isDockNestingEnabled(self) bool
isSeparator(self, pos: QPoint) bool
menuBar(self) QMenuBar | None
menuWidget(self) QWidget | None
removeDockWidget(self, dockwidget: QDockWidget | None)
removeToolBar(self, toolbar: QToolBar | None)
removeToolBarBreak(self, before: QToolBar | None)
resizeDocks(self, docks: Iterable[QDockWidget], sizes: Iterable[int], orientation: Qt.Orientation)
restoreDockWidget(self, dockwidget: QDockWidget | None) bool
restoreState(self, state: QByteArray | bytes | bytearray, version: int = 0) bool
saveState(self, version: int = 0) QByteArray
setAnimated(self, enabled: bool)
setCentralWidget(self, widget: QWidget | None)
setCorner(self, corner: Qt.Corner, area: Qt.DockWidgetArea)
setDockNestingEnabled(self, enabled: bool)
setDockOptions(self, options: QMainWindow.DockOptions | QMainWindow.DockOption)
setDocumentMode(self, enabled: bool)
setIconSize(self, iconSize: QSize)
setMenuBar(self, menubar: QMenuBar | None)
setMenuWidget(self, menubar: QWidget | None)
setStatusBar(self, statusbar: QStatusBar | None)
setTabPosition(self, areas: Qt.DockWidgetAreas | Qt.DockWidgetArea, tabPosition: QTabWidget.TabPosition)
setTabShape(self, tabShape: QTabWidget.TabShape)
setToolButtonStyle(self, toolButtonStyle: Qt.ToolButtonStyle)
setUnifiedTitleAndToolBarOnMac(self, set: bool)
splitDockWidget(self, after: QDockWidget | None, dockwidget: QDockWidget | None, orientation: Qt.Orientation)
statusBar(self) QStatusBar | None
tabPosition(self, area: Qt.DockWidgetArea) QTabWidget.TabPosition
tabShape(self) QTabWidget.TabShape
tabifiedDockWidgetActivated

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

tabifiedDockWidgets(self, dockwidget: QDockWidget | None) List[QDockWidget]
tabifyDockWidget(self, first: QDockWidget | None, second: QDockWidget | None)
takeCentralWidget(self) QWidget | None
toolBarArea(self, toolbar: QToolBar | None) Qt.ToolBarArea
toolBarBreak(self, toolbar: QToolBar | None) bool
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

unifiedTitleAndToolBarOnMac(self) bool
class populse_mia.user_interface.main_window.QMenu(parent: QWidget | None = None)
class populse_mia.user_interface.main_window.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.main_window.QMessageBox(parent: QWidget | None = None)
class populse_mia.user_interface.main_window.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.main_window.QPushButton(parent: QWidget | None = None)
class populse_mia.user_interface.main_window.QPushButton(text: str | None, parent: QWidget | None = None)
class populse_mia.user_interface.main_window.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.main_window.QTabWidget(parent: QWidget | None = None)

Bases: QWidget

East = 3
North = 0
Rounded = 0
South = 1
class TabPosition

Bases: int

class TabShape

Bases: int

Triangular = 1
West = 2
addTab(self, widget: QWidget | None, a1: str | None) int
addTab(self, widget: QWidget | None, icon: QIcon, label: str | None) int
changeEvent(self, a0: QEvent | None)
clear(self)
cornerWidget(self, corner: Qt.Corner = Qt.TopRightCorner) QWidget | None
count(self) int
currentChanged

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

currentIndex(self) int
currentWidget(self) QWidget | None
documentMode(self) bool
elideMode(self) Qt.TextElideMode
event(self, a0: QEvent | None) bool
hasHeightForWidth(self) bool
heightForWidth(self, width: int) int
iconSize(self) QSize
indexOf(self, widget: QWidget | None) int
initStyleOption(self, option: QStyleOptionTabWidgetFrame | None)
insertTab(self, index: int, widget: QWidget | None, a2: str | None) int
insertTab(self, index: int, widget: QWidget | None, icon: QIcon, label: str | None) int
isMovable(self) bool
isTabEnabled(self, index: int) bool
isTabVisible(self, index: int) bool
keyPressEvent(self, a0: QKeyEvent | None)
minimumSizeHint(self) QSize
paintEvent(self, a0: QPaintEvent | None)
removeTab(self, index: int)
resizeEvent(self, a0: QResizeEvent | None)
setCornerWidget(self, widget: QWidget | None, corner: Qt.Corner = Qt.TopRightCorner)
setCurrentIndex(self, index: int)
setCurrentWidget(self, widget: QWidget | None)
setDocumentMode(self, set: bool)
setElideMode(self, a0: Qt.TextElideMode)
setIconSize(self, size: QSize)
setMovable(self, movable: bool)
setTabBar(self, a0: QTabBar | None)
setTabBarAutoHide(self, enabled: bool)
setTabEnabled(self, index: int, a1: bool)
setTabIcon(self, index: int, icon: QIcon)
setTabPosition(self, a0: QTabWidget.TabPosition)
setTabShape(self, s: QTabWidget.TabShape)
setTabText(self, index: int, a1: str | None)
setTabToolTip(self, index: int, tip: str | None)
setTabVisible(self, index: int, visible: bool)
setTabWhatsThis(self, index: int, text: str | None)
setTabsClosable(self, closeable: bool)
setUsesScrollButtons(self, useButtons: bool)
showEvent(self, a0: QShowEvent | None)
sizeHint(self) QSize
tabBar(self) QTabBar | None
tabBarAutoHide(self) bool
tabBarClicked

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

tabBarDoubleClicked

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

tabCloseRequested

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

tabIcon(self, index: int) QIcon
tabInserted(self, index: int)
tabPosition(self) QTabWidget.TabPosition
tabRemoved(self, index: int)
tabShape(self) QTabWidget.TabShape
tabText(self, index: int) str
tabToolTip(self, index: int) str
tabWhatsThis(self, index: int) str
tabsClosable(self) bool
usesScrollButtons(self) bool
widget(self, index: int) QWidget | None
class populse_mia.user_interface.main_window.QVBoxLayout
class populse_mia.user_interface.main_window.QVBoxLayout(parent: QWidget | None)

Bases: QBoxLayout

class populse_mia.user_interface.main_window.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
class populse_mia.user_interface.main_window.Project(project_root_folder, new_project)[source]

Bases: object

Class that handles projects and their associated database.

Parameters:
  • project_root_folder – project’s path

  • new_project – project’s object

__init__(project_root_folder, new_project)[source]

Initialization of the project class.

Parameters:
  • project_root_folder – project’s path

  • new_project – project’s object

add_clinical_tags()[source]

Add new clinical tags to the project.

Returns:

list of clinical tags that were added.

cleanup_orphan_bricks(bricks=None)[source]

Remove orphan bricks and their associated files from the database.

This method performs the following cleanup operations: 1. Removes obsolete brick documents from the brick collection 2. Removes orphaned file documents from both current and initial

collections

  1. Deletes the corresponding physical files from the filesystem

Parameters:

(str) (bricks) – list of brick IDs to check for orphans. If None, checks all bricks in the database.

cleanup_orphan_history()[source]

Remove orphan histories, their associated bricks, and files from the database.

This method performs three cleanup operations: 1. Removes obsolete history documents from the history collection 2. Removes orphaned brick documents from the brick collection 3. Removes orphaned file documents from both current and initial

collections, along with their corresponding physical files

cleanup_orphan_nonexisting_files(failed=False)[source]

Remove database entries for files that are missing on disk.

This method:
  • Retrieves filenames considered orphaned (see get_orphan_nonexisting_files),

  • Deletes their entries from both current and initial collections,

  • Attempts a defensive filesystem cleanup if the file still exists.

Parameters:

(bool) (failed) – Passed through to get_orphan_nonexisting_files to control orphan selection.

del_clinical_tags()[source]

Remove clinical tags from the project’s current and initial collections.

Iterates through predefined clinical tags and removes them from both collections if they exist in the current collection’s field names.

Return (list):

Clinical tags that were successfully removed.

files_in_project(files)[source]

Extract file/directory names from input that are within the project folder.

Recursively processes the input to find all file paths, handling nested data structures. Only paths within the project directory are included.

Parameters:

files

Input that may contain file paths. Can be: - str: A single file path - list/tuple/set: Collection of file paths or

nested structures

  • dict: Only values are processed, keys are ignored

Return (set):

Relative file paths that exist within the project folder, with paths normalized and made relative to the project directory

finished_bricks(engine, pipeline=None, include_done=False)[source]

Retrieve and process finished bricks from workflows and pipelines.

This method: 1. Gets finished bricks from workflows and optionally a specific

pipeline

  1. Filters them based on their presence in the Mia database

  2. Updates brick metadata with execution status and outputs

  3. Collects all output files that are within the project directory

Parameters:
  • engine – Engine instance for retrieving finished bricks

  • pipeline – Optional pipeline object to filter specific bricks

  • include_done – If True, includes all bricks regardless of execution status. If False, only includes “Not Done” bricks.

Return (dict):

Dictionary containing: - ‘bricks’: Dict mapping brick IDs to their metadata - ‘outputs’: Set of output file paths relative to project

directory

Contains:
Private function:
  • _update_dict: Merge two dictionaries by updating the first

    with the second

  • _collect_outputs: Recursively collects file paths from

    output values that are within the project directory.

get_data_history(path)[source]

Get the processing history for the given data file.

The history dict contains several elements: - parent_files: set of other data used (directly or indirectly) to

produce the data.

  • processes: processing bricks set from each ancestor data which

    lead to the given one. Elements are process (brick) UUIDs.

Parameters:

path – Path to the data file

Returns:

history (dict)

getDate()[source]

Return the date of creation of the project.

Return (str):

The date of creation of the project if it’s not Unnamed project, otherwise empty string

get_finished_bricks_in_pipeline(pipeline)[source]

Retrieves a dictionary of finished processes (bricks) from a given pipeline, including nested pipelines, if any.

Parameters:

Process) (pipeline (Pipeline or) – The pipeline or single process to analyze. If a single process is provided, it will be treated as a minimal pipeline.

Return (dict):

A dictionary where keys are process UUIDs (brick IDs) and values are dictionaries containing the associated process instances.

get_finished_bricks_in_workflows(engine)[source]

Return finished Soma-Workflow jobs indexed by their brick UUID.

A job is considered successful if its termination status is "finished_regularly". Any other termination status is treated as a failure. A workflow is marked as failed if at least one of its jobs did not finish successfully.

Parameters:

engine – Engine providing access to the Soma-Workflow controller.

Return (dict):

Mapping brick_uuid -> job_info where job_info contains: - workflow (int): Workflow identifier. - job: Soma-Workflow job instance. - job_id (int): Job identifier. - swf_status (tuple): Raw Soma-Workflow status

tuple.

  • running (bool): True of any job in the workflow

    is running

  • failed (bool): True if any job in the workflow

    failed.

getFilter(target_filter)[source]

Return a Filter object from its name.

Parameters:

(str) (target_filter) – Filter name

Return (Filter):

Filter object corresponding to the given name or None if not found

getFilterName()[source]

Input box to type the name of the filter to save.

Return (str):

Return the name typed by the user or None if cancelled

getName()[source]

Return the name of the project.

Return (str):

The name of the project if it’s not Unnamed project, otherwise empty string

get_orphan_bricks(bricks=None)[source]

Identifies orphan bricks and their associated weak files.

Parameters:

set) (bricks (list or) – A list or set of brick IDs to filter the search. If None, all bricks in the database are considered. Defaults to None.

Return (tuple):

A tuple containing two sets: - orphan (set): Brick IDs considered orphaned, meaning

they have no valid or existing outputs linked to the current database.

  • orphan_weak_files (set): Paths to weak files associated

    with orphaned bricks, such as script files or files that no longer exist.

get_orphan_history()[source]

Identifies orphaned history entries, their associated orphan bricks, and weak files.

Return (tuple):

A tuple containing three sets: - orphan_hist (set): IDs of history entries that are no longer

linked to any current document in the database.

  • orphan_bricks (set): IDs of bricks associated with orphaned

    history entries.

  • orphan_weak_files (set): Paths to weak files (e.g., script

    files or non-existent files) linked to orphaned history entries.

get_orphan_nonexisting_files(failed)[source]

Return filenames that are recorded in the database but missing on disk.

A file is considered “orphaned” if: - It does not exist on the filesystem, and - It is not associated with any existing bricks, unless failed is True (in which case brick association is ignored).

Parameters:

(bool) (failed) – If True, include files even if they are linked to existing bricks. If False, exclude such files.

Return (set):

A set of filenames from the database that are not found on the filesystem and are not associated with existing bricks.

getSortedTag()[source]

Return the sorted tag of the project.

Return (str):

Sorted tag of the project if it’s not Unnamed project, otherwise empty string

getSortOrder()[source]

Return the sort order of the project.

Return (str):

Sort order of the project if it’s not Unnamed project, otherwise empty string

hasUnsavedModifications()[source]

Return if the project has unsaved modifications or not.

Return (bool):

True if the project has pending modifications, False otherwise

init_filters()[source]

Initializes project filters by loading them from stored JSON files.

This method sets the currentFilter to a default empty filter and populates the filters list with Filter objects created

loadProperties()[source]

Loads the project properties from the ‘properties.yml’ file.

This method reads the project’s YAML properties file and returns its contents as a Python dictionary.

Return (dict):

A dictionary containing the project properties if successfully loaded, or None if an error occurs.

redo(table)[source]

Redo the last action made by the user on the project.

Parameters:

(QTableWidget) (table) – The table on which to apply the modifications.

Actions that can be redone:
  • add_tag

  • remove_tags

  • add_scans

  • modified_values

  • modified_visibilities

Raises:

(ValueError) – If an unknown action type is encountered.

reput_values(values)[source]

Re-put the value objects in the database.

Parameters:

(list) (values) – List of Value objects

saveConfig()[source]

Save the changes in the properties file.

save_current_filter(custom_filters)[source]

Save the current filter.

Parameters:

custom_filters – The customized filter

saveModifications()[source]

Save the pending operations of the project (actions still not saved).

setCurrentFilter(new_filter)[source]

Set the current filter of the project.

Parameters:

new_filter – New Filter object

setDate(date)[source]

Set the date of the project.

Parameters:

date – New date of the project

setName(name)[source]

Set the name of the project if it’s not Unnamed project, otherwise does nothing.

Parameters:

(str) (name) – New name of the project

setSortedTag(tag)[source]

Set the sorted tag of the project.

Parameters:

tag – New sorted tag of the project

setSortOrder(order)[source]

Set the sort order of the project.

Parameters:

order – New sort order of the project (ascending or descending)

undo(table)[source]

Undo the last action made by the user on the project.

Parameters:

table – Table on which to apply the modifications

Actions that can be undone:
  • add_tag

  • remove_tags

  • add_scans

  • modified_values

  • modified_visibilities

property unsavedModifications

Getter for _unsavedModifications.

unsaveModifications()[source]

Unsave the pending operations of the project.

update_db_for_paths(new_path=None)[source]

Update database paths when renaming or loading a project.

This method updates path references in the database when a project is renamed or loaded from a different location. It scans the HISTORY and BRICK collections to identify the old project path, then systematically replaces it with the new path.

The method looks for the old path in brick input/output fields and history pipeline XML data. If the old path contains ‘data/derived_data’, the method uses the portion before this segment as the base path.

Parameters:

(str) (new_path) – The new project path. If not provided, the current project folder path is used.

Contains:
Private method:
  • _update_json_data: Helper method to update paths in JSON

    data structures

class populse_mia.user_interface.main_window.SavedProjects[source]

Bases: object

Handles all saved projects in the software.

- addSavedProject

Adds a new saved project.

- loadSavedProjects

Loads saved projects from ‘saved_projects.yml’.

- removeSavedProject

Removes a project from the config file.

- saveSavedProjects

Saves projects to ‘saved_projects.yml’.

__init__()[source]

Initializes the saved projects from ‘saved_projects.yml’.

savedProjects

Dictionary containing saved project paths.

Type:

dict

pathsList

List of saved project paths.

Type:

list

addSavedProject(newPath)[source]

Adds a project path or moves it to the front if it exists.

Parameters:

(str) (newPath) – Path of the new project.

Return (list):

Updated project paths list.

loadSavedProjects()[source]

Loads saved projects from ‘saved_projects.yml’, or creates a default file if missing.

Return (dict):

Loaded project paths.

removeSavedProject(path)[source]

Removes a project path from pathsList and updates the file.

Parameters:

(str) (path) – Path to remove.

saveSavedProjects()[source]

Writes savedProjects to ‘saved_projects.yml’.

class populse_mia.user_interface.main_window.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.main_window.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.main_window.DataViewerTab(main_window)[source]

Bases: QWidget

A flexible and extensible widget for managing data viewers in a GUI application.

This widget provides a dynamic interface for loading and switching between different data viewers. Key features include: - Automatic discovery of viewers in the data_viewer directory - Graceful handling of viewer import failures - Ability to dynamically add new viewers - Centralized document and project management across viewers

__init__(main_window)[source]

Initialize the DataViewerTab with a reference to the main window.

Parameters:

(Qt.QMainWindow) (main_window) – The main application window providing context and potential shared resources.

activate_viewer(viewer_name)[source]

Activate a specific viewer by name.

Parameters:

(str) (viewer_name) – Name of the viewer to activate.

change_viewer()[source]

Handle viewer change event triggered by the combobox.

Retrieves the selected viewer, activates it, and ensures that the current project and documents are set.

clear()[source]

Clean up and close all loaded viewers.

Called before closing the application to ensure proper resource management.

closeEvent(event)[source]

Override close event to ensure proper cleanup.

Parameters:

(QCloseEvent) (event) – Close event triggered by the window system.

current_viewer()[source]

Retrieve the name of the currently active viewer.

Return (str):

Name of the current viewer, either from the current viewer tracking or the combobox selection.

load_viewer(viewer_name=None)[source]

Dynamically load viewers from the data_viewer directory.

Attempts to import and initialize viewers, handling import failures gracefully.

Parameters:

(str) (viewer_name) – Specific viewer to load. If None, discovers all viewers.

set_documents(project, documents)[source]

Distribute project and document information to the current viewer.

Parameters:
  • project – The entire project context.

  • (list) (documents) – List of document/image objects in the project.

class populse_mia.user_interface.main_window.PipelineManagerTab(project, scan_list, main_window)[source]

Bases: QWidget

Widget that handles the Pipeline Manager tab.

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

Initialize the Pipeline Manager tab.

The Pipeline Manager provides a comprehensive interface for creating, editing, and executing data processing pipelines. It integrates process libraries, pipeline editors, node controllers, and iteration tables to manage complex data analysis workflows.

Parameters:
  • project – The current project instance containing database and configuration

  • scan_list – List of selected database files to process. If None or empty, defaults to all documents in the current collection

  • main_window – Main application window instance for UI integration

_register_node_io_in_database(job, node, pipeline_name='', history_id='')[source]

Register node input and output values in the database.

This method processes the inputs and outputs of a given node, associates them with a job, and updates the database with the appropriate values. It handles leaf processes, user-defined traits, and completion attributes, ensuring that initialization data is recorded correctly.

Parameters:
  • job – Job object containing parameter values and unique identifier (UUID).

  • node – Node instance (Process, Pipeline, or custom node) to register.

  • optional) (history_id (str,) – Name of the containing pipeline, if any.

  • optional) – Database history entry identifier. Defaults to an empty string.

Note

Pipeline and PipelineNode instances are skipped as only leaf processes produce meaningful output data.

_set_anim_frame()[source]

Update the pipeline status action icon with the current animation frame.

This method serves as a callback that synchronizes the animated movie’s current frame with the status action’s icon, creating a smooth animated icon effect in the UI.

Note: This method is typically connected to QMovie’s frameChanged signal to automatically update the icon as the animation progresses.

_should_register_plug(process, plug_name: str) bool[source]

Determine if a plug should be registered in the database.

Parameters:
  • process – Process instance

  • (str) (plug_name) – Name of the plug to check

Returns:

True if plug should be registered, False otherwise

add_plug_value_to_database(p_value, brick_id, history_id, node_name, plug_name, full_name, job, trait, inputs, attributes)[source]

Add plug value(s) to the database with proper metadata and inheritance.

This method handles adding file-based plug values to a project database, managing inheritance of metadata tags from input files, and resolving ambiguities when multiple parent files exist.

Parameters:
  • p_value – The plug value - either a single file path (str) or list of file paths. Can also be special values like “<undefined>” or Undefined.

  • (str) (full_name) – UUID of the brick in the database.

  • (str) – UUID of the processing history in the database.

  • (str) – Name of the processing node.

  • (str) – Name of the specific plug/parameter.

  • (str) – Full hierarchical name including parent bricks. Equals node_name if no parent exists.

  • (Job) (job) – Job object containing the plug, may have inheritance dictionaries.

  • (Trait) (trait) – Handler for the plug trait or sub-trait for list elements. Used to validate value types (file vs non-file).

  • (dict) (attributes) – Input parameter values for the process/node.

  • (dict) – Completion engine attributes to be applied to all outputs.

Notes

  • Recursively processes list values by calling itself on each element

  • Only processes file-type traits within the project folder

  • Handles tag inheritance from parent files using inheritance_dict and auto_inheritance_dict from the job

  • May prompt user to resolve ambiguous inheritance scenarios

  • Automatically determines file types based on extensions

  • Updates both CURRENT and INITIAL database collections

Raises:

May raise database-related exceptions during document operations.

ask_iterated_pipeline_plugs(pipeline)[source]

Display a configuration dialog for pipeline plug iteration and database connections.

This method opens an interactive dialog that allows users to configure how pipeline plugs (inputs and outputs) should be handled during execution. Users can specify:

  • Which plugs should be iterated over during pipeline execution

  • Which input plugs should be connected to database filters

  • Interactive dependency management (database connection requires iteration)

The dialog presents a grid layout with checkboxes for each available plug:

  • Iteration checkbox: Mark plug for iteration during execution

  • Database checkbox: Connect input plug to database filter (inputs only)

Behavioral constraints:
  • Database connection automatically enables iteration

  • Disabling iteration automatically disables database connection

  • Only file-compatible plugs can connect to database filters

  • Certain system plugs are excluded from configuration

Parameters:

pipeline – Pipeline object containing plugs to be configured

Returns:

Optional[Tuple[List[str], List[str]]]: A tuple containing:
  • iterated_plugs: List of plug names marked for iteration

  • database_plugs: List of plug names connected to database

None if the user cancels the dialog.

build_iterated_pipeline()[source]

Build an iteration pipeline wrapper around the current pipeline.

This method creates a new pipeline that iterates over the current pipeline, allowing batch processing of multiple datasets. The process involves:

  1. Interactive selection of plugs to iterate over and database connections

  2. Preprocessing of list-type plugs with ReduceNode to handle nested lists

  3. Creation of an iterative pipeline using the CAPSUL engine

  4. Addition of Input_Filter nodes for database-connected plugs

  5. Proper linking of database_scans parameter across all filters

The method handles both single processes and full pipelines, converting single processes into single-node pipelines when necessary.

Returns:

Pipeline or None: The new iteration pipeline if successful, None if aborted

Raises:

ValueError – If Input_Filter process cannot be found in the library.

Notes

  • Modifies pipeline completion settings for database plugs

  • Sets the editor’s iterated flag to True upon successful completion

  • Handles context name parsing for proper iteration naming

check_requirements(environment='global')[source]

Check and return the configuration of a pipeline based on its requirements.

This method iterates through the nodes in the pipeline, gathers their requirements, and determines the appropriate configuration for each node in the specified environment. It uses the settings from the study configuration engine to select configurations that match the requirements.

Parameters:

(str) (environment) – The target environment for checking configurations. Defaults to “global”.

Return (dict):

A dictionary mapping each pipeline node to its selected configuration.

cleanup_older_init()[source]

Clean up data browser state and remove orphaned files.

This method performs the following cleanup operations:
  1. Removes non-existent entries from the data browser for each brick

  2. Cleans up orphaned non-existing files from the project

  3. Clears the brick and node lists

  4. Updates the data browser table display

Note: The table update is performed asynchronously using QtThreadCall to ensure UI responsiveness.

complete_pipeline_parameters(pipeline=None)[source]

Complete pipeline parameters using Capsul’s completion engine.

This method utilizes Capsul’s completion engine to automatically populate the parameters of a pipeline based on a set of attributes. These attributes can be retrieved from an associated database. If no pipeline is specified, the current pipeline or process is used.

Parameters:

(Pipeline) (pipeline) – The pipeline object to be completed. If not provided, the method retrieves the current pipeline or process.

Notes: The completion process relies on Capsul’s ProcessCompletionEngine to automatically determine appropriate parameter values.

controller_value_changed(signal_list)[source]

Update history when a node or plug value changes.

This method processes change signals from the pipeline editor and maintains an undo history for user actions. It handles two types of changes:

  • Node name updates: Updates the node name and refreshes the

    pipeline view while preserving the current view state.

  • Plug value updates: Records parameter changes while filtering

    out protected parameters, empty values, and system-generated changes to avoid cluttering the undo history.

Parameters:

signal_list

A list containing change information with the

first element being the change type (“node_name” or “plug_value”), followed by context-specific data:

  • For “node_name”: [“node_name”, ProcessNode_object,

    new_node_name, old_node_name]

  • For “plug_value”: [“plug_value”, node_name, old_value,

    plug_name, plug_type, new_value]]

displayNodeParameters(node_name, process)[source]

Display the node controller interface for the specified node.

This method configures and shows the node parameter interface when a user clicks on a node in the pipeline editor. It updates the scroll area widget to display the node controller with the current pipeline context.

Parameters:
  • node_name – The name/identifier of the selected node.

  • process – The process instance associated with the selected node.

finish_execution()[source]

Handle pipeline execution completion and update UI state.

This callback is invoked after a pipeline execution completes, whether successfully or with errors. The method performs comprehensive cleanup and user feedback operations:

  • Disables pipeline control actions during cleanup

  • Disconnects progress worker signals to prevent memory leaks

  • Checks execution status and handles WorkflowExecutionError/RuntimeError

  • Updates status bar with clear success/failure messages

  • Sets appropriate visual status icon (green checkmark or red cross)

  • Cleans up progress indicators and re-enables pipeline actions

  • Updates node controller parameters for next execution

The method ensures proper cleanup regardless of execution outcome and provides comprehensive user feedback through status messages and visual indicators.

Raises:

WorkflowExecutionError: When pipeline execution fails RuntimeError: When execution is aborted before running

garbage_collect()[source]

Clean up obsolete data and maintain database consistency.

This method performs comprehensive cleanup operations including:
  • Processing finished pipeline executions with error protection

  • Removing orphaned files and historical data entries

  • Refreshing the data browser table display

  • Resetting pipeline editor initialization state if applicable

  • Updating UI button states to reflect current system status

The cleanup operations ensure the application remains performant and maintains data integrity across user sessions.

get_capsul_engine()[source]

Retrieve and configure a Capsul engine from the pipeline editor.

This method obtains a CapsulEngine object from the current pipeline editor tabs and configures it using the Mia configuration settings.

Return (CapsulEngine):

A configured Capsul engine instance ready for pipeline execution, with settings applied from the Mia config object.

get_pipeline_or_process(pipeline=None)[source]

Get the pipeline or its single unconnected process node.

When a pipeline contains only one process node with no connections, this method returns the process directly instead of the pipeline wrapper. This simplifies GUI workflows where single processes can act as pipelines.

Parameters:

(Pipeline) (pipeline) – Optional pipeline to evaluate. If None, uses the currently selected pipeline from the editor GUI.

Return (Pipeline | Process):

The process node if pipeline contains a single unconnected process, otherwise the pipeline itself.

get_missing_mandatory_parameters()[source]

Find missing mandatory parameters across all pipeline nodes.

Checks each node in the pipeline for missing mandatory parameters, accounting for workflow job parameter overrides and temporary values.

Return (list[str]):

Parameter names that are missing, formatted as either ‘parameter_name’ for pipeline root or ‘node.parameter_name’ for other nodes.

Note

Parameters with non-null values in the workflow job dictionary are not considered missing, even if undefined at the node level.

initialize()[source]

Initialize the pipeline after cleaning up any previous initialization.

This method performs the following operations:
  1. Sets a wait cursor to indicate processing

  2. Cleans up any previous initialization if needed

  3. Resets internal state variables

  4. Attempts to initialize the pipeline

  5. Updates the UI with the results

  6. Restores the normal cursor

The method handles initialization errors gracefully by logging warnings and updating the status bar with error messages.

Side Effects:
  • Modifies cursor appearance during execution

  • Updates pipeline editor tabs and node parameters

  • May display error messages in the status bar

  • Sets self.init_clicked to True upon completion

init_pipeline(pipeline=None, pipeline_name='')[source]

Initialize the current pipeline in the pipeline editor.

This method:
  • Retrieves and configures the pipeline or sub-pipeline.

  • Generates and validates the workflow.

  • Checks requirements (FSL, AFNI, ANTS, Matlab, MRtrix, SPM).

  • Verifies that mandatory inputs/outputs are properly set.

  • Records initialization results in the project database.

  • Updates the status bar and displays warnings when needed.

Parameters:
  • Process) (pipeline (Pipeline,) – The pipeline or process instance to initialize. If None, the main pipeline is retrieved.

  • (str) (pipeline_name) – The name of the parent pipeline, if applicable.

Return (bool):

True if the pipeline was successfully initialized, False otherwise.

layout_view()[source]

Initialize the layout and toolbar for the pipeline manager tab.

This method sets up the main diagram editor window, configures the scroll area, builds the toolbar with pipeline actions, and arranges widgets in splitters and layouts for the pipeline editor interface.

loadParameters()[source]

Load pipeline parameters into the current pipeline of the editor.

This method refreshes the pipeline editor by loading the stored parameters and then updates the node controller accordingly.

loadPipeline()[source]

Load a pipeline into the pipeline editor.

This method initializes the pipeline editor with the selected pipeline.

postprocess_pipeline_execution(pipeline=None)[source]

Operations to be performed after a run has been completed.

It can be called either within the run procedure (the user clicks on the “run” button and waits for the results), or after a disconnetion / reconnection of the client app: the user clicks on “run” with distributed/remote execution activated, then closes the client Mia. Processing takes place (possibly remotely) within a soma-workflow server. Then the user runs Mia again, and we have to collect the outputs of runs which happened (finished) while we were disconnected.

Such post-processing includes database indexing of output data, and should take into account not only the current pipeline, but all past runs which have not been postprocessed yet.

When called with a pipeline argument, it only deals with this one.

The method can be called from within a worker run thread, thus has to be thread-safe.

Parameters:

(Pipeline) (pipeline) – The pipeline to postprocess. If not provided, the method will use self.last_run_pipeline or fetch the currently selected pipeline from the pipeline editor.

redo()[source]

Redo the last undone action on the current pipeline editor

Supported redoable actions:
  • add_process

  • delete_process

  • export_plug

  • export_plugs

  • remove_plug

  • update_node_name

  • update_plug_value

  • add_link

  • delete_link

register_completion_attributes(pipeline)[source]

Register completion attributes for a given pipeline in the project database.

This method retrieves attribute values from the pipeline’s completion engine and records them in the project database. Only attributes corresponding to existing fields (tags) in the database schema are stored. For each pipeline parameter that resolves to a file path within the project directory, the attributes are associated with both the current and initial collections.

Parameters:

(Pipeline) (pipeline) – The pipeline whose completion attributes should be registered. The pipeline must provide a completion engin capable of exporting its attributes

remove_progress()[source]

Remove and clean up the progress widget.

Safely removes the progress widget from the UI and frees associated resources. This method handles the complete lifecycle cleanup of the progress widget, nsuring proper Qt object disposal and memory management.

Note

This method is idempotent - it can be safely called multiple times without side effects if the progress widget has already been removed.

runPipeline()[source]

Execute the current pipeline in the pipeline editor.

This method initializes and runs the active pipeline with the following steps:

  1. Initializes the pipeline and validates prerequisites

  2. Sets up pipeline metadata and UI state

  3. Configures soma-workflow connection (if enabled)

  4. Starts pipeline execution with progress tracking

The method handles both local and remote execution via soma-workflow, displays progress animation, and manages UI state during execution.

saveParameters()[source]

Saves the parameters of the currently active pipeline in the pipeline editor.

savePipeline(skip_overwrite_warning: bool = False)[source]

Save the current pipeline in the pipeline editor.

This method handles three scenarios:
  1. Save to existing file with overwrite confirmation (unless skipped)

  2. Save to existing file without confirmation when warning is skipped

  3. Save as new file when no filename exists or file is in protected directory

Parameters:

(bool) (skip_overwrite_warning) – If True, skip the overwrite confirmation dialog when saving to an existing file. Defaults to False.

Side Effects:
  • Updates the main window status bar with save operation messages

  • May display a confirmation dialog for file overwriting

  • Saves the pipeline to disk via pipelineEditorTabs.save_pipeline()

Note

Files in “mia_processes/mia_processes” directory are treated as protected and will trigger a “save as” operation regardless of other conditions.

save_pipeline_as()[source]

Save the current pipeline under a new name via ‘Save As’ dialog.

This method displays a status message during the save operation and provides user feedback based on the save result. The pipeline name in the success message is capitalized and stripped of its file extension for display.

show_status()[source]

Display the execution status window with runtime information.

Opens a new status widget window that shows the last execution run details, including runtime statistics, error messages, and other diagnostic information. The widget is stored as an instance attribute for potential future reference.

stop_execution()[source]

Interrupt pipeline execution gracefully.

This method signals the pipeline to stop its current execution flow. The interruption is handled asynchronously through the progress tracker, allowing any in-flight operations to complete safely before termination.

undo()[source]

Undo the last action performed on the current pipeline editor.

This method reverts the most recent undoable action by popping it from the undo stack and performing the inverse operation. The method handles all reversible operations in the pipeline editor interface.

Supported undoable actions:
  • add_process: Remove the added process node

  • delete_process: Restore the deleted process node with its links

  • export_plug/export_plugs: Remove the exported pipeline plug(s)

  • remove_plug: Restore the removed plug(s) and reconnect links

  • update_node_name: Revert node name change

  • update_plug_value: Restore previous plug value

  • add_link: Remove the added connection

  • delete_link: Restore the deleted connection

The method automatically updates the pipeline state and node parameters after performing the undo operation.

Note

Does nothing if no undoable actions are available in the stack.

update_inheritance(job, node)[source]

Update the inheritance dictionary for a process node in a pipeline execution.

This method manages metadata inheritance by updating a job’s inheritance_dict based on the node’s execution context and the project’s inheritance history. The inheritance dictionary defines relationships between input and output parameters, enabling propagation of database tags and other metadata properties through the pipeline.

The method follows this precedence order:
  1. Project-specific inheritance history (if matching parameters are found)

  2. Process-level inheritance dictionary (fallback)

Parameters:
  • job – Job execution object containing param_dict (parameter name->value mapping) and inheritance_dict (will be updated by this method)

  • node – Process node being evaluated (ProcessNode or Process object). Used to determine inheritance rules via context_name or name attribute.

Note: For Pipeline nodes, the method strips the “Pipeline.” prefix

from the context_name to match against inheritance history keys.

update_node_list(brick=None)[source]

Update the node list with unique nodes from workflow jobs.

Iterates through all jobs in the current workflow and adds their associated process nodes to the node list, ensuring no duplicates. Only jobs with a ‘process’ attribute are considered.

Parameters:

brick – Reserved for future use. Currently unused parameter that could be used for filtering or extending functionality.

Note

This method modifies self.node_list in-place by extending it with new unique nodes. Jobs without a ‘process’ attribute are silently skipped.

updateProcessLibrary(filename)[source]

Update the library of processes when a pipeline is saved.

This method performs the following operations:
  1. Renames the Pipeline class in the saved file to match the filename

  2. Updates the __init__.py file to include the new import

  3. Refreshes the module in sys.modules if it already exists

  4. Adds the module to the process library

Parameters:

filename – Path to the pipeline file that has been saved

Note

Only processes saved in the User_processes directory are added to the library.

update_project(project)[source]

Update the project reference across all relevant components.

This method propagates the project instance to all components that require access to project data, ensuring consistency across the application state. It also updates the node controller’s visible tags from the project database.

Parameters:

project – The current project instance containing application data and database connections.

Note

This method has the side effect of setting ProcessMIA.project as a class attribute, which is required for Mia brick functionality.

update_scans_list(iteration_list, all_iterations_list)[source]

Update the user-selected list of scans based on iteration settings.

This method handles the transition between regular and iterated pipeline modes, updating the scan list accordingly. When iteration mode is enabled, it builds an iterated pipeline and uses the full iterations list. When disabled, it extracts the pipeline from the iteration node and reverts to the original scan list.

Parameters:
  • iteration_list – Current list of scans in the iteration table (unused in current implementation)

  • all_iterations_list – Complete list of all iteration scan lists

Side Effects:
  • Updates UI button states

  • May modify the current pipeline (switch between regular/iterated)

  • Updates scan lists for both iteration table and pipeline editor

  • May update node parameters display

  • Falls back to database scan list if pipeline scan list is empty

update_user_buttons_states(index=-1)[source]

Update the visibility and state of pipeline-related UI actions.

Updates the enabled/disabled state of pipeline actions (Run, Save, Save As) based on the current pipeline state. The method evaluates the pipeline associated with either the specified editor or the current active editor.

Button states updated:
  • Run Pipeline: Disabled when pipeline is empty or None

  • Save Pipeline & Save As: Enabled only when pipeline is not iterated

Parameters:

(int) (index) – Index of the specific editor to check. If -1 (default), uses the currently active editor.

Note

If the specified editor doesn’t exist or has no scene, the pipeline is treated as None and buttons are disabled accordingly.

update_user_mode()[source]

Update widget/action visibility and functionality based on user mode configuration.

In user mode:
  • Disables pipeline saving (process library unavailable)

  • Disables pipeline overwriting

  • Disables project deletion

Also synchronizes user level across pipeline editor and node controller components.

class populse_mia.user_interface.main_window.InstallProcesses(main_window, folder)[source]

Bases: QDialog

Dialog for installing Python packages from a folder or zip file.

This widget allows users to browse and select a Python package or zip file containing packages, then install them into Populse_MIA.

process_installed

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__(main_window, folder)[source]

Initialize the installation dialog.

Parameters:
  • main_window – The main application window

  • (bool) (folder) – If True, install from folder; if False, install from zip file

_add_package(proc_dic, module_name)[source]

Add a package and its modules to the process tree.

Parameters:
  • (dict) (proc_dic) – The process tree dictionary to update.

  • (str) (module_name) – Name of the module to add.

Return (dict):

The updated process tree dictionary.

_change_pattern_in_folder(path, old_pattern, new_pattern)[source]

Replace pattern in all Python files within a folder.

Parameters:
  • (str) (new_pattern) – Directory path to process.

  • (str) – Pattern to search for.

  • (str) – Pattern to replace with.

_install_new_package(filename, package_name, processes_path)[source]

Install a new package.

Parameters:
  • (str) (processes_path) – Path to zip file or directory.

  • (str) – Name of the package to install.

  • (str) – Target directory for installation.

_load_process_config(config_path)[source]

Load the process configuration from YAML.

Parameters:

(str) (config_path) – Path to the configuration file.

Return (dict):

The loaded configuration or empty dict if error.

_rollback_changes(config_path, original_config, processes_path, package_names, mia_processes_not_found, tmp_folder4MIA)[source]

Roll back changes in case of installation failure.

:param : :type : param config_path (str): Path to configuration file. :param : :type : param original_config (dict): Original configuration to restore. :param : :type : param processes_path (str): Path to processes directory. :param : installed. :type : param package_names (list): Names of packages that were being :param : Mia processes backup was made. :type : param mia_processes_not_found (bool): Flag indicating if :param : :type : param tmp_folder4MIA (str): Path to Mia processes backup.

_show_qmessagebox(message, critical=True)[source]

Display an error message box.

Parameters:
  • (str) (message) – Message to display

  • (bool) (critical) – If True, display a critical message box.

_show_status_message(message)[source]

Update status message in the main window.

Parameters:

(str) (message) – Status message to display

_update_existing_package(filename, package_name, processes_path)[source]

Update an existing package.

Parameters:
  • (str) (processes_path) – Path to zip file or directory.

  • (str) – Name of the package to update.

  • (str) – Target directory for installation.

Return (str):

The new package name (with timestamp).

_validate_input(filename)[source]

Validate the input file or directory.

Parameters:

(str) (filename) – Path to the file or directory.

Return (bool):

True if valid, False otherwise

get_filename(folder)[source]

Open a file dialog to select the package source.

Parameters:

(bool) (folder) – If True, opens a directory selection dialog; If False, opens a zip file selection dialog

install()[source]

Install a package from a zip file or a folder.

This method handles the complete installation process: 1. Extracts or copies the package to the processes directory 2. Updates the process dictionary 3. Registers the new package in the configuration

Any exceptions during installation are caught and reported to the user, with automatic rollback of any changes made.

class populse_mia.user_interface.main_window.PackageLibraryDialog(mia_main_window=None, parent=None)[source]

Bases: QDialog

Dialog for managing package library configurations.

This dialog allows users to add, remove, and delete packages from the process library. It provides interfaces for installing packages, updating the package tree, and saving configurations.

signal_save

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__(mia_main_window=None, parent=None)[source]

Initialize the PackageLibraryDialog.

Parameters:
  • mia_main_window – Reference to the main application window.

  • (QWidget) (parent) – Parent widget for the dialog.

_create_button(text, callback)[source]

Create a standardized button.

Parameters:
  • (str) (text) – Button text.

  • (callable) (callback) – Function to call when button is clicked.

Returns (QPushButton):

Configured button.

_create_install_buttons()[source]

Create buttons for installing processes.

Return (QHBoxLayout):

Layout with install process buttons.

_create_line_edit()[source]

Create and configure the line edit.

Return QLineEdit:

Configured line edit for package input.

_create_list_group(title, list_widget, reset_callback)[source]

Create a group box for a list with reset functionality.

Parameters:
  • (str) (title) – Group box title.

  • (QListWidget) (list_widget) – List widget to add to group.

  • (callable) (reset_callback) – Callback for reset button.

Return (QGroupBox):

Configured group box with list and reset button.

_create_list_widget()[source]

Create a list widget with extended selection mode.

Return (QListWidget):

Configured list widget.

_create_main_layout(install_layout, management_layout, user_mode)[source]

Create the main layout for the dialog.

Parameters:
  • (QHBoxLayout) (management_layout) – Layout for install buttons.

  • (QHBoxLayout) – Layout for package management buttons.

  • (bool) (user_mode) – Whether the application is in user mode.

Return (QHBoxLayout):

Main layout of the dialog.

_create_package_management_buttons(user_mode)[source]

Create buttons for package management.

Parameters:

(bool) (user_mode) – Whether the application is in user mode.

Return (QHBoxLayout):

Layout with package management buttons.

_create_save_cancel_layout()[source]

Create layout for save and cancel buttons.

Return (QHBoxLayout):

Layout with save and cancel buttons.

_create_status_label()[source]

Create and configure the status label.

Return (QLabel):

Configured status label.

_load_initial_configuration()[source]

Load initial package configuration.

_setup_ui()[source]

Set up the user interface components.

add_package(module_name, class_name=None, show_error=False, init_package_tree=False)[source]

Add a package and its modules to the package tree with comprehensive module and class discovery.

This method recursively discovers and adds packages, subpackages, and their classes to the package tree. It provides flexible options for package initialization and error handling.

Parameters:
  • (str) (class_name) – Fully qualified name of the module to add. Example: ‘myproject.processors’

  • (str) – Specific class name to focus on during package addition. If provided, only this class or its parent packages will be processed.

  • (bool) (init_package_tree) – Controls error reporting behavior. If True, displays error messages in a QMessageBox. If False, collects errors silently. Defaults to False.

  • (bool) – If True, reinitializes the entire package tree before adding the module. Defaults to False.

Return (List[str] | str):

A list of error messages encountered during package addition, or “No package selected!” if no module name is provided.

add_package_with_text(package_name=False, update_view=True)[source]

Add a package to the Package Library.

This method attempts to add a package or module to the library based on the provided package name. It supports adding packages with or without file extensions, and handles various import scenarios.

Parameters:
  • False) (package_name (str |) – Name of the package to add. If False (default), uses the text from the line edit widget.

  • (bool) (update_view) – Whether to update the package list view. Defaults to True.

delete_package(index=1, to_delete=None, remove=True, loop=False, from_pipeline_manager=False)[source]

Delete a package from the library (admin-only functionality).

This method removes the package from the package library tree, updates the __init__.py file, and deletes the package directory and files if they are empty.

Parameters:
  • (int) (index) – Recursive index for navigating modules. Defaults to 1.

  • (str) (to_delete) – The package/brick to delete (e.g., ‘test.Test’). Defaults to None.

  • (bool) (from_pipeline_manager) – Whether to remove the brick from the package tree. Defaults to True.

  • (bool) – Whether to delete silently without confirmation. Defaults to False.

  • (bool) – Whether deletion is initiated from pipeline manager. Defaults to False.

Return (list[str]):

A list of deleted packages/bricks.(classes).

delete_package_with_text(package_name='', update_view=True)[source]

Delete a package from the line edit’s text.

Parameters:
  • (str) (package_name) – The name of the package to delete. Defaults to the text in the line edit.

  • (bool) (update_view) – Whether to update the QListWidget after deletion. Defaults to True.

install_processes_pop_up(from_folder=False)[source]

Display the install processes pop-up.

Parameters:

(bool) (from_folder) – Whether the installation is from a folder. Defaults to False.

static load_config()[source]

Loads and returns the configuration from ‘process_config.yml’.

Return (dict | {}):

The configuration dictionary if successfully loaded, otherwise None in case of an error.

load_packages()[source]

Update the tree of the process library.

ok_clicked()[source]

Handles the click event when the ‘Apply Changes’ button is clicked.

remove_package(package)[source]

Removes a package from the package tree.

This method attempts to remove the specified package from the package library. If the package is not found, a warning message is displayed. The package tree is updated after a successful removal.

Parameters:

(str) (package) – The fully qualified module name (e.g., ‘nipype.interfaces.spm’).

Returns (bool):

True if the package was successfully removed, False if the package was not found or no package was provided.

remove_package_with_text(package_name='', update_view=True, tree_remove=True)[source]

Removes the specified package from the package tree and updates the view accordingly.

Parameters:
  • (str) (package_name) – The name of the package to remove. If not provided, the package name is taken from the line edit.

  • (bool) (tree_remove) – Whether to update the QListWidget view after removal. Defaults to True.

  • (bool) – Whether to remove the package from the tree. Defaults to True.

reset_action(itemlist, add)[source]

Resets a previous package addition or removal action.

Parameters:
  • (QListWidget) (itemlist) – The list widget containing items to reset.

  • (bool) (add) – If True, resets an addition by removing the package if it exists in the configuration. If False, re-adds the package.

save(close=True)[source]

Saves the package library configuration to process_config.yml.

This method updates the package information from the package library tree and writes it to the configuration file. Optionally, it can close the dialog after saving.

Parameters:

(bool) (close) – If True, closes the dialog after saving. Defaults to True.

update_config()[source]

Refreshes the process configuration and updates the package library.

This method reloads the configuration from ‘process_config.yml’, updates the package library attributes, and regenerates the package tree.

class populse_mia.user_interface.main_window.PopUpDeletedProject(deleted_projects)[source]

Bases: QMessageBox

Message box that displays a list of deleted, renamed, or moved projects.

This dialog appears when the software starts and detects that previously available projects are no longer accessible at their expected locations.

deleted_projects

List of project names that are no longer accessible.

Type:

list

__init__(deleted_projects)[source]

Initialize the message box with a list of inaccessible projects.

Parameters:

(list) (deleted_projects) – List of project names that are no longer accessible (deleted, renamed, or moved).

_connect_signals()[source]

Connect button signals to their respective slots.

_setup_message_box()[source]

Configure the message box appearance and content.

class populse_mia.user_interface.main_window.PopUpDeleteProject(main_window)[source]

Bases: QDialog

Dialog for deleting selected projects.

Allows the user to select and delete one or more projects from the projects directory after confirmation.

__init__(main_window)[source]

Initializes the delete project dialog.

Parameters:

(QMainWindow) (main_window) – The main application window

_delete_project(project_path, opened_projects)[source]

Handles project deletion, updating application state accordingly.

Parameters:
  • (str) (project_path) – The path of the project to delete

  • (list) (opened_projects) – The list of currently opened projects

_setup_buttons()[source]

Creates and configures the dialog buttons.

_setup_layout()[source]

Configures the main layout of the dialog.

_setup_ui()[source]

Sets up the user interface components.

ok_clicked()[source]

Deletes the selected projects after user confirmation.

class populse_mia.user_interface.main_window.PopUpNewProject[source]

Bases: QFileDialog

Dialog for creating a new project.

This dialog is displayed when the user wants to create a new project. It manages file selection and handles the creation process.

signal_create_project

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]

Initialize the new project dialog with appropriate settings.

get_filename(file_name_tuple)[source]

Process the selected filename and set up project attributes.

Parameters:

(tuple) (file_name_tuple) – Tuple containing the selected filename(s), obtained from the selectedFiles method

Note

If the file already exists, displays an error message. Otherwise, closes the dialog and emits signal_create_project.

class populse_mia.user_interface.main_window.PopUpOpenProject[source]

Bases: QFileDialog

Dialog for opening an existing MIA project.

This dialog allows users to select an existing project directory from the filesystem. It uses the default projects directory as the starting location and emits a signal when a valid project is selected.

signal_create_project

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]
get_filename(file_name_tuple)[source]

Process the selected directory and emit signal if valid.

Sets the path, name, and relative_path attributes based on the selected directory. If the directory exists, emits signal_create_project.

Parameters:

(tuple) (file_name_tuple) – Tuple containing selected directory path(s). Typically obtained from selectedFiles() method.

class populse_mia.user_interface.main_window.PopUpPreferences(main_window)[source]

Bases: QDialog

Dialog for changing software preferences.

This class manages the preferences dialog for the software, allowing users to configure various settings related to tools, projects, and appearance.

signal_preferences_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

use_clinical_mode_signal

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

not_use_clinical_mode_signal

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__(main_window)[source]

Initialize the preferences dialog.

Parameters:

main_window – The main window object of the software

admin_mode_switch()[source]

Handle the admin mode checkbox click event.

browse_afni()[source]

Browse for the AFNI directory.

browse_ants()[source]

Browse for the ANTS directory.

browse_freesurfer()[source]

Browse for the FreeSurfer env file.

browse_fsl()[source]

Browse for the FSL config file.

browse_matlab()[source]

Browse for the Matlab file.

browse_matlab_standalone()[source]

Browse for the Matlab standalone directory.

browse_mri_conv_path()[source]

Browse for the MRIFileManager.jar file.

browse_mrtrix()[source]

Browse for the mrtrix directory.

browse_projects_save_path()[source]

Browse for the projects folder.

browse_resources_path()[source]

Browse for the resources folder.

browse_spm()[source]

Browse for the SPM directory.

browse_spm_standalone()[source]

Browse for the SPM standalone directory.

change_admin_psswd(status)[source]

Open a dialog to change the admin password with validation checks.

Parameters:

(str) (status) – Initial status message to display in the dialog.

control_checkbox_toggled()[source]

Check if the user really wants to change the controller version.

create_afni_group()[source]

Create the AFNI group box.

create_ants_group()[source]

Create the ANTS group box.

create_appearance_tab(_translate)[source]

Create and configure the ‘Appearance’ tab with color and display settings.

Parameters:

(callable) (_translate) – Function used to translate UI text (translate method of QCoreApplication in the Qt framework.)

create_capsul_group(groupbox_capsul)[source]

Create and configure the CAPSUL group box with a configuration button.

Parameters:

(QGroupBox) (groupbox_capsul) – The group box to be configured for CAPSUL settings.

create_freesurfer_group()[source]

Create the FreeSurfer group box.

create_fsl_group()[source]

Create the FSL group box.

create_global_preferences()[source]

Create the global preferences group box.

create_horizontal_box(*widgets, add_stretch=True)[source]

Create a horizontal box layout containing the specified widgets.

Parameters:
  • ...]) (widgets (tuple[QtWidgets.QWidget,) – The widgets to add to the layout.

  • (bool) (add_stretch) – Whether to add stretch at the end to push the widgets to the left. Defaults to True.

Return (QHBoxLayout):

The created horizontal box layout.

create_matlab_group()[source]

Create the Matlab group box.

create_mrtrix_group()[source]

Create the mrtrix group box.

create_pipeline_tab(_translate)[source]

Create the ‘Pipeline’ tab in the settings interface.

This tab allows configuring various neuroimaging tool settings, including Matlab, SPM, FSL, AFNI, ANTS, FreeSurfer, MRtrix, and CAPSUL.

Parameters:

(Callable) (_translate) – Function used to translate UI text (translate method of QCoreApplication in the Qt framework.)

create_projects_preferences()[source]

Create the projects preferences group box.

create_populse_preferences()[source]

Create the POPULSE third party preferences group box.

create_resources_preferences()[source]

Create the external resources preferences group box.

create_spm_group()[source]

Create the SPM group box.

create_tools_tab(_translate)[source]

Create the ‘Tools’ tab in the settings interface.

This tab contains various sections for configuring global preferences, project-specific settings, third-party tool integration, and external resources.

Parameters:

(Callable) (_translate) – Function used to translate UI text (translate method of QCoreApplication in the Qt framework.)

edit_capsul_config()[source]

Capsul engine edition.

This method is used when user hit the Edit CAPSUL config button (File > MIA preferences > Pipeline tab).

edit_config_file()[source]

Create a window to view, edit the mia configuration file.

findChar()[source]

Highlights characters in red when using the Find button in the configuration editor.

This method searches for a pattern entered in the find field and highlights all matching occurrences in the text editor.

load_config()[source]

Load the configuration settings.

ok_clicked()[source]

Handle the OK button click event.

save_minimal_config(config)[source]

Saves a minimal configuration for CAPSUL config synchronization.

Parameters:

(Config) (config) – The configuration object to update and save.

save_full_config(config)[source]

Saves the full configuration and validates settings.

Parameters:

(Config) (config) – The configuration object to update and save.

Return (bool):

True if the configuration is valid and successfully saved, False otherwise.

setup_ui()[source]

Set up the user interface components.

show_error_message(title, message)[source]

Displays an error message dialog.

Parameters:
  • (str) (message) – The title of the error message dialog.

  • (str) – The detailed error message to display.

show_warning_message(title, message)[source]

Displays a warning message dialog.

Parameters:
  • (str) (message) – The title of the warning message dialog.

  • (str) – The detailed warning message to display.

update_gui_from_capsul_config(conf)[source]

Updates the GUI elements based on the CAPSUL configuration.

This method retrieves the configuration settings for various neuroimaging tools (e.g., AFNI, ANTs, FreeSurfer, FSL, Matlab, SPM, etc.) and updates the corresponding GUI fields, including checkboxes and text fields.

Parameters:

(software_properties.Config) (conf) – The Mia configuration object containing the paths and usage states of different tools.

use_afni_changed()[source]

Handle the use_afni checkbox change event.

use_ants_changed()[source]

Handle the use_ants checkbox change event.

use_current_mainwindow_size()[source]

Use the current main window size.

use_freesurfer_changed()[source]

Handle the use_freesurfer checkbox change event.

use_fsl_changed()[source]

Handle the use_fsl checkbox change event.

use_matlab_changed()[source]

Handle the use_matlab checkbox change event.

use_matlab_standalone_changed()[source]

Handle the use_matlab_standalone checkbox change event.

use_mrtrix_changed()[source]

Handle the use_mrtrix checkbox change event.

use_spm_changed()[source]

Handle the use_spm checkbox change event.

use_spm_standalone_changed()[source]

Handle the use_spm_standalone checkbox change event.

validate_and_save(OK_clicked=False)[source]

Validate and save the preferences.

Parameters:

(bool) (ok_clicked) – Whether the OK button was clicked (True) when this method was launched.

Contains:
  • remove_capsul_config: Helper function to remove a

    module’s configuration

  • clean_spm_config: Cleans the SPM configuration based

    on standalone mode

  • clean_matlab_config: Removes MATLAB-related configuration keys

validate_matlab_path(path, config)[source]

Validates the given Matlab executable path.

Parameters:
  • (str) (path) – The path to the Matlab executable.

  • (Config) (config) – The configuration object to update.

Return (bool):

True if the path is valid and updated in the configuration, False otherwise.

validate_matlab_standalone_path(path, config)[source]

Validate the Matlab standalone path.

This method does not thoroughly test the configuration for Matlab MCR alone (without SPM standalone) due to the lack of a concrete example.

Parameters:
  • (str) (path) – The path to the Matlab standalone directory.

  • (Config) (config) – The configuration object to update.

Return (bool):

True if the path is valid and updated in the configuration, False otherwise.

validate_paths(config)[source]

Validate the paths and settings.

This method checks the validity of paths for various neuroimaging tools (AFNI, ANTS, FreeSurfer, FSL, MRtrix, Matlab, SPM, etc.) and updates the configuration accordingly. It also validates additional paths such as the projects folder, MRIFileManager.jar path, and resources folder.

Parameters:

(Config) (config) – The configuration object where validated paths and settings will be stored.

Return (bool):

True if all paths and settings are valid, False otherwise.

validate_spm_path(path, config)[source]

Validates the SPM path and its compatibility with Matlab.

This method checks whether the provided SPM and Matlab paths are valid. If they are already configured correctly, it enables SPM and Matlab usage without further checks. Otherwise, it attempts to run an SPM command via Matlab to confirm the setup.

Parameters:
  • (str) (path) – The file path to the SPM installation.

  • (Config) (config) – The configuration object where validated paths and settings will be stored.

Return (bool):

True if the SPM path and Matlab path are valid, False otherwise.

validate_spm_standalone_path(path, config)[source]

Validates the SPM standalone path and its compatibility with Matlab standalone.

This method checks whether the provided paths for SPM standalone and Matlab standalone (if applicable) are valid. It also verifies system architecture compatibility and attempts to execute SPM standalone to confirm its functionality.

Parameters:
  • (str) (path) – The file path to the SPM standalone installation.

  • (Config) (config) – The configuration object where validated paths and settings will be stored.

Return (bool):

True if the SPM standalone and Matlab standalone paths are valid, False otherwise.

validate_tool_path(tool_name, path, cmd, config, config_name, set_in_use, set_path)[source]

Validates the specified tool’s path and checks its functionality.

This method checks if the given tool path exists and verifies that the tool is functional by running a command to check its version. It also handles tool-specific setup for FreeSurfer and FSL by setting environment variables and adjusting paths as necessary.

Parameters:
  • (str) (config_name) – The name of the tool to validate (e.g., “FreeSurfer”, “FSL”, “Matlab”, etc.).

  • (str) – The file path to the tool’s installation directory.

  • (str) – The command to execute within the tool’s directory to check its version.

  • (Config) (config) – The configuration object where validated paths and settings will be stored.

  • (str) – The name of the configuration setting for the tool.

  • (Callable) (set_path) – A function to set the tool’s “in use” status in the configuration.

  • (Callable) – A function to set the tool’s path in the configuration.

Return (bool):

True if the tool’s path is valid and functional, False otherwise.

wrong_path(path, tool, extra_mess='')[source]

Displays an error message for an invalid tool path.

This method restores the cursor, clears the status label, and shows a QMessageBox with an error message indicating that the provided path for a specified tool is invalid.

Parameters:
  • (str) (tool) – The invalid path entered by the user.

  • (str) – The name of the tool for which the path is being validated.

  • optional) (extra_mess (str,) – Additional context for the error message, such as specifying a configuration file.

Return (None):

This function does not return anything.

class populse_mia.user_interface.main_window.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.main_window.PopUpQuit(project)[source]

Bases: QDialog

Dialog to handle unsaved project modifications when closing the software.

Provides options to save, discard, or cancel the exit process. Is called when the user closes the software and the current project has been modified.

save_as_signal

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

do_not_save_signal

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

cancel_signal

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)[source]

Initialize the quit confirmation dialog.

Parameters:

project – Current project with unsaved modifications.

can_exit()[source]

Check if the application can exit.

Return (bool):

True if exit is allowed.

cancel_clicked()[source]

Handle cancel action by preventing exit.

do_not_save_clicked()[source]

Handle ‘do not save’ action by allowing exit without saving.

save_as_clicked()[source]

Handle save action by emitting save signal and allowing exit.

class populse_mia.user_interface.main_window.PopUpSaveProjectAs[source]

Bases: QDialog

Dialog for saving a project under a new name.

Provides a user interface to select and save a project with a new name, with options to browse existing projects and validate the new project name.

signal_saved_project

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]

Initialize the save project as dialog.

Sets up the user interface with a scrollable list of existing projects, input field for new project name, and save/cancel buttons.

fill_input(name)[source]

Fill the project name input field with the selected project name.

Parameters:

name – Name of the project to fill in the input field.

return_value()[source]

Validate and process the selected project name.

Checks project name validity, handles potential naming conflicts, and emits a signal when a valid project name is selected.

Return (str):

Full path of the new project if successful, None otherwise.

class populse_mia.user_interface.main_window.PopUpSeeAllProjects(saved_projects, main_window)[source]

Bases: QDialog

A dialog window for displaying and managing saved projects.

This dialog allows users to view a list of saved projects, check their existence, and open a selected project.

__init__(saved_projects, main_window)[source]

Initialize the PopUpSeeAllProjects dialog.

Parameters:
  • saved_projects – Container with a list of project paths.

  • main_window – Main window.

checkState(path)[source]

Determine the icon based on project existence.

Parameters:

(str) (path) – Path to the project directory.

Returns:

QIcon: Green checkmark if project exists, red cross if not.

item_to_path()[source]

Returns the path of the first selected item.

Return (str):

Absolute path of the selected project, or empty string if no selection.

open_project()[source]

Attempt to switch to the selected project.

Opens the selected project in the main window if a valid project is chosen. Closes the dialog upon successful project switch.

class populse_mia.user_interface.main_window.MainWindow(project, test=False, deleted_projects=None)[source]

Bases: QMainWindow

Initialize software appearance and define interactions with the user.

__init__(project, test=False, deleted_projects=None)[source]

Main window class, initializes the software appearance and defines interactions with the user.

Parameters:
  • project – Current project in the software.

  • test – Boolean indicating if the widget is launched from unit tests or not.

  • deleted_projects – Projects that have been deleted.

add_clinical_tags()[source]

Add the clinical tags to the database and the data browser.

check_database()[source]

Check if files in database have been modified since first import.

check_unsaved_modifications()[source]

Check if there are differences between the current project and the database.

Return (bool):

True if there are unsaved modifications, False otherwise

closeEvent(event)[source]

Override the QWidget closing event to check if there are unsaved modifications.

Parameters:

event – closing event

create_project_pop_up()[source]

Create a new project.

create_view_actions()[source]

Create the actions and their shortcuts in each menu

create_view_menus()[source]

Create the menu-bar view.

create_view_window()[source]

Create the main window view.

create_tabs()[source]

Create the tabs and initializes the DataBrowser and PipelineManager classes.

credits()[source]

Open the credits in a web browser

del_clinical_tags()[source]

Remove the clinical tags to the database and the data browser

delete_project()[source]

Open a pop-up to open a project and updates the recent projects list.

static documentation()[source]

Open the documentation in a web browser.

get_controller_version()[source]

Gives the value of the controller_version_changed attribute.

Returns:

Boolean

import_data()[source]

Import MRI data using the MRI File Manager and load it into the database.

This method performs the following steps: 1. Launches the MRI conversion software to convert MRI files to

Nifti/JSON format

  1. Attempts import with maximum heap size of 4096M, falls back to 1024M if needed

  2. Updates the database with newly imported scans

  3. Refreshes the data browser UI with new scan information

install_processes_pop_up(folder=False)[source]

Open the install processes pop-up.

Parameters:

folder – boolean, True if installing from a folder

static last_window_closed()[source]

Force exit the event loop after ipython console is closed.

If the ipython console has been run, something prevents Qt from quitting after the window is closed. The cause is not known yet. So: force exit the event loop.

open_project_pop_up()[source]

Open a dialog to select and open a project, updating recent projects list.

This method handles: 1. Checking for unsaved modifications in current project 2. Opening project selection dialog 3. Validating project path 4. Switching to new project 5. Updating clinical mode based on database fields 6. Updating database paths if project is external

open_recent_project()[source]

Open a recent project.

open_shell()[source]

Open an in-process Qt console (QtConsole) connected to this application.

This method creates a QtConsole widget that runs inside the current application process, allowing interactive inspection and manipulation of program internals such as the main window, project, and the QApplication instance. This console does not spawn a subprocess and fully integrates with the existing Qt event loop.

Features:
  • Provides access to key objects:
    • main_window: this MainWindow instance

    • project: if available, the current project object

    • app: the current QApplication instance

  • Interactive Python prompt

  • Stdout/stderr from the application will appear in the console

Dependencies:
  • qtconsole for the console widget

  • ipykernel for the in-process IPython kernel

  • IPython for interactive shell support

If any of these are missing, the console will not open, and a warning is logged.

Raises:

(RuntimeError) – if QApplication instance does not exist when calling this method

Returns (RichJupyterWidget):

the created QtConsole widget instance

package_library_pop_up()[source]

Open the package library pop-up

project_properties_pop_up()[source]

Open the project properties pop-up

redo()[source]

Redo the last action made by the user.

remove_raw_files_useless()[source]

Remove the useless raw files of the current project.

Close the database connection. The project is not valid any longer after this call.

save()[source]

Save either the current project or the current pipeline

save_as()[source]

Save either the current project or the current pipeline under a new name.

save_project_as()[source]

Open a pop-up to save the current project as

saveChoice()[source]

Check if the project needs to be ‘saved as’ or just ‘saved’.

see_all_projects()[source]

Open a pop-up to show the recent projects.

set_controller_version()[source]

Reverses the value of the controller_version_changed attribute.

From False to True and vice versa

setup_menu_actions(sources_images_dir)[source]

Initialize menu actions with icons and descriptions.

Parameters:

sources_images_dir – Directory containing source images for icons.

setup_window_size()[source]

Set the window size and maximize if needed.

software_preferences_pop_up()[source]

Open the Mia preferences pop-up.

switch_project(file_path, name)[source]

Check if it’s possible to open the selected project and quit the current one.

Parameters:
  • file_path – raw file_path

  • name – project name

Returns:

Boolean

tab_changed()[source]

Update the window when switching between application tab.

Updates the UI state and data when switching between Data Browser, Data Viewer, and Pipeline Manager tabs. Handles data synchronization, search state preservation, and unsaved changes warnings.

The method performs the following operations based on the selected tab: - Data Browser: Refreshes table data, preserves search state and

visualization settings

  • Data Viewer: Loads current viewer and updates document list

  • Pipeline Manager: Updates scan lists and handles unsaved

    modifications

undo()[source]

Reverts the last action performed by the user, depending on the active tab.

If the “Data Browser” tab is active, the undo operation is applied to the project’s database. If the “Pipeline Manager” tab is active, the pipeline manager’s undo function is invoked.

update_project(file_path, call_update_table=True)[source]

Updates the project after a database change.

This method updates the database, the window title, and the recent and saved projects menus.

Parameters:
  • (str) (file_path) – The file path of the new project.

  • (bool) (call_update_table) – Whether to update the table data. Defaults to True.

update_recent_projects_actions()[source]

Updates the list of recent projects in the UI.

Hides all recent project actions first, then updates and displays the most recent ones based on the configured maximum.