Beispiel #1
0
STDMETHODIMP CEventHandler::raw_ExecuteMenuItem( DOCSObjects::IDocProfiles *pProfiles, BSTR bsCmdID, SHORT *psRetCode )
{
	return ExecuteMenuItem(pProfiles, bsCmdID, psRetCode);
}
//----------------------------------------------
//	
//----------------------------------------------
void TLMenu::TMenuController::ProcessMessage(TLMessaging::TMessage& Message)
{
	TRefRef MessageRef = Message.GetMessageRef();
	
	//	open new menu
	if ( MessageRef == "Open" )
	{
		if(!m_QueuedCommand.GetRef().IsValid())
		{
			TRef MenuRef;
			if ( Message.ImportData( "MenuRef", MenuRef ) )
			{
				// Queue up the command.  
				m_QueuedCommand.SetRef(MessageRef);
				m_QueuedCommand.SetTypeRef(MenuRef);
			}
		}
		return;
	}
	
	//	close current menu
	if ( MessageRef == "Close" )
	{
		if(!m_QueuedCommand.GetRef().IsValid())
		{
			// Queue up the command.  
			m_QueuedCommand.SetRef(MessageRef);			
		}
		return;
	}
	
	//	close all menus
	if ( MessageRef == "CloseAll" )
	{
		CloseAllMenus();
		return;
	}
	
	//	highlight menu item
	if ( MessageRef == "Highlight" )
	{
		TRef MenuItemRef;
		if ( Message.ImportData( "ItemRef", MenuItemRef ) )
		{
			HighlightMenuItem( MenuItemRef );
		}
		return;
	}
	
	//	execute menu item
	if ( MessageRef == "Execute" )
	{
		TRef MenuItemRef;
		if ( Message.ImportData( "ItemRef", MenuItemRef ) )
		{
			ExecuteMenuItem( MenuItemRef );
		}
		return;
	}
	
	if(MessageRef == TLCore::UpdateRef)
	{
		Update();
	}
	
}