88 lines
2.7 KiB
QML
88 lines
2.7 KiB
QML
import QtQuick
|
|
|
|
// Bar surface exposed to an installed third-party widget. Scalar presentation
|
|
// state is mirrored by Bar.qml and operations are delegated through scoped
|
|
// callbacks. The facade avoids direct host-Bar injection; it cannot isolate a
|
|
// visual child from the parent hierarchy of the QML scene that renders it.
|
|
QtObject {
|
|
id: api
|
|
|
|
required property string pluginId
|
|
required property string moduleName
|
|
property var shell: null
|
|
|
|
property color foreground: "transparent"
|
|
property color barForeground: "transparent"
|
|
property color background: "transparent"
|
|
property color urgent: "transparent"
|
|
property string fontFamily: ""
|
|
property string position: "top"
|
|
property bool vertical: false
|
|
property int barSize: 0
|
|
property bool transparent: false
|
|
property bool foregroundAnimationEnabled: true
|
|
property bool centerSectionRevealHeld: false
|
|
property bool _centerHoverRevealSuppressed: false
|
|
readonly property bool centerHoverRevealSuppressed: _centerHoverRevealSuppressed
|
|
property var activePopout: null
|
|
property var clickTargets: []
|
|
property var layoutConfig: ({})
|
|
readonly property var foreignPopoutMarker: ({ foreign: true })
|
|
|
|
property var _showTooltip: null
|
|
property var _hideTooltip: null
|
|
property var _registerClickTarget: null
|
|
property var _unregisterClickTarget: null
|
|
property var _requestPopout: null
|
|
property var _releasePopout: null
|
|
property var _switchPanelFrom: null
|
|
property var _targetBelongsToWindow: null
|
|
property var _moduleWidgets: null
|
|
property var _run: null
|
|
property var _setCenterHoverRevealSuppressed: null
|
|
|
|
function setCenterHoverRevealSuppressed(value) {
|
|
if (_setCenterHoverRevealSuppressed) _setCenterHoverRevealSuppressed(!!value)
|
|
}
|
|
|
|
function showTooltip(target, text) {
|
|
if (_showTooltip) _showTooltip(target, String(text || ""))
|
|
}
|
|
|
|
function hideTooltip(target) {
|
|
if (_hideTooltip) _hideTooltip(target)
|
|
}
|
|
|
|
function registerClickTarget(target) {
|
|
if (_registerClickTarget) _registerClickTarget(target)
|
|
}
|
|
|
|
function unregisterClickTarget(target) {
|
|
if (_unregisterClickTarget) _unregisterClickTarget(target)
|
|
}
|
|
|
|
function requestPopout(owner) {
|
|
if (_requestPopout) _requestPopout(owner)
|
|
}
|
|
|
|
function releasePopout(owner) {
|
|
if (_releasePopout) _releasePopout(owner)
|
|
}
|
|
|
|
function switchPanelFrom(owner, direction) {
|
|
return _switchPanelFrom ? _switchPanelFrom(owner, direction) : false
|
|
}
|
|
|
|
function targetBelongsToWindow(target, window) {
|
|
return _targetBelongsToWindow ? _targetBelongsToWindow(target, window) : false
|
|
}
|
|
|
|
function moduleWidgets(id) {
|
|
return _moduleWidgets ? _moduleWidgets(String(id || "")) : []
|
|
}
|
|
|
|
function run(command) {
|
|
if (_run) _run(String(command || ""))
|
|
}
|
|
}
|