RGL Browser: mostly cosmetic improvements

This commit is contained in:
john.j.camilleri
2013-07-24 15:03:48 +00:00
parent 68226a2354
commit 206f8db3e8
5 changed files with 6237 additions and 50 deletions

View File

@@ -8,12 +8,12 @@
<meta name="viewport" content="width=device-width"> <meta name="viewport" content="width=device-width">
<link rel="shortcut icon" href="icon.png" type="image/png"> <link rel="shortcut icon" href="icon.png" type="image/png">
<link rel="stylesheet" href="google-code-prettify/prettify-gf.css"> <link rel="stylesheet" href="google-code-prettify/prettify-gf.css">
<link rel="stylesheet" href="http://layout.jquery-dev.net/lib/css/layout-default-latest.css" /> <link rel="stylesheet" href="layout-default-latest.css" />
<link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="style.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://layout.jquery-dev.net/lib/js/jquery.layout-latest.js"></script> <script type="text/javascript" src="jquery.layout-latest.js"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function () { $(document).ready(function () {
$('body').layout({ $('body').layout({
@@ -39,12 +39,6 @@
<div class="ui-layout-center"> <div class="ui-layout-center">
<div id="tabbar">
Module: <span id="module_name">...</span>
<a class="tab scope" href="#scope">scope</a>
<a class="tab code" href="#code">code</a>
</div>
<div id="scope" class="panel scope"> <div id="scope" class="panel scope">
<div id="controls"> <div id="controls">
<input type="text" id="search" /> <input type="text" id="search" />
@@ -117,9 +111,19 @@
<header> <header>
<img src="../../../doc/Logos/gf0.png" alt="" /> <img src="../../../doc/Logos/gf0.png" alt="" />
<h1 title="...or GFRGLSB as we like to call it">GF Resource Grammar Library Source Browser</h1> <h1 title="...or GFRGLSB as we like to call it">GF Resource Grammar Library Source Browser</h1>
<a class="tab api" href="#api">API</a>
<a class="tab help" href="#help">Help</a> <div id="tabbar">
<a href="http://www.grammaticalframework.org/lib/doc/synopsis.html" target="_blank">Synopsis...</a> <span class="module">
Module: <span id="module_name">...</span>
<a class="tab scope" href="#scope">scope</a>
<a class="tab code" href="#code">code</a>
</span>
<a class="tab api" href="#api">API</a>
<a class="tab help" href="#help">Help</a>
<a class="synopsis" href="http://www.grammaticalframework.org/lib/doc/synopsis.html" target="_blank">Synopsis</a>
</div>
</header> </header>
<footer id="footer"> <footer id="footer">

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,224 @@
/*
* 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;
}
.ui-layout-resizer-north-dragging,
.ui-layout-resizer-south-dragging {
border-width: 1px 0;
}
.ui-layout-resizer-west-dragging,
.ui-layout-resizer-east-dragging {
border-width: 0 1px;
}
/* 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 */
/*
* Default printing styles
*/
@media print {
/*
* Unless you want to print the layout as it appears onscreen,
* these html/body styles are needed to allow the content to 'flow'
*/
html {
height: auto !important;
overflow: visible !important;
}
body.ui-layout-container {
position: static !important;
top: auto !important;
bottom: auto !important;
left: auto !important;
right: auto !important;
/* only IE6 has container width & height set by Layout */
_width: auto !important;
_height: auto !important;
}
.ui-layout-resizer, .ui-layout-toggler {
display: none !important;
}
/*
* Default pane print styles disables positioning, borders and backgrounds.
* You can modify these styles however it suit your needs.
*/
.ui-layout-pane {
border: none !important;
background: transparent !important;
position: relative !important;
top: auto !important;
bottom: auto !important;
left: auto !important;
right: auto !important;
width: auto !important;
height: auto !important;
overflow: visible !important;
}
}

View File

@@ -148,15 +148,17 @@ function Thing() {
t.initModules(lang); t.initModules(lang);
} }
// obj can be just a plain selector or a jQuery object // hash should be "#code"
this.showPanel = function(obj, callback){ this.showPanel = function(hash, callback){
t.showLoading(); t.showLoading();
setTimeout(function(){ setTimeout(function(){
$(".panel:visible").hide(); $(".panel:visible").hide();
$(obj).show(0, callback); $("a.tab").removeClass('active');
$("a.tab[href='"+hash+"']").addClass('active');
$(hash).show(0, callback);
t.updateScopeCount(); t.updateScopeCount();
t.hideLoading(); t.hideLoading();
}, 500); // this ensures the loading displays }, 200); // this ensures the loading displays
} }
this.getPanel = function() { this.getPanel = function() {
return $('.panel:visible').first(); return $('.panel:visible').first();
@@ -176,7 +178,7 @@ function Thing() {
t.showPanel(panel); t.showPanel(panel);
return false; return false;
}); });
t.showPanel(".panel:first"); t.showPanel("#scope");
// Load the index file and populate language & module lists // Load the index file and populate language & module lists
$.ajax({ $.ajax({
@@ -313,33 +315,34 @@ function Thing() {
// Which modules do we include for API? // Which modules do we include for API?
this.apiModules = [ this.apiModules = [
// api // api
"Constructors", "Syntax",
"Constructors", "Cat", "Structural", "Combinators",
// abstract // abstract
"Adjective", // "Adjective",
"Adverb", // "Adverb",
"Backward", // "Backward",
"Cat", // "Cat",
"Common", // "Common",
"Compatibility", // "Compatibility",
"Conjunction", // "Conjunction",
"Extra", // "Extra",
"Grammar", // "Grammar",
"Idiom", // "Idiom",
"Lang", // "Lang",
"Lexicon", // "Lexicon",
"Noun", // "Noun",
"Numeral", // "Numeral",
"NumeralTransfer", // "NumeralTransfer",
"Phrase", // "Phrase",
"Question", // "Question",
"Relative", // "Relative",
"Sentence", // "Sentence",
"Structural", // "Structural",
"Symbol", // "Symbol",
"Tense", // "Tense",
"Text", // "Text",
"Transfer", // "Transfer",
"Verb", // "Verb",
]; ];
this.initAPI = function() { this.initAPI = function() {
t.showLoading(); t.showLoading();

View File

@@ -4,7 +4,7 @@
*/ */
body { body {
background-color: white; background: url('http://cloud.grammaticalframework.org/minibar/brushed-metal.png') #ddd;
margin:0; margin:0;
font: 13px sans-serif; font: 13px sans-serif;
} }
@@ -28,11 +28,17 @@ header h1 {
} }
.ui-layout-north { .ui-layout-north {
background:#ddd; background:none;
border:none; border:none;
} }
.ui-layout-resizer-north { .ui-layout-resizer-north {
} }
.ui-layout-resizer {
background:none;
}
.ui-layout-toggler {
background:#999;
}
.ui-layout-center, .ui-layout-center,
.ui-layout-west { .ui-layout-west {
@@ -51,12 +57,17 @@ header h1 {
} }
#tabbar { #tabbar {
border-bottom: 1px dotted #ccc; display:inline-block;
padding-bottom: 5px; }
#tabbar .module {
border-left: 1px dotted #333;
border-right: 1px dotted #333;
padding:0.5em 0.2em 0.5em 1em;
margin-right:0.7em;
} }
#module_name { #module_name {
font-weight: bold; font-weight: bold;
margin-right: 2em; margin-right:0.7em;
} }
.tab { .tab {
cursor:pointer; cursor:pointer;
@@ -75,11 +86,14 @@ header h1 {
.tab:hover { .tab:hover {
background: #666; background: #666;
} }
.tab.active {
background: #222;
}
#loading { #loading {
position: fixed; position: fixed;
top: 10px; top: 10px;
left: 46%; right: 10px;
white-space: nowrap; white-space: nowrap;
padding: 0.5em 1em; padding: 0.5em 1em;
border: 1px solid #F0C36D; border: 1px solid #F0C36D;
@@ -97,6 +111,11 @@ header h1 {
} }
.help { .help {
} }
a.synopsis {
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=') center right no-repeat;
padding-right:14px;
}
input#search { input#search {
font-family:monospace; font-family:monospace;
width:25em; width:25em;
@@ -105,9 +124,7 @@ input#search {
} }
.panel { .panel {
padding:10px 5px;
} }
.panel.code, .panel.code,
.panel.api, .panel.api,
.panel.help { .panel.help {