Commit e3611d41 authored by Teodor Gelu Chiciudean's avatar Teodor Gelu Chiciudean
Browse files

Merge remote-tracking branch 'upstream/master'

parents c2280dc6 2c4891e5
(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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Layout Sample</title>
<link href="css/ta2.7.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.packed.js"> </script>
<script type="text/javascript" src="js/jquery.layout.min.js" </script>
<script type="text/javascript" src="js/jquery.ui.packed.js" </script>
<!-- accomodates the showoptions function -->
<script type="text/javascript" src="js/jquery.layout.debugutils.js" </script>
<!-- dropdown jquery meny plugin -->
<script type="text/javascript" src="js/jquery.droppy.js" </script>
<script type="text/javascript">
var outerLayout, innerLayout, westbarLayout;
$(document).ready(function () {
// Setting up the layouts
outerLayout = $('body').layout({
spacing_open: 4
, spacing_closed: 4
, north__minSize: 20
, north__size: 52
, north__spacing_open: 1
, north__togglerLength_open: 0
, north__togglerLength_close: -1
, north__resizable: false
, north__slidable: false
, north__fxName: "none"
, north__showOverflowOnHover: true
, center__paneSelector: ".outer-center"
, west__paneSelector: ".outer-west"
, east__paneSelector: ".outer-east"
, north__paneSelector: ".outer-north"
, south__paneSelector: ".outer-south"
, west__size: 250
, south__minSize: 5
, south_size: 5
, center__onresize: "innerLayout.resizeAll"
, west__onresize: "westbarLayout.resizeAll"
});
innerLayout = $('div.outer-center').layout({
spacing_open: 4
, spacing_closed: 4
, center__paneSelector: ".inner-center"
, west__paneSelector: ".inner-west"
, east__paneSelector: ".inner-east"
, west__size: 250
, east__size: 150
, east__initClosed: true
, west__initHidden: true
, east__slideTrigger_open: "mouseover"
});
var containerHeight = $("div.outer-west").innerHeight();
westbarLayout = $('div.outer-west').layout({
spacing_open: 4
, spacing_closed: 4
, south__size: Math.floor(containerHeight * 0.50)
, south_maxSize: containerHeight
, center__paneSelector: ".westbar-center"
, south__paneSelector: ".westbar-south"
});
// Setting up the Menu's
$('div.outer-north > ul.navbar#menu').droppy();
$('div.outer-north > ul.navbar#tbar').droppy();
});
</script>
</head>
<body>
<div class="outer-center">
<div class="inner-center">
</div> <!-- inner-center -->
&nbsp;
<div class="inner-west">Inner-West</div>
<div class="inner-east">
<p class="header">Debug Pane</p>
<span onclick="innerLayout.toggle('west')" class="clickbutton">toggle inner-west</span>
<span onclick="innerLayout.hide('west')" class="clickbutton">hide inner-west</span>
<span onclick="innerLayout.show('west')" class="clickbutton">show inner-west</span>
<span onclick="innerLayout.hide('west');westbarLayout.show('south');" class="clickbutton">close west, open westbar-south</span>
<span onclick="innerLayout.show('west');westbarLayout.hide('south');" class="clickbutton">open west, close westbar-south</span>
<span onclick="outerLayout.hide('west');outerLayout.hide('south');innerLayout.hide('west');innerLayout.hide('east');" class="clickbutton">Full Viewport</span>
<span onclick="outerLayout.show('west');outerLayout.show('south');innerLayout.show('west');innerLayout.show('east', false);" class="clickbutton">Restore Viewport</span>
<span onclick="window.location.reload()" class="clickbutton">reload default</span>
<p class="header">Outeroptions</p>
<ul>
<li><a href="#" onclick="showOptions(outerLayout,'defaults')">Defaults</a></li>
<li><a href="#" onclick="showOptions(outerLayout,'north')"> North</a></li>
<li><a href="#" onclick="showOptions(outerLayout,'south')"> South</a></li>
<li><a href="#" onclick="showOptions(outerLayout,'west')"> West</a></li>
<li><a href="#" onclick="showOptions(outerLayout,'east')"> East</a></li>
<li><a href="#" onclick="showOptions(outerLayout,'center')"> Center</a></li>
</ul>
<h5>Inneroptions</h5>
<ul>
<li><a href="#" onclick="showOptions(innerLayout,'defaults')">Defaults</a></li>
<li><a href="#" onclick="showOptions(innerLayout,'north')"> North</a></li>
<li><a href="#" onclick="showOptions(innerLayout,'south')"> South</a></li>
<li><a href="#" onclick="showOptions(innerLayout,'west')"> West</a></li>
<li><a href="#" onclick="showOptions(innerLayout,'east')"> East</a></li>
<li><a href="#" onclick="showOptions(innerLayout,'center')"> Center</a></li>
</ul>
<h5>Westbar options</h5>
<ul>
<li><a href="#" onclick="showOptions(westbarLayout,'defaults')">Defaults</a></li>
<li><a href="#" onclick="showOptions(westbarLayout,'north')"> North</a></li>
<li><a href="#" onclick="showOptions(westbarLayout,'south')"> South</a></li>
<li><a href="#" onclick="showOptions(westbarLayout,'west')"> West</a></li>
<li><a href="#" onclick="showOptions(westbarLayout,'east')"> East</a></li>
<li><a href="#" onclick="showOptions(westbarLayout,'center')"> Center</a></li>
</ul>
<p class="header">Validation</p>
<a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10-blue" alt="Valid XHTML 1.0 Transitional" height="31" width="88" border="0"/></a>
</div>
</div>
<div class="outer-west">
<div class="westbar-center">westbar-center</div>
<div class="westbar-south">westbar-south</div>
</div> <!-- outer-west -->
<!-- main toolbar -->
<div class="outer-north" onmouseover="outerLayout.allowOverflow(this)" onmouseout="outerLayout.resetOverflow(this)">
<ul id="menu" class="navbar">
<li id="menuFile">File
<ul>
<li><a href="#">New</a></li>
<li><a href="#">Open</a></li>
<li><a href="#">Close</a></li>
<li class="separator"><span /></li>
<li><a href="#">Save</a></li>
<li><a href="#">Save as</a></li>
<li class="separator"><span /></li>
<li><a href="#">Export</a></li>
<li class="separator"><span /></li>
<li><a href="#">Exit</a></li>
</ul>
</li>
<li id="menuEdit">Edit
<ul>
<li><a href="#">Undo</a></li>
<li><a href="#">Redo</a></li>
<li class="separator"><span /></li>
<li><a href="#">Color</a></li>
<li><a href="#">Stroke</a></li>
</ul>
</li>
<li id="menuTree">Tree
<ul>
<li class="heading">Inspect Modes</li>
<li><a href="#">Expand All (L)</a></li>
<li><a href="#">Expand Children (C)</a></li>
<li><a href="#">Collapse Object (R)</a></li>
<li><a href="#">Collapse All (A)</a></li>
<li class="separator"><span /></li>
<li class="heading">Root Modes</li>
<li><a href="#">Set Root to Object (SR)</a></li>
<li><a href="#">Set Root to Parent (UR!)</a></li>
<li><a href="#">Reset Root (RR!)</a></li>
<li class="separator"><span /></li>
<li class="heading">Draw Modes</li>
<li><a href="#">Draw Object (AN)</a></li>
<li><a href="#">Draw All (AL/AL*)</a></li>
<li><a href="#">Clear View and Draw Object (DN)</a></li>
<li><a href="#">Clear View and Draw All (DL)</a></li>
<li><a href="#">Clear Object (DL)</a></li>
<li><a href="#">Clear View (CL!)</a></li>
<li><a href="#">Update Object (U!)</a></li>
</ul>
</li>
<li id="menuView">View
<ul>
<li class="heading">modes</li>
<li><a href="#">PNG</a></li>
<li><a href="#">JPEG</a></li>
<li><a href="#">VRML</a></li>
<li><a href="#">Links</a></li>
<li class="separator"><span /></li>
<li><a href="#">Zoom in</a></li>
<li><a href="#">Zoom out</a></li>
<li><a href="#">Fit in Window</a></li>
<li class="separator"><span /></li>
<li class="heading">Views</li>
<li><a href="#">Perspective</a></li>
<li><a href="#">Front</a></li>
<li><a href="#">Back</a></li>
<li><a href="#">Left</a></li>
<li><a href="#">Right</a></li>
<li><a href="#">Top</a></li>
<li><a href="#">Bottom</a></li>
<li class="separator"><span /></li>
<li><a href="#">update</a></li>
<li><a href="#">auto update</a></li>
</ul>
</li>
<li id="menuWindow">Window
<ul>
<li><a href="#">Standard Mode</a></li>
<li><a href="#">Expert Mode</a></li>
<li class="separator"><span /></li>
<li><a href="#">User Mode (U!)</a></li>
<li class="separator"><span /></li>
<li><a href="#">Object Source</a></li>
</ul>
</li>
<li id="menuHelp">Help
<ul>
<li><a href="#">Documentation</a></li>
<li><a href="#">GDL User Wiki</a></li>
<li><a href="#">Check for Updates</a></li>
<li class="separator"><span /></li>
<li><a href="#">Contact Us</a></li>
<li><a href="#">Activate Product</a></li>
<li class="separator"><span /></li>
<li><a href="#">About</a></li>
</ul>
</li>
</ul>
<ul id="tbar" class="navbar">
<li id="tbarTreeView"><img src="img/unpix/tree-eye.gif" alt="TreeView"/><span class="tbartext">Tree View</span></li>
<li id="tbarTreeRoot"><img src="img/unpix/tree-decmp.gif" alt="TreeRoot"/><span class="tbartext">Tree Root</span></li>
<li id="tbarTreeDraw"><img src="img/unpix/tree-pen.gif" alt="TreeDraw"/><span class="tbartext">Tree Draw</span></li>
<li class="separator"><span /></li>
<li id="tbarFolder"><img src="img/unpix/folder.gif" alt="Folder" /><span class="tbartext">Folder</span></li>
<li id="tbarSave"><img src="img/unpix/save.gif" alt="Save" /><span class="tbartext">Save</span></li>
<li id="tbarLineWidth"><img src="img/unpix/line.gif" alt="Line Width" /><span class="tbartext">Line Width</span></li>
<li id="tbarColor"><img src="img/unpix/box.gif" alt="Color" /><span class="tbartext">Draw Color</span></li>
<li id="tbarRefresh"><img src="img/unpix/auto.gif" alt="Refresh" /><span class="tbartext">Refresh</span></li>
<li id="tbarZoom"><img src="img/unpix/lens.gif" alt="Zoom" /><span class="tbartext">Zoom</span></li>
</ul>
</div><!-- outer-north -->
<div class="outer-south">empowered by KE-works</div>
</body>
</html>
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."))