SpecColumnLayout not behaving as expected
Heya folks, I'm sure I'm doing something wrong, I just don't know what it is. I have the following: defaultSpec    ^ SpecColumnLayout composed       newColumn: [ :col |          col             add: #sideBar;             add: #listView ];       yourself In the resulting window, I get the widgets stacked one on top of the other, and I expected them to be next to each other (two columns in a row.) What am I missing? Thanks! -Steven
Because it is the other way around: in the block ([ :col | ... ]) you are describing the content of the column. So what you are actually doing is you create a Column (SpecColumnLayout), inside which you create another column (newColumn), and to that column you add two rows (add:, add:). On Tue, Oct 17, 2017 at 4:32 PM, Steven R. Baker <steven@stevenrbaker.com> wrote:
Heya folks,
I'm sure I'm doing something wrong, I just don't know what it is.
I have the following:
defaultSpec ^ SpecColumnLayout composed newColumn: [ :col | col add: #sideBar; add: #listView ]; yourself
In the resulting window, I get the widgets stacked one on top of the other, and I expected them to be next to each other (two columns in a row.)
What am I missing?
Thanks!
-Steven
Oh! I remember fighting with this last week too. Am I the only who who struggled with that? If not, perhaps we could call #add: #addRow: ? -Steven On 17/10/17 18:00, Peter Uhnák wrote:
Because it is the other way around: in the block ([ :col | ... ]) you are describing the content of the column.
So what you are actually doing is you create a Column (SpecColumnLayout), inside which you create another column (newColumn), and to that column you add two rows (add:, add:).
On Tue, Oct 17, 2017 at 4:32 PM, Steven R. Baker <steven@stevenrbaker.com <mailto:steven@stevenrbaker.com>> wrote:
Heya folks,
I'm sure I'm doing something wrong, I just don't know what it is.
I have the following:
defaultSpec    ^ SpecColumnLayout composed       newColumn: [ :col |          col             add: #sideBar;             add: #listView ];       yourself
In the resulting window, I get the widgets stacked one on top of the other, and I expected them to be next to each other (two columns in a row.)
What am I missing?
Thanks!
-Steven
Try to think about is going on in the code, because then it is obvious (I hope). For example you do the following: column add: #sideBar; add:#listView. why do you think that adding items to a column would create columns? In Spec, one add:s rows to column, and columns to row. If people are going to get regularly stack on this, we can certainly change it. Peter On Tue, Oct 17, 2017 at 10:23 PM, Steven R. Baker <steven@stevenrbaker.com> wrote:
Oh!
I remember fighting with this last week too. Am I the only who who struggled with that? If not, perhaps we could call #add: #addRow: ?
-Steven
On 17/10/17 18:00, Peter Uhnák wrote:
Because it is the other way around: in the block ([ :col | ... ]) you are describing the content of the column.
So what you are actually doing is you create a Column (SpecColumnLayout), inside which you create another column (newColumn), and to that column you add two rows (add:, add:).
On Tue, Oct 17, 2017 at 4:32 PM, Steven R. Baker <steven@stevenrbaker.com> wrote:
Heya folks,
I'm sure I'm doing something wrong, I just don't know what it is.
I have the following:
defaultSpec ^ SpecColumnLayout composed newColumn: [ :col | col add: #sideBar; add: #listView ]; yourself
In the resulting window, I get the widgets stacked one on top of the other, and I expected them to be next to each other (two columns in a row.)
What am I missing?
Thanks!
-Steven
You're right. Reformatted as one line it looks *way* more obvious. Thanks! -Steven On 18/10/17 10:45, Peter Uhnák wrote:
Try to think about is going on in the code, because then it is obvious (I hope). For example you do the following:
column add: #sideBar; add:#listView.
why do you think that adding items to a column would create columns? In Spec, one add:s rows to column, and columns to row.
If people are going to get regularly stack on this, we can certainly change it.
Peter
On Tue, Oct 17, 2017 at 10:23 PM, Steven R. Baker <steven@stevenrbaker.com <mailto:steven@stevenrbaker.com>> wrote:
Oh!
I remember fighting with this last week too. Am I the only who who struggled with that? If not, perhaps we could call #add: #addRow: ?
-Steven
On 17/10/17 18:00, Peter Uhnák wrote:
Because it is the other way around: in the block ([ :col | ... ]) you are describing the content of the column.
So what you are actually doing is you create a Column (SpecColumnLayout), inside which you create another column (newColumn), and to that column you add two rows (add:, add:).
On Tue, Oct 17, 2017 at 4:32 PM, Steven R. Baker <steven@stevenrbaker.com <mailto:steven@stevenrbaker.com>> wrote:
Heya folks,
I'm sure I'm doing something wrong, I just don't know what it is.
I have the following:
defaultSpec    ^ SpecColumnLayout composed       newColumn: [ :col |          col             add: #sideBar;             add: #listView ];       yourself
In the resulting window, I get the widgets stacked one on top of the other, and I expected them to be next to each other (two columns in a row.)
What am I missing?
Thanks!
-Steven
participants (2)
-
Peter Uhnák -
Steven R. Baker