Warning, /frameworks/kirigami/src/controls/Action.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org> 0003 * SPDX-FileCopyrightText: 2023 ivan tkachenko <me@ratijas.tk> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 import QtQuick 0009 import QtQuick.Controls as QQC2 0010 import QtQuick.Templates as T 0011 import org.kde.kirigami as Kirigami 0012 0013 /** 0014 * @brief An item that represents an abstract Action 0015 * @inherit QtQuick.QQC2.Action 0016 */ 0017 QQC2.Action { 0018 //BEGIN properties 0019 /** 0020 * @brief This property holds whether the graphic representation of the action 0021 * is supposed to be visible. 0022 * 0023 * It's up to the action representation to honor this property. 0024 * 0025 * default: ``true`` 0026 */ 0027 property bool visible: true 0028 0029 /** 0030 * @brief This property holds the tooltip text that is shown when the cursor is hovering over the control. 0031 * 0032 * Leaving this undefined or setting it to an empty string means that no tooltip will be shown when 0033 * the cursor is hovering over the control that triggers the tooltip. 0034 * @warning Tooltips may not be supported on all platforms. 0035 */ 0036 property string tooltip 0037 0038 /** 0039 * @brief This property sets whether this action is a separator action. 0040 * 0041 * default: ``false`` 0042 */ 0043 property bool separator: false 0044 0045 /** 0046 * @brief This property sets whether this action becomes a title displaying 0047 * its child actions as sub-items in GlobalDrawers and ContextDrawers. 0048 * 0049 * default: ``false`` 0050 * 0051 * @since 2.6 0052 */ 0053 property bool expandible: false 0054 0055 /** 0056 * @brief This property holds the parent action. 0057 */ 0058 property T.Action parent 0059 0060 /** 0061 * @brief This property sets this action's display type. 0062 * 0063 * These are provided to implementations to indicate a preference for certain display 0064 * styles. 0065 * 0066 * default: ``Kirigami.DisplayHint.NoPreference`` 0067 * 0068 * @note This property contains only preferences, implementations may choose to disregard them. 0069 * @see org::kde::kirigami::DisplayHint 0070 * @since 2.12 0071 */ 0072 property int displayHint: Kirigami.DisplayHint.NoPreference 0073 0074 /** 0075 * @brief This property holds the component that should be used for displaying this action. 0076 * @note This can be used to display custom components in the toolbar. 0077 * @since 5.65 0078 * @since 2.12 0079 */ 0080 property Component displayComponent 0081 0082 /** 0083 * @brief This property holds a list of child actions. 0084 * 0085 * This is useful for tree-like menus, such as the GlobalDrawer. 0086 * 0087 * Example usage: 0088 * @code 0089 * import QtQuick.Controls as QQC2 0090 * import org.kde.kirigami as Kirigami 0091 * 0092 * Kirigami.Action { 0093 * text: "Tools" 0094 * 0095 * QQC2.Action { 0096 * text: "Action1" 0097 * } 0098 * Kirigami.Action { 0099 * text: "Action2" 0100 * } 0101 * } 0102 * @endcode 0103 * @property list<T.Action> children 0104 */ 0105 default property list<T.Action> children 0106 //END properties 0107 0108 onChildrenChanged: { 0109 children 0110 .filter(action => action instanceof Kirigami.Action) 0111 .forEach(action => { 0112 action.parent = this; 0113 }); 0114 } 0115 0116 /** 0117 * @brief This property holds the action's visible child actions. 0118 * @property list<T.Action> visibleChildren 0119 */ 0120 readonly property list<T.Action> visibleChildren: children 0121 .filter(action => !(action instanceof Kirigami.Action) || action.visible) 0122 }