aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-02-02 10:28:12 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2023-02-02 10:28:12 +0100
commit3b9f2cfdbcf8653450c06a000e80958190edacf4 (patch)
tree7f7a393dd41a40cf07f6c4dd41a4d72fd71a83a2
parent36bdc90b57051d2a9985bc0965062885b22e08ea (diff)
Improve about dialogv0.0.1
-rw-r--r--src/MainWindow.cpp17
-rw-r--r--src/gui.cpp26
-rw-r--r--src/gui.h7
-rw-r--r--tools/wxFrameBuilder.fbp302
4 files changed, 292 insertions, 60 deletions
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index 00e375d..55f35f5 100644
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -287,11 +287,13 @@ TabInfos* MainWindow::NewGame(std::shared_ptr<Game> game) {
void MainWindow::ShowAbout(){
DialogAbout *dialog=new DialogAbout(this);
- dialog->ochess_icon->SetBitmap(LoadPNG("ochess",wxSize(80,80)));
+ wxFont font(wxFontInfo(12));
+ dialog->app_icon->SetBitmap(LoadPNG("ochess",wxSize(80,80)));
+ dialog->appname_text->SetFont(wxFont(wxFontInfo(18).Bold()));
+ dialog->appname_text->SetLabel(wxT("OChess v"+std::string(OCHESS_VERSION)));
// Populate info:
wxRichTextCtrl *t=dialog->info_richtext;
- wxFont font(wxFontInfo(12));
t->SetFont(font);
t->BeginAlignment(wxTEXT_ALIGNMENT_CENTRE);
t->BeginBold();
@@ -304,8 +306,6 @@ void MainWindow::ShowAbout(){
t->Newline();
t->Newline();
t->BeginFontSize(8);
- t->WriteText(wxT("OChess version "+std::string(OCHESS_VERSION)));
- t->Newline();
t->WriteText(wxT("OChess is delivered under GPLv3 license"));
t->Newline();
t->WriteText(wxT("Built on "+std::string(BUILD_TIME)));
@@ -332,5 +332,14 @@ void MainWindow::ShowAbout(){
t->Newline();
t->EndAlignment();
+ // Populate credits:
+ wxRichTextCtrl *c=dialog->credits_richtext;
+ c->SetFont(font);
+ c->BeginBold();
+ c->WriteText("Developers:");
+ c->EndBold();
+ c->Newline();
+ c->WriteText(" - manzerbredes <manzerbredes@mailbox.org>");
+
dialog->Show();
} \ No newline at end of file
diff --git a/src/gui.cpp b/src/gui.cpp
index df02581..d1fcda1 100644
--- a/src/gui.cpp
+++ b/src/gui.cpp
@@ -57,8 +57,18 @@ DialogAbout::DialogAbout( wxWindow* parent, wxWindowID id, const wxString& title
wxBoxSizer* main_sizer;
main_sizer = new wxBoxSizer( wxVERTICAL );
- ochess_icon = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- main_sizer->Add( ochess_icon, 0, wxALL, 5 );
+ wxBoxSizer* top_sizer;
+ top_sizer = new wxBoxSizer( wxHORIZONTAL );
+
+ app_icon = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ top_sizer->Add( app_icon, 0, wxALL, 5 );
+
+ appname_text = new wxStaticText( this, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 );
+ appname_text->Wrap( -1 );
+ top_sizer->Add( appname_text, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+
+ main_sizer->Add( top_sizer, 0, wxEXPAND, 5 );
m_notebook3 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
info_panel = new wxPanel( m_notebook3, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
@@ -73,6 +83,18 @@ DialogAbout::DialogAbout( wxWindow* parent, wxWindowID id, const wxString& title
info_panel->Layout();
info_sizer->Fit( info_panel );
m_notebook3->AddPage( info_panel, wxT("Info"), false );
+ credits_panel = new wxPanel( m_notebook3, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* credits_sizer;
+ credits_sizer = new wxBoxSizer( wxVERTICAL );
+
+ credits_richtext = new wxRichTextCtrl( credits_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0|wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS );
+ credits_sizer->Add( credits_richtext, 1, wxEXPAND | wxALL, 5 );
+
+
+ credits_panel->SetSizer( credits_sizer );
+ credits_panel->Layout();
+ credits_sizer->Fit( credits_panel );
+ m_notebook3->AddPage( credits_panel, wxT("Credits"), false );
main_sizer->Add( m_notebook3, 1, wxEXPAND | wxALL, 5 );
diff --git a/src/gui.h b/src/gui.h
index 4d197c5..54477ca 100644
--- a/src/gui.h
+++ b/src/gui.h
@@ -23,11 +23,11 @@
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/statbmp.h>
+#include <wx/stattext.h>
#include <wx/richtext/richtextctrl.h>
#include <wx/panel.h>
#include <wx/notebook.h>
#include <wx/dialog.h>
-#include <wx/stattext.h>
#include <wx/button.h>
#include <wx/spinctrl.h>
#include <wx/listctrl.h>
@@ -104,10 +104,13 @@ class DialogAbout : public wxDialog
protected:
wxNotebook* m_notebook3;
wxPanel* info_panel;
+ wxPanel* credits_panel;
public:
- wxStaticBitmap* ochess_icon;
+ wxStaticBitmap* app_icon;
+ wxStaticText* appname_text;
wxRichTextCtrl* info_richtext;
+ wxRichTextCtrl* credits_richtext;
DialogAbout( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 600,400 ), long style = wxDEFAULT_DIALOG_STYLE );
diff --git a/tools/wxFrameBuilder.fbp b/tools/wxFrameBuilder.fbp
index f99e296..861d3be 100644
--- a/tools/wxFrameBuilder.fbp
+++ b/tools/wxFrameBuilder.fbp
@@ -228,60 +228,132 @@
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
- <property name="flag">wxALL</property>
+ <property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
- <object class="wxStaticBitmap" expanded="1">
- <property name="BottomDockable">1</property>
- <property name="LeftDockable">1</property>
- <property name="RightDockable">1</property>
- <property name="TopDockable">1</property>
- <property name="aui_layer"></property>
- <property name="aui_name"></property>
- <property name="aui_position"></property>
- <property name="aui_row"></property>
- <property name="best_size"></property>
- <property name="bg"></property>
- <property name="bitmap"></property>
- <property name="caption"></property>
- <property name="caption_visible">1</property>
- <property name="center_pane">0</property>
- <property name="close_button">1</property>
- <property name="context_help"></property>
- <property name="context_menu">1</property>
- <property name="default_pane">0</property>
- <property name="dock">Dock</property>
- <property name="dock_fixed">0</property>
- <property name="docking">Left</property>
- <property name="enabled">1</property>
- <property name="fg"></property>
- <property name="floatable">1</property>
- <property name="font"></property>
- <property name="gripper">0</property>
- <property name="hidden">0</property>
- <property name="id">wxID_ANY</property>
- <property name="max_size"></property>
- <property name="maximize_button">0</property>
- <property name="maximum_size"></property>
- <property name="min_size"></property>
- <property name="minimize_button">0</property>
+ <object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
- <property name="moveable">1</property>
- <property name="name">ochess_icon</property>
- <property name="pane_border">1</property>
- <property name="pane_position"></property>
- <property name="pane_size"></property>
- <property name="permission">public</property>
- <property name="pin_button">1</property>
- <property name="pos"></property>
- <property name="resize">Resizable</property>
- <property name="show">1</property>
- <property name="size"></property>
- <property name="subclass">; ; forward_declare</property>
- <property name="toolbar_pane">0</property>
- <property name="tooltip"></property>
- <property name="window_extra_style"></property>
- <property name="window_name"></property>
- <property name="window_style"></property>
+ <property name="name">top_sizer</property>
+ <property name="orient">wxHORIZONTAL</property>
+ <property name="permission">none</property>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALL</property>
+ <property name="proportion">0</property>
+ <object class="wxStaticBitmap" expanded="1">
+ <property name="BottomDockable">1</property>
+ <property name="LeftDockable">1</property>
+ <property name="RightDockable">1</property>
+ <property name="TopDockable">1</property>
+ <property name="aui_layer"></property>
+ <property name="aui_name"></property>
+ <property name="aui_position"></property>
+ <property name="aui_row"></property>
+ <property name="best_size"></property>
+ <property name="bg"></property>
+ <property name="bitmap"></property>
+ <property name="caption"></property>
+ <property name="caption_visible">1</property>
+ <property name="center_pane">0</property>
+ <property name="close_button">1</property>
+ <property name="context_help"></property>
+ <property name="context_menu">1</property>
+ <property name="default_pane">0</property>
+ <property name="dock">Dock</property>
+ <property name="dock_fixed">0</property>
+ <property name="docking">Left</property>
+ <property name="enabled">1</property>
+ <property name="fg"></property>
+ <property name="floatable">1</property>
+ <property name="font"></property>
+ <property name="gripper">0</property>
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="max_size"></property>
+ <property name="maximize_button">0</property>
+ <property name="maximum_size"></property>
+ <property name="min_size"></property>
+ <property name="minimize_button">0</property>
+ <property name="minimum_size"></property>
+ <property name="moveable">1</property>
+ <property name="name">app_icon</property>
+ <property name="pane_border">1</property>
+ <property name="pane_position"></property>
+ <property name="pane_size"></property>
+ <property name="permission">public</property>
+ <property name="pin_button">1</property>
+ <property name="pos"></property>
+ <property name="resize">Resizable</property>
+ <property name="show">1</property>
+ <property name="size"></property>
+ <property name="subclass">; ; forward_declare</property>
+ <property name="toolbar_pane">0</property>
+ <property name="tooltip"></property>
+ <property name="window_extra_style"></property>
+ <property name="window_name"></property>
+ <property name="window_style"></property>
+ </object>
+ </object>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
+ <property name="proportion">0</property>
+ <object class="wxStaticText" expanded="1">
+ <property name="BottomDockable">1</property>
+ <property name="LeftDockable">1</property>
+ <property name="RightDockable">1</property>
+ <property name="TopDockable">1</property>
+ <property name="aui_layer"></property>
+ <property name="aui_name"></property>
+ <property name="aui_position"></property>
+ <property name="aui_row"></property>
+ <property name="best_size"></property>
+ <property name="bg"></property>
+ <property name="caption"></property>
+ <property name="caption_visible">1</property>
+ <property name="center_pane">0</property>
+ <property name="close_button">1</property>
+ <property name="context_help"></property>
+ <property name="context_menu">1</property>
+ <property name="default_pane">0</property>
+ <property name="dock">Dock</property>
+ <property name="dock_fixed">0</property>
+ <property name="docking">Left</property>
+ <property name="enabled">1</property>
+ <property name="fg"></property>
+ <property name="floatable">1</property>
+ <property name="font"></property>
+ <property name="gripper">0</property>
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="label">MyLabel</property>
+ <property name="markup">0</property>
+ <property name="max_size"></property>
+ <property name="maximize_button">0</property>
+ <property name="maximum_size"></property>
+ <property name="min_size"></property>
+ <property name="minimize_button">0</property>
+ <property name="minimum_size"></property>
+ <property name="moveable">1</property>
+ <property name="name">appname_text</property>
+ <property name="pane_border">1</property>
+ <property name="pane_position"></property>
+ <property name="pane_size"></property>
+ <property name="permission">public</property>
+ <property name="pin_button">1</property>
+ <property name="pos"></property>
+ <property name="resize">Resizable</property>
+ <property name="show">1</property>
+ <property name="size"></property>
+ <property name="style"></property>
+ <property name="subclass">; ; forward_declare</property>
+ <property name="toolbar_pane">0</property>
+ <property name="tooltip"></property>
+ <property name="window_extra_style"></property>
+ <property name="window_name"></property>
+ <property name="window_style"></property>
+ <property name="wrap">-1</property>
+ </object>
+ </object>
</object>
</object>
<object class="sizeritem" expanded="1">
@@ -467,6 +539,132 @@
</object>
</object>
</object>
+ <object class="notebookpage" expanded="1">
+ <property name="bitmap"></property>
+ <property name="label">Credits</property>
+ <property name="select">0</property>
+ <object class="wxPanel" expanded="1">
+ <property name="BottomDockable">1</property>
+ <property name="LeftDockable">1</property>
+ <property name="RightDockable">1</property>
+ <property name="TopDockable">1</property>
+ <property name="aui_layer"></property>
+ <property name="aui_name"></property>
+ <property name="aui_position"></property>
+ <property name="aui_row"></property>
+ <property name="best_size"></property>
+ <property name="bg"></property>
+ <property name="caption"></property>
+ <property name="caption_visible">1</property>
+ <property name="center_pane">0</property>
+ <property name="close_button">1</property>
+ <property name="context_help"></property>
+ <property name="context_menu">1</property>
+ <property name="default_pane">0</property>
+ <property name="dock">Dock</property>
+ <property name="dock_fixed">0</property>
+ <property name="docking">Left</property>
+ <property name="enabled">1</property>
+ <property name="fg"></property>
+ <property name="floatable">1</property>
+ <property name="font"></property>
+ <property name="gripper">0</property>
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="max_size"></property>
+ <property name="maximize_button">0</property>
+ <property name="maximum_size"></property>
+ <property name="min_size"></property>
+ <property name="minimize_button">0</property>
+ <property name="minimum_size"></property>
+ <property name="moveable">1</property>
+ <property name="name">credits_panel</property>
+ <property name="pane_border">1</property>
+ <property name="pane_position"></property>
+ <property name="pane_size"></property>
+ <property name="permission">protected</property>
+ <property name="pin_button">1</property>
+ <property name="pos"></property>
+ <property name="resize">Resizable</property>
+ <property name="show">1</property>
+ <property name="size"></property>
+ <property name="subclass">; ; forward_declare</property>
+ <property name="toolbar_pane">0</property>
+ <property name="tooltip"></property>
+ <property name="window_extra_style"></property>
+ <property name="window_name"></property>
+ <property name="window_style">wxTAB_TRAVERSAL</property>
+ <object class="wxBoxSizer" expanded="1">
+ <property name="minimum_size"></property>
+ <property name="name">credits_sizer</property>
+ <property name="orient">wxVERTICAL</property>
+ <property name="permission">none</property>
+ <object class="sizeritem" expanded="1">
+ <property name="border">5</property>
+ <property name="flag">wxEXPAND | wxALL</property>
+ <property name="proportion">1</property>
+ <object class="wxRichTextCtrl" expanded="1">
+ <property name="BottomDockable">1</property>
+ <property name="LeftDockable">1</property>
+ <property name="RightDockable">1</property>
+ <property name="TopDockable">1</property>
+ <property name="aui_layer"></property>
+ <property name="aui_name"></property>
+ <property name="aui_position"></property>
+ <property name="aui_row"></property>
+ <property name="best_size"></property>
+ <property name="bg"></property>
+ <property name="caption"></property>
+ <property name="caption_visible">1</property>
+ <property name="center_pane">0</property>
+ <property name="close_button">1</property>
+ <property name="context_help"></property>
+ <property name="context_menu">1</property>
+ <property name="default_pane">0</property>
+ <property name="dock">Dock</property>
+ <property name="dock_fixed">0</property>
+ <property name="docking">Left</property>
+ <property name="enabled">1</property>
+ <property name="fg"></property>
+ <property name="floatable">1</property>
+ <property name="font"></property>
+ <property name="gripper">0</property>
+ <property name="hidden">0</property>
+ <property name="id">wxID_ANY</property>
+ <property name="max_size"></property>
+ <property name="maximize_button">0</property>
+ <property name="maximum_size"></property>
+ <property name="min_size"></property>
+ <property name="minimize_button">0</property>
+ <property name="minimum_size"></property>
+ <property name="moveable">1</property>
+ <property name="name">credits_richtext</property>
+ <property name="pane_border">1</property>
+ <property name="pane_position"></property>
+ <property name="pane_size"></property>
+ <property name="permission">public</property>
+ <property name="pin_button">1</property>
+ <property name="pos"></property>
+ <property name="resize">Resizable</property>
+ <property name="show">1</property>
+ <property name="size"></property>
+ <property name="style"></property>
+ <property name="subclass">; ; forward_declare</property>
+ <property name="toolbar_pane">0</property>
+ <property name="tooltip"></property>
+ <property name="validator_data_type"></property>
+ <property name="validator_style">wxFILTER_NONE</property>
+ <property name="validator_type">wxDefaultValidator</property>
+ <property name="validator_variable"></property>
+ <property name="value"></property>
+ <property name="window_extra_style"></property>
+ <property name="window_name"></property>
+ <property name="window_style">wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS</property>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
</object>
</object>
</object>