You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@corinthia.apache.org by ja...@apache.org on 2015/08/17 10:50:03 UTC
[11/28] incubator-corinthia git commit: included MOC compiler for Qt
implementation
http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/9bf02bb2/experiments/editorFramework/src/Layer0_Javascript/Lists.js
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/src/Layer0_Javascript/Lists.js b/experiments/editorFramework/src/Layer0_Javascript/Lists.js
deleted file mode 100644
index a3a9772..0000000
--- a/experiments/editorFramework/src/Layer0_Javascript/Lists.js
+++ /dev/null
@@ -1,553 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-var Lists_increaseIndent;
-var Lists_decreaseIndent;
-var Lists_clearList;
-var Lists_setUnorderedList;
-var Lists_setOrderedList;
-
-(function() {
-
- // private
- function findLIElements(range)
- {
- var listItems = new Array();
-
- var node = range.start.node;
- while (node != null) {
-
- addListItems(listItems,node);
-
- if (node == range.end.node)
- break;
-
- node = nextNode(node);
- }
- return listItems;
-
- function addListItems(array,node)
- {
- if (node == null)
- return;
-
- if (node._type == HTML_LI) {
- if (!arrayContains(array,node))
- array.push(node);
- return;
- }
-
- if (!isWhitespaceTextNode(node))
- addListItems(array,node.parentNode);
- }
- }
-
- // public
- Lists_increaseIndent = function()
- {
- Selection_preferElementPositions();
- Selection_preserveWhileExecuting(function() {
- var range = Selection_get();
- if (range == null)
- return null;
-
- // Determine the set of LI nodes that are part of the selection
- // Note that these could be spread out all over the place, e.g. in different lists,
- // some in table cells etc
- var listItems = findLIElements(range);
-
- // For each LI node that is not the first in the list, move it to the child list of
- // its previous sibling (creating the child list if necessary)
-
- for (var i = 0; i < listItems.length; i++) {
- var li = listItems[i];
- var prevLi = li.previousSibling;
- while ((prevLi != null) && (prevLi._type != HTML_LI))
- prevLi = prevLi.previousSibling;
- // We can only increase the indentation of the current list item C if there is
- // another list item P immediately preceding C. In this case, C becomes a child of
- // another list L, where L is inside P. L may already exist, or we may need to
- // create it.
- if (prevLi != null) {
- var prevList = lastDescendentList(prevLi);
- var childList = firstDescendentList(li);
- var childListContainer = null;
- if (childList != null) {
- // childList may be contained inside one or more wrapper elements, in which
- // case we set childListContainer to point to the wrapper element that is a
- // child of li. Otherwise childListContainer will just be childList.
- childListContainer = childList;
- while (childListContainer.parentNode != li)
- childListContainer = childListContainer.parentNode;
- }
-
- if (prevList != null) {
- DOM_appendChild(prevList,li);
- if (childList != null) {
- while (childList.firstChild != null)
- DOM_appendChild(prevList,childList.firstChild);
- DOM_deleteNode(childListContainer);
- // alert("Case 1: prevList and childList");
- }
- else {
- // alert("Case 2: prevList and no childList");
- }
- }
- else {
- var newList;
- if (childList != null) {
- // alert("Case 3: no prevList but childList");
- newList = childList;
- DOM_appendChild(prevLi,childListContainer);
- }
- else {
- // alert("Case 4: no prevList and no childList");
- if (li.parentNode._type == HTML_UL)
- newList = DOM_createElement(document,"UL");
- else
- newList = DOM_createElement(document,"OL");
- DOM_appendChild(prevLi,newList);
- }
- DOM_insertBefore(newList,li,newList.firstChild);
- }
- }
- }
- });
-
- function firstDescendentList(node)
- {
- while (true) {
- var node = firstChildElement(node);
- if (node == null)
- return null;
- switch (node._type) {
- case HTML_UL:
- case HTML_OL:
- return node;
- }
- }
- }
-
- function lastDescendentList(node)
- {
- while (true) {
- var node = lastChildElement(node);
- if (node == null)
- return null;
- switch (node._type) {
- case HTML_UL:
- case HTML_OL:
- return node;
- }
- }
- }
- }
-
- // public
- Lists_decreaseIndent = function()
- {
- Selection_preferElementPositions();
- Selection_preserveWhileExecuting(function() {
- var range = Selection_get();
- if (range == null)
- return null;
-
- // Determine the set of LI nodes that are part of the selection
- // Note that these could be spread out all over the place, e.g. in different lists,
- // some in table cells etc
- var listItems = findLIElements(range);
-
- // Remove from consideration any list items that have an ancestor that is going to
- // be moved
- var i = 0;
- var changed;
- while (i < listItems.length) {
- var node = listItems[i];
-
- var ancestorToBeRemoved = false;
- for (var ancestor = node.parentNode;
- ancestor != null;
- ancestor = ancestor.parentNode) {
- if (arrayContains(listItems,ancestor))
- ancestorToBeRemoved = true;
- }
-
- if (ancestorToBeRemoved)
- listItems.splice(i,1);
- else
- i++;
- }
-
- function haveContentAfter(node)
- {
- for (node = node.nextSibling; node != null; node = node.nextSibling) {
- if (nodeHasContent(node))
- return true;
- }
- return false;
- }
-
- // For LI nodes that are in a top-level list, change them to regular paragraphs
- // For LI nodes that are part of a nested list, move them to the parent (this requires
- // splitting the child list in two)
- for (var i = 0; i < listItems.length; i++) {
- var liNode = listItems[i];
- var listNode = liNode.parentNode;
- var containerChild = findContainerChild(listNode);
-
- if (haveContentAfter(liNode)) {
- var secondHalf;
- if (listNode._type == HTML_UL)
- secondHalf = DOM_createElement(document,"UL");
- else
- secondHalf = DOM_createElement(document,"OL");
-
- DOM_appendChild(liNode,secondHalf);
-
- var following = liNode.nextSibling;
- while (following != null) {
- var next = following.nextSibling;
- DOM_appendChild(secondHalf,following);
- following = next;
- }
- }
-
- DOM_insertBefore(containerChild.parentNode,liNode,containerChild.nextSibling);
- if (!isListNode(liNode.parentNode)) {
- Hierarchy_avoidInlineChildren(liNode);
- DOM_removeNodeButKeepChildren(liNode);
- }
-
- if (!nodeHasContent(listNode))
- DOM_deleteNode(listNode);
- }
- });
-
- function findContainerChild(node)
- {
- while (node.parentNode != null) {
- if (isContainerNode(node.parentNode) && (node.parentNode._type != HTML_LI))
- return node;
- node = node.parentNode;
- }
- }
- }
-
- // private
- function getListOperationNodes(range)
- {
- var detail = Range_detail(range);
- var dca = detail.commonAncestor;
- var ds = detail.startAncestor;
- var de = detail.endAncestor;
-
- while (isInlineNode(dca)) {
- ds = dca;
- de = dca;
- dca = dca.parentNode;
- }
-
- var nodes = new Array();
- var nodeSet = new NodeSet();
-
- if (dca._type == HTML_LI)
- return [dca];
-
- // If, after moving up the tree until dca is a container node, a single node is selected,
- // check if it is wholly contained within a single list item. If so, select just that
- // list item.
- var isStartLI = ((ds != null) && (ds._type == HTML_LI));
- var isEndLI = ((de != null) && (de._type == HTML_LI));
- if (!isStartLI && !isEndLI) {
- for (var ancestor = dca; ancestor.parentNode != null; ancestor = ancestor.parentNode) {
- if (ancestor.parentNode._type == HTML_LI) {
- var firstElement = true;
-
- for (var p = ancestor.previousSibling; p != null; p = p.previousSibling) {
- if (p.nodeType == Node.ELEMENT_NODE) {
- firstElement = false;
- break;
- }
- }
-
- if (firstElement)
- return [ancestor.parentNode];
- }
- }
- }
-
- var end = (de == null) ? null : de.nextSibling;
-
- for (var child = ds; child != end; child = child.nextSibling) {
- switch (child._type) {
- case HTML_UL:
- case HTML_OL:
- for (var gc = child.firstChild; gc != null; gc = gc.nextSibling) {
- if (!isWhitespaceTextNode(gc))
- addNode(gc);
- }
- break;
- default:
- if ((child._type == HTML_DIV) &&
- child.getAttribute("class") == Keys.SELECTION_HIGHLIGHT) {
- // skip
- }
- else if (!isWhitespaceTextNode(child)) {
- addNode(child);
- }
- break;
- }
- }
- if ((nodes.length == 0) && isParagraphNode(dca))
- nodes.push(dca);
- return nodes;
-
- function addNode(node)
- {
- while (isInlineNode(node) && node.parentNode != document.body)
- node = node.parentNode;
- if (!nodeSet.contains(node)) {
- nodeSet.add(node);
- nodes.push(node);
- }
- }
- }
-
- // public
- Lists_clearList = function()
- {
- Selection_preferElementPositions();
- Selection_preserveWhileExecuting(function() {
- var range = Selection_get();
- if (range == null)
- return;
- Range_ensureInlineNodesInParagraph(range);
-
- var nodes = getListOperationNodes(range);
-
- for (var i = 0; i < nodes.length; i++) {
- var node = nodes[i];
- if (node._type == HTML_LI) {
- var li = node;
- var list = li.parentNode;
- var insertionPoint = null;
-
- DOM_removeAdjacentWhitespace(li);
-
- if (li.previousSibling == null) {
- insertionPoint = list;
- }
- else if (li.nextSibling == null) {
- insertionPoint = list.nextSibling;
- }
- else {
- var secondList = DOM_shallowCopyElement(list);
- DOM_insertBefore(list.parentNode,secondList,list.nextSibling);
- while (li.nextSibling != null) {
- DOM_appendChild(secondList,li.nextSibling);
- DOM_removeAdjacentWhitespace(li);
- }
-
- insertionPoint = secondList;
- }
-
- var parent = null;
- var child = li.firstChild;
- while (child != null) {
- var next = child.nextSibling;
- if (isInlineNode(child) && !isWhitespaceTextNode(child)) {
- child = Hierarchy_wrapInlineNodesInParagraph(child);
- next = child.nextSibling;
- }
- child = next;
- }
- DOM_insertBefore(list.parentNode,li,insertionPoint);
- DOM_removeNodeButKeepChildren(li);
-
- if (list.firstChild == null)
- DOM_deleteNode(list);
- }
- }
- });
-
- var range = Selection_get();
- if (range == null)
- return;
- if (Range_isEmpty(range) &&
- (range.start.node.nodeType == Node.ELEMENT_NODE) &&
- (isContainerNode(range.start.node))) {
-
- var p = DOM_createElement(document,"P");
-
- var next = range.start.node.childNodes[range.start.offset+1];
- DOM_insertBefore(range.start.node,p,next);
-
- Cursor_updateBRAtEndOfParagraph(p);
- Selection_set(p,0,p,0);
- }
- }
-
- // private
- function setList(type)
- {
- var range = Selection_get();
- if (range == null)
- return;
-
- var nodes = getListOperationNodes(range);
-
- if (nodes.length == 0) {
- var text;
- if (range.start.node.nodeType == Node.TEXT_NODE) {
- text = range.start.node;
- }
- else if (range.start.node.nodeType == Node.ELEMENT_NODE) {
- text = DOM_createTextNode(document,"");
- DOM_insertBefore(range.start.node,
- text,
- range.start.node[range.start.offset+1]);
- }
- nodes = [text];
-
- var offset = DOM_nodeOffset(text);
- Selection_set(text,0,text,0);
- range = Selection_get();
- }
-
- Range_trackWhileExecuting(range,function () {
- // Set list to UL or OL
-
- for (var i = 0; i < nodes.length; i++) {
- var node = nodes[i];
- var next;
- var prev;
- var li = null;
- var oldList = null;
- var listInsertionPoint;
-
- if ((node._type == HTML_LI) && (node.parentNode._type == type)) {
- // Already in the correct type of list; don't need to do anything
- continue;
- }
-
- if (node._type == HTML_LI) {
- li = node;
- var list = li.parentNode;
-
- DOM_removeAdjacentWhitespace(list);
- prev = list.previousSibling;
- next = list.nextSibling;
-
-
- DOM_removeAdjacentWhitespace(li);
-
- if (li.previousSibling == null) {
- listInsertionPoint = list;
- next = null;
- }
- else if (li.nextSibling == null) {
- listInsertionPoint = list.nextSibling;
- prev = null;
- }
- else {
- var secondList = DOM_shallowCopyElement(list);
- DOM_insertBefore(list.parentNode,secondList,list.nextSibling);
- while (li.nextSibling != null) {
- DOM_insertBefore(secondList,li.nextSibling,null);
- DOM_removeAdjacentWhitespace(li);
- }
-
- listInsertionPoint = secondList;
-
- prev = null;
- next = null;
- }
-
- node = list;
- oldList = list;
- }
- else {
- DOM_removeAdjacentWhitespace(node);
- prev = node.previousSibling;
- next = node.nextSibling;
- listInsertionPoint = node;
- }
-
- var list;
- var itemInsertionPoint;
-
- if ((prev != null) && (prev._type == type)) {
- list = prev;
- itemInsertionPoint = null;
- }
- else if ((next != null) && (next._type == type)) {
- list = next;
- itemInsertionPoint = list.firstChild;
- }
- else {
- if (type == HTML_UL)
- list = DOM_createElement(document,"UL");
- else
- list = DOM_createElement(document,"OL");
- DOM_insertBefore(node.parentNode,list,listInsertionPoint);
- itemInsertionPoint = null;
- }
-
- if (li != null) {
- DOM_insertBefore(list,li,itemInsertionPoint);
- }
- else {
- var li = DOM_createElement(document,"LI");
- DOM_insertBefore(list,li,itemInsertionPoint);
- DOM_insertBefore(li,node,null);
- }
-
-
- if ((oldList != null) && (oldList.firstChild == null))
- DOM_deleteNode(oldList);
-
- // Merge with adjacent list
- DOM_removeAdjacentWhitespace(list);
- if ((list.nextSibling != null) && (list.nextSibling._type == type)) {
- var followingList = list.nextSibling;
- while (followingList.firstChild != null) {
- if (isWhitespaceTextNode(followingList.firstChild))
- DOM_deleteNode(followingList.firstChild);
- else
- DOM_insertBefore(list,followingList.firstChild,null);
- }
- DOM_deleteNode(followingList);
- }
- }
- });
- Range_ensureValidHierarchy(range);
- Selection_set(range.start.node,range.start.offset,range.end.node,range.end.offset);
- }
-
- // public
- Lists_setUnorderedList = function()
- {
- setList(HTML_UL);
- }
-
- // public
- Lists_setOrderedList = function()
- {
- setList(HTML_OL);
- }
-
-})();
http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/9bf02bb2/experiments/editorFramework/src/Layer0_Javascript/Main.js
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/src/Layer0_Javascript/Main.js b/experiments/editorFramework/src/Layer0_Javascript/Main.js
deleted file mode 100644
index f123423..0000000
--- a/experiments/editorFramework/src/Layer0_Javascript/Main.js
+++ /dev/null
@@ -1,393 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-var Main_getLanguage;
-var Main_setLanguage;
-var Main_setGenerator;
-var Main_isEmptyDocument;
-var Main_prepareForSave;
-var Main_getHTML;
-var Main_getErrorReportingInfo;
-var Main_removeUnsupportedInput;
-var Main_removeSpecial;
-var Main_execute;
-var Main_init;
-
-var Main_clientRectsBug;
-
-(function() {
-
- // public
- Main_getLanguage = function()
- {
- var lang = document.documentElement.getAttribute("lang");
- if (lang != null)
- lang = lang.replace(/-/g,"_");
- return lang;
- }
-
- // public
- Main_setLanguage = function(lang)
- {
- if ((lang == null) || (lang == "")) {
- DOM_removeAttribute(document.documentElement,"lang");
- }
- else {
- lang = lang.replace(/_/g,"-");
- DOM_setAttribute(document.documentElement,"lang",lang);
- }
- }
-
- // public
- Main_removeUnsupportedInput = function()
- {
- recurse(document.documentElement);
-
- function recurse(node)
- {
- // Delete comments and processing instructions
- if ((node.nodeType != Node.TEXT_NODE) &&
- (node.nodeType != Node.ELEMENT_NODE)) {
- DOM_deleteNode(node);
- }
- else {
- var next;
- for (var child = node.firstChild; child != null; child = next) {
- next = child.nextSibling;
- recurse(child);
- }
- }
- }
- }
-
- // private
- function addMetaCharset()
- {
- var head = DOM_documentHead(document);
- var next;
- for (var child = head.firstChild; child != null; child = next) {
- next = child.nextSibling;
- if ((child._type == HTML_META) && (child.hasAttribute("charset"))) {
- DOM_deleteNode(child);
- }
- else if ((child._type == HTML_META) && child.hasAttribute("http-equiv") &&
- (child.getAttribute("http-equiv").toLowerCase() == "content-type")) {
- DOM_deleteNode(child);
- }
- }
-
- var meta = DOM_createElement(document,"META");
- DOM_setAttribute(meta,"charset","utf-8");
- DOM_insertBefore(head,meta,head.firstChild);
- }
-
- // public
- Main_setGenerator = function(generator)
- {
- return UndoManager_disableWhileExecuting(function() {
- var head = DOM_documentHead(document);
- for (var child = head.firstChild; child != null; child = child.nextSibling) {
- if ((child._type == HTML_META) &&
- child.hasAttribute("name") &&
- (child.getAttribute("name").toLowerCase() == "generator")) {
- var origGenerator = DOM_getAttribute(child,"content");
- DOM_setAttribute(child,"content",generator);
-
- if (origGenerator == null)
- return "";
- else
- return origGenerator;
- }
- }
-
- var meta = DOM_createElement(document,"META");
- DOM_setAttribute(meta,"name","generator");
- DOM_setAttribute(meta,"content",generator);
- DOM_insertBefore(head,meta,head.firstChild);
-
- return "";
- });
- }
-
- // public
- Main_isEmptyDocument = function()
- {
- return !nodeHasContent(document.body);
- }
-
- // public
- Main_prepareForSave = function()
- {
- // Force any end-of-group actions to be performed
- UndoManager_newGroup();
- return true;
- }
-
- // public
- Main_getHTML = function()
- {
- return document.documentElement.outerHTML;
- }
-
- // public
- Main_getErrorReportingInfo = function()
- {
- if (document.documentElement == null)
- return "(document.documentElement is null)";
- try {
- var html = htmlWithSelection();
- cleanse(html);
- return html.outerHTML;
- }
- catch (e) {
- try {
- var html = DOM_cloneNode(document.documentElement,true);
- cleanse(html);
- return html.outerHTML+"\n[Error getting selection: "+e+"]";
- }
- catch (e2) {
- return "[Error getting HTML: "+e2+"]";
- }
- }
-
- function cleanse(node)
- {
- switch (node._type) {
- case HTML_TEXT:
- case HTML_COMMENT:
- DOM_setNodeValue(node,cleanseString(node.nodeValue));
- break;
- case HTML_STYLE:
- case HTML_SCRIPT:
- return;
- default:
- if (node.nodeType == Node.ELEMENT_NODE) {
- cleanseAttribute(node,"original");
- if (node.hasAttribute("href") && !node.getAttribute("href").match(/^#/))
- cleanseAttribute(node,"href");
- for (var child = node.firstChild; child != null; child = child.nextSibling)
- cleanse(child);
- }
- break;
- }
- }
-
- function cleanseAttribute(node,name)
- {
- if (node.hasAttribute(name)) {
- var value = node.getAttribute(name);
- value = cleanseString(value);
- DOM_setAttribute(node,name,value);
- }
- }
-
- function cleanseString(str)
- {
- return str.replace(/[^\s\.\@\^]/g,"X");
- }
-
- function htmlWithSelection()
- {
- var selectionRange = Selection_get();
- if (selectionRange != null) {
- selectionRange = Range_forwards(selectionRange);
- var startSave = new Object();
- var endSave = new Object();
-
- var html = null;
-
- Range_trackWhileExecuting(selectionRange,function() {
- // We use the strings @@^^ and ^^@@ to represent the selection
- // start and end, respectively. The reason for this is that after we have
- // cloned the tree, all text will be removed. We keeping the @ and ^
- // characters so we have some way to identifiy the selection markers;
- // leaving these in is not going to reveal any confidential information.
-
- addPositionMarker(selectionRange.end,"^^@@",endSave);
- addPositionMarker(selectionRange.start,"@@^^",startSave);
-
- html = DOM_cloneNode(document.documentElement,true);
-
- removePositionMarker(selectionRange.start,startSave);
- removePositionMarker(selectionRange.end,endSave);
- });
-
- return html;
- }
- else {
- return DOM_cloneNode(document.documentElement,true);
- }
- }
-
- function addPositionMarker(pos,name,save)
- {
- var node = pos.node;
- var offset = pos.offset;
- if (node.nodeType == Node.ELEMENT_NODE) {
- save.tempNode = DOM_createTextNode(document,name);
- DOM_insertBefore(node,save.tempNode,node.childNodes[offset]);
- }
- else if (node.nodeType == Node.TEXT_NODE) {
- save.originalNodeValue = node.nodeValue;
- node.nodeValue = node.nodeValue.slice(0,offset) + name + node.nodeValue.slice(offset);
- }
- }
-
- function removePositionMarker(pos,save)
- {
- var node = pos.node;
- var offset = pos.offset;
- if (pos.node.nodeType == Node.ELEMENT_NODE) {
- DOM_deleteNode(save.tempNode);
- }
- else if (pos.node.nodeType == Node.TEXT_NODE) {
- node.nodeValue = save.originalNodeValue;
- }
- }
- }
-
- // public
- Main_removeSpecial = function(node)
- {
- // We process the children first, so that if there are any nested removable elements (e.g.
- // a selection span inside of an autocorrect span), all levels of nesting are taken care of
- var next;
- for (var child = node.firstChild; child != null; child = next) {
- next = child.nextSibling;
- Main_removeSpecial(child);
- }
-
- var cssClass = null;
- if ((node.nodeType == Node.ELEMENT_NODE) && node.hasAttribute("class"))
- cssClass = node.getAttribute("class");
-
- if ((cssClass == Keys.HEADING_NUMBER) ||
- (cssClass == Keys.FIGURE_NUMBER) ||
- (cssClass == Keys.TABLE_NUMBER) ||
- (cssClass == Keys.AUTOCORRECT_CLASS) ||
- (cssClass == Keys.SELECTION_CLASS) ||
- (cssClass == Keys.SELECTION_HIGHLIGHT)) {
- DOM_removeNodeButKeepChildren(node);
- }
- else if ((node._type == HTML_META) &&
- node.hasAttribute("name") &&
- (node.getAttribute("name").toLowerCase() == "viewport")) {
- DOM_deleteNode(node);
- }
- else if (node._type == HTML_LINK) {
- if ((node.getAttribute("rel") == "stylesheet") &&
- (node.getAttribute("href") == Styles_getBuiltinCSSURL())) {
- DOM_deleteNode(node);
- }
- }
- }
-
- function simplifyStackString(e)
- {
- if (e.stack == null)
- return "";
- var lines = e.stack.toString().split(/\n/);
- for (var i = 0; i < lines.length; i++) {
- var nameMatch = lines[i].match(/^(.*)@/);
- var name = (nameMatch != null) ? nameMatch[1] : "(anonymous function)";
- var locMatch = lines[i].match(/:([0-9]+:[0-9]+)$/);
- var loc = (locMatch != null) ? locMatch[1] : "?";
- lines[i] = "stack["+(lines.length-i-1)+"] = "+name+"@"+loc;
- }
- return lines.join("\n");
- }
-
- // public
- Main_execute = function(fun)
- {
- try {
- var res = fun();
- PostponedActions_perform();
- return res;
- }
- catch (e) {
- var message = (e.message != null) ? e.message : e.toString();
- var stack = simplifyStackString(e);
- Editor_error(message+"\n"+stack);
- }
- }
-
- function fixEmptyBody()
- {
- for (var child = document.body.firstChild; child != null; child = child.nextSibling) {
- if (nodeHasContent(child))
- return;
- }
-
- for (var child = document.body.firstChild; child != null; child = child.nextSibling) {
- if (child._type == HTML_P) {
- Cursor_updateBRAtEndOfParagraph(child);
- return;
- }
- }
-
- var p = DOM_createElement(document,"P");
- var br = DOM_createElement(document,"BR");
- DOM_appendChild(p,br);
- DOM_appendChild(document.body,p);
- }
-
- // public
- Main_init = function(width,textScale,cssURL,clientRectsBug)
- {
- try {
- Main_clientRectsBug = clientRectsBug;
- if (document.documentElement == null)
- throw new Error("document.documentElement is null");
- if (document.body == null)
- throw new Error("document.body is null");
- var timing = new TimingInfo();
- timing.start();
- DOM_assignNodeIds(document);
- timing.addEntry("DOM_assignNodeIds");
- Main_removeUnsupportedInput();
- timing.addEntry("Main_removeUnsupportedInput");
- addMetaCharset();
- timing.addEntry("addMetaCharset");
- fixEmptyBody();
- timing.addEntry("fixEmptyBody");
- Outline_init();
- timing.addEntry("Outline_init");
- Styles_init(cssURL);
- timing.addEntry("Styles_init");
- Viewport_init(width,textScale);
- timing.addEntry("Viewport_init");
- AutoCorrect_init();
- timing.addEntry("AutoCorrect_init");
-
- PostponedActions_perform();
- timing.addEntry("PostponedActions_perform");
- Cursor_moveToStartOfDocument();
- timing.addEntry("Cursor_moveToStartOfDocument");
-
- UndoManager_clear();
- timing.addEntry("UndoManager_clear");
-// timing.print();
-
- return true;
- }
- catch (e) {
- return e.toString();
- }
- }
-
-})();
http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/9bf02bb2/experiments/editorFramework/src/Layer0_Javascript/Metadata.js
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/src/Layer0_Javascript/Metadata.js b/experiments/editorFramework/src/Layer0_Javascript/Metadata.js
deleted file mode 100644
index fce4cca..0000000
--- a/experiments/editorFramework/src/Layer0_Javascript/Metadata.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-var Metadata_getMetadata;
-var Metadata_setMetadata;
-
-(function() {
-
- Metadata_getMetadata = function()
- {
- return {};
- }
-
- Metadata_setMetadata = function(metadata)
- {
- }
-
-})();
http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/9bf02bb2/experiments/editorFramework/src/Layer0_Javascript/NodeSet.js
----------------------------------------------------------------------
diff --git a/experiments/editorFramework/src/Layer0_Javascript/NodeSet.js b/experiments/editorFramework/src/Layer0_Javascript/NodeSet.js
deleted file mode 100644
index 77b7600..0000000
--- a/experiments/editorFramework/src/Layer0_Javascript/NodeSet.js
+++ /dev/null
@@ -1,201 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-function NodeSet()
-{
- this.members = new Object();
-}
-
-NodeSet.prototype.add = function(node)
-{
- if (node._nodeId == null)
- throw new Error("NodeSet.add: node "+node.nodeName+" has no _nodeId property");
- this.members[node._nodeId] = node;
-}
-
-NodeSet.prototype.remove = function(node)
-{
- if (node._nodeId == null)
- throw new Error("NodeSet.remove: node "+node.nodeName+" has no _nodeId property");
- delete this.members[node._nodeId];
-}
-
-NodeSet.prototype.contains = function(node)
-{
- if (node._nodeId == null)
- throw new Error("NodeSet.contains: node "+node.nodeName+" has no _nodeId property");
- return (this.members[node._nodeId] != null);
-}
-
-NodeSet.prototype.toArray = function()
-{
- var result = new Array();
- for (var id in this.members)
- result.push(members[id]);
- return result;
-}
-
-NodeSet.prototype.forEach = function(fun)
-{
- var ids = Object.getOwnPropertyNames(this.members);
- var set = this;
- ids.forEach(function(id) { fun(set.members[id]); });
-}
-
-NodeSet.prototype.ancestor = function()
-{
- var result = new NodeSet();
- this.forEach(function (node) {
- for (var p = node.parentNode; p != null; p = p.parentNode)
- result.add(p);
- });
- return result;
-}
-
-NodeSet.prototype.ancestorOrSelf = function()
-{
- var result = new NodeSet();
- this.forEach(function (node) {
- for (var p = node; p != null; p = p.parentNode)
- result.add(p);
- });
- return result;
-}
-
-NodeSet.prototype.descendant = function()
-{
- var result = new NodeSet();
- this.forEach(function (node) {
- recurse(node);
- });
- return result;
-
- function recurse(node)
- {
- for (var child = node.firstChild; child != null; child = child.nextSibling) {
- result.add(child);
- recurse(child);
- }
- }
-}
-
-NodeSet.prototype.descendantOrSelf = function()
-{
- var result = new NodeSet();
- this.forEach(function (node) {
- recurse(node);
- });
- return result;
-
- function recurse(node)
- {
- result.add(node);
- for (var child = node.firstChild; child != null; child = child.nextSibling)
- recurse(child);
- }
-}
-
-NodeSet.prototype.union = function(other)
-{
- var result = new NodeSet();
- this.forEach(function (node) { result.add(node); });
- other.forEach(function (node) { result.add(node); });
- return result;
-}
-
-NodeSet.prototype.intersection = function(other)
-{
- var result = new NodeSet();
- this.forEach(function (node) { if (other.contains(node)) { result.add(node); } });
- return result;
-}
-
-NodeSet.fromArray = function(array)
-{
- var set = new NodeSet();
- array.forEach(function(node) { set.add(node); });
- return set;
-}
-
-
-function NodeMap()
-{
- this.keys = new Object();
- this.values = new Object();
-}
-
-NodeMap.prototype.clear = function()
-{
- this.keys = new Object();
- this.values = new Object();
-}
-
-NodeMap.prototype.get = function(key)
-{
- if (key._nodeId == null)
- throw new Error("NodeMap.get: key "+key.keyName+" has no _nodeId property");
- return this.values[key._nodeId];
-}
-
-NodeMap.prototype.put = function(key,value)
-{
- if (key._nodeId == null)
- throw new Error("NodeMap.add: key "+key.keyName+" has no _nodeId property");
- this.keys[key._nodeId] = key;
- this.values[key._nodeId] = value;
-}
-
-NodeMap.prototype.remove = function(key)
-{
- if (key._nodeId == null)
- throw new Error("NodeMap.remove: key "+key.keyName+" has no _nodeId property");
- delete this.keys[key._nodeId];
- delete this.values[key._nodeId];
-}
-
-NodeMap.prototype.containsKey = function(key)
-{
- if (key._nodeId == null)
- throw new Error("NodeMap.contains: key "+key.keyName+" has no _nodeId property");
- return (this.values[key._nodeId] != null);
-}
-
-NodeMap.prototype.getKeys = function()
-{
- var ids = Object.getOwnPropertyNames(this.values);
- var result = new Array(ids.length);
- for (var i = 0; i < ids.length; i++)
- result[i] = this.keys[ids[i]];
- return result;
-}
-
-NodeMap.prototype.forEach = function(fun)
-{
- var ids = Object.getOwnPropertyNames(this.values);
- var map = this;
- ids.forEach(function(id) { fun(map.keys[id],map.values[id]); });
-}
-
-NodeMap.fromArray = function(array,fun)
-{
- var map = new NodeMap();
- if (fun != null)
- array.forEach(function(node) { map.put(node,fun(node)); });
- else
- array.forEach(function(node) { map.put(node,null); });
- return map;
-};