【发布时间】:2010-09-05 23:24:38
【问题描述】:
我设计一个电影脚本编辑文本编辑器是为了好玩,并尝试学习一些有关低级 UI 设计的知识。剧本的格式非常简单,按照长期以来的标准,完全是用 12pt 快递写成的。所以我的印象是设计一个编辑器相当简单,只有一种字体和字体大小,没有特殊的格式。
我热衷于保留语义信息——例如,我希望将场景标题存储为场景标题,而不仅仅是格式化为场景标题的文本。
脚本中所需的更改跟踪使应用程序变得更加复杂。附加页面的顶部应该有修订信息,因此需要将文档存储为一组页面,并带有识别修订的适当信息。
将文档作为与视图分开的对象似乎是有意义的,然后根据视图中的输入调用文档对象上的方法来添加文本等。但是,哪个对象负责分页?起初我猜我会说文档,但分页似乎是一个演示文稿。文档使用图形文本 API 来测量字符串并计算出它们占用了多少空间也是没有意义的。但是,如果由视图决定,这在理论上很容易与它在文档中的存储方式发生冲突。那么最好的解决方案是什么?
我有丰富的编程经验,但对从头开始绘制我自己的用户控件的细节几乎没有任何关系。我也故意避免将其与特定语言联系起来,但我很可能会用 C# 或 C++ 编写。
感谢您的宝贵时间。
【问题讨论】:
标签: c# c++ user-interface