問題タブ [undo]
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.
design-patterns - UndoEngineのデザインパターン
土木工学アプリケーション用の構造モデリングツールを書いています。建物全体を表す1つの巨大なモデルクラスがあります。これには、カスタムクラスでもあるノード、ライン要素、荷重などのコレクションが含まれます。
モデルに変更を加えるたびにディープコピーを保存するUNDOエンジンをすでにコーディングしました。今、私は別の方法でコーディングできたかどうかを考え始めました。ディープコピーを保存する代わりに、対応する逆修飾子を使用して各修飾子アクションのリストを保存することもできます。現在のモデルに逆修飾子を適用して元に戻したり、修飾子を適用してやり直したりできるようにします。
オブジェクトのプロパティなどを変更する単純なコマンドをどのように実行するか想像できますが、複雑なコマンドはどうでしょうか。モデルに新しいノードオブジェクトを挿入し、新しいノードへの参照を保持するいくつかのラインオブジェクトを追加するようなものです。
それをどのように実装するのでしょうか?
python - GTK TextView で元に戻す
私が貢献するプログラムの依存関係を最小限に抑えようとしています。これは小さなテキストエディターです。
GTK Textview には、元に戻す機能が組み込まれていないようです。これまで見逃していた参照実装はありますか? 誰もが TextView ウィジェット用に独自の取り消し機能を作成していますか?
どんなサンプル コードにも満足しています。私たちのプロジェクトは Python で行われているので、Python のサンプル コードに最も満足しています。
svn - Subversion で特定のリビジョンを元に戻す
リポジトリフォルダーに一連のコミットがあるとします...
リビジョン 117 以降のすべての変更を含み、リビジョン 118 および 120 の変更を含まない作業コピーを取得したいと考えています。
編集: おそらく問題をより明確にするために、118 と 120 で行われた変更を元に戻し、他のすべての変更を保持したいと考えています。このフォルダーには、数百のサブフォルダーに数千のファイルが含まれています。
これを達成するための最良の方法は何ですか?
ブルーノとバートのおかげで、答えはコマンドです(この場合、完全なマージが実行された後に 120 を削除するため)
リビジョン番号は先頭にマイナスを付けて指定する必要があることに注意してください。「120」ではなく「-120」
git - gitリベースを元に戻す
gitリベースを簡単に元に戻す方法を知っている人はいますか?
頭に浮かぶ唯一の方法は、手動でそれを行うことです。
- git checkoutは、両方のブランチの親をコミットします
- 次に、そこから一時ブランチを作成します
- チェリーピックすべてのコミットを手作業で
- リベースしたブランチを手動で作成したブランチに置き換えます
私の現在の状況では、両方のブランチからのコミットを簡単に見つけることができるので、これはうまくいくでしょう(1つは私のもので、もう1つは私の同僚のものでした)。
しかし、私のアプローチは、最適ではなく、エラーが発生しやすいと思います(たとえば、自分のブランチを2つ使用してリベースしたとしましょう)。
何か案は?
明確化:私は、コミットの束が再生されたリベースについて話している。1つだけではありません。
c# - ASP.net Web アプリの取り消しのサポート
いくつかのフィールドとグリッドビューを持つ単純な Web フォームがあります。保存とキャンセルボタンもあります。
ユーザーがキャンセルを押したときに、フォーム上のデータに対して行われたことを元に戻す方法が必要です。これはフィールドで十分に簡単ですが、グリッドビューへの変更はデータベースに対してリアルタイムで発生するため、元に戻す機能を取得する方法がわかりません。
gridview への変更をビューステートに保存することを考えましたが、余分なスペースが必要なため、保存したくありません。
また、変更を保存し、必要に応じてロールバックする一時テーブルについても考えました。
フォームから元に戻す機能を取得する方法を知っている人はいますか?
ruby-on-rails - Railsでgmailスタイルの「元に戻す」を実装する最良の方法は何ですか?
「よろしいですか? 」という迷惑なポップアップを表示するのではなく、レコードを破棄するときに「元に戻す」メソッドをgmailで使用することが重要だと思います。
これを実装した方法は、モデルに「deleted_at」タイムスタンプ列を作成し、destroyメソッドが呼び出されたときにタイムスタンプを取得することです。
元に戻す/元に戻すには、同じ列を nil に設定します
find メソッドを呼び出すときに、「削除された」foo を除外する条件を追加するだけです。おそらく、しばらくしてから「削除された」fooを実際に破棄するようにcronまたはバックグラウンドタスクを設定します。
私にとっては機能し、実装も簡単ですが、この機能を実装するためのより良い方法があるかどうか知りたいですか? たぶん、私が知らないこれを提供するプラグインまたは宝石がありますか?
svn - TortoiseSVNでコミットを元に戻す
誤って大量のファイル(さまざまなフォルダーにある数十のファイル)をコミットしました。作業ディレクトリからファイルを削除せずにコミットを「元に戻す」ための最も簡単でクリーンな(そして最も安全な!)方法は何ですか?
c# - .NET RichTextBox 元に戻す
WinForms 3.5 で RichTextBox を使用していますが、含まれているテキストをプログラムで編集すると、それらの変更が組み込みの元に戻す機能で利用できなくなることがわかりました。
これらの変更を元に戻す/やり直すことができるようにする方法はありますか?
java - Java の元に戻す機能について助けが必要です
Java でテキスト エディターを作成し、元に戻す機能を追加したい
UndoManager Class がなければ、Stack や LinkedList のようなデータ構造を使用する必要がありますが、Java の Stack クラスは Object パラメータを使用します。ありがとう
vba - 元に戻すを Excel VBA マクロに組み込む
Excel マクロでは、実行後に「元に戻す」を使用できないようです。undo
Excel で機能を VBA マクロに焼き付ける方法はありますか?