Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/gui/ObjectBases/IGUIButtonBehavior.cpp
Show All 15 Lines | |||||
*/ | */ | ||||
#include "precompiled.h" | #include "precompiled.h" | ||||
#include "IGUIButtonBehavior.h" | #include "IGUIButtonBehavior.h" | ||||
#include "gui/CGUISprite.h" | #include "gui/CGUISprite.h" | ||||
const CStr IGUIButtonBehavior::EventNamePress = "Press"; | |||||
const CStr IGUIButtonBehavior::EventNamePressRight = "PressRight"; | |||||
const CStr IGUIButtonBehavior::EventNameDoublePress = "DoublePress"; | |||||
const CStr IGUIButtonBehavior::EventNameDoublePressRight = "DoublePressRight"; | |||||
IGUIButtonBehavior::IGUIButtonBehavior(IGUIObject& pObject) | IGUIButtonBehavior::IGUIButtonBehavior(IGUIObject& pObject) | ||||
: m_pObject(pObject), | : m_pObject(pObject), | ||||
m_Pressed(), | m_Pressed(), | ||||
m_PressedRight(), | m_PressedRight(), | ||||
m_SoundDisabled(), | m_SoundDisabled(), | ||||
m_SoundEnter(), | m_SoundEnter(), | ||||
m_SoundLeave(), | m_SoundLeave(), | ||||
m_SoundPressed(), | m_SoundPressed(), | ||||
Show All 32 Lines | case GUIM_MOUSE_LEAVE: | ||||
break; | break; | ||||
case GUIM_MOUSE_DBLCLICK_LEFT: | case GUIM_MOUSE_DBLCLICK_LEFT: | ||||
if (!m_pObject.IsEnabled()) | if (!m_pObject.IsEnabled()) | ||||
break; | break; | ||||
// Since GUIM_MOUSE_PRESS_LEFT also gets called twice in a | // Since GUIM_MOUSE_PRESS_LEFT also gets called twice in a | ||||
// doubleclick event, we let it handle playing sounds. | // doubleclick event, we let it handle playing sounds. | ||||
m_pObject.SendEvent(GUIM_DOUBLE_PRESSED, "doublepress"); | m_pObject.SendEvent(GUIM_DOUBLE_PRESSED, EventNameDoublePress); | ||||
break; | break; | ||||
case GUIM_MOUSE_PRESS_LEFT: | case GUIM_MOUSE_PRESS_LEFT: | ||||
if (!m_pObject.IsEnabled()) | if (!m_pObject.IsEnabled()) | ||||
{ | { | ||||
m_pObject.PlaySound(m_SoundDisabled); | m_pObject.PlaySound(m_SoundDisabled); | ||||
break; | break; | ||||
} | } | ||||
m_pObject.PlaySound(m_SoundPressed); | m_pObject.PlaySound(m_SoundPressed); | ||||
m_pObject.SendEvent(GUIM_PRESSED, "press"); | m_pObject.SendEvent(GUIM_PRESSED, EventNamePress); | ||||
m_Pressed = true; | m_Pressed = true; | ||||
break; | break; | ||||
case GUIM_MOUSE_DBLCLICK_RIGHT: | case GUIM_MOUSE_DBLCLICK_RIGHT: | ||||
if (!m_pObject.IsEnabled()) | if (!m_pObject.IsEnabled()) | ||||
break; | break; | ||||
// Since GUIM_MOUSE_PRESS_RIGHT also gets called twice in a | // Since GUIM_MOUSE_PRESS_RIGHT also gets called twice in a | ||||
// doubleclick event, we let it handle playing sounds. | // doubleclick event, we let it handle playing sounds. | ||||
m_pObject.SendEvent(GUIM_DOUBLE_PRESSED_MOUSE_RIGHT, "doublepressright"); | m_pObject.SendEvent(GUIM_DOUBLE_PRESSED_MOUSE_RIGHT, EventNameDoublePressRight); | ||||
break; | break; | ||||
case GUIM_MOUSE_PRESS_RIGHT: | case GUIM_MOUSE_PRESS_RIGHT: | ||||
if (!m_pObject.IsEnabled()) | if (!m_pObject.IsEnabled()) | ||||
{ | { | ||||
m_pObject.PlaySound(m_SoundDisabled); | m_pObject.PlaySound(m_SoundDisabled); | ||||
break; | break; | ||||
} | } | ||||
// Button was right-clicked | // Button was right-clicked | ||||
m_pObject.PlaySound(m_SoundPressed); | m_pObject.PlaySound(m_SoundPressed); | ||||
m_pObject.SendEvent(GUIM_PRESSED_MOUSE_RIGHT, "pressright"); | m_pObject.SendEvent(GUIM_PRESSED_MOUSE_RIGHT, EventNamePressRight); | ||||
m_PressedRight = true; | m_PressedRight = true; | ||||
break; | break; | ||||
case GUIM_MOUSE_RELEASE_RIGHT: | case GUIM_MOUSE_RELEASE_RIGHT: | ||||
if (!m_pObject.IsEnabled()) | if (!m_pObject.IsEnabled()) | ||||
break; | break; | ||||
if (m_PressedRight) | if (m_PressedRight) | ||||
Show All 35 Lines |
Wildfire Games · Phabricator