Beispiel #1
0
void accelerator_map_erase(AcceleratorMap& acceleratorMap, Accelerator accelerator)
{
  if(accelerator.key != 0)
  {
    ASSERT_MESSAGE(acceleratorMap.find(accelerator) != acceleratorMap.end(), "failed to remove accelerator");
    acceleratorMap.erase(accelerator);
  }
}
Beispiel #2
0
void accelerator_map_insert(AcceleratorMap& acceleratorMap, Accelerator accelerator, const Callback& callback)
{
  if(accelerator.key != 0)
  {
    ASSERT_MESSAGE(acceleratorMap.find(accelerator) == acceleratorMap.end(), "failed to add accelerator");
    acceleratorMap.insert(AcceleratorMap::value_type(accelerator, callback));
  }
}
Beispiel #3
0
bool Keys_release(PressedKeys::Keys& keys, guint keyval)
{
  if(keys.erase(keyval) != 0)
  {
    return AcceleratorMap_activate(g_keyup_accelerators, accelerator_for_event_key(keyval, 0));
  }
  return g_keyup_accelerators.find(accelerator_for_event_key(keyval, 0)) != g_keyup_accelerators.end();
}
Beispiel #4
0
bool Keys_press(PressedKeys::Keys& keys, guint keyval)
{
  if(keys.insert(keyval).second)
  {
    return AcceleratorMap_activate(g_keydown_accelerators, accelerator_for_event_key(keyval, 0));
  }
  return g_keydown_accelerators.find(accelerator_for_event_key(keyval, 0)) != g_keydown_accelerators.end();
}
Beispiel #5
0
void GlobalQueuedAccelerators_commit()
{
  for(AcceleratorMap::const_iterator i = g_queuedAccelerators.begin(); i != g_queuedAccelerators.end(); ++i)
  {
    accel_group_add_accelerator(global_accel, (*i).first, (*i).second);
  }
  g_queuedAccelerators.clear();
}
Beispiel #6
0
bool AcceleratorMap_activate( const AcceleratorMap& acceleratorMap, const Accelerator& accelerator ){
	AcceleratorMap::const_iterator i = acceleratorMap.find( accelerator );
	if ( i != acceleratorMap.end() ) {
		( *i ).second();
		return true;
	}

	return false;
}
Beispiel #7
0
bool accelerator_map_erase( AcceleratorMap& acceleratorMap, Accelerator accelerator ){
	if ( accelerator.key != 0 ) {
		AcceleratorMap::iterator i = acceleratorMap.find( accelerator );
		if ( i == acceleratorMap.end() ) {
			return false;
		}
		acceleratorMap.erase( i );
	}
	return true;
}
Beispiel #8
0
void globalQueuedAccelerators_commit(){
	for ( AcceleratorSet::const_iterator i = g_queuedAcceleratorsRemove.begin(); i != g_queuedAcceleratorsRemove.end(); ++i )
	{
		//globalOutputStream() << "removing: " << (*i).first << "\n";
		accel_group_remove_accelerator( global_accel, *i );
	}
	g_queuedAcceleratorsRemove.clear();
	for ( AcceleratorMap::const_iterator i = g_queuedAcceleratorsAdd.begin(); i != g_queuedAcceleratorsAdd.end(); ++i )
	{
		//globalOutputStream() << "adding: " << (*i).first << "\n";
		accel_group_add_accelerator( global_accel, ( *i ).first, ( *i ).second );
	}
	g_queuedAcceleratorsAdd.clear();
}