Commit 6a9aea04 authored by Dave Cooper's avatar Dave Cooper

testing quicklisp build

parent 254fb8ef
(in-package :gihad)
(define-object assembly (base-ajax-sheet)
:computed-slots
((use-jquery? t)
(additional-header-content
(with-cl-who-string ()
((:link :type "text/css" :rel "stylesheet" :href "/static/3rdpty/jquery/css/layout-default-latest.css"))
((:style :type "text/css")
"
p {
font-size: 1em;
margin: 1ex 0;
}
p.buttons {
text-align: center;
line-height: 2.5em;
}
button {
line-height: normal;
}
.hidden {
display: none;
}
/*
* Rules for simulated drop-down/pop-up lists
*/
ul {
/* rules common to BOTH inner and outer UL */
z-index: 100000;
margin: 1ex 0;
padding: 0;
list-style: none;
cursor: pointer;
border: 1px solid Black;
/* rules for outer UL only */
width: 15ex;
position: relative;
}
ul li {
background-color: #EEE;
padding: 0.15em 1em 0.3em 5px;
}
ul ul {
display: none;
position: absolute;
width: 100%;
left: -1px;
/* Pop-Up */
bottom: 0;
margin: 0;
margin-bottom: 1.55em;
}
.ui-layout-north ul ul {
/* Drop-Down */
bottom: auto;
margin: 0;
margin-top: 1.45em;
}
ul ul li { padding: 3px 1em 3px 5px; }
ul ul li:hover { background-color: #FF9; }
ul li:hover ul { display: block; background-color: #EEE; }
")))
(additional-header-js-content
(with-cl-who-string ()
((:script :type "text/javascript")
"$(document).ready(function () {
myLayout = $('body').layout({
// applyDefaultStyles: true
// enable showOverflow on west-pane so CSS popups will overlap north pane
west__showOverflowOnHover: true
// reference only - these options are NOT required because 'true' is the default
, closable: true // pane can open & close
, resizable: true // when open, pane can be resized
, slidable: true // when closed, pane can 'slide' open over other panes - closes on mouse-out
// some resizing/toggling settings
, north__slidable: false // OVERRIDE the pane-default of 'slidable=true'
, north__togglerLength_closed: '100%' // toggle-button is full-width of resizer-bar
, north__spacing_closed: 20 // big resizer-bar when open (zero height)
, south__resizable: false // OVERRIDE the pane-default of 'resizable=true'
, south__spacing_open: 0 // no resizer-bar when open (zero height)
, south__spacing_closed: 20 // big resizer-bar when open (zero height)
// some pane-size settings
, west__minSize: 100
, east__size: 300
, east__minSize: 200
, east__maxSize: Math.floor(screen.availWidth / 2) // 1/2 screen width
, center__minWidth: 100
, useStateCookie: true
});
});
")))
(main-sheet-body
(with-cl-who-string (:indent t)
((:div :class "ui-layout-center")
"This is the center pane")
((:div :class "ui-layout-north" :onmouseover "myLayout.allowOverflow('north')" :onmouseout "myLayout.resetOverflow(this)")
"This is the north pane"
(str (the development-links)))
((:div :class "ui-layout-east")
"This is the east pane")
((:div :class "ui-layout-west")
"This is the west pane")
((:div :class "ui-layout-south")
"This is the south pane")
))))
(in-package :gdl-user)
(gwl:define-package :gihad (:export #:assembly))
\ No newline at end of file
(in-package :gihad)
(publish-gwl-app "/gihad" 'assembly)
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
......@@ -46,8 +46,10 @@ o filter inspector slots to local slots
(viewport-dimensions (list :width 800 :length 550) :settable)
(uri-static-gwl "/static/gwl/")
(uri-static-gwl-styles (when (the use-jquery?) (string-append (the uri-static-gwl) "style/")))
(uri-static-gwl-images (when (the use-jquery?) (string-append (the uri-static-gwl) "images/")))
......@@ -72,21 +74,23 @@ o filter inspector slots to local slots
(additional-header-content (when (the have-valid-instance?)
(the ta2-style-view)))
(ta2-style-view (with-cl-who-string ()
((:link :type "text/css" :rel "stylesheet"
:href (the uri-style-sheet)))))
#+nil
(html-sections (list (the tree)
(the tree-status-object)
(the viewport)
(the inspector)
(the viewport-status-object)
(the image-status-object)
(the menu-section)
))
(html-sections (remove nil
(list (the tree)
(the tree-status-object)
(the viewport)
(when (and (eql (the viewport image-format) :x3dom)
(not (the viewport no-graphics?)))
(the viewport x3dom-div))
(the inspector)
(the viewport-status-object)
(the image-status-object)
(the menu-section)
)))
(root-object-type 'null-part :settable)
......
......@@ -42,8 +42,14 @@ This computed-slot contains javascript files, found in the *gdl-install-dir*
and used throughout the yadd pages for the generation of automatic search forms (like the master-index).
The javascript loaded is jquery."
additional-header-js (with-cl-who-string ()
;;
;; FLAG -- base jquery should come with base-ajax-sheet.
;;
#+nil
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery-1.3.2.min.js"))
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery.quicksearch.js"))))
......
......@@ -239,12 +239,25 @@ bottom of the graphics inside a table."
:choice-list (plist-keys (the standard-views))
;;:default :top
:default (the view-direction-default)
))
)
)
:functions
((reset-zoom!
()
(the view-object (restore-slot-defaults! (list :user-center :user-scale))))))
(the view-object (restore-slot-defaults! (list :user-center :user-scale))))
("Void. Writes an embedded X3D tag with content for the <tt>view-object</tt> child of this object.
The <tt>view-object</tt> child should exist and be of type <tt>web-drawing</tt>."
write-embedded-x3dom-world
(&key (include-view-controls? nil))
(write-the (embedded-x3dom-world :include-view-controls? include-view-controls?)))))
......@@ -297,6 +310,57 @@ position: relative;
(str raphael-string))))))))))
("Void. Writes an embedded X3D tag and included content for the <tt>view-object</tt> child of this object.
The <tt>view-object</tt> child should exist and be of type <tt>web-drawing</tt>."
embedded-x3dom-world
(&key (include-view-controls? nil))
(declare (ignore include-view-controls?))
;; (the (restore-slot-default! :js-to-eval))
(cl-who:with-html-output (*stream*)
(when (typep (the :view-object) 'null-part)
(error "A valid :view-object of type web-drawing is required in the sheet
to call the :write-embedded-x3d-world function."))
(cond ((the no-graphics?)
#+nil
(and (null (the :view-object :object-roots))
(null (the :view-object :objects)))
(html-stream *stream*
((:table :cellspacing 0 :cellpadding 0 :bgcolor :white)
(:tr
((:td :width (the :view-object :width) :height
(the :view-object :height) :align :center :valign :center)
(:big (:b "No Graphics Object Specified")))))))
(t
(with-cl-who ()
((:table :cellspacing 0 :cellpadding 0)
(:tr ((:span :onclick (the (gdl-ajax-call :function-key :toggle-shape!))) "Toggle"))
(:tr
(:td
((:x3d :id "the_element"
:width (the view-object page-width)
:height (the view-object page-length))
(:scene
(with-format (x3d *stream*) (write-the view-object cad-output)))
((:script :type "text/javascript"
:src "/static/3rdpty/x3dom/x3dom.js" :id "xdom_script")))))
(:tr (:td ((:span :style "color: blue; cursor: pointer;"
:onclick "document.getElementById('the_element').runtime.showAll();")
"Show All")))))))))
(toggle-shape!
()
(the x3dom-div (set-slot! :box? (not (the x3dom-div box?)))))
(web3d-graphics
()
......
......@@ -42,9 +42,7 @@
)
:computed-slots
(
(view-toggle nil :settable)
((view-toggle nil :settable)
(pdf-url (let ((url
(format nil "~a~a"
......@@ -227,7 +225,11 @@
:hidden-objects
((view-object :type 'web-drawing)))
((view-object :type 'web-drawing)
))
(define-object base-html-graphics-sheet (base-html-sheet geometry-view-mixin base-object)
......@@ -449,12 +451,7 @@ display geometric parts in a GWL application.
("Void. Writes an embedded X3D tag with content for the <tt>view-object</tt> child of this object.
The <tt>view-object</tt> child should exist and be of type <tt>web-drawing</tt>."
write-embedded-x3dom-world
(&key (include-view-controls? nil))
(write-the (embedded-x3dom-world :include-view-controls? include-view-controls?)))
("Void. Writes an OBJECT tag and publishes an X3D world for the <tt>view-object</tt> child of this object.
The <tt>view-object</tt> child should exist and be of type <tt>web-drawing</tt>."
......@@ -713,51 +710,7 @@ display geometric parts in a GWL application.
(the write-image-format-selector))))))
("Void. Writes an embedded X3D tag and included content for the <tt>view-object</tt> child of this object.
The <tt>view-object</tt> child should exist and be of type <tt>web-drawing</tt>."
embedded-x3dom-world
(&key (include-view-controls? nil))
(declare (ignore include-view-controls?))
;; (the (restore-slot-default! :js-to-eval))
(cl-who:with-html-output (*stream*)
(when (typep (the :view-object) 'null-part)
(error "A valid :view-object of type web-drawing is required in the sheet
to call the :write-embedded-x3d-world function."))
(cond ((and (null (the :view-object :object-roots))
(null (the :view-object :objects)))
(html-stream *stream*
((:table :cellspacing 0 :cellpadding 0 :bgcolor :white)
(:tr
((:td :width (the :view-object :width) :height
(the :view-object :height) :align :center :valign :center)
(:big (:b "No Graphics Object Specified")))))))
(t
(with-cl-who ()
((:table :cellspacing 0 :cellpadding 0)
(:tr
(:td
((:x3d :id "the_element"
:width (the view-object page-width)
:height (the view-object page-length))
(:scene
(with-format (x3d *stream*) (write-the view-object cad-output)))
((:script :type "text/javascript"
:src "/static/3rdpty/x3dom/x3dom.js" :id "xdom_script")))))
(:tr (:td ((:span :style "color: blue; cursor: pointer;"
:onclick "document.getElementById('the_element').runtime.showAll();")
"Show All")))))))))
("Void. Writes an OBJECT tag and publishes an X3D world for the <tt>view-object</tt> child of this object.
The <tt>view-object</tt> child should exist and be of type <tt>web-drawing</tt>."
......
(in-package :gwl)
(publish :path "/x3d-box-red"
:function #'(lambda(req ent)
(with-http-response (req ent)
(with-http-body (req ent)
(let ((*stream* *html-stream*))
(with-cl-who ()
(:shape (:appearance ((:material :diffusecolor "1 0 0"))) ((:box :size "10 20 30")))))))))
(publish :path "/x3d-box-blue"
:function #'(lambda(req ent)
(with-http-response (req ent)
(with-http-body (req ent)
(let ((*stream* *html-stream*))
(with-cl-who ()
(:shape (:appearance ((:material :diffusecolor "0 0 1"))) ((:box :size "10 20 30")))))))))
\ No newline at end of file
......@@ -24,6 +24,8 @@
(defun gdlAjax (req ent)
(format t "At 1~%")
(let* ((query-plist (gwl::assoc-list-to-plist (request-query req)))
(plist (progn (when *debug?* (print-variables query-plist))
(read-safe-string
......@@ -57,7 +59,7 @@
(when *debug?*
(let ((bashee-root (the-object bashee root-path))
(respondent-root (the-object respondent root-path)))
(print-variables raw-fields bashee-root respondent-root fields)))
(print-variables raw-fields bashee-root respondent-root fields function)))
(let ((*clicked-x* (let ((string (getf query-plist :x)))
......
......@@ -263,6 +263,7 @@ UI specific jQuery Layout JavaScript."
((:a :href (the return-object url)) (str display-string))))
(update-root! ()
(format t "Updateing root...~%~%")
(unpublish-instance-urls (the instance-id) (the url))
(the root update!)
(the url)
......@@ -307,6 +308,33 @@ UI specific jQuery Layout JavaScript."
:output-functions
((main-sheet
()
(with-cl-who ()
"<!DOCTYPE HTML>"
((:html :lang "en")
(:head (:title (str (the title)))
(:meta :charset "UTF-8")
(:link :rel "icon" :type "image/x-icon" :href "/static/gwl/images/favicon.ico")
(when (the additional-header-content) (str (the additional-header-content)))
(write-the standard-javascript)
(when (the additional-header-js-content)
(str (the additional-header-js-content))))
((:body :class (the body-class)
:onload (the body-onload))
(the reset-html-sections!)
(str (the main-sheet-body))
#+nil
((:div :id (the dom-id))
(str (the main-sheet-body))
)
))))
#+nil
(main-sheet
()
;; FLAG JB-090820 ticket #69, removed the :ident t part from with-cl-who as it inserts and
;; extra newline and that causes a bug in IE(7).
......@@ -378,8 +406,9 @@ UI specific jQuery Layout JavaScript."
()
(with-cl-who ()
((:span :style "color: blue; cursor: pointer;"
:onclick (string-append (the (gdl-ajax-call :function-key :update-root!))
"; location.reload(true);"))
:onclick (string-append (the (gdl-sjax-call :function-key :update-root!))
" location.reload(true);"
))
"Update!")))
......@@ -395,19 +424,28 @@ UI specific jQuery Layout JavaScript."
(with-cl-who (:indent t)
(when (the use-jquery?)
(htm
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery-1.3.2.min.js"))
:src "/static/3rdpty/jquery/js/jquery-current.min.js"))
;; JB-090813 using the patched rc2 of layout 1.3 for ta2.0 alpha
;; updating to 1.3 when it becomes available.
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery.layout-latest.js"))
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery-ui-all-1.7.2.min.js"))
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery-ui-current.min.js"))
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery.layout-current.min.js"))
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery-superfish.js"))
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery.bgiframe.min.js"))
;; FLAG 090909-JB: added the dataTables plugin for the inspector
;; FLAG -- is this still needed?
#+nil
((:script :type "text/javascript"
:src "/static/3rdpty/jquery/js/jquery.dataTables.min.js"))
))
......@@ -421,8 +459,8 @@ UI specific jQuery Layout JavaScript."
((:script :type "text/javascript"
:src "/static/gwl/js/gdlajax.js"))
((:script :language "JavaScript" :type "text/javascript")
(fmt "~%var gdliid = '~a';~%~%" (the instance-id)))
((:script :type "text/javascript")
(fmt "~%var gdliid = '~a';" (the instance-id)))
(when (the ui-specific-layout-js)
(htm
......
/*
* Default Layout Theme
*
* Created for jquery.layout
*
* Copyright (c) 2010
* Fabrizio Balliano (http://www.fabrizioballiano.net)
* Kevin Dalman (http://allpro.net)
*
* Dual licensed under the GPL (http://www.gnu.org/licenses/gpl.html)
* and MIT (http://www.opensource.org/licenses/mit-license.php) licenses.
*
* Last Updated: 2010-02-10
* NOTE: For best code readability, view this with a fixed-space font and tabs equal to 4-chars
*/
/*
* DEFAULT FONT
* Just to make demo-pages look better - not actually relevant to Layout!
*/
body {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 100%;
*font-size: 80%;
}
/*
* PANES & CONTENT-DIVs
*/
.ui-layout-pane { /* all 'panes' */
background: #FFF;
border: 1px solid #BBB;
padding: 10px;
overflow: auto;
/* DO NOT add scrolling (or padding) to 'panes' that have a content-div,
otherwise you may get double-scrollbars - on the pane AND on the content-div
- use ui-layout-wrapper class if pane has a content-div
- use ui-layout-container if pane has an inner-layout
*/
}
/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */
.ui-layout-content {
padding: 10px;
position: relative; /* contain floated or positioned elements */
overflow: auto; /* add scrolling to content-div */
}
/*
* UTILITY CLASSES
* Must come AFTER pane-class above so will override
* These classes are NOT auto-generated and are NOT used by Layout
*/
.layout-child-container,
.layout-content-container {
padding: 0;
overflow: hidden;
}
.layout-child-container {
border: 0; /* remove border because inner-layout-panes probably have borders */
}
.layout-scroll {
overflow: auto;
}
.layout-hide {
display: none;
}
/*
* RESIZER-BARS
*/
.ui-layout-resizer { /* all 'resizer-bars' */
background: #DDD;
border: 1px solid #BBB;
border-width: 0;
}
.ui-layout-resizer-drag { /* REAL resizer while resize in progress */
}
.ui-layout-resizer-hover { /* affects both open and closed states */
}
/* NOTE: It looks best when 'hover' and 'dragging' are set to the same color,
otherwise color shifts while dragging when bar can't keep up with mouse */
.ui-layout-resizer-open-hover , /* hover-color to 'resize' */
.ui-layout-resizer-dragging { /* resizer beging 'dragging' */
background: #C4E1A4;
}
.ui-layout-resizer-dragging { /* CLONED resizer being dragged */
border: 1px solid #BBB;
}
/* NOTE: Add a 'dragging-limit' color to provide visual feedback when resizer hits min/max size limits */
.ui-layout-resizer-dragging-limit { /* CLONED resizer at min or max size-limit */
background: #E1A4A4; /* red */
}
.ui-layout-resizer-closed-hover { /* hover-color to 'slide open' */
background: #EBD5AA;
}
.ui-layout-resizer-sliding { /* resizer when pane is 'slid open' */
opacity: .10; /* show only a slight shadow */
filter: alpha(opacity=10);
}
.ui-layout-resizer-sliding-hover { /* sliding resizer - hover */
opacity: 1.00; /* on-hover, show the resizer-bar normally */
filter: alpha(opacity=100);
}
/* sliding resizer - add 'outside-border' to resizer on-hover
* this sample illustrates how to target specific panes and states */
.ui-layout-resizer-north-sliding-hover { border-bottom-width: 1px; }
.ui-layout-resizer-south-sliding-hover { border-top-width: 1px; }
.ui-layout-resizer-west-sliding-hover { border-right-width: 1px; }
.ui-layout-resizer-east-sliding-hover { border-left-width: 1px; }
/*
* TOGGLER-BUTTONS
*/
.ui-layout-toggler {
border: 1px solid #BBB; /* match pane-border */
background-color: #BBB;
}
.ui-layout-resizer-hover .ui-layout-toggler {
opacity: .60;
filter: alpha(opacity=60);
}
.ui-layout-toggler-hover , /* need when NOT resizable */
.ui-layout-resizer-hover .ui-layout-toggler-hover { /* need specificity when IS resizable */
background-color: #FC6;
opacity: 1.00;
filter: alpha(opacity=100);
}
.ui-layout-toggler-north ,
.ui-layout-toggler-south {
border-width: 0 1px; /* left/right borders */
}
.ui-layout-toggler-west ,
.ui-layout-toggler-east {
border-width: 1px 0; /* top/bottom borders */
}
/* hide the toggler-button when the pane is 'slid open' */
.ui-layout-resizer-sliding .ui-layout-toggler {
display: none;
}
/*
* style the text we put INSIDE the togglers
*/
.ui-layout-toggler .content {
color: #666;
font-size: 12px;
font-weight: bold;
width: 100%;
padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */
}
/*
* PANE-MASKS
* these styles are hard-coded on mask elems, but are also
* included here as !important to ensure will overrides any generic styles
*/
.ui-layout-mask {
border: none !important;
padding: 0 !important;
margin: 0 !important;
overflow: hidden !important;
position: absolute !important;
opacity: 0 !important;
filter: Alpha(Opacity="0") !important;
}
.ui-layout-mask-inside-pane { /* masks always inside pane EXCEPT when pane is an iframe */
top: 0 !important;
left: 0 !important;
width: 100% !important;
height: 100% !important;
}
div.ui-layout-mask {} /* standard mask for iframes */
iframe.ui-layout-mask {} /* extra mask for objects/applets */
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.