[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/sketch-mode 35255d0 04/38: Implement undo/redo and show
From: |
ELPA Syncer |
Subject: |
[elpa] externals/sketch-mode 35255d0 04/38: Implement undo/redo and show/edit/(re)load definition |
Date: |
Wed, 15 Sep 2021 16:57:33 -0400 (EDT) |
branch: externals/sketch-mode
commit 35255d0a94d54c870090a25e888c5958183cc712
Author: Daniel Nicolai <dalanicolai@gmail.com>
Commit: Daniel Nicolai <dalanicolai@gmail.com>
Implement undo/redo and show/edit/(re)load definition
---
sketch-mode.el | 42 ++++++++++++++++++++++++++++++++----------
1 file changed, 32 insertions(+), 10 deletions(-)
diff --git a/sketch-mode.el b/sketch-mode.el
index 480b36d..7d037e2 100644
--- a/sketch-mode.el
+++ b/sketch-mode.el
@@ -194,18 +194,19 @@ STOPS is a list of percentage/color pairs."
;;;###autoload
(defun sketch (arg)
"Initialize or switch to (new) SVG image.
-With prefix argument, "
+With prefix argument, create sketch using default (customizable)
+values"
(interactive "P")
- (let ((width (if arg (car sketch-default-image-size) (read-number "Enter
width: ") ))
- (height (if arg 600 (read-number "Enter height: ")))
- (buffer (get-buffer "*sketch")))
+ (let ((buffer (get-buffer "*sketch*")))
(if buffer
(progn (switch-to-buffer buffer)
- (call-interactively 'tutorial-transient))
- (switch-to-buffer (get-buffer-create "*sketch"))
- (defvar-local grid-param 25)
- (setq grid-param (if arg 25 (read-number "Enter grid parameter (enter 0
for no grid): ")))
- (sketch--create-canvas width height grid-param))))
+ (call-interactively 'sketch-transient))
+ (let ((width (if arg (car sketch-default-image-size) (read-number "Enter
width: ") ))
+ (height (if arg 600 (read-number "Enter height: "))))
+ (switch-to-buffer (get-buffer-create "*sketch"))
+ (defvar-local grid-param 25)
+ (setq grid-param (if arg 25 (read-number "Enter grid parameter (enter
0 for no grid): ")))
+ (sketch--create-canvas width height grid-param)))))
(defun sketch-snap-to-grid (coord grid-param)
@@ -435,9 +436,11 @@ With prefix argument, "
;; (call-interactively 'tutorial-transient)
(transient-define-suffix sketch-show-definition ()
+ :transient 'transient--do-exit
(interactive)
(let ((buffer (get-buffer-create "svg")))
- (pp svg buffer)
+ (transient-quit-one)
+ (pp svg-sketch buffer)
(switch-to-buffer-other-window buffer)
(emacs-lisp-mode)))
@@ -447,6 +450,25 @@ With prefix argument, "
(pp svg (current-buffer))
(kill-new (buffer-string))))
+(defun sketch-load-definition ()
+ (interactive)
+ (setq svg-sketch (read (buffer-string))))
+
+(transient-define-suffix sketch-undo ()
+ (interactive)
+ (defvar sketch-undo-redo nil)
+ (let ((sketch-reverse (nreverse svg-sketch)))
+ (push (pop sketch-reverse) sketch-undo-redo)
+ (setq svg-sketch (nreverse sketch-reverse)))
+ (sketch-redraw))
+
+(transient-define-suffix sketch-redo ()
+ (interactive)
+ (let ((sketch-reverse (nreverse svg-sketch)))
+ (push (pop sketch-undo-redo) sketch-reverse)
+ (setq svg-sketch (nreverse sketch-reverse)))
+ (sketch-redraw))
+
(transient-define-suffix sketch-save ()
(interactive)
(image-save))
- [elpa] branch externals/sketch-mode created (now aaac04d), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 3c8f9f1 05/38: Add documentation (prepare for publishing), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 04dd1db 07/38: Add sketch fonts, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode ccff908 03/38: Implement toggle grid, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 96ce92b 02/38: First sketch of sketch-mode, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode d3b1831 14/38: Move transient quit for more sketch space, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode a715b8a 12/38: Reformat/compactify transient, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 35255d0 04/38: Implement undo/redo and show/edit/(re)load definition,
ELPA Syncer <=
- [elpa] externals/sketch-mode 56d7b5d 08/38: Create FUNDING.yml, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode da9e1d7 13/38: Implement help-echo showing coordinates, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 32559c4 06/38: Add remove functionality (id's and labels), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 5c37145 09/38: Add sponsor button, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode b944693 10/38: Add crop image feature AND add text transient into main, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode f82ed74 11/38: Update documentation (add screencast), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 4d78311 18/38: Experimental object modify tabulated list, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode d42f84a 22/38: Add svg and sketch group definitions, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode e3c16c7 26/38: Merge branch 'implement-layers' (incl. undo-tree undo/redo), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 951c284 28/38: Fix dot marker and rename (make internal) sketch-snap-to-grid, ELPA Syncer, 2021/09/15