From e5fbbad35efb0e5444bb0892276b16fafc88b09e Mon Sep 17 00:00:00 2001 From: David Botton Date: Sun, 3 Jul 2022 22:25:22 -0400 Subject: [PATCH] quick start window --- clog.asd | 1 + tools/clog-builder.lisp | 10 ++++++++++ tools/quick-start.clog | 22 ++++++++++++++++++++++ tools/quick-start.lisp | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 tools/quick-start.clog create mode 100644 tools/quick-start.lisp diff --git a/clog.asd b/clog.asd index 8f9da1a..b8c7036 100644 --- a/clog.asd +++ b/clog.asd @@ -56,4 +56,5 @@ (:file "clog-new-app") (:file "clog-builder") (:file "image-to-data") + (:file "quick-start") (:file "clog-builder-images"))) diff --git a/tools/clog-builder.lisp b/tools/clog-builder.lisp index 98e4a41..c2fff2c 100644 --- a/tools/clog-builder.lisp +++ b/tools/clog-builder.lisp @@ -1836,6 +1836,15 @@ of controls and double click to select control." (create-image-to-data (window-content win)) (window-center win))) +(defun on-quick-start (obj) + "Open quick start" + (let* ((app (connection-data-item obj "builder-app-data")) + (win (create-gui-window obj :title "Quick Start" + :top 40 :left 225 + :width 600 :height 400 + :client-movement t))) + (create-quick-start (window-content win)))) + (defun on-new-builder (body) "Launch instance of the CLOG Builder" (set-html-on-close body "Connection Lost") @@ -1873,6 +1882,7 @@ of controls and double click to select control." (create-gui-menu-item win :content "Maximize All" :on-click #'maximize-all-windows) (create-gui-menu-item win :content "Normalize All" :on-click #'normalize-all-windows) (create-gui-menu-window-select win) + (create-gui-menu-item help :content "CLOG Quick Start" :on-click 'on-quick-start) (create-gui-menu-item help :content "CLOG Manual" :on-click (lambda (obj) (declare (ignore obj)) diff --git a/tools/quick-start.clog b/tools/quick-start.clog new file mode 100644 index 0000000..d5e671a --- /dev/null +++ b/tools/quick-start.clog @@ -0,0 +1,22 @@ +Add image url CLOG The Common Lisp Omnificent GUI
+

Quick Start

+

Placing Controls

+Placing Controls - Click a control from the control pallets in the top left panel. Click on your panel
+Static Placement - Click a control from the control pallets in the top left panel. Click on your panel while holding down <ctrl/cmd>
+Place as child control - Click the parent control in your panel. Click a control from the control pallets in the top left panel. Click on your panel while holding down <shift>
+Place as static and child control - Click the parent control in your panel. Click a control from the control pallets in the top left panel. Click on your panel while holding down <shift>+<ctrl/cmd>
+
+

Existing Controls as Children

+2 ways:
+1. Click the parent control in your panel. Holding <shift> click the control to make a child.
+2. Use the control list in the lower left to drag and drop holding the <shift> key
+
+

Existing Controls as Static

+Use the positioning property in the property panel
+
+

Access Children Controls

+Double click the parent control, it will freeze (unfreeze by double clicking it in the control list in the lower left panel), and children can not be manipulated
+
+

Change Creation/Tab Order

+Use the control list in lower left panel to drag and drop order
+
\ No newline at end of file diff --git a/tools/quick-start.lisp b/tools/quick-start.lisp new file mode 100644 index 0000000..d0b2dda --- /dev/null +++ b/tools/quick-start.lisp @@ -0,0 +1,34 @@ +(in-package "CLOG-TOOLS") +(defclass quick-start (clog:clog-panel) + ( (Instructions :reader Instructions) + (span-13 :reader span-13) + (image-12 :reader image-12) +)) +(defun create-quick-start (clog-obj &key (hidden nil) (class nil) (html-id nil) (auto-place t)) + (let ((panel (change-class (clog:create-div clog-obj :content "\"Add CLOG The Common Lisp Omnificent GUI
+

Quick Start

+

Placing Controls

+Placing Controls - Click a control from the control pallets in the top left panel. Click on your panel
+Static Placement - Click a control from the control pallets in the top left panel. Click on your panel while holding down <ctrl/cmd>
+Place as child control - Click the parent control in your panel. Click a control from the control pallets in the top left panel. Click on your panel while holding down <shift>
+Place as static and child control - Click the parent control in your panel. Click a control from the control pallets in the top left panel. Click on your panel while holding down <shift>+<ctrl/cmd>
+
+

Existing Controls as Children

+2 ways:
+1. Click the parent control in your panel. Holding <shift> click the control to make a child.
+2. Use the control list in the lower left to drag and drop holding the <shift> key
+
+

Existing Controls as Static

+Use the positioning property in the property panel
+
+

Access Children Controls

+Double click the parent control, it will freeze (unfreeze by double clicking it in the control list in the lower left panel), and children can not be manipulated
+
+

Change Creation/Tab Order

+Use the control list in lower left panel to drag and drop order
+
" + :hidden hidden :class class :html-id html-id :auto-place auto-place) 'quick-start))) + (setf (slot-value panel 'Instructions) (attach-as-child clog-obj "CLOGB3865888356" :clog-type 'CLOG:CLOG-DIV :new-id t)) + (setf (slot-value panel 'span-13) (attach-as-child clog-obj "CLOGB3865888354" :clog-type 'CLOG:CLOG-SPAN :new-id t)) + (setf (slot-value panel 'image-12) (attach-as-child clog-obj "CLOGB3865888353" :clog-type 'CLOG:CLOG-IMG :new-id t)) + panel))