Sizing of Sliders inside nested BoxSizers

I've spent a lot of time experimenting with this, and have finally at least
reduce things to a simple example. But I can't figure out what is going
on. At this point, I've tried about every combination of things I can
imagine and must be missing something simple.

Attached at the bottom is code generated by wxDesigner which has a number
of wxBoxSizers and ultimately a wxSliders. I want to be able to set the
slider size, but I can't seem to manage to do this unless some of the
surrounding BoxSizers have their stretch factors set in specific ways.

In particular, if the two VERTICAL BoxSizers inside the HORIZONTAL box
sizer both have a stretch factor of 1, then the Sliders get (apparently)
some default value and won't honor any attempt to change this. If *either*
of these VERTICAL sizers has a stretch factor of 0, then the size specified
for the Slider is honored.

So my question are, "What's going on here?" and "How can I arrange things
so that both "sides" of the HORIZONTAL sizer are stretchable while also
being able to specify how big the slider is?"

···

--------------------------------------
Gary H. Merrill
Director and Principal Scientist, New Applications
Data Exploration Sciences
GlaxoSmithKline Inc.
(919) 483-8456

#-----------------------------------------------------------------------------
# Python source generated by wxDesigner from file: flexgrid.wdr
# Do not modify this file, all changes will be lost!
#-----------------------------------------------------------------------------

# Include wxWindows' modules
from wxPython.wx import *

# Window functions

ID_TEXT = 10000
ID_SLIDER = 10001
ID_CHECKBOX = 10002
ID_BUTTON = 10003

def OntoRule( parent, call_fit = true, set_sizer = true ):
    item0 = wxBoxSizer( wxVERTICAL )

    item1 = wxBoxSizer( wxHORIZONTAL )

    item3 = wxStaticBox( parent, -1, "Include attributes" )
    item3.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxNORMAL ) )
    item2 = wxStaticBoxSizer( item3, wxVERTICAL )

    item1.AddSizer( item2, 1, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxALL, 5 )

    item4 = wxBoxSizer( wxVERTICAL )

    item6 = wxStaticBox( parent, -1, "Analysis Parameters" )
    item6.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxNORMAL ) )
    item5 = wxStaticBoxSizer( item6, wxVERTICAL )

    item7 = wxFlexGridSizer( 0, 2, 2, 0 )

    item8 = wxStaticText( parent, ID_TEXT, "Support", wxDefaultPosition,
wxDefaultSize, 0 )
    item8.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxNORMAL ) )
    item7.AddWindow( item8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 )

    item9 = wxSlider( parent, ID_SLIDER, 0, 0, 100, wxDefaultPosition,
wxSize(400,-1), wxSL_HORIZONTAL|wxSL_AUTOTICKS|wxSL_LABELS )
    item7.AddWindow( item9, 0, wxALIGN_CENTRE|wxALL, 5 )

    item5.AddSizer( item7, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 )

    item4.AddSizer( item5, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 )

    item10 = wxBoxSizer( wxHORIZONTAL )

    item11 = wxCheckBox( parent, ID_CHECKBOX, "Suppress generalization",
wxDefaultPosition, wxDefaultSize, 0 )
    item10.AddWindow( item11, 0, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxALL, 5
)

    item12 = wxButton( parent, ID_BUTTON, "Induce Rules",
wxDefaultPosition, wxDefaultSize, 0 )
    item12.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxNORMAL ) )
    item10.AddWindow( item12, 0, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxALL, 5
)

    item4.AddSizer( item10, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 )

    item1.AddSizer( item4, 1, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxALL, 5 )

    item0.AddSizer( item1, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 )

    if set_sizer == true:
        parent.SetAutoLayout( true )
        parent.SetSizer( item0 )
        if call_fit == true:
            item0.Fit( parent )
            item0.SetSizeHints( parent )

    return item0