Recent Posts

Pages: [1] 2 3 4 5 6 ... 10
1
Development / Re: wxSmith use bad constructor for wxStaticBoxSizer
« Last post by LR83 on Today at 06:14:31 pm »
I try to find a patch to correct this.
First, we can add a temporary wxStaticBox when we add the wxStaticBoxSizer.
In the file wxsstaticboxsizer.cpp we replace in OnBuildSizerCreatingCode() function this code:
Quote
        case wxsCPP:
        {
            AddHeader(_T("<wx/sizer.h>"),GetInfo().ClassName,hfInPCH);
            AddHeader(_T("<wx/statbox.h>"),GetInfo().ClassName,hfInPCH);
            Codef(_T("%C(%s, %W, %t);\n"),
                    (Orient!=wxHORIZONTAL)?_T("wxVERTICAL"):_T("wxHORIZONTAL"),
                    Label.wx_str());
            Codef(_T("wxStaticBox *SB_%s = %s->GetStaticBox();\n"),GetVarName().wx_str(),GetVarName().wx_str());
            return;
        }

The problem now is to replace, in all constructors of the children of wxStaticBoxSizer, the parent with this temporary wxStaticBox.
I don't know how to do it right now.
2
Development / Re: wxSmith use bad constructor for wxStaticBoxSizer
« Last post by LR83 on Today at 11:42:32 am »
We can correct the code simply by:
- replace this by StaticBoxSizer1->GetStaticBox() in the wxStaticText and wxTextCtrl constructor
- add the include <wx/statbox.h>
3
Development / wxSmith use bad constructor for wxStaticBoxSizer
« Last post by LR83 on Today at 11:17:45 am »
The documentation say that the child of a wxStaticBoxSizer should be the wxBoxSizer and not the owner of the wxStaticBoxSizer.
On Linux, for example, I can see the following warning on the console:
Element wxStaticText of wxStaticBoxSizer should be created as child of its wxStaticBox and not of wxDialog.

I test several builder on a very simple case: a dialog window with a wxStaticBoxSizer that contain a wxStaticText and a wxTextCtrl.
With wxSmith:
Quote
DialogFormSmith::DialogFormSmith(wxWindow* parent,wxWindowID id)
{
    //(*Initialize(DialogFormSmith)
    wxStaticBoxSizer* StaticBoxSizer1;

    Create(parent, id, _("Test with wxSmith"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("id"));
    StaticBoxSizer1 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("StaticBoxSizer"));
    StaticText1 = new wxStaticText(this, wxID_ANY, _("Label"), wxDefaultPosition, wxDefaultSize, 0);
    StaticBoxSizer1->Add(StaticText1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    TextCtrl1 = new wxTextCtrl(this, wxID_ANY, _("Text"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
    StaticBoxSizer1->Add(TextCtrl1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    SetSizer(StaticBoxSizer1);
    StaticBoxSizer1->SetSizeHints(this);
    //*)
}

with wxFormBuilder:
Quote
DialogFormBuilder::DialogFormBuilder( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
   this->SetSizeHints( wxDefaultSize, wxDefaultSize );

   wxStaticBoxSizer* sbSizer1;
   sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("StaticBoxSizer") ), wxHORIZONTAL );

   m_staticText1 = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 );
   m_staticText1->Wrap( -1 );
   sbSizer1->Add( m_staticText1, 0, wxALL, 5 );

   m_textCtrl1 = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
   sbSizer1->Add( m_textCtrl1, 0, wxALL, 5 );


   this->SetSizer( sbSizer1 );
   this->Layout();
   sbSizer1->Fit( this );

   this->Centre( wxBOTH );
}

With wxGlade:
Quote
DialogFormGlade::DialogFormGlade(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style):
    wxDialog(parent, id, title, pos, size, wxDEFAULT_DIALOG_STYLE)
{
    // begin wxGlade: DialogFormGlade::DialogFormGlade
    SetTitle(wxT("Test with wxGlade"));
    wxStaticBoxSizer* sizer_1 = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, wxT("StaticBoxSizer")), wxHORIZONTAL);
    wxStaticText* label_1 = new wxStaticText(sizer_1->GetStaticBox(), wxID_ANY, wxT("Label"));
    sizer_1->Add(label_1, 0, 0, 0);
    text_ctrl_1 = new wxTextCtrl(sizer_1->GetStaticBox(), wxID_ANY, wxEmptyString);
    sizer_1->Add(text_ctrl_1, 0, 0, 0);

    SetSizer(sizer_1);
    sizer_1->Fit(this);
    Layout();
    // end wxGlade
}

The codes generated by wxFormBuilder and wxGlade are good: no warning.
I join a complete project for testing

5
Development / Re: AI may help us to create plugins
« Last post by jackmarvia2323 on Today at 07:08:59 am »
AI as a helper is fine tbh good for boilerplate or ideas but blind copy-paste is scary tool ≠ replacement use brain first 😅
6
Help / android app rsweeps riversweeps online casino n24jsr
« Last post by Arielzigma on Today at 02:50:11 am »
 
Terrific postings. Regards!
play casino online best usa online casinos 
7
General (but related to Code::Blocks) / Siding and roofing services
« Last post by Phillipnib on Today at 12:22:34 am »
Helpful page about adu prefab homes. Great for a quick orientation. Good starting point before deeper digging.
8
Announcements / Re: online casino 888 germany e82gwd
« Last post by Miguel Gimenez on Yesterday at 09:54:17 am »
Spam reported to moderator.
9
Announcements / Re: online casino 888 germany e82gwd
« Last post by cos1718 on Yesterday at 09:33:37 am »
You're right about no deposit. Absolutely nothing from me or anyone else here.
10
Announcements / online casino 888 germany e82gwd
« Last post by Arielzigma on January 05, 2026, 02:07:05 pm »
 
Kudos! Fantastic stuff!
best casino canada <a href="https://bhcmerced.org/canadian-casino-online/#">casino en ligne canada</a>  canadian casinos online
Pages: [1] 2 3 4 5 6 ... 10