Package ch.bailu.gtk.gtk
Class LockButton
- All Implemented Interfaces:
PointerInterface
`GtkLockButton` is a widget to obtain and revoke authorizations
needed to operate the controls.
![An example GtkLockButton](lock-button.png)
It is typically used in preference dialogs or control panels.
The required authorization is represented by a `GPermission` object.
Concrete implementations of `GPermission` may use PolicyKit or some
other authorization framework. To obtain a PolicyKit-based
`GPermission`, use `polkit_permission_new()`.
If the user is not currently allowed to perform the action, but can
obtain the permission, the widget looks like this:
![](lockbutton-locked.png)
and the user can click the button to request the permission. Depending
on the platform, this may pop up an authentication dialog or ask the user
to authenticate in some other way. Once the user has obtained the permission,
the widget changes to this:
![](lockbutton-unlocked.png)
and the permission can be dropped again by clicking the button. If the user
is not able to obtain the permission at all, the widget looks like this:
![](lockbutton-sorry.png)
If the user has the permission and cannot drop it, the button is hidden.
The text (and tooltips) that are shown in the various cases can be adjusted
with the [property@Gtk.LockButton:text-lock],
[property@Gtk.LockButton:text-unlock],
[property@Gtk.LockButton:tooltip-lock],
[property@Gtk.LockButton:tooltip-unlock] and
[property@Gtk.LockButton:tooltip-not-authorized] properties.
needed to operate the controls.
![An example GtkLockButton](lock-button.png)
It is typically used in preference dialogs or control panels.
The required authorization is represented by a `GPermission` object.
Concrete implementations of `GPermission` may use PolicyKit or some
other authorization framework. To obtain a PolicyKit-based
`GPermission`, use `polkit_permission_new()`.
If the user is not currently allowed to perform the action, but can
obtain the permission, the widget looks like this:
![](lockbutton-locked.png)
and the user can click the button to request the permission. Depending
on the platform, this may pop up an authentication dialog or ask the user
to authenticate in some other way. Once the user has obtained the permission,
the widget changes to this:
![](lockbutton-unlocked.png)
and the permission can be dropped again by clicking the button. If the user
is not able to obtain the permission at all, the widget looks like this:
![](lockbutton-sorry.png)
If the user has the permission and cannot drop it, the button is hidden.
The text (and tooltips) that are shown in the various cases can be adjusted
with the [property@Gtk.LockButton:text-lock],
[property@Gtk.LockButton:text-unlock],
[property@Gtk.LockButton:tooltip-lock],
[property@Gtk.LockButton:tooltip-unlock] and
[property@Gtk.LockButton:tooltip-not-authorized] properties.
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Button
Button.OnActivate, Button.OnClicked
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Widget
Widget.OnDestroy, Widget.OnDestroyNotify, Widget.OnDirectionChanged, Widget.OnHide, Widget.OnKeynavFailed, Widget.OnMap, Widget.OnMnemonicActivate, Widget.OnMoveFocus, Widget.OnQueryTooltip, Widget.OnRealize, Widget.OnShow, Widget.OnStateFlagsChanged, Widget.OnTickCallback, Widget.OnUnmap, Widget.OnUnrealize
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gtk.Button
SIGNAL_ON_ACTIVATE, SIGNAL_ON_CLICKED
Fields inherited from class ch.bailu.gtk.gtk.Widget
SIGNAL_ON_DESTROY, SIGNAL_ON_DIRECTION_CHANGED, SIGNAL_ON_HIDE, SIGNAL_ON_KEYNAV_FAILED, SIGNAL_ON_MAP, SIGNAL_ON_MNEMONIC_ACTIVATE, SIGNAL_ON_MOVE_FOCUS, SIGNAL_ON_QUERY_TOOLTIP, SIGNAL_ON_REALIZE, SIGNAL_ON_SHOW, SIGNAL_ON_STATE_FLAGS_CHANGED, SIGNAL_ON_UNMAP, SIGNAL_ON_UNREALIZE
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
ConstructorDescriptionLockButton
(Permission permission) Creates a new lock button which reflects the @permission.LockButton
(PointerContainer pointer) -
Method Summary
Modifier and TypeMethodDescriptionImplements interfaceAccessible
.Implements interfaceActionable
.Implements interfaceBuildable
.Implements interfaceConstraintTarget
.static ClassHandler
static int
static long
static TypeSystem.TypeSize
Obtains the `GPermission` object that controls @button.static long
static TypeSystem.TypeSize
void
setPermission
(Permission permission) Sets the `GPermission` object that controls @button.Methods inherited from class ch.bailu.gtk.gtk.Button
getChild, getHasFrame, getIconName, getLabel, getUseUnderline, newFromIconNameButton, newFromIconNameButton, newWithLabelButton, newWithLabelButton, newWithMnemonicButton, newWithMnemonicButton, onActivate, onClicked, setChild, setHasFrame, setIconName, setIconName, setLabel, setLabel, setUseUnderline
Methods inherited from class ch.bailu.gtk.gtk.Widget
actionSetEnabled, actionSetEnabled, activate, activateAction, activateAction, activateActionVariant, activateActionVariant, activateDefault, addController, addCssClass, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getCanFocus, getCanTarget, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeCssClass, removeMnemonicLabel, removeTickCallback, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipMarkup, setTooltipText, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, snapshotChild, triggerTooltipQuery, unmap, unparent, unrealize, unsetStateFlags
Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
LockButton
-
LockButton
Creates a new lock button which reflects the @permission.- Parameters:
permission
- a `GPermission`
-
-
Method Details
-
getClassHandler
-
getPermission
Obtains the `GPermission` object that controls @button.- Returns:
- the `GPermission` of @button
-
setPermission
Sets the `GPermission` object that controls @button.- Parameters:
permission
- a `GPermission` object
-
asAccessible
Implements interfaceAccessible
. Call this to get access to interface functions.- Overrides:
asAccessible
in classButton
- Returns:
Accessible
-
asActionable
Implements interfaceActionable
. Call this to get access to interface functions.- Overrides:
asActionable
in classButton
- Returns:
Actionable
-
asBuildable
Implements interfaceBuildable
. Call this to get access to interface functions.- Overrides:
asBuildable
in classButton
- Returns:
Buildable
-
asConstraintTarget
Implements interfaceConstraintTarget
. Call this to get access to interface functions.- Overrides:
asConstraintTarget
in classButton
- Returns:
ConstraintTarget
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-