1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
# Backend Protocols
!!!warning "Advanced Topic"
***Most users of magicgui will not need to worry about this section.***
These Protocol classes declare the interface that backend
adapters must implement in order to be used by magicgui. All magicgui `Widget`
objects compose a backend widget implementing one of these protocols, and control
it using the methods defined herein.
`magicgui` developers may be interested in this page, but end-users
needn't worry about it.
## Summary
::: autosummary
magicgui.widgets.protocols.WidgetProtocol
magicgui.widgets.protocols.ValueWidgetProtocol
magicgui.widgets.protocols.ButtonWidgetProtocol
magicgui.widgets.protocols.TableWidgetProtocol
magicgui.widgets.protocols.RangedWidgetProtocol
magicgui.widgets.protocols.CategoricalWidgetProtocol
magicgui.widgets.protocols.SliderWidgetProtocol
magicgui.widgets.protocols.ContainerProtocol
magicgui.widgets.protocols.BaseApplicationBackend
magicgui.widgets.protocols.DialogProtocol
magicgui.widgets.protocols.SupportsChoices
magicgui.widgets.protocols.SupportsOrientation
magicgui.widgets.protocols.SupportsText
magicgui.widgets.protocols.SupportsReadOnly
## Protocol Inheritance
The visual hierarchy of protocols looks like this:
``` mermaid
graph LR
A([WidgetProtocol])-->B([ValueWidgetProtocol])
A-->C([ContainerProtocol])
M([SupportsText])-->E
B-->E([ButtonWidgetProtocol])
B-->D([RangedWidgetProtocol])
B-->F([CategoricalWidgetProtocol])
D-->I([SliderWidgetProtocol])
B-->J([TableWidgetProtocol])
K([SupportsReadOnly])-->J([TableWidgetProtocol])
L([SupportsChoices])-->F
N([SupportsOrientation])-->C
N-->I
C-->O([DialogProtocol])
C-->P([MainWindowProtocol])
click A "#magicgui.widgets.protocols.WidgetProtocol"
click B "#magicgui.widgets.protocols.ValueWidgetProtocol"
click C "#magicgui.widgets.protocols.ContainerProtocol"
click D "#magicgui.widgets.protocols.RangedWidgetProtocol"
click E "#magicgui.widgets.protocols.ButtonWidgetProtocol"
click F "#magicgui.widgets.protocols.CategoricalWidgetProtocol"
click I "#magicgui.widgets.protocols.SliderWidgetProtocol"
click J "#magicgui.widgets.protocols.TableWidgetProtocol"
click K "#magicgui.widgets.protocols.SupportsReadOnly"
click L "#magicgui.widgets.protocols.SupportsChoices"
click M "#magicgui.widgets.protocols.SupportsText"
click N "#magicgui.widgets.protocols.SupportsOrientation"
click O "#magicgui.widgets.protocols.DialogProtocol"
click P "#magicgui.widgets.protocols.MainWindowProtocol"
```
## Widget Protocols
::: magicgui.widgets.protocols.WidgetProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.ValueWidgetProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.ButtonWidgetProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.TableWidgetProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.RangedWidgetProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.CategoricalWidgetProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.SliderWidgetProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.ContainerProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.DialogProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.MainWindowProtocol
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.SupportsChoices
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.SupportsOrientation
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.SupportsText
options:
filters: []
heading_level: 3
::: magicgui.widgets.protocols.SupportsReadOnly
options:
filters: []
heading_level: 3
---------
## Application Protocol
::: magicgui.widgets.protocols.BaseApplicationBackend
options:
filters: []
heading_level: 3
|