SCHLayoutView

(

q = 10;

w = SCWindow.new;

h = SCHLayoutView(w,Rect(0,0,300,300));

Array.fill(q,{ arg i;

SCSlider(h,Rect(0,0,20,75)).value_(i / q)

});

w.front

)

elastic

(

q = 10;

w = SCWindow.new;

h = SCHLayoutView(w,Rect(0,0,300,300));

h.background = Color.red(alpha:0.1);

h.resize = 5; // elastic

Array.fill(q,{ arg i;

var s;

s = SCSlider(h,Rect(0,0,20,75));

s.value = i / q;

s

});

w.front

)

Contents are elastic

(

q = 10;

w = SCWindow.new;

h = SCHLayoutView(w,Rect(0,0,300,300));

h.resize = 5; // elastic

Array.fill(q,{ arg i;

var s;

s = SCSlider(h,Rect(0,0,20,75));

s.resize = 5; // elastic

s.value = i / q;

s

});

w.front

)

set minWidth on contents

(

q = 5;

w = SCWindow.new;

h = SCHLayoutView(w,Rect(0,0,300,300));

h.background = Color.red(alpha:0.2);

h.resize = 5; // elastic

Array.fill(q,{ arg i;

var s;

s = SCSlider(h,Rect(0,0,20,75));

s.value = i / 5;

if(i < 2,{

s.resize = 5; // some elastic

s.setProperty(\minWidth,20);

},{

s.resize = 1; // some not elastic

});

s

});

w.front

)

(

q = 5;

w = SCWindow.new;

h = SCHLayoutView(w,Rect(0,0,300,300));

h.resize = 5; // elastic

Array.fill(q,{ arg i;

var s;

s = SCSlider(h,Rect(0,0,20,75));

s.value = i / 5;

s.resize = 5;

s.setProperty(\minWidth,20);

s.setProperty(\maxWidth,40);

s

});

w.front

)

Text flows

(

q = 5;

w = SCWindow.new;

h = SCHLayoutView(w,Rect(0,0,300,300));

h.resize = 5; // elastic

Array.fill(q,{ arg i;

var s;

s = SCStaticText(h,120@20).string_("abcdefg");

s.resize = 5;

s.setProperty(\minWidth,10);

s.setProperty(\maxWidth,80);

// not working

s.setProperty(\maxHeight,10);

s.setProperty(\minHeight,10);

s.background = Color.white;

s

});

w.front

)

spacing

(

q = 10;

w = SCWindow.new;

h = SCHLayoutView(w,Rect(0,0,300,300));

h.setProperty(\spacing,0);

Array.fill(q,{

SCSlider(h,Rect(0,0,20,75))

});

w.front

)