mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-05 18:20:36 -08:00
171 lines
5.6 KiB
Common Lisp
171 lines
5.6 KiB
Common Lisp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;;; CLOG - The Common Lisp Omnificent GUI ;;;;
|
|
;;;; (c) 2020-2021 David Botton ;;;;
|
|
;;;; License BSD 3 Clause ;;;;
|
|
;;;; ;;;;
|
|
;;;; clog.lisp ;;;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; Exports - clog
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(mgl-pax:define-package :clog
|
|
(:documentation "The Common List Omnificent GUI - Parent package")
|
|
(:local-nicknames (:cc :clog-connection))
|
|
(:use #:cl #:mgl-pax))
|
|
|
|
(in-package :clog)
|
|
|
|
(defsection @clog-manual (:title "The CLOG manual")
|
|
"The Common Lisp Omnificient GUI, CLOG for short, uses web technology
|
|
to produce graphical user interfaces for applications locally or
|
|
remotely. The CLOG package starts up the connectivity to the browser
|
|
or other websocket client (often a browser embedded in a native
|
|
application."
|
|
|
|
(clog asdf:system)
|
|
|
|
(@clog-system section)
|
|
(@clog-utilities section)
|
|
(@clog-obj section)
|
|
(@clog-body section)
|
|
(@clog-window section)
|
|
(@clog-document section)
|
|
(@clog-location section)
|
|
(@clog-navigator section))
|
|
|
|
(defsection @clog-system (:title "CLOG System")
|
|
"CLOG Startup and Shutdown"
|
|
(initialize function)
|
|
(shutdown function))
|
|
|
|
(defsection @clog-utilities (:title "CLOG Utilities")
|
|
"CLOG utilities"
|
|
(js-true-p function)
|
|
(open-browser function))
|
|
|
|
(defsection @clog-obj (:title "CLOG Objects")
|
|
"CLOG-Obj - Base class for CLOG Objects"
|
|
(clog-obj class)
|
|
|
|
"CLOG-Obj - General Properties"
|
|
(property generic-function)
|
|
(style generic-function)
|
|
(attribute generic-function)
|
|
|
|
"CLOG-Obj - General Methods"
|
|
(height generic-function)
|
|
(width generic-function)
|
|
(focus generic-function)
|
|
(blur generic-function)
|
|
|
|
"CLOG-Obj - Placement"
|
|
(place-after generic-function)
|
|
(place-before generic-function)
|
|
(place-inside-top-of generic-function)
|
|
(place-inside-bottom-of generic-function)
|
|
|
|
"CLOG-Obj - Low Level"
|
|
(create-child generic-function)
|
|
(attach-as-child generic-function)
|
|
(connection-data generic-function)
|
|
(validp generic-function)
|
|
|
|
"CLOG-Obj - Event Handling"
|
|
(set-on-resize generic-function)
|
|
(set-on-focus generic-function)
|
|
(set-on-blur generic-function)
|
|
(set-on-change generic-function)
|
|
(set-on-focus-in generic-function)
|
|
(set-on-focus-out generic-function)
|
|
(set-on-reset generic-function)
|
|
(set-on-search generic-function)
|
|
(set-on-select generic-function)
|
|
(set-on-submit generic-function)
|
|
(set-on-select generic-function)
|
|
(set-on-context-menu generic-function)
|
|
(set-on-click generic-function)
|
|
(set-on-double-click generic-function)
|
|
(set-on-mouse-click generic-function)
|
|
(set-on-mouse-double-click generic-function)
|
|
(set-on-mouse-right-click generic-function)
|
|
(set-on-mouse-enter generic-function)
|
|
(set-on-mouse-leave generic-function)
|
|
(set-on-mouse-over generic-function)
|
|
(set-on-mouse-out generic-function)
|
|
(set-on-mouse-down generic-function)
|
|
(set-on-mouse-up generic-function)
|
|
(set-on-mouse-move generic-function)
|
|
(set-on-character generic-function)
|
|
(set-on-key-down generic-function)
|
|
(set-on-key-up generic-function)
|
|
(set-on-key-press generic-function)
|
|
(set-on-copy generic-function)
|
|
(set-on-cut generic-function)
|
|
(set-on-paste generic-function))
|
|
;; need to add drag and drop events
|
|
|
|
(defsection @clog-body (:title "CLOG Body Objects")
|
|
"CLOG-Body - CLOG Body Objects"
|
|
(clog-body class)
|
|
|
|
"CLOG-Body - Properties"
|
|
(window generic-function)
|
|
(html-document generic-function)
|
|
(location generic-function)
|
|
(navigator generic-function))
|
|
|
|
(defsection @clog-window (:title "CLOG Window Objects")
|
|
"CLOG-Window - CLOG Window Objects"
|
|
(clog-window class)
|
|
|
|
"CLOG-Window - Properties"
|
|
(window-name generic-function)
|
|
|
|
"CLOG-Window - Methods"
|
|
(alert generic-function))
|
|
|
|
(defsection @clog-document (:title "CLOG Document Objects")
|
|
"CLOG-Document - CLOG Document Objects"
|
|
(clog-document class))
|
|
|
|
(defsection @clog-location (:title "CLOG Location Objects")
|
|
"CLOG-Location - CLOG Location Objects"
|
|
(clog-location class))
|
|
|
|
(defsection @clog-navigator (:title "CLOG Navigator Objects")
|
|
"CLOG-Navigator - CLOG Navigator Objects"
|
|
(clog-navigator class))
|
|
|
|
(defsection @clog-location (:title "CLOG Location Objects")
|
|
"CLOG-Location - CLOG Location Objects"
|
|
(clog-location class))
|
|
|
|
(export 'make-markup)
|
|
(defun make-markup ()
|
|
(load "clog.lisp")
|
|
(load "clog-base.lisp")
|
|
(load "clog-window.lisp")
|
|
(load "clog-navigator.lisp")
|
|
(load "clog-document.lisp")
|
|
(load "clog-location.lisp")
|
|
(load "clog-system.lisp")
|
|
(load "clog-utilities.lisp")
|
|
(load "clog-body.lisp")
|
|
(describe clog:@CLOG-MANUAL))
|
|
|
|
(export 'make-html)
|
|
(defun make-html ()
|
|
(load "clog.lisp")
|
|
(load "clog-base.lisp")
|
|
(load "clog-window.lisp")
|
|
(load "clog-navigator.lisp")
|
|
(load "clog-document.lisp")
|
|
(load "clog-location.lisp")
|
|
(load "clog-system.lisp")
|
|
(load "clog-utilities.lisp")
|
|
(load "clog-body.lisp")
|
|
(mgl-pax:update-asdf-system-html-docs clog:@CLOG-MANUAL :clog))
|
|
|