mirror-kde-plasma-desktop/kcms/solid_actions/PredicateItem.h
2022-12-17 14:18:42 +00:00

41 lines
919 B
C++

/*
SPDX-FileCopyrightText: 2009 Ben Cooksley <ben@eclipse.endoftheinternet.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include <Solid/Predicate>
class QString;
template<typename T>
class QList;
class PredicateItem
{
public:
PredicateItem(Solid::Predicate item, PredicateItem *itsParent);
~PredicateItem();
PredicateItem *child(int index) const;
PredicateItem *parent() const;
QList<PredicateItem *> &children() const;
Solid::Predicate predicate() const;
QString prettyName() const;
void setTypeByInt(int item);
void setComparisonByInt(int item);
void updateChildrenStatus();
Solid::Predicate::Type itemType;
Solid::DeviceInterface::Type ifaceType;
QString property;
QVariant value;
Solid::Predicate::ComparisonOperator compOperator;
private:
class Private;
Private *const d;
};
Q_DECLARE_METATYPE(PredicateItem *)