/// ------------------------------------------------------------------------------------ /// <summary> /// Watch for keys to do the cut/copy/paste operations /// </summary> /// <param name="e"></param> /// ------------------------------------------------------------------------------------ protected override void OnKeyDown(KeyEventArgs e) { m_sda.GetActionHandler().BeginUndoTask("dummy undo Key Down", "dummy redo Key Down"); if (!EditingHelper.HandleOnKeyDown(e)) { base.OnKeyDown(e); } m_sda.GetActionHandler().EndUndoTask(); }
internal int m_chvoDel; // On Do, Redo; #inserted on Undo. /// <summary> /// Make an instance and add it to the undo stack. Also, if it's the 'redo' action added after the /// actual changes (fForRedo is true), issue the propchanged at once to complete the original action. /// </summary> /// <param name="sda"></param> /// <param name="hvo"></param> /// <param name="tag"></param> /// <param name="ihvo"></param> /// <param name="chvoIns"></param> /// <param name="chvoDel"></param> /// <param name="fForRedo"></param> static public ExtraPropChangedAction AddAndInvokeIfRedo(ISilDataAccess sda, int hvo, int tag, int ihvo, int chvoIns, int chvoDel, bool fForRedo) { ExtraPropChangedAction action = new ExtraPropChangedAction(sda, hvo, tag, ihvo, chvoIns, chvoDel, fForRedo); sda.GetActionHandler().AddAction(action); if (fForRedo) action.Redo(false); return action; }
internal int m_chvoDel; // On Do, Redo; #inserted on Undo. /// <summary> /// Make an instance and add it to the undo stack. Also, if it's the 'redo' action added after the /// actual changes (fForRedo is true), issue the propchanged at once to complete the original action. /// </summary> /// <param name="sda"></param> /// <param name="hvo"></param> /// <param name="tag"></param> /// <param name="ihvo"></param> /// <param name="chvoIns"></param> /// <param name="chvoDel"></param> /// <param name="fForRedo"></param> static public ExtraPropChangedAction AddAndInvokeIfRedo(ISilDataAccess sda, int hvo, int tag, int ihvo, int chvoIns, int chvoDel, bool fForRedo) { ExtraPropChangedAction action = new ExtraPropChangedAction(sda, hvo, tag, ihvo, chvoIns, chvoDel, fForRedo); sda.GetActionHandler().AddAction(action); if (fForRedo) { action.Redo(false); } return(action); }
/// <summary> /// /// </summary> /// <returns></returns> public IActionHandler GetActionHandler() { return(m_sda.GetActionHandler()); }
/// <summary> /// When in the middle of recording an undoable sequence, force the Undo (or subsequent /// Redo) to do a Refresh. /// </summary> /// <param name="sda"></param> public static void ForceRefreshOnUndoRedo(ISilDataAccess sda) { IActionHandler acth = sda.GetActionHandler(); try { if (acth != null) acth.AddAction(new UndoRefreshAction()); } finally { if (acth != null && Marshal.IsComObject(acth)) Marshal.ReleaseComObject(acth); } }