Spec Layout Help

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Spec Layout Help

Rob Rothwell

How might one achieve a fixed width column containing fixed width widgets within a resizable row using Spec Layouts?

For example:

<--- Resizable Space --->| Fixed Width |<---Resizable Space --->

Where the Fixed Width space might have something like a left justified input field and a right justified button or something.  The best I can achieve is everything resizable, which Spec excels at!  I have tried adding three columns to the row with the center column a fixed width (newColumn:width:), but I can't seem to get it centered.

I have even tried adding dummy widgets as in the code below, which creates a resizable column taking up the first half of the space, followed by a fixed width (100) input field, followed by another resizable space (sharing the right half of the column with the fixed width column):


^ SpecColumnLayout composed
newRow: [:row | 
newColumn: [ :col | col add: #spacer1 height: 30 ];
newColumn: [ :col | col add: #inputField height: 30] width: 100;
newColumn: [ :col | col add: #spacer2 height: 30 ];
] height: 50; 
newRow: [:row | row add: #list ];

If this is not possible, could I allow the window to resize vertically but not horizontally (I have a ListPresenter below problematic row which would be nice to resize vertically)?

Thank you,