mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-24 02:42:48 +00:00
126 lines
3.3 KiB
C++
126 lines
3.3 KiB
C++
/* This file is part of the KDE project
|
|
Copyright (C) 2006 Michael Larouche <michael.larouche@kdemail.net>
|
|
2007 Kevin Ottens <ervin@kde.org>
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public
|
|
License version 2 as published by the Free Software Foundation.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public License
|
|
along with this library; see the file COPYING.LIB. If not, write to
|
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA.
|
|
|
|
*/
|
|
#ifndef KDEVICELISTITEM_P_H
|
|
#define KDEVICELISTITEM_P_H
|
|
|
|
#include <QVariant>
|
|
#include <QList>
|
|
|
|
namespace Solid
|
|
{
|
|
class Device;
|
|
}
|
|
|
|
/**
|
|
* @brief Item for the Device List model
|
|
* Represent a Solid::Device in the tree device list model.
|
|
* It helps to map the device in the tree.
|
|
*
|
|
* Keep a reference of the device that it maps.
|
|
*
|
|
* @author Michaël Larouche <michael.larouche@kdemail.net>
|
|
*/
|
|
class KDeviceListItem
|
|
{
|
|
public:
|
|
/**
|
|
* @brief Create a new DeviceListItem
|
|
*/
|
|
KDeviceListItem();
|
|
|
|
/**
|
|
* The d-tor duh.
|
|
*/
|
|
~KDeviceListItem();
|
|
|
|
/**
|
|
* @brief Return a child of this item according to the given row.
|
|
* @param row row of the child to retrieve.
|
|
* @return the child DeviceListItem
|
|
*/
|
|
KDeviceListItem *child(int row);
|
|
|
|
/**
|
|
* @brief Get all the children of this item.
|
|
* @return list of children.
|
|
*/
|
|
QList<KDeviceListItem*> children();
|
|
|
|
/**
|
|
* @brief Returns the index position of a child in the list.
|
|
* @param child the child to insert.
|
|
* @return the index position of a child in the list.
|
|
*/
|
|
int indexOf(KDeviceListItem *child) const;
|
|
|
|
/**
|
|
* @brief Helper method to get the numbers of childrens of this item.
|
|
* @return the child count of this item.
|
|
*/
|
|
int childCount() const;
|
|
|
|
/**
|
|
* Get the relative(to parent) row position of this item in the tree.
|
|
* @return the row position.
|
|
*/
|
|
int row() const;
|
|
|
|
/**
|
|
* @brief Set the parent of this item
|
|
* @param parent the parent DeviceListItem.
|
|
*/
|
|
void setParent(KDeviceListItem *parent);
|
|
|
|
/**
|
|
* @brief Get the parent of this item
|
|
* @return the parent DeviceListItem.
|
|
*/
|
|
KDeviceListItem *parent();
|
|
|
|
/**
|
|
* Get the Solid::Device reference for this item.
|
|
* @param device the Solid::Device reference.
|
|
*/
|
|
void setDevice(const Solid::Device &device);
|
|
|
|
/**
|
|
* Get the Solid::Device reference for this item.
|
|
* @return the Solid::Device reference.
|
|
*/
|
|
Solid::Device &device();
|
|
|
|
private:
|
|
/**
|
|
* @brief Helper method to append a child DeviceListItem.
|
|
* @param child child item to append.
|
|
*/
|
|
void appendChild(KDeviceListItem *child);
|
|
|
|
/**
|
|
* @brief Helper method to remove a child DeviceListItem.
|
|
* @param child child item to remove.
|
|
*/
|
|
void removeChild(KDeviceListItem *child);
|
|
|
|
class Private;
|
|
Private * const d;
|
|
};
|
|
|
|
#endif
|