#include "MetaDataRegistry.hpp" #include #include #include #include "Radio.hpp" #include "FrequencyList.hpp" #include "AudioDevice.hpp" #include "Configuration.hpp" #include "StationList.hpp" #include "Transceiver.hpp" #include "TransceiverFactory.hpp" #include "WFPalette.hpp" #include "FrequencyLineEdit.hpp" QItemEditorFactory * item_editor_factory () { static QItemEditorFactory * our_item_editor_factory = new QItemEditorFactory; return our_item_editor_factory; } void register_types () { // types in Radio.hpp are registered in their own translation unit // as they are needed in the wsjtx_udp shared library too // we still have to register the fully qualified names of enum types // used as signal/slot connection arguments since the new Qt 5.5 // Q_ENUM macro only seems to register the unqualified name item_editor_factory ()->registerEditor (qMetaTypeId (), new QStandardItemEditorCreator ()); //auto frequency_delta_type_id = qRegisterMetaType ("FrequencyDelta"); item_editor_factory ()->registerEditor (qMetaTypeId (), new QStandardItemEditorCreator ()); // Frequency list model qRegisterMetaType ("Item"); qRegisterMetaTypeStreamOperators ("Item"); qRegisterMetaType ("FrequencyItems"); qRegisterMetaTypeStreamOperators ("FrequencyItems"); // Audio device qRegisterMetaType ("AudioDevice::Channel"); // Configuration #if QT_VERSION < 0x050500 qRegisterMetaType ("Configuration::DataMode"); qRegisterMetaType ("Configuration::Type2MsgGen"); #endif qRegisterMetaTypeStreamOperators ("Configuration::DataMode"); qRegisterMetaTypeStreamOperators ("Configuration::Type2MsgGen"); // Station details qRegisterMetaType ("Station"); qRegisterMetaType ("Stations"); qRegisterMetaTypeStreamOperators ("Station"); qRegisterMetaTypeStreamOperators ("Stations"); // Transceiver qRegisterMetaType ("Transceiver::TransceiverState"); qRegisterMetaType ("Transceiver::MODE"); // Transceiver factory #if QT_VERSION < 0x050500 qRegisterMetaType ("TransceiverFactory::DataBits"); qRegisterMetaType ("TransceiverFactory::StopBits"); qRegisterMetaType ("TransceiverFactory::Handshake"); qRegisterMetaType ("TransceiverFactory::PTTMethod"); qRegisterMetaType ("TransceiverFactory::TXAudioSource"); qRegisterMetaType ("TransceiverFactory::SplitMode"); #endif qRegisterMetaTypeStreamOperators ("TransceiverFactory::DataBits"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::StopBits"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::Handshake"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::PTTMethod"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::TXAudioSource"); qRegisterMetaTypeStreamOperators ("TransceiverFactory::SplitMode"); // Waterfall palette qRegisterMetaTypeStreamOperators ("Colours"); }