Commit 470a8e3e authored by David O'Toole's avatar David O'Toole

both types of dialog boxes work

parent 3cd85d48
......@@ -124,9 +124,11 @@
(defmethod set-prompt-line ((self shell) line) (set-value (get-prompt self) line))
(defmethod get-modeline ((self shell)) (input-node self :modeline))
(defmethod get-output ((self shell)) (input-node self :output))
(defmethod get-output-items ((self shell))
(let ((phrase (first (%inputs (get-output self)))))
(when phrase (%inputs phrase))))
(defmethod get-dialog ((self shell))
(first (%inputs (get-output self))))
......@@ -203,6 +205,11 @@
(no-background :initform nil)
(style :initform :rounded)))
;; (defmethod draw-expanded :around ((self dialog) &optional label)
;; (if (typep (parent self) (find-class 'frame))
;; (mapc #'draw (inputs self))
;; (call-next-method)))
(defmethod draw-background ((self dialog) &key color)
(with-slots (x y width height) self
(draw-patch self x y (+ x width) (+ y height) :color color :style :rounded)))
......@@ -220,7 +227,8 @@
(export ',(show-name name))
(define-visual-macro ,(dialog-class-name name)
(:super dialog
:slots ((orientation :initform :vertical))
:slots ((orientation :initform :vertical)
(no-background :initform t))
:inputs ,(command-inputs name arglist)))
(export ',(dialog-class-name name))
(defmethod evaluate ((self ,(dialog-class-name name)))
......@@ -299,8 +307,8 @@
(set-value (entry) (pop d))
(pop i))))))
(defmethod layout :after ((sheet property-sheet))
(assert (every #'(lambda (d) (= 2 (length (inputs d)))) (inputs sheet))))
;; (defmethod layout :after ((sheet property-sheet))
;; (assert (every #'(lambda (d) (= 2 (length (inputs d)))) (inputs sheet))))
(defmethod get-property-object-pairs ((sheet property-sheet))
(mapcar #'inputs (inputs sheet)))
......
......@@ -2292,7 +2292,7 @@ See sidebar for more commands to try.
(defmethod draw :after ((self buffer))
(when *menubar*
(draw *menubar*))
(when *shell*
(when (shell-p self)
(draw *shell*))
(when *notification*
(draw *notification*)))
......@@ -4254,7 +4254,7 @@ See sidebar for more commands to try.
(if (or (functionp action)
(null action)
(typep action (find-class 'task))
(and (functionp action)
(and (symbolp action)
(fboundp action)))
"gray80"
"gray60")))))
......
......@@ -2307,7 +2307,7 @@ above.
(defmethod draw :after ((self buffer))
(when *menubar*
(draw *menubar*))
(when *shell*
(when (shell-p self)
(draw *shell*))
(when *notification*
(draw *notification*)))
......@@ -4264,7 +4264,7 @@ supported compiler.
(if (or (functionp action)
(null action)
(typep action (find-class 'task))
(and (functionp action)
(and (symbolp action)
(fboundp action)))
"gray80"
"gray60")))))
......@@ -4661,9 +4661,11 @@ supported compiler.
(defmethod set-prompt-line ((self shell) line) (set-value (get-prompt self) line))
(defmethod get-modeline ((self shell)) (input-node self :modeline))
(defmethod get-output ((self shell)) (input-node self :output))
(defmethod get-output-items ((self shell))
(let ((phrase (first (%inputs (get-output self)))))
(when phrase (%inputs phrase))))
(defmethod get-dialog ((self shell))
(first (%inputs (get-output self))))
......@@ -4740,6 +4742,11 @@ supported compiler.
(no-background :initform nil)
(style :initform :rounded)))
;; (defmethod draw-expanded :around ((self dialog) &optional label)
;; (if (typep (parent self) (find-class 'frame))
;; (mapc #'draw (inputs self))
;; (call-next-method)))
(defmethod draw-background ((self dialog) &key color)
(with-slots (x y width height) self
(draw-patch self x y (+ x width) (+ y height) :color color :style :rounded)))
......@@ -4757,7 +4764,8 @@ supported compiler.
(export ',(show-name name))
(define-visual-macro ,(dialog-class-name name)
(:super dialog
:slots ((orientation :initform :vertical))
:slots ((orientation :initform :vertical)
(no-background :initform t))
:inputs ,(command-inputs name arglist)))
(export ',(dialog-class-name name))
(defmethod evaluate ((self ,(dialog-class-name name)))
......@@ -4836,8 +4844,8 @@ supported compiler.
(set-value (entry) (pop d))
(pop i))))))
(defmethod layout :after ((sheet property-sheet))
(assert (every #'(lambda (d) (= 2 (length (inputs d)))) (inputs sheet))))
;; (defmethod layout :after ((sheet property-sheet))
;; (assert (every #'(lambda (d) (= 2 (length (inputs d)))) (inputs sheet))))
(defmethod get-property-object-pairs ((sheet property-sheet))
(mapcar #'inputs (inputs sheet)))
......
* Task list
** TODO fix dialog boxes
*** TODO [#A] fix menu clicks sometimes not working
**** TODO [#A] TAP MENUBAR should forward click to menu
*** TODO [#A] context-menu with reset-to-current-values
**** TODO [#A] pin down context menu elements
**** TODO [#A] fix broken layout/rendering of context menu
*** TODO add more notifications for cut/copy etc
*** TODO [#A] show error bubble and restore value when input incorrect
**** TODO pin down context menu elements
**** TODO fix broken layout/rendering of context menu
*** TODO [#A] fix menubar not being in switched-to buffer to respond to clicks
*** TODO [#A] project properties: height width scale-output- resizable author title license frame-rate
*** TODO [#B] add more notifications for cut/copy etc
*** TODO [#B] show error bubble and restore value when input incorrect
*** TODO [#B] fix menu clicks sometimes not working
**** TODO TAP MENUBAR should forward click to menu
*** TODO [#C] fix halos not always being in front
*** TODO [#C] don't allow halo on properties dialog
*** TODO [#C] ENTER should update value in property field
*** TODO [#C] Adjust highlight draw in top right corner of rounded patch
*** TODO [#C] fix menubar not drawing over dialogs
*** TODO [#C] add nice Apply/Cancel buttons
** TODO make master system menu todo list
......@@ -90,14 +91,10 @@
** TODO Design user experience
*** TODO launching external programs to edit assets. gimp, audacity, switch-to-emacs,. etc
*** TODO folders are virtual views, they don't nest
** TODO [#A] plist/variable properties editor
** TODO [#A] project properties: height width scale-output- resizable author title license frame-rate
** TODO [#A] create buffer switch menu
** TODO [#A] fix data entry widget validation
** TODO [#A] button class
** TODO [#A] checkbox
** DONE postpone project creation/loading dialogs, focus on working within one project
CLOSED: [2017-04-18 Tue 19:34]
** TODO Desktop buffer-class for workspace / task / folder management
*** TODO Icon class
*** TODO auto layout simple line rules with spacing
......@@ -740,3 +737,33 @@
:ARCHIVE_CATEGORY: tasks
:ARCHIVE_TODO: DONE
:END:
** DONE [#A] plist/variable properties editor
CLOSED: [2017-04-20 Thu 20:28]
:PROPERTIES:
:ARCHIVE_TIME: 2017-04-20 Thu 20:28
:ARCHIVE_FILE: ~/xelf/tasks.org
:ARCHIVE_OLPATH: Task list
:ARCHIVE_CATEGORY: tasks
:ARCHIVE_TODO: DONE
:END:
** DONE postpone project creation/loading dialogs, focus on working within one project
CLOSED: [2017-04-18 Tue 19:34]
:PROPERTIES:
:ARCHIVE_TIME: 2017-04-20 Thu 20:29
:ARCHIVE_FILE: ~/xelf/tasks.org
:ARCHIVE_OLPATH: Task list
:ARCHIVE_CATEGORY: tasks
:ARCHIVE_TODO: DONE
:END:
** DONE [#C] Adjust highlight draw in top right corner of rounded patch
CLOSED: [2017-04-20 Thu 20:14]
:PROPERTIES:
:ARCHIVE_TIME: 2017-04-20 Thu 20:31
:ARCHIVE_FILE: ~/xelf/tasks.org
:ARCHIVE_OLPATH: Task list/fix dialog boxes
:ARCHIVE_CATEGORY: tasks
:ARCHIVE_TODO: DONE
:END:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment