問題タブ [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 に答える
121 参照

c++ - 元にした後にやり直しをトリガーする

元にしたが使用された後にのみやり直しが表示される場所に到達しようとしています。私はそれを機能させることができないようです。信号とスロットに何か問題があることはわかっていますが、それを機能させる方法がわかりません。

元に戻すおよびやり直しの信号スロットのコードは次のとおりです。

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

database - オラクルはスチール/強制なしのアプローチを使用していますか?

私はすでに彼のために何時間もグーグルで検索しましたが、これに関する情報が見つかりません. 盗む/強制しないことがデータベースシステムの最も一般的なアプローチであるとどこでも言われていますが、証拠がなければ確信が持てません.

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

objective-c - FirstResponder にやり直しがありません:

InterfaceBuilder のファイルの FirstResponder にredo:接続がないのはなぜですか (Received Actionsリスト内)? undo:存在しますが、redo:しません。どうすれば修正できますか?

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

java - Javaは、オブジェクトを置き換える(変更しない)ときにすべての参照を自動更新しますか?

だから私は自分のクラスのオブジェクトのArrayListを持っています:

ここで、リストからこれらのオブジェクトの1つを保持する変数があるとします。これで、そのオブジェクトを変更した場合(たとえば、そのオブジェクトにフィールドを設定した場合)、オブジェクト自体を保持するメモリが変更されるため、両方の参照(リスト内のオブジェクトを保持する変数と内部配列変数)が引き続き使用されることがわかります。同一であり、両方とも同じ、現在変更されているオブジェクトに表示されます。通常の動作!

しかし、変数が指すリスト内のオブジェクトを置き換えるときにもそうなるようにしたいと思います。それは私がするときです

...この場合、変数にこの新しいインスタンスへの参照を自動的に持たせたいと思います。そのような振る舞いを実装する最も簡単な方法は何でしょうか?

これが私がこれを必要とする理由です:

要するに、私はArrayListに加えられた変更の取り消し/やり直しを処理するクラスのセットを持っています(これは拡張していませんが、とにかく問題を解決しませんか?)。クラスは呼ばれます

すべてのクラスには、メソッドundo()とredo()があります。

説明による例(必要に応じてコードは最後にあります):

リストにアイテムを追加したいとします。新しいAdd(myObject)を実行し、次にリスト内のアイテムを変更して、新しいModify(myObject)を実行します。その後、バックアップとしてオブジェクト状態のDeepCopyを作成します。 、その後、オブジェクト自体を変更します(新しいModify(..)の呼び出しを行った後)。次に、Modifyオブジェクトでundo()を実行して、list.set(somePos、previousDeepCopy)を実行します(したがって、この投稿では、作成されたディープコピーは、本質的に、物事を台無しにする新しいインスタンスです!!!)...

したがって、このlist.setがいくつかの問題を引き起こすことを想像できます。置き換えられたオブジェクトへの参照はすべて失われます。そのため、そのようなオブジェクトへの参照が常に置き換えられる場合、そのようなリストを効果的に操作することはできません。したがって、私の元に戻るマネージャーは、この方法で失敗する運命にあります。

では、これらの設計上の欠陥とどのように戦うのでしょうか?どんな提案でも大歓迎です。


いくつかのコード:

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

wpf - 元に戻す/やり直しのコマンドパターンとICommandを使用してパラメータを追跡します。複数のコマンドを保存しますか?

私は多くの形状の移動を伴うWPFアプリケーションに取り組んできました。これは主にMVVMであり、コマンドに大きく依存しています。つい最近まで、Undo/Redoについて心配していませんでした。私の変更のほとんどは、ICommandを実装する基本クラスCommandBaseを継承するコマンドを含むため、それほど難しくはないと思います。

これまでに、ICommandを使用するIUndoCommandという名前の別のインターフェイスを追加しました。元にたりが呼び出されたときに必要な操作を実行する元に戻るメソッドを追加しました。

UndoとRedoの両方にスタックを使用しますが、Execute/Undoメソッドのパラメーターに問題が発生しています。オブジェクト型のこれらのパラメータを保存する適切な方法はありますか?IUndoCommandにフィールド/メソッドを追加することをお勧めしますか?もしそうなら、私はそれをExecuteメソッドまたはコンストラクターで設定する必要があります(可能であれば)。

そうでない場合は、スタック内の独自のオブジェクトとして渡す必要がありますか?

第二に、(これはおそらくそれ自身の質問かもしれませんが)複数のコマンドを追跡するためのより良いデータ構造はありますか?現在、複数のコマンドを実行して複数の選択した図形を移動するループがあり、1回の取り消しですべてを元に戻すことができます。これを独自のコマンドに変換してコマンドを渡すこともできると思いますが、これも初めてで、正しく実行したいと思います。

読んでくれてありがとう、そしてどんな助けでも大歓迎です。

出典:

コードプロジェクトVisualStudioMagazineStackOverFlow

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

actionscript-3 - お絵かきアプリ 元に戻す・やり直し機能 アクションスクリプト 3

元に戻す機能とやり直し機能を作成する方法を誰か教えてもらえますか? これが私の現在のアクション スクリプトです。私はそれを行う方法を理解できず、いくつかのWebサイトでいくつかの例を見ています.アクションスクリプトは理解するのが長すぎます. Plsは、私がこれを機能させる簡単な方法を示しています..

悪い文法でごめんなさい...

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

actionscript-3 - アクション スクリプト 3 お絵かきアプリの取り消しとやり直し機能

元に戻す機能とやり直し機能を作成する方法を誰か教えてもらえますか? これが私の現在のアクション スクリプトです。私はそれを行う方法を理解できず、いくつかのWebサイトでいくつかの例を見ています.アクションスクリプトは理解するのが長すぎます. Plsは、私がこれを機能させる簡単な方法を示しています..

悪い文法でごめんなさい...

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

prolog - [失敗するまでやり直す]を選択します。なぜですか?

私は次の機能を持っています:

次の方法でトレースをオンにして呼び出します。

上記のトレースでRedoが呼び出された理由がわかりません。select "worked"を使用するべきではないため、次に呼び出される行は

誰かがここでやり直しの外観を説明するのを手伝ってもらえますか?前もって感謝します。

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

java - 元に戻す/やり直す方法

以下のような複雑なオブジェクトの元に戻す/やり直し機能を記述する必要があります。

私はこのコードを開発しました。

単純な文字列または整数値では問題なく機能しますが、複雑なオブジェクトでは機能しません。そのオブジェクトの代わりに参照が含まれているようです。それを機能させる方法や、元に戻す/やり直し機能を簡単にする方法はありますか?