mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-11 14:44:36 +00:00
Changes for BaseUI Update
This commit is contained in:
parent
90951b3cc8
commit
ed36cf2c5c
20 changed files with 156 additions and 45 deletions
|
|
@ -137,7 +137,7 @@ class GuiBitmapButtonCtrl : public GuiButtonCtrl
|
|||
if( mActive )
|
||||
{
|
||||
if( mDepressed || mStateOn ) return DEPRESSED;
|
||||
if( mMouseOver ) return HILIGHT;
|
||||
if( mHighlighted ) return HILIGHT;
|
||||
return NORMAL;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ void GuiBorderButtonCtrl::onRender(Point2I offset, const RectI &updateRect)
|
|||
}
|
||||
}
|
||||
|
||||
if ( mMouseOver )
|
||||
if ( mHighlighted )
|
||||
{
|
||||
RectI bounds( offset, getExtent() );
|
||||
for ( S32 i=0; i < mProfile->mBorderThickness; i++ )
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ EndImplementEnumType;
|
|||
GuiButtonBaseCtrl::GuiButtonBaseCtrl()
|
||||
{
|
||||
mDepressed = false;
|
||||
mMouseOver = false;
|
||||
mHighlighted = false;
|
||||
mActive = true;
|
||||
static StringTableEntry sButton = StringTable->insert( "Button" );
|
||||
mButtonText = sButton;
|
||||
|
|
@ -288,14 +288,14 @@ void GuiButtonBaseCtrl::onMouseEnter(const GuiEvent &event)
|
|||
if(isMouseLocked())
|
||||
{
|
||||
mDepressed = true;
|
||||
mMouseOver = true;
|
||||
mHighlighted = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mActive && mProfile->mSoundButtonOver )
|
||||
SFX->playOnce(mProfile->mSoundButtonOver);
|
||||
|
||||
mMouseOver = true;
|
||||
mHighlighted = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -309,7 +309,7 @@ void GuiButtonBaseCtrl::onMouseLeave(const GuiEvent &)
|
|||
onMouseLeave_callback();
|
||||
if( isMouseLocked() )
|
||||
mDepressed = false;
|
||||
mMouseOver = false;
|
||||
mHighlighted = false;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -542,3 +542,17 @@ DefineEngineMethod( GuiButtonBaseCtrl, resetState, void, (),,
|
|||
{
|
||||
object->resetState();
|
||||
}
|
||||
|
||||
DefineEngineMethod(GuiButtonBaseCtrl, setHighlighted, void, (bool highlighted), (false),
|
||||
"Reset the mousing state of the button.\n\n"
|
||||
"This method should not generally be called.")
|
||||
{
|
||||
object->setHighlighted(highlighted);
|
||||
}
|
||||
|
||||
DefineEngineMethod(GuiButtonBaseCtrl, isHighlighted, bool, (),,
|
||||
"Reset the mousing state of the button.\n\n"
|
||||
"This method should not generally be called.")
|
||||
{
|
||||
return object->isHighlighted();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class GuiButtonBaseCtrl : public GuiControl
|
|||
StringTableEntry mButtonText;
|
||||
StringTableEntry mButtonTextID;
|
||||
bool mDepressed;
|
||||
bool mMouseOver;
|
||||
bool mHighlighted;
|
||||
bool mStateOn;
|
||||
S32 mButtonType;
|
||||
S32 mRadioGroup;
|
||||
|
|
@ -95,7 +95,10 @@ class GuiButtonBaseCtrl : public GuiControl
|
|||
bool getStateOn() const { return mStateOn; }
|
||||
|
||||
void setDepressed( bool depressed ) { mDepressed = depressed; }
|
||||
void resetState() {mDepressed = false; mMouseOver = false;}
|
||||
void resetState() {mDepressed = false; mHighlighted = false;}
|
||||
|
||||
void setHighlighted(bool highlighted) { mHighlighted = highlighted; }
|
||||
bool isHighlighted() { return mHighlighted; }
|
||||
|
||||
void acceleratorKeyPress(U32 index);
|
||||
void acceleratorKeyRelease(U32 index);
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ bool GuiButtonCtrl::onWake()
|
|||
void GuiButtonCtrl::onRender(Point2I offset,
|
||||
const RectI& updateRect)
|
||||
{
|
||||
bool highlight = mMouseOver;
|
||||
bool highlight = mHighlighted;
|
||||
bool depressed = mDepressed;
|
||||
|
||||
ColorI fontColor = mActive ? ( highlight ? mProfile->mFontColorHL : mProfile->mFontColor ) : mProfile->mFontColorNA;
|
||||
|
|
@ -107,7 +107,7 @@ void GuiButtonCtrl::onRender(Point2I offset,
|
|||
indexMultiplier = 4;
|
||||
else if ( mDepressed || mStateOn )
|
||||
indexMultiplier = 2;
|
||||
else if ( mMouseOver )
|
||||
else if ( mHighlighted )
|
||||
indexMultiplier = 3;
|
||||
|
||||
renderSizableBitmapBordersFilled( boundsRect, indexMultiplier, mProfile );
|
||||
|
|
@ -123,3 +123,4 @@ void GuiButtonCtrl::onRender(Point2I offset,
|
|||
//render the children
|
||||
renderChildControls( offset, updateRect);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ void GuiCheckBoxCtrl::onRender(Point2I offset, const RectI &updateRect)
|
|||
}
|
||||
|
||||
ColorI backColor = mActive ? mProfile->mFillColor : mProfile->mFillColorNA;
|
||||
ColorI fontColor = mActive ? (mMouseOver ? mProfile->mFontColorHL : mProfile->mFontColor) : mProfile->mFontColorNA;
|
||||
ColorI fontColor = mActive ? (mHighlighted ? mProfile->mFontColorHL : mProfile->mFontColor) : mProfile->mFontColorNA;
|
||||
ColorI insideBorderColor = isFirstResponder() ? mProfile->mBorderColorHL : mProfile->mBorderColor;
|
||||
|
||||
// just draw the check box and the text:
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ void GuiIconButtonCtrl::onRender(Point2I offset, const RectI& updateRect)
|
|||
|
||||
void GuiIconButtonCtrl::renderButton( Point2I &offset, const RectI& updateRect )
|
||||
{
|
||||
bool highlight = mMouseOver;
|
||||
bool highlight = mHighlighted;
|
||||
bool depressed = mDepressed;
|
||||
|
||||
ColorI fontColor = mActive ? (highlight ? mProfile->mFontColorHL : mProfile->mFontColor) : mProfile->mFontColorNA;
|
||||
|
|
@ -236,7 +236,7 @@ void GuiIconButtonCtrl::renderButton( Point2I &offset, const RectI& updateRect )
|
|||
else
|
||||
renderSlightlyLoweredBox(boundsRect, mProfile);
|
||||
}
|
||||
else if(mMouseOver && mActive)
|
||||
else if(mHighlighted && mActive)
|
||||
{
|
||||
// If there is a bitmap array then render using it.
|
||||
// Otherwise use a standard fill.
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ bool GuiSwatchButtonCtrl::onWake()
|
|||
|
||||
void GuiSwatchButtonCtrl::onRender( Point2I offset, const RectI &updateRect )
|
||||
{
|
||||
bool highlight = mMouseOver;
|
||||
bool highlight = mHighlighted;
|
||||
|
||||
ColorI borderColor = mActive ? ( highlight ? mProfile->mBorderColorHL : mProfile->mBorderColor ) : mProfile->mBorderColorNA;
|
||||
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ void GuiToggleButtonCtrl::onPreRender()
|
|||
void GuiToggleButtonCtrl::onRender(Point2I offset,
|
||||
const RectI& updateRect)
|
||||
{
|
||||
bool highlight = mMouseOver;
|
||||
bool highlight = mHighlighted;
|
||||
bool depressed = mDepressed;
|
||||
|
||||
ColorI fontColor = mActive ? ( highlight ? mProfile->mFontColorHL : mProfile->mFontColor ) : mProfile->mFontColorNA;
|
||||
|
|
@ -89,7 +89,7 @@ void GuiToggleButtonCtrl::onRender(Point2I offset,
|
|||
indexMultiplier = 4;
|
||||
else if ( mDepressed || mStateOn )
|
||||
indexMultiplier = 2;
|
||||
else if ( mMouseOver )
|
||||
else if ( mHighlighted )
|
||||
indexMultiplier = 3;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ void GuiToolboxButtonCtrl::onRender(Point2I offset, const RectI& updateRect)
|
|||
RectI r(offset, getExtent());
|
||||
if ( mDepressed || mStateOn )
|
||||
renderStateRect( mLoweredBitmap , r );
|
||||
else if ( mMouseOver )
|
||||
else if ( mHighlighted )
|
||||
renderStateRect( mHoverBitmap , r );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ bool GuiGradientSwatchCtrl::onWake()
|
|||
|
||||
void GuiGradientSwatchCtrl::onRender( Point2I offset, const RectI &updateRect )
|
||||
{
|
||||
bool highlight = mMouseOver;
|
||||
bool highlight = mHighlighted;
|
||||
|
||||
ColorI borderColor = mActive ? ( highlight ? mProfile->mBorderColorHL : mProfile->mBorderColor ) : mProfile->mBorderColorNA;
|
||||
RectI renderRect( offset, getExtent() );
|
||||
|
|
@ -632,4 +632,4 @@ DefineEngineMethod(GuiGradientCtrl, getColor, LinearColorF, (S32 idx), , "Get co
|
|||
}
|
||||
|
||||
return LinearColorF::ONE;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -706,6 +706,9 @@ bool GuiCanvas::processInputEvent(InputEventInfo &inputEvent)
|
|||
if (mCursorEnabled || mForceMouseToGUI ||
|
||||
(mAlwaysHandleMouseButtons && inputEvent.objType == SI_BUTTON) )
|
||||
{
|
||||
if (inputEvent.objType != SI_AXIS && inputEvent.action == SI_MAKE)
|
||||
bool asdfasdf = true;
|
||||
|
||||
return processMouseEvent(inputEvent);
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -61,7 +61,8 @@ ConsoleDocClass( GuiInputCtrl,
|
|||
GuiInputCtrl::GuiInputCtrl()
|
||||
: mSendAxisEvents(false),
|
||||
mSendBreakEvents(false),
|
||||
mSendModifierEvents(false)
|
||||
mSendModifierEvents(false),
|
||||
mIgnoreMouseEvents(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -76,6 +77,8 @@ void GuiInputCtrl::initPersistFields()
|
|||
"If true, break events for all devices will generate callbacks (Default false).");
|
||||
addField("sendModifierEvents", TypeBool, Offset(mSendModifierEvents, GuiInputCtrl),
|
||||
"If true, Make events will be sent for modifier keys (Default false).");
|
||||
addField("ignoreMouseEvents", TypeBool, Offset(mIgnoreMouseEvents, GuiInputCtrl),
|
||||
"If true, any events from mouse devices will be passed through.");
|
||||
endGroup("GuiInputCtrl");
|
||||
|
||||
Parent::initPersistFields();
|
||||
|
|
@ -97,7 +100,7 @@ bool GuiInputCtrl::onWake()
|
|||
if ( !Parent::onWake() )
|
||||
return( false );
|
||||
|
||||
if( !smDesignTime )
|
||||
if( !smDesignTime && !mIgnoreMouseEvents)
|
||||
mouseLock();
|
||||
|
||||
setFirstResponder();
|
||||
|
|
@ -151,6 +154,9 @@ IMPLEMENT_CALLBACK(GuiInputCtrl, onAxisEvent, void, (const char* device, const c
|
|||
//------------------------------------------------------------------------------
|
||||
bool GuiInputCtrl::onInputEvent( const InputEventInfo &event )
|
||||
{
|
||||
if (mIgnoreMouseEvents && event.deviceType == MouseDeviceType)
|
||||
return false;
|
||||
|
||||
char deviceString[32];
|
||||
if ( event.action == SI_MAKE )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ protected:
|
|||
bool mSendAxisEvents;
|
||||
bool mSendBreakEvents;
|
||||
bool mSendModifierEvents;
|
||||
bool mIgnoreMouseEvents;
|
||||
|
||||
public:
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue