mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
CtrlLib: Bar now supports lambdas
git-svn-id: svn://ultimatepp.org/upp/trunk@9905 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
caaf1092b8
commit
97e3703f4b
5 changed files with 295 additions and 102 deletions
|
|
@ -25,6 +25,7 @@ class Function<Res(ArgTypes...)> : Moveable<Function<Res(ArgTypes...)>> {
|
|||
virtual Res Execute(ArgTypes... args) { l(args...); return fn(args...); }
|
||||
|
||||
Wrapper2(const Function& l, F&& fn) : l(l), fn(pick(fn)) {}
|
||||
Wrapper2(const Function& l, const F& fn) : l(l), fn(fn) {}
|
||||
};
|
||||
|
||||
WrapperBase *ptr;
|
||||
|
|
@ -60,7 +61,7 @@ public:
|
|||
|
||||
template <class F>
|
||||
Function& operator<<(const F& fn) { if(!ptr) { Copy(fn); return *this; }
|
||||
WrapperBase *b = ptr; ptr = new Wrapper2<F>(*this, pick(fn)); Free(b); return *this; }
|
||||
WrapperBase *b = ptr; ptr = new Wrapper2<F>(*this, fn); Free(b); return *this; }
|
||||
|
||||
template <class F>
|
||||
Function& operator<<(F&& fn) { if(!ptr) { Pick(pick(fn)); return *this; }
|
||||
|
|
|
|||
|
|
@ -274,12 +274,12 @@ void Bar::AddNC(Ctrl& ctrl)
|
|||
AddCtrl(&ctrl, (int)Null);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, const UPP::Image& image, Callback cb)
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, const UPP::Image& image, const Callback& callback)
|
||||
{
|
||||
return AddItem(cb).Text(text).Image(image).Enable(enable);
|
||||
return AddItem(callback).Text(text).Image(image).Enable(enable);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, KeyInfo& (*key)(), const UPP::Image& image, Callback callback)
|
||||
Bar::Item& Bar::Add(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Callback& callback)
|
||||
{
|
||||
const char *text = (*key)().name;
|
||||
if(*text == '\3')
|
||||
|
|
@ -287,17 +287,17 @@ Bar::Item& Bar::Add(bool enable, KeyInfo& (*key)(), const UPP::Image& image, Ca
|
|||
return Add(enable, text, image, callback).Key(key);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(const char *text, const UPP::Image& image, Callback callback)
|
||||
Bar::Item& Bar::Add(const char *text, const UPP::Image& image, const Callback& callback)
|
||||
{
|
||||
return AddItem(callback).Text(text).Image(image);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(const String& text, const UPP::Image& image, Callback callback)
|
||||
Bar::Item& Bar::Add(const String& text, const UPP::Image& image, const Callback& callback)
|
||||
{
|
||||
return Add(~text, image, callback);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(KeyInfo& (*key)(), const UPP::Image& image, Callback callback)
|
||||
Bar::Item& Bar::Add(KeyInfo& (*key)(), const UPP::Image& image, const Callback& callback)
|
||||
{
|
||||
const char *text = (*key)().name;
|
||||
if(*text == '\3')
|
||||
|
|
@ -305,18 +305,63 @@ Bar::Item& Bar::Add(KeyInfo& (*key)(), const UPP::Image& image, Callback callba
|
|||
return Add(text, image, callback).Key(key);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, Callback callback)
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, const Callback& callback)
|
||||
{ return IsMenuBar() ? Add(enable, text, Image(), callback) : NilItem(); }
|
||||
|
||||
Bar::Item& Bar::Add(const char *text, Callback callback)
|
||||
Bar::Item& Bar::Add(const char *text, const Callback& callback)
|
||||
{ return IsMenuBar() ? Add(true, text, Image(), callback) : NilItem(); }
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, KeyInfo& (*key)(), Callback callback)
|
||||
Bar::Item& Bar::Add(bool enable, KeyInfo& (*key)(), const Callback& callback)
|
||||
{ return IsMenuBar() ? Add(enable, key, Image(), callback) : NilItem(); }
|
||||
|
||||
Bar::Item& Bar::Add(KeyInfo& (*key)(), Callback callback)
|
||||
Bar::Item& Bar::Add(KeyInfo& (*key)(), const Callback& callback)
|
||||
{ return IsMenuBar() ? Add(true, key, Image(), callback) : NilItem(); }
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, const UPP::Image& image, const UPP::Function<void ()>& fn)
|
||||
{
|
||||
return Add(enable, text, image, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Function<void ()>& fn)
|
||||
{
|
||||
return Add(enable, key, image, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(const char *text, const UPP::Image& image, const Function<void ()>& fn)
|
||||
{
|
||||
return Add(text, image, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(const String& text, const UPP::Image& image, const Function<void ()>& fn)
|
||||
{
|
||||
return Add(text, image, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(KeyInfo& (*key)(), const UPP::Image& image, const Function<void ()>& fn)
|
||||
{
|
||||
return Add(key, image, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, const Function<void ()>& fn)
|
||||
{
|
||||
return Add(enable, text, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, KeyInfo& (*key)(), const Function<void ()>& fn)
|
||||
{
|
||||
return Add(enable, key, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(const char *text, const Function<void ()>& fn)
|
||||
{
|
||||
return Add(text, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(KeyInfo& (*key)(), const Function<void ()>& fn)
|
||||
{
|
||||
return Add(key, Callback() << fn);
|
||||
}
|
||||
|
||||
void Bar::Break()
|
||||
{
|
||||
AddCtrl(NULL, (int)Null);
|
||||
|
|
@ -333,30 +378,76 @@ void Bar::MenuGap(int size) { if(IsMenuBar()) Gap(size); }
|
|||
void Bar::AddMenu(Ctrl& ctrl) { if(IsMenuBar()) Add(ctrl); }
|
||||
void Bar::AddMenu(Ctrl& ctrl, Size sz) { if(IsMenuBar()) Add(ctrl, sz); }
|
||||
|
||||
Bar::Item& Bar::AddMenu(bool enable, KeyInfo& (*key)(), const UPP::Image& image, Callback callback)
|
||||
Bar::Item& Bar::AddMenu(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Callback& callback)
|
||||
{ return IsMenuBar() ? Add(enable, key, image, callback) : NilItem(); }
|
||||
|
||||
Bar::Item& Bar::AddMenu(KeyInfo& (*key)(), const UPP::Image& image, Callback callback)
|
||||
Bar::Item& Bar::AddMenu(KeyInfo& (*key)(), const UPP::Image& image, const Callback& callback)
|
||||
{ return IsMenuBar() ? Add(key, image, callback) : NilItem(); }
|
||||
|
||||
Bar::Item& Bar::AddMenu(bool enable, const char *text, const UPP::Image& image, Callback callback)
|
||||
Bar::Item& Bar::AddMenu(bool enable, const char *text, const UPP::Image& image, const Callback& callback)
|
||||
{ return IsMenuBar() ? Add(enable, text, image, callback) : NilItem(); }
|
||||
|
||||
Bar::Item& Bar::AddMenu(const char *text, const UPP::Image& image, Callback callback)
|
||||
Bar::Item& Bar::AddMenu(const char *text, const UPP::Image& image, const Callback& callback)
|
||||
{ return IsMenuBar() ? Add(text, image, callback) : NilItem(); }
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, Callback1<Bar&> proc)
|
||||
|
||||
Bar::Item& Bar::AddMenu(bool enable, const char *text, const UPP::Image& image, const Function<void ()>& fn)
|
||||
{
|
||||
return AddMenu(enable, text, image, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::AddMenu(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Function<void ()>& fn)
|
||||
{
|
||||
return AddMenu(enable, key, image, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::AddMenu(const char *text, const UPP::Image& image, const Function<void ()>& fn)
|
||||
{
|
||||
return AddMenu(text, image, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::AddMenu(const String& t, const UPP::Image& m, const Function<void ()>& fn)
|
||||
{
|
||||
return AddMenu(t, m, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::AddMenu(KeyInfo& (*key)(), const UPP::Image& m, const Function<void ()>& fn)
|
||||
{
|
||||
return AddMenu(key, m, Callback() << fn);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, const Event<Bar&>& proc)
|
||||
{ return AddSubMenu(proc).Text(text).Enable(enable); }
|
||||
|
||||
Bar::Item& Bar::Add(const char *text, Callback1<Bar&> proc)
|
||||
Bar::Item& Bar::Add(const char *text, const Event<Bar&>& proc)
|
||||
{ return Add(true, text, proc); }
|
||||
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, const UPP::Image& image, Callback1<Bar&> proc)
|
||||
Bar::Item& Bar::Add(bool enable, const char *text, const UPP::Image& image, const Event<Bar&>& proc)
|
||||
{ return Add(enable, text, proc).Image(image); }
|
||||
|
||||
Bar::Item& Bar::Add(const char *text, const UPP::Image& image, Callback1<Bar&> proc)
|
||||
Bar::Item& Bar::Add(const char *text, const UPP::Image& image, const Event<Bar&>& proc)
|
||||
{ return Add(text, proc).Image(image); }
|
||||
|
||||
Bar::Item& Bar::Sub(bool enable, const char *text, const Function<void (Bar&)>& submenu)
|
||||
{
|
||||
return Add(enable, text, Event<Bar&>() << submenu);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Sub(const char *text, const Function<void (Bar&)>& submenu)
|
||||
{
|
||||
return Add(text, Event<Bar&>() << submenu);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Sub(bool enable, const char *text, const UPP::Image& image, const Function<void (Bar&)>& submenu)
|
||||
{
|
||||
return Add(enable, text, image, Event<Bar&>() << submenu);
|
||||
}
|
||||
|
||||
Bar::Item& Bar::Sub(const char *text, const UPP::Image& image, const Function<void (Bar&)>& submenu)
|
||||
{
|
||||
return Add(text, image, Event<Bar&>() << submenu);
|
||||
}
|
||||
|
||||
void Bar::ToolSeparator() { if(IsToolBar()) Separator(); }
|
||||
void Bar::ToolBreak() { if(IsToolBar()) Break(); }
|
||||
void Bar::ToolGap(int size) { if(IsToolBar()) Gap(size); }
|
||||
|
|
|
|||
|
|
@ -101,17 +101,27 @@ public:
|
|||
void Add(bool en, Ctrl& ctrl, Size sz) { Add(ctrl, sz); ctrl.Enable(en); }
|
||||
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, 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(KeyInfo& (*key)(), const UPP::Image& image, const Callback& callback);
|
||||
|
||||
Item& Add(bool enable, const char *text, const UPP::Image& image, Callback callback);
|
||||
Item& Add(bool enable, KeyInfo& (*key)(), const UPP::Image& image, Callback callback);
|
||||
Item& Add(const char *text, const UPP::Image& image, Callback callback);
|
||||
Item& Add(const String& text, const UPP::Image& image, Callback callback);
|
||||
Item& Add(KeyInfo& (*key)(), const UPP::Image& image, Callback callback);
|
||||
Item& Add(bool enable, const char *text, const Callback& callback);
|
||||
Item& Add(bool enable, KeyInfo& (*key)(), const Callback& callback);
|
||||
Item& Add(const char *text, const Callback& callback);
|
||||
Item& Add(KeyInfo& (*key)(), const Callback& callback);
|
||||
|
||||
Item& Add(bool enable, const char *text, Callback callback);
|
||||
Item& Add(bool enable, KeyInfo& (*key)(), Callback callback);
|
||||
Item& Add(const char *text, Callback callback);
|
||||
Item& Add(KeyInfo& (*key)(), Callback callback);
|
||||
Item& Add(bool enable, const char *text, const UPP::Image& image, const Function<void ()>& fn);
|
||||
Item& Add(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Function<void ()>& fn);
|
||||
Item& Add(const char *text, const UPP::Image& image, const Function<void ()>& fn);
|
||||
Item& Add(const String& text, const UPP::Image& image, const Function<void ()>& fn);
|
||||
Item& Add(KeyInfo& (*key)(), const UPP::Image& image, const Function<void ()>& fn);
|
||||
|
||||
Item& Add(bool enable, const char *text, const Function<void ()>& fn);
|
||||
Item& Add(bool enable, KeyInfo& (*key)(), const Function<void ()>& fn);
|
||||
Item& Add(const char *text, const Function<void ()>& fn);
|
||||
Item& Add(KeyInfo& (*key)(), const Function<void ()>& fn);
|
||||
|
||||
void MenuSeparator();
|
||||
void MenuBreak();
|
||||
|
|
@ -122,16 +132,26 @@ public:
|
|||
void AddMenu(Ctrl& ctrl, Size sz);
|
||||
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, Callback callback);
|
||||
Item& AddMenu(bool enable, KeyInfo& (*key)(), const UPP::Image& image, Callback callback);
|
||||
Item& AddMenu(const char *text, const UPP::Image& image, Callback callback);
|
||||
Item& AddMenu(const String& t, const UPP::Image& m, Callback c) { return AddMenu(t, m, c); }
|
||||
Item& AddMenu(KeyInfo& (*key)(), const UPP::Image& m, Callback c);
|
||||
Item& AddMenu(bool enable, const char *text, const UPP::Image& image, const Callback& 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(KeyInfo& (*key)(), const UPP::Image& m, const Callback& c);
|
||||
|
||||
Item& Add(bool enable, const char *text, Callback1<Bar&> proc);
|
||||
Item& Add(const char *text, Callback1<Bar&> proc);
|
||||
Item& Add(bool enable, const char *text, const UPP::Image& image, Callback1<Bar&> proc);
|
||||
Item& Add(const char *text, const UPP::Image& image, Callback1<Bar&> proc);
|
||||
Item& AddMenu(bool enable, const char *text, const UPP::Image& image, const Function<void ()>& fn);
|
||||
Item& AddMenu(bool enable, KeyInfo& (*key)(), const UPP::Image& image, const Function<void ()>& fn);
|
||||
Item& AddMenu(const char *text, const UPP::Image& image, const Function<void ()>& fn);
|
||||
Item& AddMenu(const String& t, const UPP::Image& m, const Function<void ()>& fn);
|
||||
Item& AddMenu(KeyInfo& (*key)(), const UPP::Image& m, const Function<void ()>& fn);
|
||||
|
||||
Item& Add(bool enable, const char *text, const Event<Bar&>& proc);
|
||||
Item& Add(const char *text, const Event<Bar&>& proc);
|
||||
Item& Add(bool enable, const char *text, const UPP::Image& image, const Event<Bar&>& proc);
|
||||
Item& Add(const char *text, const UPP::Image& image, const Event<Bar&>& proc);
|
||||
Item& Sub(bool enable, const char *text, const Function<void (Bar&)>& submenu);
|
||||
Item& Sub(const char *text, const Function<void (Bar&)>& submenu);
|
||||
Item& Sub(bool enable, const char *text, const UPP::Image& image, const Function<void (Bar&)>& submenu);
|
||||
Item& Sub(const char *text, const UPP::Image& image, const Function<void (Bar&)>& submenu);
|
||||
|
||||
void ToolSeparator();
|
||||
void ToolBreak();
|
||||
|
|
|
|||
|
|
@ -469,7 +469,7 @@ void MenuBar::KillDelayedClose()
|
|||
KillTimeCallback(TIMEID_STOP);
|
||||
}
|
||||
|
||||
void MenuBar::Set(Callback1<Bar&> menu)
|
||||
void MenuBar::Set(const Callback1<Bar&> menu)
|
||||
{
|
||||
if(lock) return;
|
||||
Clear();
|
||||
|
|
|
|||
|
|
@ -87,61 +87,120 @@ GetMinSize() for [%-*@3 ctrl] is used. Enable([%-*@3 en]) is called
|
|||
for the widget to enable or disable it.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:Bar`:`:Add`(bool`,const char`*`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&
|
||||
]_[* Add]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Image^ UPP`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[_^Callback^ Callback]_[*@3 callback])&]
|
||||
[s5;:Bar`:`:Add`(bool`,KeyInfo`&`(`*`)`(`)`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [_^KeyInfo^ KeyInfo][@(0.0.255) `&
|
||||
]_(`*[*@3 key])(), [@(0.0.255) const]_UPP`::Image[@(0.0.255) `&]_[*@3 image],
|
||||
Callback_[*@3 callback])&]
|
||||
[s5;:Bar`:`:Add`(const char`*`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&
|
||||
]_[* Add]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text], [@(0.0.255) const]_[_^Image^ UPP
|
||||
`::Image][@(0.0.255) `&]_[*@3 image], [_^Callback^ Callback]_[*@3 callback])&]
|
||||
[s5;:Bar`:`:Add`(const String`&`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&
|
||||
]_[* Add]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 text],
|
||||
[@(0.0.255) const]_[_^Image^ UPP`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[_^Callback^ Callback]_[*@3 callback])&]
|
||||
[s5;:Bar`:`:Add`(KeyInfo`&`(`*`)`(`)`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ Item
|
||||
][@(0.0.255) `&]_[* Add]([_^KeyInfo^ KeyInfo][@(0.0.255) `&]_(`*[*@3 key])(),
|
||||
[@(0.0.255) const]_UPP`::Image[@(0.0.255) `&]_[*@3 image], Callback_[*@3 callback])&]
|
||||
[s5;:Bar`:`:Add`(bool`,const char`*`,Callback`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&]_[* A
|
||||
dd]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[_^Callback^ Callback]_[*@3 callback])&]
|
||||
[s5;:Bar`:`:Add`(const char`*`,Callback`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&]_[* Add]([@(0.0.255) c
|
||||
onst]_[@(0.0.255) char]_`*[*@3 text], [_^Callback^ Callback]_[*@3 callback])&]
|
||||
[s5;:Bar`:`:Add`(const Image`&`,Callback`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&]_[* Add](
|
||||
[@(0.0.255) const]_[_^Image^ UPP`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[_^Callback^ Callback]_[*@3 callback])&]
|
||||
[s5;:Bar`:`:Add`(bool`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&]_
|
||||
[* Add]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[_^Image^ UPP`::Image][@(0.0.255) `&
|
||||
]_[*@3 image], [_^Callback^ Callback]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,const char`*`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) ch
|
||||
ar]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image
|
||||
], [@(0.0.255) const]_[_^Upp`:`:Callback^ Callback][@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&
|
||||
]_(`*[*@3 key])(), [@(0.0.255) const]_Upp`::Image[@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_Callback[@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(const char`*`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Callback^ Callback][@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(const Upp`:`:String`&`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&]_[*@3 t
|
||||
ext], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Callback^ Callback][@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&]_(`*[*@3 key])(),
|
||||
[@(0.0.255) const]_Upp`::Image[@(0.0.255) `&]_[*@3 image], [@(0.0.255) const]_Callback[@(0.0.255) `&
|
||||
]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,const char`*`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) ch
|
||||
ar]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Callback^ Callback][@(0.0.255) `&]_[*@3 call
|
||||
back])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&
|
||||
]_(`*[*@3 key])(), [@(0.0.255) const]_Callback[@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(const char`*`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Callback^ Callback][@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&]_(`*[*@3 key])(),
|
||||
[@(0.0.255) const]_Callback[@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,const char`*`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) ch
|
||||
ar]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image
|
||||
], [@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&
|
||||
]_(`*[*@3 key])(), [@(0.0.255) const]_Upp`::Image[@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_Function<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(const char`*`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(const Upp`:`:String`&`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&]_[*@3 t
|
||||
ext], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&]_(`*[*@3 key])(),
|
||||
[@(0.0.255) const]_Upp`::Image[@(0.0.255) `&]_[*@3 image], [@(0.0.255) const]_Function<[@(0.0.255) v
|
||||
oid]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,const char`*`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) ch
|
||||
ar]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_()>`&
|
||||
_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&
|
||||
]_(`*[*@3 key])(), [@(0.0.255) const]_Function<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(const char`*`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&]_(`*[*@3 key])(),
|
||||
[@(0.0.255) const]_Function<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s2; Adds an item to menu or toolbar. If [%-*@3 text] is present, item
|
||||
is added to menu; if [%-*@3 image] is present, it is added to toolbar.
|
||||
If both are present, [%-*@3 image] is used as icon in menu too
|
||||
and [%-*@3 text] is used as toolbar button tooltip. When menu item
|
||||
is selected or toolbar button pushed, [%-*@3 cb] is invoked. [%-*@3 enable]
|
||||
sets the item status and [%-*@3 key] is an accelerator key or adjustable
|
||||
accelerator info. All variants return a reference to Item which
|
||||
can be used to further adjust the item.&]
|
||||
is selected or toolbar button pushed, [%-*@3 callback] or [%-*@3 fn]
|
||||
is invoked. [%-*@3 enable] sets the item status and [%-*@3 key] is
|
||||
an accelerator key or adjustable accelerator info. All variants
|
||||
return a reference to Item which can be used to further adjust
|
||||
the item.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:Bar`:`:Add`(bool`,const char`*`,Callback1`<Bar`&`>`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&
|
||||
]_[* Add]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[_^Callback1^ Callback1][@(0.0.255) <]Bar[@(0.0.255) `&>]_[*@3 proc])&]
|
||||
[s5;:Bar`:`:Add`(const char`*`,Callback1`<Bar`&`>`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&
|
||||
]_[* Add]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text], [_^Callback1^ Callback1][@(0.0.255) <
|
||||
]Bar[@(0.0.255) `&>]_[*@3 proc])&]
|
||||
[s5;:Bar`:`:Add`(bool`,const char`*`,const Image`&`,Callback1`<Bar`&`>`):%- [_^Bar`:`:Item^ I
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,const char`*`,const Upp`:`:Event`<Upp`:`:Bar`&`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) ch
|
||||
ar]_`*[*@3 text], [@(0.0.255) const]_[_^Image^ UPP`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[_^Callback1^ Callback1][@(0.0.255) <]Bar[@(0.0.255) `&>]_[*@3 proc])&]
|
||||
[s5;:Bar`:`:Add`(const char`*`,const Image`&`,Callback1`<Bar`&`>`):%- [_^Bar`:`:Item^ I
|
||||
ar]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Event^ Event]<Bar[@(0.0.255) `&]>`&_[*@3 pro
|
||||
c])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(const char`*`,const Upp`:`:Event`<Upp`:`:Bar`&`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Image^ UPP`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[_^Callback1^ Callback1][@(0.0.255) <]Bar[@(0.0.255) `&>]_[*@3 proc])&]
|
||||
[s2; Adds a submenu. For toolbar, simply adds all items of [%-*@3 proc].
|
||||
[%-*@3 enable] sets the item status.&]
|
||||
[@(0.0.255) const]_[_^Upp`:`:Event^ Event]<Bar[@(0.0.255) `&]>`&_[*@3 proc])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(bool`,const char`*`,const Upp`:`:Image`&`,const Upp`:`:Event`<Upp`:`:Bar`&`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) ch
|
||||
ar]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image
|
||||
], [@(0.0.255) const]_[_^Upp`:`:Event^ Event]<Bar[@(0.0.255) `&]>`&_[*@3 proc])&]
|
||||
[s5;:Upp`:`:Bar`:`:Add`(const char`*`,const Upp`:`:Image`&`,const Upp`:`:Event`<Upp`:`:Bar`&`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Event^ Event]<Bar[@(0.0.255) `&]>`&_[*@3 proc])&]
|
||||
[s5;:Upp`:`:Bar`:`:Sub`(bool`,const char`*`,const Upp`:`:Function`<void`(Upp`:`:Bar`&`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Sub]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) ch
|
||||
ar]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_(Bar
|
||||
[@(0.0.255) `&])>`&_[*@3 submenu])&]
|
||||
[s5;:Upp`:`:Bar`:`:Sub`(const char`*`,const Upp`:`:Function`<void`(Upp`:`:Bar`&`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Sub]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_(Bar[@(0.0.255) `&])>`&
|
||||
_[*@3 submenu])&]
|
||||
[s5;:Upp`:`:Bar`:`:Sub`(bool`,const char`*`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(Upp`:`:Bar`&`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Sub]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) ch
|
||||
ar]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image
|
||||
], [@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_(Bar[@(0.0.255) `&])
|
||||
>`&_[*@3 submenu])&]
|
||||
[s5;:Upp`:`:Bar`:`:Sub`(const char`*`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(Upp`:`:Bar`&`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* Sub]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_(Bar[@(0.0.255) `&])>`&
|
||||
_[*@3 submenu])&]
|
||||
[s2; Adds a submenu. For toolbar, simply adds all items of [%-*@3 submenu].
|
||||
[%-*@3 enable] sets the item status. Note that lambda variants
|
||||
(with Function) have to be named differently because of overloading
|
||||
issues.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:Bar`:`:MenuSeparator`(`):%- [@(0.0.255) void]_[* MenuSeparator]()&]
|
||||
|
|
@ -155,24 +214,46 @@ tem][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
|||
]_[*@3 ctrl], [_^Size^ Size]_[*@3 sz])&]
|
||||
[s5;:Bar`:`:AddMenu`(Ctrl`&`,int`,int`):%- [@(0.0.255) void]_[* AddMenu]([_^Ctrl^ Ctrl][@(0.0.255) `&
|
||||
]_[*@3 ctrl], [@(0.0.255) int]_[*@3 cx], [@(0.0.255) int]_[*@3 cy]_`=_[@3 0])&]
|
||||
[s5;:Bar`:`:AddMenu`(bool`,const char`*`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ I
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(bool`,const char`*`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 text], [@(0.0.255) const]_[_^Image^ UPP`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[_^Callback^ Callback]_[*@3 callback])&]
|
||||
[s5;:Bar`:`:AddMenu`(bool`,KeyInfo`&`(`*`)`(`)`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([@(0.0.255) bool]_[*@3 enable], [_^KeyInfo^ KeyInfo][@(0.0.255) `&
|
||||
]_(`*[*@3 key])(), [@(0.0.255) const]_UPP`::Image[@(0.0.255) `&]_[*@3 image],
|
||||
Callback_[*@3 callback])&]
|
||||
[s5;:Bar`:`:AddMenu`(const char`*`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&
|
||||
]_[* AddMenu]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text], [@(0.0.255) const]_[_^Image^ U
|
||||
PP`::Image][@(0.0.255) `&]_[*@3 image], [_^Callback^ Callback]_[*@3 callback])&]
|
||||
[s5;:Bar`:`:AddMenu`(const String`&`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ Item][@(0.0.255) `&
|
||||
]_[* AddMenu]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 t],
|
||||
[@(0.0.255) const]_[_^Image^ UPP`::Image][@(0.0.255) `&]_[*@3 m], [_^Callback^ Callback]_[*@3 c
|
||||
])&]
|
||||
[s5;:Bar`:`:AddMenu`(KeyInfo`&`(`*`)`(`)`,const Image`&`,Callback`):%- [_^Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([_^KeyInfo^ KeyInfo][@(0.0.255) `&]_(`*[*@3 key])(),
|
||||
[@(0.0.255) const]_UPP`::Image[@(0.0.255) `&]_[*@3 m], Callback_[*@3 c])&]
|
||||
har]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 imag
|
||||
e], [@(0.0.255) const]_[_^Upp`:`:Callback^ Callback][@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(bool`,Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([@(0.0.255) bool]_[*@3 enable], [_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&
|
||||
]_(`*[*@3 key])(), [@(0.0.255) const]_Upp`::Image[@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_Callback[@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(const char`*`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Callback^ Callback][@(0.0.255) `&]_[*@3 callback])&]
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(const Upp`:`:String`&`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&]_
|
||||
[*@3 t], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 m],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Callback^ Callback][@(0.0.255) `&]_[*@3 c])&]
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Image`&`,const Upp`:`:Callback`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&]_(`*[*@3 key])(),
|
||||
[@(0.0.255) const]_Upp`::Image[@(0.0.255) `&]_[*@3 m], [@(0.0.255) const]_Callback[@(0.0.255) `&
|
||||
]_[*@3 c])&]
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(bool`,const char`*`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([@(0.0.255) bool]_[*@3 enable], [@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 text], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 imag
|
||||
e], [@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(bool`,Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([@(0.0.255) bool]_[*@3 enable], [_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&
|
||||
]_(`*[*@3 key])(), [@(0.0.255) const]_Upp`::Image[@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_Function<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(const char`*`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 text],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 image],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(const Upp`:`:String`&`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&]_
|
||||
[*@3 t], [@(0.0.255) const]_[_^Upp`:`:Image^ Upp`::Image][@(0.0.255) `&]_[*@3 m],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Function^ Function]<[@(0.0.255) void]_()>`&_[*@3 fn])&]
|
||||
[s5;:Upp`:`:Bar`:`:AddMenu`(Upp`:`:KeyInfo`&`(`*`)`(`)`,const Upp`:`:Image`&`,const Upp`:`:Function`<void`(`)`>`&`):%- [_^Upp`:`:Bar`:`:Item^ I
|
||||
tem][@(0.0.255) `&]_[* AddMenu]([_^Upp`:`:KeyInfo^ KeyInfo][@(0.0.255) `&]_(`*[*@3 key])(),
|
||||
[@(0.0.255) const]_Upp`::Image[@(0.0.255) `&]_[*@3 m], [@(0.0.255) const]_Function<[@(0.0.255) v
|
||||
oid]_()>`&_[*@3 fn])&]
|
||||
[s2; These methods are equivalents to methods without [* Menu][*/ ]in
|
||||
the name, but perform respective operations only if Bar is menu.&]
|
||||
[s3; &]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue