コード例 #1
0
ファイル: UIEditKeyBind.cpp プロジェクト: OLR-xray/XRay-NEW
bool CUIEditKeyBind::OnMouseDown(int mouse_btn)
{
	if (m_bEditMode)
	{		
		string64 message;
		
		m_keyboard				= dik_to_ptr(mouse_btn, true);
		if(!m_keyboard)			return true;
		SetText					(m_keyboard->key_local_name.c_str());
		OnFocusLost				();
		m_bChanged				= true;

		strcpy				(message, m_action->action_name);
		strcat				(message, "=");
		strcat				(message, m_keyboard->key_name);		
		SendMessage2Group	("key_binding",message);

		return					true;
	}

	if (mouse_btn==MOUSE_1)
		m_bEditMode = m_bCursorOverWindow;

	return CUILabel::OnMouseDown(mouse_btn);
}
コード例 #2
0
ファイル: UIWindow.cpp プロジェクト: 2asoft/xray
void CUIWindow::Update()
{
	if (GetUICursor()->IsVisible())
	{
		bool cursor_on_window;

		Fvector2			temp = GetUICursor()->GetCursorPosition();
		Frect				r;
		GetAbsoluteRect		(r);
		cursor_on_window	= !!r.in(temp);
		// RECEIVE and LOST focus
		if(m_bCursorOverWindow != cursor_on_window)
		{
			if(cursor_on_window)
				OnFocusReceive();			
			else
				OnFocusLost();			
		}
	}
	
	for(WINDOW_LIST_it it = m_ChildWndList.begin(); m_ChildWndList.end()!=it; ++it){
		if(!(*it)->IsShown()) continue;
			(*it)->Update();
	}
}
コード例 #3
0
ファイル: UIStatix.cpp プロジェクト: AntonioModer/xray-16
void CUIStatix::SetSelectedState(bool state)
{
	bool b		= m_bSelected;
	m_bSelected = state;

	if(	b==m_bSelected )		return;
	
	if (!state)
		OnFocusLost();

	if(state)
		start_anim();
	else
		stop_anim();
}
コード例 #4
0
ファイル: UIEditKeyBind.cpp プロジェクト: OLR-xray/XRay-NEW
bool CUIEditKeyBind::OnKeyboard(int dik, EUIMessages keyboard_action){
	if (dik == MOUSE_1 || dik == MOUSE_2 || dik == MOUSE_3)
		return false;
	if (CUILabel::OnKeyboard(dik, keyboard_action))
		return true;

	string64 message;
	if (m_bEditMode)
	{		
		m_keyboard			= dik_to_ptr(dik, true);
		if(!m_keyboard)			return true;

		strcpy				(message, m_action->action_name);
		strcat				(message, "=");
		strcat				(message, m_keyboard->key_name);		
		SetText				(m_keyboard->key_local_name.c_str());
		OnFocusLost			();
		m_bChanged			= true;
		SendMessage2Group	("key_binding",message);
		return				true;
	}
	return false;
}
コード例 #5
0
ファイル: Control.cpp プロジェクト: noparity/libsdlgui
void Control::NotificationFocusLost()
{
    m_flags ^= State::Focused;
    OnFocusLost();
}
コード例 #6
0
ファイル: UserWidget.cpp プロジェクト: ErwinT6/T6Engine
void UUserWidget::NativeOnFocusLost( const FFocusEvent& InFocusEvent )
{
	OnFocusLost( InFocusEvent );
}