KProperty

KPropertyUrlEditor.h
1/* This file is part of the KDE project
2 Copyright (C) 2004 Cedric Pasteur <cedric.pasteur@free.fr>
3 Copyright (C) 2004 Alexander Dymo <cloudtemple@mskat.net>
4 Copyright (C) 2016-2018 Jarosław Staniek <staniek@kde.org>
5 Copyright (C) 2018 Dmitry Baryshev <dmitrymq@gmail.com>
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
16
17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
21*/
22
23#ifndef KPROPERTYURLEDITOR_H
24#define KPROPERTYURLEDITOR_H
25
26#include "KPropertyComposedUrl.h"
27#include "KPropertyWidgetsFactory.h"
28#include "KPropertyGenericSelectionEditor.h"
29
30#include <QUrl>
31
32class KPropertyUrlEditorPrivate;
33
34//! Editor for Url type
35class KPROPERTYWIDGETS_EXPORT KPropertyUrlEditor : public KPropertyGenericSelectionEditor
36{
37 Q_PROPERTY(QUrl value READ value WRITE setValue USER true)
38 Q_OBJECT
39
40public:
41 explicit KPropertyUrlEditor(const KProperty &property, QWidget *parent = nullptr);
42
43 ~KPropertyUrlEditor() override;
44
45 virtual QUrl value() const;
46
48 void commitData(QWidget * editor);
49
50public Q_SLOTS:
51 virtual void setValue(const QUrl &value);
52
53protected Q_SLOTS:
54 void selectButtonClicked() override;
55
56protected:
57 bool eventFilter(QObject *o, QEvent *event) override;
58
59private:
60 Q_DISABLE_COPY(KPropertyUrlEditor)
62};
63
64//! Delegate for Url and ComposedUrl types
65class KPROPERTYWIDGETS_EXPORT KPropertyUrlDelegate : public KPropertyEditorCreatorInterface,
67{
68public:
70
71 QWidget *createEditor(int type, QWidget *parent, const QStyleOptionViewItem &option,
72 const QModelIndex &index) const override;
73
74 QString valueToString(const QVariant &value, const QLocale &locale) const override;
75};
76
77#endif
An interface for editor widget creators.
A base class for use by editors that have widget on the left and "..." select button on the right.
virtual void selectButtonClicked()
Reimplement to react on clicking the "..." select button.
Delegate for Url and ComposedUrl types.
Editor for Url type.
Provides a specialized conversion of value to string depending on type.
The base class representing a single property.
Definition KProperty.h:96
Q_PROPERTY(...)
Q_SIGNALSQ_SIGNALS
Q_SLOTSQ_SLOTS
virtual bool eventFilter(QObject *watched, QEvent *event)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:11:18 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.