File indexing completed on 2025-03-09 04:06:00

0001 /* This file is part of the KDE project
0002  * SPDX-FileCopyrightText: 2012 Arjen Hiemstra <ahiemstra@heimr.nl>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KRITANAMESPACE_H
0008 #define KRITANAMESPACE_H
0009 
0010 #include <QObject>
0011 
0012 class ImageBuilder;
0013 class KritaNamespace : public QObject
0014 {
0015     Q_OBJECT
0016 
0017     Q_PROPERTY(QObject* ImageBuilder READ imageBuilder CONSTANT)
0018     Q_PROPERTY(QObject* Window READ window WRITE setWindow NOTIFY windowChanged)
0019     Q_PROPERTY(QObject* MouseTracker READ mouseTracker CONSTANT)
0020     Q_PROPERTY(QObject* VirtualKeyboardController READ virtualKeyboardController CONSTANT)
0021     Q_PROPERTY(QObject* ProgressProxy READ progressProxy CONSTANT)
0022 
0023 public:
0024     explicit KritaNamespace(QObject *parent = nullptr);
0025     ~KritaNamespace() override;
0026 
0027     QObject *imageBuilder() const;
0028     QObject *window() const;
0029     void setWindow(QObject* window);
0030     Q_SIGNAL void windowChanged();
0031     QObject *mouseTracker() const;
0032     QObject *virtualKeyboardController() const;
0033     QObject *progressProxy() const;
0034 
0035     Q_INVOKABLE bool fileExists(const QString& filename) const;
0036 
0037 private:
0038     class Private;
0039     Private * const d;
0040 };
0041 
0042 #endif // KRITANAMESPACE_H