1. Help with wxEuphoria sizers

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 ) 
new topic     » topic index » view message » categorize

2. Re: Help with wxEuphoria sizers

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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu