RichText: Fixed problem with GetWidth and paragraphs not aligned left

This commit is contained in:
Mirek Fidler 2025-01-22 14:20:50 +01:00
parent 8fc23a3bf3
commit 93d4e8571d
5 changed files with 37 additions and 50 deletions

View file

@ -41,34 +41,34 @@ AddressBook::AddressBook()
tab.Add(search, "Search");
ActiveFocus(search.name);
search.oname = true;
search.oname <<= search.osurname <<= search.oaddress
<<= search.oemail <<= THISBACK(SetupSearch);
search.oname ^= search.osurname ^= search.oaddress
^= search.oemail ^= THISFN(SetupSearch);
array.AddColumn("Name");
array.AddColumn("Surname");
array.AddColumn("Address");
array.AddColumn("Email");
modify.add <<= THISBACK(Add);
modify.change <<= THISBACK(Change);
search.search <<= THISBACK(Search);
modify.add << THISFN(Add);
modify.change << THISFN(Change);
search.search << THISFN(Search);
SetupSearch();
fs.AllFilesType();
menu.Set(THISBACK(MainMenu));
menu.Set(THISFN(MainMenu));
}
void AddressBook::FileMenu(Bar& bar)
{
bar.Add("Open..", CtrlImg::open(), THISBACK(Open));
bar.Add("Save", CtrlImg::save(), THISBACK(Save));
bar.Add("Save as..", CtrlImg::save_as(), THISBACK(SaveAs));
bar.Add("Open..", CtrlImg::open(), THISFN(Open));
bar.Add("Save", CtrlImg::save(), THISFN(Save));
bar.Add("Save as..", CtrlImg::save_as(), THISFN(SaveAs));
bar.Separator();
bar.Add("Print", CtrlImg::print(), THISBACK(Print));
bar.Add("Print", CtrlImg::print(), THISFN(Print));
bar.Separator();
bar.Add("Quit", THISBACK(Quit));
bar.Add("Quit", THISFN(Quit));
}
void AddressBook::MainMenu(Bar& bar)
{
bar.Add("File", THISBACK(FileMenu));
bar.Sub("File", THISFN(FileMenu));
}
void AddressBook::SetupSearch()

View file

@ -48,34 +48,34 @@ AddressBook::AddressBook()
tab.Add(search, "Search");
ActiveFocus(search.name);
search.oname = true;
search.oname <<= search.osurname <<= search.oaddress
<<= search.oemail <<= THISBACK(SetupSearch);
search.oname ^= search.osurname ^= search.oaddress
^= search.oemail ^= THISFN(SetupSearch);
array.AddColumn(TAG_NAME, "Name");
array.AddColumn(TAG_SURNAME, "Surname");
array.AddColumn(TAG_ADDRESS, "Address");
array.AddColumn(TAG_EMAIL, "Email");
modify.add <<= THISBACK(Add);
modify.change <<= THISBACK(Change);
search.search <<= THISBACK(Search);
modify.add << THISFN(Add);
modify.change << THISFN(Change);
search.search << THISFN(Search);
SetupSearch();
fs.AllFilesType();
menu.Set(THISBACK(MainMenu));
menu.Set(THISFN(MainMenu));
}
void AddressBook::FileMenu(Bar& bar)
{
bar.Add("Open..", CtrlImg::open(), THISBACK(Open));
bar.Add("Save", CtrlImg::save(), THISBACK(Save));
bar.Add("Save as..", CtrlImg::save_as(), THISBACK(SaveAs));
bar.Add("Open..", CtrlImg::open(), THISFN(Open));
bar.Add("Save", CtrlImg::save(), THISFN(Save));
bar.Add("Save as..", CtrlImg::save_as(), THISFN(SaveAs));
bar.Separator();
bar.Add("Print", CtrlImg::print(), THISBACK(Print));
bar.Add("Print", CtrlImg::print(), THISFN(Print));
bar.Separator();
bar.Add("Quit", THISBACK(Quit));
bar.Add("Quit", THISFN(Quit));
}
void AddressBook::MainMenu(Bar& bar)
{
bar.Add("File", THISBACK(FileMenu));
bar.Sub("File", THISFN(FileMenu));
}
void AddressBook::SetupSearch()

View file

@ -6,43 +6,30 @@ class HelloWorld : public TopWindow {
MenuBar menu;
StatusBar status;
void FileMenu(Bar& bar);
void MainMenu(Bar& bar);
void About();
public:
typedef HelloWorld CLASSNAME;
HelloWorld();
};
void HelloWorld::About()
{
PromptOK("{{1@5 [@9= This is the]::@2 [A5@0 Ultimate`+`+ Hello world sample}}");
}
void HelloWorld::FileMenu(Bar& bar)
{
bar.Add("About..", THISBACK(About));
bar.Separator();
bar.Add("Exit", THISBACK(Close));
}
void HelloWorld::MainMenu(Bar& bar)
{
menu.Add("File", THISBACK(FileMenu));
}
HelloWorld::HelloWorld()
{
Title("Hello world!");
AddFrame(menu);
AddFrame(status);
menu.Set(THISBACK(MainMenu));
menu.Set([=](Bar& bar) {
menu.Sub("File", [=](Bar& bar) {
bar.Add("About..", [=] {
PromptOK("{{1@5 [@9= This is the]::@2 [A5@0 Ultimate`+`+ Hello world sample}}");
});
bar.Separator();
bar.Add("Exit", [=] { Close(); });
});
});
status = "Welcome to the Ultimate++ !";
}
GUI_APP_MAIN
{
SetLanguage(LNG_ENGLISH);
HelloWorld().Run();
}