我对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
上的那个让我更好地理解了这个概念。请注意,本教程隐藏在未查看的教程列表中(可能是因为项目中存在一些可以下载的错误)。
答案 0 :(得分:6)
在Squeak中(我假设您使用Squeak,因为您说的是Morph
和ST80),
有几种方法可以构建GUI。
你可以把Morphs放在一起。通常,您需要一些Widget,例如SimpleHierarchicalListMorph
。但这个过程很快就会变得乏味。
如果您正在创建一个类似工具的应用程序,无论何种类型,ToolBuilder可能都是您的朋友。系统浏览器,调试器或最近的工具,如FontImporter,都是使用ToolBuilder构建的。它需要一个带有#buildWith:
消息的模型。搜索此消息的实施者以了解如何使用ToolBuilder。
但可能是最简单的方法:
Morphic Designer可让您以图形方式汇总应用程序UI。您可以重复使用该设计,并且不需要太多代码就可以将程序挂钩到UI。例子包括。
注意:您还找到了MVC实现。它在Squeak已经过时了,但它仍然应该可用。但是,您必须创建一个新项目才能使用MVC。顺便说一下,当你使用ToolBuilder时,可以创建可以在Morphic和MVC项目中运行的工具。