${QT_COLLIDER_DIR}/QObjectProxy.h
${QT_COLLIDER_DIR}/QWidgetProxy.h
${QT_COLLIDER_DIR}/QtDownload.h
+ ${QT_COLLIDER_DIR}/QcCallback.hpp
${QT_COLLIDER_DIR}/widgets/BasicWidgets.h
${QT_COLLIDER_DIR}/widgets/QcButton.h
${QT_COLLIDER_DIR}/widgets/QcCheckBox.h
${QT_COLLIDER_DIR}/QWidgetProxy.cpp
${QT_COLLIDER_DIR}/QcObjectFactory.cpp
${QT_COLLIDER_DIR}/QtDownload.cpp
+ ${QT_COLLIDER_DIR}/QcCallback.cpp
${QT_COLLIDER_DIR}/hacks/hacks_x11.cpp
${QT_COLLIDER_DIR}/primitives/primitives.cpp
${QT_COLLIDER_DIR}/primitives/prim_QObject.cpp
--- /dev/null
+/*
+ SuperCollider Language
+ Copyright (c) 2018 SuperCollider Team
+ https://supercollider.github.io/
+
+ 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 of the License, 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.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#include "QcCallback.hpp"
+#include "QcObjectFactory.h"
+
+QC_DECLARE_QOBJECT_FACTORY(QcCallback);
--- /dev/null
+/*
+ SuperCollider Language
+ Copyright (c) 2018 SuperCollider Team
+ https://supercollider.github.io/
+
+ 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 of the License, 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.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#pragma once
+
+#include <QPointer>
+
+namespace QtCollider {
+
+class QcCallback;
+
+class QcCallbackWeakFunctor {
+public:
+ QcCallbackWeakFunctor(QPointer<QcCallback> cb): _cb(cb) {}
+
+ template <typename RESULT> void operator()(RESULT r) const;
+
+private:
+ QPointer<QcCallback> _cb;
+};
+
+class QcCallback : public QObject {
+ Q_OBJECT
+
+public:
+ QcCallback() {}
+
+ template <typename CallbackT> void call(const CallbackT& result) { Q_EMIT(onCalled(result)); }
+
+ QcCallbackWeakFunctor asFunctor() { return QcCallbackWeakFunctor(QPointer<QcCallback>(this)); }
+
+Q_SIGNALS:
+ void onCalled(bool);
+ void onCalled(const QString&);
+ void onCalled(const QVariant&);
+ void onCalled(const QUrl&);
+};
+
+template <typename RESULT> void QcCallbackWeakFunctor::operator()(RESULT r) const {
+ if (_cb) {
+ _cb->call(r);
+ }
+}
+
+} // namespace QtCollider
+
+Q_DECLARE_METATYPE(QtCollider::QcCallback*);
#include "Common.h" // Make sure PyrObject* is declared to QMetaType
#include <PyrKernel.h>
-#include "widgets/QcWebView.h"
+#include "QcCallback.hpp"
namespace QtCollider {
#include <QWebEngineCallback>
QC_DECLARE_QWIDGET_FACTORY(WebView);
-QC_DECLARE_QOBJECT_FACTORY(QcCallback);
namespace QtCollider {
#pragma once
+#include "../QcCallback.hpp"
#include <QWebEngineView>
#include <QWebEnginePage>
#include <QWebEngineCallback>
namespace QtCollider {
class WebPage;
-class QcCallback;
-
-class QcCallbackWeakFunctor {
-public:
- QcCallbackWeakFunctor(QPointer<QcCallback> cb): _cb(cb) {}
-
- template <typename RESULT> void operator()(RESULT r) const;
-
-private:
- QPointer<QcCallback> _cb;
-};
-
-class QcCallback : public QObject {
- Q_OBJECT
-
-public:
- QcCallback() {}
-
- template <typename CallbackT> void call(const CallbackT& result) { Q_EMIT(onCalled(result)); }
-
- QcCallbackWeakFunctor asFunctor() { return QcCallbackWeakFunctor(QPointer<QcCallback>(this)); }
-
-Q_SIGNALS:
- void onCalled(bool);
- void onCalled(const QString&);
- void onCalled(const QVariant&);
- void onCalled(const QUrl&);
-};
-
-template <typename RESULT> void QcCallbackWeakFunctor::operator()(RESULT r) const {
- if (_cb) {
- _cb->call(r);
- }
-}
-
class WebView : public QWebEngineView {
Q_OBJECT
};
} // namespace QtCollider
-
-using namespace QtCollider;
-Q_DECLARE_METATYPE(QcCallback*);