mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-10 22:24:33 +00:00
Merges in Monkey's fixes PR with a resolution for a conflict
This commit is contained in:
commit
bedc79aacb
22 changed files with 131 additions and 74 deletions
|
|
@ -128,9 +128,6 @@ bool GuiContainer::reOrder(SimObject* obj, SimObject* target)
|
|||
|
||||
bool GuiContainer::resize( const Point2I &newPosition, const Point2I &newExtent )
|
||||
{
|
||||
RectI oldBounds = getBounds();
|
||||
Point2I minExtent = getMinExtent();
|
||||
|
||||
if( !Parent::resize( newPosition, newExtent ) )
|
||||
return false;
|
||||
|
||||
|
|
|
|||
|
|
@ -493,6 +493,8 @@ void GuiScrollCtrl::calcThumbs()
|
|||
void GuiScrollCtrl::scrollDelta(S32 deltaX, S32 deltaY)
|
||||
{
|
||||
scrollTo(mChildRelPos.x + deltaX, mChildRelPos.y + deltaY);
|
||||
|
||||
onScroll_callback();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -622,7 +622,7 @@ S32 GuiTabBookCtrl::calculatePageTabWidth( GuiTabPageCtrl *page )
|
|||
|
||||
const char* text = page->getText();
|
||||
|
||||
if( !text || dStrlen(text) == 0 || mProfile->mFont == NULL )
|
||||
if( !text || dStrlen(text) == 0 || mProfile == NULL || mProfile->mFont == NULL )
|
||||
return mMinTabWidth;
|
||||
|
||||
GFont *font = mProfile->mFont;
|
||||
|
|
|
|||
|
|
@ -113,7 +113,10 @@ void GuiConsoleTextCtrl::onPreRender()
|
|||
{
|
||||
if ( mConsoleExpression.isNotEmpty() )
|
||||
{
|
||||
mResult = (const char*)Con::evaluatef( "$guiConsoleTextCtrlTemp = %s;", mConsoleExpression.c_str() );
|
||||
Con::evaluatef( "$guiConsoleTextCtrlTemp = %s;", mConsoleExpression.c_str() );
|
||||
|
||||
//Fixes a bug with the above not always grabbing the console text.
|
||||
mResult = Con::getVariable("$guiConsoleTextCtrlTemp");
|
||||
|
||||
// Of the resulting string we will be printing,
|
||||
// Find the number of lines and length of each.
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ DefineEngineMethod( GuiMLTextCtrl, scrollToTag, void, (S32 tagID),,
|
|||
object->scrollToTag( tagID );
|
||||
}
|
||||
|
||||
DefineEngineMethod( GuiMLTextCtrl, scrollToTop, void, ( S32 param1, S32 param2),,
|
||||
DefineEngineMethod( GuiMLTextCtrl, scrollToTop, void, (),,
|
||||
"@brief Scroll to the top of the text.\n\n"
|
||||
"@tsexample\n"
|
||||
"// Inform GuiMLTextCtrl object to scroll to its top\n"
|
||||
|
|
@ -631,7 +631,7 @@ bool GuiMLTextCtrl::setCursorPosition(const S32 newPosition)
|
|||
mCursorPosition = 0;
|
||||
return true;
|
||||
}
|
||||
else if (newPosition >= mTextBuffer.length())
|
||||
else if (newPosition >= mTextBuffer.length() - 1)
|
||||
{
|
||||
mCursorPosition = mTextBuffer.length();
|
||||
return true;
|
||||
|
|
@ -669,11 +669,11 @@ void GuiMLTextCtrl::getCursorPositionAndColor(Point2I &cursorTop, Point2I &curso
|
|||
{
|
||||
S32 x = 0;
|
||||
S32 y = 0;
|
||||
S32 height = mProfile->mFont->getHeight();
|
||||
S32 height = (mProfile && mProfile->mFont) ? mProfile->mFont->getHeight() : 0;
|
||||
color = mProfile->mCursorColor;
|
||||
for(Line *walk = mLineList; walk; walk = walk->next)
|
||||
{
|
||||
if ((mCursorPosition <= walk->textStart + walk->len) || (walk->next == NULL))
|
||||
if ((mCursorPosition < walk->textStart + walk->len) || (walk->next == NULL))
|
||||
{
|
||||
// it's in the atoms on this line...
|
||||
y = walk->y;
|
||||
|
|
@ -768,7 +768,7 @@ void GuiMLTextCtrl::onMouseDown(const GuiEvent& event)
|
|||
mSelectionAnchorDropped = event.mousePoint;
|
||||
if (mSelectionAnchor < 0)
|
||||
mSelectionAnchor = 0;
|
||||
else if (mSelectionAnchor >= mTextBuffer.length())
|
||||
else if (mSelectionAnchor >= mTextBuffer.length() - 1)
|
||||
mSelectionAnchor = mTextBuffer.length();
|
||||
|
||||
mVertMoveAnchorValid = false;
|
||||
|
|
|
|||
|
|
@ -212,8 +212,7 @@ void GuiTextEditCtrl::execConsoleCallback()
|
|||
Parent::execConsoleCallback();
|
||||
|
||||
// Update the console variable:
|
||||
if ( mConsoleVariable[0] )
|
||||
Con::setVariable( mConsoleVariable, mTextBuffer.getPtr8() );
|
||||
setVariable(mTextBuffer.getPtr8());
|
||||
}
|
||||
|
||||
void GuiTextEditCtrl::updateHistory( StringBuffer *inTxt, bool moveIndex )
|
||||
|
|
@ -374,6 +373,8 @@ S32 GuiTextEditCtrl::calculateCursorPos( const Point2I &globalPos )
|
|||
|
||||
void GuiTextEditCtrl::onMouseDown( const GuiEvent &event )
|
||||
{
|
||||
if(!isActive())
|
||||
return;
|
||||
mDragHit = false;
|
||||
|
||||
// If we have a double click, select all text. Otherwise
|
||||
|
|
|
|||
|
|
@ -604,6 +604,8 @@ void GuiControl::setUpdate()
|
|||
void GuiControl::renderJustifiedText(Point2I offset, Point2I extent, const char *text)
|
||||
{
|
||||
GFont *font = mProfile->mFont;
|
||||
if(!font)
|
||||
return;
|
||||
S32 textWidth = font->getStrWidthPrecise((const UTF8*)text);
|
||||
U32 textHeight = font->getHeight();
|
||||
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ IMPLEMENT_CALLBACK( GuiMenuBar, onSubmenuSelect, void, ( S32 submenuId, const ch
|
|||
// console methods
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
DefineEngineMethod( GuiMenuBar, clearMenus, void, ( S32 param1, S32 param2),,
|
||||
DefineEngineMethod( GuiMenuBar, clearMenus, void, (),,
|
||||
"@brief Clears all the menus from the menu bar.\n\n"
|
||||
"@tsexample\n"
|
||||
"// Inform the GuiMenuBar control to clear all menus from itself.\n"
|
||||
|
|
@ -1035,7 +1035,7 @@ void GuiMenuBar::addSubmenuItem(Menu *menu, MenuItem *submenu, const char *text,
|
|||
newMenuItem->checkGroup = checkGroup;
|
||||
newMenuItem->nextMenuItem = NULL;
|
||||
newMenuItem->acceleratorIndex = 0;
|
||||
newMenuItem->enabled = text[0] != '-';
|
||||
newMenuItem->enabled = (dStrlen(text) > 1 || text[0] != '-');
|
||||
newMenuItem->visible = true;
|
||||
newMenuItem->bitmapIndex = -1;
|
||||
|
||||
|
|
|
|||
|
|
@ -1608,6 +1608,8 @@ void GuiShapeEdPreview::renderNodes() const
|
|||
|
||||
void GuiShapeEdPreview::renderNodeAxes(S32 index, const ColorF& nodeColor) const
|
||||
{
|
||||
if(mModel->mNodeTransforms.size() <= index || index < 0)
|
||||
return;
|
||||
const Point3F xAxis( 1.0f, 0.15f, 0.15f );
|
||||
const Point3F yAxis( 0.15f, 1.0f, 0.15f );
|
||||
const Point3F zAxis( 0.15f, 0.15f, 1.0f );
|
||||
|
|
@ -1631,6 +1633,8 @@ void GuiShapeEdPreview::renderNodeAxes(S32 index, const ColorF& nodeColor) const
|
|||
|
||||
void GuiShapeEdPreview::renderNodeName(S32 index, const ColorF& textColor) const
|
||||
{
|
||||
if(index < 0 || index >= mModel->getShape()->nodes.size() || index >= mProjectedNodes.size())
|
||||
return;
|
||||
const TSShape::Node& node = mModel->getShape()->nodes[index];
|
||||
const String& nodeName = mModel->getShape()->getName( node.nameIndex );
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ ConsoleDocClass( GuiMouseEventCtrl,
|
|||
);
|
||||
|
||||
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseDown, void, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ),
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseDown, void, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ),
|
||||
( modifier, mousePoint, mouseClickCount ),
|
||||
"@brief Callback that occurs whenever the mouse is pressed down while in this control.\n\n"
|
||||
"@param modifier Key that was pressed during this callback. Values are:\n\n"
|
||||
|
|
@ -70,7 +70,7 @@ IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseDown, void, ( U8 modifier, Point2I
|
|||
"@see GuiControl\n\n"
|
||||
);
|
||||
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseUp, void, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ),
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseUp, void, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ),
|
||||
( modifier, mousePoint, mouseClickCount ),
|
||||
"@brief Callback that occurs whenever the mouse is released while in this control.\n\n"
|
||||
"@param modifier Key that was pressed during this callback. Values are:\n\n"
|
||||
|
|
@ -94,7 +94,7 @@ IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseUp, void, ( U8 modifier, Point2I m
|
|||
"@see GuiControl\n\n"
|
||||
);
|
||||
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseMove, void, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ),
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseMove, void, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ),
|
||||
( modifier, mousePoint, mouseClickCount ),
|
||||
"@brief Callback that occurs whenever the mouse is moved (without dragging) while in this control.\n\n"
|
||||
"@param modifier Key that was pressed during this callback. Values are:\n\n"
|
||||
|
|
@ -118,7 +118,7 @@ IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseMove, void, ( U8 modifier, Point2I
|
|||
"@see GuiControl\n\n"
|
||||
);
|
||||
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseDragged, void, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ),
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseDragged, void, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ),
|
||||
( modifier, mousePoint, mouseClickCount ),
|
||||
"@brief Callback that occurs whenever the mouse is dragged while in this control.\n\n"
|
||||
"@param modifier Key that was pressed during this callback. Values are:\n\n"
|
||||
|
|
@ -142,7 +142,7 @@ IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseDragged, void, ( U8 modifier, Poi
|
|||
"@see GuiControl\n\n"
|
||||
);
|
||||
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseEnter, void, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ),
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseEnter, void, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ),
|
||||
( modifier, mousePoint, mouseClickCount ),
|
||||
"@brief Callback that occurs whenever the mouse enters this control.\n\n"
|
||||
"@param modifier Key that was pressed during this callback. Values are:\n\n"
|
||||
|
|
@ -166,7 +166,7 @@ IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseEnter, void, ( U8 modifier, Point
|
|||
"@see GuiControl\n\n"
|
||||
);
|
||||
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseLeave, void, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ),
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseLeave, void, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ),
|
||||
( modifier, mousePoint, mouseClickCount ),
|
||||
"@brief Callback that occurs whenever the mouse leaves this control.\n\n"
|
||||
"@param modifier Key that was pressed during this callback. Values are:\n\n"
|
||||
|
|
@ -190,7 +190,7 @@ IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onMouseLeave, void, ( U8 modifier, Point
|
|||
"@see GuiControl\n\n"
|
||||
);
|
||||
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onRightMouseDown, void, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ),
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onRightMouseDown, void, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ),
|
||||
( modifier, mousePoint, mouseClickCount ),
|
||||
"@brief Callback that occurs whenever the right mouse button is pressed while in this control.\n\n"
|
||||
"@param modifier Key that was pressed during this callback. Values are:\n\n"
|
||||
|
|
@ -214,7 +214,7 @@ IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onRightMouseDown, void, ( U8 modifier, P
|
|||
"@see GuiControl\n\n"
|
||||
);
|
||||
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onRightMouseUp, void, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ),
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onRightMouseUp, void, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ),
|
||||
( modifier, mousePoint, mouseClickCount ),
|
||||
"@brief Callback that occurs whenever the right mouse button is released while in this control.\n\n"
|
||||
"@param modifier Key that was pressed during this callback. Values are:\n\n"
|
||||
|
|
@ -238,7 +238,7 @@ IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onRightMouseUp, void, ( U8 modifier, Poi
|
|||
"@see GuiControl\n\n"
|
||||
);
|
||||
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onRightMouseDragged, void, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ),
|
||||
IMPLEMENT_CALLBACK( GuiMouseEventCtrl, onRightMouseDragged, void, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ),
|
||||
( modifier, mousePoint, mouseClickCount ),
|
||||
"@brief Callback that occurs whenever the mouse is dragged in this control while the right mouse button is pressed.\n\n"
|
||||
"@param modifier Key that was pressed during this callback. Values are:\n\n"
|
||||
|
|
@ -270,11 +270,6 @@ GuiMouseEventCtrl::GuiMouseEventCtrl()
|
|||
//------------------------------------------------------------------------------
|
||||
void GuiMouseEventCtrl::sendMouseEvent(const char * name, const GuiEvent & event)
|
||||
{
|
||||
char buf[3][32];
|
||||
dSprintf(buf[0], 32, "%d", event.modifier);
|
||||
dSprintf(buf[1], 32, "%d %d", event.mousePoint.x, event.mousePoint.y);
|
||||
dSprintf(buf[2], 32, "%d", event.mouseClickCount);
|
||||
|
||||
if(dStricmp(name,"onMouseDown") == 0)
|
||||
onMouseDown_callback(event.modifier, event.mousePoint, event.mouseClickCount);
|
||||
else if(dStricmp(name,"onMouseUp") == 0)
|
||||
|
|
|
|||
|
|
@ -41,15 +41,15 @@ class GuiMouseEventCtrl : public GuiControl
|
|||
|
||||
GuiMouseEventCtrl();
|
||||
|
||||
DECLARE_CALLBACK( void, onMouseDown, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseUp, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseMove, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseDragged, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseEnter, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseLeave, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onRightMouseDown, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onRightMouseUp, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onRightMouseDragged, ( U8 modifier, Point2I mousePoint,U8 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseDown, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseUp, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseMove, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseDragged, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseEnter, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onMouseLeave, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onRightMouseDown, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onRightMouseUp, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ));
|
||||
DECLARE_CALLBACK( void, onRightMouseDragged, ( S32 modifier, Point2I mousePoint, S32 mouseClickCount ));
|
||||
|
||||
// GuiControl
|
||||
void onMouseDown(const GuiEvent & event);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue