問題タブ [pxsourcelist]
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.
cocoa - 新しい NSOutlineView 行を自動選択、フォーカス、強調表示する
これはおそらく の経験不足によるものですが、NSOutlineView
これを行う方法がわかりません。行を正しく保存/書き込み/挿入/削除するという点で完全に機能する追加ボタンを備えたNSOutlineView
(優れたPXSourceListで実装された)があります。私は aNSTreeController
を使用せず、バインディングも使用しません。次のコードを使用してエンティティを追加します。
追加ボタンを押すと、次のように新しい行が挿入されます。
クリックして行を選択し、 を押しenter
て編集すると、次のようになります。
私の質問は、ユーザーエクスペリエンスを向上させるために、プログラムで同じ状態 (フォーカス、選択、強調表示) を初めて取得するにはどうすればよいですか?
cocoa - NSProgressIndicatorsをNSOutlineViewサブクラスに追加する
私は他の人気のあるOSXソースリストをエミュレートするために素晴らしいPXSourceListコントロールの大幅に変更されたバージョンを使用しています。残念ながら、NSProgressIndicatorを上記のソースリスト内の行に追加しようとしたときに、いくつかの問題が発生しました。
PXSourceListは、標準のNSOutlineViewコントロールのサブクラスとして機能し、サンプルのSourceListItemクラス(骨格のNSObjectサブクラス)とともにパッケージ化されています。PXSourceListとそのSourceListItemのレンダリングは、drawRow:clipRect:
私の問題の原因であるPXSourceListのメソッドで処理されます。
各SourceListItemがオプションでNSProgressIndicatorを表示できるようにする最良の方法を見つけようとしています。Instinctは、カスタムセルを作成する必要があると言っていますが、適切なソリューションを最適に実装する方法がわかりません。
ありとあらゆる助けをいただければ幸いです。
objective-c - NSOutlineView / PXSourceList: テキストの非表示 / 表示の重複を防止
PXSourceList (NSOutlineView のサブクラス) でサイドバーを作成しました。Lion では、グループ アイテムにカーソルを合わせると、「表示」または「非表示」というテキストが表示されます。残念ながら、サイドバーのサイズが小さすぎると、このテキストがアイテムの独自のタイトルと重なってしまいます。現在の iTunes の実装でも同じ問題が見られます。
例として、次を参照してください。
ただし、Finder やメールなどの他の macosx アプリケーションは、重複を防ぐために、独自のテキストの一部を隠し、「...」を追加します。
独自のアプリケーションで同じ結果を達成する方法はありますか?
objective-c - 動的 NSOutlineView データ ソース
そこでPXSourceList
、Apple のNSOutlineView
データ ソースの例とほぼ同じデータ ソースを実装しました。
こうやって…
謎TSFileSystemItem
はここからです: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/OutlineView/Articles/UsingOutlineDataSource.html .
ソース リストを複数のセクション (ルート セル) に分割したいことを除けば、これですべて問題ありません。1 つはファイル階層を表示 (チェック) し、もう 1 つは...
NSMutableArray
もう1 つのセクションには、他のセクションから項目を追加するが含まれます。複雑に聞こえますか?より良い説明。ファイル階層のあるセクションからアイテムをクリックすると、他のセクションに追加されます。
Apple のドキュメントの助けを借りてこの混乱を解決しようとしましたが、上記の関数を使用して 2 つのセクションを作成する簡単で効率的で安定した方法をまだ見つけることができません。データソースを構成するのと同じくらい簡単だったらUITableView
...
誰か親切に助けてくれませんか?
objective-c - NSOutlineView サブクラスがデータ ソースのドラッグ アンド ドロップ メソッドを起動しない
アプリケーションの 1 つで優れたNSOutlineView
サブクラスを使用しPXSourceList
ています。インスタンスにドラッグ アンド ドロップを実装しようとしていPXSourceList
ます。私は持っている:
- IB のデリゲート アウトレットとデータ ソース アウトレットの両方をコントローラーに接続しました
- コントローラーで
awakeFromNib
、self をデリゲートおよびデータ ソースとして設定します。 - コントローラーで
awakeFromNib
、ドラッグされた型に登録されます writeItems: validateDrop: acceptDrop:
コントローラーで、必要なメソッドと メソッドを実装し、namesOfPromisedFilesDroppedAtDestination:
それらをコントローラーの .h ファイルで宣言します
何らかの理由で、(4) で実装されたドラッグ アンド ドロップ メソッドがまったく起動しません。私はもう試した:
- ドラッグ アンド ドロップ データ ソース メソッドにログ ステートメントを配置すると、呼び出されることはありません。
registeredDraggedTypes
インスタンスのログを記録する他のデータ ソース メソッドの 1 つにログ ステートメントをPXSourceList
配置すると、割り当てられた適切なドラッグ タイプが常に返されます。awakeFromNib.
- ビュー インスタンスを取得し、 NSWindow
PXSourceList
インスタンスを除くすべてのビューから埋め込みを解除します。運もありません。 - 私のアプリケーションから付属のサンプル アプリにデータ ソース コードをコピー アンド ペーストすると、
PXSourceList
すべて変更なしで機能します。 - サンプル アプリケーションの作業コードを SK ソースにコピー アンド ペーストしますが、機能しません。
したがって、基本的に、ドラッグ アンド ドロップ メソッドを除くすべてのデータ ソース メソッドが呼び出される場所にいます。ドラッグされたタイプに登録していないように動作しますが、1) 持っていることを知っており、2) インスタンスは、設定したドラッグされたタイプに登録されていると応答します。
何か案は?
objective-c - NSOutlineView の「サイドバー アイコン サイズ」オプションを無効にする
OSX プロジェクトにPXSourceList (NSOutlineView サブクラス) を使用しており、アプリの「サイドバー アイコン サイズ」(システム設定 -> 一般) オプションを無効にしたいと考えています。アイコンを常に小さくしたいのですが。
PS PXSourceList はビューベース モードです。