|
Jmol.js es una biblioteca javascript que puede usarse para simplificar
el desarrollo de páginas web que incluyan la miniaplicación JmolApplet.
¿Qué hace Jmol.js?
Cómo conseguir Jmol.js
Páginas HTML de ejemplo que usan Jmol.js
Recomendaciones generales
Instrucciones básicas
jmolInitialize
jmolApplet
jmolButton
jmolLink
jmolCheckbox
jmolRadioGroup
jmolMenu
Instrucciones intermedias
jmolSetAppletColor
jmolResizeApplet
jmolHtml
jmolBr
jmolScript
jmolScriptWait
jmolScriptWaitAsArray
jmolCommandInput
jmolSaveOrientation
jmolRestoreOrientation
jmolRestoreOrientationDelayed
Instrucciones avanzadas
jmolDebugAlert
jmolSetLogLevel
jmolGetStatus
jmolSetTarget
jmolRadio
jmolStartNewRadioGroup
jmolSetCheckboxGroup
jmolCheckBrowser
jmolSetDocument
jmolSetAppletWindow
jmolAppletInline
jmolLoadInline
jmolLoadInlineScript
jmolSetCallback
jmolAppletAddParam
jmolEvaluate
jmolGetPropertyAsArray
jmolGetPropertyAsString
jmolGetPropertyAsJSON
jmolGetPropertyAsJavaObject
jmolDecodeJSON
jmolScriptEcho
jmolScriptMessage
Respaldo para hojas de estilo en cascada (CSS)
jmolSetAppletCssClass
jmolSetButtonCssClass
jmolSetCheckboxCssClass
jmolSetRadioCssClass
jmolSetLinkCssClass
jmolSetMenuCssClass
La biblioteca Jmol.js proporciona dos tipos de prestaciones que pretenden facilitar
la preparación de páginas web que usen miniaplicaciones Jmol:
- Proporciona funciones para insertar la
miniaplicación Jmol en la página web y para controlar el aspecto
html y css de la mniaplicación y de sus controles en la página web.
Aunque prefieras escribir tu propio código css, las instrucciones javascript
básicas que muestran la miniaplicación son muy recomendables.
- También genera controles de interfaz de usuario
(botones, botones radio, casillas de verificación, listas desplegables, etc.)
que interaccionan con la mniaplicación Jmol
en la página web. Puedes preparar una página que cargue una molécula de interés y
que proporcione tales controles para permitir que el usuario cambie características
concretas de cómo se presenta la molécula, su fondo, que la hagan rotar,
etc. (Esto es posible gracias a una tecnología llamada LiveConnect
que permite que las páginas web interaccionen con las miniaplicaciones mediante javascript.)
La alternativa es dejar que el usuario
manipule la molécula usando el menú emergente de la miniaplicación
y los gestos con el ratón, o bien mediante instrucciones en la consola, todo lo cual sólo es
realmente apropiado para usuarios familiarizados con Jmol.
Recomendamos encarecidamente que uses Jmol.js para construir tus
páginas web. Se automatiza la generación de muchas etiquetas HTML,
haciendo así el código más simple, más fácil de entender y
menos propenso a errores.
La biblioteca Jmol.js debería funcionar correctamente con la mayoría de
los navegadores web recientes (de este siglo). Además, en los sistemas
Windows (Win32) generalmente funciona bien con la serie de navegadores
Netscape 4.x (que pertenece al siglo pasado).
Advertencia: en Mac OS X, Internet Explorer no es
compatible porque no proporciona la comunicación LiveConnect
entre javascript y las miniaplicaciones Java.
Por otro lado, algunas versiones de la familia de navegadores Mozilla (que incluye
Firefox y Camino) puede requerir su configuración para utilizar Java 1.4.2
mediante
javaplugin.sourceforge.net
(al parecer, las versiones más recientes de estos navegadores
ya incluyen este conector, por lo que funcionarán sin
necesidad de esa instalación extra)
Cada páginaCada página
Hay unas pocas situaciones en las que podrías optar por
no utilizar la biblioteca Jmol.js. Entre ellas, puedes querer
construir una aplicación avanzada en el servidor web, que
genere HTML desde el servidor, tal como PHP, JSP, ASP, CGI, etc.
Si éste es el caso, puede ser adecuado que generes el código
HTML directamente en el servidor, en cuyo caso no usarás la
biblioteca Jmol.js. Si no estás seguro, utiliza la biblioteca Jmol.js.
Jmol.js está incluido en el paquete Jmol que se descarga
(página de descargas de Jmol).
Visita las páginas de demostración (hay un enlace en el
menú superior derecho) para ver algunas páginas de ejemplo
que usan la miniaplicación Jmol y los distintos tipos de
controles que se pueden incorporar en la interfaz de usuario
utilizando la biblioteca Jmol.js.
(Los parámetros con subrayado de puntos son opcionales)
jmolInitialize(CarpetaJmol)
Inicializa la biblioteca JavaScript Jmol.js. La llamada a
jmolInitialize() puede estar dentro de
la cabecera (<head>) o del
cuerpo (<body>) de la página web,
pero debe estar situada antes que ninguna otra llamada de Jmol.js.
El primer parámetro, CarpetaJmol, es indispensable e indica
(entre comillas) la
ruta relativa a la carpeta que contiene
JmolApplet0.jar y los otros archivos de la miniaplicación.
Avanzado:
jmolInitialize() puede omitirse si quieres usar
JmolApplet.jar y ese archivo está en la misma
carpeta o directorio que la página HTML.
Avanzado:
jmolInitialize(CarpetaJmol, usarEspecífica)
jmolInitialize(CarpetaJmol, usarSignedApplet)
Si el segundo parámetro es un texto (por ej., "miArchivoJar.jar"),
se interpretará como el nombre de archivo jar
de una miniaplicación personalizada, que debe usarse.
(Y si es "JmolApplet0.jar", se usará también el resto de archivos jar.)
Si no es un nombre de archivo, se interpretará como un valor lógico (verdadero/falso) para
usar o no la miniaplicación firmada o confiable (SignedApplet), que
aplica menos restricciones de seguridad en Java que la
miniaplicación no firmada. Si se omite este parámetro
(como en el primer ejemplo de sintaxis de arriba),
se asumirá "false" y se usará la miniaplicación no firmada.
Con la miniaplicación firmada, puedes poner los archivos de la miniaplicación,
los de los modelos y los de las páginas donde quieras y ejecutarlos desde un
disco local. También permite a Jmol abrir archivos locales. Los usuarios recibirán
una advertencia de seguridad de Java, pidiéndoles permiso para el uso de
la miniaplicación firmada (considera que esto puede hacer que los usuarios
noveles renuncien a entrar en tus páginas, a no ser que previamente les adviertas
con detalle de que ese aviso aparecerá y que no es peligroso).
jmolApplet(tamaño, guión, sufijoNombre)
Define e inserta en la página una miniaplicación JmolApplet.
tamaño puede ser:
- Para una miniaplicación cuadrada, un solo valor.
- Para una miniaplicación rectangular, una matriz de
dos elementos: ancho y alto.
Normalmente esto es más fácil de hacer usando la notación de
corchetes de javascript para matrices de constantes, por ej.:
[400, 200],
["50%", "100%"] o [0.5, 1.0].
- Cada dimensión (tamaño, ancho, alto) puede indicarse como:
- un número entero de píxeles (entre 25 y 2000);
- un valor de porcentaje, acabado en % y rodeado por comillas
(pero lea las notas a continuación);
este valor será interpretado por el navegador como un porcentaje de las
dimensiones de la capa que engloba la miniaplicación (ventana, marco o capa
DIV);
dependiendo de cuál sea esa capa y de sus propiedades,
esto permite tener una miniaplicación que se redimensiona dinámicamente
cuando cambie el tamaño de la ventana del navegador;
- un número entre cero y 1 que, multiplicado por 100,
se interpretará como porcentaje.
Nota 1: los tamaños en porcentaje, y los números menores de 1, sólo están
disponibles en Jmol.js que acompaña a la versión 11.0.2 o posterior de la serie 11.0 de Jmol, y a la versión 11.1.28 o posterior.
Nota 2: sea cauto al usar tamaños en porcentaje, pues pueden rendir
resultados no deseados en navegadores antiguos.
Nota 3: para conseguir una compatibilidad con diversos navegadores
al especificar una altura en porcentaje, es preciso que la
capa que envuelve la miniaplicación tenga una altura explícita
(de no ser así, algunos navegadores generarán una miniaplicación de altura cero).
Ésta puede ser un número de píxeles o, si se desea que la altura sea relativa a
la altura de la ventana, debe especificarse un valor CSS de altura de 100%
tanto para html como para body.
guión (opcional) es un guión, o conjunto de instrucciones, que se deberá
ejecutar. Normalmente, se usa para cargar un modelo molecular y aplicarle algún estilo.
sufijoNombre (opcional) sólo es necesario
si quieres controlar específcamente los atributos
name e id que se usen como parte de la
etiqueta applet. El sufijo que indiques se añadirá
al texto "jmolApplet", por lo que si usas "Uno" los atributos generados
serán name='jmolAppletUno' id='jmolAppletUno'.
Si usas una aplicación con base de datos en la que escribes registros en
una tabla, puedes tranquilamente asignar números enteros como sufijos.
Si no se proporciona un sufijoNombre,
las miniaplicaciones tomarán los nombres jmolApplet0,
jmolApplet1, etc., sucesivamente en el orden en el que
se inserten en la página.
Cuando se inserten varias miniaplicaciones en una página, el valor de
sufijoNombre, explícito o implícito, es importante para que las posteriores
instrucciones que establecen acciones, tales como
jmolSetTarget, jmolScript o jmolLoadInlineScript,
se apliquen a la miniaplicación adecuada.
Avanzado (para pruebas y depuración):
Si pones "?NOAPPLET" (en mayúsculas)
al final de la dirección URL en el navegador,
no se insertará la miniaplicación en la página web, sino que
en su lugar se mostrará un área de texto informativa.
Esto puede ser útil para ensayar la acción de los botones u otros controles.
Éstos funcionarán pero, en lugar de actuar,
se mostrarán en el área de texto las instrucciones que se habrían
enviado a la miniaplicación si ésta hubiese estado allí.
Nota:
LLeva algo de tiempo construir la miniaplicación, por lo cual si pones alguna acción inmediata, como
jmolScript() o jmolLoadInline() justo tras la línea jmolApplet(),
probablemente falle porque se ejecutará antes de que la miniaplicación haya terminado de
cargarse. Hay tres alternativas que sí funcionarán:
- Pon las instrucciones dentro de la llamada a
jmolApplet() (su segundo argumento,
guión).
- Haz que el navegador espere hasta que la miniaplicación esté lista. Para ello,
pon esto al final del guión enviado al crear la miniaplicación:
javascript JmolCargado();
y define una función JavaScript llamada JmolCargado() (o cualquier otro nombre que prefieras)
que ejecutará las instrucciones restantes.
- Mejor aún: utiliza appletReadyCallback
antes de
jmolApplet():
jmolSetCallback("appletReadyCallback","JmolCargado");
y define tu función JmolCargado() para que haga lo que precises.
jmolButton(guión, rótulo, id, title)
Dibuja un botón con un rótulo de texto.
Cuando se pulse el botón, se ejecutarán las instrucciones del guión.
Si en la página hay varias miniaplicaciones Jmol, las instrucciones se aplicarán
a la inmediatamente anterior o a la que haya sido especificada mediante una instrucción
jmolSetTarget previa.
Como sintaxis especial (válida para todos los otros controles, al igual que para
el botón descrito aquí), en lugar de un guión de Jmol puedes ejecutar una función
de JavaScript que hayas definido, proporcionando esto en lugar del guión:
[nombreFunción, param1, param2, param3...]
La función debe definirse así:
function nombreFunción(botón, objeto, diana) {
// El segundo argumento es una matriz.
var param1 = objeto[1];
var param2 = objeto[2];
var param3 = objeto[3];
// Aquí el JavaScript que deba ejecutarse.
....
}
rótulo es el texto del botón; si no se indica,
por defecto toma como valor los primeros 32 caracteres del guión.
id (opcional) se usará para los valores de los parámetros de HTML "id" y "name".
Sus valores por defecto son jmolButton0, jmolButton1, etc.
Avanzado:
Además, el botón quedará incluido en un elemento <span>
que tendrá
un parámetro HTML id de "span_" seguido del id indicado,
y un parámetro HTML title de title.
Los navegadores mostrarán, pues, title
en forma de texto flotante o "tooltip"
al detener el puntero del ratón sobre el botón.
jmolLink(guión, texto, id, title)
Cuando el usuario
haga clic en el enlace, se ejecutarán las instrucciones del guión.
Si en la página hay varias miniaplicaciones Jmol, las instrucciones se aplicarán
a la inmediatamente anterior o a la que haya sido especificada mediante una instrucción
jmolSetTarget previa.
texto se escribirá en la página en forma de hiperenlace.
Si no se indica, por defecto toma como valor los primeros 32 caracteres del guión.
id se usará para los valores de los parámetros de HTML "id" y "name".
Toma por defecto los valores jmolLink0, jmolLink1, etc.
Avanzado:
Además, el texto de enlace se incluirá en un elemento <span>
que tendrá
un parámetro HTML id de "span_" seguido del id indicado,
y un parámetro HTML title del title indicado.
Los navegadores mostrarán, pues, title
en forma de texto flotante o tooltip
al detener el puntero del ratón sobre el hiperenlace.
jmolCheckbox(guiónAlMarcar, guiónAlQuitarMarca,
etiquetaHtml, estáMarcado, id, title)
Muestra una casilla de selección o "checkbox", seguida
inmediatamente por lo que indique etiquetaHtml.
Cuando el usuario la marque, se ejecutarán las instrucciones de guiónAlMarcar.
Cuando el usuario quite la marca, se ejecutarán las instrucciones de guiónAlQuitarMarca.
Si en la página hay varias miniaplicaciones Jmol, las instrucciones de los guiones se aplicarán
a la inmediatamente anterior o a la que haya sido especificada mediante una instrucción
jmolSetTarget previa.
Debes asignar un valor no falso a estáMarcado si quieres que la casilla
ya esté marcada al cargar la página; por defecto no lo estará. (Por ej., true.)
id se usará para los valores de los parámetros de HTML "id" y "name".
Sus valores por defecto son jmolCheckbox0, jmolCheckbox1, etc.
Avanzado:
Además, la casilla y su etiqueta acompañante quedarán incluidas en
un elemento <span>
que tendrá
un parámetro HTML id de "span_" seguido del id indicado,
y un parámetro HTML title de title (opcional).
Los navegadores mostrarán, pues, title
en forma de texto flotante o "tooltip"
al detener el puntero del ratón sobre la casilla o su texto/etiqueta acompañante.
La etiqueta estará rodeada por etiquetas <label>;
el resultado es que haciendo clic sobre el texto de la etiqueta se consigue lo mismo
que haciendo clic sobre la propia casilla.
jmolRadioGroup(grupoOpciones, separadorHtml, nombreGrupo,
id, title)
Sirve para poner un grupo de opciones mutuamente excluyentes
(un grupo de "botones radio" o radio buttons).
grupoOpciones se indica habitualmente mediante
la notación de corchetes de javascript [ elementoA, elementoB, ... ].
Cada elemento suele ser a su vez otra matriz que contiene
un guión, una etiqueta y un indicador opcional para especificar si la opción
está seleccionada (o el botón marcado).
Si un elemento es un texto simple, en lugar de una matriz,
se usará ese texto como guión y como etiqueta.
Si en la página hay varias miniaplicaciones Jmol, las instrucciones de los guiones se aplicarán
a la inmediatamente anterior o a la que haya sido especificada mediante una instrucción
jmolSetTarget previa.
separadorHtml sirve para indicar código HTML que se
insertará tras cada opción o botón radio. Por ejemplo, para poner las
opciones en líneas separadas, debes poner como parámetro
"<br>". Si no se indica un separadorHtml, tomará
el valor predeterminado " " (es decir, un espacio).
nombreGrupo se usará como el identificador HTML ("name")
común a todo el grupo de opciones. Toma por defecto los valores
jmolRadioGroup0, jmolRadioGroup1, etc.
Avanzado:
El grupo completo de opciones se incluirá en
un elemento <span>
que tendrá un parámetro HTML id de id o, si no se
proporciona éste, el valor de nombreGrupo
A su vez, cada opción o botón radio tendrá, junto con su
etiqueta, un parámetro HTML id de "span_" seguido del identificador del grupo,
de un guión bajo y de un número secuencial (comenzando por cero), y como
parámetro HTML title, el title del grupo (opcional).
La etiqueta de cada opción estará rodeada por etiquetas <label>;
el resultado es que haciendo clic sobre el texto de la etiqueta se consigue lo mismo
que haciendo clic sobre el propio botón radio.
jmolMenu(grupoElementosMenú, alturaMenú, id, title)
Sirve para mostrar un menú de elementos asociados a sendos guiones.
grupoElementosMenú se suele indicar mediante la notación de
corchetes de javascript [ elementoA, elementoB, ... ].
Cada elemento suele ser a su vez otra matriz que contiene
un guión, una etiqueta y un indicador opcional para especificar si es la opción
o elemento seleccionado.
Si un elemento es un texto simple, en lugar de una matriz,
se usará ese texto como guión y como etiqueta.
Si en la página hay varias miniaplicaciones Jmol, las instrucciones de los guiones se aplicarán
a la inmediatamente anterior o a la que haya sido especificada mediante una instrucción
jmolSetTarget previa.
alturaMenú sirve para indicar la altura del menú.
Si no se especifica o vale 1, el menú es del tipo "combo-box", que se despliega
cuando el usario hace clic sobre él.
Si la altura vale 2 o más, entonces se muestra un menú con el número
indicado de líneas.
Si el valor es -1, la altura del menú se
ajustará para que se vean todos sus elementos.
id se usará para los valores de los parámetros de HTML "id" y "name".
Toma por defecto los valores jmolMenu0, jmolMenu1, etc.
Avanzado:
Además, el menú se incluirá en un elemento <span>
que tendrá
un parámetro HTML id de "span_" seguido del id indicado,
y un parámetro HTML title del title indicado.
Los navegadores mostrarán, pues, title
en forma de texto flotante o tooltip
al detener el puntero del ratón sobre el menú.
Avanzado:
Se pueden definir grupos de opciones (en HTML, optgroup) de este modo:
Añade el elemento optgroup como uno más en el grupoElementosMenú.
Para él, el primer elemento de la matriz secundaria debe ser "#optgroup" (en lugar de un guión);
el segundo elemento, el texto mostrado para el grupo ("label" en sintaxis HTML
no puede contener una comilla simple o apóstrofo);
el tercer elemento no se usará.
Luego añade un elemento más para señalar el fin del grupo, cuyo
primer elemento debe ser "#optgroupEnd" (los elementos segundo y tercero se ignoran).
Ejemplo:
jmolMenu([
[null, ".... selecciona ....", true],
["color cpk", "patrón CPK"],
["#optgroup", "... Colorear por: ...."],
["color structure", "estructura"],
["color chain", "cadena"],
["color group", "grupo"],
["#optgroupEnd"],
["#optgroup", ".... Otros colores: ...."],
["color formalcharge", "carga eléctrica"],
["color amino", "patrón amino"],
["color shapely", "patrón shapely"],
["#optgroupEnd"]
]);
jmolSetAppletColor(colorFondo, colorTextoBarra, colorProgreso)
Sirve para establecer el color de fondo de la miniaplicación.
colorFondo se indica usando la notación
"#RRGGBB" de HTML (R=rojo, G=verde, B=azul, en valores hexadecimales), o bien uno de los
nombres de colores reconocidos por JavaScript.
Esta instrucción debe proporcionarse antes de jmolApplet.
Avanzado:
Se pueden indicar también los colores del texto y de la
barra del indicador de progreso (mientras se está cargando la miniaplicación).
(Las versiones modernas de Java ya no usan esto.)
jmolResizeApplet(tamaño, sufijoDiana)
Sirve para cambiar de tamaño una miniaplicación ya existente.
tamaño: un valor o una matriz con dos valores;
consulta los detalles de los formatos aceptados en la
función jmolApplet.
Caso especial: si el valor de ancho o el de alto está vacío
(por ej., ""), esa dimensión no se cambiará.
Cuando se estén mostrando en la página varias miniaplicaciones JmolApplet,
sufijoDiana permite indicar cuál de ellas se debe redimensionar;
su valor por defecto es "0"
(es decir, la primera miniaplicación de la página).
Nota:
Implementado en Jmol.js a partir de la versión 11.7.42 de Jmol.
jmolHtml(textoHtml)
Permite pasar cualquier texto, en especial etiquetas HTML,
directamente a la página; a veces esto es más conveniente que
cerrar y abrir sucesivas etiquetas script.
El resultado es exactamente el mismo que el de:
</script>textoHtml<script>
o
document.write(textoHtml)
jmolBr()
Inseta un salto de línea en la página. Es lo mismo que
jmolHtml("<br />"), o
</script><br /><script>, o bien
document.write("<br />").
jmolScript(guión, sufijoDiana)
Sirve para construir tus propios controles de interfaz de usuario,
o para ejecutar el guión en función de eventos javascript.
(Esta función jmolScript se usa también internamente para
implementar los controles descritos hasta ahora.)
Cuando se estén mostrando en la página varias miniaplicaciones JmolApplet,
sufijoDiana permite indicar sobre cuál actuará el guión.
El valor por defecto de sufijoDiana es "0"
(es decir, la primera miniaplicación de la página).
Caso especial: si se indica "all" como sufijoDiana,
el guiónse aplicará a todas las miniaplicaciones presentes.
Advertencia:
excepto para la primera miniaplicación de la página,
debes indicar aquí un sufijoDiana; el uso de
jmolSetTarget
no afecta a jmolScript, jmolScriptWait
o jmolScriptWaitAsArray.
jmolScriptWait(guión, sufijoDiana)
Esta función añade dos mejoras a jmolScript:
1) se espera hasta que el guión se ha ejecutado por completo antes de devolver el control (y así se evita
que javascript continúe con otras tareas)
2) si se asigna a una variable, devuelve en ella los mensajes de estado, que se pueden usar para detectar errores
o diagnosticar problemas.
Cuando se estén mostrando en la página varias miniaplicaciones JmolApplet,
sufijoDiana permite indicar sobre cuál actuará el guión.
El valor por defecto de sufijoDiana es "0"
(es decir, la primera miniaplicación de la página).
Ejemplos:
-
result = jmolScriptWait("load miArchivo.mol")
carga el modelo y pone en la variable "result" un texto con los mesajes de estado que, por ejemplo, contiene, entre otras cosas,
"FileNotFoundException" si no se ha encontrado el archivo miArchivo.mol.
-
result = jmolScriptWait("show orientation")
pone en la variable "result" las instrucciones precisas para restaurar la orientación actual (aunque el texto devuelto
puede necesitar ser procesado para que sea válido como instrucción).
Véase también jmolScriptWaitAsArray, a continuación.
jmolScriptWaitAsArray(guión, sufijoDiana)
Esta función añade dos mejoras a jmolScript:
1) se espera hasta que el guión se ha ejecutado por completo antes de devolver el control (y así se evita
que javascript continúe con otras tareas)
2) si se asigna a una variable, devuelve en ella una matriz de mensajes de estado, que se puede usar para detectar errores
o diagnosticar problemas.
Cuando se estén mostrando en la página varias miniaplicaciones JmolApplet,
sufijoDiana permite indicar sobre cuál actuará el guión.
El valor por defecto de sufijoDiana es "0"
(es decir, la primera miniaplicación de la página).
Véase también la función anterior, jmolScriptWait,
que devuelve una sola cadena de texto en lugar de una matriz.
(De hecho, actúa llamando a jmolScriptWaitAsArray
y concatenando sus elementos de matriz con caracteres de salto de línea.)
jmolCommandInput(rótulo, tamaño, id, title)
Muestra una caja de texto de una línea seguida de un botón con el texto rótulo.
Cuando el usuario pulse el botón, se ejecutará sobre la miniaplicación cualquier guión
escrito en la caja de texto.
(Se obtiene, pues, una especie de consola de instrucciones.)
Si en la página hay varias miniaplicaciones Jmol,
las instrucciones de la caja de texto se aplicarán a la miniaplicación
inmediatamente anterior o a la que haya sido especificada mediante una
instrucción jmolSetTarget previa.
Si no se proporciona un rótulo, se usará "Execute".
tamaño es el ancho de la caja de texto (un número de caracteres, por defecto 60).
id se usará para los valores de los parámetros de HTML "id" y "name".
Toma por defecto los valores jmolCmd0, jmolCmd1, etc.
Avanzado:
Además, la caja de texto y el botón se incluirán en un elemento <span>
que tendrá
un parámetro HTML id de "span_" seguido del id indicado,
y un parámetro HTML title del title indicado.
Los navegadores mostrarán, pues, title
en forma de texto flotante o "tooltip"
al detener el puntero del ratón sobre la caja de texto o sobre el botón.
jmolSaveOrientation(id, sufijoDiana)
Permite guardar la orientación actual del modelo en una variable interna identificada
mediante id, de modo que más tarde se pueda recuperar usando
jmolRestoreOrientation con el mismo id.
Cuando se estén mostrando en la página varias miniaplicaciones JmolApplet,
sufijoDiana permite indicar sobre cuál se actuará.
El valor por defecto de sufijoDiana es "0"
(es decir, la primera miniaplicación de la página).
jmolRestoreOrientation(id, sufijoDiana)
Permite devolver el modelo a una orientación guardada previamente
mediante jmolSaveOrientation con el mismo id.
La reorientación es instantánea. Para obtener una reorientación a lo largo de un tiempo,
usa jmolRestoreOrientationDelayed.
Cuando se estén mostrando en la página varias miniaplicaciones JmolApplet,
sufijoDiana permite indicar sobre cuál se actuará.
El valor por defecto de sufijoDiana es "0"
(es decir, la primera miniaplicación de la página).
jmolRestoreOrientationDelayed(id, demora, sufijoDiana)
Permite devolver el modelo a una orientación guardada previamente
mediante jmolSaveOrientation con el mismo id.
La reorientación se extiende a lo largo de demora segundos (el valor por defecto es 1 segundo).
Cuando se estén mostrando en la página varias miniaplicaciones JmolApplet,
sufijoDiana permite indicar sobre cuál se actuará.
El valor por defecto de sufijoDiana es "0"
(es decir, la primera miniaplicación de la página).
jmolDebugAlert(permitirAvisos)
Hace que se usen diálogos de aviso -o alertas-, útiles para
la depuración. Utilízalo con cautela u obtendrás
muchos avisos. Para desactivarlo, escribe literalmente:
jmolDebugAlert(false)
jmolSetLogLevel(n)
Ajusta el nivel de mensajes que se mostrarán en la consola.
n varía entre 0 (mñinimo número de mensajes) y 5 (todos los mensajes).
jmolGetStatus(strStatus, sufijoDiana)
(...necesita documentación)
Cuando se estén mostrando en la página varias miniaplicaciones JmolApplet,
sufijoDiana permite indicar sobre cuál se actuará (por defecto,
toma valor "0",
es decir, la primera miniaplicación de la página).
jmolSetTarget(sufijoDiana)
Esto indica sobre qué miniaplicación Jmol deben actuar
los siguientes controles.
Sólo es necesario si estás mostrando varias miniaplicaciones
en la misma página y los controles jmolButton, jmolLink, jmolCheckbox,
jmolRadioGroup, jmolMenu, jmolRadio
no siguen secuencialmente a la llamada jmolApplet
a la que deben estar asociados.
Todas las miniaplicaciones JmolApplet generadas por la biblioteca Jmol.js
reciben un identificador interno, que por defecto es un número
secuencial a partir de cero.
Por lo tanto, para referirte a la primera y la segunda
miniaplicaciones de la página debes usar
jmolSetTarget(0) y jmolSetTarget(1).
En lugar de mantener la numeración predefinida, puedes proporcionar tus
propios sufijos al llamar a jmolApplet
y usarlos luego en jmolSetTarget.
jmolRadio(guión,
etiquetaHtml, estáMarcada, separadorHtml, nombreGrupo,
id, title)
En primer lugar, intenta por todos los medios usar jmolRadioGroup
en lugar de esto.
Si tu organización de contenidos no te lo permite, puedes usar
esta instrucción para asignar opciones (botones radio) individualmente.
Lee la descripción de los parámetros guión, etiquetaHtml,
estáMarcada y separadorHtml
en jmolRadioGroup.
Los botones se asignarán al grupo indicado por nombreGrupo.
Dicho de otro modo, los botones ligados (los mutuamente excluyentes en su marcado)
serán aquéllos que compartan un mismo valor de nombreGrupo.
Si no quieres usar un nombreGrupo, todos los botones se asignarán al
mismo grupo (con un nombre asignado automáticamente) hasta que llames a
jmolStartNewRadioGroup para comenzar un grupo nuevo.
Si en la página hay varias miniaplicaciones Jmol, las instrucciones del guión se aplicarán
a la inmediatamente anterior o a la que haya sido especificada mediante una instrucción
jmolSetTarget previa.
Avanzado:
El botón radio, junto con su etiqueta, tendrá un parámetro HTML
id de "span_" seguido del id indicado,
y un parámetro HTML title del title indicado.
Además, el botón tendrá el id indicado como su propio
parámetro HTML id.
La etiqueta estará rodeada por etiquetas <label>;
el resultado es que haciendo clic sobre el texto de la etiqueta se consigue lo mismo
que haciendo clic sobre el propio botón radio.
jmolStartNewRadioGroup()
No uses esto salvo que estés trabajando con múltiples grupos
de opciones cuya distribución sea tan complicada que
no puedas usar jmolRadioGroup.
Lee jmolRadio, justo encima, donde se explica cómo usar esta función.
jmolSetCheckboxGroup(chkMaster, chkBoxes)
A partir de casillas de selección insertadas previamente (mediante jmolCheckbox),
esta función permite establecer una relación entre una casilla "madre" o "líder" y una o varias
casillas "hijas" o "seguidoras", de acuerdo a estas reglas:
- Cuando se marque la líder, todas sus seguidoras se marcarán automáticamente.
- Cuando se quite la marca en la líder, todas sus seguidoras perderán su marca automáticamente.
- Cuando una de las seguidoras se marque o se quite su marca, se examina el estado de sus
compañeras; si es el mismo en todas, automáticamente la líder se marcará o perderá la marca.
chkMaster es el identificador (ID) asignado a la casilla que hará de líder.
Este identificador puede haber sido asignado cuando se introdujo el jmolCheckbox,
o bien puede ser un número. (Si no se especificó un ID, por defecto se asignan identificadores
numéricos secuenciales, comenzando por cero.)
chkBoxes es uno o más identificadores o números (separados por comas), indicando
las casillas que harán de seguidoras.
Se puede establecer cualquier número de grupos en una página, conteniendo cualquier
número de casillas.
También es posible anidar unos grupos dentro de otros (es decir, una casilla seguidora en un grupo
puede ser a su vez líder de un grupo interior).
Ejemplos:
-
jmolSetCheckboxGroup(0, 1, 4)
Define la 1ª casilla de la página como líder, la 2ª y la 5ª como seguidoras.
-
jmolSetCheckboxGroup(4, 5, "chkH")
Define la 5ª casilla como líder, la 6ª y la identificada con "chkH" como seguidoras.
-
jmolSetCheckboxGroup("chkH", "chkMetino", "chkMetil")
Define la casilla "chkH" como líder, las identificadas con "chkMetino" y "chkMetil" como seguidoras.
jmolCheckBrowser(acción, URLoMensaje, ahoraOalClic)
Ejecuta una verificación del navegador web del usuario para comprobar su compatibilidad
con Jmol. Asimismo, permite redirigir al usuario hacia un mensaje
o página web específicos cuando falle la verificación, explícita o automática, del navegador.
acción debe ser "popup", "redirect" o "alert".
"popup" hará que se abra la dirección URL indicada en URLoMensaje
en una nueva ventana del navegador.
"redirect" hará que se abra la dirección URL indicada en URLoMensaje
sustituyendo a la página actual.
"alert" mostrará un diálogo de aviso, o alerta de javascript, con el
texto indicado en URLoMensaje.
ahoraOalClic debe ser bien "now" u "onClick" (predeterminado).
Indica cuándo se debe realizar la verificación del navegador.
"now" indica que se haga inmediatamente.
"onClick" indica que se haga la primera vez que el usuario haga clic
en un control, por ejemplo en un jmolButton().
Si no se hace esta llamada y el usuario utiliza un navegador no compatible,
aparecerá un mensaje de aviso predeterminado
la primera vez que el usuario haga clic en un control de Jmol.
jmolSetDocument(doc)
De modo predeterminado, Jmol.js escribe las miniaplicaciones
y los controles en la página.
Usando esta función es posible indicar otras dianas:
-
jmolSetDocument(win2.document)
escribirá la miniaplicación y los controles en otra ventana (llamada "win2" en este ejemplo)
-
jmolSetDocument(0) o jmolSetDocument(false)
desactiva la escritura de código en la página cuando ésta se está cargando.
En su lugar, el código se retiene y puede ser devuelto en una variable JavaScript, como por ejemplo:
var miApplet = jmolApplet(...)
var miControl = jmolRadioGroup(...)
variables que más tarde pueden usarse para escribir una página
o para escribir en una capa (div), usando JavaScript.
jmolSetAppletWindow(ventanaDiana)
Cada vez que se proporciona una instrucción de Jmol.js
que requiere la interacción con la miniaplicación, debe primero localizarse el
objeto miniaplicación. Para ello, deben examinarse varias ventanas
(o "marcos" de documento, si es que se usan). Por defecto, primero se busca
la miniaplicación en la ventana actual, luego en los marcos hijos y finalmente
en el marco superior y en sus descendientes. Aunque este procedimiento debería
de tener éxito, en ciertas circunstancias puede ser preferible indicar
explícitamente qué ventana debe investigarse primero. Esto se hace utilizando
la instrucción jmolSetAppletWindow(). El parámetro ventanaDiana
debe de ser un objeto de tipo ventana (o marco).
jmolAppletInline(tamaño, modeloEnLinea, guión, sufijoNombre)
Inserta una miniaplicación JmolApplet, pero en lugar de un nombre de
archivo o una dirección URL, le pasa el contenido del modelo
molecular. Probablemente sólo necesites usar esto si estás sacando
los datos del modelo molecular de una base de datos.
guión y sufijoNombre funcionan como en
jmolApplet.
Véase además la nota al final de jmolApplet relativa al
uso de instrucciones justo tras la llamada a la miniaplicación.
jmolLoadInline(modelo, sufijoDiana)
Se usa en aplicaciones de base de datos en las que el modelo
molecular esté disponible en forma de cadena de texto.
Esta instrucción carga directamente el modelo a la
miniaplicación. Atención: éste no es el nombre del archivo,
sino el contenido del archivo.
model puede también ser una matriz de modelos moleculares (entre corchetes y separados por comas), incluso con formatos de archivo diferentes.
sufijoDiana funciona como en
jmolScript.
Advertencia:
excepto para la primera miniaplicación de la página,
debes indicar un sufijoDiana; el uso de
jmolSetTarget
no afecta a jmolLoadInline.
jmolLoadInlineScript(modelo, guión, sufijoDiana)
Es similar a jmolLoadInline, pero permite además
ejecutar un guión de instrucciones tras la carga de la molécula.
guión y sufijoDiana funcionan como en
jmolScript.
Advertencia:
excepto para la primera miniaplicación de la página,
debes indicar un sufijoDiana; el uso de
jmolSetTarget
no afecta a jmolLoadInlineScript.
jmolSetCallback("nombreLlamada", "nombreFunción")
Indica qué función javascript debe llamarse desde Jmol cuando se genere una retrollamada
("callback") del tipo indicado --a continuación hay una lista--.
El nombreFunción debe ir entre comillas dobles. En cada caso, se devuelven
varios parámetros que se pasan a la función:
- el primer parámetro devuelto es el nombre HTML de la miniaplicación
(habitualmente, "jmolApplet0");
- el segundo parámetro contiene la información;
- se devuelven parámetros adicionales sólo en el caso de algunas retrollamadas
(véase a continuación), y contienen información adicional.
Ten en cuenta que todos estos parámetros se devuelven en forma de texto Java,
y en general es más seguro convertirlos a texto JavaScript antes de
usarlos en la función. Esto se puede hacer así:
function nombreFunción(a,b,c,d) {
var aa = " + a;
var bb = " + b;
var cc = " + c;
var dd = " + d;
// aquí van las acciones deseadas, usando aa, bb, cc y dd en lugar de a, b, c y d
}
Caso especial: si nombreFunción es alert, sólo se envía al usuario el segundo parámetro,
mediante una llamada javascript alert(), y no es precisa una función en la página web.
jmolSetCallback debe invocarse antes de jmolApplet.
Para definir funciones de retrollamada en cualquier momento tras la carga de la miniaplicación
Jmol, utiliza las instrucciones de guiones
set animFrameCallback, set hoverCallback, etc.
[véanse detalles en la
Documentación de guiones interactivos].
Para cancelar la detección de retrollamadas, utiliza set animFrameCallback none etc.
Tipos de retrollamada ("callback"), o valores de nombreLlamada:
Se invoca: cuando cambia el fotograma ("frame"). (Aplicable a
archivos multi-modelo y a varios archivos cargados.)
Parámetros devueltos (del 2º al 9º):
- El índice del fotograma actual (comenzando por 0)
- El número del archivo actual (comenzando por 1)
- El número del modelo actual dentro del archivo actual (comenzando por 1)
- El primer fotograma del intervalo de animación, expresado como nArchivo x 1000000 + nModelo
- El último fotograma del intervalo de animación, expresado como nArchivo x 1000000 + nModelo
- 0 (si la animación está detenida) o 1 (si está en marcha)
- La dirección actual de la animación, bien 1 o -1
- La dirección actual, bien 1 (avanzando) o -1 (retrocediendo)
Nota:
Obsérvese que el índice de fotograma no es el mismo número que se se usaría
en una instrucción "frame" de guiones. El índice 0 es siempre
el primer fotograma, el 1 el siguiente, etc. Si se cargan varios archivos, el tercer
fotograma del primer archivo tiene índice 2 pero se accede en un guión mediante
"frame 1003" o "frame 1.3".
Se invoca: cuando la miniaplicación ha terminado de cargarse,
y también cuando se destruye (esto puede incluir cuando la página se recarga en el navegador).
La retrollamada se activa tras ejecutar cualquier guión incluido en la llamada a
jmolApplet().
2º parámetro devuelto: el nombre HTML de la miniaplicación, seguido de
2 guiones bajos, el identificador único syncID de la miniaplicación y 2 guiones bajos.
Ejemplo: jmolApplet0__2810172796629116__
3er parámetro: verdadero (si se cargó la miniaplicación) o
falso (si se destruyó la miniaplicación).
Se invoca: cuando se mueve algún átomo, bien mediante un guión o
por una acción del usuario.
2º parámetro devuelto: el BitSet de los átomos que se han movido.
Se invoca: cuando se ejecuta una instrucción echo.
Si no se define una función echoCallback, estos mensajes van a la
función messageCallback.
2º parámetro devuelto: el mismo texto mostrado en Jmol por
la instrucción echo.
(Avanzado) Véase la
documentación de guiones
(en inglés).
Se invoca: cuando el usuario detiene el puntero
del ratón sobre un átomo.
2º parámetro devuelto: un texto que depende del estado de
la etiqueta de "hover" para el átomo señalado (véase más adelante).
3.er parámetro devuelto: índice del átomo, comenzando por 0.
Si la actuación de la función incluye una instrucción jmolScript que establece
el texto para "hover", la página web puede controlar en continuo qué se muestra cuando
el puntero se detiene sobre un átomo. Por ejemplo:
function miFunc(a,mens) {
var mensaje;
var s = "" + mens; // convierte el 2º parámetro en una variable JavaScript de texto
if (s.charAt(0) == 'C') {
mensaje = "Sí, eso es un carbono.";
} else {
mensaje = "No, eso no es un carbono. Los carbonos son grises.";
}
jmolScript('hover "'+mensaje+'"');
}
establece el mensaje que se mostrará dependiendo del átomo sobre el
que se detenga el puntero.
Esta llamada es especial: no se invoca mediante un evento, sino tan
sólo intencionadamente, y no devuelve nada.
En su lugar, cambia el idioma de la interfaz en el menú emergente de la miniaplicación y en los
mensajes de la consola.
Debe llamarse antes que jmolApplet. Se puede conseguir lo mismo una vez cargada
la miniaplicación, empleando el lenguaje de guiones (por ej., language = "de"), así como
desde el propio menú emergente.
El primer parámetro debe ser "language" y el segundo, el código de dos letras (o de 2+2 letras) del idioma deseado
(siempre y cuando esa localización esté incluida en Jmol).
Ejemplos:
-
jmolSetCallback("language", "de") (alemán)
-
jmolSetCallback("language", "en") (inglés)
-
jmolSetCallback("language", "es") (español)
-
jmolSetCallback("language", "fr") (francés)
-
jmolSetCallback("language", "pt_BR") (portugués de Brasil)
Se invoca: tras la carga con éxito de un archivo.
2º parámetro devuelto: la dirección URL del archivo cargado.
3er parámetro devuelto: el nombre del archivo cargado (sin la ruta).
4º parámetro devuelto: el título interno del modelo en el archivo cargado.
5º parámetro devuelto: mensajes de error que se hayan generado.
6º parámetro devuelto: un código numérico: 3 si el archivo se cargó
correctamente, 0 si es modelo se borró, -1 si falló la carga.
7º parámetro devuelto: un texto con el número de modelo o fotograma
anterior al carga de este modelo, en formato archivo.modelo (por ej.,
"3.1", o "1.1 - 3.31" si se cargó un grupo de modelos).
8º parámetro devuelto: un texto con el número del último modelo o
fotograma tras cargar el modelo actual, en formato archivo.modelo.
Nota: Si se cargan varios archivos con una sola instrucción "load",
sólo se devuelven los datos del último.
Se invoca: cuando el usuario hace una medición.
Si no se define una función measureCallback, estos mensajes van a
la función messageCallback.
2º parámetro devuelto: un texto indicando el estado de las mediciones.
Se invoca: cuando Jmol genera un mensaje de estado.
2º parámetro devuelto: el mensaje de estado.
Nota: Se generan mensajes:
1) por una instrucción "message"
2) por una instrucción "echo" (incluso si no muesta ningún texto)
3) por las instrucciones "history", "show" y "getProperty"
4) por la instrucción "connect"
5) por la instrucción "set xxxxCallback", excepto si "xxxx" es
"animFrame", "hover", "loadStruct", "message" o "pick"
6) por una medición realizada por el usuario tras una instrucción "set picking measure"
7) cuando el usuario elige el primer átomo tras una instrucción "set picking spin"
8) cuando cambia el número de átomos seleccioandos
9) debido a errores durante la ejecución de diversas instrucciones, entre ellas "pmesh", "set"
10) cuando termina la ejecución de instrucciones o guiones ("Script completed", a no ser que haya un error de compilador
("script compiler ERROR:...")
11) cuando se produce un error de ejecución en un guión ("script ERROR:..."), siempre que no haya un error de compilador
12) en diversos puntos tras las instrucciones "set debugScript" o "set loglevel 5"
(La distinción entre errores de compilador y errorres de ejecución es sutil.
Con un error de compilador, no se ha ejecutado nada del guión; con un
error de ejecución, se ha ejecutado el guión hasta el punto donde se ha producido el error.
Durante la compilación, sólo se verifica una parte de la sintaxis de las instrucciones.)
Se invoca: en cada iteración de una minimización.
2º parámetro devuelto: un texto indicando el estado actual de la
minimización que se esté ejecutando: bien starting (comenzando),
running (en marcha) o done (finalizada).
3er parámetro devuelto: el número de la iteración.
4º parámetro devuelto: un número con el valor de energía (E) en esa etapa.
5º parámetro devuelto: un número con la disminución de energía (dE) en esa etapa.
Se invoca: cuando el usuario hace clic sobre un átomo.
2º parámetro devuelto: identificador del átomo, número del átomo y coordenadas xyz, con este formato:
C6 #6 -0.30683374 -1.6836332 -0.716934
3.er parámetro devuelto: índice del átomo, comenzando por 0.
Se invoca: cuando cambia el tamaño de la miniaplicación.
2º parámetro devuelto: anchura (en píxeles).
3er parámetro devuelto: altura (en píxeles).
Se invoca: cuando se está ejecutando un guión.
Envía mensajes que indican el estado de la ejecución del guión.
Si se ha empleado set debugScript true, se envían las instrucciones
del guión línea por línea.
Si no se define una función scriptCallback, estos mensajes van a la
función messageCallback.
Se invoca: cuando se envíe un mensaje a la linea de estado del documento.
2º parámetro devuelto: mensaje de estado
Nota: Estas retrollamadas no invocan realmente funciones, sino que permiten
escribir información de estado en cajas de texto (una linea) y áreas de texto (varias llineas) de la página.
Antes de jmolApplet, utiliza
jmolSetCallback("statusForm", "un_nombre_de_formulario")
jmolSetCallback("statusText", "un_nombre_de_caja_de_texto")
or
jmolSetCallback("statusForm", "un_nombre_de_formulario")
jmolSetCallback("statusTextarea", "un_nombre_de_area_de_texto")
La diferencia es que statusText sustituye el contenido del elemento caja de texto
por el mensaje, mientras que statusTextarea añade el mensaje tras
el contenido existente.
Por tanto, con un guión típico aplicado con éxito, statusText sustituye el texto por
"Jmol script terminated". Si hay un error, la caja de texto quedará en blanco.
Por el contrario, statusTextarea añade los mensajes, de modo que aparecerá un
informe completo en el área de texto.
(Estas funciones no se han probado extensivamente. Pueden ser útiles principalmente
en la eliminación de errores. Puede verse un ejemplo de su uso en
http://www.stolaf.edu/academics/chemapps/jmol/docs/examples-11/simple2.htm .)
Se invoca: cuando una miniaplicación envía un mensaje de sincronización
a otra.
La función JavaScript puede modificar o cancelar el mensaje de sincronización.
Si la función devuelve "" o 0, se cancela la sincronización;
si devuelve cualquier otro texto, éste sustituye al guión y se envía a las
otras miniaplicaciones que estén sincronizadas.
jmolAppletAddParam(códigoApplet, nombre, valor)
Añade datos de parámetros a un texto HTML que define una miniaplicación, creado
previamente mediante:
jmolSetDocument(0);
var codigoA = jmolApplet(....);
codigoA = jmolAppletAddParam(codigoA, nombre, valor);
para escribirlo luego a la página web mediante
document.write(codigoA)
jmolEvaluate(matemáticaMolecular, sufijoDiana)
Permite extraer a JavaScript (p. ej. a una variable) información de una
variable
definida en el lenguaje de guiones de Jmol, una expresión
matemática de Jmol,
o bien alguna información del modelo.
Ejemplos:
alert( jmolEvaluate("a") );
// Muestra el valor de la variable 'a' si se ha definido en guiones de Jmol.
alert( jmolEvaluate("{*}.xyz") );
// Muestra las coordenadas del centro geométrico del modelo.
alert( jmolEvaluate("{*}.length") );
// Muestra el número total de átomos del modelo.
alert( jmolEvaluate("{carbon}.bonds.length.min") );
// Muestra la longitud de enlace mínima entre átomos de carbono.
alert( jmolEvaluate("_atomPicked") );
// Muestra el índice del último átomo sobre el que se pulsó.
jmolGetPropertyAsArray(clave, valor, sufijoDiana)
Devuelve información de la miniaplicación en forma de una matriz de datos javascript, si
es aplicable, o un texto javascript si no lo es.
Un ejemplo:
var atoms = jmolGetPropertyAsArray("atomInfo","all");
var atom1 = atoms[0];
var x = atom1.x;
var info = atom1.info;
jmolGetPropertyAsString(clave, valor, sufijoDiana)
Devuelve datos similarmente a jmolGetPropertyAsArray, pero siempre
en forma de texto javascript. En el caso de una matriz de datos, el texto se delimita con
tabuladores y saltos de línea, para facilitar su lectura.
jmolGetPropertyAsJSON(clave, valor, sufijoDiana)
Devuelve datos similarmente a jmolGetPropertyAsArray, pero siempre
en forma de texto javascript en notación JavaScript Object Notation.
Ese texto puede luego ser rodeado con paréntesis y evaluado
para generar una matriz. Por ejemplo:
var info = jmolGetPropertyAsJSON("filename")
establece que la variable info tenga un valor de
{"filename": "file:/C:/data/caffeine.xyz"}
Luego
var Info = eval("(" + info + ")")
produce una matriz javascript nueva Info que contiene el elemento
Info.filename con un valor de "file:/C:/data/caffeine.xyz"
jmolGetPropertyAsJavaObject(clave, valor, sufijoDiana)
Devuelve datos en forma de objeto Java (no javascript). Esta función es sólo
para usuarios avanzados y en general no se recomienda su uso, pues proporciona
un puntero al propio objeto Java, no una copia de éste. Este puntero puede ser o
no válido indefinidamente y puede o no sufrir correctamente la "recogida de
basura" por parte de todos los navegadores. No se ha probado extensivamente en
plataformas diversas. El uso principal de esta función es el acceso a métodos
públicos de Viewer que no están disponibles en general a través de la interfaz
de la miniaplicación. Por ejemplo:
var viewer = jmolGetPropertyAsJavaObject("jmolViewer")
var radius = viewer.getRotationRadius()
Hay una lista con la mayoría de estos métodos públicos en
http://jmol.svn.sourceforge.net/viewvc/jmol/trunk/Jmol/src/org/jmol/api/JmolViewer.java?view=markup
jmolDecodeJSON(s)
Descodifica un texto en notación JavaScript Object Notation dando un texto javascript
legible por personas y ejecutable como javascript. Por ejemplo:
var info = jmolGetPropertyAsJSON("atominfo", "atomno=1")
alert(jmolDecodeJSON(info))
muestra:
atominfo=new Array()
atominfo[0]=new Array()
atominfo[0].element="hydrogen"
atominfo[0].visible=true
atominfo[0].model=1
atominfo[0].radius=0.5
atominfo[0].visibilityFlags=13
atominfo[0].clickabilityFlags=12
atominfo[0].bondCount=1
atominfo[0].atomno=1
atominfo[0].elemno=1
atominfo[0].z=0.5733036
atominfo[0].y=-1.1272367
atominfo[0].x=-3.380413
atominfo[0].partialCharge=0
atominfo[0].sym="H"
atominfo[0].colix=-32767
atominfo[0].spacefill=60
atominfo[0].color="ffffff"
atominfo[0].info="H1 #1"
atominfo[0]._ipt=0
atominfo[0].formalCharge=0
jmolScriptEcho(guión, sufijoDiana)
Proporciona una lista en orden inverso, separada en líneas,
de todos los textos de tipo 'echo' producidos por el guión,
asociado a la miniaplicación JmolApplet indicada.
jmolScriptMessage(guión, sufijoDiana)
Proporciona una lista en orden inverso, separada en líneas,
de todos los mensajes producidos por el guión,
asociado a la miniaplicación JmolApplet indicada,
terminando con Script completed\n.
jmolSetAppletCssClass(claseCSS)
Indica la clase CSS que se debe asignar a las
etiquetas applet generadas por
jmolApplet y jmolAppletInline.
jmolSetButtonCssClass(claseCSS)
Indica la clase CSS que se debe asignar a las
etiquetas input generadas por
jmolButton.
jmolSetCheckboxCssClass(claseCSS)
Indica la clase CSS que se debe asignar a las
etiquetas input generadas por
jmolCheckbox.
jmolSetRadioCssClass(claseCSS)
Indica la clase CSS que se debe asignar a las
etiquetas input generadas por
jmolRadioGroup y jmolRadio.
jmolSetLinkCssClass(claseCSS)
Indica la clase CSS que se debe asignar a las
etiquetas a generadas por
jmolLink.
jmolSetMenuCssClass(claseCSS)
Indica la clase CSS que se debe asignar a las
etiquetas select generadas por
jmolMenu.
|