Mercurial > minori
diff src/ui_utils.cpp @ 1:1ae666fdf9e2
*: initial commit
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Tue, 08 Aug 2023 19:49:15 -0400 |
parents | |
children | 23d0d9319a00 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ui_utils.cpp Tue Aug 08 19:49:15 2023 -0400 @@ -0,0 +1,32 @@ +#include "window.h" +#include "ui_utils.h" + +void UiUtils::CreateTextHeader(wxWindow* parent, const wchar_t* title, int width, int x, int y) { + wxStaticText* static_text_title = new wxStaticText(parent, wxID_ANY, title, wxPoint(x, y), wxSize(width, 15), wxALIGN_LEFT); + wxFont font = static_text_title->GetFont(); + font.SetWeight(wxFONTWEIGHT_BOLD); + static_text_title->SetFont(font); + //wxStaticLine* line = new wxStaticLine(parent, wxID_ANY, wxPoint(x,y+15), wxSize(width, 2), wxLI_HORIZONTAL); + wxClientDC dc(parent); + dc.DrawRectangle(x, y+15, width, 2); +} + +wxStaticText* UiUtils::CreateTextParagraph(wxWindow* parent, const wchar_t* title, const wchar_t* data, int width, int height, int x, int y) { + CreateTextHeader(parent, title, width, x, y); + return new wxStaticText(parent, wxID_ANY, data, wxPoint(x+23, y+30), wxSize(width-23, height), wxALIGN_LEFT); +} + +wxStaticText* UiUtils::CreateTextParagraphWithLabels(wxWindow* parent, const wchar_t* title, const wchar_t* label, const wchar_t* data, int width, int height, int x, int y) { + CreateTextHeader(parent, title, width, x, y); + new wxStaticText(parent, wxID_ANY, label, wxPoint(x+23, y+30), wxSize(width-23, height), wxALIGN_LEFT); + return new wxStaticText(parent, wxID_ANY, data, wxPoint(x+157, y+30), wxSize(width-157, height), wxALIGN_LEFT); +} + +/* As far as I can tell, this is identical to the way Taiga implements it. + Kind of cool, I didn't even look into the source code for it :p */ +wxTextCtrl* UiUtils::CreateSelectableTextParagraph(wxWindow* parent, const wchar_t* title, const wchar_t* data, int width, int height, int x, int y) { + CreateTextHeader(parent, title, width, x, y); + wxTextCtrl* textctrl = new wxTextCtrl(parent, wxID_ANY, "", wxPoint(x+23, y+30), wxSize(width-23, height), wxTE_LEFT | wxBORDER_NONE | wxTE_BESTWRAP | wxTE_READONLY | wxTE_MULTILINE | wxTE_NO_VSCROLL); + (*textctrl) << data; + return textctrl; +}