問題タブ [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: 行が背景を描画しないようにする

これは、私のアプリの 1 つにある NSPredicateEditor のイメージです。

NSPredicateEditor

私がしたいのは、クラスが各行の灰色の背景と行間の「区切り」線を描画するのを止め、各行にポップアップボタン、テキストフィールド、およびテキストだけを残すことです。クラスをハックするための多くのグーグルとさまざまな試みの後、私はこれを行う方法を見つけていません。

SO の NSPredicateEditor に関する別の同様の質問を認識していますが、その人はカスタムの交互の行を描画したいと考えていました。誰かが背景の描画を完全に停止するためのトリックを持っていることを願っています.

ありがとう!

0 投票する
2 に答える
295 参照

cocoa - NSPredicateEditor を使用して、すべての Finder 検索カテゴリを無料で取得する方法はありますか?

ユーザーが特定のファイルとファイルのカテゴリを検索できるように、アプリに NSPredicateEditor を追加しています。

Inteface Builder のデフォルトの NSPredicateEditor テンプレートは、「名前」、「住所」、および「記号」カテゴリのみを含むコントロールを追加します。より具体的なカテゴリーを探しています。

デフォルトのインターフェースビルダー NSPredicateEditor

Interface Builder でこれらのメニューにメニュー項目を追加できることはわかっていますが、ファイル検索用のさまざまなカテゴリと値のすべてのリストを自分で管理するのは避けたいと思っています。

Finder では、さまざまなカテゴリと値を検索に追加できます。

Finder 検索のデフォルトのカテゴリ

この検索を保存してから、保存された検索フォルダーで「情報を見る」を使用すると、Finder の NSPredicateEditor を生成するために使用される述語が明らかになります。

[その他] カテゴリ タイプをクリックすると、より具体的なカテゴリの幅広いメニューが表示されます。

Finder 検索のその他のカテゴリ

私の質問は、これと同じ複雑でカスタマイズされた Finder の NSPredicateEditor をアプリに「無料」で追加できるかどうかです。それとも、アプリがサポートするすべての検索タイプのリストを宣言して維持する必要がありますか?

0 投票する
1 に答える
77 参照

macos - NSRuleEditor 基準が選択されたときにアクションを実行する

NSPopUpButtonのメニューでどの基準が選択されているかを判断するにはどうすればよいNSRuleEditorですか? 中身ruleEditorRowsDidChange(_:)

各行の基準を追跡して変更を手動で処理することもできますが、もっと簡単な方法があるはずです。

ルール エディターのデリゲートで基準のNSMenuItem代わりに aを返そうとしました。次に、メニュー項目でターゲットとアクションのプロパティを設定します。これにより、ルール エディターでメニュー項目 (条件) が選択されたときにメソッドを呼び出すことができます。また、各メニュー項目のターゲットは基準自体であるため、どの基準がアクション メソッドをトリガーしたかがわかることも意味します。ただし、メニュー項目にターゲットとアクションのプロパティを設定すると、ルール エディターがメニュー項目に設定したプライベート ターゲットとアクションの値が上書きされます。これは、ルール エディターで基準を選択した後、設定したターゲット/アクションが起動するが、選択の変更がルール エディターに反映されないことを意味します。Stringvalue

NSPopUpButton私の現在の解決策は、基準としてを返しdisplayValue(から継承しているNSViewため)、ボタンのアイテムとターゲット/アクションを手動で管理することです。これはうまく機能しますが、ルール エディターのデリゲートに依存するのではなく、単一の基準で複数の値を管理することにより、ルール エディターの設計が少し壊れているように感じます)。

私はこれについて間違った方法で進んでいますか?ルール エディター内で条件が選択されたときに条件固有のコードを実行する簡単な方法はありますか?

ありがとう!

0 投票する
3 に答える
272 参照

macos - NSPredicateEditor が一部の Expression 文字列を自動的にローカライズするのはなぜですか? 無効にする方法は?

一部の NSPredicateEditor/NSPredicateEditorRowTemplate値が OS X によって自動的にローカライズされていることがわかりました。

.equalToこれは、演算子の文字列へのマッピングで簡単に確認できますis

しかし、UTI 文字列がその UTI の人間が読めるバージョンにマッピングされていることに気付きました。

以下、設定したの"public.image"ですが と表示されてしまいます"image"

NSPredicateEditor の UTI 演算子

特定の有効な UTI のみがこの方法でマップされます。Operators と UTI 以外の他の形式に自動ローカライズされた文字列が与えられるかどうかはわかりません。

NSPredicateEditor と Row Templatesをローカライズしたいので、これは問題です。

述語をローカライズするプロセスには、キーをローカライズされた値に一致させることが含まれます。

問題は、キーの値がUI に表示される文字列と一致する必要があることです。行テンプレートの左右の式に最初に設定された文字列ではありません。

"public.image"そのため、キーで使用してローカライズできません。UI は何らかの理由で既にこれを にローカライズしてい"image"ます。行テンプレートをローカライズしたい場合は、"image"代わりに文字列を使用する必要があります。そして、この文字列がどのように、またはなぜ選択されているのかわかりません"image"

テストによってこれらの文字列を特定し、式をローカライズされた文字列にマップするテーブルを作成できます。しかし、テストしていない文字列について心配する必要がないように、この自動ローカリゼーションを無効にするソリューションが必要です。

UTI が自動的にローカライズされるのはなぜですか? 他の値は同じ扱いを受けますか?

UTI 文字列および/または述語エディター全体の自動ローカライズを無効にする方法はありますか?

0 投票する
3 に答える
90 参照

cocoa - NSPredicateEditor で選択した行を強調表示する

NSPredicateEditorスーパークラスは、プロパティ (および対応するセッター)をNSRuleEditor公開します。このプロパティにオブザーバーを追加すると、述語エディターの行がクリックされるたびに実際に変更されることが示されます。ただし、行が選択または選択解除されていることを視覚的に示すものはありません。selectedRowIndexes: IndexSetselectRowIndexes(IndexSet, byExtendingSelection: Bool)

述語エディターで選択した行を視覚的に強調表示したいのですが、サブクラス化するビュー描画メソッドや、エディターの外観をカスタマイズするために実装するデリゲート メソッドがほとんどありません。ルール エディタの行が選択されていることをユーザーに伝える方法を提案できる人はいますか?

0 投票する
1 に答える
26 参照

swift - NSRuleEditor に条件が表示されないのはなぜですか?

NSRuleEditor表示基準を取得しようとしています。単一の基準を指定すると機能します (静的ラベルを作成します) が、複数指定すると、ルール エディターの各行が空白になります (追加/削除ボタン以外のサブビューは追加されません)。これはなぜでしょうか?私のコードは次のとおりです。