問題タブ [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.
c++ - 元に戻す/やり直し機能に sqlite を利用する方法は?
C++ でベクター描画を行うデスクトップ アプリケーションを作成しており、元に戻す/やり直し機能をサポートするために sqlite を使用することを検討しています。
元に戻す/やり直し機能に sqlite を使用した人はいますか? それはあなたにとってどのようにうまくいきますか?
説明:
私はスタック アプローチを認識していました。そのアプローチで 1 つのアプリケーションを実装したことさえあります。私が遭遇した問題は、しばらくすると維持が難しくなるということでした。
sqlite を利用するということは、メモリ内のデータ構造全体を sqlite データベースにマップし、sqlite に差分とリビジョンを任せることを意味します。インメモリ データベースを作成する場合、速度は問題になりません。
それがアイデアであり、それが機能するかどうか疑問に思っていました。
drawing - Photoshop 元に戻すシステム
この質問は、おそらく描画システム全般に当てはまります。元に戻す機能が PS でどのように実装されているのか疑問に思っていました。プログラムは、各操作の前にキャンバスのスナップショットを作成しますか? もしそうなら、これは巨大なメモリ要件につながりませんか? Command パターンを調べましたが、これが描画にどのように適用されるかはよくわかりません。
よろしく、メノ
svn - 'svncopy'を元に戻す方法
'svn copy'を使用してトランクをコピーして、誤って古いブランチを上書きしてしまいました。より具体的には、リリースごとに、トランクは分岐され、タグとして保持されます。
ただし、今回の「RELEASENR」の値は、新しいブランチではなく、古い既存のブランチの値でした。誰かがこの間違いを元に戻す方法について何かアイデアがありますか?すでにありがとう!
tfs - 管理されていないワークスペースからの tfs の変更を元に戻す方法は?
永遠に失われたワークスペースがあります。このワークスペースからいくつかのファイルをチェックアウトしています。ロックを解除したいのですが、できません。私はやろうとしました:
しかし、私はこのメッセージを受け取りました:
ワークスペースの失われたユーザーはこのコンピューター上にありません。そのワークスペースをホストしているコンピューターで get (編集が元に戻された場合はすべて取得) を実行して、サーバーで行われた変更でワークスペースを更新します。
使用できないワークスペースによってチェックアウトされたファイル (すべてのファイルではない)を元に戻す方法はありますか?
apache-flex - フレックス テキスト コントロールの元に戻す
Flex RichTextEditor コントロールに ctrl-z undo 機能を追加するためのリソースを見つけるのに苦労しています (明らかに他の Flex テキスト コントロールと共有されていません)。それがネイティブ形式ではないことに困惑しています。なぜなら、それは非常に基本的な機能であり、私が信じている標準のブラウザー テキスト コントロールでも利用できるからです。
Flex サイト (いくつかあります) でのこの問題の言及は競合します。1 つは問題が「解決済み」であり、解決策が「外部」であることを示しています (それが何を意味するかに関係なく)。
誰かが提供する洞察を持っていますか? 大規模なテキスト編集が必要なアプリがあります。Flex は一般的にはうまく機能しますが、誰もが想像するように、この些細な欠如が致命的です。
objective-c - NSManagedObject の作成/削除の取り消しを無効にする
私の Core Data モデルには、それぞれが属性を持つ複数のエンティティにlistItems
リンクするという関係があります。基本的にリスト項目ごとにのリストであるコントロールを作成しました。コントロールは適切にバインドされており、リターン キーを押すと、現在編集中のフィールドのすぐ下に新しいフィールドが作成され、フォーカスが新しいフィールドに変更されるように設定しました。したがって、基本的に、新しい項目を追加するには、ユーザーは Return キーを押します。listItem
stringValue
NSTextFields
listItems
同様に、ユーザーが編集を終了し、現在編集中のフィールドが空の場合、そのフィールドは削除されます (空のフィールドは、いわば「編集モード」の間のみ表示されます)。これはかなりうまくいきます。基本的に、私のlistItem
NSManagedObject サブクラスでは、次のことを行います。
私が遭遇している問題は、行がこの方法で削除されるたびに、undoManager に登録されることです。したがって、行を編集し、(新しい行を作成する) Return キーを押し、別の場所をクリックして編集を終了すると、その行は消えます。ただし、元に戻すと、空のフィールドが再び表示されます。私の目標は、空のフィールドを含む削除操作が undoManager によって無視されるようにすることです。
これについてどうすればいいですか?と をいくつかの場所で使用してみました[[[self managedObjectContext] undoManager] disableUndoRegistration]
(enableUndoRegistration
など-didTurnIntoFault
、そのメソッドの前に元に戻す登録が行われている可能性があります)。
zsh - Zshで削除を元に戻すことができません
パス/テストで実行します
チュートリアルでは、変更を元に戻すことができると書かれています
これらのfancyeditorコマンドのいずれかが意図しない方法でコマンドラインを変更した場合、キーボードから取得できる場合はˆ_で、それ以外の場合はˆXˆUで変更を元に戻すことができます。
ただし、Ctrl-xCtrl-uまたはCtrl-xuを押してもファイルを元に戻すことはできませんでした。また、Shift-6Shift--またはShift-6--を押して^_を試しましたが失敗しました。
Zshでの削除を元に戻すにはどうすればよいですか?
svn - SVN リポジトリ全体を元に戻すことはできますか?
SVN リポジトリでばかげたことをしたところ、誤って大量のものをサブフォルダーではなくルートにインポートしてしまいました。クリーンアップには何年もかかります....レポでグローバルな元に戻す簡単な方法がない限り? ヘルプ ファイルには、作業コピーを元に戻すことが記載されていますが、新しくインポートされたアイテムの作業コピーはありません。インポートを元に戻す方法はありますか?
Duplicate : svn リポジトリ全体を古いリビジョンにロールバックまたは元に戻します
wpf - ジャーナリングを元に戻す:元にされるコントロールに焦点を合わせる
WPFデータ入力画面の取り消しジャーナルを作成しています。このジャーナルは、すべてのコントロールにわたる変更を追跡します。ユーザーが[元に戻す]を選択したときに、最新の変更を元に戻すだけでなく、値が元に戻されるコントロールにフォーカスを戻したいと思います。私はその焦点を元に戻すための最良の方法に苦労しています。
私のViewModelは、元にされるジャーナリングを処理する部分になります。ViewModelのプロパティセッターは、DataModelを更新する前に「前」の状態をキャプチャします。どういうわけか、その「前」の状態には、後でフォーカスを戻すことができるように十分な情報を含める必要があります。
説明のために、住所と都市の2つのデータ入力フィールドがあるとします。ViewModelにはそれぞれのプロパティがあり、Viewには対応するViewModelプロパティにバインドされたそれぞれのTextBoxがあります。
ユーザーが[住所]フィールドに値を入力し、[都市]フィールドをクリックした例を見てみましょう。デフォルトのUpdateSourceTrigger.LostFocus動作を使用しているため、アドレステキストボックスがフォーカスを失ったときにアドレス変更が保存されます。これまでのところ、これにアプローチする方法について3つの異なるアイデアがありますが、それらのいずれかを機能させる方法を知るためのWPFについての十分な詳細がわかりません。
MVVMスタイルのデータバインディングを忘れて、編集コントロールのLostFocusイベントをフックする(または、アタッチされた動作を追加するか、TextBoxをラップするカスタムコントロールを作成するなど)ことができます。LostFocusイベントハンドラーで、イベントの送信者への参照を含む元に戻るフレームを作成できます。後で、元に戻す後、参照を保存したコントロールにフォーカスします。これはおそらくWinFormsで行ったことですが、WPFでは、ViewModelパターンに固執したいと思います。他に何もない場合でもテストしやすいように、ジャーナルロジックをViewよりもViewModelに配置したいと思います。したがって、このオプションは私の最初の選択肢ではありません。
私のViewModelのプロパティセッターでは、設定されているViewModelプロパティの名前(この例では「Address」)をキャプチャし、その名前を元にたりフレームに保存できます。後で、元に戻すで、ビュー内のすべてのコントロールを繰り返し処理して、Addressという名前のプロパティにバインドされているものがある最初のコントロールを探すことができました。そのようなコントロールを見つけたらすぐに焦点を合わせます。同じViewModelプロパティに複数のコントロールがバインドされているとは思わないので、これで十分です。問題は、これにはバインディング式を掘り下げる必要があるということです。これは、私には方法がわかりません。(また、リファクタリングすると壊れてしまう可能性のある、より多くの名前ベースの遅延バインディングが導入されます。)
私のViewModelが変更を元に戻るスタックに追加すると、(インターフェイスを介して)Viewレイヤーに、どのコントロールにフォーカスがあるかを認識しているMementoを作成するように要求できます。Undoで、ジャーナルはViewにそのMementoを復元するように要求します。ここでの問題は、ViewModelのプロパティが設定され、元に戻るフレームを追加するまでに、キーボードのフォーカスがすでにCity TextBoxに移動しているため、「mementoの作成」は「どこにあるか」よりも難しい必要があることです。現在のキーボードフォーカスは今」であり、そのトリックを達成する方法がわかりません。
上記のいずれかを機能させるための提案がありますか、またはよりうまく機能する可能性のある代替アプローチがありますか?
vba - VBAで取り消し履歴を読む
Word 2003には、ドキュメントのフォントを「エコフォント」(長い話)に変更し、[印刷]ダイアログを表示する非常に単純なVBAがあります。
ユーザーが[キャンセル]または[OK]を押すと、コードは「元に戻す」を実行して変更を元に戻します。
問題は、「OK」を押してドキュメントを印刷するときに、2つのアクション(「フォントの変更」と「フィールドの更新」)を元に戻す必要がある場合があることです。これがいつ起こるかは予測できないようです。
WordのUNDOバッファの最後の項目を読み取る方法はありますか?そうすれば、フォントの変更が完了するまで、元に戻すを押し続けることができます。
編集: 最終コード(削減):