Esempio n. 1
0
bool UKUISliderWidget::OnMouseButtonDown( const FKUIInterfaceContainerMouseButtonEvent& stEventInfo )
{
	if ( !CanReceieveMouseEvents() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( stEventInfo.eButton != EMouseButtons::Left )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( !IsVisibleRecursive() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( IsDisabledRecursive() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( !IsMouseOver() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( oHandle.IsValid() && oHandle->IsMouseOver() )
	{
		if ( bHorizontal )
			fMouseDownOffset = stEventInfo.v2Location.X - oHandle->GetScreenLocation().X - oHandle->GetSize().X / 2.f;

		else
			fMouseDownOffset = stEventInfo.v2Location.Y - oHandle->GetScreenLocation().Y - oHandle->GetSize().Y / 2.f;
	}

	else
		fMouseDownOffset = 0.f;

	bDragging = true;
	OnDrag( bHorizontal ? stEventInfo.v2Location.X : stEventInfo.v2Location.Y );
	KUISendSubEvent( FKUIInterfaceEvent, EKUIInterfaceWidgetEventList::E_StateChange );

	return true;
}
Esempio n. 2
0
bool UKUISimpleClickWidget::OnMouseButtonDown( const FKUIInterfaceContainerMouseButtonEvent& stEventInfo )
{
	if ( stEventInfo.bHandled )
		return true;

	if ( !CanReceieveMouseEvents() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( stEventInfo.eButton != EMouseButtons::Left )
		return Super::OnMouseButtonDown( stEventInfo );

	bDown = false;

	if ( !bMouseOver )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( !IsVisibleRecursive() )
		return Super::OnMouseButtonDown( stEventInfo );

	if ( IsDisabledRecursive() )
		return Super::OnMouseButtonDown( stEventInfo );

	bDown = true;
	v2ClickOffset = stEventInfo.v2Location - GetScreenLocation();
	KUISendSubEvent( FKUIInterfaceEvent, EKUIInterfaceWidgetEventList::E_StateChange );

	return true;
}
Esempio n. 3
0
void UKUIInterfaceElement::SetContainer( UKUIInterfaceContainer* ctContainer )
{
	if ( ctContainer == this->ctContainer )
		return;

	if ( this->ctContainer.IsValid() )
	{
		KUISendSubEvent( FKUIInterfaceElementContainerEvent, EKUIInterfaceElementEventList::E_RemovedFromContainer, this->ctContainer.Get() );
	}

	this->ctContainer = ctContainer;

	// Run the child event to set up containers.
	if ( this->ctContainer != NULL )
	{
		KUISendSubEvent( FKUIInterfaceElementContainerEvent, EKUIInterfaceElementEventList::E_AddedToContainer, this->ctContainer.Get() );
	}
}
Esempio n. 4
0
void UKUISimpleClickWidget::OnMouseMove( const FKUIInterfaceContainerMouseLocationEvent& stEventInfo )
{
	Super::OnMouseMove( stEventInfo );

	if ( !CanReceieveMouseEvents() )
		return;

	bool bMouseOver = IsMouseOver();

	if ( this->bMouseOver == bMouseOver )
		return;

	this->bMouseOver = bMouseOver;
	KUISendSubEvent( FKUIInterfaceEvent, EKUIInterfaceWidgetEventList::E_StateChange );
}
Esempio n. 5
0
void UKUISliderWidget::SetValue( float fValue )
{
	//KUILogUO( "Value %f -> %f", this->fValue, fValue );

	if ( iStepCount == 0 )
		fValue = clamp( fValue, 0.f, 1.f );

	else
		fValue = round( clamp( fValue, 0.f, ( float ) iStepCount ) );

	if ( this->fValue == fValue )
		return;

	this->fValue = fValue;

	KUISendEvent( FKUIInterfaceEvent, EKUIInterfaceWidgetEventList::E_StateChange );
	KUISendSubEvent( FKUIInterfaceEvent, EKUIInterfaceWidgetEventList::E_ValueChange );
}
Esempio n. 6
0
bool UKUISliderWidget::OnMouseButtonUp( const FKUIInterfaceContainerMouseButtonEvent& stEventInfo )
{
	if ( !CanReceieveMouseEvents() )
		return Super::OnMouseButtonUp( stEventInfo );

	if ( stEventInfo.eButton != EMouseButtons::Left )
		return Super::OnMouseButtonUp( stEventInfo );

	if ( !IsVisibleRecursive() )
		return Super::OnMouseButtonUp( stEventInfo );

	if ( IsDisabledRecursive() )
		return Super::OnMouseButtonUp( stEventInfo );

	if ( !bDragging )
		return Super::OnMouseButtonUp( stEventInfo );

	bDragging = false;
	KUISendSubEvent( FKUIInterfaceEvent, EKUIInterfaceWidgetEventList::E_StateChange );

	return true;
}
Esempio n. 7
0
void UKUIInterfaceElement::OnAddedToContainer( const FKUIInterfaceElementContainerEvent& stEventInfo )
{
	this->ctContainer = stEventInfo.ctContainer;

	if ( this->ctContainer != NULL && this->ctContainer->IsInitialized() && !bInitialized )
	{
		UKUIInterfaceContainer* ctContainer = Cast<UKUIInterfaceContainer>( this );

		if ( ctContainer != NULL )
		{
			KUIBroadcastSubEventObj( ctContainer, FKUIInterfaceEvent, EKUIInterfaceElementEventList::E_Initialize );
		}

		else
		{
			KUISendSubEvent( FKUIInterfaceEvent, EKUIInterfaceElementEventList::E_Initialize );
		}
	}

	InvalidateAlignLocation();
	InvalidateContainerRenderCache();
}