comparison 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
comparison
equal deleted inserted replaced
0:5a76e1b94163 1:1ae666fdf9e2
1 #include "window.h"
2 #include "ui_utils.h"
3
4 void UiUtils::CreateTextHeader(wxWindow* parent, const wchar_t* title, int width, int x, int y) {
5 wxStaticText* static_text_title = new wxStaticText(parent, wxID_ANY, title, wxPoint(x, y), wxSize(width, 15), wxALIGN_LEFT);
6 wxFont font = static_text_title->GetFont();
7 font.SetWeight(wxFONTWEIGHT_BOLD);
8 static_text_title->SetFont(font);
9 //wxStaticLine* line = new wxStaticLine(parent, wxID_ANY, wxPoint(x,y+15), wxSize(width, 2), wxLI_HORIZONTAL);
10 wxClientDC dc(parent);
11 dc.DrawRectangle(x, y+15, width, 2);
12 }
13
14 wxStaticText* UiUtils::CreateTextParagraph(wxWindow* parent, const wchar_t* title, const wchar_t* data, int width, int height, int x, int y) {
15 CreateTextHeader(parent, title, width, x, y);
16 return new wxStaticText(parent, wxID_ANY, data, wxPoint(x+23, y+30), wxSize(width-23, height), wxALIGN_LEFT);
17 }
18
19 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) {
20 CreateTextHeader(parent, title, width, x, y);
21 new wxStaticText(parent, wxID_ANY, label, wxPoint(x+23, y+30), wxSize(width-23, height), wxALIGN_LEFT);
22 return new wxStaticText(parent, wxID_ANY, data, wxPoint(x+157, y+30), wxSize(width-157, height), wxALIGN_LEFT);
23 }
24
25 /* As far as I can tell, this is identical to the way Taiga implements it.
26 Kind of cool, I didn't even look into the source code for it :p */
27 wxTextCtrl* UiUtils::CreateSelectableTextParagraph(wxWindow* parent, const wchar_t* title, const wchar_t* data, int width, int height, int x, int y) {
28 CreateTextHeader(parent, title, width, x, y);
29 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);
30 (*textctrl) << data;
31 return textctrl;
32 }