1. Help with wxEuphoria sizers
- Posted by xfox26 Apr 01, 2010
- 1069 views
I'm having problems with te sizer thing...
Run the code below, and try resizing the window. Please someone tell me what I'm doing wrong!
I'm using Euphoria 3.11 under Windows 7.
without warning include wxeud.e constant main = create( wxFrame, {0, -1, "", -1, -1, 800, 600}), status_bar = create( wxStatusBar, {main, 1} ), win = create( wxPanel, main ), txtout = create( wxRichTextCtrl , {win, -1, "", -1, -1, -1, 100, wxTE_READONLY + wxTE_MULTILINE} ), txtin = create( wxTextCtrl, {win, -1, "", -1, -1, -1, -1}), dl_gauge = create( wxGauge, {win, -1, 100, -1 , -1, -1, 10, wxHORIZONTAL, "DL Gauge"} ), dl_gauge_capt = create( wxStaticText, {win, -1, "DL:", -1, -1, 35, -1, wxST_NO_AUTORESIZE + wxALIGN_RIGHT}), dl_gauge_perc = create( wxStaticText, {win, -1, "0.00%", -1, -1, 100, -1, wxST_NO_AUTORESIZE + wxALIGN_CENTER}), total_gauge = create( wxGauge, {win, -1, 100, -1 , -1, -1, 10, wxHORIZONTAL, "Total Gauge"} ), total_gauge_capt = create( wxStaticText, {win, -1, "Total:", -1, -1, 35, -1, wxST_NO_AUTORESIZE + wxALIGN_RIGHT}), total_gauge_perc = create( wxStaticText, {win, -1, "0/0 0.00%", -1, -1, 100, -1, wxST_NO_AUTORESIZE + wxALIGN_CENTER}), clear_button = create( wxButton, {win, -1, "Clear", -1, -1, -1, 20}), capturar_button = create( wxButton, {win, -1, "Cool", -1, -1, -1, 20}), abort_button = create( wxButton, {win, -1, "Button", -1, -1, -1, 20}), font = create( wxFont, {9,wxROMAN,wxNORMAL,wxNORMAL,0,"Courier New"}), data_list = create( wxListCtrl, {win, -1, -1, -1, -1, -1, wxLC_AUTOARRANGE + wxLC_REPORT + wxLC_VRULES} ) constant menubar = create( wxMenuBar, {main} ), mnuFile = create( wxMenu, {menubar, "&File"} ) constant vsize = create( wxBoxSizer, {wxVERTICAL}), hsize = create( wxBoxSizer, {wxHORIZONTAL}), hsize_gauge_1 = create( wxBoxSizer, {wxHORIZONTAL}), hsize_gauge_2 = create( wxBoxSizer, {wxHORIZONTAL}) add_window_to_sizer( vsize, data_list, 1, wxGROW, 0 ) add_window_to_sizer( vsize, txtout, 0, wxGROW, 0 ) add_sizer_to_sizer( vsize, hsize, 0,wxGROW , 0 ) add_window_to_sizer( hsize, clear_button, 0, 0, 0 ) add_window_to_sizer( hsize, txtin, 1, 0, 0 ) add_window_to_sizer( hsize, capturar_button, 0, 0, 0 ) add_window_to_sizer( hsize, abort_button, 0, 0, 0 ) add_sizer_to_sizer( vsize, hsize_gauge_1, 0,wxGROW , 0 ) add_window_to_sizer( hsize_gauge_1, dl_gauge_capt, 0, 0, 0 ) add_window_to_sizer( hsize_gauge_1, dl_gauge, 1, wxGROW, 0 ) add_window_to_sizer( hsize_gauge_1, dl_gauge_perc, 0, 0, 0 ) add_sizer_to_sizer( vsize, hsize_gauge_2, 0,wxGROW , 0 ) add_window_to_sizer( hsize_gauge_2, total_gauge_capt, 0, 0, 0 ) add_window_to_sizer( hsize_gauge_2, total_gauge, 1, wxGROW, 0 ) add_window_to_sizer( hsize_gauge_2, total_gauge_perc, 0, 0, 0 ) set_sizer( main, vsize ) -- some dummy_data object void void = insert_list_column ( data_list, 1, "foo", 1, 300 ) void = insert_list_column ( data_list, 2, "bar", 1, 100 ) void = insert_listctrl_item( data_list, 0, {"dummy", "data"}, -1 ) append_text(txtout, "Resize this window and look the crap") wxMain( main )
2. Re: Help with wxEuphoria sizers
- Posted by mattlewis (admin) Apr 02, 2010
- 1069 views
xfox26 said...
I'm having problems with te sizer thing...
Run the code below, and try resizing the window. Please someone tell me what I'm doing wrong!
The main thing is that you're setting the sizer to your frame instead of the panel inside the frame. Change the call to set_sizer():
set_sizer( win, vsize ) if object(fit_window( vsize, win )) then end if
Note the call to fit_window(). Basically, in some cases upon start up, sizers won't properly size everything.
Matt