?? toolbar.htc
字號:
oTable.style.direction = element.currentStyle.direction;
else
oTable.style.direction = element.style.direction;
oTable.dir = element.dir;
if (orientation != "vertical")
{
var oRow = element.document.createElement("TR");
oTBody.appendChild(oRow);
}
oTable.appendChild(oTBody);
var aNodes = f_CreateNodesFromHtml(element.innerHTML);
for (var nIndex = 0; nIndex < aNodes.length; nIndex++)
{
f_AppendToolbarItem(aNodes[nIndex]);
}
f_ApplyStylesToChildren();
oTable.attachEvent("onclick", f_OnClick);
oTable.attachEvent("ondblclick", f_OnClick);
oTable.attachEvent("onmousedown", f_OnMouseDown);
oTable.attachEvent("onmouseup", f_OnMouseUp);
oTable.attachEvent("onmouseover", f_OnMouseOver);
oTable.attachEvent("onmouseout", f_OnMouseOut);
oTable.attachEvent("onmousemove", f_Drag);
oTable.attachEvent("oncontextmenu", f_CancelInteractEvents);
oTable.attachEvent("onselectstart", f_CancelInteractEvents);
var oBody = element.document.createElement("BODY");
var oHtml = element.document.createElement("HTML");
oBody.appendChild(oTable);
oHtml.appendChild(oBody);
defaults.viewLink = oHtml.document;
_Ready = true;
defaults.style.display = "block";
}
function f_CreateNodesFromHtml(htmlText)
{
var oSpan = element.document.createElement("span");
oSpan.innerHTML = htmlText;
return f_CreateNodes(oSpan.childNodes);
}
function f_CreateNodes(aNodes)
{
var tbNodes = new Array();
var nNumNodes = (aNodes == null) ? 0 : aNodes.length;
for (var nIndex = 0; nIndex < nNumNodes; nIndex++)
{
var node = aNodes[nIndex];
if (node != null)
tbNodes = tbNodes.concat(f_CreateToolbarItems(node));
}
return tbNodes;
}
function f_CreateToolbarItems(oNode)
{
var aNodes;
var szTagName = (oNode.tagName == null) ? "" : oNode.tagName.toLowerCase();
switch (szTagName)
{
case "toolbarbutton":
aNodes = new Array(f_CreateButton(oNode));
break;
case "toolbarcheckbutton":
aNodes = new Array(f_CreateCheckbutton(oNode));
break;
case "toolbarseparator":
aNodes = new Array(f_CreateSeparator(oNode));
break;
case "toolbarcheckgroup":
aNodes = f_CreateCheckGroup(oNode);
break;
case "toolbardropdownlist":
aNodes = new Array(f_CreateDropDownList(oNode));
break;
case "toolbartextbox":
aNodes = new Array(f_CreateTextBox(oNode));
break;
case "toolbarlabel":
aNodes = new Array(f_CreateLabel(oNode));
break;
case "toolbargripper":
aNodes = new Array(f_CreateGripper(oNode));
break;
default:
aNodes = new Array();
break;
}
for (var nIndex = 0; nIndex < aNodes.length; nIndex++)
f_AdjustContents(aNodes[nIndex]);
return aNodes;
}
function f_Interactable(oCell)
{
switch (oCell._type)
{
case "checkbutton":
case "button":
return true;
default:
return false;
}
}
function f_IsSelected(oCell)
{
if (oCell._type != "checkbutton")
return false;
var szSelected = oCell.getAttribute("selected");
return ((szSelected != null) && (String(szSelected).toLowerCase() == "true"));
}
function f_SetSelected(oCell, bSelected)
{
if (oCell._type != "checkbutton")
return;
oCell.setAttribute("selected", bSelected ? "true" : "false", 0);
}
function f_CheckButton(oSelected)
{
if ((oSelected == null) || (oSelected._type != "checkbutton"))
return;
if (oSelected._group != null)
{
var oPrevID = oSelected._group.oSelected;
if (oPrevID != null)
{
var oPrevSel = oSelected.document.all[oPrevID];
if (oPrevSel != null)
{
if (oPrevSel.uniqueID == oSelected.uniqueID)
return;
f_SetSelected(oPrevSel, false);
f_ApplyNeutralStyle(oPrevSel);
oSelected._group.oSelected = null;
f_FireCheckChange(oPrevSel);
}
}
}
f_SetSelected(oSelected, true);
f_ApplyNeutralStyle(oSelected);
if (oSelected._group != null)
oSelected._group.oSelected = oSelected.uniqueID;
f_FireCheckChange(oSelected);
}
function f_AppendToolbarItem(oCell)
{
var oParent = f_GetParent();
if ((oCell == null) || (oParent == null))
return;
if (orientation == "vertical")
{
var trRow = element.document.createElement("TR");
if (oCell._type == "emptygroup")
trRow.style.display = "none";
trRow.appendChild(oCell);
oParent.appendChild(trRow);
}
else
{
oParent.appendChild(oCell);
}
}
function f_AdjustContents(oCell)
{
if (oCell._turnContent == null)
oCell._turnContent = false;
var bTurnContent = false;
if (turnVerticalContent)
{
switch (oCell._type)
{
case "label":
case "button":
case "checkbutton":
bTurnContent = (orientation == "vertical");
break;
default:
return;
}
if (bTurnContent)
{
oCell._turnContent = true;
oCell.style.writingMode = "tb-rl";
}
}
if (oCell._turnContent && !bTurnContent)
{
oCell._turnContent = false;
oCell.style.writingMode = "lr-tb";
}
if (oCell._type == "emptygroup")
return;
var oContent = oCell.children[0];
var len = oContent.children.length;
for (nIndex = 0; nIndex < len; nIndex++)
{
var oObj = oContent.children[nIndex];
if (oObj.tagName == "IMG")
{
oObj.align = (bTurnContent) ? "middle" : "absmiddle";
}
}
}
function f_CreateGripper(oNode)
{
var oCell = element.document.createElement("td");
var oDiv = element.document.createElement("div");
oCell.appendChild(oDiv);
var szStyle = "";
if ((element.style.writingMode != null) && (element.style.writingMode == "tb-rl"))
szStyle = (orientation == "vertical") ? _szGripperHorizStyle : _szGripperVertStyle;
else
szStyle = (orientation == "vertical") ? _szGripperVertStyle : _szGripperHorizStyle;
oDiv._origStyle = oNode.style.cssText;
oDiv.style.cssText = szStyle + ";" + oDiv._origStyle;
oCell.mergeAttributes(oNode);
oCell.id = oNode.getAttribute("id");
oCell._type = "gripper";
return oCell;
}
function f_CreateSeparator(oNode)
{
var oCell = element.document.createElement("TD");
var oDiv = element.document.createElement("DIV");
oCell.appendChild(oDiv);
var szStyle;
if ((element.style.writingMode != null) && (element.style.writingMode == "tb-rl"))
szStyle = (orientation == "vertical") ? _szSeparatorHorizStyle : _szSeparatorVertStyle;
else
szStyle = (orientation == "vertical") ? _szSeparatorVertStyle : _szSeparatorHorizStyle;
oDiv._origStyle = oNode.style.cssText;
oDiv.style.cssText = szStyle + ";" + oDiv._origStyle;
oCell.mergeAttributes(oNode);
oCell.id = oNode.getAttribute("id");
oCell._type = "separator";
return oCell;
}
function f_CreateButton(oNode)
{
var oCell = f_CreateLabel(oNode, true);
if (oCell.children[0].tabIndex == 0)
oCell.children[0].tabIndex = 1;
oCell._type = "button";
oCell.attachEvent("onkeyup", f_OnKeyUp);
return oCell;
}
function f_CreateCheckbutton(oNode)
{
var oCell = f_CreateButton(oNode);
oCell._type = "checkbutton";
if (oCell.getAttribute("selected") == null)
oCell.setAttribute("selected", "false", 0);
return oCell;
}
function f_CreateCheckGroup(oNode)
{
var aTempNodes = f_CreateNodesFromHtml(oNode.innerHTML);
var aNodes = new Array();
var oGroup = new Object();
var forceSel = oNode.getAttribute("forceselection");
oGroup.bForceSel = (forceSel != null) && (String(forceSel).toLowerCase() == "true");
oGroup.oSelected = null;
oGroup.szDefaultStyle = oNode.getAttribute("defaultstyle");
oGroup.szHoverStyle = oNode.getAttribute("hoverstyle");
oGroup.szSelectedStyle = oNode.getAttribute("selectedstyle");
var nFirstCheckBtn = -1;
var bDisabled = oNode.disabled;
for (var nIndex = 0; nIndex < aTempNodes.length; nIndex++)
{
var oCell = aTempNodes[nIndex];
if (oCell._type == "checkbutton")
{
if (nFirstCheckBtn == -1)
nFirstCheckBtn = nIndex;
aNodes = aNodes.concat(new Array(oCell));
if ((oCell.id == null) || (oCell.id == ""))
{
oCell.id = oCell.uniqueID;
}
oCell._group = oGroup;
if (f_IsSelected(oCell))
{
if (oGroup.oSelected == null)
{
oGroup.oSelected = oCell.uniqueID;
}
else
{
f_SetSelected(oCell, false);
}
}
}
oCell.disabled = (bDisabled || oCell.isDisabled);
}
if (oGroup.bForceSel && (oGroup.oSelected == null) && (nFirstCheckBtn != -1))
{
var oCell = aNodes[nFirstCheckBtn];
oGroup.oSelected = oCell.uniqueID;
f_SetSelected(oCell, true);
}
if (aNodes.length == 0)
aNodes = new Array(f_CreateEmptyGroup(oGroup));
return aNodes;
}
function f_CreateEmptyGroup(group)
{
var empty = element.document.createElement("TD");
empty._type = "emptygroup";
empty._group = group;
empty.style.display = "none";
return empty;
}
function f_CreateLabel(oNode, useLink)
{
var oCell = element.document.createElement("TD");
var oContent = element.document.createElement((useLink) ? "A" : "SPAN");
oCell.appendChild(oContent);
var szText = oNode.getAttribute("text");
var szImageUrl = oNode.getAttribute("imageUrl");
if (szText == null)
{
while (oNode.childNodes.length > 0)
oContent.appendChild(oNode.childNodes[0].removeNode(true));
}
else
{
var oText = element.document.createElement("SPAN");
oText.innerText = szText;
oContent.appendChild(oText);
}
if (szImageUrl != null)
{
var cacheImage = new Image();
cacheImage.src = szImageUrl;
var oImg = element.document.createElement("IMG");
oImg.src = cacheImage.src;
if (oContent.hasChildNodes())
oContent.insertBefore(oImg, oContent.childNodes[0]);
else
oContent.insertBefore(oImg);
oContent.setAttribute("_imageAdded", "true", 0);
}
if (oContent.childNodes.length == 0)
oContent.innerHTML = " ";
oCell.mergeAttributes(oNode);
if (oCell.tabIndex > 0)
{
oContent.tabIndex = oCell.tabIndex;
oCell.tabIndex = -1;
}
if (oCell.title != "")
{
oContent.title = oCell.title;
oCell.title = "";
}
oCell.id = oNode.getAttribute("id");
oCell.noWrap = "true";
oCell._type = "label";
oContent.style.cssText = oNode.style.cssText;
return oCell;
}
function f_CreateTextBox(oNode)
{
var oCell = element.document.createElement("td");
var szType = oNode.getAttribute("type");
var szValue = oNode.getAttribute("value");
var szSize = oNode.getAttribute("size");
var szMaxLength = oNode.getAttribute("maxlength");
var szReadOnly = oNode.getAttribute("readonly");
if ((szType == null) || (szType.toLowerCase() != "password"))
szType = "text";
var szTabIndex = "1";
if (oNode.tabIndex != 0)
szTabIndex = oNode.getAttribute("tabindex");
oCell.innerHTML = "<input type=\"" + szType + "\">";
var textbox = oCell.children[0];
textbox.mergeAttributes(oNode);
if ((szSize != null) && (szSize != ""))
textbox.size = szSize;
if ((szMaxLength != null) && (szMaxLength != ""))
textbox.maxLength = szMaxLength;
if ((szTabIndex != null) && (szTabIndex != ""))
textbox.tabIndex = szTabIndex;
if ((szValue != null) && (szValue != ""))
textbox.value = szValue;
if ((szReadOnly != null) && (szReadOnly != ""))
textbox.readOnly = szReadOnly;
var changeScript = oNode.getAttribute("onchange");
if (changeScript != null)
textbox.onchange = function() { eval(changeScript) };
oCell.id = oNode.getAttribute("id");
oCell._type = "textbox";
oCell.noWrap = "true";
var szDefaultStyle = oNode.getAttribute("defaultStyle");
var fontStr = f_CreateFontString(oNode);
szDefaultStyle = (szDefaultStyle == null) ? fontStr : fontStr + szDefaultStyle;
if (szDefaultStyle != null)
{
oCell.setAttribute("defaultStyle", szDefaultStyle, 0);
oCell.children[0].removeAttribute("defaultStyle", 0);
}
return oCell;
}
function f_CreateFontString(oNode)
{
var fontStr = "";
if (oNode.style.fontFamily)
fontStr += "font-family:" + oNode.style.fontFamily + ";";
if (oNode.style.fontSize)
fontStr += "font-size:" + oNode.style.fontSize + ";";
if (oNode.style.fontStyle)
fontStr += "font-style:" + oNode.style.fontStyle + ";";
if (oNode.style.fontVariant)
fontStr += "font-variant:" + oNode.style.fontVariant + ";";
if (oNode.style.fontWeight)
fontStr += "font-weight:" + oNode.style.fontWeight + ";";
return fontStr;
}
function f_InheritCellFont(oCell)
{
oCell.children[0].style.fontFamily = oCell.style.fontFamily;
oCell.children[0].style.fontSize = oCell.style.fontSize;
oCell.children[0].style.fontStyle = oCell.style.fontStyle;
oCell.children[0].style.fontVariant = oCell.style.fontVariant;
oCell.children[0].style.fontWeight = oCell.style.fontWeight;
}
function f_CreateDropDownList(oNode)
{
var oCell = element.document.createElement("td");
var szTabIndex = "1";
if (oNode.tabIndex != 0)
szTabIndex = oNode.getAttribute("tabindex");
var szHtml = "<select"
if ((szTabIndex != null) && (szTabIndex != ""))
szHtml += " tabindex=\"" + szTabIndex + "\"";
szHtml += ">";
szHtml += oNode.innerHTML;
szHtml += "</select>";
oCell.innerHTML = szHtml;
oCell.children[0].mergeAttributes(oNode);
oCell.children[0].disabled = oNode.isDisabled || element.isDisabled;
oCell.id = oNode.getAttribute("id");
oCell._type = "dropdownlist";
oCell.noWrap = "true";
var changeScript = oNode.getAttribute("onchange");
if (changeScript != null)
oCell.children[0].onchange = function() { eval(changeScript) };
var szDefaultStyle = oNode.getAttribute("defaultStyle");
var fontStr = f_CreateFontString(oNode);
szDefaultStyle = (szDefaultStyle == null) ? fontStr : fontStr + szDefaultStyle;
if (szDefaultStyle != null)
{
oCell.setAttribute("defaultStyle", szDefaultStyle, 0);
oCell.children[0].removeAttribute("defaultStyle", 0);
}
return oCell;
}
function f_ApplyStylesToChildren()
{
var globalDefault = _BuiltInDefaultStyle + ";" + _tbDefaultStyle + ";";
var globalHover = _BuiltInHoverStyle + ";" + _tbHoverStyle + ";";
var globalSelected = _BuiltInSelectedStyle + ";" + _tbSelectedStyle + ";";
var numItems = f_NumItems();
var index;
for (index = 0; index < numItems; index++)
{
var item = f_GetItem(index);
var isButton = (item._type == "button");
var isCheckButton = (item._type == "checkbutton");
var hasGroup = (isCheckButton && (item._group != null));
var localDefault = item.getAttribute("defaultStyle");
var groupStyle = ";";
if (item._turnContent)
localDefault += ";writing-mode:tb-rl;";
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -