更改Save(saveDocument :)菜单文本

时间:2012-08-31 08:37:15

标签: cocoa osx-lion osx-mountain-lion nsdocument nsmenuitem

在我们的基于Cocoa NSDocument的应用程序中,我们在上下文菜单上有一个Save(saveDocument :)按钮,但是我们希望菜单项的文本根据NSDocument的情况而改变,就像在主菜单保存(saveDocument :)菜单项更改。有没有人知道一个干净的解决方案来更新这个菜单项文本,理想情况下调用主菜单使用的相同Cocoa功能?

详细信息:

基于Cocoa NSDocument的应用程序中的主菜单通常有一个Save菜单项,用于触发First Responder - saveDocument:。此菜单项的标题根据文档的具体情况而变化,例如:

  • 在Lion(OS X 10.7)中,菜单项文本以“保存”开头,但变为“保存版本”(例如,在保存文档后)。
  • 在Mountain Lion(OS X 10.8)中,菜单项文本以“保存...”开头,但因为“保存”(例如,在保存文档后)。

在我们的应用程序中,我们显示一个带有Save菜单项的上下文菜单,因此我们希望文本的更改方式与主菜单(上面列出的)相同。我们不希望编写包含复杂逻辑的代码(检查NSDocument ...检查OSX版本并相应地显示一个字符串)我们真的希望能够调用Cocoa主菜单使用的相同代码更改菜单项标题。

0 个答案:

没有答案