Smalltalk 如何使用UITheme builder控制变形大小
我试图在Smalltalk中创建一个Dominion游戏,但我无法按照我想要的方式获得GUI的布局 目前,我有以下代码来构建GUI:Smalltalk 如何使用UITheme builder控制变形大小,smalltalk,pharo,Smalltalk,Pharo,我试图在Smalltalk中创建一个Dominion游戏,但我无法按照我想要的方式获得GUI的布局 目前,我有以下代码来构建GUI: open: game | builder content | builder := UITheme builder. content := builder newColumn: {(builder newListFor: game list: #supplyStrings select
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一周了)
我得到了我想要的基本概念:一个窗口,上面的部分对所有玩家来说都是通用的,下面的部分对每个玩家来说都是分块的
我的问题是顶部太大,占据了大约一半的窗户,我不知道如何修复
我曾尝试在#supplyStrings列表的生成器中添加“vsizing:#shrinkWrap”,但这使得它太小,迫使内容使用滚动条;我尝试添加“范围:1024@200“到那个变形,并没有看到任何效果
所以我有两个问题:
1) 如何对使用UITheme builder构建的对象进行更精细的布局控制?
2) 在哪里可以找到关于如何使用Pharo进行UI设计的文档?如果我知道TFM在哪里,我很想去RTFM 您可以在Pharo中构建不同抽象级别的UI。在这里,您可以用演示文稿、窗格和端口来描述UI。它对于构建专门的模型浏览器非常有用。对于构建游戏来说,它似乎不是最合适的。还有,旨在重用可组合的小部件。那可能很合适。今年夏天有一个GSoC项目来构建一个规范,因此您可以很好地了解如何布局UI。变形基本上是一个抽象层,提供不同的皮肤。下面是变形的。在Morphic中直接构建的一个优点是有一个很好的游戏构建示例:(在Pharo中使用时需要稍微更改)