// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #ifndef SIGNALSLOTEDITOR_H #define SIGNALSLOTEDITOR_H #include "signalsloteditor_global.h" #include QT_BEGIN_NAMESPACE class DomConnections; namespace qdesigner_internal { class SignalSlotConnection; class QT_SIGNALSLOTEDITOR_EXPORT SignalSlotEditor : public ConnectionEdit { Q_OBJECT public: SignalSlotEditor(QDesignerFormWindowInterface *form_window, QWidget *parent); virtual void setSignal(SignalSlotConnection *con, const QString &member); virtual void setSlot(SignalSlotConnection *con, const QString &member); void setSource(Connection *con, const QString &obj_name) override; void setTarget(Connection *con, const QString &obj_name) override; DomConnections *toUi() const; void fromUi(const DomConnections *connections, QWidget *parent); QDesignerFormWindowInterface *formWindow() const { return m_form_window; } QObject *objectByName(QWidget *topLevel, const QString &name) const; void addEmptyConnection(); protected: QWidget *widgetAt(const QPoint &pos) const override; private: Connection *createConnection(QWidget *source, QWidget *destination) override; void modifyConnection(Connection *con) override; QDesignerFormWindowInterface *m_form_window; bool m_showAllSignalsSlots; friend class SetMemberCommand; }; } // namespace qdesigner_internal QT_END_NAMESPACE #endif // SIGNALSLOTEDITOR_H