digiKam
Loading...
Searching...
No Matches
faceitem.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2010-09-17
7 * Description : Face tag region item
8 *
9 * SPDX-FileCopyrightText: 2010-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QObject>
20#include <QGraphicsWidget>
21
22// Local includes
23
24#include "facetagsiface.h"
25#include "assignnamewidget.h"
26#include "regionframeitem.h"
27
28namespace Digikam
29{
30
31class HidingStateChanger;
32
33class Q_DECL_HIDDEN FaceItem : public RegionFrameItem // clazy:exclude=ctor-missing-parent-argument
34{
35 Q_OBJECT
36
37public:
38
39 explicit FaceItem(QGraphicsItem* const parent);
40 ~FaceItem() override = default;
41
42 void setFace(const FaceTagsIface& face);
43 FaceTagsIface face() const;
44 void setHudWidget(AssignNameWidget* const widget);
45 AssignNameWidget* widget() const;
46 void switchMode(AssignNameWidget::Mode mode);
47 void setEditable(bool allowEdit);
48 void updateCurrentTag();
49
50protected:
51
53 AssignNameWidget* m_widget = nullptr;
54 HidingStateChanger* m_changer = nullptr;
55
56private:
57
58 // Disable
59 FaceItem() = delete;
60 FaceItem(const FaceItem&) = delete;
61 FaceItem& operator=(const FaceItem&) = delete;
62};
63
64} // namespace Digikam
Definition assignnamewidget.h:38
Mode
Definition assignnamewidget.h:48
Definition faceitem.h:34
~FaceItem() override=default
FaceTagsIface m_face
Definition faceitem.h:52
Definition facetagsiface.h:34
Definition itemvisibilitycontroller.h:272
Definition regionframeitem.h:33
Definition datefolderview.cpp:34