Index

algorithm/kekule.graph.js

algorithm/kekule.structures.aromatics.js

algorithm/kekule.structures.canonicalizers.js

Canonicalizers for chemical structures, especially for ctab based ones. The general process of canonicalization includes three phrases: 1. An indexer object is called and assign index to each node in structure. 2. An node sorter object is called and sort nodes according to canonicalization index in previous step. 3. An connector sorter object is called to sort connectors according to sorted nodes. Different canonicalization method may requires different indexer or node sorter. Connector sorter usually do not need to vary.
Author:
  • Partridge Jiang
Source:

algorithm/kekule.structures.helpers.js

algorithm/kekule.structures.ringSearches.js

algorithm/kekule.structures.searches.js

algorithm/kekule.structures.standardizers.js

algorithm/kekule.structures.stereos.js

calculation/kekule.calc.base.js

chemdoc/kekule.attachedMarkers.js

chemdoc/kekule.commonChemMarkers.js

chemdoc/kekule.contentBlocks.js

chemdoc/kekule.glyph.base.js

chemdoc/kekule.glyph.chemGlyphs.js

chemdoc/kekule.glyph.lines.js

chemdoc/kekule.glyph.pathGlyphs.js

core/kekule.chemUtils.js

core/kekule.common.js

core/kekule.configs.js

core/kekule.electrons.js

core/kekule.elements.js

core/kekule.exceptions.js

core/kekule.reactions.js

core/kekule.structureBuilder.js

core/kekule.structures.js

core/kekule.valences.js

This file helps to determine the valence of a neutral, anion(-) or cation(+) atom.
Author:
  • Partridge Jiang
Source:

html/kekule.nativeServices.js

html/kekule.predefinedResLoaders.js

Utils and classes to load chem resources embedded or linked in HTML page. The chem resources (usually a formatted file (.mol, .cml...) or a formatted string) can be embedded in <script> tag:
<script id="chem1" type="chemical/x-mdl-molfile">
Untitled Document-1
ChemDraw09151219572D

2  1  0  0  0  0  0  0  0  0999 V2000
 -0.4125    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  0.4125    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
1  2  1  0
M  END
</script>
or linked in by <script> or <link> tag as the follows:
<script id="chem2" type="chemical/x-kekule-json" src="externalMol.kcj"></script>
<link id="chem3" type="chemical/x-cml" href="external.cml" /> Afterwards, user can ref to chem resource by ID directly in HTML code, such as:
<div data-kekule-role="Kekule.ChemWidget.Viewer2D" data-chem-obj="url(#chem1)" /> which will initialize a 2D viewer.
Author:
  • Partridge Jiang
Source:

io/cml/kekule.io.cml.js

File for supporting CML (Chemical Markup Language), especially on read/write molecules and reactions.
Author:
  • Partridge Jiang
Source:

io/kekule.io.js

Abstract root classes for concrete strcuture reader/writers of different structure formats.
Author:
  • Partridge Jiang
Source:

io/mdl/kekule.io.mdl2000.js

io/mdl/kekule.io.mdl3000.js

io/mdl/kekule.io.mdlBase.js

io/mdl/kekule.io.mdlIO.js

io/native/kekule.io.native.js

File to support read or write chemical data in JSON or XML format by built-in serializers. The JSON data serialized directly from Kekule.ChemObject is called KCJ (Kekule Chem JSON), while the XML data is called KCX (Kekule Chem XML).
Author:
  • Partridge Jiang
Source:

io/smiles/kekule.io.smiles.js

lan/classes.js

This file simulates the class-based inheritance, most of the code is borrowed from Prototype lib. My own property system borrowed form WebShow framework is also added here.
Author:
  • Partridge Jiang
Source:

lan/serializations.js

lan/xmlJsons.js

Utilities to handle XML and JSON data. Borrowed from WebShow.XML and WebShow.JSON.
Author:
  • Partridge Jiang
Source:

render/2d/kekule.render.canvasRenderer.js

render/2d/kekule.render.glyphRender2D.js

render/2d/kekule.render.raphaelRenderer.js

render/2d/kekule.render.renderer2D.js

render/3d/kekule.render.renderer3D.js

render/3d/kekule.render.threeRenderer.js

render/kekule.render.base.js

render/kekule.render.baseTextRender.js

render/kekule.render.boundInfoRecorder.js

render/kekule.render.configs.js

render/kekule.render.extensions.js

render/kekule.render.painter.js

This file contains classes to draw ChemSpace objects in 2D or 3D context. Usually the user do not need to call renderer classes to draw, but use painter instances instead.
Author:
  • Partridge Jiang
Source:

render/kekule.render.renderColorData.js

render/kekule.render.utils.js

utils/kekule.domHelper.js

Generally we can use getElementsByTagName, getAttribute to analysis a DOM tree. If the DOM has namespaces, getElementsByTagNameNS and getAttributeNS should be used instead. However, IE (and MSXML) does not support those NS methods. So this file is trying to provide a cross-browser solution.
Author:
  • Partridge Jiang
Source:

utils/kekule.domUtils.js

utils/kekule.textHelper.js

Contains classes and functions help to analysis text format chemical data, especially the line/column fixed ones such as MDL MOL/SDF/RXN.
Author:
  • Partridge Jiang
Source:

utils/kekule.utils.js

widgets/advCtrls/grids/kekule.widget.dataGrids.js

widgets/advCtrls/grids/kekule.widget.dataSets.js

DataProvider is a special class to provide part of large amount of data to other widgets (e.g., DataTable). For example, suppose a database table is filled with 1000 records, the provider can fetch 100 items from it first, then the next 100 ones.
Author:
  • Partridge Jiang
Source:

widgets/advCtrls/kekule.widget.colorPickers.js

widgets/advCtrls/kekule.widget.textEditors.js

widgets/advCtrls/kekule.widget.valueListEditors.js

widgets/advCtrls/kekule.widget.widgetGrids.js

widgets/advCtrls/objInspector/kekule.widget.objInspector.chemPropEditors.js

widgets/advCtrls/objInspector/kekule.widget.objInspector.operations.js

widgets/advCtrls/objInspector/kekule.widget.objInspector.propEditors.js

widgets/advCtrls/objInspector/kekule.widget.objInspectors.js

widgets/chem/editor/kekule.chemEditor.actions.js

widgets/chem/editor/kekule.chemEditor.baseEditors.js

widgets/chem/editor/kekule.chemEditor.chemSpaceEditors.js

widgets/chem/editor/kekule.chemEditor.composers.js

widgets/chem/editor/kekule.chemEditor.configs.js

widgets/chem/editor/kekule.chemEditor.editorUtils.js

widgets/chem/editor/kekule.chemEditor.extensions.js

widgets/chem/editor/kekule.chemEditor.nexus.js

widgets/chem/editor/kekule.chemEditor.objModifiers.js

widgets/chem/editor/kekule.chemEditor.operations.js

widgets/chem/editor/kekule.chemEditor.repositories.js

widgets/chem/editor/kekule.chemEditor.repositoryData.js

widgets/chem/editor/kekule.chemEditor.trackParser.js

widgets/chem/editor/kekule.chemEditor.utilWidgets.js

widgets/chem/editor/modifiers/kekule.chemEditor.structureModifiers.js

widgets/chem/editor/modifiers/kekule.chemEditor.styleModifiers.js

widgets/chem/editor/modifiers/kekule.chemEditor.textModifiers.js

widgets/chem/kekule.chemWidget.base.js

widgets/chem/kekule.chemWidget.chemObjDisplayers.js

widgets/chem/kekule.chemWidget.dialogs.js

widgets/chem/periodicTable/kekule.chemWidget.periodicTables.js

widgets/chem/structureTreeView/kekule.chemWidget.structureTreeViews.js

widgets/chem/uiMarker/kekule.chemWidget.uiMarkers.js

widgets/chem/viewer/kekule.chemWidget.chemObjInserters.js

widgets/chem/viewer/kekule.chemWidget.viewerGrids.js

widgets/chem/viewer/kekule.chemWidget.viewers.js

widgets/commonCtrls/kekule.widget.buttons.js

widgets/commonCtrls/kekule.widget.containers.js

widgets/commonCtrls/kekule.widget.dialogs.js

widgets/commonCtrls/kekule.widget.formControls.js

widgets/commonCtrls/kekule.widget.images.js

widgets/commonCtrls/kekule.widget.menus.js

widgets/commonCtrls/kekule.widget.movers.js

widgets/commonCtrls/kekule.widget.msgPanels.js

widgets/commonCtrls/kekule.widget.nestedContainers.js

widgets/commonCtrls/kekule.widget.resizers.js

widgets/commonCtrls/kekule.widget.tabViews.js

widgets/commonCtrls/kekule.widget.treeViews.js

widgets/kekule.widget.autoLaunchers.js

Utils and classes to identify and load Kekule Widget in HTML tag when a page is loaded. Generally, the auto launcher will iterate through elements in document. If an element is with a data-widget attribute, it will be regarded as a Kekule related one. Then a specified Kekule widget will be created (according to data-widget attribute) on this tag. Widget property will also be set from "data-XXX" attribute.
Author:
  • Partridge Jiang
Source:

widgets/kekule.widget.base.js

widgets/kekule.widget.clipboards.js

widgets/kekule.widget.helpers.js

widgets/kekule.widget.styleResources.js

Style resource is a special object that links to a CSS style selector (usually a CSS class). User can appoint resource to a widget to change its style.
Author:
  • Partridge Jiang
Source:

widgets/kekule.widget.sys.js

widgets/operation/kekule.actions.js

The implementation of Action class. Action is a type of class that can be associated with widget to do a specified job (like the corresponding part in Delphi).
Author:
  • Partridge Jiang
Source:

widgets/operation/kekule.operations.js

widgets/operation/kekule.operHistoryTreeViews.js

widgets/sys/kekule.widget.sysMsgs.js

widgets/transitions/kekule.widget.transitions.js

widgets/transitions/kekule.widget.transMgr.js