.examples

This commit is contained in:
Mirek Fidler 2025-01-22 14:35:28 +01:00
parent 93d4e8571d
commit 97f86f4334
3 changed files with 25 additions and 30 deletions

View file

@ -61,42 +61,42 @@ public:
void UWord::FileBar(Bar& bar)
{
bar.Add("New", CtrlImg::new_doc(), THISBACK(New))
bar.Add("New", CtrlImg::new_doc(), THISFN(New))
.Key(K_CTRL_N)
.Help("Open new window");
bar.Add("Open..", CtrlImg::open(), THISBACK(Open))
bar.Add("Open..", CtrlImg::open(), THISFN(Open))
.Key(K_CTRL_O)
.Help("Open existing document");
bar.Add(editor.IsModified(), "Save", CtrlImg::save(), THISBACK(Save))
bar.Add(editor.IsModified(), "Save", CtrlImg::save(), THISFN(Save))
.Key(K_CTRL_S)
.Help("Save current document");
bar.Add("SaveAs", CtrlImg::save_as(), THISBACK(SaveAs))
bar.Add("SaveAs", CtrlImg::save_as(), THISFN(SaveAs))
.Help("Save current document with a new name");
bar.ToolGap();
bar.MenuSeparator();
bar.Add("Print..", CtrlImg::print(), THISBACK(Print))
bar.Add("Print..", CtrlImg::print(), THISFN(Print))
.Key(K_CTRL_P)
.Help("Print document");
bar.Add("Export to PDF..", UWordImg::pdf(), THISBACK(Pdf))
bar.Add("Export to PDF..", UWordImg::pdf(), THISFN(Pdf))
.Help("Export document to PDF file");
if(bar.IsMenuBar()) {
if(lrufile().GetCount())
lrufile()(bar, THISBACK(OpenFile));
lrufile()(bar, THISFN(OpenFile));
bar.Separator();
bar.Add("Exit", THISBACK(Destroy));
bar.Add("Exit", THISFN(Destroy));
}
}
void UWord::AboutMenu(Bar& bar)
{
bar.Add("About..", THISBACK(About));
bar.Add("About..", THISFN(About));
}
void UWord::MainMenu(Bar& bar)
{
bar.Add("File", THISBACK(FileBar));
bar.Add("Window", callback(WindowsMenu));
bar.Add("Help", THISBACK(AboutMenu));
bar.Sub("File", THISFN(FileBar));
bar.Sub("Window", [=](Bar& bar) { WindowsMenu(bar); });
bar.Sub("Help", THISFN(AboutMenu));
}
void UWord::New()
@ -219,7 +219,7 @@ void UWord::MainBar(Bar& bar)
void UWord::SetBar()
{
toolbar.Set(THISBACK(MainBar));
toolbar.Set(THISFN(MainBar));
}
UWord::UWord()
@ -229,16 +229,16 @@ UWord::UWord()
AddFrame(toolbar);
AddFrame(statusbar);
Add(editor.SizePos());
menubar.Set(THISBACK(MainMenu));
menubar.Set(THISFN(MainMenu));
Sizeable().Zoomable();
WhenClose = THISBACK(Destroy);
WhenClose = THISFN(Destroy);
menubar.WhenHelp = toolbar.WhenHelp = statusbar;
static int doc;
Title(Format("Document%d", ++doc));
Icon(CtrlImg::File());
editor.ClearModify();
SetBar();
editor.WhenRefreshBar = THISBACK(SetBar);
editor.WhenRefreshBar = THISFN(SetBar);
OpenMain();
ActiveFocus(editor);
}

View file

@ -5,7 +5,7 @@
using namespace Upp;
struct ButtonApp : TopWindow {
int count;
int count = 0;
Button button;
Label label;
@ -13,21 +13,14 @@ struct ButtonApp : TopWindow {
{
label = Format("Number of button clicks %d", count);
}
void Click()
{
++count;
RefreshLabel();
}
typedef ButtonApp CLASSNAME;
ButtonApp()
{
count = 0;
button <<= THISBACK(Click);
button.SetLabel("&I'm an U++ button!");
Add(button.VCenterPos(20).HCenterPos(200));
Add(label.BottomPos(0, 20).HCenterPos(200));
Title("Button example");
button << [=] { ++count; RefreshLabel(); };
button.SetLabel("Click me!");
Add(button.VCenterPosZ(30).HCenterPosZ(200));
Add(label.BottomPosZ(0, 20).HCenterPosZ(200));
label.SetAlign(ALIGN_CENTER);
Sizeable().Zoomable();
RefreshLabel();