CHANGED: #1471 CViewText no longer depends on CInterfaceManager.
This commit is contained in:
parent
396abe14cf
commit
4e67289d6d
18 changed files with 144 additions and 133 deletions
|
@ -252,6 +252,7 @@ namespace NLGUI
|
||||||
bool isGroupContainer() const { return _IsGroupContainer; }
|
bool isGroupContainer() const { return _IsGroupContainer; }
|
||||||
bool isGroupScrollText() const{ return _IsGroupScrollText; }
|
bool isGroupScrollText() const{ return _IsGroupScrollText; }
|
||||||
bool isGroupInScene() const{ return _IsGroupInScene; }
|
bool isGroupInScene() const{ return _IsGroupInScene; }
|
||||||
|
bool isGroupList() const{ return _IsGroupList; }
|
||||||
|
|
||||||
CInterfaceGroup* getEnclosingContainer();
|
CInterfaceGroup* getEnclosingContainer();
|
||||||
|
|
||||||
|
@ -354,6 +355,7 @@ namespace NLGUI
|
||||||
bool _IsGroupContainer : 1; // faster than a virual call
|
bool _IsGroupContainer : 1; // faster than a virual call
|
||||||
bool _IsGroupScrollText : 1;
|
bool _IsGroupScrollText : 1;
|
||||||
bool _IsGroupInScene : 1;
|
bool _IsGroupInScene : 1;
|
||||||
|
bool _IsGroupList : 1;
|
||||||
bool _NeedFrameUpdatePos : 1; // typically For CGroupInScene
|
bool _NeedFrameUpdatePos : 1; // typically For CGroupInScene
|
||||||
sint32 _ResizeFromChildWMargin;
|
sint32 _ResizeFromChildWMargin;
|
||||||
sint32 _ResizeFromChildHMargin;
|
sint32 _ResizeFromChildHMargin;
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
#include "nel/misc/debug.h"
|
#include "nel/misc/debug.h"
|
||||||
#include "nel/misc/smart_ptr.h"
|
#include "nel/misc/smart_ptr.h"
|
||||||
#include "nel/misc/rgba.h"
|
#include "nel/misc/rgba.h"
|
||||||
|
#include "libxml/globals.h"
|
||||||
|
#include "nel/misc/xml_auto_ptr.h"
|
||||||
|
|
||||||
namespace NL3D
|
namespace NL3D
|
||||||
{
|
{
|
||||||
|
|
|
@ -578,6 +578,8 @@ namespace NLGUI
|
||||||
static NL3D::UTextContext *textcontext;
|
static NL3D::UTextContext *textcontext;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
static NL3D::UTextContext* getTextContext(){ return textcontext; }
|
||||||
|
|
||||||
static std::set< std::string > *hwCursors;
|
static std::set< std::string > *hwCursors;
|
||||||
static float hwCursorScale;
|
static float hwCursorScale;
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "nel/misc/rgba.h"
|
#include "nel/misc/rgba.h"
|
||||||
#include "nel/misc/types_nl.h"
|
#include "nel/misc/types_nl.h"
|
||||||
#include "nel/gui/interface_common.h"
|
#include "nel/gui/interface_common.h"
|
||||||
|
#include "nel/gui/interface_options.h"
|
||||||
|
|
||||||
namespace NLMISC
|
namespace NLMISC
|
||||||
{
|
{
|
||||||
|
@ -302,6 +303,45 @@ namespace NLGUI
|
||||||
// Get the User DblClick Delay (according to save...), in milisecond
|
// Get the User DblClick Delay (according to save...), in milisecond
|
||||||
uint getUserDblClickDelay();
|
uint getUserDblClickDelay();
|
||||||
|
|
||||||
|
/// \name Global Interface Options
|
||||||
|
// @{
|
||||||
|
|
||||||
|
// List of system options
|
||||||
|
enum TSystemOption{
|
||||||
|
OptionCtrlSheetGrayColor=0,
|
||||||
|
OptionCtrlTextGrayColor,
|
||||||
|
OptionCtrlSheetRedifyColor,
|
||||||
|
OptionCtrlTextRedifyColor,
|
||||||
|
OptionCtrlSheetGreenifyColor,
|
||||||
|
OptionCtrlTextGreenifyColor,
|
||||||
|
OptionViewTextOverBackColor,
|
||||||
|
OptionFont,
|
||||||
|
OptionAddCoefFont,
|
||||||
|
OptionMulCoefAnim,
|
||||||
|
OptionTimeoutBubbles,
|
||||||
|
OptionTimeoutMessages,
|
||||||
|
OptionTimeoutContext,
|
||||||
|
OptionTimeoutContextHtml,
|
||||||
|
NumSystemOptions
|
||||||
|
};
|
||||||
|
|
||||||
|
void setupOptions();
|
||||||
|
/** Get a system option by its enum (faster than getOptions() and getVal())
|
||||||
|
* NB: array updated after each parseInterface()
|
||||||
|
*/
|
||||||
|
const CInterfaceOptionValue &getSystemOption( TSystemOption o ) const{ return _SystemOptions[ o ]; }
|
||||||
|
|
||||||
|
// @}
|
||||||
|
|
||||||
|
CInterfaceElement* getOverExtendViewText(){ return _OverExtendViewText; }
|
||||||
|
NLMISC::CRGBA& getOverExtendViewTextBackColor(){ return _OverExtendViewTextBackColor; }
|
||||||
|
|
||||||
|
// For single lined ViewText that are clipped: on over of viewText too big, the text is drawn on top. A CRefPtr is kept
|
||||||
|
void setOverExtendViewText( CInterfaceElement *vt, NLMISC::CRGBA backGround ){
|
||||||
|
_OverExtendViewText = vt;
|
||||||
|
_OverExtendViewTextBackColor = backGround;
|
||||||
|
}
|
||||||
|
|
||||||
static IParser *parser;
|
static IParser *parser;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -345,6 +385,13 @@ namespace NLGUI
|
||||||
NLMISC::CCDBNodeLeaf *_AProp;
|
NLMISC::CCDBNodeLeaf *_AProp;
|
||||||
|
|
||||||
bool _MouseHandlingEnabled;
|
bool _MouseHandlingEnabled;
|
||||||
|
|
||||||
|
// System Options
|
||||||
|
CInterfaceOptionValue _SystemOptions[ NumSystemOptions ];
|
||||||
|
|
||||||
|
// The next ViewText to draw for Over
|
||||||
|
NLMISC::CRefPtr< CInterfaceElement > _OverExtendViewText;
|
||||||
|
NLMISC::CRGBA _OverExtendViewTextBackColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,6 +60,7 @@ namespace NLGUI
|
||||||
_IsGroupContainer = false;
|
_IsGroupContainer = false;
|
||||||
_IsGroupScrollText = false;
|
_IsGroupScrollText = false;
|
||||||
_IsGroupInScene = false;
|
_IsGroupInScene = false;
|
||||||
|
_IsGroupList = false;
|
||||||
_AHOnActive = NULL;
|
_AHOnActive = NULL;
|
||||||
_AHOnDeactive = NULL;
|
_AHOnDeactive = NULL;
|
||||||
_AHOnLeftClick = NULL;
|
_AHOnLeftClick = NULL;
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
|
|
||||||
|
|
||||||
#include "nel/gui/interface_element.h"
|
#include "nel/gui/interface_element.h"
|
||||||
#include "nel/misc/xml_auto_ptr.h"
|
|
||||||
#include "nel/gui/interface_options.h"
|
#include "nel/gui/interface_options.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
|
@ -1419,8 +1419,32 @@ namespace NLGUI
|
||||||
uint dbclickDelay = (uint)(DOUBLE_CLICK_MIN + (DOUBLE_CLICK_MAX-DOUBLE_CLICK_MIN) * (float)nVal / 100.0f);
|
uint dbclickDelay = (uint)(DOUBLE_CLICK_MIN + (DOUBLE_CLICK_MAX-DOUBLE_CLICK_MIN) * (float)nVal / 100.0f);
|
||||||
return dbclickDelay;
|
return dbclickDelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
void CWidgetManager::setupOptions()
|
||||||
|
{
|
||||||
|
// After parsing options and templates node -> init system options.
|
||||||
|
CInterfaceOptions *opt = getOptions( "system" );
|
||||||
|
if( opt != NULL )
|
||||||
|
{
|
||||||
|
// List here all Special options
|
||||||
|
_SystemOptions[OptionCtrlSheetGrayColor]= opt->getValue("ctrl_sheet_gray_color");
|
||||||
|
_SystemOptions[OptionCtrlTextGrayColor]= opt->getValue("ctrl_text_gray_color");
|
||||||
|
_SystemOptions[OptionCtrlSheetRedifyColor]= opt->getValue("ctrl_sheet_redify_color");
|
||||||
|
_SystemOptions[OptionCtrlTextRedifyColor]= opt->getValue("ctrl_text_redify_color");
|
||||||
|
_SystemOptions[OptionCtrlSheetGreenifyColor]= opt->getValue("ctrl_sheet_greenify_color");
|
||||||
|
_SystemOptions[OptionCtrlTextGreenifyColor]= opt->getValue("ctrl_text_greenify_color");
|
||||||
|
_SystemOptions[OptionViewTextOverBackColor]= opt->getValue("text_over_back_color");
|
||||||
|
_SystemOptions[OptionFont]= opt->getValue("font");
|
||||||
|
_SystemOptions[OptionAddCoefFont]= opt->getValue("add_coef_font");
|
||||||
|
_SystemOptions[OptionMulCoefAnim]= opt->getValue("mul_coef_anim");
|
||||||
|
_SystemOptions[OptionTimeoutBubbles]= opt->getValue("bubbles_timeout");
|
||||||
|
_SystemOptions[OptionTimeoutMessages]= opt->getValue("messages_timeout");
|
||||||
|
_SystemOptions[OptionTimeoutContext]= opt->getValue("context_timeout");
|
||||||
|
_SystemOptions[OptionTimeoutContextHtml]= opt->getValue("context_html_timeout");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
CWidgetManager::CWidgetManager()
|
CWidgetManager::CWidgetManager()
|
||||||
{
|
{
|
||||||
|
|
|
@ -2108,8 +2108,8 @@ void CDBCtrlSheet::drawSheet (sint32 x, sint32 y, bool draging, bool showSelecti
|
||||||
curNoSheetColor= CRGBA(255,255,255, CWidgetManager::getInstance()->getGlobalColorForContent().A);
|
curNoSheetColor= CRGBA(255,255,255, CWidgetManager::getInstance()->getGlobalColorForContent().A);
|
||||||
|
|
||||||
// The gray color
|
// The gray color
|
||||||
CRGBA grayColor= pIM->getSystemOption(CInterfaceManager::OptionCtrlSheetGrayColor).getValColor();
|
CRGBA grayColor= CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlSheetGrayColor).getValColor();
|
||||||
CRGBA redifyColor= pIM->getSystemOption(CInterfaceManager::OptionCtrlSheetRedifyColor).getValColor();
|
CRGBA redifyColor= CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlSheetRedifyColor).getValColor();
|
||||||
|
|
||||||
// The color of the number.
|
// The color of the number.
|
||||||
CRGBA numberColor;
|
CRGBA numberColor;
|
||||||
|
|
|
@ -89,34 +89,34 @@ void CDBGroupListSheetMission::CSheetChildMission::updateViewText(CDBGroupListSh
|
||||||
if (CachePreReqState == MISSION_DESC::PreReqFail)
|
if (CachePreReqState == MISSION_DESC::PreReqFail)
|
||||||
{
|
{
|
||||||
// If mission prerequesits failed for miscellaneaous reasons : COLOR RED
|
// If mission prerequesits failed for miscellaneaous reasons : COLOR RED
|
||||||
CRGBA color = pIM->getSystemOption(CInterfaceManager::OptionCtrlSheetRedifyColor).getValColor();
|
CRGBA color = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlSheetRedifyColor).getValColor();
|
||||||
|
|
||||||
Ctrl->setGrayed(true);
|
Ctrl->setGrayed(true);
|
||||||
Ctrl->setSheetColor(color);
|
Ctrl->setSheetColor(color);
|
||||||
|
|
||||||
color = pIM->getSystemOption(CInterfaceManager::OptionCtrlTextRedifyColor).getValColor();
|
color = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlTextRedifyColor).getValColor();
|
||||||
Text->setColor(color);
|
Text->setColor(color);
|
||||||
}
|
}
|
||||||
else if (CachePreReqState == MISSION_DESC::PreReqFailAlreadyDone)
|
else if (CachePreReqState == MISSION_DESC::PreReqFailAlreadyDone)
|
||||||
{
|
{
|
||||||
// If mission prerequesits failed because mission is already done : COLOR GREEN
|
// If mission prerequesits failed because mission is already done : COLOR GREEN
|
||||||
CRGBA color = pIM->getSystemOption(CInterfaceManager::OptionCtrlSheetGreenifyColor).getValColor();
|
CRGBA color = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlSheetGreenifyColor).getValColor();
|
||||||
|
|
||||||
Ctrl->setGrayed(true);
|
Ctrl->setGrayed(true);
|
||||||
Ctrl->setSheetColor(color);
|
Ctrl->setSheetColor(color);
|
||||||
|
|
||||||
color = pIM->getSystemOption(CInterfaceManager::OptionCtrlTextGreenifyColor).getValColor();
|
color = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlTextGreenifyColor).getValColor();
|
||||||
Text->setColor(color);
|
Text->setColor(color);
|
||||||
}
|
}
|
||||||
else if (CachePreReqState == MISSION_DESC::PreReqFailRunning)
|
else if (CachePreReqState == MISSION_DESC::PreReqFailRunning)
|
||||||
{
|
{
|
||||||
// If mission prerequesits failed because the mission is in progress : COLOR GRAY
|
// If mission prerequesits failed because the mission is in progress : COLOR GRAY
|
||||||
CRGBA color = pIM->getSystemOption(CInterfaceManager::OptionCtrlSheetGrayColor).getValColor();
|
CRGBA color = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlSheetGrayColor).getValColor();
|
||||||
|
|
||||||
Ctrl->setGrayed(true);
|
Ctrl->setGrayed(true);
|
||||||
Ctrl->setSheetColor(color);
|
Ctrl->setSheetColor(color);
|
||||||
|
|
||||||
color = pIM->getSystemOption(CInterfaceManager::OptionCtrlTextGrayColor).getValColor();
|
color = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlTextGrayColor).getValColor();
|
||||||
Text->setColor(color);
|
Text->setColor(color);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -506,8 +506,8 @@ void CDBGroupListSheetText::checkCoords ()
|
||||||
{
|
{
|
||||||
// The gray color
|
// The gray color
|
||||||
CRGBA normalColor= _TextTemplate.getColor();
|
CRGBA normalColor= _TextTemplate.getColor();
|
||||||
CRGBA grayColor= pIM->getSystemOption(CInterfaceManager::OptionCtrlSheetGrayColor).getValColor();
|
CRGBA grayColor= CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlSheetGrayColor).getValColor();
|
||||||
CRGBA redifyColor= pIM->getSystemOption(CInterfaceManager::OptionCtrlTextRedifyColor).getValColor();
|
CRGBA redifyColor= CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlTextRedifyColor).getValColor();
|
||||||
grayColor.modulateFromColor(grayColor, normalColor);
|
grayColor.modulateFromColor(grayColor, normalColor);
|
||||||
redifyColor.modulateFromColor(redifyColor, normalColor);
|
redifyColor.modulateFromColor(redifyColor, normalColor);
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,7 @@ void contextHelp (const std::string &name)
|
||||||
completeURL += "_" + ClientCfg.getHtmlLanguageCode() + ".html";
|
completeURL += "_" + ClientCfg.getHtmlLanguageCode() + ".html";
|
||||||
// Add bubble
|
// Add bubble
|
||||||
InSceneBubbleManager.addContextHelpHTML(completeURL, target,
|
InSceneBubbleManager.addContextHelpHTML(completeURL, target,
|
||||||
pIM->getSystemOption(CInterfaceManager::OptionTimeoutContextHtml).getValSInt32());
|
CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionTimeoutContextHtml).getValSInt32());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Found one help
|
// Found one help
|
||||||
|
@ -565,7 +565,7 @@ void CGroupInSceneBubbleManager::addMessagePopup (const ucstring &message, CRGBA
|
||||||
|
|
||||||
// default timeout?
|
// default timeout?
|
||||||
if(time==0)
|
if(time==0)
|
||||||
time=pIM->getSystemOption(CInterfaceManager::OptionTimeoutMessages).getValSInt32();
|
time=CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionTimeoutMessages).getValSInt32();
|
||||||
|
|
||||||
// Create a skill popup
|
// Create a skill popup
|
||||||
string id = "message_popup_"+toString(_PopupCount++);
|
string id = "message_popup_"+toString(_PopupCount++);
|
||||||
|
@ -614,7 +614,7 @@ void CGroupInSceneBubbleManager::addMessagePopupCenter (const ucstring &message,
|
||||||
|
|
||||||
// default timeout?
|
// default timeout?
|
||||||
if(time==0)
|
if(time==0)
|
||||||
time= pIM->getSystemOption(CInterfaceManager::OptionTimeoutMessages).getValSInt32();
|
time= CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionTimeoutMessages).getValSInt32();
|
||||||
|
|
||||||
// Create a skill popup
|
// Create a skill popup
|
||||||
string id = "message_popup_"+toString(_PopupCount++);
|
string id = "message_popup_"+toString(_PopupCount++);
|
||||||
|
@ -825,7 +825,7 @@ void CGroupInSceneBubbleManager::chatOpen (uint32 nUID, const ucstring &ucsText,
|
||||||
|
|
||||||
CCharacterCL *pChar = dynamic_cast<CCharacterCL*>(EntitiesMngr.getEntityByCompressedIndex(nUID));
|
CCharacterCL *pChar = dynamic_cast<CCharacterCL*>(EntitiesMngr.getEntityByCompressedIndex(nUID));
|
||||||
if (pChar == NULL || nUID==CLFECOMMON::INVALID_CLIENT_DATASET_INDEX) return;
|
if (pChar == NULL || nUID==CLFECOMMON::INVALID_CLIENT_DATASET_INDEX) return;
|
||||||
if (bubbleTimer == 0) bubbleTimer = pIM->getSystemOption(CInterfaceManager::OptionTimeoutBubbles).getValSInt32();
|
if (bubbleTimer == 0) bubbleTimer = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionTimeoutBubbles).getValSInt32();
|
||||||
|
|
||||||
// Output the message in a bubble
|
// Output the message in a bubble
|
||||||
|
|
||||||
|
@ -1575,7 +1575,7 @@ class CHandlerCharacterBubble : public IActionHandler
|
||||||
string sTime = getParam (sParams, "time");
|
string sTime = getParam (sParams, "time");
|
||||||
uint duration;
|
uint duration;
|
||||||
if (sTime.empty())
|
if (sTime.empty())
|
||||||
duration = pIM->getSystemOption(CInterfaceManager::OptionTimeoutBubbles).getValSInt32();
|
duration = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionTimeoutBubbles).getValSInt32();
|
||||||
else
|
else
|
||||||
fromString(sTime, duration);
|
fromString(sTime, duration);
|
||||||
|
|
||||||
|
@ -1602,7 +1602,7 @@ class CHandlerSkillPopup : public IActionHandler
|
||||||
string sTime = getParam (sParams, "time");
|
string sTime = getParam (sParams, "time");
|
||||||
uint duration;
|
uint duration;
|
||||||
if (sTime.empty())
|
if (sTime.empty())
|
||||||
duration = pIM->getSystemOption(CInterfaceManager::OptionTimeoutMessages).getValSInt32();
|
duration = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionTimeoutMessages).getValSInt32();
|
||||||
else
|
else
|
||||||
fromString(sTime, duration);
|
fromString(sTime, duration);
|
||||||
|
|
||||||
|
@ -1626,7 +1626,7 @@ class CHandlerMessagePopup : public IActionHandler
|
||||||
string sTime = getParam (sParams, "time");
|
string sTime = getParam (sParams, "time");
|
||||||
uint duration;
|
uint duration;
|
||||||
if (sTime.empty())
|
if (sTime.empty())
|
||||||
duration = pIM->getSystemOption(CInterfaceManager::OptionTimeoutMessages).getValSInt32();
|
duration = CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionTimeoutMessages).getValSInt32();
|
||||||
else
|
else
|
||||||
fromString(sTime, duration);
|
fromString(sTime, duration);
|
||||||
|
|
||||||
|
@ -1651,7 +1651,7 @@ class CHandlerContextHelp : public IActionHandler
|
||||||
if (itext.empty())
|
if (itext.empty())
|
||||||
itext = CI18N::get(text);
|
itext = CI18N::get(text);
|
||||||
|
|
||||||
InSceneBubbleManager.addContextHelp (itext, targetName, pIM->getSystemOption(CInterfaceManager::OptionTimeoutContext).getValSInt32());
|
InSceneBubbleManager.addContextHelp (itext, targetName, CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionTimeoutContext).getValSInt32());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
REGISTER_ACTION_HANDLER( CHandlerContextHelp, "context_help");
|
REGISTER_ACTION_HANDLER( CHandlerContextHelp, "context_help");
|
||||||
|
|
|
@ -53,6 +53,7 @@ CGroupList::CGroupList(const TCtorParam ¶m)
|
||||||
_Over = false;
|
_Over = false;
|
||||||
_OverColor = CRGBA(255, 255, 255, 32);
|
_OverColor = CRGBA(255, 255, 255, 32);
|
||||||
_OverElt = -1;
|
_OverElt = -1;
|
||||||
|
_IsGroupList = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
|
@ -685,7 +685,7 @@ void CGroupTree::draw()
|
||||||
}
|
}
|
||||||
|
|
||||||
// will be drawn over all the interface
|
// will be drawn over all the interface
|
||||||
pIM->setOverExtendViewText(viewTextExtend, col);
|
CWidgetManager::getInstance()->setOverExtendViewText(viewTextExtend, col);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,7 +123,7 @@ bool CInterfaceTrack::parse (xmlNodePtr cur, CInterfaceGroup *parentGroup)
|
||||||
{
|
{
|
||||||
double dTime;
|
double dTime;
|
||||||
fromString(k.Time, dTime);
|
fromString(k.Time, dTime);
|
||||||
k.Time = toString(dTime * CInterfaceManager::getInstance()->getSystemOption(CInterfaceManager::OptionMulCoefAnim).getValFloat());
|
k.Time = toString(dTime * CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionMulCoefAnim).getValFloat());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Depending on the type of the track read extra values
|
// Depending on the type of the track read extra values
|
||||||
|
@ -193,7 +193,7 @@ bool CInterfaceTrack::parse (xmlNodePtr cur, CInterfaceGroup *parentGroup)
|
||||||
|
|
||||||
float fAnimTime;
|
float fAnimTime;
|
||||||
fromString((const char*)time, fAnimTime);
|
fromString((const char*)time, fAnimTime);
|
||||||
TAnimationTime animTime = fAnimTime * CInterfaceManager::getInstance()->getSystemOption(CInterfaceManager::OptionMulCoefAnim).getValFloat();
|
TAnimationTime animTime = fAnimTime * CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionMulCoefAnim).getValFloat();
|
||||||
double animValue;
|
double animValue;
|
||||||
fromString(value, animValue);
|
fromString(value, animValue);
|
||||||
|
|
||||||
|
@ -544,7 +544,7 @@ bool CInterfaceAnim::parse (xmlNodePtr cur, CInterfaceGroup *parentGroup)
|
||||||
fromString((const char*)ptr, _Duration);
|
fromString((const char*)ptr, _Duration);
|
||||||
if (_Duration == 0)
|
if (_Duration == 0)
|
||||||
_Duration = 1.0;
|
_Duration = 1.0;
|
||||||
_Duration *= CInterfaceManager::getInstance()->getSystemOption(CInterfaceManager::OptionMulCoefAnim).getValFloat();
|
_Duration *= CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionMulCoefAnim).getValFloat();
|
||||||
|
|
||||||
ptr = xmlGetProp (cur, (xmlChar*)"disable_buttons");
|
ptr = xmlGetProp (cur, (xmlChar*)"disable_buttons");
|
||||||
if (ptr)
|
if (ptr)
|
||||||
|
|
|
@ -1343,36 +1343,17 @@ void CInterfaceManager::updateFrameViews(NL3D::UCamera camera)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
|
||||||
void CInterfaceManager::setupOptions()
|
void CInterfaceManager::setupOptions()
|
||||||
{
|
{
|
||||||
// After parsing options and templates node -> init system options.
|
CWidgetManager *wm = CWidgetManager::getInstance();
|
||||||
CInterfaceOptions *opt= CWidgetManager::getInstance()->getOptions("system");
|
wm->setupOptions();
|
||||||
if(opt)
|
|
||||||
{
|
|
||||||
// List here all Special options
|
|
||||||
_SystemOptions[OptionCtrlSheetGrayColor]= opt->getValue("ctrl_sheet_gray_color");
|
|
||||||
_SystemOptions[OptionCtrlTextGrayColor]= opt->getValue("ctrl_text_gray_color");
|
|
||||||
_SystemOptions[OptionCtrlSheetRedifyColor]= opt->getValue("ctrl_sheet_redify_color");
|
|
||||||
_SystemOptions[OptionCtrlTextRedifyColor]= opt->getValue("ctrl_text_redify_color");
|
|
||||||
_SystemOptions[OptionCtrlSheetGreenifyColor]= opt->getValue("ctrl_sheet_greenify_color");
|
|
||||||
_SystemOptions[OptionCtrlTextGreenifyColor]= opt->getValue("ctrl_text_greenify_color");
|
|
||||||
_SystemOptions[OptionViewTextOverBackColor]= opt->getValue("text_over_back_color");
|
|
||||||
_SystemOptions[OptionFont]= opt->getValue("font");
|
|
||||||
_SystemOptions[OptionAddCoefFont]= opt->getValue("add_coef_font");
|
|
||||||
_SystemOptions[OptionMulCoefAnim]= opt->getValue("mul_coef_anim");
|
|
||||||
_SystemOptions[OptionTimeoutBubbles]= opt->getValue("bubbles_timeout");
|
|
||||||
_SystemOptions[OptionTimeoutMessages]= opt->getValue("messages_timeout");
|
|
||||||
_SystemOptions[OptionTimeoutContext]= opt->getValue("context_timeout");
|
|
||||||
_SystemOptions[OptionTimeoutContextHtml]= opt->getValue("context_html_timeout");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try to change font if any
|
// Try to change font if any
|
||||||
string sFont = _SystemOptions[OptionFont].getValStr();
|
string sFont = wm->getSystemOption( CWidgetManager::OptionFont ).getValStr();
|
||||||
|
|
||||||
extern void resetTextContext( const char*, bool );
|
extern void resetTextContext( const char*, bool );
|
||||||
if ((!sFont.empty()) && (driver != NULL))
|
if ((!sFont.empty()) && (driver != NULL))
|
||||||
resetTextContext(sFont.c_str(), true);
|
resetTextContext(sFont.c_str(), true);
|
||||||
|
|
||||||
// Continue to parse the rest of the interface
|
// Continue to parse the rest of the interface
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4029,21 +4010,14 @@ void CInterfaceManager::incLocalSyncActionCounter()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ***************************************************************************
|
|
||||||
void CInterfaceManager::setOverExtendViewText(CViewText *vt, CRGBA backGround)
|
|
||||||
{
|
|
||||||
_OverExtendViewText= vt;
|
|
||||||
_OverExtendViewTextBackColor= backGround;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CInterfaceManager::drawOverExtendViewText()
|
void CInterfaceManager::drawOverExtendViewText()
|
||||||
{
|
{
|
||||||
// CViewRenderer &rVR= getViewRenderer();
|
// CViewRenderer &rVR= getViewRenderer();
|
||||||
|
|
||||||
if(_OverExtendViewText)
|
if( CWidgetManager::getInstance()->getOverExtendViewText() )
|
||||||
{
|
{
|
||||||
CViewText *vtSrc= safe_cast<CViewText*>((CInterfaceElement*)_OverExtendViewText);
|
CViewText *vtSrc= safe_cast<CViewText*>( CWidgetManager::getInstance()->getOverExtendViewText() );
|
||||||
|
|
||||||
CInterfaceGroup *groupOver = getWindowForActiveMasterGroup("over_extend_view_text");
|
CInterfaceGroup *groupOver = getWindowForActiveMasterGroup("over_extend_view_text");
|
||||||
if(groupOver)
|
if(groupOver)
|
||||||
|
@ -4065,7 +4039,7 @@ void CInterfaceManager::drawOverExtendViewText()
|
||||||
CViewBitmap *pBack= dynamic_cast<CViewBitmap*>(groupOver->getView("midback"));
|
CViewBitmap *pBack= dynamic_cast<CViewBitmap*>(groupOver->getView("midback"));
|
||||||
CViewBitmap *pOutline= dynamic_cast<CViewBitmap*>(groupOver->getView("midoutline"));
|
CViewBitmap *pOutline= dynamic_cast<CViewBitmap*>(groupOver->getView("midoutline"));
|
||||||
if(pBack)
|
if(pBack)
|
||||||
pBack->setColor(_OverExtendViewTextBackColor);
|
pBack->setColor( CWidgetManager::getInstance()->getOverExtendViewTextBackColor() );
|
||||||
if(pOutline)
|
if(pOutline)
|
||||||
{
|
{
|
||||||
pOutline->setColor(vtSrc->getColor());
|
pOutline->setColor(vtSrc->getColor());
|
||||||
|
@ -4112,7 +4086,7 @@ void CInterfaceManager::drawOverExtendViewText()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset the ptr so at next frame, won't be rendered (but if reset)
|
// Reset the ptr so at next frame, won't be rendered (but if reset)
|
||||||
_OverExtendViewText= NULL;
|
CWidgetManager::getInstance()->setOverExtendViewText( NULL, CWidgetManager::getInstance()->getOverExtendViewTextBackColor() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -315,39 +315,8 @@ public:
|
||||||
// display a system info string
|
// display a system info string
|
||||||
void displaySystemInfo(const ucstring &str, const std::string &Category = "SYS");
|
void displaySystemInfo(const ucstring &str, const std::string &Category = "SYS");
|
||||||
NLMISC::CRGBA getSystemInfoColor(const std::string &Category = "SYS");
|
NLMISC::CRGBA getSystemInfoColor(const std::string &Category = "SYS");
|
||||||
/// \name Global Interface Options
|
|
||||||
// @{
|
|
||||||
|
|
||||||
// List of system options
|
|
||||||
enum TSystemOption
|
|
||||||
{
|
|
||||||
OptionCtrlSheetGrayColor=0,
|
|
||||||
OptionCtrlTextGrayColor,
|
|
||||||
OptionCtrlSheetRedifyColor,
|
|
||||||
OptionCtrlTextRedifyColor,
|
|
||||||
OptionCtrlSheetGreenifyColor,
|
|
||||||
OptionCtrlTextGreenifyColor,
|
|
||||||
OptionViewTextOverBackColor,
|
|
||||||
OptionFont,
|
|
||||||
OptionAddCoefFont,
|
|
||||||
OptionMulCoefAnim,
|
|
||||||
OptionTimeoutBubbles,
|
|
||||||
OptionTimeoutMessages,
|
|
||||||
OptionTimeoutContext,
|
|
||||||
OptionTimeoutContextHtml,
|
|
||||||
|
|
||||||
NumSystemOptions,
|
|
||||||
};
|
|
||||||
|
|
||||||
virtual void setupOptions();
|
|
||||||
|
|
||||||
/** Get a system option by its enum (faster than getOptions() and getVal())
|
|
||||||
* NB: array updated after each parseInterface()
|
|
||||||
*/
|
|
||||||
const CInterfaceOptionValue &getSystemOption(TSystemOption o) const {return _SystemOptions[o];}
|
|
||||||
|
|
||||||
// @}
|
|
||||||
|
|
||||||
|
void setupOptions();
|
||||||
|
|
||||||
/** Open a MessageBox. this is a simple ModalWindow with a Ok button
|
/** Open a MessageBox. this is a simple ModalWindow with a Ok button
|
||||||
* ui:interface:message_box must be defined in xml, with a "text" ViewText son
|
* ui:interface:message_box must be defined in xml, with a "text" ViewText son
|
||||||
|
@ -493,9 +462,6 @@ public:
|
||||||
return fTmp*fTmp*fTmp;
|
return fTmp*fTmp*fTmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
// For single lined ViewText that are clipped: on over of viewText too big, the text is drawn on top. A CRefPtr is kept
|
|
||||||
void setOverExtendViewText(CViewText *vt, NLMISC::CRGBA backGround);
|
|
||||||
|
|
||||||
// Item Carac Test, get the value
|
// Item Carac Test, get the value
|
||||||
bool isItemCaracRequirementMet(CHARACTERISTICS::TCharacteristics type, sint32 value)
|
bool isItemCaracRequirementMet(CHARACTERISTICS::TCharacteristics type, sint32 value)
|
||||||
{
|
{
|
||||||
|
@ -730,9 +696,6 @@ private:
|
||||||
bool isControlInWindow (CCtrlBase *ctrl, CInterfaceGroup *pNewCurrentWnd);
|
bool isControlInWindow (CCtrlBase *ctrl, CInterfaceGroup *pNewCurrentWnd);
|
||||||
uint getDepth (CCtrlBase *ctrl, CInterfaceGroup *pNewCurrentWnd);
|
uint getDepth (CCtrlBase *ctrl, CInterfaceGroup *pNewCurrentWnd);
|
||||||
|
|
||||||
// System Options
|
|
||||||
CInterfaceOptionValue _SystemOptions[NumSystemOptions];
|
|
||||||
|
|
||||||
// Modes
|
// Modes
|
||||||
CInterfaceConfig::CDesktopImage _Modes[MAX_NUM_MODES];
|
CInterfaceConfig::CDesktopImage _Modes[MAX_NUM_MODES];
|
||||||
uint8 _CurrentMode;
|
uint8 _CurrentMode;
|
||||||
|
@ -758,9 +721,6 @@ private:
|
||||||
NLMISC::CCDBNodeLeaf *_ErrorColor;
|
NLMISC::CCDBNodeLeaf *_ErrorColor;
|
||||||
NLMISC::CCDBNodeLeaf *_AlphaRolloverSpeedDB;
|
NLMISC::CCDBNodeLeaf *_AlphaRolloverSpeedDB;
|
||||||
|
|
||||||
// The next ViewText to draw for Over
|
|
||||||
NLMISC::CRefPtr<CInterfaceElement> _OverExtendViewText;
|
|
||||||
NLMISC::CRGBA _OverExtendViewTextBackColor;
|
|
||||||
void drawOverExtendViewText();
|
void drawOverExtendViewText();
|
||||||
|
|
||||||
CInterfaceGroup *getWindowForActiveMasterGroup(const std::string &windowName);
|
CInterfaceGroup *getWindowForActiveMasterGroup(const std::string &windowName);
|
||||||
|
|
|
@ -97,14 +97,14 @@ void addKeyLine (CGroupList *pParent, const ucstring &keyName, const ucstring &s
|
||||||
if (pViewKeyName != NULL)
|
if (pViewKeyName != NULL)
|
||||||
{
|
{
|
||||||
pViewKeyName->setText (keyName);
|
pViewKeyName->setText (keyName);
|
||||||
pViewKeyName->setColor(grayed?pIM->getSystemOption(CInterfaceManager::OptionCtrlTextGrayColor).getValColor():CRGBA::White);
|
pViewKeyName->setColor(grayed?CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlTextGrayColor).getValColor():CRGBA::White);
|
||||||
}
|
}
|
||||||
|
|
||||||
CViewText *pViewShortcutName = dynamic_cast<CViewText*>(pKeysLine->getView(TEMPLATE_KEYS_SHORTCUT_NAME));
|
CViewText *pViewShortcutName = dynamic_cast<CViewText*>(pKeysLine->getView(TEMPLATE_KEYS_SHORTCUT_NAME));
|
||||||
if (pViewShortcutName != NULL)
|
if (pViewShortcutName != NULL)
|
||||||
{
|
{
|
||||||
pViewShortcutName->setText (shortcutName);
|
pViewShortcutName->setText (shortcutName);
|
||||||
pViewShortcutName->setColor(grayed?pIM->getSystemOption(CInterfaceManager::OptionCtrlTextGrayColor).getValColor():CRGBA::White);
|
pViewShortcutName->setColor(grayed?CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionCtrlTextGrayColor).getValColor():CRGBA::White);
|
||||||
}
|
}
|
||||||
|
|
||||||
pKeysLine->setParent (pParent);
|
pKeysLine->setParent (pParent);
|
||||||
|
|
|
@ -18,13 +18,13 @@
|
||||||
#include "nel/misc/i18n.h"
|
#include "nel/misc/i18n.h"
|
||||||
|
|
||||||
#include "view_text.h"
|
#include "view_text.h"
|
||||||
#include "interface_manager.h"
|
|
||||||
#include "nel/gui/view_renderer.h"
|
#include "nel/gui/view_renderer.h"
|
||||||
#include "nel/gui/widget_manager.h"
|
#include "nel/gui/widget_manager.h"
|
||||||
#include "nel/gui/group_container_base.h"
|
#include "nel/gui/group_container_base.h"
|
||||||
#include "nel/gui/ctrl_tooltip.h"
|
#include "nel/gui/ctrl_tooltip.h"
|
||||||
#include "nel/misc/xml_auto_ptr.h"
|
#include "nel/misc/xml_auto_ptr.h"
|
||||||
#include "nel/gui/lua_ihm.h"
|
#include "nel/gui/lua_ihm.h"
|
||||||
|
#include "nel/gui/view_pointer_base.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace NLMISC;
|
using namespace NLMISC;
|
||||||
|
@ -51,7 +51,8 @@ void CViewText::setupDefault ()
|
||||||
_ParentPosRef = Hotspot_BL;
|
_ParentPosRef = Hotspot_BL;
|
||||||
_PosRef = Hotspot_BL;
|
_PosRef = Hotspot_BL;
|
||||||
|
|
||||||
_FontSize = 12+CInterfaceManager::getInstance()->getSystemOption(CInterfaceManager::OptionAddCoefFont).getValSInt32();
|
_FontSize = 12 +
|
||||||
|
CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont ).getValSInt32();
|
||||||
_Color = CRGBA(255,255,255,255);
|
_Color = CRGBA(255,255,255,255);
|
||||||
_Shadow = false;
|
_Shadow = false;
|
||||||
_ShadowColor = CRGBA(0,0,0,255);
|
_ShadowColor = CRGBA(0,0,0,255);
|
||||||
|
@ -109,7 +110,7 @@ CViewText:: CViewText (const std::string& id, const std::string Text, sint FontS
|
||||||
_Id = id;
|
_Id = id;
|
||||||
setupDefault ();
|
setupDefault ();
|
||||||
|
|
||||||
_FontSize = FontSize+CInterfaceManager::getInstance()->getSystemOption(CInterfaceManager::OptionAddCoefFont).getValSInt32();
|
_FontSize = FontSize + CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont).getValSInt32();
|
||||||
_Color = Color;
|
_Color = Color;
|
||||||
_Shadow = Shadow;
|
_Shadow = Shadow;
|
||||||
setText(Text);
|
setText(Text);
|
||||||
|
@ -120,7 +121,7 @@ CViewText:: CViewText (const std::string& id, const std::string Text, sint FontS
|
||||||
CViewText::~CViewText()
|
CViewText::~CViewText()
|
||||||
{
|
{
|
||||||
if (_Index != 0xFFFFFFFF)
|
if (_Index != 0xFFFFFFFF)
|
||||||
CInterfaceManager::getInstance()->getTextContext()->erase (_Index);
|
CViewRenderer::getTextContext()->erase (_Index);
|
||||||
clearLines();
|
clearLines();
|
||||||
|
|
||||||
if (!_Setuped)
|
if (!_Setuped)
|
||||||
|
@ -134,7 +135,7 @@ CViewText::~CViewText()
|
||||||
CViewText &CViewText::operator=(const CViewText &vt)
|
CViewText &CViewText::operator=(const CViewText &vt)
|
||||||
{
|
{
|
||||||
if (_Index != 0xFFFFFFFF)
|
if (_Index != 0xFFFFFFFF)
|
||||||
CInterfaceManager::getInstance()->getTextContext()->erase (_Index);
|
CViewRenderer::getTextContext()->erase (_Index);
|
||||||
|
|
||||||
// Create database entries
|
// Create database entries
|
||||||
_Active = vt._Active;
|
_Active = vt._Active;
|
||||||
|
@ -187,11 +188,11 @@ void CViewText::parseTextOptions (xmlNodePtr cur)
|
||||||
_ModulateGlobalColor= convertBool(prop);
|
_ModulateGlobalColor= convertBool(prop);
|
||||||
|
|
||||||
prop = (char*) xmlGetProp( cur, (xmlChar*)"fontsize" );
|
prop = (char*) xmlGetProp( cur, (xmlChar*)"fontsize" );
|
||||||
_FontSize = 12+CInterfaceManager::getInstance()->getSystemOption(CInterfaceManager::OptionAddCoefFont).getValSInt32();
|
_FontSize = 12 + CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont).getValSInt32();
|
||||||
if (prop)
|
if (prop)
|
||||||
{
|
{
|
||||||
fromString((const char*)prop, _FontSize);
|
fromString((const char*)prop, _FontSize);
|
||||||
_FontSize += CInterfaceManager::getInstance()->getSystemOption(CInterfaceManager::OptionAddCoefFont).getValSInt32();
|
_FontSize += CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont).getValSInt32();
|
||||||
}
|
}
|
||||||
|
|
||||||
prop = (char*) xmlGetProp( cur, (xmlChar*)"shadow" );
|
prop = (char*) xmlGetProp( cur, (xmlChar*)"shadow" );
|
||||||
|
@ -376,7 +377,6 @@ void CViewText::checkCoords ()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CInterfaceManager *pIM = CInterfaceManager::getInstance();
|
|
||||||
CCtrlBase *pCB = CWidgetManager::getInstance()->getCapturePointerLeft();
|
CCtrlBase *pCB = CWidgetManager::getInstance()->getCapturePointerLeft();
|
||||||
if (pCB != NULL)
|
if (pCB != NULL)
|
||||||
{
|
{
|
||||||
|
@ -412,7 +412,6 @@ void CViewText::draw ()
|
||||||
{
|
{
|
||||||
H_AUTO( RZ_Interface_CViewText_draw )
|
H_AUTO( RZ_Interface_CViewText_draw )
|
||||||
|
|
||||||
CInterfaceManager *pIM = CInterfaceManager::getInstance();
|
|
||||||
CViewRenderer &rVR = *CViewRenderer::getInstance();
|
CViewRenderer &rVR = *CViewRenderer::getInstance();
|
||||||
|
|
||||||
// *** Out Of Clip?
|
// *** Out Of Clip?
|
||||||
|
@ -430,7 +429,7 @@ void CViewText::draw ()
|
||||||
return;
|
return;
|
||||||
rVR.getScreenOOSize (oow, ooh);
|
rVR.getScreenOOSize (oow, ooh);
|
||||||
|
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
|
|
||||||
|
|
||||||
// *** get current color
|
// *** get current color
|
||||||
|
@ -455,7 +454,7 @@ void CViewText::draw ()
|
||||||
{
|
{
|
||||||
if (_Lines.size() == 0) return;
|
if (_Lines.size() == 0) return;
|
||||||
|
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
|
|
||||||
TextContext->setHotSpot (UTextContext::BottomLeft);
|
TextContext->setHotSpot (UTextContext::BottomLeft);
|
||||||
TextContext->setShaded (_Shadow);
|
TextContext->setShaded (_Shadow);
|
||||||
|
@ -645,8 +644,8 @@ void CViewText::draw ()
|
||||||
CGroupContainerBase *gc= dynamic_cast<CGroupContainerBase*>(pIG);
|
CGroupContainerBase *gc= dynamic_cast<CGroupContainerBase*>(pIG);
|
||||||
if(!gc || !gc->isMoving())
|
if(!gc || !gc->isMoving())
|
||||||
{
|
{
|
||||||
CRGBA col= pIM->getSystemOption(CInterfaceManager::OptionViewTextOverBackColor).getValColor();
|
CRGBA col= CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionViewTextOverBackColor).getValColor();
|
||||||
pIM->setOverExtendViewText(this, col);
|
CWidgetManager::getInstance()->setOverExtendViewText(this, col);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -716,7 +715,7 @@ void CViewText::setText(const ucstring & text)
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CViewText::setFontSize (sint nFontSize)
|
void CViewText::setFontSize (sint nFontSize)
|
||||||
{
|
{
|
||||||
_FontSize = nFontSize+CInterfaceManager::getInstance()->getSystemOption(CInterfaceManager::OptionAddCoefFont).getValSInt32();
|
_FontSize = nFontSize + CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont).getValSInt32();
|
||||||
computeFontSize ();
|
computeFontSize ();
|
||||||
invalidateContent();
|
invalidateContent();
|
||||||
}
|
}
|
||||||
|
@ -724,7 +723,7 @@ void CViewText::setFontSize (sint nFontSize)
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
sint CViewText::getFontSize() const
|
sint CViewText::getFontSize() const
|
||||||
{
|
{
|
||||||
return _FontSize - CInterfaceManager::getInstance()->getSystemOption(CInterfaceManager::OptionAddCoefFont).getValSInt32();
|
return _FontSize - CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont).getValSInt32();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
@ -862,7 +861,7 @@ void CViewText::updateTextContextMultiLine(uint nMaxWidth)
|
||||||
rWidthCurrentLine= max(rWidthCurrentLine, (float)wordFormat.TabX*_FontWidth);
|
rWidthCurrentLine= max(rWidthCurrentLine, (float)wordFormat.TabX*_FontWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
|
|
||||||
// Parse the letter
|
// Parse the letter
|
||||||
{
|
{
|
||||||
|
@ -1040,7 +1039,7 @@ void CViewText::updateTextContextMultiLineJustified(uint nMaxWidth, bool expandS
|
||||||
// Get the word value.
|
// Get the word value.
|
||||||
wordValue = _Text.substr(spaceEnd, wordEnd - spaceEnd);
|
wordValue = _Text.substr(spaceEnd, wordEnd - spaceEnd);
|
||||||
// compute width of word
|
// compute width of word
|
||||||
si = CInterfaceManager::getInstance()->getTextContext()->getStringInfo(wordValue);
|
si = CViewRenderer::getTextContext()->getStringInfo(wordValue);
|
||||||
|
|
||||||
// compute size of spaces/Tab + word
|
// compute size of spaces/Tab + word
|
||||||
newLineWidth = lineWidth + numSpaces * _SpaceWidth;
|
newLineWidth = lineWidth + numSpaces * _SpaceWidth;
|
||||||
|
@ -1119,7 +1118,7 @@ void CViewText::updateTextContextMultiLineJustified(uint nMaxWidth, bool expandS
|
||||||
for(currChar = 0; currChar < wordValue.length(); ++currChar)
|
for(currChar = 0; currChar < wordValue.length(); ++currChar)
|
||||||
{
|
{
|
||||||
oneChar = wordValue[currChar];
|
oneChar = wordValue[currChar];
|
||||||
si = CInterfaceManager::getInstance()->getTextContext()->getStringInfo(oneChar);
|
si = CViewRenderer::getTextContext()->getStringInfo(oneChar);
|
||||||
if ((uint) (px + si.StringWidth) > nMaxWidth) break;
|
if ((uint) (px + si.StringWidth) > nMaxWidth) break;
|
||||||
px += si.StringWidth;
|
px += si.StringWidth;
|
||||||
}
|
}
|
||||||
|
@ -1238,7 +1237,7 @@ void CViewText::updateTextContextMultiLineJustified(uint nMaxWidth, bool expandS
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CViewText::updateTextContext ()
|
void CViewText::updateTextContext ()
|
||||||
{
|
{
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
|
|
||||||
TextContext->setHotSpot (UTextContext::BottomLeft);
|
TextContext->setHotSpot (UTextContext::BottomLeft);
|
||||||
TextContext->setShaded (_Shadow);
|
TextContext->setShaded (_Shadow);
|
||||||
|
@ -1413,7 +1412,7 @@ void CViewText::updateCoords()
|
||||||
{
|
{
|
||||||
CInterfaceGroup *parent = _Parent;
|
CInterfaceGroup *parent = _Parent;
|
||||||
// avoid resizing parents to compute the limiter
|
// avoid resizing parents to compute the limiter
|
||||||
while (parent && (parent->getResizeFromChildW() || dynamic_cast<CGroupList *>(parent)))
|
while (parent && (parent->getResizeFromChildW() || parent->isGroupList() ))
|
||||||
{
|
{
|
||||||
// NB nico : the dynamic_cast for CGroupList is bad!!
|
// NB nico : the dynamic_cast for CGroupList is bad!!
|
||||||
// can't avoid it for now, because, CGroupList implicitly does a "resize from child" in its update coords
|
// can't avoid it for now, because, CGroupList implicitly does a "resize from child" in its update coords
|
||||||
|
@ -1550,7 +1549,7 @@ void CViewText::setColorRGBA(NLMISC::CRGBA col)
|
||||||
void CViewText::getCharacterPositionFromIndex(sint index, bool cursorAtPreviousLineEnd, sint &x, sint &y, sint &height) const
|
void CViewText::getCharacterPositionFromIndex(sint index, bool cursorAtPreviousLineEnd, sint &x, sint &y, sint &height) const
|
||||||
{
|
{
|
||||||
NLMISC::clamp(index, 0, (sint) _Text.length());
|
NLMISC::clamp(index, 0, (sint) _Text.length());
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
TextContext->setHotSpot (UTextContext::BottomLeft);
|
TextContext->setHotSpot (UTextContext::BottomLeft);
|
||||||
TextContext->setShaded (_Shadow);
|
TextContext->setShaded (_Shadow);
|
||||||
TextContext->setFontSize (_FontSize);
|
TextContext->setFontSize (_FontSize);
|
||||||
|
@ -1662,7 +1661,7 @@ static uint getCharacterIndex(const ucstring &textValue, float x)
|
||||||
{
|
{
|
||||||
// get character width
|
// get character width
|
||||||
singleChar[0] = textValue[i];
|
singleChar[0] = textValue[i];
|
||||||
si = CInterfaceManager::getInstance()->getTextContext()->getStringInfo(singleChar);
|
si = CViewRenderer::getTextContext()->getStringInfo(singleChar);
|
||||||
px += si.StringWidth;
|
px += si.StringWidth;
|
||||||
// the character is at the i - 1 position
|
// the character is at the i - 1 position
|
||||||
if (px > x)
|
if (px > x)
|
||||||
|
@ -1679,7 +1678,7 @@ static uint getCharacterIndex(const ucstring &textValue, float x)
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CViewText::getCharacterIndexFromPosition(sint x, sint y, uint &index, bool &cursorAtPreviousLineEnd) const
|
void CViewText::getCharacterIndexFromPosition(sint x, sint y, uint &index, bool &cursorAtPreviousLineEnd) const
|
||||||
{
|
{
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
|
|
||||||
// setup the text context
|
// setup the text context
|
||||||
TextContext->setHotSpot (UTextContext::BottomLeft);
|
TextContext->setHotSpot (UTextContext::BottomLeft);
|
||||||
|
@ -1819,7 +1818,7 @@ void CViewText::setStringSelectionSkipingSpace(uint stringId, const ucstring &te
|
||||||
quadSize--;
|
quadSize--;
|
||||||
}
|
}
|
||||||
// select what quad to skip
|
// select what quad to skip
|
||||||
CInterfaceManager::getInstance()->getTextContext()->setStringSelection(stringId, quadStart, quadSize);
|
CViewRenderer::getTextContext()->setStringSelection(stringId, quadStart, quadSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
@ -1911,7 +1910,7 @@ void CViewText::CLine::clear()
|
||||||
for(uint k = 0; k < _Words.size(); ++k)
|
for(uint k = 0; k < _Words.size(); ++k)
|
||||||
{
|
{
|
||||||
if (_Words[k].Index != 0xffffffff)
|
if (_Words[k].Index != 0xffffffff)
|
||||||
CInterfaceManager::getInstance()->getTextContext()->erase(_Words[k].Index);
|
CViewRenderer::getTextContext()->erase(_Words[k].Index);
|
||||||
}
|
}
|
||||||
_Words.clear();
|
_Words.clear();
|
||||||
_NumChars = 0;
|
_NumChars = 0;
|
||||||
|
@ -1932,7 +1931,7 @@ void CViewText::CWord::build(const ucstring &text, uint numSpaces/*=0*/)
|
||||||
{
|
{
|
||||||
Text = text;
|
Text = text;
|
||||||
NumSpaces = numSpaces;
|
NumSpaces = numSpaces;
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
Index = TextContext->textPush(text);
|
Index = TextContext->textPush(text);
|
||||||
Info = TextContext->getStringInfo(Index);
|
Info = TextContext->getStringInfo(Index);
|
||||||
}
|
}
|
||||||
|
@ -1955,7 +1954,7 @@ sint32 CViewText::getMaxUsedW() const
|
||||||
static const ucstring lineFeedStr("\n");
|
static const ucstring lineFeedStr("\n");
|
||||||
float maxWidth = 0;
|
float maxWidth = 0;
|
||||||
|
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
TextContext->setHotSpot (UTextContext::BottomLeft);
|
TextContext->setHotSpot (UTextContext::BottomLeft);
|
||||||
TextContext->setShaded (_Shadow);
|
TextContext->setShaded (_Shadow);
|
||||||
TextContext->setFontSize (_FontSize);
|
TextContext->setFontSize (_FontSize);
|
||||||
|
@ -2039,7 +2038,7 @@ sint32 CViewText::getMinUsedW() const
|
||||||
// If we can't clip the words, return the size of the largest word
|
// If we can't clip the words, return the size of the largest word
|
||||||
else if ((_TextMode == DontClipWord) || (_TextMode == Justified))
|
else if ((_TextMode == DontClipWord) || (_TextMode == Justified))
|
||||||
{
|
{
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
TextContext->setHotSpot (UTextContext::BottomLeft);
|
TextContext->setHotSpot (UTextContext::BottomLeft);
|
||||||
TextContext->setShaded (_Shadow);
|
TextContext->setShaded (_Shadow);
|
||||||
TextContext->setFontSize (_FontSize);
|
TextContext->setFontSize (_FontSize);
|
||||||
|
@ -2090,7 +2089,7 @@ void CViewText::onInvalidateContent()
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CViewText::computeFontSize ()
|
void CViewText::computeFontSize ()
|
||||||
{
|
{
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
TextContext->setHotSpot (UTextContext::BottomLeft);
|
TextContext->setHotSpot (UTextContext::BottomLeft);
|
||||||
TextContext->setShaded (_Shadow);
|
TextContext->setShaded (_Shadow);
|
||||||
TextContext->setFontSize (_FontSize);
|
TextContext->setFontSize (_FontSize);
|
||||||
|
@ -2444,7 +2443,7 @@ void CViewText::setSingleLineTextFormatTaged(const ucstring &text)
|
||||||
}
|
}
|
||||||
|
|
||||||
// convert in ULetterColors
|
// convert in ULetterColors
|
||||||
NL3D::UTextContext *TextContext = CInterfaceManager::getInstance()->getTextContext();
|
NL3D::UTextContext *TextContext = CViewRenderer::getTextContext();
|
||||||
ULetterColors * letterColors = TextContext->createLetterColors();
|
ULetterColors * letterColors = TextContext->createLetterColors();
|
||||||
for(uint i=0; i<tempLetterColors.size(); i++)
|
for(uint i=0; i<tempLetterColors.size(); i++)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue