41
General (but related to Code::Blocks) / Re: WxSmith generate wrong code with sizer
« Last post by Miguel Gimenez on July 10, 2024, 11:15:09 am »You must update CB, if Mint does not allow so you must use a nightly or compile the source.
As usual while waiting for the next release - don't forget to check the nightly builds in the forum.
https://docs.codelite.org/wxWidgets/repo32/
wxWidgets-3.2.4/gtk-build/wx-config --version
3.2.4
Checking for existence: /home/gunjan/wxWidgets-3.2.4/gtk-build/samples/gunjansample/test_hello/bin/Debug/test_hello
Set variable: LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu:
Executing: /home/gunjan/wxWidgets-3.2.4/gtk-build/samples/gunjansample/test_hello/bin/Debug/test_hello (in /home/gunjan/wxWidgets-3.2.4/gtk-build/samples/gunjansample/test_hello/.)
Process terminated with status -11 (0 minute(s), 0 second(s))
#include "test_helloMain.h"
#include <wx/msgdlg.h>
#include <wx/log.h> // Include wxLog for debugging
//(*InternalHeaders(test_helloFrame)
#include <wx/intl.h>
#include <wx/string.h>
//*)
//helper functions
enum wxbuildinfoformat {
short_f, long_f };
wxString wxbuildinfo(wxbuildinfoformat format)
{
wxString wxbuild(wxVERSION_STRING);
if (format == long_f )
{
#if defined(__WXMSW__)
wxbuild << _T("-Windows");
#elif defined(__UNIX__)
wxbuild << _T("-Linux");
#endif
#if wxUSE_UNICODE
wxbuild << _T("-Unicode build");
#else
wxbuild << _T("-ANSI build");
#endif // wxUSE_UNICODE
}
return wxbuild;
}
//(*IdInit(test_helloFrame)
const long test_helloFrame::ID_BUTTON1 = wxNewId();
const long test_helloFrame::ID_TEXTCTRL1 = wxNewId();
const long test_helloFrame::ID_PANEL1 = wxNewId();
const long test_helloFrame::idMenuQuit = wxNewId();
const long test_helloFrame::idMenuAbout = wxNewId();
const long test_helloFrame::ID_STATUSBAR1 = wxNewId();
//*)
BEGIN_EVENT_TABLE(test_helloFrame,wxFrame)
//(*EventTable(test_helloFrame)
//*)
END_EVENT_TABLE()
test_helloFrame::test_helloFrame(wxWindow* parent,wxWindowID id)
{
wxLogDebug("test_helloFrame Constructor - Start");
//(*Initialize(test_helloFrame)
wxBoxSizer* BoxSizer1;
wxMenu* Menu1;
wxMenu* Menu2;
wxMenuBar* MenuBar1;
wxMenuItem* MenuItem1;
wxMenuItem* MenuItem2;
wxStaticBoxSizer* StaticBoxSizer1;
Create(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("wxID_ANY"));
BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxSize(185,134), wxTAB_TRAVERSAL, _T("ID_PANEL1"));
StaticBoxSizer1 = new wxStaticBoxSizer(wxHORIZONTAL, Panel1, _("Label"));
Button1 = new wxButton(Panel1, ID_BUTTON1, _("Label"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
StaticBoxSizer1->Add(Button1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
TextCtrl1 = new wxTextCtrl(Panel1, ID_TEXTCTRL1, _("Text"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL1"));
StaticBoxSizer1->Add(TextCtrl1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
Panel1->SetSizer(StaticBoxSizer1);
SetSizer(StaticBoxSizer1);
Layout();
BoxSizer1->Add(Panel1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
SetSizer(BoxSizer1);
MenuBar1 = new wxMenuBar();
Menu1 = new wxMenu();
MenuItem1 = new wxMenuItem(Menu1, idMenuQuit, _("Quit\tAlt-F4"), _("Quit the application"), wxITEM_NORMAL);
Menu1->Append(MenuItem1);
MenuBar1->Append(Menu1, _("&File"));
Menu2 = new wxMenu();
MenuItem2 = new wxMenuItem(Menu2, idMenuAbout, _("About\tF1"), _("Show info about this application"), wxITEM_NORMAL);
Menu2->Append(MenuItem2);
MenuBar1->Append(Menu2, _("Help"));
SetMenuBar(MenuBar1);
StatusBar1 = new wxStatusBar(this, ID_STATUSBAR1, 0, _T("ID_STATUSBAR1"));
int __wxStatusBarWidths_1[1] = { -1 };
int __wxStatusBarStyles_1[1] = { wxSB_NORMAL };
StatusBar1->SetFieldsCount(1,__wxStatusBarWidths_1);
StatusBar1->SetStatusStyles(1,__wxStatusBarStyles_1);
SetStatusBar(StatusBar1);
BoxSizer1->Fit(this);
BoxSizer1->SetSizeHints(this);
Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&test_helloFrame::OnButton1Click);
Connect(ID_TEXTCTRL1,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&test_helloFrame::OnTextCtrl1Text);
Connect(idMenuQuit,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&test_helloFrame::OnQuit);
Connect(idMenuAbout,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&test_helloFrame::OnAbout);
//*)
wxLogDebug("test_helloFrame Constructor - End");
}
test_helloFrame::~test_helloFrame()
{
wxLogDebug("test_helloFrame Destructor");
//(*Destroy(test_helloFrame)
//*)
}
void test_helloFrame::OnQuit(wxCommandEvent& event)
{
wxLogDebug("OnQuit");
Close();
}
void test_helloFrame::OnAbout(wxCommandEvent& event)
{
wxLogDebug("OnAbout");
wxString msg = wxbuildinfo(long_f);
wxMessageBox(msg, _("Welcome to..."));
}
void test_helloFrame::OnButton1Click(wxCommandEvent& event)
{
wxLogDebug("OnButton1Click");
wxMessageBox(_("Button clicked"), _("Info"));
}
void test_helloFrame::OnTextCtrl1Text(wxCommandEvent& event)
{
wxLogDebug("OnTextCtrl1Text");
}
wxBoxSizer* BoxSizer1;
wxStaticBoxSizer* StaticBoxSizer1;
Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
SetClientSize(wxDefaultSize);
Move(wxDefaultPosition);
BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL1"));
StaticBoxSizer1 = new wxStaticBoxSizer(wxHORIZONTAL, Panel1, _("Label"));
Button1 = new wxButton(Panel1, ID_BUTTON1, _("Label"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
StaticBoxSizer1->Add(Button1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
Button2 = new wxButton(Panel1, ID_BUTTON2, _("Label"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2"));
StaticBoxSizer1->Add(Button2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
Panel1->SetSizer(StaticBoxSizer1);
BoxSizer1->Add(Panel1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
SetSizer(BoxSizer1);
BoxSizer1->SetSizeHints(this);
sudo apt install build-essential \
gdb \
libwxgtk3.0-gtk3-dev \
wx3.0-doc \
codeblocks \
codeblocks-contrib
Panel1->SetSizer(StaticBoxSizer1);
SetSizer(StaticBoxSizer1);
Layout();
BoxSizer1->Add(Panel1, 1, wxALL|wxEXPAND, 5);
SetSizer(BoxSizer1);
SetSizer(StaticBoxSizer1);