void CNotificationManager::registerUIDevice(CUIDevice * uiDevice) { QSystemTrayIcon * newTrayIcon = new QSystemTrayIcon(this); m_UIDeviceIcons.insert(uiDevice, newTrayIcon); newTrayIcon->setContextMenu(uiDevice->deviceMenu()); m_MainIcon->contextMenu()->insertMenu(m_InsertMarker, uiDevice->deviceMenu()); updateDeviceIcon(uiDevice); setIconVisible(uiDevice->m_ShowTrayIcon, uiDevice); connect(uiDevice, SIGNAL(showNotificationRequested(libnutcommon::DeviceState)), this, SLOT(showStateNotification(libnutcommon::DeviceState))); connect(uiDevice, SIGNAL(updateTrayIconRequested(libnutcommon::DeviceState)), this, SLOT(updateDeviceIcon())); connect(uiDevice, SIGNAL(showTrayIconRequested(bool)), this, SLOT(setIconVisible(bool))); connect(newTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(handleDeviceIconActivated(QSystemTrayIcon::ActivationReason))); }
void AgentComponent::executeEvent(GameEvent *event) { switch(event->id()) { case GameEvent::AG_SET_ICON: { // Get event data const char* data = static_cast<const char*>(event->data()); setIcon(data); break; } case GameEvent::AG_SET_ICONVISIBLE: { // Get event data bool* data = static_cast<bool*>(event->data()); setIconVisible(*data); break; } case GameEvent::AG_SET_VISIBLE: { // Get event data bool* data = static_cast<bool*>(event->data()); setVisible(*data); break; } case GameEvent::AG_SET_PARAM: { // Get event data AgentConfigData* data = static_cast<AgentConfigData*>(event->data()); switch(data->m_type) { case AgentConfigData::INT: Config::setParamI((Agent_Param::List)data->m_param, data->m_valueI); break; case AgentConfigData::FLOAT: Config::setParamF((Agent_Param::List)data->m_param, data->m_valueF); break; case AgentConfigData::STRING: Config::setParamS((Agent_Param::List)data->m_param, data->m_valueS); break; } break; } case GameEvent::AG_GET_PARAM: { // Get event data AgentConfigData* data = static_cast<AgentConfigData*>(event->data()); switch(data->m_type) { case AgentConfigData::INT: data->m_returnI = Config::getParamI((Agent_Param::List)data->m_param); break; case AgentConfigData::FLOAT: data->m_returnF = Config::getParamF((Agent_Param::List)data->m_param); break; case AgentConfigData::STRING: data->m_returnS = Config::getParamS((Agent_Param::List)data->m_param); break; } break; } } }