// Ryzom - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . #ifndef CL_GROUP_QUICK_HELP_H #define CL_GROUP_QUICK_HELP_H #include "nel/misc/types_nl.h" #include "group_html.h" /** * Quick help group * \author Cyril 'Hulud' Corvazier * \author Nevrax France * \date 2002 */ class CGroupQuickHelp : public CGroupHTML { public: // Constructor CGroupQuickHelp(const TCtorParam ¶m); ~CGroupQuickHelp(); // Submit an event bool submitEvent (const char *event); private: // CInterfaceGroup Interface virtual bool parse (xmlNodePtr cur, CInterfaceGroup *parentGroup); virtual void updateCoords(); // From CGroupHTML virtual void beginElement (uint element_number, const BOOL *present, const char **value); virtual void endBuild (); virtual void browse (const char *url); virtual std::string home(); // Init parsing value void initParameters(); // Update the paragraph font size according the current step void updateParagraph (); // Set the text attribute for a group and its sub group void setGroupTextSize (CInterfaceGroup *group, bool selected); // Evaluate a condition bool evalExpression (const std::string &condition); // A quick help step class CStep { public: std::set EventToComplete; std::string Condition; std::string URL; }; // Activate a step void activateCurrentStep (); // The quick help steps std::vector _Steps; // The current step uint _CurrentStep; // Parameters uint _NonSelectedSize; NLMISC::CRGBA _NonSelectedColor; NLMISC::CRGBA _NonSelectedLinkColor; bool _NonSelectedGlobalColor; bool _UpdateParagraphNextUpdateCoords; bool _IsQuickHelp; }; #endif