// 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 NL_ACTION_HANDLER_MISC_H #define NL_ACTION_HANDLER_MISC_H #include "nel/misc/types_nl.h" #include "action_handler.h" #include "interface_manager.h" class CInterfaceGroup; // *************************************************************************** /** * Show only one window and hide others * \author Lionel Berenguier * \author Nevrax France * \date 2002 */ class CActionHandlerShowOne : public IActionHandler { public: virtual void execute (CCtrlBase *pCaller, const std::string ¶ms); }; // *************************************************************************** /** * hide some windows and close some group containers * \author Lionel Berenguier * \author Nevrax France * \date 2002 */ class CActionHandlerHideClose : public IActionHandler { public: virtual void execute (CCtrlBase *pCaller, const std::string ¶ms); }; // *************************************************************************** /** * Activate a modal window after emptying the modal window stack. * \author Lionel Berenguier * \author Nevrax France * \date 2002 */ class CActionHandlerEnterModal : public IActionHandler { public: virtual void execute (CCtrlBase *pCaller, const std::string ¶ms); }; // *************************************************************************** /** * Activate a modal window, but keep previous modal windows (push on the modal windows stack) * \author Nicolas Vizerie * \author Nevrax France * \date 2003 */ class CActionHandlerPushModal : public IActionHandler { public: virtual void execute (CCtrlBase *pCaller, const std::string ¶ms); }; // *************************************************************************** /** * Exit from modal * \author Lionel Berenguier * \author Nevrax France * \date 2002 */ class CActionHandlerLeaveModal : public IActionHandler { public: virtual void execute (CCtrlBase *pCaller, const std::string ¶ms); }; // *************************************************************************** /** * Activate a window from a parsed boolean value * \author Nicolas Vizerie * \author Nevrax France * \date 2002 */ class CActionHandlerActive : public IActionHandler { public: virtual void execute (CCtrlBase *pCaller, const std::string ¶ms); }; // *************************************************************************** /** * Open/Activate a container from a parsed boolean value * \author Nicolas Vizerie * \author Nevrax France * \date 2002 */ class CActionHandlerSetOpen : public IActionHandler { public: virtual void execute (CCtrlBase *pCaller, const std::string ¶ms); }; // *************************************************************************** /** * Eval an interface expression. The result isn't used, but the expression can contain functions that are in fact, procedures. * \author Nicolas Vizerie * \author Nevrax France * \date 2003 */ class CActionHandlerEvalExpr : public IActionHandler { public: virtual void execute (CCtrlBase *pCaller, const std::string ¶ms); }; /** Build a menu color widget with the given tooltip and chooser title (ccdTitle) * (matching action handlers defined in action_handler_misc.cpp) */ CInterfaceGroup *createMenuColorWidget(const std::string &colDbEntry, const std::string &toolTipTextID, const std::string &ccdTitle); // *************************************************************************** // callback used by set_server_string and set_server_id action handlers and by addServerString and addServerId // methods from CInterfaceManager to remove name from a received string like entityName$entityTitle$ class CStringPostProcessRemoveName : public CInterfaceManager::IStringProcess { public: CStringPostProcessRemoveName():Woman(false) {} bool Woman; bool cbIDStringReceived(ucstring &inOut); }; // *************************************************************************** // same as above but for title class CStringPostProcessRemoveTitle : public CInterfaceManager::IStringProcess { public: bool cbIDStringReceived(ucstring &inOut); }; // *************************************************************************** // remove title except if the npc has only a title class CStringPostProcessNPCRemoveTitle : public CInterfaceManager::IStringProcess { public: bool cbIDStringReceived(ucstring &inOut); }; /** Capture current content of framebuffer and save the result. If a custom size is asked in ClientCfg, then the scene is rendered again * instead (possibly multiple time) */ void initScreenshot(); void screenShotTGA(); void screenShotPNG(); void screenShotJPG(); #endif // NL_ACTION_HANDLER_MISC_H /* End of action_handler_misc.h */