You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
1.9 KiB
92 lines
1.9 KiB
/* ============================================================
|
|
*
|
|
* This file is a part of digiKam project
|
|
* http://www.digikam.org
|
|
*
|
|
* Date : 2005-04-24
|
|
* Description : icons group item.
|
|
*
|
|
* Copyright (C) 2005 by Renchi Raju <renchi@pooh.tam.uiuc.edu>
|
|
*
|
|
* This program is free software; you can redistribute it
|
|
* and/or modify it under the terms of the GNU General
|
|
* Public License as published by the Free Software Foundation;
|
|
* either version 2, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This program 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 General Public License for more details.
|
|
*
|
|
* ============================================================ */
|
|
|
|
#ifndef ICONGROUPITEM_H
|
|
#define ICONGROUPITEM_H
|
|
|
|
// TQt includes.
|
|
|
|
#include <tqrect.h>
|
|
|
|
// Local includes.
|
|
|
|
#include "digikam_export.h"
|
|
|
|
namespace Digikam
|
|
{
|
|
|
|
class IconView;
|
|
class IconItem;
|
|
class IconGroupItemPriv;
|
|
|
|
class DIGIKAM_EXPORT IconGroupItem
|
|
{
|
|
friend class IconView;
|
|
|
|
public:
|
|
|
|
IconGroupItem(IconView* parent);
|
|
virtual ~IconGroupItem();
|
|
|
|
IconView* iconView() const;
|
|
|
|
IconGroupItem* nextGroup() const;
|
|
IconGroupItem* prevGroup() const;
|
|
|
|
TQRect rect() const;
|
|
int y() const;
|
|
bool move(int y);
|
|
|
|
IconItem* firstItem() const;
|
|
IconItem* lastItem() const;
|
|
|
|
int count() const;
|
|
int index(IconItem* item) const;
|
|
|
|
void clear(bool update=true);
|
|
void sort();
|
|
|
|
void insertItem(IconItem* item);
|
|
void takeItem(IconItem* item);
|
|
|
|
virtual int compare(IconGroupItem *group);
|
|
|
|
protected:
|
|
|
|
virtual void paintBanner();
|
|
|
|
private:
|
|
|
|
static int cmpItems(const void *n1, const void *n2);
|
|
|
|
private:
|
|
|
|
IconGroupItemPriv *d;
|
|
IconGroupItem *m_next;
|
|
IconGroupItem *m_prev;
|
|
};
|
|
|
|
} // namespace Digikam
|
|
|
|
#endif /* ICONGROUPITEM_H */
|