Esempio n. 1
0
void BaseObj::DeleteAction(const char *name)
{
   Action *action;

   if (!HasAction(name, &action))
      return;

   Action **new_actions;
   int i, index;

   index = 0;
   new_actions = new Action*[_numActions - 1];
   for (i = 0; i < _numActions; i++)
      if (_actions[i] != action)
         new_actions[index++] = _actions[i];
   delete action->ReferenceName;
   delete action->DisplayName;
   delete action->Nmemonic;
   delete action->AcceleratorText;
   delete action->Accelerator;
   delete action->Help;
   delete action->ContextualHelp;
   delete action->Dependancies;
   delete action;

   delete []_actions;
   _actions = new_actions;

   _numActions--;
}
Esempio n. 2
0
PdfAction* PdfAnnotation::GetAction() const
{
    if( !m_pAction && HasAction() )
        const_cast<PdfAnnotation*>(this)->m_pAction = new PdfAction( m_pObject->GetIndirectKey( "A" ) );

    return m_pAction;
}
Esempio n. 3
0
void InputSystem::AddActionHandler( uint32_t action, InputActionHandler handler )
{
	if (HasAction(action))
	{
		mActionHandlers[action] = handler;
	}
}
Esempio n. 4
0
boolean BaseObj::SendAction(const char *actionName,
		            BaseObj *requestor)
{
   Action *action;

   (void) HasAction(actionName, &action);
   return SendAction(action, requestor);
}
Esempio n. 5
0
boolean BaseObj::HasAction(Action *action)
{
   Action *dummy;

   if (action)
      return HasAction(action->ReferenceName, &dummy);
   else
      return false;
}
Esempio n. 6
0
boolean BaseObj::SendAction(Action *action,
		            BaseObj *requestor)
{
   boolean status;

   delete [] _lastActionOutput;
   free(_lastActionName);
   _lastActionOutput = NULL;
   _lastActionName = strdup(action->ReferenceName);
   if ((status = HasAction(action)) == true)
      _lastActionStatus = (*action->Handler)(this, &_lastActionOutput,
					     requestor);
   else
    {
      _lastActionStatus = -1;
      int len = strlen("'%s' is not an action of %s") +
		strlen(ObjectClassName()) + strlen(action->ReferenceName);
      _lastActionOutput = new char [len];
      sprintf(_lastActionOutput, "'%s' is not an action of %s", 
	      ObjectClassName(), action->ReferenceName);
    }
   return status;
}
Esempio n. 7
0
boolean BaseObj::HasAction(const char *actionName)
{
   Action *dummy;

   return HasAction(actionName, &dummy);
}