Plugin manager: removed direct combo box population methods

pull/127/head
f4exb 2017-11-01 08:32:44 +01:00
rodzic 56bd15da85
commit 9293d4bc14
4 zmienionych plików z 27 dodań i 15 usunięć

Wyświetl plik

@ -216,7 +216,10 @@ void MainWindow::addSourceDevice()
m_deviceUIs.back()->m_deviceSourceAPI = deviceSourceAPI;
m_deviceUIs.back()->m_samplingDeviceControl->setDeviceAPI(deviceSourceAPI);
m_deviceUIs.back()->m_samplingDeviceControl->setPluginManager(m_pluginManager);
m_pluginManager->populateRxChannelComboBox(m_deviceUIs.back()->m_samplingDeviceControl->getChannelSelector());
QList<QString> channelNames;
m_pluginManager->listRxChannels(channelNames);
QStringList channelNamesList(channelNames);
m_deviceUIs.back()->m_samplingDeviceControl->getChannelSelector()->addItems(channelNamesList);
connect(m_deviceUIs.back()->m_samplingDeviceControl->getAddChannelButton(), SIGNAL(clicked(bool)), this, SLOT(on_channel_addClicked(bool)));
@ -279,7 +282,10 @@ void MainWindow::addSinkDevice()
m_deviceUIs.back()->m_deviceSinkAPI = deviceSinkAPI;
m_deviceUIs.back()->m_samplingDeviceControl->setDeviceAPI(deviceSinkAPI);
m_deviceUIs.back()->m_samplingDeviceControl->setPluginManager(m_pluginManager);
m_pluginManager->populateTxChannelComboBox(m_deviceUIs.back()->m_samplingDeviceControl->getChannelSelector());
QList<QString> channelNames;
m_pluginManager->listTxChannels(channelNames);
QStringList channelNamesList(channelNames);
m_deviceUIs.back()->m_samplingDeviceControl->getChannelSelector()->addItems(channelNamesList);
connect(m_deviceUIs.back()->m_samplingDeviceControl->getAddChannelButton(), SIGNAL(clicked(bool)), this, SLOT(on_channel_addClicked(bool)));

Wyświetl plik

@ -1,4 +1,3 @@
#include <QDockWidget>
#include "plugin/pluginapi.h"
#include "plugin/pluginmanager.h"

Wyświetl plik

@ -600,21 +600,25 @@ PluginInterface* PluginManager::getPluginInterfaceAt(int index)
}
}
void PluginManager::populateRxChannelComboBox(QComboBox *channels)
void PluginManager::listTxChannels(QList<QString>& list)
{
for(PluginAPI::ChannelRegistrations::iterator it = m_rxChannelRegistrations.begin(); it != m_rxChannelRegistrations.end(); ++it)
{
const PluginDescriptor& pluginDescipror = it->m_plugin->getPluginDescriptor();
channels->addItem(pluginDescipror.displayedName);
}
}
list.clear();
void PluginManager::populateTxChannelComboBox(QComboBox *channels)
{
for(PluginAPI::ChannelRegistrations::iterator it = m_txChannelRegistrations.begin(); it != m_txChannelRegistrations.end(); ++it)
{
const PluginDescriptor& pluginDescipror = it->m_plugin->getPluginDescriptor();
channels->addItem(pluginDescipror.displayedName);
list.append(pluginDescipror.displayedName);
}
}
void PluginManager::listRxChannels(QList<QString>& list)
{
list.clear();
for(PluginAPI::ChannelRegistrations::iterator it = m_rxChannelRegistrations.begin(); it != m_rxChannelRegistrations.end(); ++it)
{
const PluginDescriptor& pluginDescipror = it->m_plugin->getPluginDescriptor();
list.append(pluginDescipror.displayedName);
}
}

Wyświetl plik

@ -4,6 +4,9 @@
#include <stdint.h>
#include <QObject>
#include <QDir>
#include <QList>
#include <QString>
#include "plugin/plugininterface.h"
#include "plugin/pluginapi.h"
#include "util/export.h"
@ -70,11 +73,11 @@ public:
PluginInterface* getPluginInterfaceAt(int index);
void populateRxChannelComboBox(QComboBox *channels);
void createRxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet);
void listRxChannels(QList<QString>& list);
void populateTxChannelComboBox(QComboBox *channels);
void createTxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet);
void listTxChannels(QList<QString>& list);
private:
struct SamplingDeviceRegistration {