+
The CLOG manual
+Table of Contents
+- 1 CLOG Getting Started
- 2 CLOG Programming Basics @@ -66,29 +60,41 @@
- 30 CLOG Helper Functions
- 31 CLOG Framework internals and extensions
[in package CLOG]
+The Common Lisp Omnificient GUI, CLOG for short, uses web technology to produce graphical user interfaces for applications locally or remotely. CLOG can take the place, or work along side, most cross platform GUI frameworks and website frameworks. The CLOG package starts up the connectivity to the browser or other websocket client (often a browser embedded in a native template application.)
+ ++
1 CLOG Getting Started
+CLOG - The Common Lisp Omnificent GUI
+David Botton mailto:david@botton.com
+License BSD 3-Clause License
+The Common Lisp Omnificent GUI, CLOG for short, uses web technology to produce graphical user interfaces for applications locally or remotely. CLOG can take the place, or work alongside, most cross-platform GUI frameworks and website frameworks. The CLOG package starts up the connectivity to the browser or other websocket client (often a browser embedded in a native template application.)
+STATUS: CLOG's API is mature and stable. Tools and new plugins always in the works. Check the github discussion boards for the latest.
+Some potential applications for CLOG:
+Cross-platform GUIs and Reports
Secure websites and complex interactive web applications
@@ -99,64 +105,91 @@ the works. Check the github discussion boards for the latest.
parallel programming techniques. (CLOG is a parallel GUI)
And the list goes on
The key to CLOG is the relationship it forms with a Browser window or Browser control compiled to native code. CLOG uses websockets for communications and the browser to render a GUI that maintains an active soft realtime connection. For most CLOG applications all programming logic, events and decisions are done on the server which can be local, or remote over the web.
+CLOG is developed on an M1 MacBook with ECL and SBCL, it is tested fairly regulary with SBCL on Linux, Windows and Intel MacBook. It should in theory work on any system with Quicklisp and CLACK.
+CLOG is in Quicklisp (ql:quickload :clog), but you may want to live on the bleeding edge and use Ultralisp or clone the github repo into your ~/common-lisp directory (or other quicklisp/asdf findable directory):
+cd ~/common-lisp
git clone https://github.com/rabbibotton/clog.git
+
To load this package and work through tutorials (assuming you have Quicklisp configured.)
+Note: If using portacle for Windows you will need to update Quicklisp use (ql:update-dist "quicklisp") You will also likely need to copy the sqlite3 dll from https://www.sqlite.org/download.html to portaclewinlib
+Start emacs then M-x slime
In the REPL, run:
CL-USER> (ql:quickload :clog)
CL-USER> (clog:run-tutorial 1)
+
Tip for Windows WSL linux user. Install "sudo apt install xdg-utils" to install xdg-open so that run-tutorial uses the windows browser.
+To see where the source, tutorial and demo files are:
+CL-USER> (clog:clog-install-dir)
+
You can the run the demos with:
+CL-USER> (ql:quickload :clog)
CL-USER> (clog:run-demo 1)
+
The clog-db-admin tool can be run with:
+CL-USER> (ql:quickload :clog/tools)
CL-USER> (clog-tools:clog-db-admin)
+
The clog-builder GUI Builder tool can be run with:
+CL-USER> (ql:quickload :clog/tools)
CL-USER> (clog-tools:clog-builder)
+
You can also open a "clog-repl" window in your browser to play from the common-lisp repl:
+CL-USER> (in-package clog-user)
CLOG-USER> (clog-repl)
CLOG-USER> (setf (background-color *body*) "beige")
CLOG-USER> (create-div *body* :content "Hello World!")
+
The clog-repl URL is http://127.0.0.1:8080/repl body will always refer to the
last access of that URL.
To open a browser with the CLOG manual:
+CL-USER> (clog:open-manual)
+
Work your way through the tutorials. You will see how quick and easy it is to be a CLOGer. The next section also covers the basic programming concepts needed for mastering CLOG.
+ ++
2 CLOG Programming Basics
+Prerequisites- You don't have to be an expert in Common Lisp but should know the basics
@@ -168,7 +201,9 @@ needed for mastering CLOG.
Simple REPL techniques Tutorial
We first need to load CLOG
+CL-USER> (ql:quickload :clog)
To load "clog":
Load 1 ASDF system:
@@ -176,7 +211,9 @@ To load "clog":
; Loading "clog"
................................................
(:CLOG)
+
Next, we tell clog to start a clog-repl:
+CL-USER> (clog:clog-repl)
Hunchentoot server is started.
Listening on 0.0.0.0:8080.
@@ -186,31 +223,46 @@ Boot file for path / : /debug.html
Use clog-user:*body* to access the clog-repl window.
NIL
+
At this point CLOG should open a browser window to http://127.0.0.1:8008/repl
+We can now enter the clog-user package and hack a way.
+CL-USER> (in-package clog-user)
#<"CLOG-USER" package>
CLOG-USER> (setf (background-color *body*) :red)
+
Something more than an empty lambda function is needed to do more. The tutorials are a good place to start with make CLOG apps in code, so here we are going to demonstrate the concepts using some REPL tricks to help developing CLOG apps in general.
+(From here on, we will leave out the prompts and responses in our quotes of code.)
+(create-div *body* :content "Hello World")
+
If you have the browser on the screen you will see the results immediately. Try this line and you can watch it happen:
+(dotimes (n 10) (create-div *body* :content (format nil "Line ~A - Hello World" n)) (sleep .3))
+
We can also set and respond to events and set properties etc:
+(let ((tmp (create-button *body* :content "Click Me")))
(set-on-click tmp (lambda (obj)(setf (hiddenp tmp) t))))
+
Since we already initialized CLOG let's use SET-ON-NEW-WINDOW to change our
on-new-window handler (handler is just a made up name for a function that
will handle an event).
CLOG-USER> (set-on-new-window (lambda (body) (create-div body :content "Hello World!")))
+
Now any new window opened will not be using CLOG REPL but instead will execute our handler.
+Important take aways to using CLOG from the REPL:
+You will need to pass to a global from the running system whatever you want to tinker with in the live system from the REPL.
@@ -219,15 +271,21 @@ you will need to use Similarily with all events, any time an event handler is recompiled or want to change the even hander, set-on-* function will need to be called.
SET-ON-NEW-WINDOW.
+
3 CLOG Event Data
+Some events in CLOG return in addition to the target event, event data. The data is passed in the second argument to the event handler as a property list. To retrieve the data use (getf data :property) the available properties (to use for :property) are based on the event type.
+Events in clog-base
+ :event-type :mouse
:x x relative to the target
:y y relative to the target
@@ -239,6 +297,13 @@ properties (to use for :property) are based on the event type.
:shift-key t or nil if shift-key held down
:meta-key t or nil if meta-key held down
+ :event-type :wheel
+ :delta-x change in x float
+ :delta-y change in y float
+ :delta-z change in z float
+ :delta-mode unit of measure used for delta values
+ 0 - pixel 1 - line 2 - page
+
:event-type :pointer
:x x relative to the target
:y y relative to the target
@@ -270,19 +335,27 @@ properties (to use for :property) are based on the event type.
:shift-key t or nil if shift-key held down
:meta-key t or nil if meta-key held down
+
Events in clog-window
+ :event-type :storage
:key local storage key that was updated (even in another window)
:old-value old key value
:value new key value
+
+
+
4 CLOG System
+CLOG Startup and Shutdown
+ +[function] INITIALIZE ON-NEW-WINDOW-HANDLER &REST REST &KEY (HOST "0.0.0.0") (PORT 8080) (SERVER
@@ -311,30 +384,38 @@ sent to the brower, this allows adding content for search engine optimization, see tutorial 12 for an example. If port is nil or 0 a random available port number is chosen.:HUNCHENTOOT) (LACK-MIDDLEWARE-LISTNIL) (EXTENDED-ROUTINGNIL) (LONG-POLL-FIRSTNIL) (BOOT-FILE "/boot.html") (BOOT-FUNCTIONNIL) (STATIC-BOOT-HTMLNIL) (STATIC-BOOT-JSNIL) (STATIC-ROOT (MERGE-PATHNAMES"./static-files/" (ASDF/SYSTEM:SYSTEM-SOURCE-DIRECTORY:CLOG))) (SSLNIL) (SSL-KEY-FILENIL) (SSL-CERT-FILENIL)
[variable] *STATIC-ROOT* NIL
Contains the static-root setting after initialization.
[variable] *CLOG-PORT* 8080
Port this instance of clog was started on
[variable] *CLOG-DEBUG* NIL
Set a debug hook that is called for every event with (event data) that must be (funcall event data).
[function] SET-ON-NEW-WINDOW ON-NEW-WINDOW-HANDLER &KEY (PATH "/") (BOOT-FILE "/boot.html")
@@ -344,55 +425,74 @@ is set to :default any path without another route and there is no static file matching the requested pathON-NEW-WINDOW-HANDLERandBOOT-FILEwill be used. IfBOOT-FILEis nil path is removed.
- [function] IS-RUNNING-P
[function] SHUTDOWN
Shutdown CLOG.
[function] DEBUG-MODE OBJ
Turn on browser console debugging for
OBJ's connection.
[function] OPEN-FILE-WITH-OS PATH
Open
PATHusing OS
[function] OPEN-BROWSER &KEY (URL (
FORMATNIL"http://127.0.0.1:~A"*CLOG-PORT*))Launch on os a web browser on local machine to
URL. SeeOPEN-WINDOWfor openning windows on remote machines.
+
5 CLOG Utilities
+Concurrent Hash Tables
+ +[function] MAKE-HASH-TABLE* &REST ARGS
Use native concurrent hash tables
Declerative Syntax Support
+ +[macro] WITH-CLOG-CREATE OBJ SPEC &BODY BODY
@@ -404,52 +504,68 @@ variable to any created clog object using :bind var. See tutorial 33 and 22 for examples. All create- symbols must be in or used by package.
CLOG ID utilities
+ +[function] GENERATE-ID
Generate unique ids for use in scripts.
[function] RANDOM-HEX-STRING
Generate cryptographic grade random ids for use in connections.
CLOG JS utilities
+ +[function] JS-TRUE-P VALUE
Return true if
VALUEequalp the string true
[function] P-TRUE-JS VALUE
Return "true" if
VALUEt
[function] JS-ON-P VALUE
Return true if
VALUEequalp the string on
[function] P-ON-JS VALUE
Return "on" if
VALUEt or return "off"
[function] ESCAPE-FOR-HTML VALUE
@@ -457,8 +573,10 @@ package.
particularly useful as #<> is used for unprintable objects in Lisp. Value is
converted with format to a string first.
[function] ESCAPE-STRING STR &KEY (NO-NIL
@@ -468,141 +586,186 @@ quotes are changed to html entities and n and r are eliminated. Escape string is used for wire readiness i.e. ability to be evaluated client side and not for security purposes or html escapes.NIL) (HTMLNIL)
[function] LF-TO-BR STR
Change line feeds to
.
[function] JS-TO-INTEGER VALUE &KEY (DEFAULT 0)
Returns two values first as an integer and second the original value
[function] JS-TO-FLOAT VALUE &KEY (DEFAULT 0.0d0)
Returns two values first as a float and second the original value
CLOG Color utilities
+ +[function] RGB RED GREEN BLUE
Return
RGBstring, red green and blue may be 0-255
[function] RGB-TO-HEX RGB
Return hex #rrggbb from rgb(red,green,blue)
[function] RGBA RED GREEN BLUE ALPHA
Return
RGBAstring, red green and blue may be 0-255, alpha 0.0 - 1.0
[function] HSL HUE SATURATION LIGHTNESS
Return
HSLstring, hue 0-360, saturation and lightness 0%-100%
[function] HSLA HUE SATURATION LIGHTNESS ALPHA
Return
HSLAstring, hue 0-360, saturation and lightness 0%-100%, alpha 0.0 - 1.0
CLOG Unit utilities
+ +[function] UNIT UNIT-TYPE VALUE
produce a string from numeric value with
UNIT-TYPEappended.
[function] UNIT* UNIT-TYPE VALUE
Returns value and if no unit was specified on value unit added unless value is empty string or nil.
+
6 CLOG Objects
+CLOG-Obj - Base class for CLOG Objects
+ +[class] CLOG-OBJ
CLOG objects (clog-obj) encapsulate the connection between lisp and an
HTMLDOM element.
[generic-function] PARENT CLOG-OBJ
Returns the clog-obj of the obj that was used as creation parent if was set or nil. This is not per se the parent in the DOM.
CLOG-Obj - General Properties
+ +[generic-function] PROPERTY CLOG-OBJ PROPERTY-NAME &KEY DEFAULT-ANSWER
Get/Setf html property.
CLOG-Obj - General Methods
+ +[generic-function] HEIGHT CLOG-OBJ
Get/Setf html height in pixels.
[generic-function] WIDTH CLOG-OBJ
Get/Setf html width in pixels.
[generic-function] FOCUS CLOG-OBJ
Focus on
CLOG-OBJ
[generic-function] BLUR CLOG-OBJ
Remove focus from
CLOG-OBJ
CLOG-Obj - Low Level
+ +[variable] *STORE-NEW-OBJECTS* NIL
@@ -610,8 +773,10 @@ parent if was set or nil. This is not per se the parent in the DOM.
create a connection-data-item keyed by the html-id. Any object stored
will not be garbage collected on the browser side or lisp side.
[generic-function] CONNECTION-DATA CLOG-OBJ
@@ -626,105 +791,134 @@ for internal use of clog. "clog-path" html path used, seeCONNECTION-PATH"clog-sync" mutex used for syncing events, seeCONNECTION-SYNC
[generic-function] CONNECTION-DATA-ITEM CLOG-OBJ ITEM-NAME
Get/Setf item-name from connection-data.
[generic-function] REMOVE-CONNECTION-DATA-ITEM CLOG-OBJ ITEM-NAME
Remove item-name from connection-data.
[generic-function] CONNECTION-BODY CLOG-OBJ
Get connection's clog-body.
[generic-function] CONNECTION-PATH CLOG-OBJ
Get the
HTMLpassed used to make the connection.
[generic-function] CONNECTION-SYNC CLOG-OBJ
Get connection's clog-sync for optional syncing events.
[macro] WITH-SYNC-EVENT (CLOG-OBJ) &BODY BODY
Place at start of event to serialize access to the event. All events in an application share per connection the same queue of serialized events.
[generic-function] VALIDP CLOG-OBJ
Returns true if connection is valid on this
CLOG-OBJ.
[macro] WITH-CONNECTION-CACHE (CLOG-OBJ) &BODY BODY
Caches writes to the connection-id of
CLOG-OBJuntil flushed withFLUSH-CONNECTION-CACHEor a query is made.
[function] FLUSH-CONNECTION-CACHE CLOG-OBJ
Flush connection cache if on
CLOG-OBJis located on.
CLOG-Obj - Internals for Extensions and Plugins
+ +[generic-function] HTML-ID CLOG-OBJ
Internal html-id of clog-obj. (Internal)
[generic-function] SCRIPT-ID CLOG-OBJ
Return the script id for
CLOG-OBJbased on the html-id set during attachment. (Private)
[generic-function] EXECUTE CLOG-OBJ METHOD
Execute the JavaScript
METHODonOBJ. ReturnsCLOG-OBJ. seeJQUERY-EXECUTE(Internal)
[generic-function] QUERY CLOG-OBJ METHOD &KEY DEFAULT-ANSWER
Execute the JavaScript query
METHODonOBJand return result or if time outDEFAULT-ANSWER. seeJQUERY-QUERY(Internal)
[generic-function] JS-EXECUTE CLOG-OBJ SCRIPT
@@ -732,24 +926,30 @@ result or if time outDEFAULT-ANSWER. see +[generic-function] JS-QUERY CLOG-OBJ SCRIPT &KEY DEFAULT-ANSWER
Execute JavaScript
SCRIPTon browser and return result.CLOG-OBJus used to obtain the connection the script should run on. (Internal)
[generic-function] SET-ON-EVENT CLOG-OBJ EVENT-NAME HANDLER &KEY CANCEL-EVENT ONE-TIME
Set a
HANDLERforEVENT-NAMEonCLOG-OBJ. If handler is nil unbind all event handlers. (Internal)
[generic-function] SET-ON-EVENT-WITH-DATA CLOG-OBJ EVENT-NAME HANDLER &KEY CANCEL-EVENT ONE-TIME
@@ -758,9 +958,12 @@ nil unbind all event handlers. (Internal)
option passed from javascript calling the jQuery custom event mechanism
.trigger('event_name', data) (Internal)
CLOG-Obj - Event Handling
+ +[generic-function] SET-ON-RESIZE CLOG-OBJ ON-RESIZE-HANDLER
@@ -769,112 +972,140 @@ is nil unbind the event. In most modern browser this only works on the clog-wind object, unless a ResizeObserver is put in place, so one is installed except for clog-window making this event functional.
[generic-function] SET-ON-FOCUS CLOG-OBJ ON-FOCUS-HANDLER
Set the
ON-FOCUS-HANDLERforCLOG-OBJ. IfON-FOCUS-HANDLERis nil unbind the event.
[generic-function] SET-ON-BLUR CLOG-OBJ ON-BLUR-HANDLER
Set the
ON-BLUR-HANDLERforCLOG-OBJ. IfON-BLUR-HANDLERis nil unbind the event.
[generic-function] SET-ON-CHANGE CLOG-OBJ ON-CHANGE-HANDLER
Set the
ON-CHANGE-HANDLERforCLOG-OBJ. IfON-CHANGE-HANDLERis nil unbind the event.
[generic-function] SET-ON-INPUT CLOG-OBJ ON-INPUT-HANDLER
Set the
ON-INPUT-HANDLERforCLOG-OBJ. IfON-INPUT-HANDLERis nil unbind the event.
[generic-function] SET-ON-DRAG-START CLOG-OBJ ON-DRAG-START-HANDLER &KEY DRAG-DATA DRAG-TYPE
Set the
ON-DRAG-START-HANDLERforCLOG-OBJ. IfON-DRAG-START-HANDLERis nil unbind the event.
[generic-function] SET-ON-DRAG CLOG-OBJ ON-DRAG-HANDLER
Set the
ON-DRAG-HANDLERforCLOG-OBJ. IfON-DRAG-HANDLERis nil unbind the event.
[generic-function] SET-ON-DRAG-END CLOG-OBJ ON-DRAG-END-HANDLER
Set the
ON-DRAG-END-HANDLERforCLOG-OBJ. IfON-DRAG-END-HANDLERis nil unbind the event.
[generic-function] SET-ON-DRAG-ENTER CLOG-OBJ ON-DRAG-ENTER-HANDLER
Set the
ON-DRAG-ENTER-HANDLERforCLOG-OBJ. IfON-DRAG-ENTER-HANDLERis nil unbind the event.
[generic-function] SET-ON-DRAG-LEAVE CLOG-OBJ ON-DRAG-LEAVE-HANDLER
Set the
ON-DRAG-LEAVE-HANDLERforCLOG-OBJ. IfON-DRAG-LEAVE-HANDLERis nil unbind the event.
[generic-function] SET-ON-DRAG-OVER CLOG-OBJ ON-DRAG-OVER-HANDLER
Set the
ON-DRAG-OVER-HANDLERforCLOG-OBJ. IfON-DRAG-OVER-HANDLERis nil unbind the event.
[generic-function] SET-ON-DROP CLOG-OBJ ON-DROP-HANDLER &KEY DRAG-TYPE
Set the
ON-DROP-HANDLERforCLOG-OBJ. IfON-DROP-HANDLERis nil unbind the event.
[generic-function] SET-ON-FOCUS-IN CLOG-OBJ ON-FOCUS-IN-HANDLER
Set the
ON-FOCUS-IN-HANDLERforCLOG-OBJ. IfON-FOCUS-IN-HANDLERis nil unbind the event.
[generic-function] SET-ON-FOCUS-OUT CLOG-OBJ ON-FOCUS-OUT-HANDLER
Set the
ON-FOCUS-OUT-HANDLERforCLOG-OBJ. IfON-FOCUS-OUT-HANDLERis nil unbind the event.
[generic-function] SET-ON-RESET CLOG-OBJ ON-RESET-HANDLER
@@ -882,24 +1113,30 @@ IfON-FOCUS-OUT-HANDLERis nil unbind the event.
is nil unbind the event. This event is activated by using reset on a form. If
this event is bound, you must call the form reset manually.
[generic-function] SET-ON-SEARCH CLOG-OBJ ON-SEARCH-HANDLER
Set the
ON-SEARCH-HANDLERforCLOG-OBJ. IfON-SEARCH-HANDLERis nil unbind the event.
[generic-function] SET-ON-SELECT CLOG-OBJ ON-SELECT-HANDLER
Set the
ON-SELECT-HANDLERforCLOG-OBJ. IfON-SELECT-HANDLERis nil unbind the event.
[generic-function] SET-ON-SUBMIT CLOG-OBJ ON-SUBMIT-HANDLER
@@ -908,16 +1145,20 @@ is nil unbind the event. This event is activated by using submit on a form. If this event is bound, you must call the (submit clog-form) manually if wish the form action to be run. See CLOG-FormSUBMITfor more details.
[generic-function] SET-ON-SELECT CLOG-OBJ ON-SELECT-HANDLER
Set the
ON-SELECT-HANDLERforCLOG-OBJ. IfON-SELECT-HANDLERis nil unbind the event.
[generic-function] SET-ON-CONTEXT-MENU CLOG-OBJ ON-CONTEXT-MENU-HANDLER &KEY ONE-TIME
@@ -926,8 +1167,10 @@ is nil unbind the event.
on-mouse-right-click will replace this handler. If
:ONE-TIME unbind
event on right click.
[generic-function] SET-ON-CLICK CLOG-OBJ ON-CLICK-HANDLER &KEY ONE-TIME CANCEL-EVENT
@@ -935,8 +1178,10 @@ event on right click.
is nil unbind the event. Setting this event will replace an on-mouse click if
set. If
:ONE-TIME unbind event on click.
[generic-function] SET-ON-DOUBLE-CLICK CLOG-OBJ ON-DOUBLE-CLICK-HANDLER &KEY ONE-TIME CANCEL-EVENT
@@ -944,8 +1189,10 @@ set. If:ONE-TIMEunbind event on click.
ON-DOUBLE-CLICK-HANDLER is nil unbind the event. Setting the
on-mouse-double-click event will replace this handler.
[generic-function] SET-ON-MOUSE-CLICK CLOG-OBJ ON-MOUSE-CLICK-HANDLER &KEY ONE-TIME CANCEL-EVENT
@@ -953,8 +1200,10 @@ on-mouse-double-click event will replace this handler.
ON-MOUSE-CLICK-HANDLER is nil unbind the event. Setting this event will replace
on an on-click event.
[generic-function] SET-ON-MOUSE-DOUBLE-CLICK CLOG-OBJ ON-MOUSE-DOUBLE-CLICK-HANDLER &KEY ONE-TIME CANCEL-EVENT
@@ -962,8 +1211,10 @@ on an on-click event.
ON-MOUSE-DOUBLE-CLICK-HANDLER is nil unbind the event. Setting this event will
replace on an on-double-click event.
[generic-function] SET-ON-MOUSE-RIGHT-CLICK CLOG-OBJ ON-MOUSE-RIGHT-CLICK-HANDLER &KEY ONE-TIME CANCEL-EVENT
@@ -971,40 +1222,50 @@ replace on an on-double-click event.
ON-MOUSE-RIGHT-CLICK-HANDLER is nil unbind the event. Setting this event will
replace on an on-context-menu event.
[generic-function] SET-ON-MOUSE-ENTER CLOG-OBJ ON-MOUSE-ENTER-HANDLER
Set the
ON-MOUSE-ENTER-HANDLERforCLOG-OBJ. IfON-MOUSE-ENTER-HANDLERis nil unbind the event.
[generic-function] SET-ON-MOUSE-LEAVE CLOG-OBJ ON-MOUSE-LEAVE-HANDLER
Set the
ON-MOUSE-LEAVE-HANDLERforCLOG-OBJ. IfON-MOUSE-LEAVE-HANDLERis nil unbind the event.
[generic-function] SET-ON-MOUSE-OVER CLOG-OBJ ON-MOUSE-OVER-HANDLER
Set the
ON-MOUSE-OVER-HANDLERforCLOG-OBJ. IfON-MOUSE-OVER-HANDLERis nil unbind the event.
[generic-function] SET-ON-MOUSE-OUT CLOG-OBJ ON-MOUSE-OUT-HANDLER
Set the
ON-MOUSE-OUT-HANDLERforCLOG-OBJ. IfON-MOUSE-OUT-HANDLERis nil unbind the event.
[generic-function] SET-ON-MOUSE-DOWN CLOG-OBJ ON-MOUSE-DOWN-HANDLER &KEY ONE-TIME CANCEL-EVENT
@@ -1012,56 +1273,80 @@ IfON-MOUSE-OUT-HANDLERis nil unbind the event.
ON-MOUSE-DOWN-HANDLER is nil unbind the event. If cancel-event is true event
does not bubble.
[generic-function] SET-ON-MOUSE-UP CLOG-OBJ ON-MOUSE-UP-HANDLER &KEY ONE-TIME CANCEL-EVENT
Set the
ON-MOUSE-UP-HANDLERforCLOG-OBJ. IfON-MOUSE-UP-HANDLERis nil unbind the event.
[generic-function] SET-ON-MOUSE-MOVE CLOG-OBJ ON-MOUSE-MOVE-HANDLER &KEY ONE-TIME CANCEL-EVENT
Set the
ON-MOUSE-MOVE-HANDLERforCLOG-OBJ. IfON-MOUSE-MOVE-HANDLERis nil unbind the event.
-
+
[generic-function] SET-ON-WHEEL CLOG-OBJ ON-WHEEL-HANDLER &KEY ONE-TIME CANCEL-EVENT
+ +Set the
ON-WHEEL-HANDLERforCLOG-OBJ. If +ON-WHEEL-HANDLERis nil unbind the event.
+
[generic-function] SET-ON-POINTER-ENTER CLOG-OBJ ON-POINTER-ENTER-HANDLER
Set the
ON-POINTER-ENTER-HANDLERforCLOG-OBJ. IfON-POINTER-ENTER-HANDLERis nil unbind the event.
[generic-function] SET-ON-POINTER-LEAVE CLOG-OBJ ON-POINTER-LEAVE-HANDLER
Set the
ON-POINTER-LEAVE-HANDLERforCLOG-OBJ. IfON-POINTER-LEAVE-HANDLERis nil unbind the event.
[generic-function] SET-ON-POINTER-OVER CLOG-OBJ ON-POINTER-OVER-HANDLER
Set the
ON-POINTER-OVER-HANDLERforCLOG-OBJ. IfON-POINTER-OVER-HANDLERis nil unbind the event.
[generic-function] SET-ON-POINTER-OUT CLOG-OBJ ON-POINTER-OUT-HANDLER
Set the
ON-POINTER-OUT-HANDLERforCLOG-OBJ. IfON-POINTER-OUT-HANDLERis nil unbind the event.
[generic-function] SET-ON-POINTER-DOWN CLOG-OBJ ON-POINTER-DOWN-HANDLER &KEY CAPTURE-POINTER ONE-TIME CANCEL-EVENT
@@ -1069,64 +1354,80 @@ IfON-POINTER-OUT-HANDLERis nil unbind the event.
ON-POINTER-DOWN-HANDLER is nil unbind the event. If cancel event is t the
even does not bubble.
[generic-function] SET-ON-POINTER-UP CLOG-OBJ ON-POINTER-UP-HANDLER &KEY ONE-TIME CANCEL-EVENT
Set the
ON-POINTER-UP-HANDLERforCLOG-OBJ. IfON-POINTER-UP-HANDLERis nil unbind the event.
[generic-function] SET-ON-POINTER-CANCEL CLOG-OBJ ON-POINTER-CANCEL-HANDLER &KEY ONE-TIME CANCEL-EVENT
Set the
ON-POINTER-CANCEL-HANDLERforCLOG-OBJ. IfON-POINTER-CANCEL-HANDLERis nil unbind the event.
[generic-function] SET-ON-POINTER-MOVE CLOG-OBJ ON-POINTER-MOVE-HANDLER &KEY ONE-TIME CANCEL-EVENT
Set the
ON-POINTER-MOVE-HANDLERforCLOG-OBJ. IfON-POINTER-MOVE-HANDLERis nil unbind the event.
[generic-function] SET-ON-TOUCH-START CLOG-OBJ ON-TOUCH-START-HANDLER &KEY ONE-TIME CANCEL-EVENT
Set the
ON-TOUCH-START-HANDLERforCLOG-OBJ. IfON-TOUCH-START-HANDLERis nil unbind the event.
[generic-function] SET-ON-TOUCH-MOVE CLOG-OBJ ON-TOUCH-MOVE-HANDLER &KEY ONE-TIME CANCEL-EVENT
Set the
ON-TOUCH-MOVE-HANDLERforCLOG-OBJ. IfON-TOUCH-MOVE-HANDLERis nil unbind the event.
[generic-function] SET-ON-TOUCH-END CLOG-OBJ ON-TOUCH-END-HANDLER &KEY ONE-TIME CANCEL-EVENT
Set the
ON-TOUCH-END-HANDLERforCLOG-OBJ. IfON-TOUCH-END-HANDLERis nil unbind the event.
[generic-function] SET-ON-TOUCH-CANCEL CLOG-OBJ ON-TOUCH-CANCEL-HANDLER
Set the
ON-TOUCH-CANCEL-HANDLERforCLOG-OBJ. IfON-TOUCH-CANCEL-HANDLERis nil unbind the event.
[generic-function] SET-ON-CHARACTER CLOG-OBJ ON-CHARACTER-HANDLER &KEY ONE-TIME DISABLE-DEFAULT
@@ -1135,8 +1436,10 @@ even does not bubble.
default key bindings in browser will not occur. Setting this event to
nil will unbind on-key-press also.
[generic-function] SET-ON-KEY-DOWN CLOG-OBJ ON-KEY-DOWN-HANDLER &KEY ONE-TIME DISABLE-DEFAULT
@@ -1144,70 +1447,91 @@ nil will unbind on-key-press also.
disable-default is t default key bindings in browser will not occur.
If
ON-KEY-DOWN-HANDLER is nil unbind the event.
[generic-function] SET-ON-KEY-UP CLOG-OBJ ON-KEY-UP-HANDLER &KEY ONE-TIME CANCEL-EVENT
Set the
ON-KEY-UP-HANDLERforCLOG-OBJ. IfON-KEY-UP-HANDLERis nil unbind the event.
[generic-function] SET-ON-KEY-PRESS CLOG-OBJ ON-KEY-PRESS-HANDLER &KEY ONE-TIME DISABLE-DEFAULT
Set the
ON-KEY-PRESS-HANDLERforCLOG-OBJ. IfON-KEY-PRESS-HANDLERis nil unbind the event.
[generic-function] SET-ON-COPY CLOG-OBJ ON-COPY-HANDLER
Set the
ON-COPY-HANDLERforCLOG-OBJ. IfON-COPY-HANDLERis nil unbind the event.
[generic-function] SET-ON-CUT CLOG-OBJ ON-CUT-HANDLER
Set the
ON-CUT-HANDLERforCLOG-OBJ. IfON-CUT-HANDLERis nil unbind the event.
[generic-function] SET-ON-PASTE CLOG-OBJ HANDLER
Set the ON-PASTE-HANDLER for
CLOG-OBJ. If ON-PASTE-HANDLER is nil unbind the event.
+
7 CLOG Elements
+CLOG-Element - Class for CLOG Elements
+ +[class] CLOG-ELEMENT CLOG-OBJ
CLOG Element Objects is the base class for all html element objects.
CLOG-Element - Low Level
+ +[generic-function] CREATE-ELEMENT CLOG-OBJ HTML-TAG &REST ALL-ARGS &KEY CONTENT CLOG-TYPE HTML-ID AUTO-PLACE &ALLOW-OTHER-KEYS
Create a new
CLOG-ELEMENTas child ofCLOG-OBJwith any possible tag and keywords.
[generic-function] CREATE-CHILD CLOG-OBJ HTML &KEY HTML-ID AUTO-PLACE CLOG-TYPE
@@ -1217,8 +1541,10 @@ as child ofCLOG-OBJand if:AUTO-PLACE(default t) pl will be generated. If auto-place is nil the object is stored in the connection-data and not subject to browser-gc requests.
[generic-function] ATTACH-AS-CHILD CLOG-OBJ HTML-ID &KEY CLOG-TYPE NEW-ID
@@ -1227,8 +1553,10 @@ attach an existing element withHTML-ID. TheHTML-IDm must be in DOM, ie placed or auto-placed. If new-id is true theHTML-IDafter attachment is changed to one unique to this session.
[generic-function] DESTROY-CHILDREN CLOG-ELEMENT
@@ -1236,88 +1564,115 @@ after attachment is changed to one unique to this session.
and run a
BROWSER-GC. See also clog-connect:*browser-gc-on-ping* if using this
often.
CLOG-Element - DOM Placement
+ +[generic-function] PLACE-AFTER CLOG-OBJ NEXT-OBJ
Places
NEXT-OBJafterCLOG-OBJin DOM
[generic-function] PLACE-BEFORE CLOG-OBJ NEXT-OBJ
Places
NEXT-OBJbeforeCLOG-OBJin DOM
[generic-function] PLACE-INSIDE-TOP-OF CLOG-OBJ NEXT-OBJ
Places
NEXT-OBJinside top ofCLOG-OBJin DOM
[generic-function] PLACE-INSIDE-BOTTOM-OF CLOG-OBJ NEXT-OBJ
Places
NEXT-OBJinside bottom ofCLOG-OBJin DOM
[generic-function] PLACE-TEXT-INSIDE-TOP-OF CLOG-OBJ TEXT
Places text inside top of
CLOG-OBJin DOM
[generic-function] PLACE-TEXT-INSIDE-BOTTOM-OF CLOG-OBJ TEXT
Places text inside bottom of
CLOG-OBJin DOM
CLOG-Element - General Properties
+ +[generic-function] STYLE CLOG-ELEMENT STYLE-NAME &KEY DEFAULT-ANSWER
Get/Setf css style.
[generic-function] SET-STYLES CLOG-ELEMENT STYLE-LIST
Set css styles using a list of lists of name value pairs.
[generic-function] ATTRIBUTE CLOG-ELEMENT ATTRIBUTE-NAME &KEY DEFAULT-ANSWER
Get/Setf html tag attribute. (eg. src on img tag)
[generic-function] REMOVE-ATTRIBUTE CLOG-ELEMENT ATTRIBUTE-NAME
Remove html tag attribute. (eg. src on img tag)
[generic-function] HAS-ATTRIBUTE CLOG-ELEMENT ATTRIBUTE-NAME
Returns t if
ATTRIBUTE-NAMEexists onCLOG-ELEMENT
CLOG-Element - Properties
+ +[generic-function] ACCESS-KEY CLOG-ELEMENT
@@ -1335,8 +1690,10 @@ Safari Alt N/A Control|Alt Opera 15+ Alt Alt Alt
[generic-function] ADVISORY-TITLE CLOG-ELEMENT
@@ -1344,8 +1701,10 @@ Opera 15+ Alt Alt Alt used for body and image maps but creates in forms and many elements a tool tip.
[generic-function] CSS-CLASS-NAME CLOG-ELEMENT
@@ -1353,16 +1712,20 @@ elements a tool tip.
seperated by
[generic-function] EDITABLEP CLOG-ELEMENT
Get/Setf editable. This will make almost any element with content editable, even non-form types in most browsers.
[generic-function] DRAGGABLEP CLOG-ELEMENT
@@ -1371,8 +1734,10 @@ in addition to Draggable being true the on-drag-start event must be bou as well to set the drag-text. To receive a drop, you need to bind on-drop. See clog-base.lisp
[generic-function] VISIBLEP CLOG-ELEMENT
@@ -1384,8 +1749,10 @@ Note: that each property, visiblep, hiddenp and display (None) all work but the property state. To check if an object is for sure not visible would require checking all three properties.
[generic-function] HIDDENP CLOG-ELEMENT
@@ -1394,8 +1761,10 @@ invisible, however unlike visiblep, hiddenp implies the element is semantically not relevant not just visually and will also remove it from layout similar to setting display (None).
[generic-function] INNER-HTML CLOG-ELEMENT
@@ -1407,24 +1776,30 @@ created through html writes or otherwise not assigned an ID by CLOG, they are lost forever. IfBROWSER-GCis called at any point, the elements will be destroyed from the browser and placement methods will no longer have an affect.
[generic-function] OUTER-HTML CLOG-ELEMENT
Get/Setf outer-html. Returns the
HTMLfor Element and all its contents
[generic-function] SPELLCHECKP CLOG-ELEMENT
Get/Setf spellcheckp. If true Element is subject to browser spell checking if Editable is also true.
[generic-function] TAB-INDEX CLOG-ELEMENT
@@ -1432,8 +1807,10 @@ spell checking if Editable is also true.
If 0 element in tab index. If >0 sets order in tab index.
Normally index follows normal sequence of elements.
[generic-function] TEXT CLOG-ELEMENT
@@ -1445,8 +1822,10 @@ Normally index follows normal sequence of elements.
Use
TEXT-VALUE for just the text associated
with [generic-function] TEXT-VALUE CLOG-ELEMENT
@@ -1457,59 +1836,75 @@ creating a div if you plan on storing and retrieving text start with some text or setf text first to insure the text node for the div exists.
- [type] TEXT-DIRECTION-TYPE
[generic-function] TEXT-DIRECTION CLOG-ELEMENT
Get/Setf BiDi text-direction.
[generic-function] LANGUAGE-CODE CLOG-ELEMENT
Get/Setf language-code.
[generic-function] POSITION-LEFT CLOG-ELEMENT
Position from left in pixels relative to Element's parent in the DOM.
[generic-function] POSITION-TOP CLOG-ELEMENT
Position from top in pixels relative to Element's parent in the DOM.
[generic-function] CLIENT-LEFT CLOG-ELEMENT
Get client-left. The width of the left border of an element in pixels. It does not include the margin or padding.
[generic-function] CLIENT-TOP CLOG-ELEMENT
Get client-top. The width of the top border of an element in pixels. It does not include the margin or padding.
[generic-function] CLIENT-WIDTH CLOG-ELEMENT
@@ -1517,8 +1912,10 @@ in pixels. It does not include the margin or padding.
CSS width + CSS padding - width of vertical scrollbar (if present)
Does not include the border or margin.
[generic-function] CLIENT-HEIGHT CLOG-ELEMENT
@@ -1526,83 +1923,106 @@ Does not include the border or margin.
CSS height + CSS padding - height of horizontal scrollbar (if present)
Does not include the border or margin.
[generic-function] OFFSET-LEFT CLOG-ELEMENT
Position in pixels from left relative to the document.
[generic-function] OFFSET-TOP CLOG-ELEMENT
Position in pixels from top relative to the document.
[generic-function] OFFSET-WIDTH CLOG-ELEMENT
Get offset-width. CSS width + CSS padding + width of vertical scrollbar (if present) + Border
[generic-function] OFFSET-HEIGHT CLOG-ELEMENT
Get offset-height. CSS height + CSS padding + height of horizontal scrollbar (if present) + Border
[generic-function] SCROLL-LEFT CLOG-ELEMENT
Get scroll-left. The number of pixels that an element's content is scrolled to the left. For RTL languages is negative.
[generic-function] SCROLL-TOP CLOG-ELEMENT
Get scroll-top. The number of pixels that an element's content has been scrolled upward.
[generic-function] SCROLL-WIDTH CLOG-ELEMENT
Get scroll-width. Either the width in pixels of the content of an element or the width of the element itself, whichever is greater.
[generic-function] SCROLL-HEIGHT CLOG-ELEMENT
Get scroll-height. Height of an element's content, including content not visible on the screen due to overflow.
[generic-function] HTML-TAG CLOG-ELEMENT
Get html-tag.
CLOG-Element - Styles
+ +- [type] BOX-SIZING-TYPE
[generic-function] BOX-SIZING CLOG-ELEMENT
@@ -1610,39 +2030,51 @@ content not visible on the screen due to overflow.
properteries represent just the content or the border, marging, padding,
scroll and conent area as a whole. The default is content-box
- [type] CLEAR-SIDE-TYPE
[generic-function] CLEAR-SIDE CLOG-ELEMENT
Get/Setf clear-side. When using 'float' for layout sets if the right or left side of block should be clear of any 'floated' Element.
- [type] FLOAT-WRAP-TYPE
[generic-function] FLOAT-WRAP CLOG-ELEMENT
Get/Setf for element float left or right and other elements wrap around it.
- [type] DISPLAY-TYPE
[generic-function] DISPLAY CLOG-ELEMENT
@@ -1725,161 +2157,207 @@ grid - Turn this item in to a grid container block level. The grid inline-grid - Turn this item in to a grid container inline level.
[generic-function] ORDER CLOG-ELEMENT
Get/Setf visual item order flexbox packing but not actual order in document or tab order etc.
[generic-function] FLEX CLOG-ELEMENT
Get item's flexbox relative grow, shrink, and basis
[generic-function] SET-FLEX CLOG-ELEMENT &KEY GROW SHRINK FLEX-BASIS
Set flex grow (default 0) shrink (default 1) and flex-basis (default :auto = use width or height) for
CLOG-ELEMENT
- [type] FLEX-WRAP-TYPE
[generic-function] FLEX-WRAP CLOG-ELEMENT
Get/Setf direction of flexbox packing.
- [type] FLEX-DIRECTION-TYPE
[generic-function] FLEX-DIRECTION CLOG-ELEMENT
Get/Setf direction of flexbox packing.
[generic-function] GRID-TEMPLATE CLOG-ELEMENT
Get/Setf grid-template.
[generic-function] GRID-TEMPLATE-COLUMNS CLOG-ELEMENT
Get/Setf grid-template-columns.
[generic-function] GRID-TEMPLATE-ROWS CLOG-ELEMENT
Get/Setf grid-template-rows.
[generic-function] GRID-TEMPLATE-AREAS CLOG-ELEMENT
Get/Setf grid-template-areas.
[generic-function] COLUMN-GAP CLOG-ELEMENT
Get/Setf column-gap.
[generic-function] ROW-GAP CLOG-ELEMENT
Get/Setf row-gap.
[generic-function] GRID-AUTO-COLUMNS CLOG-ELEMENT
Get/Setf grid-auto-columns.
[generic-function] GRID-AUTO-ROWS CLOG-ELEMENT
Get/Setf grid-auto-rows.
[generic-function] GRID-AUTO-FLOW CLOG-ELEMENT
Get/Setf grid-auto-flow.
[generic-function] GRID-COLUMN CLOG-ELEMENT
Get/Setf grid-column.
[generic-function] GRID-COLUMN-START CLOG-ELEMENT
Get/Setf grid-column-start.
[generic-function] GRID-COLUMN-END CLOG-ELEMENT
Get/Setf grid-column-end.
[generic-function] GRID-ROW CLOG-ELEMENT
Get/Setf grid-row.
[generic-function] GRID-ROW-START CLOG-ELEMENT
Get/Setf grid-row-start.
[generic-function] GRID-ROW-END CLOG-ELEMENT
Get/Setf grid-row-end.
[generic-function] GRID-AREA CLOG-ELEMENT
@@ -1888,122 +2366,160 @@ grid-row-start / grid-column-start / grid-row-end / grid-column-ende.g. 1 / 1 / 4 / 2
- [type] ALIGN-ITEMS-TYPE
[generic-function] ALIGN-ITEMS CLOG-ELEMENT
Get/Setf align items in a flexbox/grid on column axis.
- [type] ALIGN-SELF-TYPE
[generic-function] ALIGN-SELF CLOG-ELEMENT
Get/Setf override align-items for this item in a flexbox/grid.
- [type] ALIGN-CONTENT-TYPE
[generic-function] ALIGN-CONTENT CLOG-ELEMENT
Get/Setf align content wrapped inline of a flexbox on opposite sides of each other or grid on column axis.
- [type] JUSTIFY-ITEMS-TYPE
[generic-function] JUSTIFY-ITEMS CLOG-ELEMENT
Get/Setf justify items in a grid on row axis.
- [type] JUSTIFY-SELF-TYPE
[generic-function] JUSTIFY-SELF CLOG-ELEMENT
Get/Setf override align this item in grid on row axis.
- [type] JUSTIFY-CONTENT-TYPE
[generic-function] JUSTIFY-CONTENT CLOG-ELEMENT
Get/Setf justify content for items inline of a flexbox or grid on row access.
- [type] OVERFLOW-TYPE
[generic-function] OVERFLOW CLOG-ELEMENT
Get/Setf overflow. How to handle overflow of contents of an element's box. The default is visible - no clipping.
- [type] OVERFLOW-X-TYPE
[generic-function] OVERFLOW-X CLOG-ELEMENT
Get/Setf overflow-x. How to handle overflow of contents of an element's box for X. The default is Visible - no clipping.
- [type] OVERFLOW-Y-TYPE
[generic-function] OVERFLOW-Y CLOG-ELEMENT
Get/Setf overflow-y. How to handle overflow of contents of an element's box for Y. The default is Visible - no clipping.
[generic-function] Z-INDEX CLOG-ELEMENT
@@ -2011,26 +2527,34 @@ an element's box for Y. The default is Visible - no clipping.
Note: z-index only works on Elements with Position Type of absolute,
relative and fixed.
- [type] RESIZABLE-TYPE
[generic-function] RESIZABLE CLOG-ELEMENT
Get/Setf resizable. If overflow is not set to visible, resizeable sets if element can be resized by user.
- [type] POSITIONING-TYPE
[generic-function] POSITIONING CLOG-ELEMENT
@@ -2045,24 +2569,30 @@ right, top and bottom are interpreted. Relative - Position properties are relative to where the static position of the element would in the normal document flow.
[generic-function] POSITION-TOP CLOG-ELEMENT
Position from top in pixels relative to Element's parent in the DOM.
[generic-function] POSITION-LEFT CLOG-ELEMENT
Position from left in pixels relative to Element's parent in the DOM.
[generic-function] SET-GEOMETRY CLOG-ELEMENT &KEY LEFT TOP RIGHT BOTTOM WIDTH HEIGHT UNITS
@@ -2070,325 +2600,417 @@ parent in the DOM.
:WIDTH :HEIGHT each optional. If any measure is missing a unit,
UNITS (default :px) is used.
[generic-function] LEFT CLOG-ELEMENT
Get/Setf left (defaults to us :px units).
[generic-function] TOP CLOG-ELEMENT
Get/Setf top (defaults to use :px units).
[generic-function] RIGHT CLOG-ELEMENT
Get/Setf right (defaults to use :px units).
[generic-function] BOTTOM CLOG-ELEMENT
Get/Setf bottom (defaults to use :px units).
[generic-function] BOX-HEIGHT CLOG-ELEMENT
Get/Setf box-height. Height based on box sizing.
[generic-function] BOX-WIDTH CLOG-ELEMENT
Get/Setf box-width. Width based on box sizing.
[generic-function] MAXIMUM-HEIGHT CLOG-ELEMENT
Get/Setf maximum-height.
[generic-function] MAXIMUM-WIDTH CLOG-ELEMENT
Get/Setf maximum-width.
[generic-function] MINIMUM-HEIGHT CLOG-ELEMENT
Get/Setf minimum-height.
[generic-function] MINIMUM-WIDTH CLOG-ELEMENT
Get/Setf minimum-width.
[generic-function] INNER-HEIGHT CLOG-ELEMENT
Get/Setf inner-height. Includes padding but not border.
[generic-function] INNER-WIDTH CLOG-ELEMENT
Get/Setf inner-width. Includes padding but not border.
[generic-function] OUTER-HEIGHT CLOG-ELEMENT
Get outer-height. Includes padding and border but not margin.
[generic-function] OUTER-WIDTH CLOG-ELEMENT
Get outer-width. Includes padding and border but not margin.
[generic-function] OUTER-HEIGHT-TO-MARGIN CLOG-ELEMENT
Get outer-height-to-margin. Includes padding and border and margin.
[generic-function] OUTER-WIDTH-TO-MARGIN CLOG-ELEMENT
Get outer-width-to-margin. Includes padding and border and margin.
[generic-function] COLOR CLOG-ELEMENT
Get/Setf color.
[generic-function] OPACITY CLOG-ELEMENT
Get/Setf opacity.
- [type] BACKGROUND-ATTACHMENT-TYPE
[generic-function] BACKGROUND-ATTACHMENT CLOG-ELEMENT
Get/Setf background-attachment.
[generic-function] BACKGROUND-COLOR CLOG-ELEMENT
Get/Setf background-color.
[generic-function] BACKGROUND-IMAGE CLOG-ELEMENT
Get/Setf background-image url. proper syntax is 'url(...)' | nil to clear
[generic-function] BACKGROUND-POSITION CLOG-ELEMENT
Get/Setf background-position. combination of 2 - left/right/center/top/bottom | %x %y | x y
- [type] BACKGROUND-ORIGIN-TYPE
[generic-function] BACKGROUND-ORIGIN CLOG-ELEMENT
Get/Setf background-origin. Background position property is relative to origin of: padding-box|border-box|content-box
- [type] BACKGROUND-REPEAT-TYPE
[generic-function] BACKGROUND-REPEAT CLOG-ELEMENT
Get/Setf background-repeat. repeat-x | repeat-y | ( repeat | space | round | no-repeat ) {1,2}
- [type] BACKGROUND-CLIP-TYPE
[generic-function] BACKGROUND-CLIP CLOG-ELEMENT
Get/Setf background-clip. If an element's background extends underneath its border box, padding box, or content box.
[generic-function] BACKGROUND-SIZE CLOG-ELEMENT
Get/Setf background-size. auto | w h | % = cover of parent | contain
- [type] BORDER-STYLE-TYPE
[generic-function] BORDER CLOG-ELEMENT
Get border.
[generic-function] SET-BORDER CLOG-ELEMENT LINE-WIDTH BORDER-STYLE LINE-COLOR
Set border width style and color. line-width - size or medium|thin|thick|length|initial|inherit
[generic-function] BORDER-RADIUS CLOG-ELEMENT
Get/Setf border-radius.
[generic-function] BOX-SHADOW CLOG-ELEMENT
Get/Setf box-shadow.
[generic-function] TEXT-SHADOW CLOG-ELEMENT
Get/Setf text-shadow.
- [type] OUTLINE-STYLE-TYPE
[generic-function] OUTLINE CLOG-ELEMENT
Get outline.
[generic-function] SET-OUTLINE CLOG-ELEMENT LINE-COLOR OUTLINE-STYLE LINE-WIDTH
Set outline
line-width - size or medium|thin|thick|length|initial|inherit
[generic-function] MARGIN CLOG-ELEMENT
Get margin.
[generic-function] SET-MARGIN CLOG-ELEMENT TOP RIGHT BOTTOM LEFT
Set margins, Each can be -
|auto|initial|inherit
[generic-function] SET-MARGIN-SIDE CLOG-ELEMENT SIDE VALUE
Set margin
SIDE(:top :right :bottom or :left),VALUEcan be -|auto|initial|inherit
[generic-function] PADDING CLOG-ELEMENT
Get padding.
[generic-function] SET-PADDING CLOG-ELEMENT TOP RIGHT BOTTOM LEFT
Set padding. Each can be -
|initial|inherit
[generic-function] SET-PADDING-SIDE CLOG-ELEMENT SIDE VALUE
Set padding
SIDE(:top :right :bottom or :left),VALUEcan be -|auto|initial|inherit
[generic-function] CURSOR CLOG-ELEMENT
@@ -2398,114 +3020,149 @@ alternate cursor, e.g. 'url(url_to_image),auto' A list of standard cursor types can be found at: http://www.w3schools.com/cssref/pr_class_cursor.asp
- [type] FONT-STYLE-TYPE
- [type] FONT-VARIANT-TYPE
- [type] SYSTEM-FONT-TYPE
[generic-function] FONT CLOG-ELEMENT
Get/Setf font.
[generic-function] FONT-CSS VALUE
Get/Setf font raw css value
[generic-function] SET-FONT CLOG-ELEMENT FONT-STYLE FONT-VARIANT FONT-WEIGHT FONT-HEIGHT FONT-FAMILY
Set font.
- [type] TEXT-ALIGNMENT-TYPE
[generic-function] TEXT-ALIGNMENT CLOG-ELEMENT
Get/Setf text-alignment.
- [type] VERTICAL-ALIGN-TYPE
[generic-function] VERTICAL-ALIGN CLOG-ELEMENT
Get/Setf vertical-align in table cells or if display is set to :table-cell or for labels on form elements.
CLOG-Element - Methods
+ +[generic-function] ADD-CLASS CLOG-ELEMENT CSS-CLASS-NAME
add-class.
[generic-function] REMOVE-CLASS CLOG-ELEMENT CSS-CLASS-NAME
remove-class.
[generic-function] TOGGLE-CLASS CLOG-ELEMENT CSS-CLASS-NAME
toggle-class.
[generic-function] REMOVE-FROM-DOM CLOG-ELEMENT
Remove CLOG-Element from the DOM. If object is not stored in connection-data will become subject to browser-gc requests.
[generic-function] REMOVE-FROM-CLOG CLOG-ELEMENT
Remove CLOG-Element from the clog cache on browser.
[generic-function] DESTROY CLOG-ELEMENT
Remove CLOG-Element from the DOM on browser and clog cache on browser.
[generic-function] BROWSER-GC CLOG-ELEMENT
@@ -2515,15 +3172,19 @@ The main use is when clearing out large amounts of DOM objects not using CLOG destroy. Any object stored in the connection-data will not be garbage collected on the browser or Lisp side untilDESTROY.
[generic-function] CLICK CLOG-ELEMENT
simulate click.
[generic-function] REPLACE-ELEMENT CLOG-ELEMENT NEW-CLOG-ELEMENT
@@ -2532,8 +3193,10 @@ but not destroyed andNEW-CLOG-ELEMENTwill replace it in same locaDESTROYCLOG-ELEMENTif need to clear from browser memory. ReturnsCLOG-ELEMENT
[generic-function] REPLACE-CHILDREN CLOG-ELEMENT NEW-CLOG-ELEMENT
@@ -2542,17 +3205,22 @@ but not destroyed andNEW-CLOG-ELEMENTwill be placed inCLOGDESTROYCLOG-ELEMENTif need to clear from browser memory. ReturnsCLOG-ELEMENT
[generic-function] SWAP-ELEMENT-BY-ID HTML-ID CLOG-ELEMENT
Replace an existing element on page with
HTML-IDwithCLOG-ELEMENTand setCLOG-ELEMENTto html-id. ReturnsCLOG-ELEMENT
CLOG-Element - DOM Traversal Methods
+ +[generic-function] PARENT-ELEMENT CLOG-ELEMENT
@@ -2560,8 +3228,10 @@ ReturnsCLOG-ELEMENT
CLOG-ELEMENT. In most cases use PARENT, this creates an alias lisp object
used for DOM tree walking or other throw away purposes.
[generic-function] FIRST-CHILD CLOG-ELEMENT &KEY NO-ATTACH
@@ -2569,8 +3239,10 @@ used for DOM tree walking or other throw away purposes.
html id than Element_Type will have an ID of undefined and therefore attached
to no actual
HTML element.
[generic-function] PREVIOUS-SIBLING CLOG-ELEMENT &KEY NO-ATTACH
@@ -2578,8 +3250,10 @@ to no actualHTMLelement.
If Child does not have an html id than Element_Type will have an ID of
undefined and therefore attached to no actual
HTML elemen.
[generic-function] NEXT-SIBLING CLOG-ELEMENT &KEY NO-ATTACH
@@ -2587,8 +3261,10 @@ undefined and therefore attached to no actualHTMLelemen.
html id than Element_Type will have an ID of undefined and therefore attached
to no actual
HTML element.
[generic-function] LIST-OF-CHILDREN CLOG-ELEMENT &KEY NO-ATTACH
@@ -2597,20 +3273,28 @@ is t they are only functional if there previously was an attach or was created by CLOG, i.e. if just walking the DOM of existing clog-objects these are like pointers.
+
8 Common CLOG Elements
+CLOG-A - Class for CLOG Anchors
[class] CLOG-A CLOG-ELEMENT
CLOG A, anchor, Objects.
[generic-function] CREATE-A CLOG-OBJ &KEY LINK CONTENT TARGET STYLE HIDDEN CLASS HTML-ID AUTO-PLACE DOWNLOAD
@@ -2624,53 +3308,69 @@ place-inside-bottom-ofCLOG-OBJ. _parent = parent frame or window _self = current frame or window
[generic-function] LINK CLOG-A
Get/Setf the HREF link of the anchor.
[generic-function] TARGET CLOG-A
Get/Setf the link target of the anchor.
[generic-function] DOWNLOAD CLOG-A
Get/Setf the download name of the anchor.
CLOG-BR - Class for CLOG Line Breaks
[class] CLOG-BR CLOG-ELEMENT
CLOG BR Objects for line breaks.
[generic-function] CREATE-BR CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new
CLOG-BRas child ofCLOG-OBJthat creates a line break and if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-BUTTON - Class for CLOG Buttons
[class] CLOG-BUTTON CLOG-ELEMENT
CLOG Button Objects.
[generic-function] CREATE-BUTTON CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2678,23 +3378,30 @@ line break and if:AUTO-PLACE(default t) place-inside-bottom-of:AUTO-PLACE (default t) place-inside-bottom-of CLOG-OBJ
[generic-function] DISABLEDP CLOG-FORM-ELEMENT
Get/Setf form element disabledp.
CLOG-IMG - Class for CLOG Images
[class] CLOG-IMG CLOG-ELEMENT
CLOG Img Objects.
[generic-function] CREATE-IMG CLOG-OBJ &KEY URL-SRC ALT-TEXT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2703,23 +3410,30 @@ line break and if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ. Use width and height properties before placing image to constrain image size.
[generic-function] URL-SRC CLOG-FORM-ELEMENT
Get/Setf the url-src of the img.
CLOG-Div - Class for CLOG Div Blocks
+ +[class] CLOG-DIV CLOG-ELEMENT
CLOG Div Objects.
[generic-function] CREATE-DIV CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2727,16 +3441,21 @@ placing image to constrain image size.
(default "") and if
:AUTO-PLACE (default t) place-inside-bottom-of
CLOG-OBJ. If hidden is true visiblep is set to nil.
CLOG-Dialog - Class for CLOG Dialog Blocks
+ +[class] CLOG-DIALOG CLOG-ELEMENT
CLOG Dialog Objects.
[generic-function] CREATE-DIALOG CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2745,44 +3464,57 @@ placing image to constrain image size.
CLOG-OBJ. If hidden is true visiblep is set to nil. Modal does not work on
firefox and dialog does not work at all on IE.
[generic-function] RETURN-VALUE CLOG-DIALOG
Get/Setf return-value of dialog.
[generic-function] DIALOG-OPENP CLOG-DIALOG
Get/Setf dialog-openp. Will show dialog
[generic-function] SHOW-DIALOG CLOG-DIALOG &KEY MODAL
-Close dialog.
+
Show dialog.
[generic-function] CLOSE-DIALOG CLOG-DIALOG
Close dialog.
CLOG-Details - Class for CLOG Detail Blocks
+ +[class] CLOG-DETAILS CLOG-ELEMENT
CLOG Details Objects.
[generic-function] CREATE-DETAILS CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2790,23 +3522,30 @@ firefox and dialog does not work at all on IE.
(default "") and if
:AUTO-PLACE (default t) place-inside-bottom-of
CLOG-OBJ. If hidden is true visiblep is set to nil.
[generic-function] DETAILS-OPENP CLOG-DETAILS
Get/Setf details-openp. Will show details
CLOG-Summary - Class for CLOG Summary Blocks
+ +[class] CLOG-SUMMARY CLOG-ELEMENT
CLOG Summary Objects.
[generic-function] CREATE-SUMMARY CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2815,16 +3554,21 @@ firefox and dialog does not work at all on IE.
CLOG-OBJ. If hidden is true visiblep is set to nil. Use inside a CLOG-DETAILS
object for drop reveal.
CLOG-HR - Class for CLOG Hortizontal Rules
[class] CLOG-HR CLOG-ELEMENT
CLOG HR Objects for horizontal rules.
[generic-function] CREATE-HR CLOG-OBJ &KEY HIDDEN STYLE CLASS HTML-ID AUTO-PLACE
@@ -2832,16 +3576,21 @@ object for drop reveal.
horizontal rule (line) and if
:AUTO-PLACE (default t) place-inside-bottom-of
CLOG-OBJ
CLOG-Meter - Class for CLOG Meters
+ +[class] CLOG-METER CLOG-ELEMENT
CLOG Meter Objects.
[generic-function] CREATE-METER CLOG-OBJ &KEY VALUE HIGH LOW MAXIMUM MINIMUM OPTIMUM STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2850,8 +3599,10 @@ horizontal rule (line) and if:AUTO-PLACE(default t) place-inside- (default 0)OPTIMUM(default 50) and if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ.
[generic-function] VALUE CLOG-FORM-ELEMENT
@@ -2859,51 +3610,66 @@ place-inside-bottom-ofCLOG-OBJ.
Form element values are not accessible through the Text property but
instead through the value property.
[generic-function] HIGH CLOG-METER
Get/Setf the high of the meter.
[generic-function] LOW CLOG-METER
Get/Setf the low of the meter.
[generic-function] MINIMUM CLOG-FORM-ELEMENT
Get/Setf form element minimum.
[generic-function] MAXIMUM CLOG-FORM-ELEMENT
Get/Setf form element maximum.
[generic-function] OPTIMUM CLOG-METER
Get/Setf the optimum of the meter.
CLOG-Progress-Bar - Class for CLOG Progress Bars
+ +[class] CLOG-PROGRESS-BAR CLOG-ELEMENT
CLOG Progress-Bar Objects.
[generic-function] CREATE-PROGRESS-BAR CLOG-OBJ &KEY VALUE MAXIMUM STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2911,8 +3677,10 @@ instead through the value property.
VALUE (default 0) MAXIMUM (default 100) and if :AUTO-PLACE (default t)
place-inside-bottom-of CLOG-OBJ.
[generic-function] VALUE CLOG-FORM-ELEMENT
@@ -2920,23 +3688,30 @@ place-inside-bottom-ofCLOG-OBJ.
Form element values are not accessible through the Text property but
instead through the value property.
[generic-function] MAXIMUM CLOG-FORM-ELEMENT
Get/Setf form element maximum.
CLOG-P - Class for CLOG Paragraphs
[class] CLOG-P CLOG-ELEMENT
CLOG P Objects.
[generic-function] CREATE-P CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2944,16 +3719,21 @@ instead through the value property.
(default "") and if
:AUTO-PLACE (default t) place-inside-bottom-of
CLOG-OBJ
CLOG-Span - Class for CLOG Inline Spans
+ +[class] CLOG-SPAN CLOG-ELEMENT
CLOG Span Objects.
[generic-function] CREATE-SPAN CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2962,21 +3742,28 @@ and if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OB an inline element while a div is a block element (one that takes up the entire browser width).
CLOG-Section - Class for CLOG Inline Sections
+ +- [type] SECTION-TYPE
[class] CLOG-SECTION CLOG-ELEMENT
CLOG Section Objects.
[generic-function] CREATE-SECTION CLOG-OBJ SECTION &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -2989,21 +3776,28 @@ browser width).
:p :pre :section :blockquote :h1 :h2 :h3 :h4 :h5 :h6
:hgroup
CLOG-Phrase - Class for CLOG Inline Phrases
- [type] PHRASE-TYPE
[class] CLOG-PHRASE CLOG-ELEMENT
CLOG Phrase Objects.
[generic-function] CREATE-PHRASE CLOG-OBJ PHRASE &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -3016,29 +3810,38 @@ browser width).
:marked :del :ins :s :q :big :small :time :tt :cite
:i :b :u :sub :su :center
CLOG-Ordered-List - Class for CLOG Ordered-Lists
+ +[class] CLOG-ORDERED-LIST CLOG-ELEMENT
CLOG Ordered-List Objects.
[generic-function] CREATE-ORDERED-LIST CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Ordered-List as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
- [type] LIST-KIND-TYPE
[generic-function] LIST-KIND CLOG-ORDERED-LIST
@@ -3052,340 +3855,447 @@ and if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OB :lower-latin :lower-roman :none :square :upper-alpha :upper-latin :upper-roman
- [type] LIST-LOCATION-TYPE
[generic-function] LIST-LOCATION CLOG-ORDERED-LIST
Get/Setf list list-location (:inside or :outside). Default is outside.
CLOG-Unordered-List - Class for CLOG Unordered-Lists
+ +[class] CLOG-UNORDERED-LIST CLOG-ELEMENT
CLOG Unordered-List Objects.
[generic-function] CREATE-UNORDERED-LIST CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Unordered-List as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-List-Item - Class for CLOG List-Items
+ +[class] CLOG-LIST-ITEM CLOG-ELEMENT
CLOG List-Item Objects.
[generic-function] CREATE-LIST-ITEM CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-List-Item as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
[generic-function] ITEM-VALUE CLOG-LIST-ITEM
Get/Setf list item-value.
CLOG-Definition-List - Class for CLOG Definition-Lists
+ +[class] CLOG-DEFINITION-LIST CLOG-ELEMENT
CLOG Definition-List Objects.
[generic-function] CREATE-DEFINITION-LIST CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Definition-List as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Term - Class for CLOG Terms
+ +[class] CLOG-TERM CLOG-ELEMENT
CLOG Term Objects.
[generic-function] CREATE-TERM CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Term as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Description - Class for CLOG Descriptions
+ +[class] CLOG-DESCRIPTION CLOG-ELEMENT
CLOG Description Objects.
[generic-function] CREATE-DESCRIPTION CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Description as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table - Class for CLOG Tables
+ +[class] CLOG-TABLE CLOG-ELEMENT
CLOG Table Objects.
[generic-function] CREATE-TABLE CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table-Row - Class for CLOG Table-Rows
+ +[class] CLOG-TABLE-ROW CLOG-ELEMENT
CLOG Table-Row Objects.
[generic-function] CREATE-TABLE-ROW CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table-Row as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table-Column - Class for CLOG Table-Columns
+ +[class] CLOG-TABLE-COLUMN CLOG-TABLE-ROW
CLOG Table-Column Objects.
[generic-function] CREATE-TABLE-COLUMN CLOG-OBJ &KEY CONTENT COLUMN-SPAN ROW-SPAN STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table-Column as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table-Heading - Class for CLOG Table-Headings
+ +[class] CLOG-TABLE-HEADING CLOG-TABLE-ROW
CLOG Table-Heading Objects.
[generic-function] CREATE-TABLE-HEADING CLOG-OBJ &KEY CONTENT COLUMN-SPAN ROW-SPAN STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table-Heading as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table-Head - Class for CLOG Table-Heads
+ +[class] CLOG-TABLE-HEAD CLOG-TABLE
CLOG Table-Head Objects.
[generic-function] CREATE-TABLE-HEAD CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table-Head as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table-Body - Class for CLOG Table-Bodys
+ +[class] CLOG-TABLE-BODY CLOG-TABLE
CLOG Table-Body Objects.
[generic-function] CREATE-TABLE-BODY CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table-Body as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table-Caption - Class for CLOG Table-Captions
+ +[class] CLOG-TABLE-CAPTION CLOG-TABLE
CLOG Table-Caption Objects.
[generic-function] CREATE-TABLE-CAPTION CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table-Caption as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table-Footer - Class for CLOG Table-Footers
+ +[class] CLOG-TABLE-FOOTER CLOG-TABLE
CLOG Table-Footer Objects.
[generic-function] CREATE-TABLE-FOOTER CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table-Footer as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table-Column-Group - Class for CLOG Table-Column-Groups
+ +[class] CLOG-TABLE-COLUMN-GROUP CLOG-TABLE
CLOG Table-Column-Group Objects.
[generic-function] CREATE-TABLE-COLUMN-GROUP CLOG-OBJ &KEY STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table-Column-Group as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
CLOG-Table-Column-Group-Item - Class for CLOG Table-Column-Group-Items
+ +[class] CLOG-TABLE-COLUMN-GROUP-ITEM CLOG-TABLE-COLUMN-GROUP
CLOG Table-Column-Group-Item Objects.
[generic-function] CREATE-TABLE-COLUMN-GROUP-ITEM CLOG-OBJ &KEY COLUMN-SPAN STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new CLOG-Table-Column-Group-Item as child of
CLOG-OBJand if:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ
+
9 CLOG Presentations
+CLOG-Presentations - CLOG bindings to Lisp Objects
[macro] LINK-SLOT-AND-FORM-ELEMENT OBJECT ACCESSOR CLOG-OBJ &KEY (SET-EVENT #'
SET-ON-CHANGE) TRANSFORM-TO-LISP TRANSFORM-TO-ELEMENTBiderectional link slot (
ACCESSOROBJECT) <> clog-form-element (CLOG-OBJ)
[macro] LINK-SLOT-AND-ELEMENT OBJECT ACCESSOR CLOG-OBJ &KEY (SET-EVENT #'
SET-ON-CHANGE) TRANSFORM-TO-LISP TRANSFORM-TO-ELEMENTBiderectional link slot (
ACCESSOROBJECT) <> clog-element (CLOG-OBJ)
[macro] LINK-FORM-ELEMENT-TO-SLOT CLOG-OBJ OBJECT ACCESSOR &KEY (SET-EVENT #'
SET-ON-CHANGE) TRANSFORMLink changes to (value
CLOG-OBJ) to (ACESSOROBJECT) onSET-EVENTwithTRANSFORM
[macro] LINK-ELEMENT-TO-SLOT CLOG-OBJ OBJECT ACCESSOR &KEY (SET-EVENT #'
SET-ON-CHANGE) TRANSFORMLink changes to (text
CLOG-OBJ) to (ACESSOROBJECT) onSET-EVENTwithTRANSFORM
[macro] LINK-ELEMENT-TO-PLACE CLOG-OBJ PROPERTY PLACE &KEY (SET-EVENT #'
SET-ON-CHANGE) TRANSFORMLink changes to (
PROPERTYCLOG-OBJ) to any lispPLACEonSET-EVENTwithTRANSFORM
[macro] LINK-SLOT-TO-FORM-ELEMENT OBJECT ACCESSOR CLOG-OBJ &KEY TRANSFORM
Link changes to lisp (
ACCESSOROBJECT) to (valueCLOG-OBJ). Only one element can be bound at a time to a lisp object.
[macro] LINK-SLOT-TO-ELEMENT OBJECT ACCESSOR CLOG-OBJ &KEY TRANSFORM
Link changes to lisp (
ACCESSOROBJECT) to (textCLOG-OBJ). Only one element can be bound at a time to a lisp object.
[macro] LINK-SLOT-TO-PLACE OBJECT ACCESSOR PLACE &KEY TRANSFORM
Link changes to lisp (
ACCESSOROBJECT) toPLACE. Only onePLACEcan be bound at a time to a lisp object.
+
10 CLOG Data
+Load and Write to objects and CLOG-Elements
+ +[function] DATA-LOAD-PLIST OBJ PLIST &KEY (ROW-ID-NAME
@@ -3396,8 +4306,10 @@ the name of a slot it is ignored. The key is coverted to a string and upper cased before attempting to match it to a slot ifNIL) (UPCASE-KEYT):UPCASE-KEYt (default). If:ROW-ID-NAMEis set returns that fields value.
[function] DATA-WRITE-LIST OBJ SLOT-NAME-LIST &KEY (UPCASE-KEY
@@ -3407,8 +4319,10 @@ value. Slot names may be symbols, keywords or text (and will be upcased before looking up symbol ifT):UPCASE-KEYt). All slot-names must be bound.
[function] DATA-WRITE-PLIST OBJ SLOT-NAME-LIST &KEY (UPCASE-KEY
@@ -3423,31 +4337,41 @@ slot-name does not exist it is left out of returned plist. IfT) (KEYS-AS-KEYWORDST):KEYS-AS-KEYWORDSt (default) then the keys will be symbols in the keyword package.
SQL Timestamp by Engine
[variable] *MYSQL-TIMESTAMP* "unix_timestamp()"
Function used by mysql to retrieve the time from the epoch
[variable] *SQLITE-TIMESTAMP* "strftime('%s')"
Function used by sqlite to retrieve the time from the epoch
[variable] *POSTGRESQL-TIMESTAMP* "extract(epoch from now())"
Function used by postgresql to retrieve the time from the epoch
SQL Writing Helpers
[function] SQL-QUOTE VALUE
@@ -3455,8 +4379,10 @@ keyword package.
unless is the single character '?'. If value is a list the car is returned
unquoted
[function] SQL-FIELD-LIST FIELD-LIST &KEY QUOTE-ALL FOR-INSERT
@@ -3465,16 +4391,20 @@ insert field lists. Use a cons (realname asname) to rename fields for selects, if:FOR-INSERTt then the realname is used. Symbols are stringified first. If:QUOTE-ALLt then all fields are in quotes.
[function] SQL-VALUE-LIST VALUE-LIST
Given list of values each passed to
SQL-QUOTEreturns a string for use in aSQLinsert value list.
[function] SQL-UPDATE-LIST PLIST
@@ -3482,48 +4412,64 @@ use in aSQLinsert value list.
returns a string for use in a
SQL update. if the 'key' is a cons the
first 'key' used.
[function] SQL-SELECT TABLE FIELD-LIST &KEY WHERE ORDER-BY LIMIT
Build basic sql select statement
[function] SQL-INSERT TABLE FIELD-LIST VALUE-LIST
Build basic sql insert statement
[function] SQL-INSERT* TABLE PLIST
Build basic sql insert statement using a plist
[function] SQL-UPDATE TABLE PLIST WHERE
Build basic sql update statement
+
11 CLOG DBI
+CLOG-Database - CLOG Database Connection
+ +[class] CLOG-DATABASE CLOG-ELEMENT
Connection to database.
[generic-function] CREATE-DATABASE CLOG-OBJ &KEY HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -3532,22 +4478,28 @@ CLOG-Builder. If not using builder use to connect: (dbi:connect (database-connection clog-obj) ...) or if a connection exists assign it to the database-connecton.
[generic-function] DATABASE-CONNECTION CLOG-DATABASE
Accessor to the database handle
[class] CLOG-ONE-ROW CLOG-ELEMENT
Manipulate one row of a table at a time on panel.
[generic-function] SET-ON-FETCH CLOG-ONE-ROW ON-FETCH-HANDLER
@@ -3558,16 +4510,20 @@ data-load-plist is called that will use the value of (last-fetch clog-one-row). Calculated fields, transformations to field values, etc. can be done in on-fetch as new-row will block until on-fetch returns.
[generic-function] SET-MASTER-ONE-ROW CLOG-ONE-ROW MASTER-ONE-ROW SLOT-NAME
Set
CLOG-ONE-ROWto get-row setting a while-clause to follow slot-name of panel whenMASTER-ONE-ROWcalls next-row.
[generic-function] CREATE-ONE-ROW CLOG-OBJ &KEY CLOG-DATABASE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -3575,60 +4531,82 @@ to follow slot-name of panel whenMASTER-ONE-ROWcalls next-row.CLOG-DATABASE it is used as database source unless:CLOG-DATABASEis set.
[generic-function] CLOG-DATABASE CLOG-OBJ
Access to the
CLOG-DATABASE
- [generic-function] TABLE-NAME OBJECT
- [generic-function] WHERE-CLAUSE OBJECT
- [generic-function] ORDER-BY OBJECT
- [generic-function] LIMIT OBJECT
- [generic-function] ROW-ID-NAME OBJECT
- [generic-function] ROWID OBJECT
- [generic-function] TABLE-COLUMNS OBJECT
- [generic-function] LAST-FETCH OBJECT
- [generic-function] LAST-SQL OBJECT
[generic-function] QUERY-ROW CLOG-ONE-ROW PANEL SQL
@@ -3636,8 +4614,10 @@ of type-ofCLOG-DATABASEit is used as database source unlessSQL. row-id-name is required for updates. AllPANELitems or custom slots on panel will be set usingDATA-LOAD-PLIST.
[generic-function] GET-ROW CLOG-ONE-ROW PANEL
@@ -3646,8 +4626,10 @@ slots on panel will be set using PANEL items or custom slots on panel will be set usingDATA-LOAD-PLIST.
[generic-function] NEXT-ROW CLOG-ONE-ROW PANEL
@@ -3655,8 +4637,10 @@ be set usingDATA-LOAD-PLIST.
[generic-function] INSERT-ROW CLOG-ONE-ROW PANEL
@@ -3664,8 +4648,10 @@ usingDATA-WRITE-PLISTis used to extract data fromPANELitems and custom slots.
[generic-function] UPDATE-ROW CLOG-ONE-ROW PANEL
@@ -3674,62 +4660,80 @@ used to extract data fromPANELitems and custom slots.
row-id-name is required. All
PANEL items or custom rows
on panel will be retrieved from PANEL using DATA-WRITE-PLIST.
[generic-function] CLEAR-ROW CLOG-ONE-ROW PANEL
Clear current rowid and all fields in
PANELusingDATA-WRITE-PLISTbased on table-columns.
[generic-function] DELETE-ROW CLOG-ONE-ROW PANEL
Delete a row from a database table based on current rowid and then call
CLEAR-ROW
[class] CLOG-LOOKUP CLOG-ONE-ROW CLOG-SELECT
CLOG Table Lookup Object
[generic-function] CREATE-LOOKUP CLOG-OBJ &KEY NAME MULTIPLE LABEL CLASS HTML-ID CLOG-DATABASE
Create a new clog-lookup as child of
CLOG-OBJ.
- [generic-function] VALUE-FIELD OBJECT
- [generic-function] OPTION-FIELD OBJECT
[class] CLOG-DB-TABLE CLOG-ONE-ROW CLOG-TABLE
CLOG Database Table View Object
[generic-function] CREATE-DB-TABLE CLOG-OBJ &KEY CLOG-DATABASE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new clog-db-table as child of
CLOG-OBJ.
[generic-function] SET-ON-HEADER CLOG-DB-TABLE ON-HEADER-HANDLER
@@ -3737,8 +4741,10 @@ current rowid and then call +[generic-function] SET-ON-FOOTER CLOG-DB-TABLE ON-FOOTER-HANDLER
@@ -3746,8 +4752,10 @@ after the table is cleared to all adding a header information to the table.< is nil unbind the event. The on-footer event is called after all rows are output after the table is cleared for adding footer information to the table.
[generic-function] SET-ON-ROW CLOG-DB-TABLE ON-ROW-HANDLER
@@ -3756,8 +4764,10 @@ is nil unbind the event. The on-row event is called for each row. The row handle is passed also the clog-table-row object before the columns are added in second parameter to handler.
[generic-function] SET-ON-COLUMN CLOG-DB-TABLE ON-COLUMN-HANDLER
@@ -3766,20 +4776,28 @@ is nil unbind the event. The on-column event is called for each column as added the current row being processsed. It is passed also the keyworld symbol name of the column and the clog-table-column object.
+
12 CLOG Panels
+
+ +CLOG-Panel - CLOG Panels[class] CLOG-PANEL CLOG-ELEMENT
CLOG Panel objects.
[generic-function] CREATE-PANEL CLOG-OBJ &KEY LEFT TOP RIGHT BOTTOM WIDTH HEIGHT UNITS MARGIN-LEFT MARGIN-TOP MARGIN-RIGHT MARGIN-BOTTOM BORDER-STYLE BORDER-WIDTH BORDER-COLOR BACKGROUND-COLOR POSITIONING OVERFLOW RESIZABLE CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE DISPLAY
@@ -3795,16 +4813,21 @@ default builder panels are:STATIC) (see +[class] CLOG-PANEL-BOX CLOG-ELEMENT
CLOG Panel-Box Objects.
[generic-function] CREATE-PANEL-BOX CLOG-OBJ &KEY WIDTH HEIGHT HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -3813,23 +4836,30 @@ nil. Resizable only works if overflow is set to:SCROLL
(default t) place-inside-bottom-of
CLOG-OBJ. If hidden is true visiblep is set to nil.
[generic-function] PANEL-BOX CLOG-PANEL-BOX
Returns the
CLOG-PANEL-BOX-LAYOUTobject contained in theCLOG-PANEL-BOX.
CLOG-Panel-Box-Layout
+ +[class] CLOG-PANEL-BOX-LAYOUT
CLOG Panel Box Layout Objects.
[generic-function] ENVELOPE-PANEL CLOG-ELEMENT PANEL WIDTH HEIGHT &KEY CLASS STYLE UNITS
@@ -3839,16 +4869,20 @@ This allows any type of clog-panel (including those created by CLOG Builder, to be positioned within aDISPLAY:flex or :grid layout or otherwise treat the panel as an inline object. Returns the new envelope ofPANEL
[generic-function] ENVELOPE-PANEL* PANEL WIDTH HEIGHT &KEY CLASS STYLE UNITS
Like envelope panel, but usses the panels parent as the parent of the envelope. Returns the new envelope of
PANEL
[generic-function] CENTER-CHILDREN CLOG-ELEMENT &KEY VERTICAL HORIZONTAL
@@ -3864,8 +4898,10 @@ create a div at top:0 left:0 and size the div to be the boundaries of your panel to be centered, then set the positioning on the panel to :relative. Add all controls as child of that div.
[function] CREATE-PANEL-BOX-LAYOUT CLOG-OBJ &KEY (TOP-HEIGHT 50) (LEFT-WIDTH 50) (BOTTOM-HEIGHT 50) (RIGHT-WIDTH 50) (UNITS "px") (HTML-ID
@@ -3873,131 +4909,175 @@ Add all controls as child of that div.NIL)
HTML-IDif set is the base and top,left,right,center, bottom are added e.g. if:HTML-ID"myid" then theHTML-IDfor center will be: myid-center
[generic-function] CENTER-PANEL CLOG-PANEL-BOX-LAYOUT
Returns the center panel of a clog-panel-box-layout object.
[generic-function] TOP-PANEL CLOG-PANEL-BOX-LAYOUT
Returns the top panel of a clog-panel-box-layout object.
[generic-function] LEFT-PANEL CLOG-PANEL-BOX-LAYOUT
Returns the left panel of a clog-panel-box-layout object.
- [generic-function] RIGHT-PANEL OBJECT
[generic-function] BOTTOM-PANEL CLOG-PANEL-BOX-LAYOUT
Returns the bottom panel of a clog-panel-box-layout object.
[generic-function] FIT-LAYOUT CLOG-PANEL-BOX-LAYOUT
Recalculate layout based on size of outer panel content
+
13 CLOG Tree
+CLOG-Tree - CLOG Trees
+ + + +- [generic-function] CREATE-CLOG-TREE OBJ &KEY CONTENT INDENT-LEVEL NODE-HTML ON-CONTEXT-MENU FILL-FUNCTION VISIBLE STYLE CLASS HTML-ID AUTO-PLACE
[generic-function] TREE-ROOT CLOG-TREE
Accessor for clog-tree root, create clog-tree-items on the tree-root or other clog-tree's.
[generic-function] TOGGLE-TREE CLOG-TREE
Toggle state of tree node
[generic-function] TOGGLE-STATE CLOG-TREE
True if node is open.
[generic-function] INDENT-LEVEL CLOG-TREE
Accessor for clog-tree root, create clog-tree-items on the tree-root or other clog-tree's.
- [generic-function] CONTENT OBJECT
[class] CLOG-TREE-ITEM CLOG-DIV
CLOG-tree-item object - a tree list item
- [generic-function] CREATE-CLOG-TREE-ITEM OBJ &KEY CONTENT INDENT-LEVEL NODE-HTML ON-CLICK ON-CONTEXT-MENU STYLE CLASS HTML-ID AUTO-PLACE
[generic-function] TREE-ITEM CLOG-TREE-ITEM
Accessor for clog-tree-item item.
+
14 CLOG Style Blocks
+CLOG-Style-Block - CLOG Style Blocks
+ +[class] CLOG-STYLE-BLOCK CLOG-ELEMENT
CLOG style-blocks for applying css styles.
[generic-function] CREATE-STYLE-BLOCK CLOG-OBJ &KEY CONTENT MEDIA HTML-ID AUTO-PLACE
@@ -4008,8 +5088,10 @@ defaulting to all. To load CSS style sheets from files seeTEXTmethod to access blocks content.
[generic-function] ADD-STYLE CLOG-STYLE-BLOCK SELECTOR-TYPE SELECTOR STYLE-ALIST
@@ -4017,27 +5099,37 @@ clog-document. The add-style method can be used or can directly use the selector. For example: (add-style :element "a" '(("text-decoration" :none)))
+
15 CLOG Form Objects
+CLOG-Form-Data
+ +[generic-function] FORM-GET-DATA CLOG-OBJ
Get the form data as an a-list sent by the get method
[generic-function] FORM-POST-DATA CLOG-OBJ
Get the form data as an a-list sent by post method
[generic-function] FORM-MULTIPART-DATA CLOG-OBJ
@@ -4046,35 +5138,46 @@ method used in file uploads. +[generic-function] DELETE-MULTIPART-DATA CLOG-OBJ
Delete the multipart data upload
[function] FORM-DATA-ITEM FORM-DATA ITEM
Return value for
ITEMfrom FROM-DATA a-list
CLOG-Form - Class for organizing Form Elements in to a From
+ +- [type] FORM-METHOD-TYPE
[class] CLOG-FORM CLOG-ELEMENT
CLOG Form Objecs is the base class for all html forms.
[generic-function] CREATE-FORM CLOG-OBJ &KEY ACTION METHOD TARGET ENCODING STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
@@ -4088,36 +5191,46 @@ set an on-submit handler or call (submit :ENCODING is application/x-www-form-urlencoded if doing file upload use multipart/form-data
[generic-function] FORM-ELEMENT-COUNT CLOG-FORM
Get form element count.
[generic-function] SUBMIT CLOG-FORM
Submit form.
[generic-function] RESET CLOG-FORM
Reset form.
[generic-function] AUTOCOMPLETEP CLOG-FORM
Get/Setf form autocompletep.
[generic-function] ENCODING CLOG-FORM
@@ -4126,59 +5239,78 @@ application/x-www-form-urlencoded multipart/form-data text/plain
[generic-function] VALIDATE-ON-SUBMIT CLOG-FORM
Get/Setf form validate-on-submit.
CLOG-Fieldset - Class for CLOG Fieldsets
+ +[class] CLOG-FIELDSET CLOG-ELEMENT
CLOG Form Element Fieldset Object
[generic-function] CREATE-FIELDSET CLOG-OBJ &KEY LEGEND HIDDEN STYLE CLASS HTML-ID AUTO-PLACE
Create a new clog-fieldset as child of
CLOG-OBJ.
CLOG-Legend - Class for CLOG Legends
+ +[class] CLOG-LEGEND CLOG-ELEMENT
CLOG Fieldset Legend Object
[generic-function] CREATE-LEGEND CLOG-OBJ &KEY CONTENT STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new clog-legend as child of
CLOG-OBJ.
CLOG-Form-Element - Class for form elements
+ +[class] CLOG-FORM-ELEMENT CLOG-ELEMENT
CLOG Form Element Object is the base class for all form elements.
- [type] FORM-ELEMENT-TYPE
[generic-function] CREATE-FORM-ELEMENT CLOG-OBJ ELEMENT-TYPE &REST ARGS &KEY NAME LABEL CLASS STYLE HIDDEN HTML-ID AUTO-PLACE &ALLOW-OTHER-KEYS
@@ -4188,58 +5320,74 @@ clog-form in the DOM. The radioELEMENT-TYPEgroups byNAME. Additional keys will be added to the input tag as attribute/value pairs in the form attr= 'value'
[generic-function] AUTOCOMPLETE CLOG-FORM-ELEMENT
Get/Setf form element autocomplete.
[generic-function] AUTOFOCUSP CLOG-FORM-ELEMENT
Get/Setf form element autofocusp. Only one element should have this set true ever. Autofocus on element when form loaded.
[generic-function] PLACE-HOLDER CLOG-FORM-ELEMENT
Get/Setf form element place holder.
[generic-function] DISABLEDP CLOG-FORM-ELEMENT
Get/Setf form element disabledp.
[generic-function] READ-ONLY-P CLOG-FORM-ELEMENT
Get/Setf form element read-only-p.
[generic-function] REQUIREDP CLOG-FORM-ELEMENT
Get/Setf form element requiredp.
[generic-function] MULTIPLEP CLOG-FORM-ELEMENT
Get/Setf form element multiplep.
[generic-function] NAME CLOG-FORM-ELEMENT
@@ -4249,8 +5397,10 @@ the data returned from the element will be named in the submit to a server. For example if Name is My_Field aGETrequest could look like http://localhost:8080?My_Field=xxxx
[generic-function] DEFAULT-VALUE CLOG-FORM-ELEMENT
@@ -4258,8 +5408,10 @@ http://localhost:8080?My_Field=xxxx
If the form is reset the value will be set to default value
If Value is set at time of creation it also sets it as the Default_Value
[generic-function] VALUE CLOG-FORM-ELEMENT
@@ -4267,47 +5419,59 @@ If Value is set at time of creation it also sets it as the Default_Value
[generic-function] RADIO-VALUE CLOG-OBJ NAME
Returns the value of the selected radio button in a group called
NAME.
[generic-function] CHECKBOX-VALUE CLOG-OBJ NAME
Returns t or nil on the selected checkbox button.
[generic-function] SELECT-VALUE CLOG-OBJ NAME
Returns the value of select item called
NAMEand must be unique name on entire document.
[generic-function] TEXTAREA-VALUE CLOG-OBJ NAME
Returns the value of textarea item called
NAMEand must be unique name on entire document.
[generic-function] NAME-VALUE CLOG-OBJ NAME
Returns the value of input item called
NAMEand must be unique name on entire document.
[generic-function] PATTERN CLOG-FORM-ELEMENT
@@ -4319,43 +5483,55 @@ In cases where a specific input type is not supported like (date, week, etc.) Pattern can be set to ensure the expected results. This works since Input type will fall back to a text input.
[generic-function] MINIMUM CLOG-FORM-ELEMENT
Get/Setf form element minimum.
[generic-function] MAXIMUM CLOG-FORM-ELEMENT
Get/Setf form element maximum.
[generic-function] SIZE CLOG-FORM-ELEMENT
Get/Setf form element size.
[generic-function] ELEMENT-STEP CLOG-FORM-ELEMENT
Get/Setf form element step.
[generic-function] SELECT CLOG-FORM-ELEMENT
Select and highlight the contents of element.
[generic-function] FILE-ACCEPT CLOG-FORM-ELEMENT
@@ -4363,960 +5539,1250 @@ This works since Input type will fall back to a text input.
the File form element type.
example: (setf (file-accept obj) "image/png, image/jpeg")
[generic-function] URL-SRC CLOG-FORM-ELEMENT
Get/Setf the url-src of the img.
[generic-function] ALT-TEXT CLOG-FORM-ELEMENT
Get/Setf the alt-text of the img.
[generic-function] CHECKEDP CLOG-FORM-ELEMENT
Get/Setf form element checkedp.
- [type] INPUT-MODE-TYPE
[generic-function] INPUT-MODE CLOG-FORM-ELEMENT
Get/Setf hint the input-mode of an element for virtual keyboards.
[generic-function] SET-DATA-LIST CLOG-FORM-ELEMENT DATA-LIST
Set the option data list to use for this element.
[generic-function] MAKE-DATA-LIST CLOG-FORM-ELEMENT DATA
Set the option data list to use for this element.
[generic-function] MINIMUM-LENGTH CLOG-FORM-ELEMENT
Get/Setf form element minimum-length.
[generic-function] MAXIMUM-LENGTH CLOG-FORM-ELEMENT
Get/Setf form element maximum-length.
CLOG-Label - Class for CLOG Labels
+ +[class] CLOG-LABEL CLOG-ELEMENT
CLOG Form Element Label Object
[generic-function] CREATE-LABEL CLOG-OBJ &KEY CONTENT STYLE HIDDEN LABEL-FOR CLASS HTML-ID AUTO-PLACE
Create a new clog-label as child of
CLOG-OBJ.
[generic-function] LABEL-FOR CLOG-LABEL ELEMENT
Set label is for
ELEMENT.
CLOG-Select - Class for CLOG Selects
+ +[class] CLOG-SELECT CLOG-FORM-ELEMENT
CLOG Form Element Select Options Object
[generic-function] CREATE-SELECT CLOG-OBJ &KEY NAME MULTIPLE LABEL STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new clog-select as child of
CLOG-OBJ. UseSIZEand set to greater than 1 for select to act as a listbox.
[class] CLOG-OPTION CLOG-FORM-ELEMENT
CLOG Form Element Option for CLOG Select Object or CLOG Data-List objects.
[generic-function] CREATE-OPTION CLOG-OBJ &KEY CONTENT VALUE SELECTED DISABLED STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new clog-option as child of
CLOG-OBJ.
[class] CLOG-OPTGROUP CLOG-FORM-ELEMENT
CLOG Form Element Optgroup for CLOG Select Object
[generic-function] CREATE-OPTGROUP CLOG-OBJ &KEY CONTENT DISABLED STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new clog-optgroup as child of
CLOG-OBJ.
[generic-function] SELECTEDP CLOG-FORM-ELEMENT
Get/Setf form element selectedp.
[generic-function] ADD-SELECT-OPTION CLOG-SELECT VALUE CONTENT &KEY SELECTED DISABLED
Add option
VALUEto select. Returns the option element
[generic-function] ADD-SELECT-OPTIONS CLOG-SELECT CONTENT
Add group of options to select.
[generic-function] ADD-SELECT-OPTGROUP CLOG-SELECT CONTENT
Add option
VALUEto select.
[generic-function] SELECT-TEXT CLOG-OBJ
Get/Setf the text of selected item.
CLOG-Data-List - Class for CLOG Option Data Lists
+ +[class] CLOG-DATA-LIST CLOG-ELEMENT
CLOG Form Element Data-List Options Object
[generic-function] CREATE-DATA-LIST CLOG-OBJ &KEY DATA-LIST HTML-ID AUTO-PLACE
Create a new clog-data-list as child of
CLOG-OBJand optionally fill in with contents of data-list.
[generic-function] ADD-OPTION CLOG-DATA-LIST VALUE
Add option
VALUEto data-list.
[generic-function] ADD-OPTIONS CLOG-DATA-LIST DATA-LIST
Add option
VALUEto data-list.
CLOG-Text-Area - Class for CLOG Text Areas
+ +[class] CLOG-TEXT-AREA CLOG-FORM-ELEMENT
CLOG Form Element Text-Area Object
[generic-function] CREATE-TEXT-AREA CLOG-OBJ &KEY COLUMNS ROWS NAME VALUE LABEL STYLE HIDDEN CLASS HTML-ID AUTO-PLACE
Create a new clog-text-area as child of
CLOG-OBJ.
[generic-function] WORD-WRAP CLOG-TEXT-AREA
Get/Setf form element word-wrap.
[generic-function] COLUMNS CLOG-TEXT-AREA
Get/Setf form element columns.
[generic-function] ROWS CLOG-TEXT-AREA
Get/Setf form element rows.
[generic-function] DISABLE-RESIZE CLOG-TEXT-AREA
Disable resize of text area.
+
16 CLOG Canvas Objects
+CLOG-Canvas - Class for CLOG canvas objects
+ +[class] CLOG-CANVAS CLOG-ELEMENT
CLOG Canvas Objects.
[generic-function] CREATE-CANVAS CLOG-OBJ &KEY WIDTH HEIGHT CLASS HIDDEN HTML-ID AUTO-PLACE
Create a new CLOG-Canvas as child of
CLOG-OBJif:AUTO-PLACE(default t) place-inside-bottom-ofCLOG-OBJ.
- [class] CLOG-CONTEXT2D CLOG-OBJ
[generic-function] CREATE-CONTEXT2D CLOG-CANVAS
Create a new CLOG-Context2d from a CLOG-Canvas
CLOG-Canvas - Properties
+ +[generic-function] FILL-STYLE CLOG-CONTEXT2D
Setf/get property fill style
[generic-function] CANVAS-FILTER CLOG-CONTEXT2D
Setf/get filter dsl - See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/filter
[generic-function] FONT-STYLE CLOG-CONTEXT2D
Setf/get font using css font string https://developer.mozilla.org/en-US/docs/Web/CSS/font
[generic-function] GLOBAL-ALPHA CLOG-CONTEXT2D
Setf/get global alpha
[generic-function] GLOBAL-COMPOSITE-OPERATION CLOG-CONTEXT2D
Setf/get composite blend mode - https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
[generic-function] IMAGE-SMOOTHING-ENABLED CLOG-CONTEXT2D
Setf/get text shadow blur
[generic-function] IMAGE-SMOOTHING-QUALITY CLOG-CONTEXT2D
Setf/get text shadow blur
[generic-function] LINE-CAP CLOG-CONTEXT2D
Setf/get line cap style
[generic-function] LINE-DASH-OFFSET CLOG-CONTEXT2D
Setf/get miter style limit
[generic-function] LINE-JOIN CLOG-CONTEXT2D
Setf/get line join style
[generic-function] LINE-WIDTH CLOG-CONTEXT2D
Set line style width
[generic-function] MITER-LIMIT CLOG-CONTEXT2D
Setf/get miter style limit
[generic-function] SHADOW-BLUR CLOG-CONTEXT2D
Setf/get text shadow blur
[generic-function] SHADOW-COLOR CLOG-CONTEXT2D
Setf/get text shadow color
[generic-function] SHADOW-OFFSET-X CLOG-CONTEXT2D
Setf/get text shadow offset x
[generic-function] SHADOW-OFFSET-Y CLOG-CONTEXT2D
Setf/get text shadow offset y
[generic-function] STROKE-STYLE CLOG-CONTEXT2D
Setf/get text stroke style
- [type] TEXT-ALIGN-TYPE
[generic-function] TEXT-ALIGN CLOG-CONTEXT2D
Setf/get text alignment style
- [type] TEXT-BASELINE-TYPE
[generic-function] TEXT-BASELINE CLOG-CONTEXT2D
Set text baseline style
[generic-function] TEXT-DIR CLOG-CONTEXT2D
Setf/get text direction style
CLOG-Canvas - Methods
+ +[generic-function] ARC CLOG-CONTEXT2D X Y RADIUS START-ANGLE END-ANGLE &KEY ANTICLOCKWISE
Adds a circular arc to the current path.
[generic-function] ARC-TO CLOG-CONTEXT2D X1 Y1 X2 Y2
Adds an arc to the current path.
[generic-function] BEGIN-PATH CLOG-CONTEXT2D
Starts a new path empting any previous points.
[generic-function] BEZIER-CURVE-TO CLOG-CONTEXT2D CP1X CP1Y CP2X CP2Y X Y
Adds a cubic Bezier curve to the current path.
[generic-function] CLEAR-RECT CLOG-CONTEXT2D X Y WIDTH HEIGHT
Clear rectangle to transparent black
[generic-function] PATH-CLIP CLOG-CONTEXT2D &KEY PATH2D FILL-RULE
Clip a path.
[generic-function] CLOSE-PATH CLOG-CONTEXT2D
Adds a line to start point of path.
[generic-function] CREATE-IMAGE-DATA CLOG-CONTEXT2D WIDTH HEIGHT
Create blank image data
[generic-function] CREATE-CONIC-GRADIENT CLOG-CONTEXT2D START-ANGLE X Y
Create conic gradient
[generic-function] CREATE-LINEAR-GRADIENT CLOG-CONTEXT2D X0 Y0 X1 Y1
Create linear gradient
[generic-function] CREATE-RADIAL-GRADIENT CLOG-CONTEXT2D X0 Y0 R0 X1 Y1 R1
Create radial gradient
[generic-function] CREATE-PATTERN CLOG-CONTEXT2D CLOG-OBJ REPETITION
Create pattern
[generic-function] DRAW-IMAGE CLOG-CONTEXT2D CLOG-OBJ DX DY &KEY DWIDTH DHEIGHT
Draw image at dx dy optionally dwidth and dheight
[generic-function] DRAW-IMAGE-FROM-TO CLOG-CONTEXT2D CLOG-OBJ SX SY SWIDTH SHEIGHT DX DY DWIDTH DHEIGHT
Draw image at sx sy swidth sheight to dx dy dwidth dheight
[generic-function] ELLIPSE CLOG-CONTEXT2D X Y RADIUS-X RADIUS-Y ROTATION START-ANGLE END-ANGLE &KEY ANTICLOCKWISE
Adds an elliptical arc to the current path.
[generic-function] PATH-FILL CLOG-CONTEXT2D &KEY PATH2D FILL-RULE
Fill a path.
[generic-function] FILL-RECT CLOG-CONTEXT2D X Y WIDTH HEIGHT
Fill rectangle with current fill-color
[generic-function] FILL-TEXT CLOG-CONTEXT2D TEXT X Y &KEY MAX-WIDTH
Fill text with current fill-color
[generic-function] GET-IMAGE-DATA CLOG-CONTEXT2D SX SY SW SH
Get image data from clog-context2d. Returns a
CLOG-IMAGE-DATA
[generic-function] GET-LINE-DASH CLOG-CONTEXT2D
Set line style dash pattern, e.g. 10, 20
[generic-function] GET-TRANSFORM CLOG-CONTEXT2D
Get current transform matrix as clog-matrix
[generic-function] IS-POINT-IN-PATH CLOG-CONTEXT2D X Y &KEY PATH2D FILL-RULE
Returns t if point is in path or
PATH2Dif specfified
[generic-function] IS-POINT-IN-STROKE CLOG-CONTEXT2D X Y &KEY PATH2D
Returns t if point is in stroke or
PATH2Dif specfified
[generic-function] LINE-TO CLOG-CONTEXT2D X Y
Adds a line to the current path.
[generic-function] MEASURE-TEXT CLOG-CONTEXT2D TEXT
Measure text returns a clog-text-metrics object
[generic-function] MOVE-TO CLOG-CONTEXT2D X Y
Moves start point of path.
[generic-function] PUT-IMAGE-DATA CLOG-CONTEXT2D IMAGE-DATA X Y
Put image-data at x y
[generic-function] PUT-IMAGE-DATA-DIRTY CLOG-CONTEXT2D IMAGE-DATA X Y DX DY DWIDTH DHEIGHT
Put portion of image-data at x y
[generic-function] QUADRATIC-CURVE-TO CLOG-CONTEXT2D CPX CPY X Y
Adds a quadratic Bezier curve to the current path.
[generic-function] RECT CLOG-CONTEXT2D X Y WIDTH HEIGHT
Adds a rectangle to the current path.
[generic-function] RESET-TRANSFORM CLOG-CONTEXT2D
Restore canvas from stack
[generic-function] CANVAS-RESTORE CLOG-CONTEXT2D
Restore canvas from stack
[generic-function] ROTATE CLOG-MATRIX ANGLE
Return rotate a clog-matrix
[generic-function] CANVAS-SAVE CLOG-CONTEXT2D
Save canvas to stack
[generic-function] SCALE CLOG-CONTEXT2D X Y
Scale
[generic-function] SET-LINE-DASH CLOG-CONTEXT2D VALUE
Set line style dash pattern, e.g. 10, 20
[generic-function] SET-TRANSFORM CLOG-CONTEXT2D A B C D E F G
Set-Transform
[generic-function] SET-TRANSFORM-WITH-MATRIX CLOG-CONTEXT2D CLOG-MATRIX
Set-Transform-With-Matrix
[generic-function] PATH-STROKE CLOG-CONTEXT2D &KEY PATH2D
Stroke a path.
[generic-function] STROKE-RECT CLOG-CONTEXT2D X Y WIDTH HEIGHT
Fill rectangle using current stroke-style
[generic-function] STROKE-TEXT CLOG-CONTEXT2D TEXT X Y &KEY MAX-WIDTH
Stroke text with current stroke-style
[generic-function] TRANSFORM CLOG-CONTEXT2D A B C D E F
Transform
[generic-function] TRANSLATE CLOG-CONTEXT2D X Y
Translate
CLOG-Canvas-Gradient
+ +- [class] CLOG-CANVAS-GRADIENT CLOG-OBJ
[generic-function] ADD-COLOR-STOP CLOG-CANVAS-GRADIENT OFFSET COLOR
Add a color stop
CLOG-Image-Data
+ +- [class] CLOG-IMAGE-DATA CLOG-OBJ
[generic-function] JSON-IMAGE-DATA CLOG-IMAGE-DATA
Setf/get json image data
CLOG-Matrix
+ +- [class] CLOG-MATRIX CLOG-OBJ
[generic-function] CREATE-MATRIX CLOG-CANVAS &KEY MATRIX
Create a new CLOG-Matrix.
MATRIXcan be json array 6 element for 2d or 16 for 3d.
[generic-function] FLIP-X CLOG-MATRIX
Return flip-x a clog-matrix
[generic-function] FLIP-Y CLOG-MATRIX
Return flip-y a clog-matrix
[generic-function] INVERSE CLOG-MATRIX
Return inverse a clog-matrix
[generic-function] MULTIPLY CLOG-MATRIX BY-MATRIX
Return multiply a clog-matrix
[generic-function] ROTATE CLOG-MATRIX ANGLE
Return rotate a clog-matrix
[generic-function] SCALE-MATRIX CLOG-MATRIX SX &OPTIONAL SY SZ OX OY OZ
Return scale a clog-matrix by sx and optionally to sy sz ox oy oz
[generic-function] SCALE3D CLOG-MATRIX SX &OPTIONAL SY SZ OX OY OZ
Return scale3d a clog-matrix by sx and optionally to sy sz ox oy oz
[generic-function] TRANSLATE-MATRIX CLOG-MATRIX X Y &OPTIONAL Z
Return translate-matrix a clog-matrix by x y and optionally z
CLOG-Path2d
- [class] CLOG-PATH2D CLOG-OBJ
[generic-function] CREATE-PATH2D CLOG-CANVAS &KEY PATH2D
Create a new
CLOG-Path2d. IfCLOG-PATH2Dcreates a copy.
CLOG-Text-Metrics
+ +- [class] CLOG-TEXT-METRICS CLOG-OBJ
[generic-function] ACTUAL-BOUNDING-BOX-LEFT CLOG-TEXT-METRICS
Actual bounding box left
[generic-function] ACTUAL-BOUNDING-BOX-RIGHT CLOG-TEXT-METRICS
Actual bounding box right
[generic-function] ACTUAL-BOUNDING-BOX-ASCENT CLOG-TEXT-METRICS
Actual bounding box ascent
[generic-function] ACTUAL-BOUNDING-BOX-DESCENT CLOG-TEXT-METRICS
Actual bounding box descent
[generic-function] FONT-BOUNDING-BOX-ASCENT CLOG-TEXT-METRICS
Font bounding box ascent
[generic-function] FONT-BOUNDING-BOX-DESCENT CLOG-TEXT-METRICS
Font bounding box descent
[generic-function] EM-HEIGHT-ASCENT CLOG-TEXT-METRICS
'M' height ascent
[generic-function] EM-HEIGHT-DESCENT CLOG-TEXT-METRICS
'M' height descent
[generic-function] HANGING-BASELINE CLOG-TEXT-METRICS
Hanging baseline
[generic-function] ALPHABETIC-BASELINE CLOG-TEXT-METRICS
Alphabetic baseline
[generic-function] IDEOGRAPHIC-BASELINE CLOG-TEXT-METRICS
Ideographic baseline
+
17 CLOG WebGL Objects
+[in package CLOG-WEBGL]
+CLOG-WebGL - Class for CLOG WebGL objects
+ +- [class] CLOG-WEBGL CLOG-OBJ
[generic-function] CREATE-WEBGL CLOG-CANVAS &KEY CONTEXT
Create a new CLOG-WebGL from a CLOG-Canvas. Context can be webgl (version 1) or webgl2 (default)
[generic-function] DRAWING-BUFFER-WIDTH CLOG-WEBGL
Drawing are of buffer width. returns float
[generic-function] DRAWING-BUFFER-HEIGHT CLOG-WEBGL
Drawing are of buffer height. returns float
[generic-function] BUFFER-PARAMETER CLOG-WEBGL GLENUM-TARGET GLENUM-PNAME
@@ -5372,38 +6838,52 @@ Returns a GLenum indicating the usage pattern of the buffer. One of the followin :DYNAMIC_COPY :STREAM_COPY
- [generic-function] CONTEXT-ATTRIBUTES OBJ
- [generic-function] WEBGL-ERROR OBJ
- [generic-function] FRAME-BUFFER-ATTACHMENT-PARAMETER OBJ GLENUM-TARGET GLENUM-ATTACHMENT GLENUM-PNAME
- [generic-function] PARAMETER OBJ GLENUM-PNAME
- [generic-function] RENDER-BUFFER-PARAMETER OBJ GLENUM-TARGET GLENUM-PNAME
- [generic-function] TEXTURE-PARAMETER OBJ GLENUM-TARGET GLENUM-PNAME
[generic-function] VERTEX-ATTRIBUTE CLOG-WEBGL INDEX GLENUM-PNAME
@@ -5445,23 +6925,29 @@ Returns a GLboolean indicating whether an integer data type is in the vertex att:VERTEX_ATTRIB_ARRAY_DIVISOR Returns a GLint describing the frequency divisor used for instanced rendering.
[generic-function] ACTIVE-TEXTURE CLOG-WEBGL GLENUM-TEXTURE
Sets the active textcture in gl context based on :TEXTUREI where I is the texture number.
[generic-function] BLEND-COLOR CLOG-WEBGL RED GREEN BLUE ALPHA
Used to set the source and destination blending factors.
[generic-function] BLEND-EQUATION CLOG-WEBGL GLENUM-MODE
@@ -5475,8 +6961,10 @@ where I is the texture number.
:MIN : Minimum of source and destination
:MAX : Maximum of source and destination
[generic-function] BLEND-EQUATION-SEPERATE CLOG-WEBGL GLENUM-MODE-RGB GLENUM-MODE-ALPHA
@@ -5490,24 +6978,30 @@ where I is the texture number.
:MIN : Minimum of source and destination
:MAX : Maximum of source and destination
[generic-function] BLEND-FUNCTION CLOG-WEBGL GLENUM-SOURCE-FACTOR GLENUM-DESTINATION-FACTOR
Defines which function is used for blending pixel arithmetic. See - https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/blendFunc
[generic-function] BLEND-FUNCTION-SEPERATE CLOG-WEBGL GLENUM-SOURCE-FACTOR-RGB GLENUM-DESTINATION-FACTOR-RGB GLENUM-SOURCE-FACTOR-ALPHA GLENUM-DESTINATION-FACTOR-ALPHA
Defines which function is used for blending pixel arithmetic. See - https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/blendFunc
[generic-function] CHECK-FRAME-BUFFER-STATUS CLOG-WEBGL TARGET
@@ -5523,23 +7017,29 @@ Equivalent to :FRAMEBUFFER. Used as a destination for drawing, rendering, cleari:READ_FRAMEBUFFER Used as a source for reading operations.
[generic-function] CLEAR-COLOR CLOG-WEBGL RED GREEN BLUE ALPHA
Specifies the color values used when clearing color buffers with
CLEAR-WEBGL.
[generic-function] CLEAR-DEPTH CLOG-WEBGL DEPTH
Specifying the depth value used when the depth buffer is cleared.
[generic-function] CLEAR-WEBGL CLOG-WEBGL GLENUM-MASK
@@ -5548,23 +7048,29 @@ with +[generic-function] CLEAR-STENCIL CLOG-WEBGL STENCIL
Specifying the stencil index used when the stencil buffer is cleared.
[generic-function] COLOR-MASK CLOG-WEBGL RED GREEN BLUE ALPHA
Sets which color components to enable or to disable when drawing or rendering red green blue alpha are nil or true
[generic-function] DEPTH-FUNCTION CLOG-WEBGL GLENUM-FUNC
@@ -5579,24 +7085,30 @@ the current depth buffer value.GLENUM-FUNCcan be: :GEQUAL (pass if the incoming value is greater than or equal to the depth buffer value):ALWAYS(always pass)
[generic-function] DEPTH-MASK CLOG-WEBGL ENABLEP
Specifying whether or not writing into the depth buffer is enabled
[generic-function] DEPTH-RANGE CLOG-WEBGL ZNEAR ZFAR
Specifies the depth range mapping from normalized device coordinates to window or viewport coordinates.
[generic-function] DISABLE-CAPABILITY CLOG-WEBGL GLENUM-CAPABILITY
@@ -5604,16 +7116,20 @@ coordinates to window or viewport coordinates.
For
GLENUM-CAPABILITYsee: https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/disable
[generic-function] DISABLE-VERTEX-ATTRIBUTE-ARRAY CLOG-WEBGL ATTRIBUTE-LOCATION
Turns the generic vertex attribute array off at a given index position.
[generic-function] DRAW-ARRAYS CLOG-WEBGL MODE OFFSET COUNT
@@ -5626,8 +7142,10 @@ position.
:TRIANGLE_FAN
:TRIANGLES Draws a triangle for a group of three vertices.
[generic-function] DRAW-ELEMENTS CLOG-WEBGL MODE COUNT TYPE OFFSET
@@ -5645,8 +7163,10 @@ position.
:UNSIGNED_BYTE
:UNSIGNED_SHORT
[generic-function] ENABLE-CAPABILITY CLOG-WEBGL GLENUM-CAPABILITY
@@ -5654,16 +7174,20 @@ position.
For
GLENUM-CAPABILITY see:
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/enable
[generic-function] ENABLE-VERTEX-ATTRIBUTE-ARRAY CLOG-WEBGL ATTRIBUTE-LOCATION
Turns the generic vertex attribute array on at a given index position.
[generic-function] FINISH CLOG-WEBGL
@@ -5671,30 +7195,38 @@ position.
finished. this needs to be written to fire an event when done to work fully
with CLOG
[generic-function] FLUSH CLOG-WEBGL
Empties different buffer commands, causing all commands to be executed as quickly as possible
[generic-function] FRAME-BUFFER-RENDER-BUFFER CLOG-WEBGL TARGET ATTACHMENT RENDERBUFFERTARGET CLOG-WEBGL-RENDER-BUFFER
Attaches a clog-Render-buffer object to a clog-frame-buffer object
[generic-function] FRAME-BUFFER-TEXTURE-2D CLOG-WEBGL TARGET ATTACHMENT TEXTARGET CLOG-FRAME-BUFFER LEVEL
attaches a texture to a clog-frame-buffer
[generic-function] FRONT-FACE CLOG-WEBGL GLENUM-MODE
@@ -5703,8 +7235,10 @@ setting a winding orientation.GLENUM-MODEcan be: :CW Clock-wise winding. :CCW Counter-clock-wise winding.
[generic-function] GENERATE-MIPMAP CLOG-WEBGL GLENUM-TARGET
@@ -5717,8 +7251,10 @@ When using a WebGL 2 context, the following values are available additionally::TEXTURE_3D A three-dimensional texture. :TEXTURE_2D_ARRAY A two-dimensional array texture
[generic-function] HINT CLOG-WEBGL GLENUM-TARGET GLENUM-MODE
@@ -5748,155 +7284,211 @@ Sets the behavior. The default value is :DONT_CARE. The possible values are: :NICEST : The most correct or the highest quality option should be used. :DONT_CARE : There is no preference for this behavior.
[generic-function] IS-CAPABILITY-ENABLED CLOG-WEBGL GLENUM-CAPABILITY
Return true if glenum-capability is enabled. https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/isEnabled
[generic-function] IS-CONTEXT-LOST CLOG-WEBGL
Return true if context was lost and needs to be re-established
- [generic-function] PIXEL-STORE-INTEGER OBJ GLENUM-PNAME VALUE
- [generic-function] POLYGON-OFFSET OBJ FACTOR UNITS
- [generic-function] RENDER-BUFFER-STORAGE OBJ GLENUM-TARGET GLENUM-INTERNAL-FORMAT WIDTH HEIGHT
- [generic-function] SAMPLE-COVERAGE OBJ VALUE INVERTP
- [generic-function] SCISSOR OBJ X Y WIDTH HEIGHT
- [generic-function] STENCIL-FUNCTION OBJ GLENUM-FUNC REF MASK
- [generic-function] STENCIL-FUNCTION-SEPERATE OBJ GLENUM-FACE GLENUM-FUNC REF MASK
- [generic-function] STENCIL-MASK OBJ MASK
- [generic-function] STENCIL-MASK-SEPERATE OBJ GLENUM-FACE MASK
- [generic-function] STENCIL-OPERATION OBJ FAIL ZFAIL ZPASS
- [generic-function] STENCIL-OPERATION-SEPERATE OBJ GLENUM-FACE FAIL ZFAIL ZPASS
[generic-function] TEXTURE-PARAMETER-FLOAT CLOG-WEBGL GLENUM-TARGET GLENUM-PNAME VALUE
Set float texture parameters.
[generic-function] TEXTURE-PARAMETER-INTEGER CLOG-WEBGL GLENUM-TARGET GLENUM-PNAME VALUE
Set integer texture parameters.
- [generic-function] UNIFORM-MATRIX OBJ SIZE LOCATION NORMALIZE MATRIX
- [generic-function] VIEWPORT OBJ X Y WIDTH HEIGHT
- [generic-function] VERTEX-ATTRIBUTE-POINTER OBJ ATTRIBUTE-LOCATION SIZE TYPE NORMALIZE STRIDE OFFSET
- [generic-function] COMPILE-SHADER-SOURCE OBJ GLENUM-TYPE SOURCE
- [generic-function] COMPILE-WEBGL-PROGRAM OBJ VERTEX-SHADER FRAGMENT-SHADER
- [class] CLOG-WEBGL-UNIFORM CLOG-OBJ
CLOG-WebGL-Active-Info - Class for CLOG WebGL Active Info objects
+ +- [class] CLOG-WEBGL-ACTIVE-INFO CLOG-OBJ
[generic-function] INFO-NAME CLOG-WEBGL-ACTIVE-INFO
Active Info Name
[generic-function] INFO-SIZE CLOG-WEBGL-ACTIVE-INFO
Active Info Size
[generic-function] INFO-TYPE CLOG-WEBGL-ACTIVE-INFO
Active Info Type
CLOG-WebGL-Shader - Class for CLOG WebGL-Shader objects
+ +- [class] CLOG-WEBGL-SHADER CLOG-OBJ
[generic-function] CREATE-SHADER CLOG-WEBGL GLENUM-TYPE
@@ -5904,22 +7496,28 @@ https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/isEnabled See https://github.com/KhronosGroup/WebGL/blob/main/specs/latest/2.0/webgl2.idl For :GLENUM values
[generic-function] IS-SHADER CLOG-WEBGL-SHADER
Return true if is valid
[generic-function] SHADER-SOURCE CLOG-WEBGL-SHADER SOURCE
Sets shader source code
[generic-function] SHADER-PARAMETER CLOG-WEBGL-SHADER GLENUM-PARAM
@@ -5933,67 +7531,88 @@ Returns a GLboolean indicating whether or not the last shader compilation was su:SHADER_TYPE Returns a GLenum indicating whether the shader is a vertex shader (gl.VERTEX_SHADER) or fragment shader (gl.FRAGMENT_SHADER) object.
[generic-function] SHADER-INFO-LOG CLOG-WEBGL-SHADER
It contains warnings, debugging and compile information.
- [generic-function] COMPILE-SHADER OBJ
- [generic-function] DELETE-SHADER OBJ
CLOG-WebGL-Program - Class for CLOG WebGL-Program objects
+ +- [class] CLOG-WEBGL-PROGRAM CLOG-OBJ
[generic-function] CREATE-PROGRAM CLOG-WEBGL
Create a clog-webgl-program
[generic-function] IS-PROGRAM CLOG-WEBGL-PROGRAM
Return true if is valid
[generic-function] ATTACH-SHADER CLOG-WEBGL-PROGRAM CLOG-WEBGL-SHADER
Attaches either a fragment or vertex
CLOG-WEBGL-SHADER
[generic-function] DETACH-SHADER CLOG-WEBGL-PROGRAM CLOG-WEBGL-SHADER
Detaches a
CLOG-WEBGL-SHADER
[generic-function] BIND-ATTRIBUTE-LOCATION CLOG-WEBGL-PROGRAM INDEX NAME
Binds a generic vertex
INDEXto an attribute variable calledNAME.
[generic-function] PROGRAM-PARAMETER CLOG-WEBGL-PROGRAM GLENUM-PARAM
@@ -6027,86 +7646,113 @@ Returns a GLint indicating the number of varying variables to capture in transfo:ACTIVE_UNIFORM_BLOCKS Returns a GLint indicating the number of uniform blocks containing active uniforms.
[generic-function] ATTRIBUTE-LOCATION CLOG-WEBGL-PROGRAM NAME
Returns the location of an attribute variable in clog-webgl-program
[generic-function] UNIFORM-LOCATION CLOG-WEBGL-PROGRAM NAME
Returns the location of an uniform variable in clog-webgl-program
[generic-function] ACTIVE-ATTRIBUTE CLOG-WEBGL-PROGRAM INDEX
Query about unknown attributes
[generic-function] ACTIVE-UNIFORM CLOG-WEBGL-PROGRAM INDEX
Query about unknown uniforms
[generic-function] UNIFORM CLOG-WEBGL-PROGRAM LOCATION
Returns the value of uniform at
LOCATIONin clog-webgl-program
[generic-function] UNIFORM-FLOAT CLOG-WEBGL LOCATION X &OPTIONAL Y Z W
Sets the value of uniform at
LOCATION.
[generic-function] UNIFORM-INTEGER CLOG-WEBGL LOCATION X &OPTIONAL Y Z W
Sets the value of uniform at
LOCATION.
[generic-function] PROGRAM-INFO-LOG CLOG-WEBGL-PROGRAM
Contains errors that occurred during failed linking or validation of WebGLProgram objects.
- [generic-function] LINK-PROGRAM OBJ
- [generic-function] USE-PROGRAM OBJ
- [generic-function] DELETE-PROGRAM OBJ
CLOG-WebGL-Buffer - Class for CLOG WebGL-Buffer objects
+ +- [class] CLOG-WEBGL-BUFFER CLOG-OBJ
[generic-function] CREATE-WEBGL-BUFFER CLOG-WEBGL &KEY BIND-TYPE
@@ -6120,15 +7766,19 @@ in WebGL2 the following added: :PIXEL_PACK_BUFFER : Buffer used for pixel transfer operations. :PIXEL_UNPACK_BUFFER : Buffer used for pixel transfer operations.
[generic-function] IS-BUFFER CLOG-WEBGL-BUFFER
Return true if is valid
[generic-function] BIND-BUFFER CLOG-WEBGL-BUFFER GLENUM-TARGET
@@ -6141,8 +7791,10 @@ in WebGL2 the following added: :PIXEL_PACK_BUFFER : Buffer used for pixel transfer operations. :PIXEL_UNPACK_BUFFER : Buffer used for pixel transfer operations.
[generic-function] BUFFER-DATA CLOG-WEBGL-BUFFER DATA-LIST DATA-TYPE GLENUM-USAGE
@@ -6151,8 +7803,10 @@ in WebGL2 the following added:DATA-TYPEis the WebGL data type as a string "Float32Array"GLENUM-USAGEus a usage hint like :STATIC_DRAW
[generic-function] BUFFER-SUB-DATA CLOG-WEBGL-BUFFER OFFSET DATA-LIST DATA-TYPE
@@ -6161,42 +7815,58 @@ in WebGL2 the following added:DATA-LISTis a Lisp list of data elements.DATA-TYPEis the WebGL data type as a string "Float32Array"
- [generic-function] DELETE-BUFFER OBJ
CLOG-WebGL-Vertex-Array - Class for CLOG WebGL-Vertex-Array objects
+ +- [class] CLOG-WEBGL-VERTEX-ARRAY CLOG-OBJ
[generic-function] CREATE-VERTEX-ARRAY CLOG-WEBGL
Create a clog-webgl-vertex-array
- [generic-function] BIND-VERTEX-ARRAY OBJ
- [generic-function] DELETE-VERTEX-ARRAY OBJ
CLOG-WebGL-Frame-Buffer - Class for CLOG WebGL-Frame-Buffer objects
+ +- [class] CLOG-WEBGL-FRAME-BUFFER CLOG-OBJ
[generic-function] CREATE-WEBGL-FRAME-BUFFER CLOG-WEBGL &KEY BIND-TYPE
@@ -6208,15 +7878,19 @@ clear and blit-frame-buffer. :READ_FRAMEBUFFER : Used as a source for reading operations such as readPixels and blit-frame-buffer.
[generic-function] IS-FRAME-BUFFER CLOG-WEBGL-FRAME-BUFFER
Return true if is valid
[generic-function] BIND-FRAME-BUFFER CLOG-WEBGL-FRAME-BUFFER GLENUM-TARGET
@@ -6227,52 +7901,70 @@ clear and blit-frame-buffer. :READ_FRAMEBUFFER : Used as a source for reading operations such as readPixels and blit-frame-buffer
- [generic-function] DELETE-FRAME-BUFFER OBJ
CLOG-WebGL-Render-Buffer - Class for CLOG WebGL-Render-Buffer objects
+ +- [class] CLOG-WEBGL-RENDER-BUFFER CLOG-OBJ
[generic-function] CREATE-WEBGL-RENDER-BUFFER CLOG-WEBGL &KEY BIND-TYPE
Create a clog-webgl-render-buffer. If
BIND-TYPEis set binds the render-buffer to :RENDERBUFFER
[generic-function] IS-RENDER-BUFFER CLOG-WEBGL-RENDER-BUFFER
Return true if is valid
[generic-function] BIND-RENDER-BUFFER CLOG-WEBGL-RENDER-BUFFER GLENUM-TARGET
Set
BIND-TYPEof render-buffer to :RENDERBUFFER
- [generic-function] DELETE-RENDER-BUFFER OBJ
CLOG-WebGL-Texture - Class for CLOG WebGL-Texture objects
+ +- [class] CLOG-WEBGL-TEXTURE CLOG-OBJ
[generic-function] CREATE-WEBGL-TEXTURE CLOG-WEBGL &KEY BIND-TYPE
@@ -6284,15 +7976,19 @@ in WebGL 2 also: :TEXTURE_3D : A three-dimensional texture. :TEXTURE_2D_ARRAY : A two-dimensional array texture.
[generic-function] IS-TEXTURE CLOG-WEBGL-TEXTURE
Return true if is valid
[generic-function] BIND-TEXTURE CLOG-WEBGL-TEXTURE GLENUM-TARGET
@@ -6303,126 +7999,164 @@ in WebGL 2 also: :TEXTURE_3D : A three-dimensional texture. :TEXTURE_2D_ARRAY : A two-dimensional array texture.
- [generic-function] DELETE-TEXTURE OBJ
+
18 CLOG Multimedia Objects
+CLOG-Multimedia - Base Class for CLOG multimedia objects
+ +[class] CLOG-MULTIMEDIA CLOG-ELEMENT
CLOG Multimedia base class.
[generic-function] LOOP-MEDIAP CLOG-MULTIMEDIA
Get/Setf loop media property.
[generic-function] MEDIA-DURATION CLOG-MULTIMEDIA
Get/Setf media in seconds property.
[generic-function] MEDIA-SOURCE CLOG-MULTIMEDIA
Get/Setf media source/url.
[generic-function] MEDIA-POSITION CLOG-MULTIMEDIA
Get/Setf postion of media in seconds.
[generic-function] MUTEDP CLOG-MULTIMEDIA
Get/Setf muted property.
[generic-function] PAUSEDP CLOG-MULTIMEDIA
Get/Setf paused property.
[generic-function] SEEKINGP CLOG-MULTIMEDIA
Get/Setf seeking property.
[generic-function] PLAYBACK-ENDED-P CLOG-MULTIMEDIA
Get/Setf true of Media position has reached end of its duration.
[generic-function] PLAYBACK-RATE CLOG-MULTIMEDIA
Get/Setf playback rate. Common values - 1.0 normal, 0.5 half speed, -1.0 reverse
[generic-function] READY-TO-PLAY-P CLOG-MULTIMEDIA
Get/Setf true of Media position has reached end of its duration.
[generic-function] MEDIA-VOLUME CLOG-MULTIMEDIA
Get/Setf media volume, not system volume. 0.0 .. 1.0
[generic-function] PLAY-MEDIA CLOG-MULTIMEDIA
Play media.
[generic-function] PAUSE-MEDIA CLOG-MULTIMEDIA
Pause media.
[generic-function] LOAD-MEDIA CLOG-MULTIMEDIA
Load/Reload media.
[generic-function] CAN-PLAY-TYPE-P CLOG-MULTIMEDIA MEDIA-TYPE
@@ -6447,7 +8181,9 @@ media type. audio/mp4; codecs="mp4a.40.5"
CLOG-Multimedia - Event Handlers
+The standard event order for a normal file load is: On_Load_Start On_Duration_Change @@ -6456,263 +8192,342 @@ media type.
On_Progress On_Can_Play On_Can_Play_Though + +[generic-function] SET-ON-MEDIA-ABORT CLOG-MULTIMEDIA HANDLER
Set the ON-MEDIA-ABORT-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-MEDIA-ERROR CLOG-MULTIMEDIA HANDLER
Set the ON-MEDIA-ERROR-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-CAN-PLAY CLOG-MULTIMEDIA HANDLER
Set the ON-CAN-PLAY-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-CAN-PLAY-THROUGH CLOG-MULTIMEDIA HANDLER
Set the ON-CAN-PLAY-THROUGH-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-DURATION-CHANGE CLOG-MULTIMEDIA HANDLER
Set the ON-DURATION-CHANGE-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-EMPTIED CLOG-MULTIMEDIA HANDLER
Set the ON-EMPTIED-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-ENDED CLOG-MULTIMEDIA HANDLER
Set the ON-ENDED-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-LOADED-DATA CLOG-MULTIMEDIA HANDLER
Set the ON-LOADED-DATA-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-LOADED-META-DATA CLOG-MULTIMEDIA HANDLER
Set the ON-LOADED-META-DATA-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-LOAD-START CLOG-MULTIMEDIA HANDLER
Set the ON-LOAD-START-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-PLAY CLOG-MULTIMEDIA HANDLER
Set the ON-PLAY-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-PAUSE CLOG-MULTIMEDIA HANDLER
Set the ON-PAUSE-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-PLAYING CLOG-MULTIMEDIA HANDLER
Set the ON-PLAYING-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-PROGRESS CLOG-MULTIMEDIA HANDLER
Set the ON-PROGRESS-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-RATE-CHANGE CLOG-MULTIMEDIA HANDLER
Set the ON-RATE-CHANGE-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-SEEKED CLOG-MULTIMEDIA HANDLER
Set the ON-SEEKED-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-SEEKING CLOG-MULTIMEDIA HANDLER
Set the ON-SEEKING-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-STALLED CLOG-MULTIMEDIA HANDLER
Set the ON-STALLED-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-SUSPEND CLOG-MULTIMEDIA HANDLER
Set the ON-SUSPEND-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-TIME-UPDATE CLOG-MULTIMEDIA HANDLER
Set the ON-TIME-UPDATE-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-VOLUME-CHANGE CLOG-MULTIMEDIA HANDLER
Set the ON-VOLUME-CHANGE-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
[generic-function] SET-ON-WAITING CLOG-MULTIMEDIA HANDLER
Set the ON-WAITING-HANDLER for
CLOG-MULTIMEDIA.HANDLERis nil unbind the event.
Clog-Audio - Class for CLOG Audio Control
+ +[class] CLOG-AUDIO CLOG-MULTIMEDIA
CLOG Audio class.
[generic-function] CREATE-AUDIO CLOG-OBJ &KEY SOURCE CONTROLS PRELOAD AUTOPLAY AUTOLOOP MUTED HTML-ID AUTO-PLACE
Create a CLOG Audio control
Clog-Video - Class for CLOG Video Control
+ +[class] CLOG-VIDEO CLOG-MULTIMEDIA
CLOG Video class.
[generic-function] CREATE-VIDEO CLOG-OBJ &KEY SOURCE CONTROLS PRELOAD POSTER AUTOPLAY AUTOLOOP MUTED HTML-ID AUTO-PLACE
Create a CLOG video control
+
19 CLOG Auth Objects
+[in package CLOG-AUTH]
+CLOG-AUTH - Authentication
+ +[function] GET-AUTHENTICATION-TOKEN BODY &KEY AUTH-PATH
Retrieve the stored authentication token
- [function] STORE-AUTHENTICATION-TOKEN BODY TOKEN
- [function] REMOVE-AUTHENTICATION-TOKEN BODY
- [function] SET-ON-AUTHENTICATION-CHANGE BODY HANDLER
CLOG-AUTH - Authorization
+ +[function] ADD-AUTHORIZATION ROLE-LIST ACTION-LIST
Add to each role in
ROLE-LISTevery action inACTION-LIST
[function] IS-AUTHORIZED-P ROLE-LIST ACTION
Given
ROLE-LISTis action authorized. If action is nil returns t.
+
20 CLOG GUI Objects
+[in package CLOG-GUI]
+CLOG-GUI - Desktop GUI abstraction for CLOG
[function] CLOG-GUI-INITIALIZE CLOG-BODY &KEY (BODY-LEFT-OFFSET 0) (BODY-RIGHT-OFFSET 0) (USE-CLOG-DEBUGGER
@@ -6728,55 +8543,70 @@ slave of another clog-gui page. If use-clog-debugger then a graphical debugger is set for all events. If standard-output is set standard-output for every event is redirected to it. -NOTE: use-clog-debugger should not be set for security issues +NIL) (STANDARD-OUTPUTNIL) (PARENT-DESKTOP-OBJNIL) (W3-CSS-URL "/css/w3.css") (JQUERY-UI-CSS "/css/jquery-ui.css") (JQUERY-UI "/js/jquery-ui.js")NOTE: use-clog-debugger should not be set for security issues on non-secure environments.
CLOG-GUI - Menus
[class] CLOG-GUI-MENU-BAR CLOG-DIV
Menu bar
[generic-function] CREATE-GUI-MENU-BAR CLOG-OBJ &KEY CLASS HTML-ID MAIN-MENU
Attached a menu bar to a
CLOG-OBJin general a clog-body. If main-menu add as main menu bar.
[class] CLOG-GUI-MENU-DROP-DOWN CLOG-DIV
Drop down menu
[generic-function] CREATE-GUI-MENU-DROP-DOWN CLOG-GUI-MENU-BAR &KEY CONTENT CLASS HTML-ID RIGHT-ALIGN
Attached a menu bar drop-down to a
CLOG-GUI-MENU-BAR
[class] CLOG-GUI-MENU-ITEM CLOG-SPAN
Menu item
[generic-function] CREATE-GUI-MENU-ITEM CLOG-GUI-MENU-DROP-DOWN &KEY CONTENT ON-CLICK CLASS HTML-ID
Attached a menu item to a
CLOG-GUI-MENU-DROP-DOWN
[generic-function] CREATE-GUI-MENU-WINDOW-SELECT CLOG-OBJ &KEY CLASS CONTENT HTML-ID
@@ -6784,85 +8614,108 @@ clog-body. If main-menu add as main menu bar.
with open windows and focuses them unless is a keep-on-top window. The
first menu-window-select will receive change window notices only.
[generic-function] CREATE-GUI-MENU-FULL-SCREEN CLOG-GUI-MENU-BAR &KEY HTML-ID
Add as last item in menu bar to allow for a full screen icon ⤢ (menu-full-screen-item default) and full screen mode.
[generic-function] CREATE-GUI-MENU-ICON CLOG-GUI-MENU-BAR &KEY IMAGE-URL ON-CLICK CLASS HTML-ID
Add icon as menu bar item.
CLOG-GUI - Window System
[generic-function] CURRENT-WINDOW CLOG-OBJ
Get the current selected clog-gui-window
[generic-function] MENU-BAR CLOG-OBJ
Get/setf window menu-bar. This is set buy create-gui-menu-bar.
[generic-function] MENU-BAR-HEIGHT CLOG-OBJ
Get menu-bar height
[generic-function] WINDOW-COLLECTION CLOG-OBJ
Get hash table of open windows
[generic-function] WINDOW-TO-TOP-BY-TITLE CLOG-OBJ TITLE
Bring window with
TITLEto top and return window or nil if not found
[generic-function] WINDOW-TO-TOP-BY-PARAM CLOG-OBJ PARAM
Bring window with
PARAMto top and return window or nil if not found
[generic-function] WINDOW-BY-TITLE CLOG-OBJ TITLE
Bring window with
TITLEto top and return window or nil if not found
[generic-function] WINDOW-BY-PARAM CLOG-OBJ PARAM
Bring window with
PARAMto top and return window or nil if not found
[generic-function] REORIENT-ALL-WINDOWS CLOG-OBJ
@@ -6870,36 +8723,47 @@ window or nil if not found
and leave any normalized windows as normalized. This is called by default
in on-resize, on-full-screen-change and on-orientation-change events.
[generic-function] MAXIMIZE-ALL-WINDOWS CLOG-OBJ
Maximize all windows
[generic-function] NORMALIZE-ALL-WINDOWS CLOG-OBJ
Normalize all windows
[generic-function] SET-ON-WINDOW-CHANGE CLOG-OBJ HANDLER
Set the on-window-change
HANDLER. The on-window-change clog-obj received is the new window
CLOG-GUI - Individual Windows
- [class] CLOG-GUI-WINDOW CLOG-ELEMENT
[generic-function] CREATE-GUI-WINDOW CLOG-OBJ &KEY TITLE CONTENT LEFT TOP WIDTH HEIGHT MAXIMIZE HIDE-TITLE-BAR DRAG-CLIENT-AREA HAS-PINNER CLOSER-HTML KEEP-ON-TOP WINDOW-PARAM HIDDEN CLIENT-MOVEMENT NO-SIZER BORDER-CLASS TITLE-CLASS HTML-ID
@@ -6914,44 +8778,56 @@ is nil and keep-on-top t then the window will be set to keep-on-top always. window-param is a general parameter for identifiying the window to use with window-to-top-by-param or window-by-param.
[generic-function] WINDOW-TITLE CLOG-GUI-WINDOW
Get/setf window title
[generic-function] WINDOW-ICON-AREA CLOG-OBJ
Return the clog-obj for the icon-area to allow adding custom icons on the title bar to the right of the close icon
[generic-function] WINDOW-PARAM CLOG-GUI-WINDOW
Get/setf window param
[generic-function] WINDOW-CONTENT CLOG-GUI-WINDOW
Get window content element.
[generic-function] WINDOW-FOCUS CLOG-GUI-WINDOW
Set
CLOG-GUI-WINDOWas focused window.
[generic-function] WINDOW-CLOSE CLOG-GUI-WINDOW
@@ -6959,8 +8835,10 @@ custom icons on the title bar to the right of the close icon
CLOG-GUI-WINDOW is removed from DOM but still present in the CLOG cache on
the browser.
[function] WINDOW-VALID-P OBJ
@@ -6969,45 +8847,57 @@ can occur when a popup slave desktop is closed by the OS or the window has been previously closed. If the obj exists in the internal hash of windows it is removed.
[generic-function] WINDOW-MAXIMIZED-P CLOG-GUI-WINDOW
Set
CLOG-GUI-WINDOWas maximized window.
[generic-function] WINDOW-MAXIMIZE CLOG-GUI-WINDOW &KEY FOCUS
Set
CLOG-GUI-WINDOWas maximized window and :focus (default t).
[generic-function] WINDOW-NORMALIZE CLOG-GUI-WINDOW &KEY FOCUS
Set
CLOG-GUI-WINDOWas normalized window an :focus (default t).
[generic-function] WINDOW-TOGGLE-MAXIMIZE CLOG-GUI-WINDOW
Toggle
CLOG-GUI-WINDOWas maximize window.
[generic-function] WINDOW-TOGGLE-TITLE-BAR CLOG-GUI-WINDOW &KEY STATE
Set
CLOG-GUI-WINDOWtitle bar to visible or not (default t).
[generic-function] WINDOW-TOGGLE-PINNED CLOG-GUI-WINDOW &KEY STATE KEEP-ON-TOP
@@ -7016,123 +8906,159 @@ window cannot be moved, closed, resized, maximized or normalized. A new window is always unpinned. If keep-on-top the keep-on-top state is toggled to match the pinned state. :state forces state. Returns new state
[generic-function] WINDOW-KEEP-ON-TOP CLOG-GUI-WINDOW &KEY STATE
Set
CLOG-GUI-WINDOWto stay on top based on state (default t).
[generic-function] WINDOW-MAKE-MODAL CLOG-GUI-WINDOW
Set
CLOG-GUI-WINDOWto stay on top and prevent all other interactions. Use window-end-modal to undo.
[generic-function] WINDOW-END-MODAL CLOG-GUI-WINDOW
Set
CLOG-GUI-WINDOWto end modal state.
[generic-function] WINDOW-CENTER CLOG-GUI-WINDOW
Center
CLOG-GUI-WINDOWin browser.
CLOG-GUI - Individual Window Events
[generic-function] SET-ON-WINDOW-FOCUS CLOG-GUI-WINDOW HANDLER
Set the on-window-focus
HANDLER
[generic-function] SET-ON-WINDOW-BLUR CLOG-GUI-WINDOW HANDLER
Set the on-window-blur
HANDLER
[generic-function] SET-ON-WINDOW-CAN-CLOSE CLOG-GUI-WINDOW HANDLER
Set the on-window-can-close
HANDLER
[generic-function] SET-ON-WINDOW-CLOSE CLOG-GUI-WINDOW HANDLER
Set the on-window-close
HANDLER
[generic-function] SET-ON-WINDOW-CAN-MAXIMIZE CLOG-GUI-WINDOW HANDLER
Set the on-window-can-maximize
HANDLER
[generic-function] SET-ON-WINDOW-CAN-NORMALIZE CLOG-GUI-WINDOW HANDLER
Set the on-window-can-normalize
HANDLER
[generic-function] SET-ON-WINDOW-CAN-MOVE CLOG-GUI-WINDOW HANDLER
Set the on-window-can-move
HANDLER
[generic-function] SET-ON-WINDOW-CAN-SIZE CLOG-GUI-WINDOW HANDLER
Set the on-window-can-size
HANDLER
[generic-function] SET-ON-WINDOW-MOVE CLOG-GUI-WINDOW HANDLER
Set the on-window-move
HANDLER
[generic-function] SET-ON-WINDOW-SIZE CLOG-GUI-WINDOW HANDLER
Set the on-window-size
HANDLER
[generic-function] SET-ON-WINDOW-MOVE-DONE CLOG-GUI-WINDOW HANDLER
Set the on-window-move-done
HANDLER.
[generic-function] SET-ON-WINDOW-SIZE-DONE CLOG-GUI-WINDOW HANDLER
Set the on-window-size-done
HANDLER
CLOG-GUI - Dialog Boxes
[function] ALERT-TOAST OBJ TITLE CONTENT &KEY (COLOR-CLASS "w3-red") (TIME-OUT
@@ -7141,16 +9067,20 @@ is placed in DOM at top of html body instead of bottom of html body. Note, when time-out alert-toast blocks and the toast is displayed for time-out or until user closes the toast.NIL) (PLACE-TOPNIL) (HTML-IDNIL)
[function] ALERT-DIALOG OBJ CONTENT &KEY (MODAL
T) (TITLE "About") (TIME-OUTNIL) (LEFTNIL) (TOPNIL) (WIDTH 300) (HEIGHT 200) (CLIENT-MOVEMENTNIL) (HTML-IDNIL)Create an alert dialog box with
CONTENTcentered. If time-out alert-dialog blocks till time-out reached or OK clicked.
[function] INPUT-DIALOG OBJ CONTENT ON-INPUT &KEY (MODAL
@@ -7159,16 +9089,20 @@ Calls on-input with input box contents or nil if canceled. If time-out block time-out seconds for responce or cancels dialog box then returns result of on-input.T) (TIME-OUTNIL) (TITLE "Input") (SIZE 20) (ROWS 1) (PLACEHOLDER-VALUE "") (DEFAULT-VALUE "") IS-PASSWORD (SPELL-CHECKT) (LEFTNIL) (TOPNIL) (WIDTH 300) (HEIGHT 200) (CLIENT-MOVEMENTNIL) (HTML-IDNIL)
[function] CONFIRM-DIALOG OBJ CONTENT ON-INPUT &KEY (MODAL
T) (TITLE "Confirm") (OK-TEXT "OK") (CANCEL-TEXT "Cancel") (TIME-OUTNIL) (LEFTNIL) (TOPNIL) (WIDTH 300) (HEIGHT 200) (CLIENT-MOVEMENTNIL) (HTML-IDNIL)Create a confirmation dialog box with
CONTENTcentered. Calls on-input with t if confirmed or nil if canceled.
[function] PROMPT-DIALOG OBJ CALLBACK &KEY (TITLE "Prompt") (COMPLETION #'
@@ -7189,8 +9123,10 @@ the input field.LIST(01)) (VALIDATION (CONSTANTLYT)) (PRESENTATION (LAMBDA(01) (IT) (FORMATNIL"~a" IT))) (INITIAL-VALUE "") (MODALT) TIME-OUT LEFT TOP (WIDTH 390) (HEIGHT 425) MAXIMIZE CLIENT-MOVEMENT (KEEP-ON-TOPT) HTML-IDPressing
will cancel the prompt.
[function] FORM-DIALOG OBJ CONTENT FIELDS ON-INPUT &KEY (MODAL
@@ -7207,7 +9143,7 @@ the input field.T) (TITLE "Form") (OK-TEXT "OK") (CANCEL-TEXT "Cancel") (TIME-OUTNIL) (LEFTNIL) (TOPNIL) (WIDTH 400) (HEIGHT 500) (SIZE 40) (ROWS 4) (CLIENT-MOVEMENTNIL) (HTML-IDNIL)Field Type Field Type Options ============= ================== - :filename default dir -- NOTE: This is server side! + :filename default dir --
if confirmed or nil if canceled. If time-out is set the result of on-input returned after either ok or cancel or time elapses.NOTE: This is server side! :checkbox t if checked :radiobox a-list ((label name)) a third value can be added "checked" :select a-list ((label name)) a third value can be added "selected" @@ -7222,8 +9158,10 @@ the input field.
[function] SERVER-FILE-DIALOG OBJ TITLE INITIAL-DIR ON-FILE-NAME &KEY (MODAL
@@ -7231,39 +9169,50 @@ on-input returned after either ok or cancel or time elapses.T) (TIME-OUTNIL) (LEFTNIL) (TOPNIL) (WIDTH 390) (HEIGHT 425) (MAXIMIZENIL) (INITIAL-FILENAMENIL) (CLIENT-MOVEMENTNIL) (HTML-IDNIL)
machine, upon close
ON-FILE-NAME called with filename or nil if failure.
If time-out return result of on-file-name, cancels dialog if time runs out.
CLOG-GUI - Debugger
[macro] WITH-CLOG-DEBUGGER (CLOG-OBJ &KEY TITLE STANDARD-OUTPUT STANDARD-INPUT) &BODY BODY
body uses a clog-gui based debugger instead of the console
[function] ONE-OF-DIALOG OBJ INTRO CHOICES &KEY (TITLE "Please choose one") (PROMPT "Choice")
Prompt a dialog box with
TITLEandINTROusing list ofCHOICESandPROMPT
[class] DIALOG-IN-STREAM TRIVIAL-GRAY-STREAMS:FUNDAMENTAL-CHARACTER-INPUT-STREAM
dialog-in-stream and dialog-out-stream can be combined with make-two-way-stream to provide a query-io using a clog-gui instead of console)
[class] DIALOG-OUT-STREAM TRIVIAL-GRAY-STREAMS:FUNDAMENTAL-CHARACTER-OUTPUT-STREAM
dialog-in-stream and dialog-out-stream can be combined with make-two-way-stream to provide a query-io using a clog-gui instead of console)
[function] CLOG-BREAK &KEY CLOG-BODY RUN (MODAL
@@ -7271,8 +9220,10 @@ make-two-way-stream to provide a query-io using a clog-gui instead of c the execution continues. IfT)CLOG-BODYnot set use clog-debug-instance. Then confirm continue execution on current thread or (break).
[macro] CLOG-PROBE SYMBOL &KEY CLOG-BODY (TITLE "") (TIME-OUT 600) TOP LEFT (WIDTH 400) (HEIGHT 300) AUTO-PROBE SAVE-VALUE (MODAL
@@ -7285,60 +9236,81 @@ probe is run again in auto-probe seconds. If not tile is set, the symbol is used for title. If save-value is true clog-gui:*probe* is set to value of symbol before any change is made by dialog.T)
[variable] *PROBE* NIL
Result value of a probe
[variable] *CLOG-DEBUG-INSTANCE* NIL
Default location to open debugger windows
CLOG-GUI - Look and Feel
- [variable] *MENU-BAR-CLASS* "w3-bar w3-black w3-card-4"
- [variable] *MENU-BAR-DROP-DOWN-CLASS* "w3-dropdown-content w3-bar-block w3-card-4"
- [variable] *MENU-ITEM-CLASS* "w3-bar-item w3-button"
- [variable] *MENU-WINDOW-SELECT-CLASS* "w3-bar-item w3-button"
- [variable] *MENU-FULL-SCREEN-ITEM* "⤢"
- [variable] *MENU-ICON-IMAGE-CLASS* "w3-button w3-bar-item"
[variable] *TOP-BAR-HEIGHT* 20
Overlap on new windows created with top set as nil
- [variable] *DEFAULT-ICON* "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAAAKZlWElmTU0A KgAAAAgABwEGAAMAAAABAAIAAAESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEo @@ -7348,51 +9320,69 @@ cEhZcwAACxMAAAsTAQCanBgAAAQRaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRh IHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxy ZGY6UkRGIHhtbG5zOnJkZj0iaHR ...
[variable] *DEFAULT-TITLE-CLASS* "w3-black"
Window title bar class
[variable] *DEFAULT-BORDER-CLASS* "w3-card-4 w3-white w3-border"
Window frame border
+
21 CLOG Web Objects
+[in package CLOG-WEB]
+CLOG-WEB - Web page abstraction for CLOG
[function] CLOG-WEB-INITIALIZE CLOG-BODY &KEY (W3-CSS-URL "/css/w3.css")
Initializes clog-web and installs a clog-web object on connection. If
W3-CSS-URLhas not been loaded before is installed unless is nil.
[function] SET-MAXIMUM-PAGE-WIDTH-IN-PIXELS CLOG-BODY WIDTH
The default width is 980 pixels.
CLOG-WEB - General Containers
[class] CLOG-WEB-PANEL CLOG-DIV
Panel for web content
[generic-function] CREATE-WEB-PANEL CLOG-OBJ &KEY CONTENT HIDDEN CLASS HTML-ID
@@ -7400,15 +9390,19 @@ IfW3-CSS-URLhas not been loaded before is installed unless is nil and right padding and 16x top and bottom margin. If hidden is t then then the visiblep propetery will be set to nil on creation.
[class] CLOG-WEB-CONTENT CLOG-DIV
Content for web content
[generic-function] CREATE-WEB-CONTENT CLOG-OBJ &KEY CONTENT MAXIMUM-WIDTH HIDDEN CLASS HTML-ID
@@ -7416,15 +9410,19 @@ visiblep propetery will be set to nil on creation.
and right padding. If hidden is t then then the visiblep propetery will be set
to nil on creation.
[class] CLOG-WEB-CODE CLOG-DIV
Code for web code
[generic-function] CREATE-WEB-CODE CLOG-OBJ &KEY CONTENT HIDDEN CLASS HTML-ID
@@ -7432,15 +9430,19 @@ to nil on creation.
If hidden is t then then the visiblep propetery will be set
to nil on creation.
[class] CLOG-WEB-MAIN CLOG-DIV
Main for web content
[generic-function] CREATE-WEB-MAIN CLOG-OBJ &KEY CONTENT HIDDEN CLASS HTML-ID
@@ -7449,15 +9451,19 @@ when using a collapsable sidebar or other whole page shifting technique. If hidden is t then then the visiblep propetery will be set to nil on creation.
[class] CLOG-WEB-SIDEBAR CLOG-DIV
Sidebar for web content
[generic-function] CREATE-WEB-SIDEBAR CLOG-OBJ &KEY CONTENT HIDDEN CLASS HTML-ID
@@ -7469,15 +9475,19 @@ if used. If using a sidebar that will take space and not collapse, make sure to set the sidebar's size and set a margin equal to the size on the main container.
[class] CLOG-WEB-SIDEBAR-ITEM CLOG-BUTTON
Sidebar-Item for web content
[generic-function] CREATE-WEB-SIDEBAR-ITEM CLOG-OBJ &KEY CONTENT HIDDEN CLASS HTML-ID
@@ -7485,15 +9495,19 @@ container.
If hidden is t then then the visiblep propetery will be set to nil on
creation.
[class] CLOG-WEB-SIDEBAR-ITEM CLOG-BUTTON
Sidebar-Item for web content
[generic-function] CREATE-WEB-SIDEBAR-ITEM CLOG-OBJ &KEY CONTENT HIDDEN CLASS HTML-ID
@@ -7501,15 +9515,19 @@ creation.
If hidden is t then then the visiblep propetery will be set to nil on
creation.
[class] CLOG-WEB-COMPOSITOR CLOG-DIV
Compositor for compositing layers of web content
[generic-function] CREATE-WEB-COMPOSITOR CLOG-OBJ &KEY CONTENT HIDDEN CLASS HTML-ID
@@ -7518,98 +9536,127 @@ on top of other content. Content is added as children and then composit-location is called on the object of that content. If hidden is t then then the visiblep propetery will be set to nil on creation.
- [type] WEB-PADDING-CLASS-TYPE
[generic-function] COMPOSITE-ON-HOVER CLOG-ELEMENT
Composite
CLOG-ELEMENTon on-hover.
[generic-function] COMPOSITE-POSITION CLOG-ELEMENT &KEY TOP LEFT PADDING-CLASS
Composite
CLOG-ELEMENTto coordinate top left.
[generic-function] COMPOSITE-TOP-MIDDLE CLOG-ELEMENT &KEY PADDING-CLASS
Composite
CLOG-ELEMENTon top-middle.
[generic-function] COMPOSITE-TOP-LEFT CLOG-ELEMENT &KEY PADDING-CLASS
Composite
CLOG-ELEMENTon top-left.
[generic-function] COMPOSITE-TOP-RIGHT CLOG-ELEMENT &KEY PADDING-CLASS
Composite
CLOG-ELEMENTon top-right.
[generic-function] COMPOSITE-BOTTOM-MIDDLE CLOG-ELEMENT &KEY PADDING-CLASS
Composite
CLOG-ELEMENTon bottom-middle.
[generic-function] COMPOSITE-BOTTOM-LEFT CLOG-ELEMENT &KEY PADDING-CLASS
Composite
CLOG-ELEMENTon bottom-left.
[generic-function] COMPOSITE-BOTTOM-RIGHT CLOG-ELEMENT &KEY PADDING-CLASS
Composite
CLOG-ELEMENTon bottom-right.
[generic-function] COMPOSITE-MIDDLE CLOG-ELEMENT &KEY PADDING-CLASS
Composite
CLOG-ELEMENTon middle.
[generic-function] COMPOSITE-LEFT CLOG-ELEMENT &KEY PADDING-CLASS
Composite
CLOG-ELEMENTon left.
[generic-function] COMPOSITE-RIGHT CLOG-ELEMENT &KEY PADDING-CLASS
Composite
CLOG-ELEMENTon right.
CLOG-WEB - Auto Layout System
[class] CLOG-WEB-AUTO-ROW CLOG-DIV
Content for web content
[generic-function] CREATE-WEB-AUTO-ROW CLOG-OBJ &KEY HIDDEN CLASS HTML-ID
@@ -7617,15 +9664,19 @@ then the visiblep propetery will be set to nil on creation.
If hidden is t then then the visiblep propetery will be set to nil on
creation.
[class] CLOG-WEB-AUTO-COLUMN CLOG-DIV
Content for web content
[generic-function] CREATE-WEB-AUTO-COLUMN CLOG-OBJ &KEY CONTENT VERTICAL-ALIGN HIDDEN CLASS HTML-ID
@@ -7633,16 +9684,21 @@ creation.
If hidden is t then then the visiblep propetery will be set to nil on
creation.
CLOG-WEB - 12 Column Grid Layout System
[class] CLOG-WEB-ROW CLOG-DIV
Row to contain columns of web content in 12 column grid
[generic-function] CREATE-WEB-ROW CLOG-OBJ &KEY PADDING HIDDEN CLASS HTML-ID
@@ -7650,15 +9706,19 @@ creation.
right padding is addded. If hidden is t then then the visiblep propetery will
be set to nil on creation.
[class] CLOG-WEB-CONTAINER CLOG-DIV
Container cells for web content in 12 column grid
[generic-function] CREATE-WEB-CONTAINER CLOG-OBJ &KEY CONTENT COLUMN-SIZE HIDDEN CLASS HTML-ID
@@ -7670,137 +9730,177 @@ are always displayed full row. Total columns must add to 12 or one needs to be of type :w3-rest to fill space. If hidden is t then then the visiblep propetery will be set to nil on creation.
CLOG-WEB - Look and Feel
[generic-function] ADD-CARD-LOOK CLOG-ELEMENT
Change clog-element to use 2px card look
[generic-function] ADD-HARD-CARD-LOOK CLOG-ELEMENT
Change clog-element to use 4px card look
CLOG-WEB - Mobile
[generic-function] FULL-ROW-ON-MOBILE CLOG-ELEMENT
Change element to display:block, take up the full row, when screen size smaller then 601 pixels DP
[generic-function] HIDE-ON-SMALL-SCREENS CLOG-ELEMENT
Hide element on screens smaller then 601 pixels DP
[generic-function] HIDE-ON-MEDIUM-SCREENS CLOG-ELEMENT
Hide element on screens smaller then 993 pixels DP
[generic-function] HIDE-ON-LARGE-SCREENS CLOG-ELEMENT
Hide element on screens smaller then 993 pixels DP
CLOG-WEB - Menus
[class] CLOG-WEB-MENU-BAR CLOG-DIV
Menu bar
[generic-function] CREATE-WEB-MENU-BAR CLOG-OBJ &KEY CLASS HTML-ID
Attach a menu bar to a
CLOG-OBJgenerally a clog-body.
[generic-function] WEB-MENU-BAR CLOG-OBJ
Get/setf window web-menu-bar. This is set buy create-web-menu-bar.
[generic-function] WEB-MENU-BAR-HEIGHT CLOG-OBJ
Get web-menu-bar height
[class] CLOG-WEB-MENU-DROP-DOWN CLOG-DIV
Drop down menu
[generic-function] CREATE-WEB-MENU-DROP-DOWN CLOG-WEB-MENU-BAR &KEY CONTENT CLASS HTML-ID
Attached a menu bar drop-down to a
CLOG-WEB-MENU-BAR
[class] CLOG-WEB-MENU-ITEM CLOG-SPAN
Menu item
[generic-function] CREATE-WEB-MENU-ITEM CLOG-WEB-MENU-DROP-DOWN &KEY CONTENT LINK ON-CLICK CLASS HTML-ID
Attached a menu item to a
CLOG-WEB-MENU-DROP-DOWN. Use to set a link or on-click to set an on-click handler
[generic-function] CREATE-WEB-MENU-FULL-SCREEN CLOG-WEB-MENU-BAR &KEY HTML-ID
Add as last item in menu bar to allow for a full screen icon ⤢ and full screen mode.
[generic-function] CREATE-WEB-MENU-ICON CLOG-WEB-MENU-BAR &KEY IMAGE-URL ON-CLICK CLASS HTML-ID
Add icon as menu bar item.
CLOG-WEB - Interactions
[function] CLOG-WEB-ALERT OBJ TITLE CONTENT &KEY (COLOR-CLASS "w3-red") (TIME-OUT
NIL) (PLACE-TOPNIL) (HTML-IDNIL)Create an alert toast with option
:TIME-OUT. If place-top is t then alert is placed in DOM at top ofOBJinstead of bottom ofOBJ.
[function] CLOG-WEB-FORM OBJ CONTENT FIELDS ON-INPUT &KEY (MODAL
@@ -7830,39 +9930,50 @@ if confirmed or nil if canceled.NIL) (OK-TEXT "OK") (CANCEL-TEXT "Cancel") (BORDER-CLASS "w3-border") (TEXT-CLASS "w3-text-black") (COLOR-CLASS "w3-black") (HTML-IDNIL)CANCEL-TEXTis only displayed if mIf clog-web-site is being used the class class setting will be replaced with the value if set in the theme settings.
[function] FORM-RESULT RESULT KEY
Return the value for
KEYfromRESULT
CLOG-WEB - Websites
[class] CLOG-WEB-SITE
Website information
[generic-function] CREATE-WEB-SITE CLOG-OBJ &KEY SETTINGS PROFILE ROLES THEME URL TITLE FOOTER LOGO
Attach a clog-web-site to a
CLOG-OBJgenerally a clog-body.
[generic-function] GET-WEB-SITE CLOG-OBJ
Retrieve the clog-web-site object created on
CLOG-OBJ's connection
[generic-function] CREATE-WEB-PAGE CLOG-OBJ PAGE PROPERTIES &KEY AUTHORIZE
@@ -7873,184 +9984,247 @@ pages see clog-web-themes file. IfAUTHORIZEthenPAGEaCLOG-Auth action to be checked if the current users roles have permission toPAGE
CLOG-WEB-SITE - Accessors
- [generic-function] THEME OBJECT
- [generic-function] SETTINGS OBJECT
- [generic-function] PROFILE OBJECT
- [generic-function] ROLES OBJECT
[generic-function] URL CLOG-LOCATION
Get/Setf full url. Setting the
URLcauses navgation toURL.
[generic-function] TITLE CLOG-DOCUMENT
Get/setf title.
- [generic-function] FOOTER OBJECT
- [generic-function] LOGO OBJECT
CLOG-WEB - Utilities
[function] CLOG-WEB-ROUTES-FROM-MENU MENU
Use a menu to setup a route for each menu item that has a third element.
[function] CLOG-WEB-META DESCRIPTION
Returns a boot-function for use with
CLOG:INITIALIZEto add meta and no-script body information for search engines withDESCRIPTION.
[function] BASE-URL-P BASE-URL URL-PATH
True if url-path is based on base-url
[function] ADJUST-FOR-BASE-URL BASE-URL URL-PATH
If url-path is not on base-url return base-url otherwise url-path
[function] BASE-URL-SPLIT BASE-URL URL-PATH
Split path by / adjusting for base-url
+
22 CLOG Web DBI
+[in package CLOG-WEB-DBI]
+Authentication
+ +[function] LOGIN BODY SQL-CONNECTION USERNAME PASSWORD
Login and set current authentication token, it does not remove token if one is present and login fails.
[function] LOGOUT BODY
Logout and remove current authenitcation token
[function] GET-PROFILE OBJ SQL-CONNECTION
Retrieve profile based on current authentication token. If there is no token or fails to match as user returns nil
[function] SIGN-UP BODY SQL-CONNECTION &KEY (TITLE "Sign Up") (NEXT-STEP "/login")
Setup a sign-up form and process a new sign-up
[function] CHANGE-PASSWORD BODY SQL-CONNECTION &KEY (TITLE "Change Password") (NEXT-STEP "/")
Setup a change password form and handle change of password
[function] RESET-PASSWORD SQL-CONNECTION USERNAME &KEY (NEW-PASSWORD "password")
Reset
USERNAME's password to:NEW-PASSWORD
[function] MAKE-TOKEN
Create a unique token used to associate a browser with a user
[function] LOAD-CONTENT SQL-CONNECTION TABLE KEY-VALUE &KEY (KEY-COL "key") WHERE ORDER-BY
Returns list of records found in
TABLEwhereKEY-COL=KEY-VALUEand optionalWHEREandORDER-BYsql.
[function] CREATE-BASE-TABLES SQL-CONNECTION &KEY (SQL-TIMESTAMP-FUNC
*SQLITE-TIMESTAMP*)Create default tables
+
23 CLOG Web Site Themes
+[in package CLOG-WEB]
+Theme helpers
+ +[function] GET-SETTING WEBSITE KEY DEFAULT
Return the setting for
KEYorDEFAULTfrom website settings
[function] GET-PROPERTY PROPERTIES KEY DEFAULT
Return the property for
KEYfrom the p-listPROPERTIESorDEFAULT
Built in themes
+ +[function] DEFAULT-THEME BODY PAGE PROPERTIES
@@ -8066,21 +10240,30 @@ Page properties: :menu - (("Menu Name" (("Menu Item" "link")))) (def: nil) :content - (def: "")
+
24 CLOG Body Objects
+CLOG-Body - CLOG Body Objects
+ +[class] CLOG-BODY CLOG-ELEMENT
CLOG Body Object encapsulate the view in the window.
CLOG-Body - Properties
+ +[generic-function] RUN CLOG-BODY
@@ -8090,63 +10273,83 @@ connection has been severed, acting like an on-close event, only lisp objects still exist at this point and no queries can be made to browser or DOM elements.
[generic-function] SET-HTML-ON-CLOSE CLOG-BODY HTML
In case of connection loss to this
CLOG-BODY, replace the browser contents withHTML.
[generic-function] WINDOW CLOG-BODY
Reader for CLOG-Window object
[generic-function] HTML-DOCUMENT CLOG-BODY
Reader for CLOG-Document object
[generic-function] LOCATION CLOG-BODY
Reader for CLOG-Location object
[generic-function] NAVIGATOR CLOG-BODY
Reader for CLOG-Navigator object
+
25 CLOG Window Objects
+CLOG Popups
+ +[variable] *CLOG-POPUP-PATH* "/clogwin"
Default
URLfor popup windows
[function] ENABLE-CLOG-POPUP &KEY (PATH
*CLOG-POPUP-PATH*) (BOOT-FILE "/boot.html")Enable handling of clog enabled popups
[generic-function] OPEN-CLOG-POPUP CLOG-OBJ &KEY PATH ADD-SYNC-TO-PATH SYNC-KEY NAME SPECS WAIT-TIMEOUT
@@ -8156,206 +10359,265 @@ and are more flexible than using open-windo. Returns the clog-body and the clog-window in the same connnection as obj of the new window on the new connection or nil if failed within:WAIT-TIMEOUT
[generic-function] CLOG-POPUP-OPENNED CLOG-OBJ SYNC-KEY
Used to notify open-clog-popup the new popup window is ready used for custom clog-popup handlers.
[generic-function] IN-CLOG-POPUP-P CLOG-OBJ
Returns obj if clog-gui-window is a in a clog-popup window
CLOG-Window - CLOG Window Objects
+ +[class] CLOG-WINDOW CLOG-OBJ
CLOG Window Objects encapsulate the window.
CLOG-Window - Properties
+ +[generic-function] WINDOW-NAME CLOG-WINDOW
Get/Setf name for use by hyperlink "target" for this window.
[generic-function] URL-REWRITE CLOG-WINDOW REWRITE-URL
Rewrite browser history and url with
REWRITE-URLno redirection of browser takes place.REWRITE-URLmust be same domain.
[generic-function] INNER-HEIGHT CLOG-ELEMENT
Get/Setf inner-height. Includes padding but not border.
[generic-function] INNER-WIDTH CLOG-ELEMENT
Get/Setf inner-width. Includes padding but not border.
[generic-function] OUTER-HEIGHT CLOG-ELEMENT
Get outer-height. Includes padding and border but not margin.
[generic-function] OUTER-WIDTH CLOG-ELEMENT
Get outer-width. Includes padding and border but not margin.
[generic-function] X-OFFSET CLOG-WINDOW
Get/Setf browser window x offset from left edge.
[generic-function] Y-OFFSET CLOG-WINDOW
Get/Setf browser window y offset from top edge.
[generic-function] LEFT CLOG-ELEMENT
Get/Setf left (defaults to us :px units).
[generic-function] TOP CLOG-ELEMENT
Get/Setf top (defaults to use :px units).
[generic-function] PIXEL-RATIO CLOG-WINDOW
Get device pixel ratio.
[generic-function] SCREEN-WIDTH CLOG-WINDOW
Get screen width.
[generic-function] SCREEN-HEIGHT CLOG-WINDOW
Get screen height.
[generic-function] SCREEN-AVAILABLE-WIDTH CLOG-WINDOW
Get available screen width.
[generic-function] SCREEN-AVAILABLE-HEIGHT CLOG-WINDOW
Get available screen height.
[generic-function] SCREEN-AVAILABLE-TOP CLOG-WINDOW
Get available screen top.
[generic-function] SCREEN-AVAILABLE-LEFT CLOG-WINDOW
Get available screen left.
[generic-function] SCREEN-COLOR-DEPTH CLOG-WINDOW
Get screen color depth.
CLOG-Window - Methods
+ +[generic-function] ALERT CLOG-WINDOW MESSAGE
Launch an alert box. Note that as long as not dismissed events and messages may not be trasmitted on most browsers.
[generic-function] LOG-CONSOLE CLOG-WINDOW MESSAGE
Print message to browser console.
[generic-function] LOG-ERROR CLOG-WINDOW MESSAGE
Print error message to browser console.
[generic-function] PRINT-WINDOW CLOG-WINDOW
Send browser window to printer.
[generic-function] SCROLL-BY CLOG-WINDOW X Y
Scroll browser window by x y.
[generic-function] SCROLL-TO CLOG-WINDOW X Y
Scroll browser window to x y.
[generic-function] OPEN-WINDOW CLOG-WINDOW URL &KEY NAME SPECS
@@ -8364,22 +10626,28 @@ events and messages may not be trasmitted on most browsers.
In modern browsers it is very limitted to just open a new tab with url
unless is a localhost url.
[generic-function] CLOSE-WINDOW CLOG-WINDOW
Close browser window.
[generic-function] CLOSE-CONNECTION CLOG-WINDOW
Close connection to browser with out closing browser.
[generic-function] REQUEST-ANIMATION-FRAME CLOG-WINDOW
@@ -8388,25 +10656,32 @@ on the next screen redraw. This event only fires one time per request. The data parementer of the event function contains the time stamp to the millisecond.
CLOG-Window - Events
+ +[generic-function] SET-ON-ABORT CLOG-WINDOW ON-ABORT-HANDLER
Set the
ON-ABORT-HANDLERforCLOG-OBJ. IfON-ABORT-HANDLERis nil unbind the event.
[generic-function] SET-ON-ERROR CLOG-WINDOW ON-ERROR-HANDLER
Set the
ON-ERROR-HANDLERforCLOG-OBJ. IfON-ERROR-HANDLERis nil unbind the event.
[generic-function] SET-ON-BEFORE-UNLOAD CLOG-WINDOW ON-BEFORE-UNLOAD-HANDLER
@@ -8414,24 +10689,30 @@ is nil unbind the event.
Return and empty string in order to prevent navigation off page.
If
ON-BEFORE-UNLOAD-HANDLER is nil unbind the event.
[generic-function] SET-ON-HASH-CHANGE CLOG-WINDOW ON-HASH-CHANGE-HANDLER
Set the
ON-HASH-CHANGE-HANDLERforCLOG-OBJ. IfON-HASH-CHANGE-HANDLERis nil unbind the event.
[generic-function] SET-ON-ORIENTATION-CHANGE CLOG-WINDOW ON-ORIENTATION-CHANGE-HANDLER
Set the
ON-ORIENTATION-CHANGE-HANDLERforCLOG-OBJ. IfON-ORIENTATION-CHANGE-HANDLERis nil unbind the event.
[generic-function] SET-ON-ANIMATION-FRAME CLOG-WINDOW ON-ANIMATION-FRAME-HANDLER
@@ -8439,171 +10720,224 @@ IfON-ORIENTATION-CHANGE-HANDLERis nil unbind the event.
parameter of the function is the time stamp. If
ON-ANIMATION-FRAME-HANDLER is nil unbind the event.
[generic-function] MOVE-WINDOW-BY CLOG-WINDOW X Y
Move browser window by x y.
[generic-function] MOVE-WINDOW-TO CLOG-WINDOW X Y
Move browser window to x y.
[generic-function] RESIZE-BY CLOG-WINDOW X Y
Resize browser window by x y.
[generic-function] RESIZE-TO CLOG-WINDOW X Y
Resize browser window to x y.
CLOG-Window - History
+ +[generic-function] SET-ON-POP-STATE CLOG-WINDOW ON-POP-STATE-HANDLER
Set the
ON-POP-STATE-HANDLERforCLOG-WINDOW. IfON-POP-STATE-HANDLERis nil unbind the event.
[generic-function] URL-PUSH-STATE CLOG-WINDOW REWRITE-URL
Method adds an entry to the browser's session history stack.
CLOG-Window - Storage Methods
+ +- [type] STORAGE-TYPE
[generic-function] STORAGE-LENGTH CLOG-WINDOW STORAGE-TYPE
Number of entries in browser
STORAGE-TYPE. (local = persistant or session)
[generic-function] STORAGE-KEY CLOG-WINDOW STORAGE-TYPE KEY-NUM
Return the key for entry number
KEY-NUMin browserSTORAGE-TYPE. (local = persistant or session)
[generic-function] STORAGE-REMOVE CLOG-WINDOW STORAGE-TYPE KEY-NAME
Remove the storage key and value in browser
STORAGE-TYPE. (local = persistant or session)
[generic-function] STORAGE-ELEMENT CLOG-WINDOW STORAGE-TYPE KEY-NAME
Get/Setf storage-element on browser client.
CLOG-Window - Storage Events
+ +[generic-function] SET-ON-STORAGE CLOG-WINDOW ON-STORAGE-HANDLER
Set the
ON-STORAGE-HANDLERforCLOG-OBJ. The on-storage event is fired for changes to :local storage keys.
+
26 CLOG Document Objects
+CLOG-Document - CLOG Document Objects
+ +[class] CLOG-DOCUMENT CLOG-OBJ
CLOG Document Objects encapsulate the document.
[generic-function] DOMAIN CLOG-DOCUMENT
Get domain.
[generic-function] INPUT-ENCODING CLOG-DOCUMENT
Get input encoding.
[generic-function] LAST-MODIFIED CLOG-DOCUMENT
Get last modified.
[generic-function] REFERER CLOG-DOCUMENT
Get referer.
[generic-function] TITLE CLOG-DOCUMENT
Get/setf title.
[generic-function] DOCUMENT-URL CLOG-DOCUMENT
Get url.
[generic-function] HEAD-ELEMENT CLOG-DOCUMENT
Reader for Head Element object
- [generic-function] BODY-ELEMENT OBJECT
[generic-function] DOCUMENT-ELEMENT CLOG-DOCUMENT
Reader for Body Element object
[generic-function] VISIBILITY-STATE CLOG-DOCUMENT
@@ -8612,8 +10946,10 @@ browser is in non-minmized state and is partialy visible and 'hidden' is browser is minimized or no part of page is visible including an OS screen lock.
[generic-function] READY-STATE CLOG-DOCUMENT
@@ -8623,8 +10959,10 @@ Under normal circumstance there is no need in CLOG to check if the state is read as on-new-window is only called once one can interact with page. See alsoSET-ON-READY-STATE-CHANGE
[generic-function] LOAD-CSS CLOG-DOCUMENT CSS-URL &KEY LOAD-ONLY-ONCE
@@ -8632,8 +10970,10 @@ as on-new-window is only called once one can interact with page. See also returns t if load-css previously called otherwise loads the css and returns css-url.
[generic-function] LOAD-SCRIPT CLOG-DOCUMENT SCRIPT-URL &KEY WAIT-FOR-LOAD WAIT-TIMEOUT LOAD-ONLY-ONCE
@@ -8642,45 +10982,58 @@ is t, load-script will not return until script load is completed orWAIT-TIMEOUTpasses and load-script returns nil otherwise script-url. IfLOAD-ONLY-ONCEis t first checks if previously loaded with load-script.
[generic-function] PUT CLOG-DOCUMENT MESSAGE
Write text to browser document object.
[generic-function] PUT-LINE CLOG-DOCUMENT MESSAGE
Write text to browser document object with new-line.
[generic-function] PUT-BR CLOG-DOCUMENT MESSAGE
Write text to browser document object with
new-line.
[generic-function] NEW-LINE CLOG-DOCUMENT
Write to browser document
new-line.
CLOG-Document - Events
+ +[generic-function] SET-ON-FULL-SCREEN-CHANGE CLOG-DOCUMENT ON-FULL-SCREEN-CHANGE-HANDLER
Set the
ON-FULL-SCREEN-CHANGE-HANDLERforCLOG-OBJ. IfON-FULL-SCREEN-CHANGE-HANDLERis nil unbind the event.
[generic-function] SET-ON-VISIBILITY-CHANGE CLOG-DOCUMENT ON-VISIBILITY-CHANGE-HANDLER
@@ -8690,16 +11043,20 @@ is fired when the page visibility has changed such as a tab being switch of browser minimized. Use theVISIBILITY-STATEproperty to identify chage.
[generic-function] SET-ON-READY-STATE-CHANGE CLOG-DOCUMENT ON-READY-STATE-CHANGE-HANDLER
Set the
ON-READY-STATE-CHANGE-HANDLERforCLOG-OBJ. IfON-READY-STATE-CHANGE-HANDLERis nil unbind the event.
[generic-function] SET-ON-LOAD-SCRIPT CLOG-DOCUMENT HANDLER &KEY CANCEL-EVENT ONE-TIME
@@ -8707,178 +11064,239 @@ IfON-READY-STATE-CHANGE-HANDLERis nil unbind the event.
the handler (clog-obj data) data is the script-url used to load it.
The handler should be installed on the document before calling load-script.
+
27 CLOG Location Objects
+Clog-Location - CLOG Location Objects
+ +[class] CLOG-LOCATION CLOG-OBJ
CLOG Location Objects encapsulate the location.
CLOG-Location - Properties
+ +[generic-function] URL CLOG-LOCATION
Get/Setf full url. Setting the
URLcauses navgation toURL.
[generic-function] HASH CLOG-LOCATION
Get/Setf url hash.
[generic-function] HOST CLOG-LOCATION
Get/Setf url host.
[generic-function] HOST-NAME CLOG-LOCATION
Get/Setf url host name.
[generic-function] ORIGIN CLOG-LOCATION
Get url origin.
[generic-function] PATH-NAME CLOG-LOCATION
Get/Setf url path-name.
[generic-function] PORT CLOG-LOCATION
Get/Setf url port.
[generic-function] PROTOCOL CLOG-LOCATION
Get/Setf url protocol.
[generic-function] URL-SEARCH CLOG-LOCATION
Get/Setf url-search.
CLOG-Location - Methods
+ +[generic-function] RELOAD CLOG-LOCATION
Reload browser window.
[generic-function] URL-REPLACE CLOG-LOCATION REPLACE-URL
Replace browser url, i.e. a redirection and current
URLnot saved in session history and back button will not return to it.
[generic-function] URL-ASSIGN CLOG-LOCATION ASSIGN-URL
Assign browser url, i.e. a redirection to assign-url that will be saved in session histoy and back button will return to it.
+
28 CLOG Navigator Objects
+CLOG-Navigator - CLOG Navigator Objects
+ +[class] CLOG-NAVIGATOR CLOG-OBJ
CLOG Navigator Objects encapsulate the navigator.
CLOG-Navigator - Properties
+ +[generic-function] COOKIE-ENABLED-P CLOG-NAVIGATOR
Get if cookie enabled.
[generic-function] LANGUAGE CLOG-NAVIGATOR
Get user prefered language.
[generic-function] USER-AGENT CLOG-NAVIGATOR
Get user agent.
[generic-function] VENDOR CLOG-NAVIGATOR
Get browser vendor.
CLOG-Navigator - Clipboard
+ +[generic-function] SYSTEM-CLIPBOARD-WRITE CLOG-OBJ TEXT
Write text to system clipboard
[generic-function] SYSTEM-CLIPBOARD-READ CLOG-OBJ &KEY WAIT-TIMEOUT
Read text from system clipboard and return text.
+
29 CLOG jQuery Objects
+CLOG-jQuery - Base class for CLOG jQuery Objects
+ +[class] CLOG-JQUERY CLOG-ELEMENT
CLOG jQuery objects. A jQuery representa DOM queries that can represent one or even many CLOG objects as a single element.
CLOG-jQuery creation
+ +[generic-function] CREATE-JQUERY CLOG-OBJ JQUERY
@@ -8890,87 +11308,114 @@ Some sample jquery selectors: #id selector1, selectorN, ...
CLOG-jQuery methods
+ +[generic-function] JQUERY CLOG-OBJ
Return the jQuery accessor for and
CLOG-OBJ.
[generic-function] JQUERY-EXECUTE CLOG-OBJ METHOD
Execute the jQuery
METHODon andCLOG-OBJ. Result is dicarded, returnsCLOG-OBJ.
[generic-function] JQUERY-QUERY CLOG-OBJ METHOD &KEY DEFAULT-ANSWER
Execute the jQuery
METHODon ANYCLOG-OBJand return result orDEFAULT-ANSWERon time out.
[generic-function] JQUERY-TRIGGER CLOG-OBJ EVENT
Trigger
EVENTonCLOG-OBJ. Result is discarded, returnsCLOG-OBJ.
+
30 CLOG Helper Functions
+Tutorial and demo helpers
+ +[function] CLOG-INSTALL-DIR
Return the directory CLOG was installed in.
[function] OPEN-MANUAL
Launches a browser with CLOG manual.
[function] RUN-TUTORIAL NUM
Run tutorial
NUM
[function] LOAD-TUTORIAL NUM
Load tutorial
NUM- use (clog:run-tutorial)
[function] RUN-DEMO NUM
Run demo
NUM
[function] LOAD-DEMO NUM
Load demo
NUM- use (clog:run-demo)
[function] CLOG-REPL &KEY (CLOG-GUI-INITIALIZE
@@ -8981,95 +11426,128 @@ clog-web and clog-gui are initialized and if use-clog-debugger it set to true it is initialized and this repl window used as default clog debug display and debugger display for clog events.T) (CLOG-WEB-INITIALIZET) (USE-CLOG-DEBUGGERNIL) (BOOT-FILE "/debug.html") (PORT 8080)
[function] SAVE-BODY-TO-FILE FILE-NAME &KEY (BODY
CLOG-USER:*BODY*) (IF-EXISTS:ERROR) IF-DOES-NOT-EXIST EXTERNAL-FORMATSave the current html of
BODYin the current state toFILE-NAME
Functions for Compilation and Documentation
+ +[function] LOAD-WORLD
Load source files for creating documentation
[function] MAKE-MARK-DOWN
Create manual in Mark Down format
[function] MAKE-HTML
Create manual in
HTML
- [function] MAKE-WORLD
+
31 CLOG Framework internals and extensions
+* Introduction to Internals *
+This section on internals is not intended for general use of CLOG. It is for those looking to maint or extend CLOG, or those creating plugins.
+* The Client Side and the Server Side *
+All objects created in CLOG have a server side and a client side representation, at least at the time of their creation. The server side representation is a CLOG-obj or one of its descendants that is returned by one of the many create-* functions. The client side representation is the DOM element (or other JavaScript object) itself stored in the clog array keyed by the html-id clog[html-id].
+* Client Side Scripting *
+Executing code on the client side is done in one of three ways:
+The connection - Using the clog-connection package execute or query
The DOM object - Using the clog-obj execute or query
The jQuery wrapper - Using the clog-obj jquery-execute or jquery-query
Query time outs are set in clog-connect:*query-time-out* by default 3 seconds.
+* Responding to new JavaScript DOM events *
+If there is no data for the event just changing the name of the event is sufficient in this example:
+(defmethod set-on-click ((obj clog-obj) handler)
(set-event obj "click"
(when handler
(lambda (data)
(declare (ignore data))
(funcall handler obj)))))
+
If there is data for the event an additional string containing the needed JavaScript to return the even data and a function to parse out the data.
+Replace the event name with the correct name, parse-keyboard-even with the parse function and the string containing the needed JavaScript replaces keyboard-event-script:
+- The event handlers setter
(defmethod set-on-key-down ((obj clog-obj) handler)
(set-event obj "keydown"
(when handler
(lambda (data)
(funcall handler obj (parse-keyboard-event data))))
:call-back-script keyboard-event-script))
+
- The script
(defparameter keyboard-event-script
"+ e.keyCode + ':' + e.charCode + ':' + e.altKey + ':' + e.ctrlKey + ':' +
e.shiftKey + ':' + e.metaKey")
+
- The event parser
(defun parse-keyboard-event (data)
(let ((f (ppcre:split ":" data)))
(list
diff --git a/doc/live.js b/doc/live.js
new file mode 100644
index 0000000..d7ada3c
--- /dev/null
+++ b/doc/live.js
@@ -0,0 +1,47 @@
+function mglpaxAddDocumentListener() {
+ const paxToDocument = document.getElementById('paxToDocument');
+ paxToDocument.addEventListener('keypress', function(event) {
+ if (event.key === 'Enter') {
+ const inputText = paxToDocument.value;
+ const url = new URL(window.location.href);
+ const baseUrl = url.origin +
+ url.pathname.substring(0, url.pathname.lastIndexOf('/') + 1);
+ window.location.href = baseUrl + "pax:" + inputText + url.search;
+ }
+ });
+}
+
+function mglpaxAddAproposListener() {
+ const paxToApropos = document.getElementById('paxToApropos');
+ paxToApropos.addEventListener('keypress', function(event) {
+ if (event.key === 'Enter') {
+ const inputText = paxToApropos.value;
+ const url = new URL(window.location.href);
+ const baseUrl = url.origin +
+ url.pathname.substring(0, url.pathname.lastIndexOf('/') + 1);
+ window.location.href = baseUrl + "pax-eval:" +
+ '(mgl-pax::pax-apropos* ' +
+ encodeURIComponent(toLispLiteralString(inputText)) +
+ ' t nil nil)' + url.search;
+ }
+ });
+}
+
+function toLispLiteralString(str) {
+ let literal = '"'; // Start with an opening double quote
+ for (let i = 0; i < str.length; i++) {
+ const char = str[i];
+ switch (char) {
+ case '"':
+ literal += '\\"';
+ break;
+ case '\\':
+ literal += '\\\\';
+ break;
+ default:
+ literal += char;
+ }
+ }
+ literal += '"'; // End with a closing double quote
+ return literal;
+}
diff --git a/doc/style.css b/doc/style.css
index fe4aa56..c5617f6 100644
--- a/doc/style.css
+++ b/doc/style.css
@@ -39,7 +39,6 @@
body {
font-family: var(--font-family);
- font-feature-settings: var(--font-feature-settings);
margin: auto;
background-color: #faf9f6;
color: #333;
@@ -74,7 +73,6 @@ ul + p, ol + p, dl + p {
h1 {
font-family: var(--font-family-heading);
- font-feature-settings: var(--font-feature-settings-heading);
font-weight: normal;
text-transform: uppercase;
letter-spacing: 0.18em;
@@ -185,18 +183,32 @@ ul, ol, dl {
margin: 0;
}
-a {
- /* text-decoration: none; */
- /* color: #0233c8; */
+a, a .mjx-math * {
color: #333;
+ text-decoration: underline;
text-decoration-thickness: 0.04em;
text-underline-offset: 0.1em;
}
-a:hover {
+h1 a .mjx-math *,
+h2 a .mjx-math *,
+h3 a .mjx-math *,
+h4 a .mjx-math *,
+h5 a .mjx-math *,
+h6 a .mjx-math * {
+ text-decoration: none;
+}
+
+a:hover, a:hover .mjx-math * {
text-decoration: underline;
}
+/* MathJax subscripts, accents, etc */
+a .mjx-sub *, a:hover .mjx-sub *,
+a .mjx-over *, a:hover .mjx-over * {
+ text-decoration: none;
+}
+
img {
display: block;
max-width: 90%;
@@ -215,13 +227,15 @@ img {
/* background-color: #EEEEEE; */
}
-.locative-type a {
- text-decoration: none;
- border-bottom: 0;
+.locative-type {
font-weight: bold;
color: #444;
}
+.locative-type a {
+ text-decoration: none;
+}
+
.reference-object {
background-color: #EBE8E2;
/* The live browser does not lowercase. Balance the space around
@@ -234,7 +248,7 @@ img {
font-size: 98%;
}
-.reference-object a {
+.reference-object a, .reference-object a * {
text-decoration: none;
border-bottom: none;
}
@@ -244,7 +258,8 @@ img {
}
.locative-args code {
- font-family: sans-serif;
+ font-family: var(--font-family);
+ font-size: 1rem;
}
.navigation a {
@@ -301,24 +316,24 @@ img {
/* Syntax highlighting with Colorize */
-.symbol { color : #770055; background-color : transparent; border: 0px; margin: 0px;}
-a.symbol:link { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
-a.symbol:active { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
-a.symbol:visited { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
-a.symbol:hover { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
-.special { color : #FF5000; background-color : inherit; }
-.keyword { color : #770000; background-color : inherit; }
-.comment { color : #007777; background-color : inherit; }
-.string { color : #777777; background-color : inherit; }
-.atom { color : #314F4F; background-color : inherit; }
-.macro { color : #FF5000; background-color : inherit; }
-.variable { color : #36648B; background-color : inherit; }
-.function { color : #8B4789; background-color : inherit; }
-.attribute { color : #FF5000; background-color : inherit; }
-.character { color : #0055AA; background-color : inherit; }
-.syntaxerror { color : #FF0000; background-color : inherit; }
-.diff-deleted { color : #5F2121; background-color : inherit; }
-.diff-added { color : #215F21; background-color : inherit; }
+.symbol { color: #770055; font-style: normal; background-color: transparent; border: 0px; margin: 0px;}
+a.symbol:link { color: #229955; background-color: transparent; text-decoration: none; border: 0px; margin: 0px; }
+a.symbol:active { color: #229955; background-color: transparent; text-decoration: none; border: 0px; margin: 0px; }
+a.symbol:visited { color: #229955; background-color: transparent; text-decoration: none; border: 0px; margin: 0px; }
+a.symbol:hover { color: #229955; background-color: transparent; text-decoration: none; border: 0px; margin: 0px; }
+.special { color: #FF5000; background-color: inherit; }
+.keyword { color: #770000; background-color: inherit; }
+.comment { color: #007777; background-color: inherit; }
+.string { color: #777777; background-color: inherit; }
+.atom { color: #314F4F; background-color: inherit; }
+.macro { color: #FF5000; background-color: inherit; }
+.variable { color: #36648B; background-color: inherit; }
+.function { color: #8B4789; background-color: inherit; }
+.attribute { color: #FF5000; background-color: inherit; }
+.character { color: #0055AA; background-color: inherit; }
+.syntaxerror { color: #FF0000; background-color: inherit; }
+.diff-deleted { color: #5F2121; background-color: inherit; }
+.diff-added { color: #215F21; background-color: inherit; }
/* Disable rainbow nesting on hover */
@@ -368,7 +383,8 @@ a.symbol:hover { color : #229955; background-color : transparent; text-decoratio
line-height: 1.0;
}
-#toc a {
+#toc a,
+#toc a * {
text-decoration: none;
border-bottom: none;
}
@@ -406,7 +422,8 @@ a.symbol:hover { color : #229955; background-color : transparent; text-decoratio
box-shadow: inset -5px 0px 10px -5px #000;
}
-#page-toc a {
+#page-toc a,
+#page-toc a * {
color: #fff;
}
@@ -415,6 +432,10 @@ a.symbol:hover { color : #229955; background-color : transparent; text-decoratio
margin-bottom: 1em;
}
+#link-to-home {
+ padding-left: 0;
+}
+
.menu-block-title {
font-size: 90%;
}
@@ -432,3 +453,7 @@ a.symbol:hover { color : #229955; background-color : transparent; text-decoratio
font-size: 80%;
color: #777777;
}
+
+#paxToDocument, #paxToApropos {
+ min-width: 17em;
+}
diff --git a/doc/toc.min.js b/doc/toc.min.js
index 536b8c7..6d0b85e 100644
--- a/doc/toc.min.js
+++ b/doc/toc.min.js
@@ -5,4 +5,4 @@
* copyright Greg Allen 2014
* MIT License
*/
-!function(a){a.fn.smoothScroller=function(b){b=a.extend({},a.fn.smoothScroller.defaults,b);var c=a(this);return a(b.scrollEl).animate({scrollTop:c.offset().top-a(b.scrollEl).offset().top-b.offset},b.speed,b.ease,function(){var a=c.attr("id");a.length&&(history.pushState?history.pushState(null,null,"#"+a):document.location.hash=a),c.trigger("smoothScrollerComplete")}),this},a.fn.smoothScroller.defaults={speed:400,ease:"swing",scrollEl:"body,html",offset:0},a("body").on("click","[data-smoothscroller]",function(b){b.preventDefault();var c=a(this).attr("href");0===c.indexOf("#")&&a(c).smoothScroller()})}(jQuery),function(a){var b={};a.fn.toc=function(b){var c,d=this,e=a.extend({},jQuery.fn.toc.defaults,b),f=a(e.container),g=a(e.selectors,f),h=[],i=e.activeClass,j=function(b,c){if(e.smoothScrolling&&"function"==typeof e.smoothScrolling){b.preventDefault();var f=a(b.target).attr("href");e.smoothScrolling(f,e,c)}a("li",d).removeClass(i),a(b.target).parent().addClass(i)},k=function(){c&&clearTimeout(c),c=setTimeout(function(){for(var b,c=a(window).scrollTop(),f=Number.MAX_VALUE,g=0,j=0,k=h.length;k>j;j++){var l=Math.abs(h[j]-c);f>l&&(g=j,f=l)}a("li",d).removeClass(i),b=a("li:eq("+g+")",d).addClass(i),e.onHighlight(b)},50)};return e.highlightOnScroll&&(a(window).bind("scroll",k),k()),this.each(function(){var b=a(this),c=a(e.listType);g.each(function(d,f){var g=a(f);h.push(g.offset().top-e.highlightOffset);var i=e.anchorName(d,f,e.prefix);if(f.id!==i){a("").attr("id",i).insertBefore(g)}var l=a("").text(e.headerText(d,f,g)).attr("href","#"+i).bind("click",function(c){b.trigger("selected",a(this).attr("href"))}),m=a("").addClass(e.itemClass(d,f,g,e.prefix)).append(l);c.append(m)}),b.html(c)})},jQuery.fn.toc.defaults={container:"body",listType:"
",selectors:"h1,h2,h3",smoothScrolling:function(b,c,d){a(b).smoothScroller({offset:c.scrollToOffset}).on("smoothScrollerComplete",function(){d()})},scrollToOffset:0,prefix:"toc",activeClass:"toc-active",onHighlight:function(){},highlightOnScroll:!0,highlightOffset:100,anchorName:function(c,d,e) {try{return d.previousElementSibling.previousElementSibling.lastChild.id;}catch(err){return e + '-' + c;}},headerText:function(a,b,c){return c.text()},itemClass:function(a,b,c,d){return d+"-"+c[0].tagName.toLowerCase()}}}(jQuery);
+!function(a){a.fn.smoothScroller=function(b){b=a.extend({},a.fn.smoothScroller.defaults,b);var c=a(this);return a(b.scrollEl).animate({scrollTop:c.offset().top-a(b.scrollEl).offset().top-b.offset},b.speed,b.ease,function(){var a=c.attr("id");a.length&&(history.pushState?history.pushState(null,null,"#"+a):document.location.hash=a),c.trigger("smoothScrollerComplete")}),this},a.fn.smoothScroller.defaults={speed:400,ease:"swing",scrollEl:"body,html",offset:0},a("body").on("click","[data-smoothscroller]",function(b){b.preventDefault();var c=a(this).attr("href");0===c.indexOf("#")&&a(c).smoothScroller()})}(jQuery),function(a){var b={};a.fn.toc=function(b){var c,d=this,e=a.extend({},jQuery.fn.toc.defaults,b),f=a(e.container),g=a(e.selectors,f),h=[],i=e.activeClass,j=function(b,c){if(e.smoothScrolling&&"function"==typeof e.smoothScrolling){b.preventDefault();var f=a(b.target).attr("href");e.smoothScrolling(f,e,c)}a("li",d).removeClass(i),a(b.target).parent().addClass(i)},k=function(){c&&clearTimeout(c),c=setTimeout(function(){for(var b,c=a(window).scrollTop(),f=Number.MAX_VALUE,g=0,j=0,k=h.length;k>j;j++){var l=Math.abs(h[j]-c);f>l&&(g=j,f=l)}a("li",d).removeClass(i),b=a("li:eq("+g+")",d).addClass(i),e.onHighlight(b)},50)};return e.highlightOnScroll&&(a(window).bind("scroll",k),k()),this.each(function(){var b=a(this),c=a(e.listType);g.each(function(d,f){var g=a(f);h.push(g.offset().top-e.highlightOffset);var i=e.anchorName(d,f,e.prefix);if(f.id!==i){a("").attr("id",i).insertBefore(g)}var l=a("").text(e.headerText(d,f,g)).attr("href","#"+i).bind("click",function(c){b.trigger("selected",a(this).attr("href"))}),m=a("").addClass(e.itemClass(d,f,g,e.prefix)).append(l);c.append(m)}),b.html(c)})},jQuery.fn.toc.defaults={container:"body",listType:"
",selectors:"h1,h2,h3",smoothScrolling:function(b,c,d){a(b).smoothScroller({offset:c.scrollToOffset}).on("smoothScrollerComplete",function(){d()})},scrollToOffset:0,prefix:"toc",activeClass:"toc-active",onHighlight:function(){},highlightOnScroll:!0,highlightOffset:100,anchorName:function(c,d,e) {try{return d.previousElementSibling.previousElementSibling.lastChild.id||(e+'-'+c);}catch(err){return e+'-'+c;}},headerText:function(a,b,c){return c.text()},itemClass:function(a,b,c,d){return d+"-"+c[0].tagName.toLowerCase()}}}(jQuery);
diff --git a/source/clog-docs.lisp b/source/clog-docs.lisp
index 671b6b3..f3500a4 100644
--- a/source/clog-docs.lisp
+++ b/source/clog-docs.lisp
@@ -303,6 +303,13 @@ Events in clog-base
:ctrl-key t or nil if ctrl-key held down
:shift-key t or nil if shift-key held down
:meta-key t or nil if meta-key held down
+
+ :event-type :wheel
+ :delta-x change in x float
+ :delta-y change in y float
+ :delta-z change in z float
+ :delta-mode unit of measure used for delta values
+ 0 - pixel 1 - line 2 - page
:event-type :pointer
:x x relative to the target