Exemplo n.º 1
0
//=============================================================================
// METHOD: SPELLserverCif::notifyUserActionUnset
//=============================================================================
void SPELLserverCif::notifyUserActionUnset()
{
    SPELLipcMessage actionMessage(ExecutorMessages::MSG_ID_DISMISS_UACTION);
    actionMessage.setType(MSG_TYPE_ONEWAY);
    actionMessage.set( MessageField::FIELD_PROC_ID, getProcId() );
    sendGUIMessage(&actionMessage);
}
Exemplo n.º 2
0
//=============================================================================
// METHOD: SPELLserverCif::notifyUserActionEnable
//=============================================================================
void SPELLserverCif::notifyUserActionEnable( bool enable )
{
    if (enable)
    {
        SPELLipcMessage actionMessage(ExecutorMessages::MSG_ID_ENABLE_UACTION);
        actionMessage.setType(MSG_TYPE_ONEWAY);
        actionMessage.set( MessageField::FIELD_PROC_ID, getProcId() );
        sendGUIMessage(&actionMessage);
    }
    else
    {
        SPELLipcMessage actionMessage(ExecutorMessages::MSG_ID_DISABLE_UACTION);
        actionMessage.setType(MSG_TYPE_ONEWAY);
        actionMessage.set( MessageField::FIELD_PROC_ID, getProcId() );
        sendGUIMessage(&actionMessage);
    }
}
Exemplo n.º 3
0
//=============================================================================
// METHOD: SPELLserverCif::notifyUserActionSet
//=============================================================================
void SPELLserverCif::notifyUserActionSet( const std::string& label, const unsigned int severity )
{
    SPELLipcMessage actionMessage(ExecutorMessages::MSG_ID_SET_UACTION);
    actionMessage.setType(MSG_TYPE_ONEWAY);
    actionMessage.set( MessageField::FIELD_PROC_ID, getProcId() );
    actionMessage.set( MessageField::FIELD_ACTION_LABEL, label );
    switch(severity)
    {
    case LanguageConstants::INFORMATION:
        actionMessage.set( MessageField::FIELD_ACTION_SEVERITY, MessageValue::DATA_SEVERITY_INFO );
        break;
    case LanguageConstants::WARNING:
        actionMessage.set( MessageField::FIELD_ACTION_SEVERITY, MessageValue::DATA_SEVERITY_WARN );
        break;
    case LanguageConstants::ERROR:
        actionMessage.set( MessageField::FIELD_ACTION_SEVERITY, MessageValue::DATA_SEVERITY_ERROR );
        break;
    default:
        actionMessage.set( MessageField::FIELD_ACTION_SEVERITY, MessageValue::DATA_SEVERITY_INFO );
        break;
    }
    sendGUIMessage(&actionMessage);
}
		void CMouseButtonEventsTranslator::trigger ( shared_ptr<CMessage> _msg )
		{
			Messages::MessageType actionEventType(ACTION_EVENT_TYPE);
			CTimeModule* timeModule = CTimeModule::getInstancePtr();

			unsigned long int now = timeModule->getMsecs();
			unsigned long int period = now - m_lastTimeTriggerCalled;

			shared_ptr<Float> defaultMouseSensibility = shared_ptr<Float> (new Float(1.0f));
			shared_ptr< Gnoll::DynamicObject::Float > mouseSensibility = mouseConfig->getAttributeOrDefault<Float>("sensibility", defaultMouseSensibility);


			for( map<string, unsigned long int>::iterator it = m_durationButtonPressed.begin(); it != m_durationButtonPressed.end(); it++)
			{
				unsigned long int timePressed = it->second;

				if (m_buttonPressed[it->first] != 0)
				{
					timePressed += now - m_buttonPressed[it->first];

					m_buttonPressed[it->first] = now;
				}


				if (timePressed > 0)
				{

					float intensity = (float) timePressed / (float) period * (*mouseSensibility);

					shared_ptr<List> actionList = mouseButtonEventTranslationMap->getAttribute<List>( it->first );
					typedef list< shared_ptr<IAttribute> >::iterator ListIterator;

					/**
					 * Send all action messages in the list
					 */
					for (ListIterator itAttrs = actionList->begin(); itAttrs != actionList->end(); itAttrs++)
					{
						if (shared_ptr<String> actionName = dynamic_pointer_cast<String>(*itAttrs))
						{
							ActionEvent actionEvent(*actionName, intensity);

							shared_ptr<boost::any> data (new boost::any(actionEvent) ) ;
							shared_ptr<CMessage>  actionMessage (new CMessage( actionEventType, data ));


							std::ostringstream tmpString;
							try
							{
								CMessageModule::getInstancePtr()->getMessageManager()->queueMessage(actionMessage);
								tmpString << "Message ajoute ["<< *actionName << "]" << endl;
							}
							catch(...)
							{
								tmpString << "Message NON ajoute ["<< *actionName << "]" << " of intensity ";
								tmpString <<  intensity << " => " << timePressed << " / " << period;
							}

							Gnoll::Log::CLogModule::getInstancePtr()->logMessage( tmpString.str() );
							it->second = 0;
						}
					}
				}
			}

			m_lastTimeTriggerCalled = now;
		}