使用命令修改多个NSTextView

时间:2013-02-08 19:04:13

标签: objective-c cocoa nstextview

我想知道是否有人知道是否可以使用菜单栏命令修改多个NSTextViews。例如,如果用户从菜单栏中选择“粗体”,则所选的不同NSTextView会更新其所有内容以显示粗体。

以下是我的设置:

@interface MyCustomTextField : NSView <NSTextViewDelegate>{
    NSTextView *textView;
    BOOL selected;
    ...
}

所以基本上我有自己的自定义类,并且在每个自定义类中我都有一个NSTextView,一个var确定是否选择了这个视图以及其他一些东西。

我可以选择多个字段但是从我在Apple文档中读到的内容中,窗口中的每个NSTextView共享一个字段编辑器。当用户编辑NSTextView时,他们实际上是向字段编辑器发送命令,字段编辑器处理它并将其路由到NSTextView。如果是这种情况,那是否意味着我需要创建自己的自定义字段编辑器并将命令路由到我的所有自定义选定文本类?

==的修改 ==
我的CustomTextField类有一个名为“selected”的变量(见上文),通过按住shift或apple键,我可以“选择”多个CustomTextField实例(我在NSTextView实例前面放了一个掩码来捕获mouseDown消息)。

因此,通过此选择,多个实例将其“selected”属性设置为true。至于窗口的第一个响应者,它将被设置为显示所有NSTextViews周围的蓝色光环的掩码。

我想知道我是否可以告诉应用程序接受默认的NSTextView命令(例如粗体,斜体等),如果我提供自定义字段编辑器,它会将所有相应的消息传递给选定的CustomTextFields然后将它传递给NSTextViews。

在我脑海中,信息会像这样传递:

用户提交文字工具栏命令&gt; 自定义字段编辑器&gt; MyCustomTextField &gt; NSTextView

希望我的解释有意义,或者我现在在LaLa的土地上。

0 个答案:

没有答案