mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-08-21 06:14:08 -06:00
Merge continued
git-svn-id: svn://ultimatepp.org/upp/trunk@10263 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
adf46bd64e
commit
2e4b276e07
3860 changed files with 1161787 additions and 438 deletions
116
uppdev/Menu/menu.cpp
Normal file
116
uppdev/Menu/menu.cpp
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
#include <CtrlLib/CtrlLib.h>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
struct App : public TopWindow {
|
||||
bool numbers_enabled;
|
||||
EditString test;
|
||||
Point p;
|
||||
ArrayCtrl list;
|
||||
|
||||
virtual void MouseMove(Point p, dword keyflags);
|
||||
virtual void Paint(Draw& w);
|
||||
|
||||
void Action2(int a, int b) { PromptOK(AsString(a) + AsString(b)); }
|
||||
|
||||
void Exit()
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
void EnableNumbers()
|
||||
{
|
||||
numbers_enabled = !numbers_enabled;
|
||||
}
|
||||
|
||||
void ShowNumber(int n)
|
||||
{
|
||||
PromptOK(AsString(n));
|
||||
}
|
||||
|
||||
void SubMenu(Bar& bar)
|
||||
{
|
||||
for(int i = 0; i < 10; i++)
|
||||
bar.Add("xxxxxx " + AsString(i), THISBACK1(ShowNumber, i));
|
||||
}
|
||||
|
||||
void Menu(Bar& bar)
|
||||
{
|
||||
bar.Add("THISBACK2", THISBACK2(Action2, 10, 11));
|
||||
bar.Add("Enable numbers", THISBACK(EnableNumbers))
|
||||
.Check(numbers_enabled);
|
||||
bar.Add(numbers_enabled, "Numbers", CtrlImg::cut(), THISBACK(SubMenu));
|
||||
bar.Add(numbers_enabled, "Numbers", CtrlImg::information(), THISBACK(SubMenu));
|
||||
bar.Separator();
|
||||
bar.Add("Zoom &Out", CtrlImg::error(), THISBACK(Exit)).Bold();
|
||||
bar.Add("Zoom Aut", CtrlImg::error(), THISBACK(Exit));
|
||||
bar.Add("Zoom Aut", CtrlImg::error(), THISBACK(Exit));
|
||||
bar.Add("Exit", THISBACK(Exit))
|
||||
.Key(K_CTRL_E);
|
||||
}
|
||||
|
||||
void BigMenu(Bar& bar)
|
||||
{
|
||||
for(int i = 0; i < 100; i++)
|
||||
bar.Add(AsString(i), THISBACK1(ShowNumber, i));
|
||||
}
|
||||
|
||||
void MainBar(Bar& bar)
|
||||
{
|
||||
bar.Add("Problem", THISBACK(Menu));
|
||||
bar.Add("Menu", THISBACK(Menu));
|
||||
bar.Add("Menu", THISBACK(Menu));
|
||||
bar.Add("BigMenu", THISBACK(BigMenu));
|
||||
bar.AddNC(test);
|
||||
}
|
||||
|
||||
virtual void RightDown(Point p, dword)
|
||||
{
|
||||
MenuBar bar;
|
||||
MainBar(bar);
|
||||
bar.Execute();
|
||||
}
|
||||
|
||||
void CloseSubMenu()
|
||||
{
|
||||
list.Add("Close");
|
||||
}
|
||||
|
||||
void OpenSubMenu()
|
||||
{
|
||||
list.Add("Open");
|
||||
}
|
||||
|
||||
MenuBar menu;
|
||||
|
||||
typedef App CLASSNAME;
|
||||
|
||||
App()
|
||||
{
|
||||
numbers_enabled = true;
|
||||
AddFrame(menu);
|
||||
menu.Set(THISBACK(MainBar));
|
||||
menu.WhenSubMenuClose = THISBACK(CloseSubMenu);
|
||||
menu.WhenSubMenuOpen = THISBACK(OpenSubMenu);
|
||||
list.AddColumn();
|
||||
Add(list.RightPos(0, 200).VSizePos());
|
||||
}
|
||||
};
|
||||
|
||||
void App::MouseMove(Point p, dword keyflags)
|
||||
{
|
||||
this->p = p;
|
||||
Refresh();
|
||||
}
|
||||
|
||||
void App::Paint(Draw& w)
|
||||
{
|
||||
w.DrawRect(GetSize(), White());
|
||||
w.DrawText(100, 100, AsString(p));
|
||||
}
|
||||
|
||||
|
||||
GUI_APP_MAIN
|
||||
{
|
||||
App().Run();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue