Create the viewtext of the decorated edit box when the box is created, also adjust it so the text is drawn to the right of the left texture.
--HG-- branch : dfighter-tools
This commit is contained in:
parent
ba1e3c9919
commit
923b36f0e5
3 changed files with 43 additions and 28 deletions
|
@ -283,6 +283,10 @@ namespace NLGUI
|
||||||
|
|
||||||
sint32 _ViewTextDeltaX;
|
sint32 _ViewTextDeltaX;
|
||||||
|
|
||||||
|
CViewText* getVT() const{ return _ViewText; }
|
||||||
|
|
||||||
|
void createViewText();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setupDisplayText();
|
void setupDisplayText();
|
||||||
void makeTopWindow();
|
void makeTopWindow();
|
||||||
|
|
|
@ -1536,40 +1536,43 @@ namespace NLGUI
|
||||||
CInterfaceGroup::clearViews();
|
CInterfaceGroup::clearViews();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void CGroupEditBox::createViewText()
|
||||||
|
{
|
||||||
|
nlwarning("Interface: CGroupEditBox: text 'edit_text' missing or bad type");
|
||||||
|
nlwarning( "Trying to create a new 'edit_text' for %s", getId().c_str() );
|
||||||
|
_ViewText = dynamic_cast< CViewText* >( CInterfaceFactory::createClass( "text" ) );
|
||||||
|
if( _ViewText == NULL )
|
||||||
|
{
|
||||||
|
nlwarning( "Failed to create new 'edit_text' for %s", getId().c_str() );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ViewText->setParent( this );
|
||||||
|
_ViewText->setIdRecurse( "edit_text" );
|
||||||
|
_ViewText->setHardText( "" );
|
||||||
|
_ViewText->setPosRef( Hotspot_ML );
|
||||||
|
_ViewText->setParentPosRef( Hotspot_ML );
|
||||||
|
addView( _ViewText );
|
||||||
|
|
||||||
|
sint32 w,h;
|
||||||
|
w = std::max( sint32( _ViewText->getFontWidth() * _ViewText->getText().size() ), getW() );
|
||||||
|
h = std::max( sint32( _ViewText->getFontHeight() ), getH() );
|
||||||
|
|
||||||
|
setH( h );
|
||||||
|
setW( w );
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
void CGroupEditBox::setup()
|
void CGroupEditBox::setup()
|
||||||
{
|
{
|
||||||
// bind to the controls
|
// bind to the controls
|
||||||
_ViewText = dynamic_cast<CViewText *>(CInterfaceGroup::getView("edit_text"));
|
if( _ViewText == NULL )
|
||||||
|
_ViewText = dynamic_cast<CViewText *>(CInterfaceGroup::getView("edit_text"));
|
||||||
|
|
||||||
if(_ViewText == NULL)
|
if(_ViewText == NULL)
|
||||||
{
|
createViewText();
|
||||||
nlwarning("Interface: CGroupEditBox: text 'edit_text' missing or bad type");
|
|
||||||
if( editorMode )
|
|
||||||
{
|
|
||||||
nlwarning( "Trying to create a new 'edit_text' for %s", getId().c_str() );
|
|
||||||
_ViewText = dynamic_cast< CViewText* >( CInterfaceFactory::createClass( "text" ) );
|
|
||||||
if( _ViewText != NULL )
|
|
||||||
{
|
|
||||||
_ViewText->setParent( this );
|
|
||||||
_ViewText->setIdRecurse( "edit_text" );
|
|
||||||
_ViewText->setHardText( "" );
|
|
||||||
_ViewText->setPosRef( Hotspot_TL );
|
|
||||||
_ViewText->setParentPosRef( Hotspot_TL );
|
|
||||||
addView( _ViewText );
|
|
||||||
|
|
||||||
sint32 w,h;
|
|
||||||
w = std::max( sint32( _ViewText->getFontWidth() * _ViewText->getText().size() ), getW() );
|
|
||||||
h = std::max( sint32( _ViewText->getFontHeight() ), getH() );
|
|
||||||
|
|
||||||
setH( h );
|
|
||||||
setW( w );
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
nlwarning( "Failed to create new 'edit_text' for %s", getId().c_str() );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_ViewText->setEditorSelectable( false );
|
_ViewText->setEditorSelectable( false );
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include "stdpch.h"
|
#include "stdpch.h"
|
||||||
#include "nel/gui/group_editbox_decor.h"
|
#include "nel/gui/group_editbox_decor.h"
|
||||||
#include "nel/gui/view_bitmap.h"
|
#include "nel/gui/view_bitmap.h"
|
||||||
|
#include "nel/gui/view_text.h"
|
||||||
|
|
||||||
namespace NLGUI
|
namespace NLGUI
|
||||||
{
|
{
|
||||||
|
@ -162,6 +163,10 @@ namespace NLGUI
|
||||||
{
|
{
|
||||||
_Pvt = new EBDPrivate();
|
_Pvt = new EBDPrivate();
|
||||||
_Pvt->setup( this );
|
_Pvt->setup( this );
|
||||||
|
|
||||||
|
createViewText();
|
||||||
|
getVT()->setSerializable( false );
|
||||||
|
getVT()->setEditorSelectable( false );
|
||||||
}
|
}
|
||||||
|
|
||||||
CGroupEditBoxDecor::~CGroupEditBoxDecor()
|
CGroupEditBoxDecor::~CGroupEditBoxDecor()
|
||||||
|
@ -352,6 +357,9 @@ namespace NLGUI
|
||||||
|
|
||||||
void CGroupEditBoxDecor::updateCoords()
|
void CGroupEditBoxDecor::updateCoords()
|
||||||
{
|
{
|
||||||
|
sint32 tw = _Pvt->_Textures[ EBDPrivate::L ]->getWReal();
|
||||||
|
getVT()->setX( tw + 1 );
|
||||||
|
|
||||||
CGroupEditBox::updateCoords();
|
CGroupEditBox::updateCoords();
|
||||||
_Pvt->updateCoords();
|
_Pvt->updateCoords();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue