File indexing completed on 2024-05-12 05:38:24
0001 /* 0002 SPDX-FileCopyrightText: 2009 Aaron Seigo <aseigo@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QJSValue> 0010 #include <QWeakPointer> 0011 0012 #include "containment.h" 0013 0014 class PanelView; 0015 class ShellCorona; 0016 0017 namespace WorkspaceScripting 0018 { 0019 class Panel : public Containment 0020 { 0021 Q_OBJECT 0022 Q_PROPERTY(QStringList configKeys READ configKeys) 0023 Q_PROPERTY(QStringList configGroups READ configGroups) 0024 Q_PROPERTY(QStringList currentConfigGroup WRITE setCurrentConfigGroup READ currentConfigGroup) 0025 Q_PROPERTY(QStringList globalConfigKeys READ globalConfigKeys) 0026 Q_PROPERTY(QStringList globalConfigGroups READ globalConfigGroups) 0027 0028 Q_PROPERTY(QString version READ version) 0029 Q_PROPERTY(QString type READ type) 0030 Q_PROPERTY(QString formFactor READ formFactor) 0031 Q_PROPERTY(QList<int> widgetIds READ widgetIds) 0032 Q_PROPERTY(int screen READ screen) 0033 Q_PROPERTY(QString location READ location WRITE setLocation) 0034 Q_PROPERTY(int id READ id) 0035 0036 Q_PROPERTY(bool locked READ locked WRITE setLocked) 0037 0038 // panel properties 0039 Q_PROPERTY(QString alignment READ alignment WRITE setAlignment) 0040 Q_PROPERTY(int offset READ offset WRITE setOffset) 0041 Q_PROPERTY(QString lengthMode READ lengthMode WRITE setLengthMode) 0042 Q_PROPERTY(int length READ length WRITE setLength) 0043 Q_PROPERTY(int minimumLength READ minimumLength WRITE setMinimumLength) 0044 Q_PROPERTY(int maximumLength READ maximumLength WRITE setMaximumLength) 0045 Q_PROPERTY(int height READ height WRITE setHeight) 0046 Q_PROPERTY(QString hiding READ hiding WRITE setHiding) 0047 Q_PROPERTY(bool floating READ floating WRITE setFloating) 0048 0049 public: 0050 explicit Panel(Plasma::Containment *containment, ScriptEngine *parent); 0051 ~Panel() override; 0052 0053 QString location() const; 0054 void setLocation(const QString &location); 0055 0056 QString alignment() const; 0057 void setAlignment(const QString &alignment); 0058 0059 int offset() const; 0060 void setOffset(int pixels); 0061 0062 QString lengthMode() const; 0063 void setLengthMode(const QString &mode); 0064 0065 int length() const; 0066 void setLength(int pixels); 0067 0068 int minimumLength() const; 0069 void setMinimumLength(int pixels); 0070 0071 int maximumLength() const; 0072 void setMaximumLength(int pixels); 0073 0074 int height() const; 0075 void setHeight(int height); 0076 0077 QString hiding() const; 0078 void setHiding(const QString &mode); 0079 0080 bool floating() const; 0081 void setFloating(bool floating); 0082 0083 public Q_SLOTS: 0084 void remove() 0085 { 0086 Containment::remove(); 0087 } 0088 void showConfigurationInterface() 0089 { 0090 Containment::showConfigurationInterface(); 0091 } 0092 0093 private: 0094 PanelView *panel() const; 0095 KConfigGroup panelConfig() const; 0096 KConfigGroup panelConfigDefaults() const; 0097 0098 ShellCorona *m_corona; 0099 }; 0100 0101 }