Smalltalk中的GUI基础知识

时间:2015-12-22 19:58:58

标签: user-interface smalltalk squeak

我对Smalltalk很新,我一整天都在搜索如何编写GUI。我已经找到了大量有关如何使用CMakeLists.txt以及CMakeLists.txt是什么的信息,但我似乎无法找到我需要的东西(它只是一个包含条目的表格来自add_target(foo main.cpp a.cpp a.hpp b.cpp b.hpp) )。

add_library(foolib a.cpp a.hpp b.cpp b.hpp) add_target(foo main.cpp) target_link_libraries(foo foolib) 旁边,我还发现了一些关于smalltalk如何引入MVC原理的内容。我甚至找到了Morph类别,其中包含了我需要的所有内容,但我又不确定如何正确使用它,不知何故,我似乎找不到合适的资源来让我开始。

因此,我的问题:从哪里开始构建一个简单的GUI?我应该如何从可用的十亿Halo中进行选择,如何将它们组合成一个可靠的界面? MVC只应在它变得更复杂时使用,还是对简单的GUI有用?关于在哪些情况下使用什么,是否有任何一般概述?

为了说明我想做什么,我添加了一些伪代码,说明了我的想法:

Dictionary

非常感谢任何帮助我开始这方面的帮助。

更新

我最近发现a chapter from a book通过一些很好的解释和示例代码帮助我更好地理解了morphic,对于想要了解更多信息的人来说,还有a whole list of free books。同样有用的是squeak wiki的教程。尤其是Morphs上的那个让我更好地理解了这个概念。请注意,本教程隐藏在未查看的教程列表中(可能是因为项目中存在一些可以下载的错误)。

1 个答案:

答案 0 :(得分:6)

在Squeak中(我假设您使用Squeak,因为您说的是Morph和ST80), 有几种方法可以构建GUI。

Plain Morphs

你可以把Morphs放在一起。通常,您需要一些Widget,例如SimpleHierarchicalListMorph。但这个过程很快就会变得乏味。

ToolBuilder

如果您正在创建一个类似工具的应用程序,无论何种类型,ToolBuilder可能都是您的朋友。系统浏览器,调试器或最近的工具,如FontImporter,都是使用ToolBuilder构建的。它需要一个带有#buildWith:消息的模型。搜索此消息的实施者以了解如何使用ToolBuilder。

但可能是最简单的方法:

Morphic Designer

Morphic Designer可让您以图形方式汇总应用程序UI。您可以重复使用该设计,并且不需要太多代码就可以将程序挂钩到UI。例子包括。

注意:您还找到了MVC实现。它在Squeak已经过时了,但它仍然应该可用。但是,您必须创建一个新项目才能使用MVC。顺便说一下,当你使用ToolBuilder时,可以创建可以在Morphic和MVC项目中运行的工具。