From a50944c6ca445ce2bd94026ff3aebf0eae52fd32 Mon Sep 17 00:00:00 2001 From: cxl Date: Thu, 9 Jun 2016 22:34:20 +0000 Subject: [PATCH] Fixed menu overloading issues git-svn-id: svn://ultimatepp.org/upp/trunk@9917 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlLib/Bar.cpp | 5 ----- uppsrc/CtrlLib/Bar.h | 23 ++++++++++++++++++++--- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/uppsrc/CtrlLib/Bar.cpp b/uppsrc/CtrlLib/Bar.cpp index a672e54a3..e88d1faf6 100644 --- a/uppsrc/CtrlLib/Bar.cpp +++ b/uppsrc/CtrlLib/Bar.cpp @@ -408,11 +408,6 @@ Bar::Item& Bar::AddMenu(const char *text, const UPP::Image& image, const Functio return AddMenu(text, image, Callback() << fn); } -Bar::Item& Bar::AddMenu(const String& t, const UPP::Image& m, const Function& fn) -{ - return AddMenu(t, m, Callback() << fn); -} - Bar::Item& Bar::AddMenu(KeyInfo& (*key)(), const UPP::Image& m, const Function& fn) { return AddMenu(key, m, Callback() << fn); diff --git a/uppsrc/CtrlLib/Bar.h b/uppsrc/CtrlLib/Bar.h index 3d68a83d3..cc79eadbd 100644 --- a/uppsrc/CtrlLib/Bar.h +++ b/uppsrc/CtrlLib/Bar.h @@ -102,25 +102,32 @@ public: void Add(bool en, Ctrl& ctrl, int cx, int cy = 0) { Add(ctrl, cx, cy); ctrl.Enable(en); } Item& Add(bool enable, const char *text, const UPP::Image& image, const Callback& callback); + Item& Add(bool enable, const String& text, const UPP::Image& image, const Callback& callback) { return Add(enable, ~text, image, callback); } Item& Add(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Callback& callback); Item& Add(const char *text, const UPP::Image& image, const Callback& callback); -// Item& Add(const String& text, const UPP::Image& image, const Callback& callback); + Item& Add(const String& text, const UPP::Image& image, const Callback& callback) { return Add(~text, image, callback); } Item& Add(KeyInfo& (*key)(), const UPP::Image& image, const Callback& callback); Item& Add(bool enable, const char *text, const Callback& callback); + Item& Add(bool enable, const String& text, const Callback& callback) { return Add(enable, ~text, callback); } Item& Add(bool enable, KeyInfo& (*key)(), const Callback& callback); Item& Add(const char *text, const Callback& callback); + Item& Add(const String& text, const Callback& callback) { return Add(~text, callback); } Item& Add(KeyInfo& (*key)(), const Callback& callback); Item& Add(bool enable, const char *text, const UPP::Image& image, const Function& fn); + Item& Add(bool enable, const String& text, const UPP::Image& image, const Function& fn) { return Add(enable, ~text, image, fn); } Item& Add(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Function& fn); Item& Add(const char *text, const UPP::Image& image, const Function& fn); + Item& Add(const String& text, const UPP::Image& image, const Function& fn) { return Add(~text, image, fn); } // Item& Add(const String& text, const UPP::Image& image, const Function& fn); Item& Add(KeyInfo& (*key)(), const UPP::Image& image, const Function& fn); Item& Add(bool enable, const char *text, const Function& fn); + Item& Add(bool enable, const String& text, const Function& fn) { return Add(enable, ~text, fn); } Item& Add(bool enable, KeyInfo& (*key)(), const Function& fn); Item& Add(const char *text, const Function& fn); + Item& Add(const String& text, const Function& fn) { return Add(~text, fn); } Item& Add(KeyInfo& (*key)(), const Function& fn); void MenuSeparator(); @@ -133,25 +140,35 @@ public: void AddMenu(Ctrl& ctrl, int cx, int cy = 0) { AddMenu(ctrl, Size(cx, cy)); } Item& AddMenu(bool enable, const char *text, const UPP::Image& image, const Callback& callback); + Item& AddMenu(bool enable, const String& text, const UPP::Image& image, const Callback& callback) { return AddMenu(enable, ~text, image, callback); } Item& AddMenu(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Callback& callback); Item& AddMenu(const char *text, const UPP::Image& image, const Callback& callback); - Item& AddMenu(const String& t, const UPP::Image& m, const Callback& c) { return AddMenu(~t, m, c); } + Item& AddMenu(const String& text, const UPP::Image& m, const Callback& c) { return AddMenu(~text, m, c); } Item& AddMenu(KeyInfo& (*key)(), const UPP::Image& m, const Callback& c); Item& AddMenu(bool enable, const char *text, const UPP::Image& image, const Function& fn); + Item& AddMenu(bool enable, const String& text, const UPP::Image& image, const Function& fn) { return AddMenu(enable, ~text, image, fn); } Item& AddMenu(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Function& fn); Item& AddMenu(const char *text, const UPP::Image& image, const Function& fn); - Item& AddMenu(const String& t, const UPP::Image& m, const Function& fn); + Item& AddMenu(const String& text, const UPP::Image& m, const Function& fn) { return AddMenu(~text, m, fn); } Item& AddMenu(KeyInfo& (*key)(), const UPP::Image& m, const Function& fn); Item& Add(bool enable, const char *text, const Event& proc); + Item& Add(bool enable, const String& text, const Event& proc) { return Add(enable, ~text, proc); } Item& Add(const char *text, const Event& proc); + Item& Add(const String& text, const Event& proc) { return Add(~text, proc); } Item& Add(bool enable, const char *text, const UPP::Image& image, const Event& proc); + Item& Add(bool enable, const String& text, const UPP::Image& image, const Event& proc) { return Add(enable, ~text, proc); } Item& Add(const char *text, const UPP::Image& image, const Event& proc); + Item& Add(const String& text, const UPP::Image& image, const Event& proc) { return Add(~text, image, proc); } Item& Sub(bool enable, const char *text, const Function& submenu); + Item& Sub(bool enable, const String& text, const Function& submenu) { return Sub(enable, ~text, submenu); } Item& Sub(const char *text, const Function& submenu); + Item& Sub(const String& text, const Function& submenu) { return Sub(~text, submenu); } Item& Sub(bool enable, const char *text, const UPP::Image& image, const Function& submenu); + Item& Sub(bool enable, const String& text, const UPP::Image& image, const Function& submenu) { return Sub(enable, ~text, image, submenu); } Item& Sub(const char *text, const UPP::Image& image, const Function& submenu); + Item& Sub(const String& text, const UPP::Image& image, const Function& submenu) { return Sub(~text, image, submenu); } void ToolSeparator(); void ToolBreak();