', { id: "list", class: "ui-widget-header ui-corner-all" } );
list.css( {
padding: "5px",
} );
textures.append( list );
var texInfo = $('
', { id: "texInfo" } );
textures.append( texInfo );
fetch( "/texture", function( d ) {
var spans = new Array();
d.forEach( function( t ) { spans.push( "
" + t + "" ); } );
list.html( "Textures: " + spans.join( ", " ) );
var spans = $("#textures #list span");
spans.click( function( ev ) {
fetch( "/texture/" + $(this).text(), function ( tex ) {
loadTextureView( texInfo, tex );
texInfo.children().css( {
verticalAlign: "top",
margin: "5px",
display: "inline-block",
} );
texInfo.css( {
overflowX: "auto",
overflowY: "auto",
} );
} );
} );
spans.mouseenter( function() { $(this).css( { textDecoration: "underline" } ); } );
spans.mouseleave( function() { $(this).css( { textDecoration: "none" } ); } );
} );
}
function loadProgView( view, prog ) {
view.empty();
var progProps = appendObjectItems( prog );
view.append( progProps );
progProps.css( {
overflowX: "auto",
overflowY: "auto",
fontSize: "80%",
fontFamily: "Courier New, Courier, monospace",
} );
var keys = progProps.find(".key");
keys.css( {
color: "yellow",
} );
}
function createPrograms() {
var programs = $("#programs");
var list = $('
', { id: "list", class: "ui-widget-header ui-corner-all" } );
list.css( { padding: "5px", } );
programs.append( list );
var progInfo = $('
', { id: "progInfo" } );
programs.append( progInfo );
fetch( "/program", function( d ) {
var spans = new Array();
d.forEach( function( t ) { spans.push( "
" + t + "" ); } );
list.html( "Programs: " + spans.join( ", " ) );
var spans = $("#programs #list span");
spans.click( function( ev ) {
fetch( "/program/" + $(this).text(), function ( prog ) {
loadProgView( progInfo, prog );
progInfo.children().css( {
verticalAlign: "top",
margin: "5px",
} );
progInfo.css( {
overflowX: "auto",
overflowY: "auto",
} );
} );
} );
spans.mouseenter( function() { $(this).css( { textDecoration: "underline" } ); } );
spans.mouseleave( function() { $(this).css( { textDecoration: "none" } ); } );
} );
}
function loadShaderView( view, shd ) {
view.empty();
var shdProps = appendObjectItems( shd );
view.append( shdProps );
shdProps.css( {
overflowX: "auto",
overflowY: "auto",
fontSize: "80%",
fontFamily: "Courier New, Courier, monospace",
} );
var keys = shdProps.find(".key");
keys.css( {
color: "yellow",
} );
}
function createShaders() {
var shaders = $("#shaders");
var list = $('
', { id: "list", class: "ui-widget-header ui-corner-all" } );
list.css( { padding: "5px", } );
shaders.append( list );
var shdInfo = $('
', { id: "shdInfo" } );
shaders.append( shdInfo );
fetch( "/shader", function( d ) {
var spans = new Array();
d.forEach( function( t ) { spans.push( "
" + t + "" ); } );
list.html( "Programs: " + spans.join( ", " ) );
var spans = $("#shaders #list span");
spans.click( function( ev ) {
fetch( "/shader/" + $(this).text(), function ( shd ) {
loadProgView( shdInfo, shd );
shdInfo.children().css( {
verticalAlign: "top",
margin: "5px",
} );
shdInfo.css( {
overflowX: "auto",
overflowY: "auto",
} );
} );
} );
spans.mouseenter( function() { $(this).css( { textDecoration: "underline" } ); } );
spans.mouseleave( function() { $(this).css( { textDecoration: "none" } ); } );
} );
}
function createGeneric( id ) {
var panel = $("#" + id);
panel.text( id );
}
function mainTabsBeforeActivate( event, ui ) {
if( ! ui.newPanel || ui.newPanel.children().length > 0 ) {
return;
}
var panel = ui.newPanel.attr("id");
var create = "create" + panel.charAt(0).toUpperCase() + panel.slice(1);
if( window.hasOwnProperty( create ) ) {
window[create]();
} else {
createGeneric( panel );
}
}
function createMainTab() {
var m = $('
', { id: "maintabs" } );
$(m).html(
"
\n" +
"" +
"
\n" +
"
\n" +
"
\n" +
"
\n" +
"
\n" +
""
);
$("body").append(m);
m.on( "tabsbeforeactivate", mainTabsBeforeActivate );
createDebug();
m.tabs();
updateLogData();
$(window).resize( function() {
var log = $("#log")[0];
log.resizeMarginRight = 80;
if( log.resizeMarginRightTimeout ) {
clearTimeout( log.resizeMarginRightTimeout );
log.resizeMarginRightTimeout = 0;
}
log.resizeMarginRightTimeout = setTimeout( function() {
log.resizeMarginRight = 0;
log.resizeMarginRightTimeout = 0;
renderImage("color0");
}, 500 );
renderImage("color0");
} );
}