問題タブ [undo-redo]

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 投票する
1 に答える
1049 参照

ruby-on-rails-3 - Accepts_nested_attributes_forを使用したPaper_trail

ネストされた属性としてリンクとレビューを追加できる記事を含むRailsアプリがあります。

paper_trail https://github.com/airblade/paper_trail/のドキュメントで、これはそのgemでカバーされていないことがわかりました。ユーザーが[元に戻す]をクリックしたときにネストされた属性またはhas_manyの関連付けが復元/更新されるように、元に戻す機能を設定するにはどうすればよいですか?

0 投票する
4 に答える
221 参照

language-agnostic - 保存して元に/やり直しスタックをクリアする必要がありますか?

ユーザーがアプリケーションに変更を保存するとき、元に戻す/やり直しスタックをクリアする必要がありますか?保存前の状態に元に戻すことができるのは異常ですか?

0 投票する
4 に答える
2785 参照

java - 状態変更のためにJavaでundoを実装する

元に戻す操作を提供するという私の問題に対する有用な解決策を得ることを期待して、コマンドパターンの実装を開始しています。今、私は特定の問題に直面しています:

操作が含まれる場合のundoの実装はかなり簡単です。数値に5を加算した後、5を減算します。リストにオブジェクトを追加した後、それを削除します。しかし、リストのようなものではなく、全体的な状態がある場合はどうなりますか?

例:クラス内のスレッドに関する情報をモデル化します。

IDなど、特定の情報は変更されません。waitCount上記のように、元に戻すのは簡単です。減算するだけです。しかし、どうpriorityですかstate?これらの情報を元に戻す方法は明確ではありません。

私が思いついた唯一のアイデア:コマンドオブジェクトを初期化するとき、そのオブジェクトの古い状態を保持します:関連するデータをコンストラクターに渡すことによって:

ThreadInfoそれとも、現在の最初の要素である状態と優先順位のリストを持っている方が良いでしょうか?

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

objective-c - コアデータ:元に戻すことができる手順としてマージを維持しながら、2つのNSManagedObjectContext間で挿入/更新/削除をマージする方法は?

ドキュメントベースのCoreDataアプリケーション(Mac OS X 10.5以降で実行)がありNSManagedObjectContext、メインスレッドで2つを使用しようとしています。セカンダリコンテキストで行われた変更をメイン(プライマリ)コンテキストにマージしたいと思います。さらに、セカンダリコンテキストからマージされた変更を元に戻して、ドキュメントに「ダーティ」のマークを付ける必要があります。私の質問は「メインスレッドから実行されるコアデータの挿入を元に戻す」に似ていると思いますが、ATMでは別のスレッドを使用していません。

私はNSManagedObjectContextDidSaveNotification次のように(呼び出し時に2番目のコンテキストから送信される)を観察してきました-[self.secondaryContext save:]

-mocDidSave:オブザーバーによって呼び出されたメソッドでは、プライマリコンテキストで使用-[NSManagedObjectContext mergeChangesFromContextDidSaveNotification:]して、セカンダリコンテキストからプライマリコンテキストへの変更をマージしようとしました。

ただし、たとえば、挿入されたオブジェクトはアレイコントローラにすぐに表示されますが、ドキュメントはダーティとしてマークされておらずisInserted、新しく追加された管理対象オブジェクトのプロパティはYESに設定されていません。また、(プライマリコンテキストへの)挿入は元に戻せません。

挿入されたオブジェクトを再フォールトすると、少なくともドキュメントがダーティとしてマークされますが、挿入は元に戻せません。

Wrt -mocDidSave:、カスタム実装で少し良い結果が得られました:

これにより、アレイコントローラが更新され、ドキュメントがダーティとしてマークされ、挿入と削除が元に戻されます。ただし、まだ元に戻せない更新については、まだ問題があります。代わりに、すべてのupdatedObjectsを手動でループし-[NSManagedObject changedValues]、プライマリコンテキストで変更を再適用するために使用する必要がありますか?

もちろん、このカスタム実装は、メインコンテキストのセカンダリコンテキストから多くの作業を複製します。マージを元に戻すことができるステップとして維持しながら、2つのコンテキスト間のマージを取得する他の/より良い方法はありますか?

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

swing - contextmenu と undo/redo 機能を scala swing テキストエリアに追加する方法

scala.swing で新しい TextArea を作成する場合、右クリックのコンテキスト メニューも、Ctrl + z による元に戻す機能もありません。Ctrl + [acv] ところでうまくいきます。

これらの重要なテキスト編集機能を追加するにはどうすればよいですか?

私はScala 2.9を使用しています。

前もって感謝します。

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

c# - 10 項目だけ追加する方法

私はアンドレスマネージャーを持っています。リストビューで表示する必要があるのは、10 エントリのみです。すでに沸騰している脳はそれを行う方法です。

このコードはビューリストのすべてのレコードに追加されますが、最後の 10 件だけが必要です。

重要- 使用されていない linq

アップデート:

例:

10 が必要です。元に戻す 4 を開始する場合は、最後または最大 10 のすべてを表示する必要があります。

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

iphone - ペイントアプリケーションで描画を元に戻す

OpenGlフレームワークを使用してペイントアプリケーションを作成していますが、UNDO /REDOオプションでスタックしています。実装したコードは次のとおりです。

このコードは効率的ではなく、非常に多くの欠点があります。元に戻す前と元にした後の画像を見てください。

以前: http: //imageshack.us/photo/my-images/577/screenshot20110714at121.png/

後: http: //imageshack.us/photo/my-images/200/screenshot20110714at121.png/

だから私はユーザーのタッチが終了するたびに画像をバッファに保存し、UNDOで前の画像を呼び出したいです..誰かが画像をバッファに保存してUNDOに戻す方法を教えてもらえますか?サンプルコードを見つけようとしましたが、見つかりませんでした。

ありがとう..

0 投票する
0 に答える
462 参照

wpf - 適切なキャレット移動を使用した WPF TextBox でのカスタムの元に戻す/やり直し

カスタムの元に戻す/やり直しスタックを実装しましたが、それを WPF TextBox で動作させようとしています。

組み込みの元に戻すメカニズムをオフにして、カスタムの元に戻すを Ctrl+Z に接続しました。元に戻す/やり直すたびに、TextBox のキャレットが常にインデックス 0 に移動されていることを受け入れて、すべてが正常に機能します。問題は、これをどのように解決するかです。

TextChanged をリッスンし、テキスト文字列の最後の変更をローカライズしている TextBox でカスタム動作を試してみました。ただし、これは、同じ文字を続けて数回入力しない限り機能します。私の方法は崩壊します。

私が理想的に望んでいるのは、TextBox.Text-property に実際の変更を加えるだけの何らかの動作です。現在は、最後に入力された文字だけが削除されたとしても、元に戻すたびに完全に更新されます。Undo で PropertyChanged をトリガーしている私の PresentationModel の Text プロパティをリッスンするので、これは当然のことです。

しかし、プロパティ値で何が変更されたかを正確に伝える、より詳細な方法があれば、それは素晴らしいことではありません. 次に、TextBox は、その Text-value 全体を更新することなく、それだけを変更できます。TextBox にこれを伝える方法はありますか、またはこのように動作するカスタム TextBox を作成することは可能でしょうか? そうすれば、propertychange-update のたびにキャレットを 0 に戻すことなく、新しいキャレットの正確な位置を特定することができます。

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

java - JMenu を押すと例外がスローされる

JMenuBar で [編集] を押すと、アプリで受け取ります

アプリの何が問題なのかわかりません。コードは次のとおりです。

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

c# - Undo / Redoを実装しようとして、私がよく理解していないこの記事を見つけました。ヘルプ?

私のアプリケーションには、潜在的に大量のデータを含む多次元配列があるため、ユーザーが変更するたびにそのオブジェクトを完全に保存することは不可能に思えます。

コマンドパターンについて読んで、最終的にこの記事を見つけましたが、よくわかりません。彼のコード例がどのように機能するのか、そしてこれが私のアプリケーションで機能するかどうかはわかりません。また、この「新しい」方法はGoFパターンよりも好ましいですか?

私のアプリケーションには、現在のドキュメントで機能するブラシや塗りつぶしツールなどのツールがあり、元に戻す/やり直し機能を最適に実装する方法はよくわかりませんが、すべての操作でオブジェクトの状態を保存しても、無限の元に戻すことはできません。やり直しは私が求めているものです。コマンドパターンをこのコンテキストで使用できるかどうか、または記事の実装がどのように機能するかはわかりません。

うまくいけば、誰かが記事を詳しく説明したり、コマンドパターンを私のニーズにどのように適合させることができるかを説明したりできます。読んでくれてありがとう!