我正在尝试在 Smalltalk 中创建一个 Dominion 游戏,但我无法按照我想要的方式获得 GUI 的布局。
目前,我将此作为构建 GUI 的代码:
open: game
| builder content |
builder := UITheme builder.
content := builder
newColumn:
{(builder
newListFor: game
list: #supplyStrings
selected: nil
changeSelected: nil
getEnabled: nil
help: 'Supply') .
(builder newRow: (game players collect: [ :p | self morphForPlayer: p usingBuilder: builder ]))}.
gui := (content openInWindowLabeled: 'DominionGame') extent: 1024 @ 768
(原谅可怜的 Smalltalk 风格,我已经使用 Smalltalk 一个星期了)。
我得到了我想要的基本概念:一个窗口,顶部对所有玩家通用,底部分为每个玩家的部分。
我遇到的问题是顶部太大,占据了大约一半的窗口,我不知道如何解决这个问题。
我尝试将“vsizing:#shrinkWrap”添加到#supplyStrings 列表的构建器中,但这使它太小,迫使内容使用滚动条;我尝试在该变形中添加“范围:1024@200”,但没有看到任何效果。
所以我有两个问题:
1) 如何对使用 UITheme builder 构建的对象进行更好的布局控制?2) 我在哪里可以找到有关如何使用 Pharo 进行 UI 设计的文档?如果我知道 TFM 对 R 的意义,我会喜欢 RTFM!