gui/widget/menue.cpp: add CMenuDForwarder - forwarder which delete jumpTarget

This commit is contained in:
[CST] Focus
2012-05-05 12:19:00 +04:00
parent 8f34cd0730
commit a2d7fc39d0
2 changed files with 24 additions and 1 deletions

View File

@@ -1611,6 +1611,20 @@ int CMenuForwarder::paint(bool selected)
return y+ height; return y+ height;
} }
CMenuDForwarder::CMenuDForwarder(const neutrino_locale_t Text, const bool Active, const char * const Option, CMenuTarget* Target, const char * const ActionKey, neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right)
: CMenuForwarder(Text, Active, Option, Target, ActionKey, DirectKey, IconName, IconName_Info_right)
{
}
CMenuDForwarder::CMenuDForwarder(const neutrino_locale_t Text, const bool Active, const std::string &Option, CMenuTarget* Target, const char * const ActionKey, neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right)
: CMenuForwarder(Text, Active, Option, Target, ActionKey, DirectKey, IconName, IconName_Info_right)
{
}
CMenuDForwarder::~CMenuDForwarder()
{
delete jumpTarget;
}
//------------------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------------------
const char * CMenuForwarderNonLocalized::getName(void) const char * CMenuForwarderNonLocalized::getName(void)

View File

@@ -174,10 +174,10 @@ class CMenuForwarder : public CMenuItem
{ {
const char * option; const char * option;
const std::string * option_string; const std::string * option_string;
CMenuTarget * jumpTarget;
std::string actionKey; std::string actionKey;
protected: protected:
CMenuTarget * jumpTarget;
neutrino_locale_t text; neutrino_locale_t text;
virtual const char * getOption(void); virtual const char * getOption(void);
@@ -207,6 +207,15 @@ class CMenuForwarder : public CMenuItem
} }
}; };
class CMenuDForwarder : public CMenuForwarder
{
public:
CMenuDForwarder(const neutrino_locale_t Text, const bool Active=true, const char * const Option=NULL, CMenuTarget* Target=NULL, const char * const ActionKey = NULL, const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL, const char * const IconName_Info_right = NULL);
CMenuDForwarder(const neutrino_locale_t Text, const bool Active, const std::string &Option, CMenuTarget* Target=NULL, const char * const ActionKey = NULL, const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL, const char * const IconName_Info_right = NULL);
~CMenuDForwarder();
};
class CMenuForwarderNonLocalized : public CMenuForwarder class CMenuForwarderNonLocalized : public CMenuForwarder
{ {
protected: protected: