File indexing completed on 2024-05-12 05:35:50
0001 /* 0002 SPDX-FileCopyrightText: 2009 Ben Cooksley <ben@eclipse.endoftheinternet.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <Solid/Predicate> 0010 0011 class QString; 0012 template<typename T> 0013 class QList; 0014 0015 class PredicateItem 0016 { 0017 public: 0018 PredicateItem(Solid::Predicate item, PredicateItem *itsParent); 0019 ~PredicateItem(); 0020 0021 PredicateItem *child(int index) const; 0022 PredicateItem *parent() const; 0023 QList<PredicateItem *> &children() const; 0024 Solid::Predicate predicate() const; 0025 QString prettyName() const; 0026 void setTypeByInt(int item); 0027 void setComparisonByInt(int item); 0028 void updateChildrenStatus(); 0029 0030 Solid::Predicate::Type itemType; 0031 Solid::DeviceInterface::Type ifaceType; 0032 QString property; 0033 QVariant value; 0034 Solid::Predicate::ComparisonOperator compOperator; 0035 0036 private: 0037 class Private; 0038 Private *const d; 0039 }; 0040 0041 Q_DECLARE_METATYPE(PredicateItem *)