// --- decoration --- public void InstallEditorHandle(IEditorHandle handle) { if (handle == null || _editorHandles.Contains(handle)) { return; } handle.Install(this); _editorHandles.Add(handle); }
// ======================================== // method // ======================================== public override void Apply() { _editorHandle = Handle as IEditorHandle; Contract.Requires(_editorHandle != null); Handle.MouseDoubleClick += HandleMouseDoubleClick; Handle.MouseDown += HandleMouseDown; Handle.MouseClick += HandleMouseClick; Handle.DragStart += HandleDragStart; Handle.DragMove += HandleDragMove; Handle.DragFinish += HandleDragFinish; Handle.DragCancel += HandleDragCancel; _editorHandle.KeyPress += HandleKeyPress; Handle.Installed += HandleHandleInstalled; Handle.Uninstalling += HandleHandleUninstalling; }