问题标签 [nsruleeditor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
142 浏览

objective-c - NSPredicateEditor:停止绘制背景的行

这是我的一个应用程序中 NSPredicateEditor 的图像:

NSPredicateEditor

我想做的是阻止班级在每一行中绘制灰色背景和行之间的“分隔符”线,只留下每行中的弹出按钮、文本字段和文本。经过多次谷歌搜索和各种尝试破解课程,我还没有找到一种方法来做到这一点。

我知道关于 SO 上的 NSPredicateEditor 的另一个类似问题,但那个人想绘制自定义的交替行。我希望有人可能有一个技巧来完全停止背景绘图。

谢谢!

0 投票
1 回答
311 浏览

cocoa - Cocoa 界面元素,用于添加/删除 Mail.app 中的规则编辑器等字段

带有添加/删除行的按钮的 Cocoa 界面的名称是什么?

这是邮件应用程序中的图片

在此处输入图像描述

这是标准界面还是自定义功能?

0 投票
2 回答
295 浏览

cocoa - 使用 NSPredicateEditor,有没有办法免费获得所有 Finder 搜索类别?

我正在向我的应用程序添加一个 NSPredicateEditor 以允许用户搜索特定文件和文件类别。

来自 Inteface Builder 的默认 NSPredicateEditor 模板添加了一个仅包含“名称”、“地址”和“标志”类别的控件。我正在寻找更具体的类别。

默认接口生成器 NSPredicateEditor

我知道我可以在 Interface Builder 中将菜单项添加到这些菜单中,但我非常不希望自己维护所有用于文件搜索的各种类别和值的列表。

在 Finder 中,可以将多种类别和值添加到搜索中。

Finder 搜索的默认类别

使用保存此搜索然后在保存的 seach 文件夹上使用“获取信息”显示用于生成 Finder 的 NSPredicateEditor 的谓词:

单击“其他”类别类型会弹出一个菜单,其中包含各种具体的类别。

Finder 搜索的其他类别

我的问题是,是否将来自 Finder 的同样复杂且自定义的 NSPredicateEditor “免费”添加到我的应用程序中?还是我需要声明并维护我的应用支持的所有搜索类型的列表?

0 投票
1 回答
77 浏览

macos - 选择 NSRuleEditor 标准时执行操作

如何确定在NSPopUpButton菜单中选择了哪个标准NSRuleEditor?里面ruleEditorRowsDidChange(_:)

我可以跟踪每一行的标准并手动处理更改,但似乎应该有一种更简单的方法。

我尝试在规则编辑器的委托中为标准返回一个NSMenuItem而不是一个;然后在菜单项上设置目标和操作属性。这允许我在规则编辑器中选择菜单项(标准)时调用一个方法。这也意味着我知道哪个标准触发了操作方法,因为每个菜单项的目标都是标准本身。但是,在菜单项上设置目标和操作属性会覆盖规则编辑器在菜单项上设置的私有目标和操作值。这意味着在规则编辑器中选择一个标准后,我设置的目标/操作会触发,但选择更改不会反映在规则编辑器中。Stringvalue

我目前的解决方案是返回一个NSPopUpButton作为标准的displayValue(因为它继承自NSView)并手动管理按钮的项目和目标/操作。这很好用,但感觉有点破坏规则编辑器的设计,因为它有一个管理多个值的单一标准,而不是依赖于规则编辑器的委托)。

我会以错误的方式解决这个问题吗?在规则编辑器中选择标准时,是否有更简单的方法来运行特定于标准的代码?

谢谢!

0 投票
3 回答
272 浏览

macos - 为什么 NSPredicateEditor 会自动本地化一些表达式字符串?如何禁用?

我发现某些 NSPredicateEditor/NSPredicateEditorRowTemplate值正在由 OS X 自动本地化。

.equalTo这在 operator:到 string的映射中很容易观察到is

但我刚刚注意到 UTI 字符串被映射到该 UTI 的人类可读版本。

下面,我设置"public.image"但它随后显示为"image".

NSPredicateEditor 中的 UTI 运算符

只有某些有效的 UTI 以这种方式映射。我不知道是否为运算符和 UTI 之外的其他格式提供了自动本地化字符串。

这是一个问题,因为我想本地化我的 NSPredicateEditor 和 Row Templates

本地化谓词的过程涉及将键与本地化值匹配。

问题是键中的值必须与UI 中显示的字符串匹配。不是最初设置为行模板的左右表达式的字符串。

因此,我无法"public.image"在密钥中使用本地化。UI 出于某种原因已经将其本地化为"image". 如果我想本地化行模板,我必须改用字符串"image"。而且我不知道这个"image"字符串是如何或为什么被选中的。

我可以通过测试确定这些字符串,然后编写一个将表达式映射到本地化字符串的表。但我更希望有一个禁用这种自动本地化的解决方案,这样我就不必担心我没有测试过的字符串。

为什么 UTI 会自动本地化?其他值是否接受相同的处理?

有没有办法禁用 UTI 字符串和/或整个谓词编辑器的自动本地化?

0 投票
3 回答
90 浏览

cocoa - 突出显示 NSPredicateEditor 中的选定行

NSPredicateEditor超类NSRuleEditor公开了一个selectedRowIndexes: IndexSet属性(和相应的selectRowIndexes(IndexSet, byExtendingSelection: Bool)设置器)。在这个属性上添加一个观察者表明,只要单击谓词编辑器中的一行,它就确实发生了变化。但是,没有视觉指示表明该行被选中或取消选中。

我想在我的谓词编辑器中直观地突出显示选定的行,但是几乎没有视图绘制方法可以子类化或委托方法来实现以自定义编辑器的外观。任何人都可以提出某种方式来传达已选择规则编辑器的行吗?

0 投票
1 回答
38 浏览

macos - 使用 NSRuleEditor 显示保存的条件时遇到问题

我设置了一个NSRuleEditor供用户编辑规则以过滤数组,我没有麻烦用户编辑规则,但我找不到显示我为用户保存的规则的方法,有人有什么想法吗?

我为每一行准备了规则并从委托方法返回,当用户单击“+”按钮时,新规则按我的预期出现

0 投票
1 回答
26 浏览

swift - 为什么我的 NSRuleEditor 不显示条件?

我正在尝试获得一个NSRuleEditor显示标准。如果我给它一个单一的标准,它会起作用(创建一个静态标签),但是当我给它一个以上的时候,规则编辑器的每一行都是空白的(除了添加/删除按钮之外没有添加子视图)。为什么会这样?我的代码如下。