upgrading to tinymce 2.0.6.1

This commit is contained in:
JT Smith 2006-06-23 18:21:32 +00:00
parent 0534118f8d
commit 533bf292d3
79 changed files with 28030 additions and 0 deletions

View file

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Option: display_tab_class</title>
<link href="css/screen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="header">
<h1>Option: display_tab_class</h1>
</div>
<div class="content">
<p>
This option is useful when TinyMCE is used within tabs in MSIE. This property is needed since MSIE has a bug where it's impossible to retrive the width/height on elements like images while it's hidden using display:none. So use this property to define the class name that is used to hide a specific tab, this will help TinyMCE to display the tab while getting the image data.
</p>
<div class="separator"></div>
<h3>Example of usage of the display_tab_class option:</h3>
<div class="example">
<pre>
tinyMCE.init({
...
<strong>display_tab_class : "showTab"</strong>
});
</pre>
</div>
</div>
<div class="footer">
<div class="helpindexlink"><a href="index.html">Index</a></div>
<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
<br style="clear: both" />
</div>
</body>
</html>

View file

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Option: hidden_tab_class</title>
<link href="css/screen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="header">
<h1>Option: hidden_tab_class</h1>
</div>
<div class="content">
<p>
This option is useful when TinyMCE is used within tabs in MSIE. This property is needed since MSIE has a bug where it's impossible to retrive the width/height on elements like images while it's hidden using display:none. So use this property to define the class name that is used to hide a specific tab, this will help TinyMCE to display the tab while getting the image data.
</p>
<div class="separator"></div>
<h3>Example of usage of the hidden_tab_class option:</h3>
<div class="example">
<pre>
tinyMCE.init({
...
<strong>hidden_tab_class : "hideTab"</strong>
});
</pre>
</div>
</div>
<div class="footer">
<div class="helpindexlink"><a href="index.html">Index</a></div>
<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
<br style="clear: both" />
</div>
</body>
</html>

View file

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Option: strict_loading_mode</title>
<link href="css/screen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="header">
<h1>Option: strict_loading_mode</h1>
</div>
<div class="content">
<p>
This option will force TinyMCE to load script using a DOM insert method instead of document.write on Gecko browsers. Since this results in asynchronous script loading a build in synchronized will ensure that themes, plugins and language packs files are loaded in the correct order. This will on the otherhand make the initialization procedure of TinyMCE a bit slower thats why this isn't the default behavior. So this option is set to true by default if the document content type is application/xhtml+xml.
</p>
<div class="separator"></div>
<h3>Example of usage of the strict_loading_mode option:</h3>
<div class="example">
<pre>
tinyMCE.init({
...
<strong>strict_loading_mode : true</strong>
});
</pre>
</div>
</div>
<div class="footer">
<div class="helpindexlink"><a href="index.html">Index</a></div>
<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
<br style="clear: both" />
</div>
</body>
</html>

View file

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Option: theme_advanced_source_editor_wrap</title>
<link href="css/screen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="header">
<h1>Option: theme_advanced_source_editor_wrap</h1>
</div>
<div class="content">
<p>
This option enables you to force word wrap for the source editor, this option is set to true by default.
</p>
<div class="separator"></div>
<h3>Example of usage of the theme_advanced_source_editor_wrap option:</h3>
<div class="example">
<pre>
tinyMCE.init({
...
<strong>theme_advanced_source_editor_wrap : false</strong>
});
</pre>
</div>
</div>
<div class="footer">
<div class="helpindexlink"><a href="index.html">Index</a></div>
<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
<br style="clear: both" />
</div>
</body>
</html>

View file

@ -0,0 +1,46 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Plugin: layer</title>
<link href="css/screen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="header">
<h1>Plugin: layer</h1>
</div>
<div class="content">
<p>Adds a layer suport to TinyMCE by making it possible to create/remove and z-index block elements.</p>
<p>These are the possible button control that this plugin contains: insertlayer,moveforward,movebackward,absolute</p>
<h3>Installation Instructions</h3>
<p>
<ul>
<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;layer&quot;.</li>
<li>Add the insertlayer,moveforward,movebackward,absolute button names to button list, example: theme_advanced_buttons3_add : &quot;insertlayer,moveforward,movebackward,absolute&quot;.</li>
</ul>
</p>
<h3>Initialization Example</h3>
<p>
<div class="example">
<pre>
tinyMCE.init({
theme : &quot;advanced&quot;,
mode : &quot;textareas&quot;,
plugins : &quot;<strong>layer</strong>&quot;,
theme_advanced_buttons3_add : &quot;<strong>insertlayer,moveforward,movebackward,absolute</strong>&quot;
});</pre>
</div>
</p>
</div>
<div class="footer">
<div class="helpindexlink"><a href="index.html">Index</a></div>
<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
<br style="clear: both" />
</div>
</body>
</html>

View file

@ -0,0 +1,303 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Plugin: style</title>
<link href="css/screen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="header">
<h1>Plugin: style</h1>
</div>
<div class="content">
<p>Adds CSS style editing support to TinyMCE, this will enable you to edit allmost any CSS style property in a visual way.</p>
<h3>Installation Instructions</h3>
<p>
<ul>
<li>Add plugin to TinyMCE plugin option list example: plugins : &quot;style&quot;.</li>
<li>Add the styleprops butto names to button list, example: theme_advanced_buttons3_add : &quot;styleprops&quot;.</li>
</ul>
</p>
<h3>Initialization Example</h3>
<p>
<div class="example">
<pre>
tinyMCE.init({
theme : &quot;advanced&quot;,
mode : &quot;textareas&quot;,
plugins : &quot;<strong>style</strong>&quot;,
theme_advanced_buttons3_add : &quot;<strong>styleprops</strong>&quot;
});</pre>
</div>
</p>
<br />
<h3>Options</h3>
<p>
<table border="1" cellspacing="0" cellpadding="4">
<tr>
<td>[style_font]</td>
<td>Semicolon separated list of select box option name/values. Default: Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;Times New Roman, Times, serif=Times New Roman, Times, serif;Courier New, Courier, mono=Courier New, Courier, mono;Times New Roman, Times, serif=Times New Roman, Times, serif;Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif</td>
</tr>
<tr>
<td>[style_font_size]</td>
<td>Semicolon separated list of select box option name/values. In format key1=value1;key2=value2;..</td>
</tr>
<tr>
<td>[style_font_size_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_text_case]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_font_weight]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_font_style]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_font_variant]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_font_line_height]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_font_line_height_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_background_attachment]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_background_repeat]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_background_hpos_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_background_vpos_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_background_hpos]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_background_vpos]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_wordspacing]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_wordspacing_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_letterspacing]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_letterspacing_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_vertical_alignment]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_text_align]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_whitespace]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_display]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_text_indent_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_box_width_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_box_height_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_float]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_clear]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_padding_left_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_padding_top_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_padding_bottom_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_padding_right_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_margin_left_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_margin_top_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_margin_bottom_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_margin_right_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_style_top]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_style_right]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_style_bottom]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_style_left]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_width_top]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_width_right]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_width_bottom]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_width_left]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_width_top_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_width_right_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_width_bottom_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_border_width_left_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_list_type]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_list_position]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_type]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_visibility]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_width_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_height_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_overflow]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_placement_top_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_placement_right_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_placement_bottom_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_placement_left_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_clip_top_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_clip_right_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_clip_bottom_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
<tr>
<td>[style_positioning_clip_left_measurement]</td>
<td>Semicolon separated list of select box option name/values.</td>
</tr>
</table>
</p>
</div>
<div class="footer">
<div class="helpindexlink"><a href="index.html">Index</a></div>
<div class="copyright">Copyright &copy; 2003-2006 <a href="http://www.moxiecode.com">Moxiecode Systems AB</a></div>
<br style="clear: both" />
</div>
</body>
</html>

View file

@ -0,0 +1,267 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
GLOBALS
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="GLOBALS";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<B>PREV CLASS</B><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_Cleanup.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="GLOBALS.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class GLOBALS</H2>
<PRE>Object
|
+--<b>GLOBALS</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>GLOBALS</B>
</DL>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&lt;static&gt;&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#!s!TinyMCE_Menu">TinyMCE_Menu</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructor for the menu layer class.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="!s!TinyMCE_Menu"><!-- --></A>
<H3>TinyMCE_Menu</H3>
<PRE>&lt;static&gt; void <B>TinyMCE_Menu</B>()</PRE>
<UL>Constructor for the menu layer class.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<B>PREV CLASS</B><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_Cleanup.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="GLOBALS.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</BODY>
</HTML>

View file

@ -0,0 +1,675 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Cleanup
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="TinyMCE_Cleanup";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_Cleanup.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="GLOBALS.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_Control.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_Cleanup.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class TinyMCE_Cleanup</H2>
<PRE>Object
|
+--<b>TinyMCE_Cleanup</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>TinyMCE_Cleanup</B>
</DL>
<P>
<I>Defined in <a href='overview-summary-TinyMCE_Cleanup.class.js.html'>TinyMCE_Cleanup.class.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="TinyMCE_Cleanup.html#TinyMCE_Cleanup()">TinyMCE_Cleanup</A>
</B>
()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TinyMCE_Cleanup class.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#addRuleStr">addRuleStr</A></B>(&lt;string&gt; s)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Adds a cleanup rule string, for TinyMCE_Cleanup.prototype.example = a;[href|name|title=title|class=class1?class2?class3].
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;string</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#formatHTML">formatHTML</A></B>(&lt;string&gt; h)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Applies source formatting/indentation on the specified HTML string.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#init">init</A></B>(&lt;Array&gt; s)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Initializes the cleanup engine with the specified config.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Array</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#parseRuleStr">parseRuleStr</A></B>(&lt;string&gt; s)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Parses a cleanup rule string, for TinyMCE_Cleanup.prototype.example = a;[href|name|title=title|class=class1?class2?class3].
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;string</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#serializeNodeAsHTML">serializeNodeAsHTML</A></B>(&lt;HTMLNode&gt; n)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Serializes the specified node as a XHTML string.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;string</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#serializeNodeAsXML">serializeNodeAsXML</A></B>(&lt;HTMLNode&gt; n)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Serializes the specified node as a HTML string.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;string</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#split">split</A></B>(&lt;RegEx&gt; re, &lt;string&gt; s)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Splits the specified string and removed empty chunks.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;string</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#xmlEncode">xmlEncode</A></B>(&lt;string&gt; s)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
XML Encodes the specified string based on configured entity encoding.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="TinyMCE_Cleanup()"><!-- --></A><H3>
TinyMCE_Cleanup</H3>
<PRE><B>TinyMCE_Cleanup</B>()</PRE>
<UL>
TinyMCE_Cleanup class.
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="addRuleStr"><!-- --></A>
<H3>addRuleStr</H3>
<PRE>void <B>addRuleStr</B>(&lt;string&gt; s)</PRE>
<UL>Adds a cleanup rule string, for TinyMCE_Cleanup.prototype.example = a;[href|name|title=title|class=class1?class2?class3].
These rules are then used when serializing the DOM tree as a HTML string, it gives the possibility
to control the valid elements and attributes and force attribute values or default them.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>s</CODE> - Rule string to parse and add to the cleanup rules array.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="formatHTML"><!-- --></A>
<H3>formatHTML</H3>
<PRE>string <B>formatHTML</B>(&lt;string&gt; h)</PRE>
<UL>Applies source formatting/indentation on the specified HTML string.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>h</CODE> - HTML string to apply formatting to.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Formatted HTML string.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="init"><!-- --></A>
<H3>init</H3>
<PRE>void <B>init</B>(&lt;Array&gt; s)</PRE>
<UL>Initializes the cleanup engine with the specified config.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>s</CODE> - Name/Value array with config settings.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="parseRuleStr"><!-- --></A>
<H3>parseRuleStr</H3>
<PRE>Array <B>parseRuleStr</B>(&lt;string&gt; s)</PRE>
<UL>Parses a cleanup rule string, for TinyMCE_Cleanup.prototype.example = a;[href|name|title=title|class=class1?class2?class3].
These rules are then used when serializing the DOM tree as a HTML string, it gives the possibility
to control the valid elements and attributes and force attribute values or default them.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>s</CODE> - Rule string to parse as a name/value rule array.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Parsed name/value rule array.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="serializeNodeAsHTML"><!-- --></A>
<H3>serializeNodeAsHTML</H3>
<PRE>string <B>serializeNodeAsHTML</B>(&lt;HTMLNode&gt; n)</PRE>
<UL>Serializes the specified node as a XHTML string. This uses the TinyMCE serializer logic since it gives more
control over the output than the build in browser XML serializer.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>n</CODE> - Node to serialize as a XHTML string.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Serialized XHTML string based on specified node.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="serializeNodeAsXML"><!-- --></A>
<H3>serializeNodeAsXML</H3>
<PRE>string <B>serializeNodeAsXML</B>(&lt;HTMLNode&gt; n)</PRE>
<UL>Serializes the specified node as a HTML string. This uses the XML parser and serializer
to generate a XHTML string.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>n</CODE> - Node to serialize as a XHTML string.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Serialized XHTML string based on specified node.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="split"><!-- --></A>
<H3>split</H3>
<PRE>string <B>split</B>(&lt;RegEx&gt; re, &lt;string&gt; s)</PRE>
<UL>Splits the specified string and removed empty chunks.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>re</CODE> - RegEx to split string by.
</UL>
<UL><CODE>s</CODE> - String value to split.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Array with parts from specified string.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="xmlEncode"><!-- --></A>
<H3>xmlEncode</H3>
<PRE>string <B>xmlEncode</B>(&lt;string&gt; s)</PRE>
<UL>XML Encodes the specified string based on configured entity encoding. The entity encoding modes
are raw, numeric and named. Where raw is the fastest and named is default.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>s</CODE> - String to convert to XML.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Encoded XML string based on configured entity encoding.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_Cleanup.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="GLOBALS.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_Control.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_Cleanup.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,952 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Layer
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="TinyMCE_Layer";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_Layer.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TinyMCE_Engine.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_Popup.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_Layer.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class TinyMCE_Layer</H2>
<PRE>Object
|
+--<b>TinyMCE_Layer</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>TinyMCE_Layer</B>
</DL>
<P>
<I>Defined in <a href='overview-summary-TinyMCE_Layer.class.js.html'>TinyMCE_Layer.class.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="TinyMCE_Layer.html#TinyMCE_Layer()">TinyMCE_Layer</A>
</B>
(&lt;string&gt; id, &lt;boolean&gt; bm)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructor for the TinyMCE Layer.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;HTMLElement</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#create">create</A></B>(&lt;string&gt; n, &lt;string&gt; c, &lt;HTMLElement&gt; p)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Creates a element for the layer based on the id and specified name.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getAbsPosition">getAbsPosition</A></B>(&lt;DOMElement&gt; n)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the absolute x, y cordinate of the specified node.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;HTMLElement</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getBlocker">getBlocker</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the blocker DOM element, this is a invisible iframe.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;HTMLElement</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getElement">getElement</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the DOM element that the layer is binded to.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#hide">hide</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Hides the layer.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#isVisible">isVisible</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns true/false if the layer is visible or not.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#moveBy">moveBy</A></B>(&lt;int&gt; x, &lt;int&gt; y)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Moves the layer relative in pixels.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#moveRelativeTo">moveRelativeTo</A></B>(&lt;HTMLElement&gt; re, &lt;string&gt; p)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Moves the layer relative to the specified HTML element.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#moveTo">moveTo</A></B>(&lt;int&gt; x, &lt;int&gt; y)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Moves the layer absolute in pixels.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;int</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#parseInt">parseInt</A></B>(&lt;string&gt; s)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Parses a int value this method will return 0 if the string is empty.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#resizeBy">resizeBy</A></B>(&lt;int&gt; w, &lt;int&gt; h)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Resizes the layer by the specified relative width and height.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#resizeTo">resizeTo</A></B>(&lt;int&gt; w, &lt;int&gt; h)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Resizes the layer to the specified width and height.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#setBlockMode">setBlockMode</A></B>(&lt;boolean&gt; s)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Sets the block mode.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#show">show</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Shows the layer.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#updateBlocker">updateBlocker</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Updates the select/iframe/flash blocker this will also block the caret in Firefox.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="TinyMCE_Layer()"><!-- --></A><H3>
TinyMCE_Layer</H3>
<PRE><B>TinyMCE_Layer</B>(&lt;string&gt; id, &lt;boolean&gt; bm)</PRE>
<UL>
Constructor for the TinyMCE Layer. This class enables you to construct
floating layers that is visible on top of select input fields, flashes and iframes.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>id</CODE> - Unique ID name for the layer.
</UL>
<UL><CODE>bm</CODE> - Block mode, defaults to true.
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="create"><!-- --></A>
<H3>create</H3>
<PRE>HTMLElement <B>create</B>(&lt;string&gt; n, &lt;string&gt; c, &lt;HTMLElement&gt; p)</PRE>
<UL>Creates a element for the layer based on the id and specified name.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>n</CODE> - Element tag name, like div.
</UL>
<UL><CODE>c</CODE> - Optional class name to set as class attribute value.
</UL>
<UL><CODE>p</CODE> - Optional parent element reference, defaults to body.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
HTML DOM element that got created.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getAbsPosition"><!-- --></A>
<H3>getAbsPosition</H3>
<PRE>Object <B>getAbsPosition</B>(&lt;DOMElement&gt; n)</PRE>
<UL>Returns the absolute x, y cordinate of the specified node.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>n</CODE> - DOM node to retrive x, y of.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Object containing absLeft and absTop properties.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getBlocker"><!-- --></A>
<H3>getBlocker</H3>
<PRE>HTMLElement <B>getBlocker</B>()</PRE>
<UL>Returns the blocker DOM element, this is a invisible iframe.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
DOM HTML element.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getElement"><!-- --></A>
<H3>getElement</H3>
<PRE>HTMLElement <B>getElement</B>()</PRE>
<UL>Returns the DOM element that the layer is binded to.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
DOM HTML element.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="hide"><!-- --></A>
<H3>hide</H3>
<PRE>void <B>hide</B>()</PRE>
<UL>Hides the layer.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="isVisible"><!-- --></A>
<H3>isVisible</H3>
<PRE>boolean <B>isVisible</B>()</PRE>
<UL>Returns true/false if the layer is visible or not.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
true/false if it's visible or not.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="moveBy"><!-- --></A>
<H3>moveBy</H3>
<PRE>void <B>moveBy</B>(&lt;int&gt; x, &lt;int&gt; y)</PRE>
<UL>Moves the layer relative in pixels.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>x</CODE> - Horizontal relative position in pixels.
</UL>
<UL><CODE>y</CODE> - Vertical relative position in pixels.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="moveRelativeTo"><!-- --></A>
<H3>moveRelativeTo</H3>
<PRE>void <B>moveRelativeTo</B>(&lt;HTMLElement&gt; re, &lt;string&gt; p)</PRE>
<UL>Moves the layer relative to the specified HTML element.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>re</CODE> - Element to move the layer relative to.
</UL>
<UL><CODE>p</CODE> - Position of the layer tl = top left, tr = top right, bl = bottom left, br = bottom right.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="moveTo"><!-- --></A>
<H3>moveTo</H3>
<PRE>void <B>moveTo</B>(&lt;int&gt; x, &lt;int&gt; y)</PRE>
<UL>Moves the layer absolute in pixels.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>x</CODE> - Horizontal absolute position in pixels.
</UL>
<UL><CODE>y</CODE> - Vertical absolute position in pixels.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="parseInt"><!-- --></A>
<H3>parseInt</H3>
<PRE>int <B>parseInt</B>(&lt;string&gt; s)</PRE>
<UL>Parses a int value this method will return 0 if the string is empty.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>s</CODE> - String to parse value of.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Parsed number.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="resizeBy"><!-- --></A>
<H3>resizeBy</H3>
<PRE>void <B>resizeBy</B>(&lt;int&gt; w, &lt;int&gt; h)</PRE>
<UL>Resizes the layer by the specified relative width and height.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>w</CODE> - Relative width value.
</UL>
<UL><CODE>h</CODE> - Relative height value.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="resizeTo"><!-- --></A>
<H3>resizeTo</H3>
<PRE>void <B>resizeTo</B>(&lt;int&gt; w, &lt;int&gt; h)</PRE>
<UL>Resizes the layer to the specified width and height.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>w</CODE> - Width value.
</UL>
<UL><CODE>h</CODE> - Height value.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="setBlockMode"><!-- --></A>
<H3>setBlockMode</H3>
<PRE>void <B>setBlockMode</B>(&lt;boolean&gt; s)</PRE>
<UL>Sets the block mode. If you set this property to true a control box blocker iframe
will be added to the document since MSIE has a issue where select boxes are visible
through layers.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>s</CODE> - Block mode state, true is the default value.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="show"><!-- --></A>
<H3>show</H3>
<PRE>void <B>show</B>()</PRE>
<UL>Shows the layer.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="updateBlocker"><!-- --></A>
<H3>updateBlocker</H3>
<PRE>void <B>updateBlocker</B>()</PRE>
<UL>Updates the select/iframe/flash blocker this will also block the caret in Firefox.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_Layer.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TinyMCE_Engine.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_Popup.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_Layer.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</BODY>
</HTML>

View file

@ -0,0 +1,789 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Popup
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="TinyMCE_Popup";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_Popup.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TinyMCE_Layer.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_Selection.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_Popup.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class TinyMCE_Popup</H2>
<PRE>Object
|
+--<b>TinyMCE_Popup</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>TinyMCE_Popup</B>
</DL>
<P>
<I>Defined in <a href='overview-summary-TinyMCE_Popup.class.js.html'>TinyMCE_Popup.class.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="TinyMCE_Popup.html#TinyMCE_Popup()">TinyMCE_Popup</A>
</B>
()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructor for the popup class.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#close">close</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Closes the current window.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#execCommand">execCommand</A></B>(&lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;mixed&gt; value)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Executes the specific command on the parent instance that opened the window.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#executeOnLoad">executeOnLoad</A></B>(&lt;string&gt; str)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Executes the specified string onload.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;Object</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getWindowArg">getWindowArg</A></B>(&lt;string&gt; name, &lt;string&gt; default_value)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns a window argument, window arguments can be passed from a plugin to a window
by using the tinyMCE.openWindow function.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#importClass">importClass</A></B>(&lt;string&gt; c)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Imports the specified class into the current popup.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#init">init</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Initializes the TinyMCE Popup class.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#onLoad">onLoad</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Gets executed when the window has finished loading it's contents.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#openBrowser">openBrowser</A></B>(&lt;string&gt; element_id, &lt;string&gt; type, &lt;string&gt; option)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Opens a filebrowser/imagebrowser this will set the output value from
the browser as a value on the specified element.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#pickColor">pickColor</A></B>(&lt;DOMEvent&gt; e, &lt;string&gt; element_id)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Executes a color picker on the specified element id.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#resizeToContent">resizeToContent</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Resizes the current window to the dimensions of the body.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#resizeToInnerSize">resizeToInnerSize</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Resizes the current window to it's inner body size.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#restoreSelection">restoreSelection</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Restores the selection back to the one stored after executing a command.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="TinyMCE_Popup()"><!-- --></A><H3>
TinyMCE_Popup</H3>
<PRE><B>TinyMCE_Popup</B>()</PRE>
<UL>
Constructor for the popup class. This class contains base logic for popup/dialogs and sets up
object references to the TinyMCE core.
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="close"><!-- --></A>
<H3>close</H3>
<PRE>void <B>close</B>()</PRE>
<UL>Closes the current window. This should be used instead of window.close. Since this will
also handle inlinepopups closing.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="execCommand"><!-- --></A>
<H3>execCommand</H3>
<PRE>void <B>execCommand</B>(&lt;string&gt; command, &lt;boolean&gt; user_interface, &lt;mixed&gt; value)</PRE>
<UL>Executes the specific command on the parent instance that opened the window. This method
will also take care of the storage and restorage of the current selection in MSIE when
using inlinepopups. So we suggest using this method instead of tinyMCE.execCommand when using
popup windows.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>command</CODE> - Command name to execute, for example mceLink or Bold.
</UL>
<UL><CODE>user_interface</CODE> - True/false state if a UI (dialog) should be presented or not.
</UL>
<UL><CODE>value</CODE> - Optional command value, this can be anything.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="executeOnLoad"><!-- --></A>
<H3>executeOnLoad</H3>
<PRE>void <B>executeOnLoad</B>(&lt;string&gt; str)</PRE>
<UL>Executes the specified string onload. This is a workaround for Opera since it
doesn't execute the events in the same order than MSIE and Firefox.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>str</CODE> - String to evaluate on load.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getWindowArg"><!-- --></A>
<H3>getWindowArg</H3>
<PRE>Object <B>getWindowArg</B>(&lt;string&gt; name, &lt;string&gt; default_value)</PRE>
<UL>Returns a window argument, window arguments can be passed from a plugin to a window
by using the tinyMCE.openWindow function.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>name</CODE> - Argument name to retrive.
</UL>
<UL><CODE>default_value</CODE> - Optional default value to assign if the argument wasn't set.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Argument value object.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="importClass"><!-- --></A>
<H3>importClass</H3>
<PRE>void <B>importClass</B>(&lt;string&gt; c)</PRE>
<UL>Imports the specified class into the current popup. This will setup a local class definition
by importing from the parent window.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>c</CODE> - Class name to import to current page.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="init"><!-- --></A>
<H3>init</H3>
<PRE>void <B>init</B>()</PRE>
<UL>Initializes the TinyMCE Popup class. This will setup the TinyMCE core references and other popup/dialog related functions.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="onLoad"><!-- --></A>
<H3>onLoad</H3>
<PRE>void <B>onLoad</B>()</PRE>
<UL>Gets executed when the window has finished loading it's contents. This function will then
replace language variables with their real values.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="openBrowser"><!-- --></A>
<H3>openBrowser</H3>
<PRE>void <B>openBrowser</B>(&lt;string&gt; element_id, &lt;string&gt; type, &lt;string&gt; option)</PRE>
<UL>Opens a filebrowser/imagebrowser this will set the output value from
the browser as a value on the specified element.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>element_id</CODE> - Id of the element to set value in.
</UL>
<UL><CODE>type</CODE> - Type of browser to open image/file/flash.
</UL>
<UL><CODE>option</CODE> - Option name to get the file_broswer_callback function name from.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="pickColor"><!-- --></A>
<H3>pickColor</H3>
<PRE>void <B>pickColor</B>(&lt;DOMEvent&gt; e, &lt;string&gt; element_id)</PRE>
<UL>Executes a color picker on the specified element id. When the user
then selects a color it will be set as the value of the specified element.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>e</CODE> - DOM event object.
</UL>
<UL><CODE>element_id</CODE> - Element id to be filled with the color value from the picker.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="resizeToContent"><!-- --></A>
<H3>resizeToContent</H3>
<PRE>void <B>resizeToContent</B>()</PRE>
<UL>Resizes the current window to the dimensions of the body.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="resizeToInnerSize"><!-- --></A>
<H3>resizeToInnerSize</H3>
<PRE>void <B>resizeToInnerSize</B>()</PRE>
<UL>Resizes the current window to it's inner body size. This function
was needed since MSIE makes the visible dialog area diffrent depending
on what Theme/Skin you use.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="restoreSelection"><!-- --></A>
<H3>restoreSelection</H3>
<PRE>void <B>restoreSelection</B>()</PRE>
<UL>Restores the selection back to the one stored after executing a command.
This function was needed in MSIE when using inlinepopups, the selection
would otherwice get lost if the user focused another field.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_Popup.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TinyMCE_Layer.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_Selection.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_Popup.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</BODY>
</HTML>

View file

@ -0,0 +1,732 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Selection
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="TinyMCE_Selection";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_Selection.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TinyMCE_Popup.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_UndoRedo.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_Selection.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class TinyMCE_Selection</H2>
<PRE>Object
|
+--<b>TinyMCE_Selection</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>TinyMCE_Selection</B>
</DL>
<P>
<I>Defined in <a href='overview-summary-TinyMCE_Selection.class.js.html'>TinyMCE_Selection.class.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<!-- This is one instance field summary -->
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#instance">instance</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="TinyMCE_Selection.html#TinyMCE_Selection()">TinyMCE_Selection</A>
</B>
(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a Selection instance and binds it to the specificed TinyMCE editor control.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;TinyMCE_Bookmark</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getBookmark">getBookmark</A></B>(&lt;boolean&gt; simple)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns a selection bookmark that can be restored later with moveToBookmark.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;HTMLElement</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getFocusElement">getFocusElement</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the currently selected/focused element.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;DOMRange</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getRng">getRng</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the browsers selections first range instance.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;DOMSelection</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getSel">getSel</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the browsers selection instance.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;string</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getSelectedHTML">getSelectedHTML</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the selected HTML code.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;string</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#getSelectedText">getSelectedText</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Returns the selected text.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#moveToBookmark">moveToBookmark</A></B>(&lt;TinyMCE_Bookmark&gt; bookmark)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Restores the selection to the specified bookmark.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#scrollToNode">scrollToNode</A></B>(&lt;HTMLNode&gt; node)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Scrolls to the specified node location.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#selectNode">selectNode</A></B>(&lt;HTMLNode&gt; node, &lt;boolean&gt; collapse, &lt;boolean&gt; select_text_node, &lt;boolean&gt; to_start)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Selects the specified node.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="instance"><!-- --></A>
<H3>instance</H3>
<PRE>Object&nbsp;<B>instance</B></PRE>
<UL>
</UL>
<HR>
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="TinyMCE_Selection()"><!-- --></A><H3>
TinyMCE_Selection</H3>
<PRE><B>TinyMCE_Selection</B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst)</PRE>
<UL>
Constructs a Selection instance and binds it to the specificed TinyMCE editor control.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>inst</CODE> - TinyMCE editor control instance.
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="getBookmark"><!-- --></A>
<H3>getBookmark</H3>
<PRE>TinyMCE_Bookmark <B>getBookmark</B>(&lt;boolean&gt; simple)</PRE>
<UL>Returns a selection bookmark that can be restored later with moveToBookmark.
This acts much like the one MSIE has built in but this one is persistent if between DOM
tree rewritings. The simple mode enables a quicker and non persistent bookmark.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>simple</CODE> - If this is set to true, the selection bookmark will not me dom persistent.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Selection bookmark that can be restored later with moveToBookmark.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getFocusElement"><!-- --></A>
<H3>getFocusElement</H3>
<PRE>HTMLElement <B>getFocusElement</B>()</PRE>
<UL>Returns the currently selected/focused element.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Currently selected element.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getRng"><!-- --></A>
<H3>getRng</H3>
<PRE>DOMRange <B>getRng</B>()</PRE>
<UL>Returns the browsers selections first range instance.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Browsers selections first range instance.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getSel"><!-- --></A>
<H3>getSel</H3>
<PRE>DOMSelection <B>getSel</B>()</PRE>
<UL>Returns the browsers selection instance.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Browser selection instance.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getSelectedHTML"><!-- --></A>
<H3>getSelectedHTML</H3>
<PRE>string <B>getSelectedHTML</B>()</PRE>
<UL>Returns the selected HTML code.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Selected HTML contents.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="getSelectedText"><!-- --></A>
<H3>getSelectedText</H3>
<PRE>string <B>getSelectedText</B>()</PRE>
<UL>Returns the selected text.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
Selected text contents.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="moveToBookmark"><!-- --></A>
<H3>moveToBookmark</H3>
<PRE>boolean <B>moveToBookmark</B>(&lt;TinyMCE_Bookmark&gt; bookmark)</PRE>
<UL>Restores the selection to the specified bookmark.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>bookmark</CODE> - Bookmark to restore selection from.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
true/false if it was successful or not.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="scrollToNode"><!-- --></A>
<H3>scrollToNode</H3>
<PRE>void <B>scrollToNode</B>(&lt;HTMLNode&gt; node)</PRE>
<UL>Scrolls to the specified node location.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>node</CODE> - Node to scroll to.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="selectNode"><!-- --></A>
<H3>selectNode</H3>
<PRE>void <B>selectNode</B>(&lt;HTMLNode&gt; node, &lt;boolean&gt; collapse, &lt;boolean&gt; select_text_node, &lt;boolean&gt; to_start)</PRE>
<UL>Selects the specified node.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>node</CODE> - Node object to move selection to.
</UL>
<UL><CODE>collapse</CODE> - True/false if it will be collasped.
</UL>
<UL><CODE>select_text_node</CODE> - True/false if the text contents should be selected or not.
</UL>
<UL><CODE>to_start</CODE> - True/false if the collapse should be to start or end of range.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_Selection.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TinyMCE_Popup.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<A HREF="TinyMCE_UndoRedo.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_Selection.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</BODY>
</HTML>

View file

@ -0,0 +1,513 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_UndoRedo
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="TinyMCE_UndoRedo";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_UndoRedo.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">&nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TinyMCE_Selection.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<B>NEXT CLASS</B></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_UndoRedo.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>Class TinyMCE_UndoRedo</H2>
<PRE>Object
|
+--<b>TinyMCE_UndoRedo</b>
</PRE>
<HR>
<DL>
<!-- Class definition -->
<DT>class
<B>TinyMCE_UndoRedo</B>
</DL>
<P>
<I>Defined in <a href='overview-summary-TinyMCE_UndoRedo.class.js.html'>TinyMCE_UndoRedo.class.js</a></I><BR/><BR/>
</P>
<HR>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- ======== END NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<!-- This is one instance field summary -->
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#instance">instance</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#typingUndoIndex">typingUndoIndex</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#undoIndex">undoIndex</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#undoLevels">undoLevels</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="#undoRedo">undoRedo</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== END FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD>
<CODE>
<B>
<A HREF="TinyMCE_UndoRedo.html#TinyMCE_UndoRedo()">TinyMCE_UndoRedo</A>
</B>
(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructs a undo redo instance, this instance handles the custom undo/redo handeling in TinyMCE.
</TD>
</TR>
</TABLE>
<!-- ======== END CONSTRUCTOR SUMMARY ======== -->
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#add">add</A></B>(&lt;TinyMCE_UndoRedoLevel&gt; l)
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Adds a new undo level, this will take a snapshot of the current instance HTML or use the specified level.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#redo">redo</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Performes a undo action, this will restore the HTML contents of the editor to a former undoed state.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%">
<FONT SIZE="-1">
<CODE>&nbsp;void</CODE>
</FONT>
</TD>
<TD>
<CODE>
<B>
<A HREF="#undo">undo</A></B>()
</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Performes a undo action, this will restore the HTML contents of the editor to a former state.
</TD>
</TR>
</TABLE>
<P>
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ============ FIELD DETAIL START =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="instance"><!-- --></A>
<H3>instance</H3>
<PRE>Object&nbsp;<B>instance</B></PRE>
<UL>
</UL>
<HR>
<A NAME="typingUndoIndex"><!-- --></A>
<H3>typingUndoIndex</H3>
<PRE>Object&nbsp;<B>typingUndoIndex</B></PRE>
<UL>
</UL>
<HR>
<A NAME="undoIndex"><!-- --></A>
<H3>undoIndex</H3>
<PRE>Object&nbsp;<B>undoIndex</B></PRE>
<UL>
</UL>
<HR>
<A NAME="undoLevels"><!-- --></A>
<H3>undoLevels</H3>
<PRE>Object&nbsp;<B>undoLevels</B></PRE>
<UL>
</UL>
<HR>
<A NAME="undoRedo"><!-- --></A>
<H3>undoRedo</H3>
<PRE>Object&nbsp;<B>undoRedo</B></PRE>
<UL>
</UL>
<HR>
<!-- ============ FIELD DETAIL END =========== -->
<!-- ========= CONSTRUCTOR DETAIL START ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1>
<FONT SIZE="+2"><B>Constructor Detail</B></FONT>
</TD>
</TR>
</TABLE>
<A NAME="TinyMCE_UndoRedo()"><!-- --></A><H3>
TinyMCE_UndoRedo</H3>
<PRE><B>TinyMCE_UndoRedo</B>(&lt;<a href="TinyMCE_Control.html">TinyMCE_Control</a>&gt; inst)</PRE>
<UL>
Constructs a undo redo instance, this instance handles the custom undo/redo handeling in TinyMCE.
</UL>
<UL>
<B>Parameters:</B>
<UL><CODE>inst</CODE> - TinyMCE editor control instance.
</UL>
</UL>
<!-- Constructor return value(s) -->
<!-- End constructor return value(s) -->
<!-- ADDITIONAL ATTRIBUTES -->
<HR/>
<!-- END ADDITIONAL ATTRIBUTES -->
<!-- ========= CONSTRUCTOR DETAIL END ======== -->
<!-- ============ METHOD DETAIL START ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT>
</TD>
</TR>
</TABLE>
<!-- One single method detail entry -->
<A NAME="add"><!-- --></A>
<H3>add</H3>
<PRE>boolean <B>add</B>(&lt;TinyMCE_UndoRedoLevel&gt; l)</PRE>
<UL>Adds a new undo level, this will take a snapshot of the current instance HTML or use the specified level.</UL>
<!-- METHOD PARAMETERS START -->
<UL>
<B>Parameters:</B>
<UL><CODE>l</CODE> - Optional undo/redo level to add.
</UL>
</UL>
<!-- METHOD PARAMETERS END -->
<UL>
<B>Returns:</B>
<UL>
true/false on success or failure.
</UL>
</UL>
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="redo"><!-- --></A>
<H3>redo</H3>
<PRE>void <B>redo</B>()</PRE>
<UL>Performes a undo action, this will restore the HTML contents of the editor to a former undoed state.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<A NAME="undo"><!-- --></A>
<H3>undo</H3>
<PRE>void <B>undo</B>()</PRE>
<UL>Performes a undo action, this will restore the HTML contents of the editor to a former state.</UL>
<!-- METHOD PARAMETERS START -->
<!-- METHOD PARAMETERS END -->
<!-- ADDITIONAL ATTRIBUTES START -->
<!-- ADDITIONAL ATTRIBUTES END -->
<HR>
<!-- ============ METHOD DETAIL END ========== -->
<!-- ========= END OF CLASS DATA ========= -->
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary-TinyMCE_UndoRedo.class.js.html"><FONT CLASS="NavBarFont1"><B>File</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"--> <!--A HREF="deprecated-list.html"--><!--FONT CLASS="NavBarFont1">Deprecated</FONT--><!--/A--><!--&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="TinyMCE_Selection.html"><B>PREV CLASS</B></A><!--
NEXT CLASS
-->
&nbsp;<B>NEXT CLASS</B></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TinyMCE_UndoRedo.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</BODY>
</HTML>

View file

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
All Classes
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" All Classes";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary.html" target="classFrame">All Classes</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GLOBALS.html" TARGET="classFrame">GLOBALS</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Cleanup.html" TARGET="classFrame">TinyMCE_Cleanup</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Control.html" TARGET="classFrame">TinyMCE_Control</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Engine.html" TARGET="classFrame">TinyMCE_Engine</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Layer.html" TARGET="classFrame">TinyMCE_Layer</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Popup.html" TARGET="classFrame">TinyMCE_Popup</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Selection.html" TARGET="classFrame">TinyMCE_Selection</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_UndoRedo.html" TARGET="classFrame">TinyMCE_UndoRedo</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,76 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
All Classes
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" All Classes";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 CLASS="FrameHeadingFont"></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary.html">All Classes</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="GLOBALS.html" >GLOBALS</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Cleanup.html" >TinyMCE_Cleanup</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Control.html" >TinyMCE_Control</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Engine.html" >TinyMCE_Engine</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Layer.html" >TinyMCE_Layer</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Popup.html" >TinyMCE_Popup</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Selection.html" >TinyMCE_Selection</A>
<BR>
</FONT></TD>
</TR>
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_UndoRedo.html" >TinyMCE_UndoRedo</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,160 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
API Help
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" API Help";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<CENTER>
<H1>
How This API Document Is Organized</H1>
</CENTER>
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
Class</H3>
<BLOCKQUOTE>
<P>
Each class has its own separate page. Each of these pages has three sections consisting of a class description, summary tables, and detailed member descriptions:<UL>
<LI>Class inheritance diagram<LI>Direct Subclasses<LI>Class declaration<LI>Class description
<P>
<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
<P>
<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
Each summary entry contains the first sentence from the detailed description for that item. </BLOCKQUOTE>
<!--H3>
Tree (Class Hierarchy)</H3>
<BLOCKQUOTE>
There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all classes. The hierarchy page contains a list of classes. The classes are organized by inheritance structure starting with <code>Object</code>.<UL>
</BLOCKQUOTE-->
<!-- H3>
Deprecated API</H3>
<BLOCKQUOTE>
The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE-->
<H3>
Index</H3>
<BLOCKQUOTE>
The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, constructors, methods, and fields.</BLOCKQUOTE>
<H3>
Prev/Next</H3>
These links take you to the next or previous class, interface, package, or related page.<H3>
Frames/No Frames</H3>
These links show and hide the HTML frames. All pages are available with or without frames.
<P>
<FONT SIZE="-1">
<EM>
This help file applies to API documentation generated using the standard doclet.</EM>
</FONT>
<BR>
<HR>
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><b>Tree</b></FONT></A>&nbsp;</TD>
<!--TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD-->
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B></B>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</BODY>
</HTML>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,27 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
Generated Javascript Documentation
</TITLE>
</HEAD>
<FRAMESET cols="20%,80%">
<FRAMESET rows="40%,50%">
<FRAME src="overview-frame.html" name="overviewFrame">
<FRAME src="allclasses-frame.html" name="packageFrame">
</FRAMESET>
<FRAME src="overview-summary.html" name="classFrame">
</FRAMESET>
<NOFRAMES>
<H2>
Frame Alert</H2>
<P>
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
<BR>
Link to <A HREF="allclasses-frame.html">Non-frame version.</A></NOFRAMES>
</HTML>

View file

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Array.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Array.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Array.class.js.html"
target="classFrame">TinyMCE_Array.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,36 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Cleanup.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Cleanup.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Cleanup.class.js.html"
target="classFrame">TinyMCE_Cleanup.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Cleanup.html" TARGET="classFrame">TinyMCE_Cleanup</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,36 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Control.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Control.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Control.class.js.html"
target="classFrame">TinyMCE_Control.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Control.html" TARGET="classFrame">TinyMCE_Control</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_DOMUtils.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_DOMUtils.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_DOMUtils.class.js.html"
target="classFrame">TinyMCE_DOMUtils.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Debug.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Debug.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Debug.class.js.html"
target="classFrame">TinyMCE_Debug.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,36 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Engine.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Engine.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Engine.class.js.html"
target="classFrame">TinyMCE_Engine.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Engine.html" TARGET="classFrame">TinyMCE_Engine</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Event.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Event.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Event.class.js.html"
target="classFrame">TinyMCE_Event.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_ForceParagraphs.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_ForceParagraphs.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_ForceParagraphs.class.js.html"
target="classFrame">TinyMCE_ForceParagraphs.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,36 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Layer.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Layer.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Layer.class.js.html"
target="classFrame">TinyMCE_Layer.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Layer.html" TARGET="classFrame">TinyMCE_Layer</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Menu.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Menu.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Menu.class.js.html"
target="classFrame">TinyMCE_Menu.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,36 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Popup.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Popup.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Popup.class.js.html"
target="classFrame">TinyMCE_Popup.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Popup.html" TARGET="classFrame">TinyMCE_Popup</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,36 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_Selection.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_Selection.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_Selection.class.js.html"
target="classFrame">TinyMCE_Selection.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_Selection.html" TARGET="classFrame">TinyMCE_Selection</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_URL.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_URL.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_URL.class.js.html"
target="classFrame">TinyMCE_URL.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,36 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
TinyMCE_UndoRedo.class.js
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title=" TinyMCE_UndoRedo.class.js";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<FONT size="+1" CLASS="FrameHeadingFont">
<B><a href="overview-summary-TinyMCE_UndoRedo.class.js.html"
target="classFrame">TinyMCE_UndoRedo.class.js</a></B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="TinyMCE_UndoRedo.html" TARGET="classFrame">TinyMCE_UndoRedo</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View file

@ -0,0 +1,67 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
Overview ()
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="Overview ()";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<H3 class="FrameHeadingFont"><B></B></H3>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<B></B></FONT></TD>
</TR>
</TABLE>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" TARGET="packageFrame">All Classes</A></FONT>
<P>
<FONT size="+1" CLASS="FrameHeadingFont">
Files</FONT>
<BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Array.class.js.html" TARGET="packageFrame">TinyMCE_Array.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Cleanup.class.js.html" TARGET="packageFrame">TinyMCE_Cleanup.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Control.class.js.html" TARGET="packageFrame">TinyMCE_Control.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Debug.class.js.html" TARGET="packageFrame">TinyMCE_Debug.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_DOMUtils.class.js.html" TARGET="packageFrame">TinyMCE_DOMUtils.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Engine.class.js.html" TARGET="packageFrame">TinyMCE_Engine.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Event.class.js.html" TARGET="packageFrame">TinyMCE_Event.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_ForceParagraphs.class.js.html" TARGET="packageFrame">TinyMCE_ForceParagraphs.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Layer.class.js.html" TARGET="packageFrame">TinyMCE_Layer.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Menu.class.js.html" TARGET="packageFrame">TinyMCE_Menu.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Popup.class.js.html" TARGET="packageFrame">TinyMCE_Popup.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_Selection.class.js.html" TARGET="packageFrame">TinyMCE_Selection.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_UndoRedo.class.js.html" TARGET="packageFrame">TinyMCE_UndoRedo.class.js</A></FONT><BR>
<FONT CLASS="FrameItemFont"><A HREF="overview-TinyMCE_URL.class.js.html" TARGET="packageFrame">TinyMCE_URL.class.js</A></FONT><BR>
</TD>
</TR>
</TABLE>
<P>
&nbsp;
</BODY>
</HTML>

View file

@ -0,0 +1,180 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_Array.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_Array.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_Array.class.js'<BR/><BR/>
</p>
<hr>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_Array.class.js.html,v $
* $Revision: 1.42 $
* $Date: 2006/04/14 20:00:28 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*
* The contents of this file will be wrapped in a class later on.
*/</span>
<span class="comment">/**
* Returns a cleared array, since some external libraries tend to extend the Array core object
* arrays needs to be cleaned from these extended functions. So this function simply sets any
* named properties back to null.
*
* <span class="attrib">@param</span> {Array} Name/Value array to clear.
* <span class="attrib">@return</span> Cleared name/value array.
* <span class="attrib">@type</span> Array
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.clearArray = <span class="reserved">function</span>(a) {
<span class="reserved">for</span> (var k in a)
a[k] = null;
<span class="reserved">return</span> a;
};
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,707 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_DOMUtils.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_DOMUtils.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_DOMUtils.class.js'<BR/><BR/>
</p>
<hr>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_DOMUtils.class.js.html,v $
* $Revision: 1.42 $
* $Date: 2006/04/14 20:00:29 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*
* The contents of this file will be wrapped in a class later on.
*/</span>
<span class="comment">/**
* Returns a element by a specific attribute and it's value.
*
* <span class="attrib">@param</span> {HTMLElement} n Element to search in.
* <span class="attrib">@param</span> {string} e Element name to search for.
* <span class="attrib">@param</span> {string} a Attribute name to search for.
* <span class="attrib">@param</span> {string} v Attribute value to search for.
* <span class="attrib">@return</span> HTML element that matched the criterias or null on failure.
* <span class="attrib">@type</span> HTMLElement
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.getElementByAttributeValue = <span class="reserved">function</span>(n, e, a, v) {
<span class="reserved">return</span> (n = <span class="reserved">this</span>.getElementsByAttributeValue(n, e, a, v)).length == 0 ? null : n[0];
};
<span class="comment">/**
* Returns a element array by a specific attribute and it's value.
*
* <span class="attrib">@param</span> {HTMLElement} n Element to search in.
* <span class="attrib">@param</span> {string} e Element name to search for.
* <span class="attrib">@param</span> {string} a Attribute name to search for.
* <span class="attrib">@param</span> {string} v Attribute value to search for.
* <span class="attrib">@return</span> HTML element array that matched the criterias or null on failure.
* <span class="attrib">@type</span> Array
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.getElementsByAttributeValue = <span class="reserved">function</span>(n, e, a, v) {
var i, nl = n.getElementsByTagName(e), o = new Array();
<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
<span class="reserved">if</span> (tinyMCE.getAttrib(nl[i], a).indexOf(v) != -1)
o[o.length] = nl[i];
}
<span class="reserved">return</span> o;
};
<span class="comment">/**
* Returns true/false if the specified node is a block element or not.
*
* <span class="attrib">@param</span> {HTMLNode} n Node to verify.
* <span class="attrib">@return</span> true/false if the specified node is a block element or not.
* <span class="attrib">@type</span> boolean
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.isBlockElement = <span class="reserved">function</span>(n) {
<span class="reserved">return</span> n != null &amp;&amp; n.nodeType == 1 &amp;&amp; <span class="reserved">this</span>.blockRegExp.test(n.nodeName);
};
<span class="comment">/**
* Returns the first block element parent of the specified node.
*
* <span class="attrib">@param</span> {HTMLNode} n Node get parent block element for.
* <span class="attrib">@return</span> First block element parent of the specified node or null if it wasn't found.
* <span class="attrib">@type</span> HTMLElement
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.getParentBlockElement = <span class="reserved">function</span>(n) {
<span class="reserved">while</span> (n) {
<span class="reserved">if</span> (<span class="reserved">this</span>.isBlockElement(n))
<span class="reserved">return</span> n;
n = n.parentNode;
}
<span class="reserved">return</span> null;
};
<span class="comment">/**
* Inserts a node after the specific node.
*
* <span class="attrib">@param</span> {HTMLNode} n New node to insert.
* <span class="attrib">@param</span> {HTMLNode} r Reference node to insert after.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.insertAfter = <span class="reserved">function</span>(n, r){
<span class="reserved">if</span> (r.nextSibling)
r.parentNode.insertBefore(n, r.nextSibling);
<span class="reserved">else</span>
r.parentNode.appendChild(n);
};
<span class="comment">/**
* Sets the innerHTML property of a element, this function also
* fixes a MSIE bug where the first comment is removed.
*
* <span class="attrib">@param</span> {HTMLElement} e Element to insert HTML in.
* <span class="attrib">@param</span> {string} h HTML code to insert into innerHTML.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.setInnerHTML = <span class="reserved">function</span>(e, h) {
var i, nl, n;
<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera) {
<span class="comment">// Since MSIE handles invalid HTML better that valid XHTML we</span>
<span class="comment">// need to make some things invalid. &lt;hr /&gt; gets converted to &lt;hr&gt;.</span>
h = h.replace(/\s\/&gt;/g, <span class="literal">'&gt;'</span>);
<span class="comment">// Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones</span>
h = h.replace(/&lt;p([^&gt;]*)&gt;\u00A0?&lt;\/p&gt;/gi, <span class="literal">'&lt;p$1 mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt;'</span>); <span class="comment">// Keep empty paragraphs</span>
h = h.replace(/&lt;p([^&gt;]*)&gt;\s*&amp;nbsp;\s*&lt;\/p&gt;/gi, <span class="literal">'&lt;p$1 mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt;'</span>); <span class="comment">// Keep empty paragraphs</span>
h = h.replace(/&lt;p([^&gt;]*)&gt;\s+&lt;\/p&gt;/gi, <span class="literal">'&lt;p$1 mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt;'</span>); <span class="comment">// Keep empty paragraphs</span>
<span class="comment">// Remove first comment</span>
e.innerHTML = tinyMCE.uniqueTag + h;
e.firstChild.removeNode(true);
<span class="comment">// Remove weird auto generated empty paragraphs unless it's supposed to be there</span>
nl = e.getElementsByTagName(<span class="literal">"p"</span>);
<span class="reserved">for</span> (i=nl.length-1; i&gt;=0; i--) {
n = nl[i];
<span class="reserved">if</span> (n.nodeName == <span class="literal">'P'</span> &amp;&amp; !n.hasChildNodes() &amp;&amp; !n.mce_keep)
n.parentNode.removeChild(n);
}
} <span class="reserved">else</span> {
h = <span class="reserved">this</span>.fixGeckoBaseHREFBug(1, e, h);
e.innerHTML = h;
<span class="reserved">this</span>.fixGeckoBaseHREFBug(2, e, h);
}
};
<span class="comment">/**
* Returns the outer HTML of a element, this uses the outerHTML
* property in MSIE and Opera and a workaround for Gecko.
*
* <span class="attrib">@param</span> {HTMLElement} e HTML element to get outerHTML from.
* <span class="attrib">@return</span> HTML content string.
* <span class="attrib">@type</span> string
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.getOuterHTML = <span class="reserved">function</span>(e) {
<span class="reserved">if</span> (tinyMCE.isMSIE)
<span class="reserved">return</span> e.outerHTML;
var d = e.ownerDocument.createElement(<span class="literal">"body"</span>);
d.appendChild(e);
<span class="reserved">return</span> d.innerHTML;
};
<span class="comment">/**
* Sets the outer HTML of a element, this uses the outerHTML
* property in MSIE and Opera and a workaround for Gecko.
*
* <span class="attrib">@param</span> {HTMLElement} e HTML element to set outerHTML on.
* <span class="attrib">@param</span> {string} h HTML string to set in property.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.setOuterHTML = <span class="reserved">function</span>(e, h) {
<span class="reserved">if</span> (tinyMCE.isMSIE) {
e.outerHTML = h;
<span class="reserved">return</span>;
}
var d = e.ownerDocument.createElement(<span class="literal">"body"</span>);
d.innerHTML = h;
e.parentNode.replaceChild(d.firstChild, e);
};
<span class="comment">/**
* Returns a element by id, this will also search the form names to match the id.
*
* <span class="attrib">@param</span> {string} id Id of element.
* <span class="attrib">@param</span> {DOMDocument} d Optional document.
* <span class="attrib">@return</span> HTML element that matches the id.
* <span class="attrib">@type</span> HTMLElement
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>._getElementById = <span class="reserved">function</span>(id, d) {
var e, i, j, f;
<span class="reserved">if</span> (typeof(d) == <span class="literal">"undefined"</span>)
d = document;
e = d.getElementById(id);
<span class="reserved">if</span> (!e) {
f = d.forms;
<span class="reserved">for</span> (i=0; i&lt;f.length; i++) {
<span class="reserved">for</span> (j=0; j&lt;f[i].elements.length; j++) {
<span class="reserved">if</span> (f[i].elements[j].name == id) {
e = f[i].elements[j];
break;
}
}
}
}
<span class="reserved">return</span> e;
};
<span class="comment">/**
* Returns a array of nodes selected retrived from the child nodes of the specified node.
*
* <span class="attrib">@param</span> {HTMLNode} n Node to get children from.
* <span class="attrib">@param</span> {Array} na Array to fill with children.
* <span class="attrib">@param</span> {int} t Node type to get.
* <span class="attrib">@param</span> {string} nn Node name of items to retrive.
* <span class="attrib">@return</span> Node array.
* <span class="attrib">@type</span> Array
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.getNodeTree = <span class="reserved">function</span>(n, na, t, nn) {
var i;
<span class="reserved">if</span> (typeof(t) == <span class="literal">"undefined"</span> || n.nodeType == t &amp;&amp; (typeof(nn) == <span class="literal">"undefined"</span> || n.nodeName == nn))
na[na.length] = n;
<span class="reserved">if</span> (n.hasChildNodes()) {
<span class="reserved">for</span> (i=0; i&lt;n.childNodes.length; i++)
tinyMCE.getNodeTree(n.childNodes[i], na, t, nn);
}
<span class="reserved">return</span> na;
};
<span class="comment">/**
* Returns the parent element of the specified node based on the search criteria.
*
* <span class="attrib">@param</span> {HTMLNode} node Node to get parent element of.
* <span class="attrib">@param</span> {string} names Comma separated list of element names to get.
* <span class="attrib">@param</span> {string} attrib_name Optional attribute name to match.
* <span class="attrib">@param</span> {string} attrib_value Optional attribute value to match.
* <span class="attrib">@return</span> HTMLElement or null based on search criteras.
* <span class="attrib">@type</span> HTMLElement
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.getParentElement = <span class="reserved">function</span>(node, names, attrib_name, attrib_value) {
<span class="reserved">if</span> (typeof(names) == <span class="literal">"undefined"</span>) {
<span class="reserved">if</span> (node.nodeType == 1)
<span class="reserved">return</span> node;
<span class="comment">// Find parent node that is a element</span>
<span class="reserved">while</span> ((node = node.parentNode) != null &amp;&amp; node.nodeType != 1) ;
<span class="reserved">return</span> node;
}
<span class="reserved">if</span> (node == null)
<span class="reserved">return</span> null;
var namesAr = names.toUpperCase().split(<span class="literal">','</span>);
do {
<span class="reserved">for</span> (var i=0; i&lt;namesAr.length; i++) {
<span class="reserved">if</span> (node.nodeName == namesAr[i] || names == <span class="literal">"*"</span>) {
<span class="reserved">if</span> (typeof(attrib_name) == <span class="literal">"undefined"</span>)
<span class="reserved">return</span> node;
<span class="reserved">else</span> <span class="reserved">if</span> (node.getAttribute(attrib_name)) {
<span class="reserved">if</span> (typeof(attrib_value) == <span class="literal">"undefined"</span>) {
<span class="reserved">if</span> (node.getAttribute(attrib_name) != <span class="literal">""</span>)
<span class="reserved">return</span> node;
} <span class="reserved">else</span> <span class="reserved">if</span> (node.getAttribute(attrib_name) == attrib_value)
<span class="reserved">return</span> node;
}
}
}
} <span class="reserved">while</span> ((node = node.parentNode) != null);
<span class="reserved">return</span> null;
};
<span class="comment">/**
* Returns a node by the specified selector function. This function will
* loop through all parent nodes and call the specified function for each node.
* If the function then returns true it will stop the execution and return that node.
*
* <span class="attrib">@param</span> {DOMNode} n HTML node to search parents on.
* <span class="attrib">@param</span> {function} f Selection function to execute on each node.
* <span class="attrib">@return</span> DOMNode or null if it wasn't found.
* <span class="attrib">@type</span> DOMNode
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.getParentNode = <span class="reserved">function</span>(n, f) {
<span class="reserved">while</span> (n) {
<span class="reserved">if</span> (f(n))
<span class="reserved">return</span> n;
n = n.parentNode;
}
<span class="reserved">return</span> null;
};
<span class="comment">/**
* Returns the attribute value of a element or the default value if it wasn't found.
*
* <span class="attrib">@param</span> {HTMLElement} elm HTML element to get attribute from.
* <span class="attrib">@param</span> {string} name Attribute name to retrive.
* <span class="attrib">@param</span> {string} default_value Optional default value to return, this value defaults to a empty string.
* <span class="attrib">@return</span> Attribute value or default value if it wasn't found in element.
* <span class="attrib">@type</span> string
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.getAttrib = <span class="reserved">function</span>(elm, name, default_value) {
<span class="reserved">if</span> (typeof(default_value) == <span class="literal">"undefined"</span>)
default_value = <span class="literal">""</span>;
<span class="comment">// Not a element</span>
<span class="reserved">if</span> (!elm || elm.nodeType != 1)
<span class="reserved">return</span> default_value;
var v = elm.getAttribute(name);
<span class="comment">// Try className for class attrib</span>
<span class="reserved">if</span> (name == <span class="literal">"class"</span> &amp;&amp; !v)
v = elm.className;
<span class="comment">// Workaround for a issue with Firefox 1.5rc2+</span>
<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; name == <span class="literal">"src"</span> &amp;&amp; elm.src != null &amp;&amp; elm.src != <span class="literal">""</span>)
v = elm.src;
<span class="comment">// Workaround for a issue with Firefox 1.5rc2+</span>
<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; name == <span class="literal">"href"</span> &amp;&amp; elm.href != null &amp;&amp; elm.href != <span class="literal">""</span>)
v = elm.href;
<span class="reserved">if</span> (name == <span class="literal">"http-equiv"</span> &amp;&amp; tinyMCE.isMSIE)
v = elm.httpEquiv;
<span class="reserved">if</span> (name == <span class="literal">"style"</span> &amp;&amp; !tinyMCE.isOpera)
v = elm.style.cssText;
<span class="reserved">return</span> (v &amp;&amp; v != <span class="literal">""</span>) ? v : default_value;
};
<span class="comment">/**
* Sets the attribute value for a specific attribute.
*
* <span class="attrib">@param</span> {HTMLElement} element HTML element to set attribute on.
* <span class="attrib">@param</span> {string} name Attribute name to set.
* <span class="attrib">@param</span> {string} value Attribute value to set.
* <span class="attrib">@param</span> {boolean} fix_value Optional fix value state, if true only number data will be accepted.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.setAttrib = <span class="reserved">function</span>(element, name, value, fix_value) {
<span class="reserved">if</span> (typeof(value) == <span class="literal">"number"</span> &amp;&amp; value != null)
value = <span class="literal">""</span> + value;
<span class="reserved">if</span> (fix_value) {
<span class="reserved">if</span> (value == null)
value = <span class="literal">""</span>;
var re = new RegExp(<span class="literal">'[^0-9%]'</span>, <span class="literal">'g'</span>);
value = value.replace(re, <span class="literal">''</span>);
}
<span class="reserved">if</span> (name == <span class="literal">"style"</span>)
element.style.cssText = value;
<span class="reserved">if</span> (name == <span class="literal">"class"</span>)
element.className = value;
<span class="reserved">if</span> (value != null &amp;&amp; value != <span class="literal">""</span> &amp;&amp; value != -1)
element.setAttribute(name, value);
<span class="reserved">else</span>
element.removeAttribute(name);
};
<span class="comment">/**
* Sets a style attribute item value.
*
* <span class="attrib">@param</span> {HTMLElement} elm HTML element to set style attribute item on.
* <span class="attrib">@param</span> {string} name Style item name to set.
* <span class="attrib">@param</span> {string} value Style item value to set.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.setStyleAttrib = <span class="reserved">function</span>(elm, name, value) {
eval(<span class="literal">'elm.style.'</span> + name + <span class="literal">'=value;'</span>);
<span class="comment">// Style attrib deleted</span>
<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; value == null || value == <span class="literal">''</span>) {
var str = tinyMCE.serializeStyle(tinyMCE.parseStyle(elm.style.cssText));
elm.style.cssText = str;
elm.setAttribute(<span class="literal">"style"</span>, str);
}
};
<span class="comment">/**
* Switches the CSS class of the specified element. This method also caches the
* elements in a lookup table for performance. This should only be used for TinyMCE main UI controls
* like buttons or select elements.
*
* <span class="attrib">@param</span> {HTMLElement} ei Element to set CSS class on.
* <span class="attrib">@param</span> {string} c CSS class to set.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.switchClass = <span class="reserved">function</span>(ei, c) {
var e;
<span class="reserved">if</span> (tinyMCE.switchClassCache[ei])
e = tinyMCE.switchClassCache[ei];
<span class="reserved">else</span>
e = tinyMCE.switchClassCache[ei] = document.getElementById(ei);
<span class="reserved">if</span> (e) {
<span class="comment">// Keep tile mode</span>
<span class="reserved">if</span> (tinyMCE.settings.button_tile_map &amp;&amp; e.className &amp;&amp; e.className.indexOf(<span class="literal">'mceTiledButton'</span>) == 0)
c = <span class="literal">'mceTiledButton '</span> + c;
e.className = c;
}
};
<span class="comment">/**
* Returns the absolute x, y position of a node. The position will be returned in a object with
* two properties absLeft and absTop.
*
* <span class="attrib">@param</span> {HTMLNode} n HTML element to get x, y position from.
* <span class="attrib">@return</span> Absolute position of the specified element.
* <span class="attrib">@type</span> TinyMCE_ElementPosition
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.getAbsPosition = <span class="reserved">function</span>(n) {
var p = {absLeft : 0, absTop : 0};
<span class="reserved">while</span> (n) {
p.absLeft += n.offsetLeft;
p.absTop += n.offsetTop;
n = n.offsetParent;
}
<span class="reserved">return</span> p;
};
<span class="comment">/**
* Finds any previous element by name. This will loop through the siblings
* inorder to find the specified element by name. If the element wasn't found
* it will return a null value.
*
* <span class="attrib">@param</span> {HTMLNode} e HTML node to search from.
* <span class="attrib">@param</span> {string} n Comma separated list of element names to search for.
* <span class="attrib">@return</span> HTML Element or null if it wasn't found.
* <span class="attrib">@type</span> HTMLElement
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.prevNode = <span class="reserved">function</span>(e, n) {
var a = n.split(<span class="literal">','</span>), i;
<span class="reserved">while</span> ((e = e.previousSibling) != null) {
<span class="reserved">for</span> (i=0; i&lt;a.length; i++) {
<span class="reserved">if</span> (e.nodeName == a[i])
<span class="reserved">return</span> e;
}
}
<span class="reserved">return</span> null;
};
<span class="comment">/**
* Finds any element after the current one by name. This will loop through the siblings
* inorder to find the specified element by name. If the element wasn't found
* it will return a null value.
*
* <span class="attrib">@param</span> {HTMLNode} e HTML node to search from.
* <span class="attrib">@param</span> {string} n Comma separated list of element names to search for.
* <span class="attrib">@return</span> HTML Element or null if it wasn't found.
* <span class="attrib">@type</span> HTMLElement
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.nextNode = <span class="reserved">function</span>(e, n) {
var a = n.split(<span class="literal">','</span>), i;
<span class="reserved">while</span> ((e = e.nextSibling) != null) {
<span class="reserved">for</span> (i=0; i&lt;a.length; i++) {
<span class="reserved">if</span> (e.nodeName == a[i])
<span class="reserved">return</span> e;
}
}
<span class="reserved">return</span> null;
};
<span class="comment">/**
* Returns a array of nodes when the specified function matches a node.
*
* <span class="attrib">@param</span> {DOMNode} n Node to select children from.
* <span class="attrib">@param</span> {function} f Function that returns true/false if the node is to be added or not.
* <span class="attrib">@param</span> {Array} a Optional array to fill with nodes.
* <span class="attrib">@return</span> Array with selected nodes.
* <span class="attrib">@type</span> Array
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.selectNodes = <span class="reserved">function</span>(n, f, a) {
var i;
<span class="reserved">if</span> (!a)
a = new Array();
<span class="reserved">if</span> (f(n))
a[a.length] = n;
<span class="reserved">if</span> (n.hasChildNodes()) {
<span class="reserved">for</span> (i=0; i&lt;n.childNodes.length; i++)
tinyMCE.selectNodes(n.childNodes[i], f, a);
}
<span class="reserved">return</span> a;
};
<span class="comment">/**
* Adds a CSS class to the specified element. It will remove any previous item with the same name
* so adding a class that already exists will move it to the end.
*
* <span class="attrib">@param</span> {HTMLElement} e HTML element to add CSS class to.
* <span class="attrib">@param</span> {string] c CSS class to add to HTML element.
* <span class="attrib">@param</span> {boolean] b Optional parameter, if set to true, class will be added to the beginning.
* <span class="attrib">@return</span> Returns the new class attribute value.
* <span class="attrib">@type</span> string
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.addCSSClass = <span class="reserved">function</span>(e, c, b) {
var o = <span class="reserved">this</span>.removeCSSClass(e, c);
<span class="reserved">return</span> e.className = b ? c + (o != <span class="literal">''</span> ? (<span class="literal">' '</span> + o) : <span class="literal">''</span>) : (o != <span class="literal">''</span> ? (o + <span class="literal">' '</span>) : <span class="literal">''</span>) + c;
};
<span class="comment">/**
* Removes the specified CSS class from the element.
*
* <span class="attrib">@param</span> {HTMLElement} e HTML element to remove CSS class to.
* <span class="attrib">@param</span> {string] c CSS class to remove to HTML element.
* <span class="attrib">@return</span> Returns the new class attribute value.
* <span class="attrib">@type</span> string
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.removeCSSClass = <span class="reserved">function</span>(e, c) {
var a = <span class="reserved">this</span>.explode(<span class="literal">' '</span>, e.className), i;
<span class="reserved">for</span> (i=0; i&lt;a.length; i++) {
<span class="reserved">if</span> (a[i] == c)
a[i] = <span class="literal">''</span>;
}
<span class="reserved">return</span> e.className = a.join(<span class="literal">' '</span>);
};
<span class="comment">/**
* Renames the specified element to the specified name.
*
* <span class="attrib">@param</span> {HTMLElement} e Element to rename.
* <span class="attrib">@param</span> {string} n New name of the element.
* <span class="attrib">@param</span> {DOMDocument} d Optional document reference.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.renameElement = <span class="reserved">function</span>(e, n, d) {
var ne, i, ar;
d = typeof(d) == <span class="literal">"undefined"</span> ? tinyMCE.selectedInstance.getDoc() : d;
<span class="reserved">if</span> (e) {
ne = d.createElement(n);
ar = e.attributes;
<span class="reserved">for</span> (i=ar.length-1; i&gt;-1; i--) {
<span class="reserved">if</span> (ar[i].specified &amp;&amp; ar[i].nodeValue)
ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue);
}
ar = e.childNodes;
<span class="reserved">for</span> (i=0; i&lt;ar.length; i++)
ne.appendChild(ar[i].cloneNode(true));
e.parentNode.replaceChild(ne, e);
}
};
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,193 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_Debug.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_Debug.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_Debug.class.js'<BR/><BR/>
</p>
<hr>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_Debug.class.js.html,v $
* $Revision: 1.42 $
* $Date: 2006/04/14 20:00:29 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*
* The contents of this file will be wrapped in a class later on.
*/</span>
<span class="comment">/**
* Debugs the specified message to a screen.
*
* <span class="attrib">@param</span> {1..n} Numerous arguments that will be outputed.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.debug = <span class="reserved">function</span>() {
var m = <span class="literal">""</span>, e, a, i;
e = document.getElementById(<span class="literal">"tinymce_debug"</span>);
<span class="reserved">if</span> (!e) {
var d = document.createElement(<span class="literal">"div"</span>);
d.setAttribute(<span class="literal">"className"</span>, <span class="literal">"debugger"</span>);
d.className = <span class="literal">"debugger"</span>;
d.innerHTML = <span class="literal">'Debug output:&lt;textarea id="tinymce_debug" style="width: 100%; height: 300px" wrap="nowrap" mce_editable="false"&gt;&lt;/textarea&gt;'</span>;
document.body.appendChild(d);
e = document.getElementById(<span class="literal">"tinymce_debug"</span>);
}
a = <span class="reserved">this</span>.debug.arguments;
<span class="reserved">for</span> (i=0; i&lt;a.length; i++) {
m += a[i];
<span class="reserved">if</span> (i&lt;a.length-1)
m += <span class="literal">', '</span>;
}
e.value += m + <span class="literal">"\n"</span>;
};
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,403 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_Event.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_Event.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_Event.class.js'<BR/><BR/>
</p>
<hr>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_Event.class.js.html,v $
* $Revision: 1.42 $
* $Date: 2006/04/14 20:00:30 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*
* The contents of this file will be wrapped in a class later on.
*/</span>
<span class="comment">/**
* Sets the enabled/disabled state of build in events on the specific node.
* This function is needed since some events gets executed in WYSIWYG mode.
*
* <span class="attrib">@param</span> {HTMLNode} node HTML node to enable/disable events on.
* <span class="attrib">@param</span> {boolean} state true/false state if the events should be disabled or enabled.
* <span class="attrib">@private</span>
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>._setEventsEnabled = <span class="reserved">function</span>(node, state) {
var events = new Array(<span class="literal">'onfocus'</span>,<span class="literal">'onblur'</span>,<span class="literal">'onclick'</span>,<span class="literal">'ondblclick'</span>,
<span class="literal">'onmousedown'</span>,<span class="literal">'onmouseup'</span>,<span class="literal">'onmouseover'</span>,<span class="literal">'onmousemove'</span>,
<span class="literal">'onmouseout'</span>,<span class="literal">'onkeypress'</span>,<span class="literal">'onkeydown'</span>,<span class="literal">'onkeydown'</span>,<span class="literal">'onkeyup'</span>);
var evs = tinyMCE.settings[<span class="literal">'event_elements'</span>].split(<span class="literal">','</span>);
<span class="reserved">for</span> (var y=0; y&lt;evs.length; y++){
var elms = node.getElementsByTagName(evs[y]);
<span class="reserved">for</span> (var i=0; i&lt;elms.length; i++) {
var event = <span class="literal">""</span>;
<span class="reserved">for</span> (var x=0; x&lt;events.length; x++) {
<span class="reserved">if</span> ((event = tinyMCE.getAttrib(elms[i], events[x])) != <span class="literal">''</span>) {
event = tinyMCE.cleanupEventStr(<span class="literal">""</span> + event);
<span class="reserved">if</span> (!state)
event = <span class="literal">"return true;"</span> + event;
<span class="reserved">else</span>
event = event.replace(/^<span class="reserved">return</span> true;/gi, <span class="literal">''</span>);
elms[i].removeAttribute(events[x]);
elms[i].setAttribute(events[x], event);
}
}
}
}
};
<span class="comment">/**
* Patch function for MSIE specific events, this one simply grabs the window.event object and
* passes it as a argument to the handleEvent function of the TinyMCE_Engine class.
*
* <span class="attrib">@param</span> {string} editor_id Editor id to patch.
* <span class="attrib">@private</span>
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch = <span class="reserved">function</span>(editor_id) {
var n, inst, win, e;
<span class="comment">// Remove odd, error</span>
<span class="reserved">if</span> (typeof(tinyMCE) == <span class="literal">"undefined"</span>)
<span class="reserved">return</span> true;
try {
<span class="comment">// Try selected instance first</span>
<span class="reserved">if</span> (tinyMCE.selectedInstance) {
win = tinyMCE.selectedInstance.getWin();
<span class="reserved">if</span> (win &amp;&amp; win.event) {
e = win.event;
<span class="reserved">if</span> (!e.target)
e.target = e.srcElement;
TinyMCE_Engine.<span class="reserved">prototype</span>.handleEvent(e);
<span class="reserved">return</span>;
}
}
<span class="comment">// Search for it</span>
<span class="reserved">for</span> (n in tinyMCE.instances) {
inst = tinyMCE.instances[n];
<span class="reserved">if</span> (!tinyMCE.isInstance(inst))
continue;
tinyMCE.selectedInstance = inst;
win = inst.getWin();
<span class="reserved">if</span> (win &amp;&amp; win.event) {
e = win.event;
<span class="reserved">if</span> (!e.target)
e.target = e.srcElement;
TinyMCE_Engine.<span class="reserved">prototype</span>.handleEvent(e);
<span class="reserved">return</span>;
}
}
} catch (ex) {
<span class="comment">// Ignore error if iframe is pointing to external URL</span>
}
};
<span class="comment">/**
* Unload document event handler function. This function will be executed when the
* page is unloaded, this will automaticly move the current editor contents to the textarea element this enables
* the editor to restore it's state when the user presses the back button in the browser.
* This will execute the triggerSave function.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.unloadHandler = <span class="reserved">function</span>() {
tinyMCE.triggerSave(true, true);
};
<span class="comment">/**
* Adds the handleEvent function to the specified editor instance.
*
* <span class="attrib">@param</span> {inst} inst Editor control instance to add event handler to.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.addEventHandlers = <span class="reserved">function</span>(inst) {
var doc = inst.getDoc();
inst.switchSettings();
<span class="reserved">if</span> (tinyMCE.isMSIE) {
tinyMCE.addEvent(doc, <span class="literal">"keypress"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
tinyMCE.addEvent(doc, <span class="literal">"keyup"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
tinyMCE.addEvent(doc, <span class="literal">"keydown"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
tinyMCE.addEvent(doc, <span class="literal">"mouseup"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
tinyMCE.addEvent(doc, <span class="literal">"click"</span>, TinyMCE_Engine.<span class="reserved">prototype</span>._eventPatch);
} <span class="reserved">else</span> {
tinyMCE.addEvent(doc, <span class="literal">"keypress"</span>, tinyMCE.handleEvent);
tinyMCE.addEvent(doc, <span class="literal">"keydown"</span>, tinyMCE.handleEvent);
tinyMCE.addEvent(doc, <span class="literal">"keyup"</span>, tinyMCE.handleEvent);
tinyMCE.addEvent(doc, <span class="literal">"click"</span>, tinyMCE.handleEvent);
tinyMCE.addEvent(doc, <span class="literal">"mouseup"</span>, tinyMCE.handleEvent);
tinyMCE.addEvent(doc, <span class="literal">"mousedown"</span>, tinyMCE.handleEvent);
tinyMCE.addEvent(doc, <span class="literal">"focus"</span>, tinyMCE.handleEvent);
tinyMCE.addEvent(doc, <span class="literal">"blur"</span>, tinyMCE.handleEvent);
eval(<span class="literal">'try { doc.designMode = "On"; } catch(e) {}'</span>); <span class="comment">// Force designmode</span>
}
};
<span class="comment">/**
* Mouse move handler function, this will be executed each time
* the mouse is moved within a editor instance. This function stores away the current selection in MSIE
* this will then be used when a undo/redo level is added.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.onMouseMove = <span class="reserved">function</span>() {
var inst;
<span class="reserved">if</span> (!tinyMCE.hasMouseMoved) {
inst = tinyMCE.selectedInstance;
<span class="comment">// Workaround for bug #1437457 (Odd MSIE bug)</span>
<span class="reserved">if</span> (inst.isFocused) {
inst.undoBookmark = inst.selection.getBookmark();
tinyMCE.hasMouseMoved = true;
}
}
<span class="comment">// tinyMCE.cancelEvent(inst.getWin().event);</span>
<span class="comment">// return false;</span>
};
<span class="comment">/**
* Cancels the specified event, this will disable the event from be passed to other listeners in event chain.
*
* <span class="attrib">@param</span> {DOMEvent} e Event to cancel.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.cancelEvent = <span class="reserved">function</span>(e) {
<span class="reserved">if</span> (tinyMCE.isMSIE) {
e.returnValue = false;
e.cancelBubble = true;
} <span class="reserved">else</span>
e.preventDefault();
};
<span class="comment">/**
* Adds a event handler function to the specified object.
*
* <span class="attrib">@param</span> {HTMLElement} o Object to add event handler to.
* <span class="attrib">@param</span> {string} n Event name to listen to for example "click".
* <span class="attrib">@param</span> {function} h Function handler to execute when event occurs.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.addEvent = <span class="reserved">function</span>(o, n, h) {
<span class="reserved">if</span> (o.attachEvent)
o.attachEvent(<span class="literal">"on"</span> + n, h);
<span class="reserved">else</span>
o.addEventListener(n, h, false);
};
<span class="comment">/**
* Adds accessibility keydown handler to the specified select element.
*
* <span class="attrib">@param</span> {DOMEvent} e Event that gets passed when the element is focused.
* <span class="attrib">@param</span> {HTMLElement} s Select element that the keydown handler gets added to.
* <span class="attrib">@param</span> {DOMWindow} w DOM window reference to add.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.addSelectAccessibility = <span class="reserved">function</span>(e, s, w) {
<span class="comment">// Add event handlers </span>
<span class="reserved">if</span> (!s._isAccessible) {
s.onkeydown = tinyMCE.accessibleEventHandler;
s.onblur = tinyMCE.accessibleEventHandler;
s._isAccessible = true;
s._win = w;
}
<span class="reserved">return</span> false;
};
<span class="comment">/**
* Accessibility handler that gets executed when the user hits a key in a select element.
* This handler trams the enter/return or space key and then executes the onchange event handler.
*
* <span class="attrib">@param</span> {DOMEvent} e DOM event object instance.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.accessibleEventHandler = <span class="reserved">function</span>(e) {
var win = <span class="reserved">this</span>._win;
e = tinyMCE.isMSIE ? win.event : e;
var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
<span class="comment">// Unpiggyback onchange on blur</span>
<span class="reserved">if</span> (e.type == <span class="literal">"blur"</span>) {
<span class="reserved">if</span> (elm.oldonchange) {
elm.onchange = elm.oldonchange;
elm.oldonchange = null;
}
<span class="reserved">return</span> true;
}
<span class="comment">// Piggyback onchange</span>
<span class="reserved">if</span> (elm.nodeName == <span class="literal">"SELECT"</span> &amp;&amp; !elm.oldonchange) {
elm.oldonchange = elm.onchange;
elm.onchange = null;
}
<span class="comment">// Execute onchange and remove piggyback</span>
<span class="reserved">if</span> (e.keyCode == 13 || e.keyCode == 32) {
elm.onchange = elm.oldonchange;
elm.onchange();
elm.oldonchange = null;
tinyMCE.cancelEvent(e);
<span class="reserved">return</span> false;
}
<span class="reserved">return</span> true;
};
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,460 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_ForceParagraphs.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_ForceParagraphs.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_ForceParagraphs.class.js'<BR/><BR/>
</p>
<hr>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_ForceParagraphs.class.js.html,v $
* $Revision: 1.42 $
* $Date: 2006/04/14 20:00:30 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/</span>
<span class="comment">/**
* Forces P tags on return/enter in Gecko browsers.
*/</span>
var TinyMCE_ForceParagraphs = {
<span class="comment">/**
* Inserts a paragraph at the current cursor location.
*
* <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance.
* <span class="attrib">@param</span> {DOMEvent} e DOM event object.
* <span class="attrib">@return</span> true on success or false if it fails.
* <span class="attrib">@type</span> boolean
* <span class="attrib">@private</span>
*/</span>
_insertPara : <span class="reserved">function</span>(inst, e) {
<span class="reserved">function</span> isEmpty(para) {
<span class="reserved">function</span> isEmptyHTML(html) {
<span class="reserved">return</span> html.replace(new RegExp(<span class="literal">'[ \t\r\n]+'</span>, <span class="literal">'g'</span>), <span class="literal">''</span>).toLowerCase() == <span class="literal">""</span>;
}
<span class="comment">// Check for images</span>
<span class="reserved">if</span> (para.getElementsByTagName(<span class="literal">"img"</span>).length &gt; 0)
<span class="reserved">return</span> false;
<span class="comment">// Check for tables</span>
<span class="reserved">if</span> (para.getElementsByTagName(<span class="literal">"table"</span>).length &gt; 0)
<span class="reserved">return</span> false;
<span class="comment">// Check for HRs</span>
<span class="reserved">if</span> (para.getElementsByTagName(<span class="literal">"hr"</span>).length &gt; 0)
<span class="reserved">return</span> false;
<span class="comment">// Check all textnodes</span>
var nodes = tinyMCE.getNodeTree(para, new Array(), 3);
<span class="reserved">for</span> (var i=0; i&lt;nodes.length; i++) {
<span class="reserved">if</span> (!isEmptyHTML(nodes[i].nodeValue))
<span class="reserved">return</span> false;
}
<span class="comment">// No images, no tables, no hrs, no text content then it's empty</span>
<span class="reserved">return</span> true;
}
var doc = inst.getDoc();
var sel = inst.getSel();
var win = inst.contentWindow;
var rng = sel.getRangeAt(0);
var body = doc.body;
var rootElm = doc.documentElement;
var blockName = <span class="literal">"P"</span>;
<span class="comment">// tinyMCE.debug(body.innerHTML);</span>
<span class="comment">// debug(e.target, sel.anchorNode.nodeName, sel.focusNode.nodeName, rng.startContainer, rng.endContainer, rng.commonAncestorContainer, sel.anchorOffset, sel.focusOffset, rng.toString());</span>
<span class="comment">// Setup before range</span>
var rngBefore = doc.createRange();
rngBefore.setStart(sel.anchorNode, sel.anchorOffset);
rngBefore.collapse(true);
<span class="comment">// Setup after range</span>
var rngAfter = doc.createRange();
rngAfter.setStart(sel.focusNode, sel.focusOffset);
rngAfter.collapse(true);
<span class="comment">// Setup start/end points</span>
var direct = rngBefore.compareBoundaryPoints(rngBefore.START_TO_END, rngAfter) &lt; 0;
var startNode = direct ? sel.anchorNode : sel.focusNode;
var startOffset = direct ? sel.anchorOffset : sel.focusOffset;
var endNode = direct ? sel.focusNode : sel.anchorNode;
var endOffset = direct ? sel.focusOffset : sel.anchorOffset;
startNode = startNode.nodeName == <span class="literal">"BODY"</span> ? startNode.firstChild : startNode;
endNode = endNode.nodeName == <span class="literal">"BODY"</span> ? endNode.firstChild : endNode;
<span class="comment">// tinyMCE.debug(startNode, endNode);</span>
<span class="comment">// Get block elements</span>
var startBlock = tinyMCE.getParentBlockElement(startNode);
var endBlock = tinyMCE.getParentBlockElement(endNode);
<span class="comment">// If absolute force paragraph generation within</span>
<span class="reserved">if</span> (startBlock &amp;&amp; new RegExp(<span class="literal">'absolute|relative|static'</span>, <span class="literal">'gi'</span>).test(startBlock.style.position))
startBlock = null;
<span class="reserved">if</span> (endBlock &amp;&amp; new RegExp(<span class="literal">'absolute|relative|static'</span>, <span class="literal">'gi'</span>).test(endBlock.style.position))
endBlock = null;
<span class="comment">// Use current block name</span>
<span class="reserved">if</span> (startBlock != null) {
blockName = startBlock.nodeName;
<span class="comment">// Use P instead</span>
<span class="reserved">if</span> (blockName == <span class="literal">"TD"</span> || blockName == <span class="literal">"TABLE"</span> || (blockName == <span class="literal">"DIV"</span> &amp;&amp; new RegExp(<span class="literal">'left|right'</span>, <span class="literal">'gi'</span>).test(startBlock.style.cssFloat)))
blockName = <span class="literal">"P"</span>;
}
<span class="comment">// Within a list use normal behaviour</span>
<span class="reserved">if</span> (tinyMCE.getParentElement(startBlock, <span class="literal">"OL,UL"</span>) != null)
<span class="reserved">return</span> false;
<span class="comment">// Within a table create new paragraphs</span>
<span class="reserved">if</span> ((startBlock != null &amp;&amp; startBlock.nodeName == <span class="literal">"TABLE"</span>) || (endBlock != null &amp;&amp; endBlock.nodeName == <span class="literal">"TABLE"</span>))
startBlock = endBlock = null;
<span class="comment">// Setup new paragraphs</span>
var paraBefore = (startBlock != null &amp;&amp; startBlock.nodeName == blockName) ? startBlock.cloneNode(false) : doc.createElement(blockName);
var paraAfter = (endBlock != null &amp;&amp; endBlock.nodeName == blockName) ? endBlock.cloneNode(false) : doc.createElement(blockName);
<span class="comment">// Is header, then force paragraph under</span>
<span class="reserved">if</span> (/^(H[1-6])$/.test(blockName))
paraAfter = doc.createElement(<span class="literal">"p"</span>);
<span class="comment">// Setup chop nodes</span>
var startChop = startNode;
var endChop = endNode;
<span class="comment">// Get startChop node</span>
node = startChop;
do {
<span class="reserved">if</span> (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
break;
startChop = node;
} <span class="reserved">while</span> ((node = node.previousSibling ? node.previousSibling : node.parentNode));
<span class="comment">// Get endChop node</span>
node = endChop;
do {
<span class="reserved">if</span> (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
break;
endChop = node;
} <span class="reserved">while</span> ((node = node.nextSibling ? node.nextSibling : node.parentNode));
<span class="comment">// Fix when only a image is within the TD</span>
<span class="reserved">if</span> (startChop.nodeName == <span class="literal">"TD"</span>)
startChop = startChop.firstChild;
<span class="reserved">if</span> (endChop.nodeName == <span class="literal">"TD"</span>)
endChop = endChop.lastChild;
<span class="comment">// If not in a block element</span>
<span class="reserved">if</span> (startBlock == null) {
<span class="comment">// Delete selection</span>
rng.deleteContents();
sel.removeAllRanges();
<span class="reserved">if</span> (startChop != rootElm &amp;&amp; endChop != rootElm) {
<span class="comment">// Insert paragraph before</span>
rngBefore = rng.cloneRange();
<span class="reserved">if</span> (startChop == body)
rngBefore.setStart(startChop, 0);
<span class="reserved">else</span>
rngBefore.setStartBefore(startChop);
paraBefore.appendChild(rngBefore.cloneContents());
<span class="comment">// Insert paragraph after</span>
<span class="reserved">if</span> (endChop.parentNode.nodeName == blockName)
endChop = endChop.parentNode;
<span class="comment">// If not after image</span>
<span class="comment">//if (rng.startContainer.nodeName != "BODY" &amp;&amp; rng.endContainer.nodeName != "BODY")</span>
rng.setEndAfter(endChop);
<span class="reserved">if</span> (endChop.nodeName != <span class="literal">"#text"</span> &amp;&amp; endChop.nodeName != <span class="literal">"BODY"</span>)
rngBefore.setEndAfter(endChop);
var contents = rng.cloneContents();
<span class="reserved">if</span> (contents.firstChild &amp;&amp; (contents.firstChild.nodeName == blockName || contents.firstChild.nodeName == <span class="literal">"BODY"</span>))
paraAfter.innerHTML = contents.firstChild.innerHTML;
<span class="reserved">else</span>
paraAfter.appendChild(contents);
<span class="comment">// Check if it's a empty paragraph</span>
<span class="reserved">if</span> (isEmpty(paraBefore))
paraBefore.innerHTML = <span class="literal">"&amp;nbsp;"</span>;
<span class="comment">// Check if it's a empty paragraph</span>
<span class="reserved">if</span> (isEmpty(paraAfter))
paraAfter.innerHTML = <span class="literal">"&amp;nbsp;"</span>;
<span class="comment">// Delete old contents</span>
rng.deleteContents();
rngAfter.deleteContents();
rngBefore.deleteContents();
<span class="comment">// Insert new paragraphs</span>
paraAfter.normalize();
rngBefore.insertNode(paraAfter);
paraBefore.normalize();
rngBefore.insertNode(paraBefore);
<span class="comment">// tinyMCE.debug("1: ", paraBefore.innerHTML, paraAfter.innerHTML);</span>
} <span class="reserved">else</span> {
body.innerHTML = <span class="literal">"&lt;"</span> + blockName + <span class="literal">"&gt;&amp;nbsp;&lt;/"</span> + blockName + <span class="literal">"&gt;&lt;"</span> + blockName + <span class="literal">"&gt;&amp;nbsp;&lt;/"</span> + blockName + <span class="literal">"&gt;"</span>;
paraAfter = body.childNodes[1];
}
inst.selection.selectNode(paraAfter, true, true);
<span class="reserved">return</span> true;
}
<span class="comment">// Place first part within new paragraph</span>
<span class="reserved">if</span> (startChop.nodeName == blockName)
rngBefore.setStart(startChop, 0);
<span class="reserved">else</span>
rngBefore.setStartBefore(startChop);
rngBefore.setEnd(startNode, startOffset);
paraBefore.appendChild(rngBefore.cloneContents());
<span class="comment">// Place secound part within new paragraph</span>
rngAfter.setEndAfter(endChop);
rngAfter.setStart(endNode, endOffset);
var contents = rngAfter.cloneContents();
<span class="reserved">if</span> (contents.firstChild &amp;&amp; contents.firstChild.nodeName == blockName) {
<span class="comment">/* var nodes = contents.firstChild.childNodes;
for (var i=0; i&lt;nodes.length; i++) {
//tinyMCE.debug(nodes[i].nodeName);
if (nodes[i].nodeName != "BODY")
paraAfter.appendChild(nodes[i]);
}
*/</span>
paraAfter.innerHTML = contents.firstChild.innerHTML;
} <span class="reserved">else</span>
paraAfter.appendChild(contents);
<span class="comment">// Check if it's a empty paragraph</span>
<span class="reserved">if</span> (isEmpty(paraBefore))
paraBefore.innerHTML = <span class="literal">"&amp;nbsp;"</span>;
<span class="comment">// Check if it's a empty paragraph</span>
<span class="reserved">if</span> (isEmpty(paraAfter))
paraAfter.innerHTML = <span class="literal">"&amp;nbsp;"</span>;
<span class="comment">// Create a range around everything</span>
var rng = doc.createRange();
<span class="reserved">if</span> (!startChop.previousSibling &amp;&amp; startChop.parentNode.nodeName.toUpperCase() == blockName) {
rng.setStartBefore(startChop.parentNode);
} <span class="reserved">else</span> {
<span class="reserved">if</span> (rngBefore.startContainer.nodeName.toUpperCase() == blockName &amp;&amp; rngBefore.startOffset == 0)
rng.setStartBefore(rngBefore.startContainer);
<span class="reserved">else</span>
rng.setStart(rngBefore.startContainer, rngBefore.startOffset);
}
<span class="reserved">if</span> (!endChop.nextSibling &amp;&amp; endChop.parentNode.nodeName.toUpperCase() == blockName)
rng.setEndAfter(endChop.parentNode);
<span class="reserved">else</span>
rng.setEnd(rngAfter.endContainer, rngAfter.endOffset);
<span class="comment">// Delete all contents and insert new paragraphs</span>
rng.deleteContents();
rng.insertNode(paraAfter);
rng.insertNode(paraBefore);
<span class="comment">//tinyMCE.debug("2", paraBefore.innerHTML, paraAfter.innerHTML);</span>
<span class="comment">// Normalize</span>
paraAfter.normalize();
paraBefore.normalize();
inst.selection.selectNode(paraAfter, true, true);
<span class="reserved">return</span> true;
},
<span class="comment">/**
* Handles the backspace action in Gecko. This will remove the weird BR element
* that gets generated when a user hits backspace in the beginning of a paragraph.
*
* <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance.
* <span class="attrib">@return</span> true/false if the event should be canceled or not.
* <span class="attrib">@type</span>
*/</span>
_handleBackSpace : <span class="reserved">function</span>(inst) {
var r = inst.getRng(), sn = r.startContainer, nv, s = false;
<span class="reserved">if</span> (sn &amp;&amp; sn.nextSibling &amp;&amp; sn.nextSibling.nodeName == <span class="literal">"BR"</span>) {
nv = sn.nodeValue;
<span class="comment">// Handle if a backspace is pressed after a space character #bug 1466054</span>
<span class="reserved">if</span> (nv != null &amp;&amp; nv.length &gt;= r.startOffset &amp;&amp; nv.charAt(r.startOffset - 1) == <span class="literal">' '</span>)
s = true;
<span class="comment">// Only remove BRs if we are at the end of line #bug 1464152</span>
<span class="reserved">if</span> (nv != null &amp;&amp; r.startOffset == nv.length)
sn.nextSibling.parentNode.removeChild(sn.nextSibling);
}
<span class="reserved">return</span> s;
}
};
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,455 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_Layer.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_Layer.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_Layer.class.js'<BR/><BR/>
</p>
<hr>
<table border="1" cellpadding="3" cellspacing="0" width="100%">
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=2><font size="+2">
<b>Class Summary</b>
</font></td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="TinyMCE_Layer.html">TinyMCE_Layer</a></b></td>
<td>&nbsp;</td>
</tr>
</table>
<hr/>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_Layer.class.js.html,v $
* $Revision: 1.19 $
* $Date: 2006/04/14 20:00:30 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/</span>
<span class="comment">/**
* Constructor for the TinyMCE Layer. This class enables you to construct
* floating layers that is visible on top of select input fields, flashes and iframes.
*
* <span class="attrib">@param</span> {string} id Unique ID name for the layer.
* <span class="attrib">@param</span> {boolean} bm Block mode, defaults to true.
*/</span>
<span class="reserved">function</span> TinyMCE_Layer(id, bm) {
<span class="reserved">this</span>.id = id;
<span class="reserved">this</span>.blockerElement = null;
<span class="reserved">this</span>.events = false;
<span class="reserved">this</span>.element = null;
<span class="reserved">this</span>.blockMode = typeof(bm) != <span class="literal">'undefined'</span> ? bm : true;
<span class="reserved">this</span>.doc = document;
};
TinyMCE_Layer.<span class="reserved">prototype</span> = {
<span class="comment">/**
* Moves the layer relative to the specified HTML element.
*
* <span class="attrib">@param</span> {HTMLElement} re Element to move the layer relative to.
* <span class="attrib">@param</span> {string} p Position of the layer tl = top left, tr = top right, bl = bottom left, br = bottom right.
*/</span>
moveRelativeTo : <span class="reserved">function</span>(re, p) {
var rep = <span class="reserved">this</span>.getAbsPosition(re);
var w = parseInt(re.offsetWidth);
var h = parseInt(re.offsetHeight);
var e = <span class="reserved">this</span>.getElement();
var ew = parseInt(e.offsetWidth);
var eh = parseInt(e.offsetHeight);
var x, y;
switch (p) {
case <span class="literal">"tl"</span>:
x = rep.absLeft;
y = rep.absTop;
break;
case <span class="literal">"tr"</span>:
x = rep.absLeft + w;
y = rep.absTop;
break;
case <span class="literal">"bl"</span>:
x = rep.absLeft;
y = rep.absTop + h;
break;
case <span class="literal">"br"</span>:
x = rep.absLeft + w;
y = rep.absTop + h;
break;
case <span class="literal">"cc"</span>:
x = rep.absLeft + (w / 2) - (ew / 2);
y = rep.absTop + (h / 2) - (eh / 2);
break;
}
<span class="reserved">this</span>.moveTo(x, y);
},
<span class="comment">/**
* Moves the layer relative in pixels.
*
* <span class="attrib">@param</span> {int} x Horizontal relative position in pixels.
* <span class="attrib">@param</span> {int} y Vertical relative position in pixels.
*/</span>
moveBy : <span class="reserved">function</span>(x, y) {
var e = <span class="reserved">this</span>.getElement();
<span class="reserved">this</span>.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y);
},
<span class="comment">/**
* Moves the layer absolute in pixels.
*
* <span class="attrib">@param</span> {int} x Horizontal absolute position in pixels.
* <span class="attrib">@param</span> {int} y Vertical absolute position in pixels.
*/</span>
moveTo : <span class="reserved">function</span>(x, y) {
var e = <span class="reserved">this</span>.getElement();
e.style.left = x + <span class="literal">"px"</span>;
e.style.top = y + <span class="literal">"px"</span>;
<span class="reserved">this</span>.updateBlocker();
},
<span class="comment">/**
* Resizes the layer by the specified relative width and height.
*
* <span class="attrib">@param</span> {int} w Relative width value.
* <span class="attrib">@param</span> {int} h Relative height value.
*/</span>
resizeBy : <span class="reserved">function</span>(w, h) {
var e = <span class="reserved">this</span>.getElement();
<span class="reserved">this</span>.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h);
},
<span class="comment">/**
* Resizes the layer to the specified width and height.
*
* <span class="attrib">@param</span> {int} w Width value.
* <span class="attrib">@param</span> {int} h Height value.
*/</span>
resizeTo : <span class="reserved">function</span>(w, h) {
var e = <span class="reserved">this</span>.getElement();
<span class="reserved">if</span> (w != null)
e.style.width = w + <span class="literal">"px"</span>;
<span class="reserved">if</span> (h != null)
e.style.height = h + <span class="literal">"px"</span>;
<span class="reserved">this</span>.updateBlocker();
},
<span class="comment">/**
* Shows the layer.
*/</span>
show : <span class="reserved">function</span>() {
<span class="reserved">this</span>.getElement().style.display = <span class="literal">'block'</span>;
<span class="reserved">this</span>.updateBlocker();
},
<span class="comment">/**
* Hides the layer.
*/</span>
hide : <span class="reserved">function</span>() {
<span class="reserved">this</span>.getElement().style.display = <span class="literal">'none'</span>;
<span class="reserved">this</span>.updateBlocker();
},
<span class="comment">/**
* Returns true/false if the layer is visible or not.
*
* <span class="attrib">@return</span> true/false if it's visible or not.
* <span class="attrib">@type</span> boolean
*/</span>
isVisible : <span class="reserved">function</span>() {
<span class="reserved">return</span> <span class="reserved">this</span>.getElement().style.display == <span class="literal">'block'</span>;
},
<span class="comment">/**
* Returns the DOM element that the layer is binded to.
*
* <span class="attrib">@return</span> DOM HTML element.
* <span class="attrib">@type</span> HTMLElement
*/</span>
getElement : <span class="reserved">function</span>() {
<span class="reserved">if</span> (!<span class="reserved">this</span>.element)
<span class="reserved">this</span>.element = <span class="reserved">this</span>.doc.getElementById(<span class="reserved">this</span>.id);
<span class="reserved">return</span> <span class="reserved">this</span>.element;
},
<span class="comment">/**
* Sets the block mode. If you set this property to true a control box blocker iframe
* will be added to the document since MSIE has a issue where select boxes are visible
* through layers.
*
* <span class="attrib">@param</span> {boolean} s Block mode state, true is the default value.
*/</span>
setBlockMode : <span class="reserved">function</span>(s) {
<span class="reserved">this</span>.blockMode = s;
},
<span class="comment">/**
* Updates the select/iframe/flash blocker this will also block the caret in Firefox.
*/</span>
updateBlocker : <span class="reserved">function</span>() {
var e, b, x, y, w, h;
b = <span class="reserved">this</span>.getBlocker();
<span class="reserved">if</span> (b) {
<span class="reserved">if</span> (<span class="reserved">this</span>.blockMode) {
e = <span class="reserved">this</span>.getElement();
x = <span class="reserved">this</span>.parseInt(e.style.left);
y = <span class="reserved">this</span>.parseInt(e.style.top);
w = <span class="reserved">this</span>.parseInt(e.offsetWidth);
h = <span class="reserved">this</span>.parseInt(e.offsetHeight);
b.style.left = x + <span class="literal">'px'</span>;
b.style.top = y + <span class="literal">'px'</span>;
b.style.width = w + <span class="literal">'px'</span>;
b.style.height = h + <span class="literal">'px'</span>;
b.style.display = e.style.display;
} <span class="reserved">else</span>
b.style.display = <span class="literal">'none'</span>;
}
},
<span class="comment">/**
* Returns the blocker DOM element, this is a invisible iframe.
*
* <span class="attrib">@return</span> DOM HTML element.
* <span class="attrib">@type</span> HTMLElement
*/</span>
getBlocker : <span class="reserved">function</span>() {
var d, b;
<span class="reserved">if</span> (!<span class="reserved">this</span>.blockerElement &amp;&amp; <span class="reserved">this</span>.blockMode) {
d = <span class="reserved">this</span>.doc;
b = d.createElement(<span class="literal">"iframe"</span>);
b.style.cssText = <span class="literal">'display: none; position: absolute; left: 0; top: 0'</span>;
b.src = <span class="literal">'javascript:false;'</span>;
b.frameBorder = <span class="literal">'0'</span>;
b.scrolling = <span class="literal">'no'</span>;
d.body.appendChild(b);
<span class="reserved">this</span>.blockerElement = b;
}
<span class="reserved">return</span> <span class="reserved">this</span>.blockerElement;
},
<span class="comment">/**
* Returns the absolute x, y cordinate of the specified node.
*
* <span class="attrib">@param</span> {DOMElement} n DOM node to retrive x, y of.
* <span class="attrib">@return</span> Object containing absLeft and absTop properties.
* <span class="attrib">@type</span> Object
*/</span>
getAbsPosition : <span class="reserved">function</span>(n) {
var p = {absLeft : 0, absTop : 0};
<span class="reserved">while</span> (n) {
p.absLeft += n.offsetLeft;
p.absTop += n.offsetTop;
n = n.offsetParent;
}
<span class="reserved">return</span> p;
},
<span class="comment">/**
* Creates a element for the layer based on the id and specified name.
*
* <span class="attrib">@param</span> {string} n Element tag name, like div.
* <span class="attrib">@param</span> {string} c Optional class name to set as class attribute value.
* <span class="attrib">@param</span> {HTMLElement} p Optional parent element reference, defaults to body.
* <span class="attrib">@return</span> HTML DOM element that got created.
* <span class="attrib">@type</span> HTMLElement
*/</span>
create : <span class="reserved">function</span>(n, c, p) {
var d = <span class="reserved">this</span>.doc, e = d.createElement(n);
e.setAttribute(<span class="literal">'id'</span>, <span class="reserved">this</span>.id);
<span class="reserved">if</span> (c)
e.className = c;
<span class="reserved">if</span> (!p)
p = d.body;
p.appendChild(e);
<span class="reserved">return</span> <span class="reserved">this</span>.element = e;
},
<span class="comment">/**
* Parses a int value this method will return 0 if the string is empty.
*
* <span class="attrib">@param</span> {string} s String to parse value of.
* <span class="attrib">@return</span> Parsed number.
* <span class="attrib">@type</span> int
*/</span>
parseInt : <span class="reserved">function</span>(s) {
<span class="reserved">if</span> (s == null || s == <span class="literal">''</span>)
<span class="reserved">return</span> 0;
<span class="reserved">return</span> parseInt(s);
}
};
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,361 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_Menu.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_Menu.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_Menu.class.js'<BR/><BR/>
</p>
<hr>
<!-- ========== METHOD SUMMARY =========== -->
<a name="method_summary"><!-- --></a>
<table border="1" cellpadding="3" cellspacing="0" width="100%">
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=2>
<font size="+2">
<b>Method Summary</b>
</font>
</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td align="right" valign="top" width="1%">
<font size="-1">
<code>static&nbsp;void</code>
</font>
</td>
<td>
<code>
<b>
<a href="GLOBALS.html#TinyMCE_Menu">TinyMCE_Menu</a></b>()
</code>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Constructor for the menu layer class.
</td>
</tr>
</table>
<p>
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_Menu.class.js.html,v $
* $Revision: 1.15 $
* $Date: 2006/04/14 20:00:30 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/</span>
<span class="comment">/**
* Constructor for the menu layer class.
*/</span>
<span class="reserved">function</span> TinyMCE_Menu() {
var id;
<span class="reserved">if</span> (typeof(tinyMCE.menuCounter) == <span class="literal">"undefined"</span>)
tinyMCE.menuCounter = 0;
id = <span class="literal">"mc_menu_"</span> + tinyMCE.menuCounter++;
TinyMCE_Layer.call(<span class="reserved">this</span>, id, true);
<span class="reserved">this</span>.id = id;
<span class="reserved">this</span>.items = new Array();
<span class="reserved">this</span>.needsUpdate = true;
};
<span class="comment">// Extends the TinyMCE_Layer class</span>
TinyMCE_Menu.<span class="reserved">prototype</span> = tinyMCE.extend(TinyMCE_Layer.<span class="reserved">prototype</span>, {
<span class="comment">/**
* Initializes the Menu with settings. This will also create the menu
* as a DIV element if it doesn't exists in the DOM.
*
* <span class="attrib">@param</span> {Array} s Name/Value array with settings.
*/</span>
init : <span class="reserved">function</span>(s) {
var n;
<span class="comment">// Default params</span>
<span class="reserved">this</span>.settings = {
separator_class : <span class="literal">'mceMenuSeparator'</span>,
title_class : <span class="literal">'mceMenuTitle'</span>,
disabled_class : <span class="literal">'mceMenuDisabled'</span>,
menu_class : <span class="literal">'mceMenu'</span>,
drop_menu : true
};
<span class="reserved">for</span> (n in s)
<span class="reserved">this</span>.settings[n] = s[n];
<span class="reserved">this</span>.create(<span class="literal">'div'</span>, <span class="reserved">this</span>.settings.menu_class);
},
<span class="comment">/**
* Clears the menu.
*/</span>
clear : <span class="reserved">function</span>() {
<span class="reserved">this</span>.items = new Array();
},
<span class="comment">/**
* Adds a menu title, this is a static item that can't be clicked.
*
* <span class="attrib">@param</span> {string} t Text to add to title.
*/</span>
addTitle : <span class="reserved">function</span>(t) {
<span class="reserved">this</span>.add({type : <span class="literal">'title'</span>, text : t});
},
<span class="comment">/**
* Adds a disabled menu item, this is a static item that can't be clicked.
*
* <span class="attrib">@param</span> {string} t Text to add to title.
*/</span>
addDisabled : <span class="reserved">function</span>(t) {
<span class="reserved">this</span>.add({type : <span class="literal">'disabled'</span>, text : t});
},
<span class="comment">/**
* Adds a menu separator line.
*/</span>
addSeparator : <span class="reserved">function</span>() {
<span class="reserved">this</span>.add({type : <span class="literal">'separator'</span>});
},
<span class="comment">/**
* Adds a menu item.
*
* <span class="attrib">@param</span> {string} t Menu item text.
* <span class="attrib">@param</span> {string} js JS string to evaluate on click.
*/</span>
addItem : <span class="reserved">function</span>(t, js) {
<span class="reserved">this</span>.add({text : t, js : js});
},
<span class="comment">/**
* Adds a menu item object.
*
* <span class="attrib">@param</span> {Object} mi Menu item object to add.
*/</span>
add : <span class="reserved">function</span>(mi) {
<span class="reserved">this</span>.items[<span class="reserved">this</span>.items.length] = mi;
<span class="reserved">this</span>.needsUpdate = true;
},
<span class="comment">/**
* Update the menu with new HTML contents.
*/</span>
update : <span class="reserved">function</span>() {
var e = <span class="reserved">this</span>.getElement(), h = <span class="literal">''</span>, i, t, m = <span class="reserved">this</span>.items, s = <span class="reserved">this</span>.settings;
<span class="reserved">if</span> (<span class="reserved">this</span>.settings.drop_menu)
h += <span class="literal">'&lt;span class="mceMenuLine"&gt;&lt;/span&gt;'</span>;
h += <span class="literal">'&lt;table border="0" cellpadding="0" cellspacing="0"&gt;'</span>;
<span class="reserved">for</span> (i=0; i&lt;m.length; i++) {
t = tinyMCE.xmlEncode(m[i].text);
c = m[i].class_name ? <span class="literal">' class="'</span> + m[i].class_name + <span class="literal">'"'</span> : <span class="literal">''</span>;
switch (m[i].type) {
case <span class="literal">'separator'</span>:
h += <span class="literal">'&lt;tr class="'</span> + s.separator_class + <span class="literal">'"&gt;&lt;td&gt;'</span>;
break;
case <span class="literal">'title'</span>:
h += <span class="literal">'&lt;tr class="'</span> + s.title_class + <span class="literal">'"&gt;&lt;td&gt;&lt;span'</span> + c +<span class="literal">'&gt;'</span> + t + <span class="literal">'&lt;/span&gt;'</span>;
break;
case <span class="literal">'disabled'</span>:
h += <span class="literal">'&lt;tr class="'</span> + s.disabled_class + <span class="literal">'"&gt;&lt;td&gt;&lt;span'</span> + c +<span class="literal">'&gt;'</span> + t + <span class="literal">'&lt;/span&gt;'</span>;
break;
default:
h += <span class="literal">'&lt;tr&gt;&lt;td&gt;&lt;a href="javascript:void(0);" onmousedown="'</span> + tinyMCE.xmlEncode(m[i].js) + <span class="literal">';return false;"&gt;&lt;span'</span> + c +<span class="literal">'&gt;'</span> + t + <span class="literal">'&lt;/span&gt;&lt;/a&gt;'</span>;
}
h += <span class="literal">'&lt;/td&gt;&lt;/tr&gt;'</span>;
}
h += <span class="literal">'&lt;/table&gt;'</span>;
e.innerHTML = h;
<span class="reserved">this</span>.needsUpdate = false;
<span class="reserved">this</span>.updateBlocker();
},
<span class="comment">/**
* Displays the menu. This function will automaticly hide any previously visible menus.
*/</span>
show : <span class="reserved">function</span>() {
var nl, i;
<span class="reserved">if</span> (tinyMCE.lastMenu == <span class="reserved">this</span>)
<span class="reserved">return</span>;
<span class="reserved">if</span> (<span class="reserved">this</span>.needsUpdate)
<span class="reserved">this</span>.update();
<span class="reserved">if</span> (tinyMCE.lastMenu &amp;&amp; tinyMCE.lastMenu != <span class="reserved">this</span>)
tinyMCE.lastMenu.hide();
TinyMCE_Layer.<span class="reserved">prototype</span>.show.call(<span class="reserved">this</span>);
<span class="reserved">if</span> (!tinyMCE.isOpera) {
<span class="comment">// Accessibility stuff</span>
<span class="comment">/* nl = this.getElement().getElementsByTagName("a");
if (nl.length &gt; 0)
nl[0].focus();*/</span>
}
tinyMCE.lastMenu = <span class="reserved">this</span>;
}
});
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,511 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_Popup.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_Popup.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_Popup.class.js'<BR/><BR/>
</p>
<hr>
<table border="1" cellpadding="3" cellspacing="0" width="100%">
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=2><font size="+2">
<b>Class Summary</b>
</font></td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="TinyMCE_Popup.html">TinyMCE_Popup</a></b></td>
<td>&nbsp;</td>
</tr>
</table>
<hr/>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_Popup.class.js.html,v $
* $Revision: 1.24 $
* $Date: 2006/04/14 20:00:30 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/</span>
<span class="comment">// Some global instances, this will be filled later</span>
var tinyMCE = null, tinyMCELang = null;
<span class="comment">/**
* Constructor for the popup class. This class contains base logic for popup/dialogs and sets up
* object references to the TinyMCE core.
*/</span>
<span class="reserved">function</span> TinyMCE_Popup() {
};
<span class="comment">/**
* Initializes the TinyMCE Popup class. This will setup the TinyMCE core references and other popup/dialog related functions.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.init = <span class="reserved">function</span>() {
var win = window.opener ? window.opener : window.dialogArguments;
var inst;
<span class="reserved">if</span> (!win) {
<span class="comment">// Try parent</span>
win = parent.parent;
<span class="comment">// Try top</span>
<span class="reserved">if</span> (typeof(win.tinyMCE) == <span class="literal">"undefined"</span>)
win = top;
}
window.opener = win;
<span class="reserved">this</span>.windowOpener = win;
<span class="reserved">this</span>.onLoadEval = <span class="literal">""</span>;
<span class="comment">// Setup parent references</span>
tinyMCE = win.tinyMCE;
tinyMCELang = win.tinyMCELang;
<span class="reserved">if</span> (!tinyMCE) {
alert(<span class="literal">"tinyMCE object reference not found from popup."</span>);
<span class="reserved">return</span>;
}
inst = tinyMCE.selectedInstance;
<span class="reserved">this</span>.isWindow = tinyMCE.getWindowArg(<span class="literal">'mce_inside_iframe'</span>, false) == false;
<span class="reserved">this</span>.storeSelection = (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera) &amp;&amp; !<span class="reserved">this</span>.isWindow &amp;&amp; tinyMCE.getWindowArg(<span class="literal">'mce_store_selection'</span>, true);
<span class="reserved">if</span> (<span class="reserved">this</span>.isWindow)
window.focus();
<span class="comment">// Store selection</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.storeSelection)
inst.selectionBookmark = inst.selection.getBookmark(true);
<span class="comment">// Setup dir</span>
<span class="reserved">if</span> (tinyMCELang[<span class="literal">'lang_dir'</span>])
document.dir = tinyMCELang[<span class="literal">'lang_dir'</span>];
<span class="comment">// Setup title</span>
var re = new RegExp(<span class="literal">'{|\\\$|}'</span>, <span class="literal">'g'</span>);
var title = document.title.replace(re, <span class="literal">""</span>);
<span class="reserved">if</span> (typeof tinyMCELang[title] != <span class="literal">"undefined"</span>) {
var divElm = document.createElement(<span class="literal">"div"</span>);
divElm.innerHTML = tinyMCELang[title];
document.title = divElm.innerHTML;
<span class="reserved">if</span> (tinyMCE.setWindowTitle != null)
tinyMCE.setWindowTitle(window, divElm.innerHTML);
}
<span class="comment">// Output Popup CSS class</span>
document.write(<span class="literal">'&lt;link href="'</span> + tinyMCE.getParam(<span class="literal">"popups_css"</span>) + <span class="literal">'" rel="stylesheet" type="text/css"&gt;'</span>);
tinyMCE.addEvent(window, <span class="literal">"load"</span>, <span class="reserved">this</span>.onLoad);
};
<span class="comment">/**
* Gets executed when the window has finished loading it's contents. This function will then
* replace language variables with their real values.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.onLoad = <span class="reserved">function</span>() {
var dir, i, elms, body = document.body;
<span class="reserved">if</span> (tinyMCE.getWindowArg(<span class="literal">'mce_replacevariables'</span>, true))
body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
dir = tinyMCE.selectedInstance.settings[<span class="literal">'directionality'</span>];
<span class="reserved">if</span> (dir == <span class="literal">"rtl"</span> &amp;&amp; document.forms &amp;&amp; document.forms.length &gt; 0) {
elms = document.forms[0].elements;
<span class="reserved">for</span> (i=0; i&lt;elms.length; i++) {
<span class="reserved">if</span> ((elms[i].type == <span class="literal">"text"</span> || elms[i].type == <span class="literal">"textarea"</span>) &amp;&amp; elms[i].getAttribute(<span class="literal">"dir"</span>) != <span class="literal">"ltr"</span>)
elms[i].dir = dir;
}
}
<span class="reserved">if</span> (body.style.display == <span class="literal">'none'</span>)
body.style.display = <span class="literal">'block'</span>;
<span class="comment">// Execute real onload (Opera fix)</span>
<span class="reserved">if</span> (tinyMCEPopup.onLoadEval != <span class="literal">""</span>)
eval(tinyMCEPopup.onLoadEval);
};
<span class="comment">/**
* Executes the specified string onload. This is a workaround for Opera since it
* doesn't execute the events in the same order than MSIE and Firefox.
*
* <span class="attrib">@param</span> {string} str String to evaluate on load.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.executeOnLoad = <span class="reserved">function</span>(str) {
<span class="reserved">if</span> (tinyMCE.isOpera)
<span class="reserved">this</span>.onLoadEval = str;
<span class="reserved">else</span>
eval(str);
};
<span class="comment">/**
* Resizes the current window to it's inner body size. This function
* was needed since MSIE makes the visible dialog area diffrent depending
* on what Theme/Skin you use.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.resizeToInnerSize = <span class="reserved">function</span>() {
<span class="comment">// Netscape 7.1 workaround</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.isWindow &amp;&amp; tinyMCE.isNS71) {
window.resizeBy(0, 10);
<span class="reserved">return</span>;
}
<span class="reserved">if</span> (<span class="reserved">this</span>.isWindow) {
var doc = document;
var body = doc.body;
var oldMargin, wrapper, iframe, nodes, dx, dy;
<span class="reserved">if</span> (body.style.display == <span class="literal">'none'</span>)
body.style.display = <span class="literal">'block'</span>;
<span class="comment">// Remove margin</span>
oldMargin = body.style.margin;
body.style.margin = <span class="literal">'0'</span>;
<span class="comment">// Create wrapper</span>
wrapper = doc.createElement(<span class="literal">"div"</span>);
wrapper.id = <span class="literal">'mcBodyWrapper'</span>;
wrapper.style.display = <span class="literal">'none'</span>;
wrapper.style.margin = <span class="literal">'0'</span>;
<span class="comment">// Wrap body elements</span>
nodes = doc.body.childNodes;
<span class="reserved">for</span> (var i=nodes.length-1; i&gt;=0; i--) {
<span class="reserved">if</span> (wrapper.hasChildNodes())
wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
<span class="reserved">else</span>
wrapper.appendChild(nodes[i].cloneNode(true));
nodes[i].parentNode.removeChild(nodes[i]);
}
<span class="comment">// Add wrapper</span>
doc.body.appendChild(wrapper);
<span class="comment">// Create iframe</span>
iframe = document.createElement(<span class="literal">"iframe"</span>);
iframe.id = <span class="literal">"mcWinIframe"</span>;
iframe.src = document.location.href.toLowerCase().indexOf(<span class="literal">'https'</span>) == -1 ? <span class="literal">"about:blank"</span> : tinyMCE.settings[<span class="literal">'default_document'</span>];
iframe.width = <span class="literal">"100%"</span>;
iframe.height = <span class="literal">"100%"</span>;
iframe.style.margin = <span class="literal">'0'</span>;
<span class="comment">// Add iframe</span>
doc.body.appendChild(iframe);
<span class="comment">// Measure iframe</span>
iframe = document.getElementById(<span class="literal">'mcWinIframe'</span>);
dx = tinyMCE.getWindowArg(<span class="literal">'mce_width'</span>) - iframe.clientWidth;
dy = tinyMCE.getWindowArg(<span class="literal">'mce_height'</span>) - iframe.clientHeight;
<span class="comment">// Resize window</span>
<span class="comment">// tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);</span>
window.resizeBy(dx, dy);
<span class="comment">// Hide iframe and show wrapper</span>
body.style.margin = oldMargin;
iframe.style.display = <span class="literal">'none'</span>;
wrapper.style.display = <span class="literal">'block'</span>;
}
};
<span class="comment">/**
* Resizes the current window to the dimensions of the body.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.resizeToContent = <span class="reserved">function</span>() {
var isMSIE = (navigator.appName == <span class="literal">"Microsoft Internet Explorer"</span>);
var isOpera = (navigator.userAgent.indexOf(<span class="literal">"Opera"</span>) != -1);
<span class="reserved">if</span> (isOpera)
<span class="reserved">return</span>;
<span class="reserved">if</span> (isMSIE) {
try { window.resizeTo(10, 10); } catch (e) {}
var elm = document.body;
var width = elm.offsetWidth;
var height = elm.offsetHeight;
var dx = (elm.scrollWidth - width) + 4;
var dy = elm.scrollHeight - height;
try { window.resizeBy(dx, dy); } catch (e) {}
} <span class="reserved">else</span> {
window.scrollBy(1000, 1000);
<span class="reserved">if</span> (window.scrollX &gt; 0 || window.scrollY &gt; 0) {
window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
window.sizeToContent();
window.scrollTo(0, 0);
var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
window.moveTo(x, y);
}
}
};
<span class="comment">/**
* Returns a window argument, window arguments can be passed from a plugin to a window
* by using the tinyMCE.openWindow function.
*
* <span class="attrib">@param</span> {string} name Argument name to retrive.
* <span class="attrib">@param</span> {string} default_value Optional default value to assign if the argument wasn't set.
* <span class="attrib">@return</span> Argument value object.
* <span class="attrib">@type</span> Object
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.getWindowArg = <span class="reserved">function</span>(name, default_value) {
<span class="reserved">return</span> tinyMCE.getWindowArg(name, default_value);
};
<span class="comment">/**
* Restores the selection back to the one stored after executing a command.
* This function was needed in MSIE when using inlinepopups, the selection
* would otherwice get lost if the user focused another field.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.restoreSelection = <span class="reserved">function</span>() {
<span class="reserved">if</span> (<span class="reserved">this</span>.storeSelection) {
var inst = tinyMCE.selectedInstance;
inst.getWin().focus();
<span class="reserved">if</span> (inst.selectionBookmark)
inst.selection.moveToBookmark(inst.selectionBookmark);
}
};
<span class="comment">/**
* Executes the specific command on the parent instance that opened the window. This method
* will also take care of the storage and restorage of the current selection in MSIE when
* using inlinepopups. So we suggest using this method instead of tinyMCE.execCommand when using
* popup windows.
*
* <span class="attrib">@param</span> {string} command Command name to execute, for example mceLink or Bold.
* <span class="attrib">@param</span> {boolean} user_interface True/false state if a UI (dialog) should be presented or not.
* <span class="attrib">@param</span> {mixed} value Optional command value, this can be anything.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.execCommand = <span class="reserved">function</span>(command, user_interface, value) {
var inst = tinyMCE.selectedInstance;
<span class="reserved">this</span>.restoreSelection();
inst.execCommand(command, user_interface, value);
<span class="comment">// Store selection</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.storeSelection)
inst.selectionBookmark = inst.selection.getBookmark(true);
};
<span class="comment">/**
* Closes the current window. This should be used instead of window.close. Since this will
* also handle inlinepopups closing.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.close = <span class="reserved">function</span>() {
tinyMCE.closeWindow(window);
};
<span class="comment">/**
* Executes a color picker on the specified element id. When the user
* then selects a color it will be set as the value of the specified element.
*
* <span class="attrib">@param</span> {DOMEvent} e DOM event object.
* <span class="attrib">@param</span> {string} element_id Element id to be filled with the color value from the picker.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.pickColor = <span class="reserved">function</span>(e, element_id) {
tinyMCE.selectedInstance.execCommand(<span class="literal">'mceColorPicker'</span>, true, {
element_id : element_id,
document : document,
window : window,
store_selection : false
});
};
<span class="comment">/**
* Opens a filebrowser/imagebrowser this will set the output value from
* the browser as a value on the specified element.
*
* <span class="attrib">@param</span> {string} element_id Id of the element to set value in.
* <span class="attrib">@param</span> {string} type Type of browser to open image/file/flash.
* <span class="attrib">@param</span> {string} option Option name to get the file_broswer_callback function name from.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.openBrowser = <span class="reserved">function</span>(element_id, type, option) {
var cb = tinyMCE.getParam(option, tinyMCE.getParam(<span class="literal">"file_browser_callback"</span>));
var url = document.getElementById(element_id).value;
tinyMCE.setWindowArg(<span class="literal">"window"</span>, window);
tinyMCE.setWindowArg(<span class="literal">"document"</span>, document);
<span class="comment">// Call to external callback</span>
<span class="reserved">if</span> (eval(<span class="literal">'typeof(tinyMCEPopup.windowOpener.'</span> + cb + <span class="literal">')'</span>) == <span class="literal">"undefined"</span>)
alert(<span class="literal">"Callback function: "</span> + cb + <span class="literal">" could not be found."</span>);
<span class="reserved">else</span>
eval(<span class="literal">"tinyMCEPopup.windowOpener."</span> + cb + <span class="literal">"(element_id, url, type, window);"</span>);
};
<span class="comment">/**
* Imports the specified class into the current popup. This will setup a local class definition
* by importing from the parent window.
*
* <span class="attrib">@param</span> {string} c Class name to import to current page.
*/</span>
TinyMCE_Popup.<span class="reserved">prototype</span>.importClass = <span class="reserved">function</span>(c) {
window[c] = <span class="reserved">function</span>() {};
<span class="reserved">for</span> (var n in window.opener[c].<span class="reserved">prototype</span>)
window[c].<span class="reserved">prototype</span>[n] = window.opener[c].<span class="reserved">prototype</span>[n];
window[c].constructor = window.opener[c].constructor;
};
<span class="comment">// Setup global instance</span>
var tinyMCEPopup = new TinyMCE_Popup();
tinyMCEPopup.init();
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,646 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_Selection.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_Selection.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_Selection.class.js'<BR/><BR/>
</p>
<hr>
<table border="1" cellpadding="3" cellspacing="0" width="100%">
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=2><font size="+2">
<b>Class Summary</b>
</font></td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="TinyMCE_Selection.html">TinyMCE_Selection</a></b></td>
<td>&nbsp;</td>
</tr>
</table>
<hr/>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_Selection.class.js.html,v $
* $Revision: 1.42 $
* $Date: 2006/04/14 20:00:31 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/</span>
<span class="comment">/**
* Constructs a Selection instance and binds it to the specificed TinyMCE editor control.
*
* <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance.
* <span class="attrib">@constructor</span>
*/</span>
<span class="reserved">function</span> TinyMCE_Selection(inst) {
<span class="reserved">this</span>.instance = inst;
};
TinyMCE_Selection.<span class="reserved">prototype</span> = {
<span class="comment">/**
* Returns the selected HTML code.
*
* <span class="attrib">@return</span> Selected HTML contents.
* <span class="attrib">@type</span> string
*/</span>
getSelectedHTML : <span class="reserved">function</span>() {
var inst = <span class="reserved">this</span>.instance;
var e, r = <span class="reserved">this</span>.getRng(), h;
<span class="reserved">if</span> (tinyMCE.isSafari) {
<span class="comment">// Not realy perfect!!</span>
<span class="reserved">return</span> r.toString();
}
e = document.createElement(<span class="literal">"body"</span>);
<span class="reserved">if</span> (tinyMCE.isGecko)
e.appendChild(r.cloneContents());
<span class="reserved">else</span>
e.innerHTML = r.item ? r.item(0).outerHTML : r.htmlText;
h = tinyMCE._cleanupHTML(inst, inst.contentDocument, inst.settings, e, e, false, true, false);
<span class="comment">// When editing always use fonts internaly</span>
<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">"convert_fonts_to_spans"</span>))
tinyMCE.convertSpansToFonts(inst.getDoc());
<span class="reserved">return</span> h;
},
<span class="comment">/**
* Returns the selected text.
*
* <span class="attrib">@return</span> Selected text contents.
* <span class="attrib">@type</span> string
*/</span>
getSelectedText : <span class="reserved">function</span>() {
var inst = <span class="reserved">this</span>.instance;
var d, r, s, t;
<span class="reserved">if</span> (tinyMCE.isMSIE) {
d = inst.getDoc();
<span class="reserved">if</span> (d.selection.type == <span class="literal">"Text"</span>) {
r = d.selection.createRange();
t = r.text;
} <span class="reserved">else</span>
t = <span class="literal">''</span>;
} <span class="reserved">else</span> {
s = <span class="reserved">this</span>.getSel();
<span class="reserved">if</span> (s &amp;&amp; s.toString)
t = s.toString();
<span class="reserved">else</span>
t = <span class="literal">''</span>;
}
<span class="reserved">return</span> t;
},
<span class="comment">/**
* Returns a selection bookmark that can be restored later with moveToBookmark.
* This acts much like the one MSIE has built in but this one is persistent if between DOM
* tree rewritings. The simple mode enables a quicker and non persistent bookmark.
*
* <span class="attrib">@param</span> {boolean} simple If this is set to true, the selection bookmark will not me dom persistent.
* <span class="attrib">@return</span> Selection bookmark that can be restored later with moveToBookmark.
* <span class="attrib">@type</span> TinyMCE_Bookmark
*/</span>
getBookmark : <span class="reserved">function</span>(simple) {
var rng = <span class="reserved">this</span>.getRng();
var doc = <span class="reserved">this</span>.instance.getDoc();
var sp, le, s, e, nl, i, si, ei;
var trng, sx, sy, xx = -999999999;
<span class="comment">// Skip Opera for now</span>
<span class="reserved">if</span> (tinyMCE.isOpera)
<span class="reserved">return</span> null;
sx = doc.body.scrollLeft + doc.documentElement.scrollLeft;
sy = doc.body.scrollTop + doc.documentElement.scrollTop;
<span class="reserved">if</span> (tinyMCE.isSafari || tinyMCE.isGecko)
<span class="reserved">return</span> {rng : rng, scrollX : sx, scrollY : sy};
<span class="reserved">if</span> (tinyMCE.isMSIE) {
<span class="reserved">if</span> (simple)
<span class="reserved">return</span> {rng : rng};
<span class="reserved">if</span> (rng.item) {
e = rng.item(0);
nl = doc.getElementsByTagName(e.nodeName);
<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
<span class="reserved">if</span> (e == nl[i]) {
sp = i;
break;
}
}
<span class="reserved">return</span> {
tag : e.nodeName,
index : sp,
scrollX : sx,
scrollY : sy
};
} <span class="reserved">else</span> {
trng = rng.duplicate();
trng.collapse(true);
sp = Math.abs(trng.move(<span class="literal">'character'</span>, xx));
trng = rng.duplicate();
trng.collapse(false);
le = Math.abs(trng.move(<span class="literal">'character'</span>, xx)) - sp;
<span class="reserved">return</span> {
start : sp,
length : le,
scrollX : sx,
scrollY : sy
};
}
}
<span class="reserved">if</span> (tinyMCE.isGecko) {
s = tinyMCE.getParentElement(rng.startContainer);
<span class="reserved">for</span> (si=0; si&lt;s.childNodes.length &amp;&amp; s.childNodes[si] != rng.startContainer; si++) ;
nl = doc.getElementsByTagName(s.nodeName);
<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
<span class="reserved">if</span> (s == nl[i]) {
sp = i;
break;
}
}
e = tinyMCE.getParentElement(rng.endContainer);
<span class="reserved">for</span> (ei=0; ei&lt;e.childNodes.length &amp;&amp; e.childNodes[ei] != rng.endContainer; ei++) ;
nl = doc.getElementsByTagName(e.nodeName);
<span class="reserved">for</span> (i=0; i&lt;nl.length; i++) {
<span class="reserved">if</span> (e == nl[i]) {
le = i;
break;
}
}
<span class="comment">//tinyMCE.debug(s.nodeName, sp, rng.startOffset, '-' , e.nodeName, le, rng.endOffset);</span>
<span class="comment">//tinyMCE.debug(sx, sy);</span>
<span class="reserved">return</span> {
startTag : s.nodeName,
start : sp,
startIndex : si,
endTag : e.nodeName,
end : le,
endIndex : ei,
startOffset : rng.startOffset,
endOffset : rng.endOffset,
scrollX : sx,
scrollY : sy
};
}
<span class="reserved">return</span> null;
},
<span class="comment">/**
* Restores the selection to the specified bookmark.
*
* <span class="attrib">@param</span> {TinyMCE_Bookmark} bookmark Bookmark to restore selection from.
* <span class="attrib">@return</span> true/false if it was successful or not.
* <span class="attrib">@type</span> boolean
*/</span>
moveToBookmark : <span class="reserved">function</span>(bookmark) {
var rng, nl, i;
var inst = <span class="reserved">this</span>.instance;
var doc = inst.getDoc();
var win = inst.getWin();
var sel = <span class="reserved">this</span>.getSel();
<span class="reserved">if</span> (!bookmark)
<span class="reserved">return</span> false;
<span class="reserved">if</span> (tinyMCE.isSafari) {
sel.setBaseAndExtent(bookmark.startContainer, bookmark.startOffset, bookmark.endContainer, bookmark.endOffset);
<span class="reserved">return</span> true;
}
<span class="reserved">if</span> (tinyMCE.isMSIE) {
<span class="reserved">if</span> (bookmark.rng) {
bookmark.rng.select();
<span class="reserved">return</span> true;
}
win.focus();
<span class="reserved">if</span> (bookmark.tag) {
rng = inst.getBody().createControlRange();
nl = doc.getElementsByTagName(bookmark.tag);
<span class="reserved">if</span> (nl.length &gt; bookmark.index) {
try {
rng.addElement(nl[bookmark.index]);
} catch (ex) {
<span class="comment">// Might be thrown if the node no longer exists</span>
}
}
} <span class="reserved">else</span> {
rng = inst.getSel().createRange();
rng.moveToElementText(inst.getBody());
rng.collapse(true);
rng.moveStart(<span class="literal">'character'</span>, bookmark.start);
rng.moveEnd(<span class="literal">'character'</span>, bookmark.length);
}
rng.select();
win.scrollTo(bookmark.scrollX, bookmark.scrollY);
<span class="reserved">return</span> true;
}
<span class="reserved">if</span> (tinyMCE.isGecko &amp;&amp; bookmark.rng) {
sel.removeAllRanges();
sel.addRange(bookmark.rng);
win.scrollTo(bookmark.scrollX, bookmark.scrollY);
<span class="reserved">return</span> true;
}
<span class="reserved">if</span> (tinyMCE.isGecko) {
<span class="comment">// try {</span>
rng = doc.createRange();
nl = doc.getElementsByTagName(bookmark.startTag);
<span class="reserved">if</span> (nl.length &gt; bookmark.start)
rng.setStart(nl[bookmark.start].childNodes[bookmark.startIndex], bookmark.startOffset);
nl = doc.getElementsByTagName(bookmark.endTag);
<span class="reserved">if</span> (nl.length &gt; bookmark.end)
rng.setEnd(nl[bookmark.end].childNodes[bookmark.endIndex], bookmark.endOffset);
sel.removeAllRanges();
sel.addRange(rng);
<span class="comment">/* } catch {
// Ignore
}*/</span>
win.scrollTo(bookmark.scrollX, bookmark.scrollY);
<span class="reserved">return</span> true;
}
<span class="reserved">return</span> false;
},
<span class="comment">/**
* Selects the specified node.
*
* <span class="attrib">@param</span> {HTMLNode} node Node object to move selection to.
* <span class="attrib">@param</span> {boolean} collapse True/false if it will be collasped.
* <span class="attrib">@param</span> {boolean} select_text_node True/false if the text contents should be selected or not.
* <span class="attrib">@param</span> {boolean} to_start True/false if the collapse should be to start or end of range.
*/</span>
selectNode : <span class="reserved">function</span>(node, collapse, select_text_node, to_start) {
var inst = <span class="reserved">this</span>.instance, sel, rng, nodes;
<span class="reserved">if</span> (!node)
<span class="reserved">return</span>;
<span class="reserved">if</span> (typeof(collapse) == <span class="literal">"undefined"</span>)
collapse = true;
<span class="reserved">if</span> (typeof(select_text_node) == <span class="literal">"undefined"</span>)
select_text_node = false;
<span class="reserved">if</span> (typeof(to_start) == <span class="literal">"undefined"</span>)
to_start = true;
<span class="reserved">if</span> (tinyMCE.isMSIE) {
rng = inst.getBody().createTextRange();
try {
rng.moveToElementText(node);
<span class="reserved">if</span> (collapse)
rng.collapse(to_start);
rng.select();
} catch (e) {
<span class="comment">// Throws illigal agrument in MSIE some times</span>
}
} <span class="reserved">else</span> {
sel = <span class="reserved">this</span>.getSel();
<span class="reserved">if</span> (!sel)
<span class="reserved">return</span>;
<span class="reserved">if</span> (tinyMCE.isSafari) {
sel.setBaseAndExtent(node, 0, node, node.innerText.length);
<span class="reserved">if</span> (collapse) {
<span class="reserved">if</span> (to_start)
sel.collapseToStart();
<span class="reserved">else</span>
sel.collapseToEnd();
}
<span class="reserved">this</span>.scrollToNode(node);
<span class="reserved">return</span>;
}
rng = inst.getDoc().createRange();
<span class="reserved">if</span> (select_text_node) {
<span class="comment">// Find first textnode in tree</span>
nodes = tinyMCE.getNodeTree(node, new Array(), 3);
<span class="reserved">if</span> (nodes.length &gt; 0)
rng.selectNodeContents(nodes[0]);
<span class="reserved">else</span>
rng.selectNodeContents(node);
} <span class="reserved">else</span>
rng.selectNode(node);
<span class="reserved">if</span> (collapse) {
<span class="comment">// Special treatment of textnode collapse</span>
<span class="reserved">if</span> (!to_start &amp;&amp; node.nodeType == 3) {
rng.setStart(node, node.nodeValue.length);
rng.setEnd(node, node.nodeValue.length);
} <span class="reserved">else</span>
rng.collapse(to_start);
}
sel.removeAllRanges();
sel.addRange(rng);
}
<span class="reserved">this</span>.scrollToNode(node);
<span class="comment">// Set selected element</span>
tinyMCE.selectedElement = null;
<span class="reserved">if</span> (node.nodeType == 1)
tinyMCE.selectedElement = node;
},
<span class="comment">/**
* Scrolls to the specified node location.
*
* <span class="attrib">@param</span> {HTMLNode} node Node to scroll to.
*/</span>
scrollToNode : <span class="reserved">function</span>(node) {
var inst = <span class="reserved">this</span>.instance;
var pos, doc, scrollX, scrollY, height;
<span class="comment">// Scroll to node position</span>
pos = tinyMCE.getAbsPosition(node);
doc = inst.getDoc();
scrollX = doc.body.scrollLeft + doc.documentElement.scrollLeft;
scrollY = doc.body.scrollTop + doc.documentElement.scrollTop;
height = tinyMCE.isMSIE ? document.getElementById(inst.editorId).style.pixelHeight : inst.targetElement.clientHeight;
<span class="comment">// Only scroll if out of visible area</span>
<span class="reserved">if</span> (!tinyMCE.settings[<span class="literal">'auto_resize'</span>] &amp;&amp; !(pos.absTop &gt; scrollY &amp;&amp; pos.absTop &lt; (scrollY - 25 + height)))
inst.contentWindow.scrollTo(pos.absLeft, pos.absTop - height + 25);
},
<span class="comment">/**
* Returns the browsers selection instance.
*
* <span class="attrib">@return</span> Browser selection instance.
* <span class="attrib">@type</span> DOMSelection
*/</span>
getSel : <span class="reserved">function</span>() {
var inst = <span class="reserved">this</span>.instance;
<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
<span class="reserved">return</span> inst.getDoc().selection;
<span class="reserved">return</span> inst.contentWindow.getSelection();
},
<span class="comment">/**
* Returns the browsers selections first range instance.
*
* <span class="attrib">@return</span> Browsers selections first range instance.
* <span class="attrib">@type</span> DOMRange
*/</span>
getRng : <span class="reserved">function</span>() {
var inst = <span class="reserved">this</span>.instance;
var sel = <span class="reserved">this</span>.getSel();
<span class="reserved">if</span> (sel == null)
<span class="reserved">return</span> null;
<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera)
<span class="reserved">return</span> sel.createRange();
<span class="reserved">if</span> (tinyMCE.isSafari &amp;&amp; !sel.getRangeAt)
<span class="reserved">return</span> <span class="literal">''</span> + window.getSelection();
<span class="reserved">return</span> sel.getRangeAt(0);
},
<span class="comment">/**
* Returns the currently selected/focused element.
*
* <span class="attrib">@return</span> Currently selected element.
* <span class="attrib">@type</span> HTMLElement
*/</span>
getFocusElement : <span class="reserved">function</span>() {
var inst = <span class="reserved">this</span>.instance;
<span class="reserved">if</span> (tinyMCE.isMSIE &amp;&amp; !tinyMCE.isOpera) {
var doc = inst.getDoc();
var rng = doc.selection.createRange();
<span class="comment">// if (rng.collapse)</span>
<span class="comment">// rng.collapse(true);</span>
var elm = rng.item ? rng.item(0) : rng.parentElement();
} <span class="reserved">else</span> {
<span class="reserved">if</span> (inst.isHidden())
<span class="reserved">return</span> inst.getBody();
var sel = <span class="reserved">this</span>.getSel();
var rng = <span class="reserved">this</span>.getRng();
<span class="reserved">if</span> (!sel || !rng)
<span class="reserved">return</span> null;
var elm = rng.commonAncestorContainer;
<span class="comment">//var elm = (sel &amp;&amp; sel.anchorNode) ? sel.anchorNode : null;</span>
<span class="comment">// Handle selection a image or other control like element such as anchors</span>
<span class="reserved">if</span> (!rng.collapsed) {
<span class="comment">// Is selection small</span>
<span class="reserved">if</span> (rng.startContainer == rng.endContainer) {
<span class="reserved">if</span> (rng.startOffset - rng.endOffset &lt; 2) {
<span class="reserved">if</span> (rng.startContainer.hasChildNodes())
elm = rng.startContainer.childNodes[rng.startOffset];
}
}
}
<span class="comment">// Get the element parent of the node</span>
elm = tinyMCE.getParentElement(elm);
<span class="comment">//if (tinyMCE.selectedElement != null &amp;&amp; tinyMCE.selectedElement.nodeName.toLowerCase() == "img")</span>
<span class="comment">// elm = tinyMCE.selectedElement;</span>
}
<span class="reserved">return</span> elm;
}
};
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,530 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_URL.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_URL.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_URL.class.js'<BR/><BR/>
</p>
<hr>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_URL.class.js.html,v $
* $Revision: 1.42 $
* $Date: 2006/04/14 20:00:31 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*
* The contents of this file will be wrapped in a class later on.
*/</span>
<span class="comment">/**
* Parses a URL in to its diffrent components.
*
* <span class="attrib">@param</span> {string} url_str URL string to parse into a URL object.
* <span class="attrib">@return</span> URL object based on input string.
* <span class="attrib">@type</span> TinyMCE_URL_Item
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.parseURL = <span class="reserved">function</span>(url_str) {
var urlParts = new Array();
<span class="reserved">if</span> (url_str) {
var pos, lastPos;
<span class="comment">// Parse protocol part</span>
pos = url_str.indexOf(<span class="literal">'://'</span>);
<span class="reserved">if</span> (pos != -1) {
urlParts[<span class="literal">'protocol'</span>] = url_str.substring(0, pos);
lastPos = pos + 3;
}
<span class="comment">// Find port or path start</span>
<span class="reserved">for</span> (var i=lastPos; i&lt;url_str.length; i++) {
var chr = url_str.charAt(i);
<span class="reserved">if</span> (chr == <span class="literal">':'</span>)
break;
<span class="reserved">if</span> (chr == <span class="literal">'/'</span>)
break;
}
pos = i;
<span class="comment">// Get host</span>
urlParts[<span class="literal">'host'</span>] = url_str.substring(lastPos, pos);
<span class="comment">// Get port</span>
urlParts[<span class="literal">'port'</span>] = <span class="literal">""</span>;
lastPos = pos;
<span class="reserved">if</span> (url_str.charAt(pos) == <span class="literal">':'</span>) {
pos = url_str.indexOf(<span class="literal">'/'</span>, lastPos);
urlParts[<span class="literal">'port'</span>] = url_str.substring(lastPos+1, pos);
}
<span class="comment">// Get path</span>
lastPos = pos;
pos = url_str.indexOf(<span class="literal">'?'</span>, lastPos);
<span class="reserved">if</span> (pos == -1)
pos = url_str.indexOf(<span class="literal">'#'</span>, lastPos);
<span class="reserved">if</span> (pos == -1)
pos = url_str.length;
urlParts[<span class="literal">'path'</span>] = url_str.substring(lastPos, pos);
<span class="comment">// Get query</span>
lastPos = pos;
<span class="reserved">if</span> (url_str.charAt(pos) == <span class="literal">'?'</span>) {
pos = url_str.indexOf(<span class="literal">'#'</span>);
pos = (pos == -1) ? url_str.length : pos;
urlParts[<span class="literal">'query'</span>] = url_str.substring(lastPos+1, pos);
}
<span class="comment">// Get anchor</span>
lastPos = pos;
<span class="reserved">if</span> (url_str.charAt(pos) == <span class="literal">'#'</span>) {
pos = url_str.length;
urlParts[<span class="literal">'anchor'</span>] = url_str.substring(lastPos+1, pos);
}
}
<span class="reserved">return</span> urlParts;
};
<span class="comment">/**
* Serializes the specified URL object into a string.
*
* <span class="attrib">@param</span> {TinyMCE_URL_Item} up URL object to serialize.
* <span class="attrib">@return</span> Serialized URL object.
* <span class="attrib">@type</span> string
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.serializeURL = <span class="reserved">function</span>(up) {
var o = <span class="literal">""</span>;
<span class="reserved">if</span> (up[<span class="literal">'protocol'</span>])
o += up[<span class="literal">'protocol'</span>] + <span class="literal">"://"</span>;
<span class="reserved">if</span> (up[<span class="literal">'host'</span>])
o += up[<span class="literal">'host'</span>];
<span class="reserved">if</span> (up[<span class="literal">'port'</span>])
o += <span class="literal">":"</span> + up[<span class="literal">'port'</span>];
<span class="reserved">if</span> (up[<span class="literal">'path'</span>])
o += up[<span class="literal">'path'</span>];
<span class="reserved">if</span> (up[<span class="literal">'query'</span>])
o += <span class="literal">"?"</span> + up[<span class="literal">'query'</span>];
<span class="reserved">if</span> (up[<span class="literal">'anchor'</span>])
o += <span class="literal">"#"</span> + up[<span class="literal">'anchor'</span>];
<span class="reserved">return</span> o;
};
<span class="comment">/**
* Converts an absolute path to relative path.
*
* <span class="attrib">@param</span> {string} base_url URL to make as a base path, URLs will be converted relative from this point.
* <span class="attrib">@param</span> {string} url_to_relative URL to convert into a relative URL.
* <span class="attrib">@return</span> Relative URL based in input.
* <span class="attrib">@type</span> string
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.convertAbsoluteURLToRelativeURL = <span class="reserved">function</span>(base_url, url_to_relative) {
var baseURL = <span class="reserved">this</span>.parseURL(base_url);
var targetURL = <span class="reserved">this</span>.parseURL(url_to_relative);
var strTok1;
var strTok2;
var breakPoint = 0;
var outPath = <span class="literal">""</span>;
var forceSlash = false;
<span class="reserved">if</span> (targetURL.path == <span class="literal">""</span>)
targetURL.path = <span class="literal">"/"</span>;
<span class="reserved">else</span>
forceSlash = true;
<span class="comment">// Crop away last path part</span>
base_url = baseURL.path.substring(0, baseURL.path.lastIndexOf(<span class="literal">'/'</span>));
strTok1 = base_url.split(<span class="literal">'/'</span>);
strTok2 = targetURL.path.split(<span class="literal">'/'</span>);
<span class="reserved">if</span> (strTok1.length &gt;= strTok2.length) {
<span class="reserved">for</span> (var i=0; i&lt;strTok1.length; i++) {
<span class="reserved">if</span> (i &gt;= strTok2.length || strTok1[i] != strTok2[i]) {
breakPoint = i + 1;
break;
}
}
}
<span class="reserved">if</span> (strTok1.length &lt; strTok2.length) {
<span class="reserved">for</span> (var i=0; i&lt;strTok2.length; i++) {
<span class="reserved">if</span> (i &gt;= strTok1.length || strTok1[i] != strTok2[i]) {
breakPoint = i + 1;
break;
}
}
}
<span class="reserved">if</span> (breakPoint == 1)
<span class="reserved">return</span> targetURL.path;
<span class="reserved">for</span> (var i=0; i&lt;(strTok1.length-(breakPoint-1)); i++)
outPath += <span class="literal">"../"</span>;
<span class="reserved">for</span> (var i=breakPoint-1; i&lt;strTok2.length; i++) {
<span class="reserved">if</span> (i != (breakPoint-1))
outPath += <span class="literal">"/"</span> + strTok2[i];
<span class="reserved">else</span>
outPath += strTok2[i];
}
targetURL.protocol = null;
targetURL.host = null;
targetURL.port = null;
targetURL.path = outPath == <span class="literal">""</span> &amp;&amp; forceSlash ? <span class="literal">"/"</span> : outPath;
<span class="comment">// Remove document prefix from local anchors</span>
var fileName = baseURL.path;
var pos;
<span class="reserved">if</span> ((pos = fileName.lastIndexOf(<span class="literal">'/'</span>)) != -1)
fileName = fileName.substring(pos + 1);
<span class="comment">// Is local anchor</span>
<span class="reserved">if</span> (fileName == targetURL.path &amp;&amp; targetURL.anchor != <span class="literal">""</span>)
targetURL.path = <span class="literal">""</span>;
<span class="comment">// If empty and not local anchor force filename or slash</span>
<span class="reserved">if</span> (targetURL.path == <span class="literal">""</span> &amp;&amp; !targetURL.anchor)
targetURL.path = fileName != <span class="literal">""</span> ? fileName : <span class="literal">"/"</span>;
<span class="reserved">return</span> <span class="reserved">this</span>.serializeURL(targetURL);
};
<span class="comment">/**
* Converts an relative path to absolute path.
*
* <span class="attrib">@param</span> {string} base_url URL to make as a base path, URLs will be converted absolute from this point.
* <span class="attrib">@param</span> {string} relative_url URL to convert into a absolute URL.
* <span class="attrib">@return</span> Absolute URL based in input.
* <span class="attrib">@type</span> string
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.convertRelativeToAbsoluteURL = <span class="reserved">function</span>(base_url, relative_url) {
var baseURL = <span class="reserved">this</span>.parseURL(base_url);
var relURL = <span class="reserved">this</span>.parseURL(relative_url);
<span class="reserved">if</span> (relative_url == <span class="literal">""</span> || relative_url.charAt(0) == <span class="literal">'/'</span> || relative_url.indexOf(<span class="literal">'://'</span>) != -1 || relative_url.indexOf(<span class="literal">'mailto:'</span>) != -1 || relative_url.indexOf(<span class="literal">'javascript:'</span>) != -1)
<span class="reserved">return</span> relative_url;
<span class="comment">// Split parts</span>
baseURLParts = baseURL[<span class="literal">'path'</span>].split(<span class="literal">'/'</span>);
relURLParts = relURL[<span class="literal">'path'</span>].split(<span class="literal">'/'</span>);
<span class="comment">// Remove empty chunks</span>
var newBaseURLParts = new Array();
<span class="reserved">for</span> (var i=baseURLParts.length-1; i&gt;=0; i--) {
<span class="reserved">if</span> (baseURLParts[i].length == 0)
continue;
newBaseURLParts[newBaseURLParts.length] = baseURLParts[i];
}
baseURLParts = newBaseURLParts.reverse();
<span class="comment">// Merge relURLParts chunks</span>
var newRelURLParts = new Array();
var numBack = 0;
<span class="reserved">for</span> (var i=relURLParts.length-1; i&gt;=0; i--) {
<span class="reserved">if</span> (relURLParts[i].length == 0 || relURLParts[i] == <span class="literal">"."</span>)
continue;
<span class="reserved">if</span> (relURLParts[i] == <span class="literal">'..'</span>) {
numBack++;
continue;
}
<span class="reserved">if</span> (numBack &gt; 0) {
numBack--;
continue;
}
newRelURLParts[newRelURLParts.length] = relURLParts[i];
}
relURLParts = newRelURLParts.reverse();
<span class="comment">// Remove end from absolute path</span>
var len = baseURLParts.length-numBack;
var absPath = (len &lt;= 0 ? <span class="literal">""</span> : <span class="literal">"/"</span>) + baseURLParts.slice(0, len).join(<span class="literal">'/'</span>) + <span class="literal">"/"</span> + relURLParts.join(<span class="literal">'/'</span>);
var start = <span class="literal">""</span>, end = <span class="literal">""</span>;
<span class="comment">// Build output URL</span>
relURL.protocol = baseURL.protocol;
relURL.host = baseURL.host;
relURL.port = baseURL.port;
<span class="comment">// Re-add trailing slash if it's removed</span>
<span class="reserved">if</span> (relURL.path.charAt(relURL.path.length-1) == <span class="literal">"/"</span>)
absPath += <span class="literal">"/"</span>;
relURL.path = absPath;
<span class="reserved">return</span> <span class="reserved">this</span>.serializeURL(relURL);
};
<span class="comment">/**
* Converts the specified URL based in TinyMCE configuration settings.
*
* <span class="attrib">@param</span> {string} url URL to convert based on config.
* <span class="attrib">@param</span> {HTMLElement} node HTML element that holds the URL.
* <span class="attrib">@param</span> {boolean} on_save Is this convertion the final output URL.
* <span class="attrib">@return</span> Converted URL string.
* <span class="attrib">@type</span> string
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.convertURL = <span class="reserved">function</span>(url, node, on_save) {
var prot = document.location.protocol;
var host = document.location.hostname;
var port = document.location.port;
<span class="comment">// Pass through file protocol</span>
<span class="reserved">if</span> (prot == <span class="literal">"file:"</span>)
<span class="reserved">return</span> url;
<span class="comment">// Something is wrong, remove weirdness</span>
url = tinyMCE.regexpReplace(url, <span class="literal">'(http|https):///'</span>, <span class="literal">'/'</span>);
<span class="comment">// Mailto link or anchor (Pass through)</span>
<span class="reserved">if</span> (url.indexOf(<span class="literal">'mailto:'</span>) != -1 || url.indexOf(<span class="literal">'javascript:'</span>) != -1 || tinyMCE.regexpReplace(url,<span class="literal">'[ \t\r\n\+]|%20'</span>,<span class="literal">''</span>).charAt(0) == <span class="literal">"#"</span>)
<span class="reserved">return</span> url;
<span class="comment">// Fix relative/Mozilla</span>
<span class="reserved">if</span> (!tinyMCE.isMSIE &amp;&amp; !on_save &amp;&amp; url.indexOf(<span class="literal">"://"</span>) == -1 &amp;&amp; url.charAt(0) != <span class="literal">'/'</span>)
<span class="reserved">return</span> tinyMCE.settings[<span class="literal">'base_href'</span>] + url;
<span class="comment">// Handle relative URLs</span>
<span class="reserved">if</span> (on_save &amp;&amp; tinyMCE.getParam(<span class="literal">'relative_urls'</span>)) {
var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], url);
<span class="reserved">if</span> (curl.charAt(0) == <span class="literal">'/'</span>)
curl = tinyMCE.settings[<span class="literal">'document_base_prefix'</span>] + curl;
var urlParts = tinyMCE.parseURL(curl);
var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings[<span class="literal">'document_base_url'</span>]);
<span class="comment">// Force relative</span>
<span class="reserved">if</span> (urlParts[<span class="literal">'host'</span>] == tmpUrlParts[<span class="literal">'host'</span>] &amp;&amp; (urlParts[<span class="literal">'port'</span>] == tmpUrlParts[<span class="literal">'port'</span>]))
<span class="reserved">return</span> tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings[<span class="literal">'document_base_url'</span>], curl);
}
<span class="comment">// Handle absolute URLs</span>
<span class="reserved">if</span> (!tinyMCE.getParam(<span class="literal">'relative_urls'</span>)) {
var urlParts = tinyMCE.parseURL(url);
var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings[<span class="literal">'base_href'</span>]);
<span class="comment">// Force absolute URLs from relative URLs</span>
url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], url);
<span class="comment">// If anchor and path is the same page</span>
<span class="reserved">if</span> (urlParts[<span class="literal">'anchor'</span>] &amp;&amp; urlParts[<span class="literal">'path'</span>] == baseUrlParts[<span class="literal">'path'</span>])
<span class="reserved">return</span> <span class="literal">"#"</span> + urlParts[<span class="literal">'anchor'</span>];
}
<span class="comment">// Remove current domain</span>
<span class="reserved">if</span> (tinyMCE.getParam(<span class="literal">'remove_script_host'</span>)) {
var start = <span class="literal">""</span>, portPart = <span class="literal">""</span>;
<span class="reserved">if</span> (port != <span class="literal">""</span>)
portPart = <span class="literal">":"</span> + port;
start = prot + <span class="literal">"//"</span> + host + portPart + <span class="literal">"/"</span>;
<span class="reserved">if</span> (url.indexOf(start) == 0)
url = url.substring(start.length-1);
}
<span class="reserved">return</span> url;
};
<span class="comment">/**
* Converts all img and a element URLs to absolute URLs. This will use the mce_src or mce_href attribute values
* if they are provided. This function is used when the editor is initialized.
*
* <span class="attrib">@param</span> {HTMLElement} body HTML element to convert all URLs in.
*/</span>
TinyMCE_Engine.<span class="reserved">prototype</span>.convertAllRelativeURLs = <span class="reserved">function</span>(body) {
<span class="comment">// Convert all image URL:s to absolute URL</span>
var elms = body.getElementsByTagName(<span class="literal">"img"</span>);
<span class="reserved">for</span> (var i=0; i&lt;elms.length; i++) {
var src = tinyMCE.getAttrib(elms[i], <span class="literal">'src'</span>);
var msrc = tinyMCE.getAttrib(elms[i], <span class="literal">'mce_src'</span>);
<span class="reserved">if</span> (msrc != <span class="literal">""</span>)
src = msrc;
<span class="reserved">if</span> (src != <span class="literal">""</span>) {
src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], src);
elms[i].setAttribute(<span class="literal">"src"</span>, src);
}
}
<span class="comment">// Convert all link URL:s to absolute URL</span>
var elms = body.getElementsByTagName(<span class="literal">"a"</span>);
<span class="reserved">for</span> (var i=0; i&lt;elms.length; i++) {
var href = tinyMCE.getAttrib(elms[i], <span class="literal">'href'</span>);
var mhref = tinyMCE.getAttrib(elms[i], <span class="literal">'mce_href'</span>);
<span class="reserved">if</span> (mhref != <span class="literal">""</span>)
href = mhref;
<span class="reserved">if</span> (href &amp;&amp; href != <span class="literal">""</span>) {
href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings[<span class="literal">'base_href'</span>], href);
elms[i].setAttribute(<span class="literal">"href"</span>, href);
}
}
};
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,296 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title="TinyMCE_UndoRedo.class.js Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>TinyMCE_UndoRedo.class.js</h2>
</center>
<h4>Summary</h4>
<p>
No overview generated for 'TinyMCE_UndoRedo.class.js'<BR/><BR/>
</p>
<hr>
<table border="1" cellpadding="3" cellspacing="0" width="100%">
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=2><font size="+2">
<b>Class Summary</b>
</font></td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="TinyMCE_UndoRedo.html">TinyMCE_UndoRedo</a></b></td>
<td>&nbsp;</td>
</tr>
</table>
<hr/>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<pre class="sourceview"><span class="comment">/**
* $RCSfile: overview-summary-TinyMCE_UndoRedo.class.js.html,v $
* $Revision: 1.42 $
* $Date: 2006/04/14 20:00:31 $
*
* <span class="attrib">@author</span> Moxiecode
* <span class="attrib">@copyright</span> Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/</span>
<span class="comment">/**
* Constructs a undo redo instance, this instance handles the custom undo/redo handeling in TinyMCE.
*
* <span class="attrib">@param</span> {TinyMCE_Control} inst TinyMCE editor control instance.
* <span class="attrib">@constructor</span>
*/</span>
<span class="reserved">function</span> TinyMCE_UndoRedo(inst) {
<span class="reserved">this</span>.instance = inst;
<span class="reserved">this</span>.undoLevels = new Array();
<span class="reserved">this</span>.undoIndex = 0;
<span class="reserved">this</span>.typingUndoIndex = -1;
<span class="reserved">this</span>.undoRedo = true;
};
TinyMCE_UndoRedo.<span class="reserved">prototype</span> = {
<span class="comment">/**
* Adds a new undo level, this will take a snapshot of the current instance HTML or use the specified level.
*
* <span class="attrib">@param</span> {TinyMCE_UndoRedoLevel} l Optional undo/redo level to add.
* <span class="attrib">@return</span> true/false on success or failure.
* <span class="attrib">@type</span> boolean
*/</span>
add : <span class="reserved">function</span>(l) {
var b;
<span class="reserved">if</span> (l) {
<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoLevels.length] = l;
<span class="reserved">return</span> true;
}
var inst = <span class="reserved">this</span>.instance;
<span class="reserved">if</span> (<span class="reserved">this</span>.typingUndoIndex != -1) {
<span class="reserved">this</span>.undoIndex = <span class="reserved">this</span>.typingUndoIndex;
<span class="comment">// tinyMCE.debug("Override: " + this.undoIndex);</span>
}
var newHTML = tinyMCE.trim(inst.getBody().innerHTML);
<span class="reserved">if</span> (<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex] &amp;&amp; newHTML != <span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].content) {
<span class="comment">//tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex]);</span>
tinyMCE.dispatchCallback(inst, <span class="literal">'onchange_callback'</span>, <span class="literal">'onChange'</span>, inst);
<span class="comment">// Time to compress</span>
var customUndoLevels = tinyMCE.settings[<span class="literal">'custom_undo_redo_levels'</span>];
<span class="reserved">if</span> (customUndoLevels != -1 &amp;&amp; <span class="reserved">this</span>.undoLevels.length &gt; customUndoLevels) {
<span class="reserved">for</span> (var i=0; i&lt;<span class="reserved">this</span>.undoLevels.length-1; i++) {
<span class="comment">//tinyMCE.debug(this.undoLevels[i] + "=" + this.undoLevels[i+1]);</span>
<span class="reserved">this</span>.undoLevels[i] = <span class="reserved">this</span>.undoLevels[i+1];
}
<span class="reserved">this</span>.undoLevels.length--;
<span class="reserved">this</span>.undoIndex--;
}
b = inst.undoBookmark;
<span class="reserved">if</span> (!b)
b = inst.selection.getBookmark();
<span class="reserved">this</span>.undoIndex++;
<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex] = {
content : newHTML,
bookmark : b
};
<span class="reserved">this</span>.undoLevels.length = <span class="reserved">this</span>.undoIndex + 1;
<span class="comment">//tinyMCE.debug("level added" + this.undoIndex);</span>
<span class="reserved">return</span> true;
<span class="comment">// tinyMCE.debug(this.undoIndex + "," + (this.undoLevels.length-1));</span>
}
<span class="reserved">return</span> false;
},
<span class="comment">/**
* Performes a undo action, this will restore the HTML contents of the editor to a former state.
*/</span>
undo : <span class="reserved">function</span>() {
var inst = <span class="reserved">this</span>.instance;
<span class="comment">// Do undo</span>
<span class="reserved">if</span> (<span class="reserved">this</span>.undoIndex &gt; 0) {
<span class="reserved">this</span>.undoIndex--;
tinyMCE.setInnerHTML(inst.getBody(), <span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].content);
inst.repaint();
<span class="reserved">if</span> (inst.settings.custom_undo_redo_restore_selection)
inst.selection.moveToBookmark(<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].bookmark);
}
<span class="comment">// tinyMCE.debug("Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);</span>
},
<span class="comment">/**
* Performes a undo action, this will restore the HTML contents of the editor to a former undoed state.
*/</span>
redo : <span class="reserved">function</span>() {
var inst = <span class="reserved">this</span>.instance;
tinyMCE.execCommand(<span class="literal">"mceEndTyping"</span>);
<span class="reserved">if</span> (<span class="reserved">this</span>.undoIndex &lt; (<span class="reserved">this</span>.undoLevels.length-1)) {
<span class="reserved">this</span>.undoIndex++;
tinyMCE.setInnerHTML(inst.getBody(), <span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].content);
inst.repaint();
<span class="comment">// if (this.undoIndex &gt; 0)</span>
<span class="comment">// inst.selection.moveToBookmark(this.undoLevels[this.undoIndex-1].bookmark);</span>
<span class="reserved">if</span> (inst.settings.custom_undo_redo_restore_selection)
inst.selection.moveToBookmark(<span class="reserved">this</span>.undoLevels[<span class="reserved">this</span>.undoIndex].bookmark);
<span class="comment">// tinyMCE.debug("Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);</span>
}
tinyMCE.triggerNodeChange();
}
};
</pre>
<hr>
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>File</b></font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,231 @@
<!doctype html public "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
<head>
<title>
Overview
</title>
<link rel ="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script>
function asd() {
parent.document.title=" Overview";
}
</script>
</head>
<body bgcolor="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>Overview</b></font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <font class="NavBarFont1">File</font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top">
<em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<center>
<h2>JSDoc Documentation</h2>
</center>
<h4>Summary</h4>
<p>
No summary generated for these documents.
</p>
<hr>
<table border="1" cellpadding="3" cellspacing="0" width="100%">
<tr bgcolor="#CCCCFF" class="TableHeadingColor">
<td colspan=2><font size="+2">
<b>File Summary</b>
</font></td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Array.class.js.html">TinyMCE_Array.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Cleanup.class.js.html">TinyMCE_Cleanup.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Control.class.js.html">TinyMCE_Control.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Debug.class.js.html">TinyMCE_Debug.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_DOMUtils.class.js.html">TinyMCE_DOMUtils.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Engine.class.js.html">TinyMCE_Engine.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Event.class.js.html">TinyMCE_Event.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_ForceParagraphs.class.js.html">TinyMCE_ForceParagraphs.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Layer.class.js.html">TinyMCE_Layer.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Menu.class.js.html">TinyMCE_Menu.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Popup.class.js.html">TinyMCE_Popup.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_Selection.class.js.html">TinyMCE_Selection.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_UndoRedo.class.js.html">TinyMCE_UndoRedo.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
<tr bgcolor="white" class="TableRowColor">
<td width="15%"><b><a href="overview-summary-TinyMCE_URL.class.js.html">TinyMCE_URL.class.js</a></b></td>
<td>&nbsp;</td>
</tr>
</table>
<hr/>
<!-- ========== METHOD SUMMARY =========== -->
<!-- ========== END METHOD SUMMARY =========== -->
<!-- ========== START OF NAVBAR ========== -->
<a name="navbar_top"><!-- --></a>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr>
<td colspan=2 bgcolor="#EEEEFF" class="NavBarCell1">
<a name="navbar_top_firstrow"><!-- --></a>
<table border="0" cellpadding="0" cellspacing="3">
<tr align="center" valign="top">
<td bgcolor="#FFFFFF" class="NavBarCell1Rev"> &nbsp;<font class="NavBarFont1Rev"><b>Overview</b></font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <font class="NavBarFont1">File</font>&nbsp;</td>
<td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a>&nbsp;</td>
<td bgcolor="#EEEEFF" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a>&nbsp;</td>
</tr>
</table>
</td>
<td bgcolor="#EEEEFF" align="right" valign="top"><em>
<b></b></em>
</td>
</tr>
<tr>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</font></td>
<td bgcolor="white" class="NavBarCell2"><font size="-2">
<a href="index.html" target="_top"><b>FRAMES</b></a> &nbsp;
&nbsp;<a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a>
&nbsp;&nbsp;
<script>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</script>
<noscript>
<a href="allclasses-noframe.html" target=""><b>All Classes</b></a>
</noscript>
</font></td>
</tr>
</table>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<font size="-1">
</font>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</body>
</html>

View file

@ -0,0 +1,149 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
Class Hierarchy
</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
<SCRIPT>
function asd()
{
parent.document.title=" Class Hierarchy";
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"><A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><b>Overview</b></A></FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><b>Tree</b></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><b>Index</b></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><b>Help</b></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD BGCOLOR="#FFFFFF" ALIGN="right" VALIGN="top"><EM>
<B></B></EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="overview-summary.html" TARGET="_top"><B>NO FRAMES</B></A>
&nbsp;&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<H2>Class Hierarchy</H2>
<UL><LI TYPE="circle">Object</LI><UL>
<LI TYPE="circle">
<A HREF="TinyMCE_Cleanup.html">
<B>TinyMCE_Cleanup</B></A></LI>
<LI TYPE="circle">
<A HREF="TinyMCE_Control.html">
<B>TinyMCE_Control</B></A></LI>
<LI TYPE="circle">
<A HREF="TinyMCE_Engine.html">
<B>TinyMCE_Engine</B></A></LI>
<LI TYPE="circle">
<A HREF="TinyMCE_Layer.html">
<B>TinyMCE_Layer</B></A></LI>
<LI TYPE="circle">
<A HREF="TinyMCE_Popup.html">
<B>TinyMCE_Popup</B></A></LI>
<LI TYPE="circle">
<A HREF="TinyMCE_Selection.html">
<B>TinyMCE_Selection</B></A></LI>
<LI TYPE="circle">
<A HREF="TinyMCE_UndoRedo.html">
<B>TinyMCE_UndoRedo</B></A></LI>
</UL></UL>
<HR>
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"><A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><b>Overview</b></A></FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">File</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><b>Tree</b></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"--><FONT CLASS="NavBarFont1"><b>Index</b></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><b>Help</b></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD BGCOLOR="#FFFFFF" ALIGN="right" VALIGN="top"><EM>
<B></B></EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="overview-summary.html" TARGET="_top"><B>NO FRAMES</B></A>
&nbsp;&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<hr>
<FONT SIZE="-1">
</FONT>
<div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" parent="_parent">JSDoc</a> on Fri Apr 14 21:59:23 2006</div>
</BODY>
</HTML>

View file

@ -0,0 +1,39 @@
/* JSDoc style sheet */
/* Define colors, fonts and other style attributes here to override the defaults */
/* Page background color */
body { background-color: #FFFFFF }
/* Table colors */
.TableHeadingColor { background: #CCCCFF } /* Dark mauve */
.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */
.TableRowColor { background: #FFFFFF } /* White */
/* Font used in left-hand frame lists */
.FrameTitleFont { font-size: 10pt; font-family: Helvetica, Arial, san-serif }
.FrameHeadingFont { font-size: 10pt; font-family: Helvetica, Arial, san-serif }
.FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, san-serif }
/* Example of smaller, sans-serif font in frames */
/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
/* Navigation bar fonts and colors */
.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */
.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
.jsdoc_ctime { font-family: Arial, Helvetica, sans-serif; font-size: 9pt;
text-align: right }
/* Sourcecode view */
.sourceview { background: #FFFFFF }
.attrib { color: #DD7777 }
.comment { color: #55AA55 }
.reserved { color: #FF5555 }
.literal { color: #5555FF }

View file

@ -0,0 +1,8 @@
// ja-euc-jp language pack
/* Remember to namespace the language parameters lang_<your plugin>_<some name> */
tinyMCE.addToLang('',{
template_title : 'テンプレートのポップアップ',
template_desc : 'テンプレートのボタン'
});

View file

@ -0,0 +1,8 @@
// ja-シフトJIS language pack
/* Remember to namespace the language parameters lang_<your plugin>_<some name> */
tinyMCE.addToLang('',{
template_title : 'テンプレートのポップアップ',
template_desc : 'テンプレートのボタン'
});

View file

@ -0,0 +1,8 @@
// ja-utf-8 language pack
/* Remember to namespace the language parameters lang_<your plugin>_<some name> */
tinyMCE.addToLang('',{
template_title : 'テンプレートのポップアップ',
template_desc : 'テンプレートのボタン'
});

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,252 @@
/**
* $RCSfile: editor_plugin_src.js,v $
* $Revision: 1.2 $
* $Date: 2006/05/03 14:12:12 $
*
* @author Moxiecode
* @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('layer', 'en');
var TinyMCE_LayerPlugin = {
getInfo : function() {
return {
longname : 'Layer',
author : 'Moxiecode Systems',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_layer.html',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
initInstance : function(inst) {
if (tinyMCE.isMSIE && !tinyMCE.isOpera)
inst.getDoc().execCommand('2D-Position');
},
handleEvent : function(e) {
var inst = tinyMCE.selectedInstance, self = TinyMCE_LayerPlugin;
var w = inst.getWin(), le = inst._lastStyleElm, e;
if (tinyMCE.isGecko) {
e = self._getParentLayer(inst.getFocusElement());
if (e) {
if (!inst._lastStyleElm) {
e.style.overflow = 'auto';
inst._lastStyleElm = e;
}
} else if (le) {
le = inst._lastStyleElm;
le.style.width = le.scrollWidth + 'px';
le.style.height = le.scrollHeight + 'px';
le.style.overflow = '';
inst._lastStyleElm = null;
}
}
return true;
},
handleVisualAid : function(el, deep, state, inst) {
var nl = inst.getDoc().getElementsByTagName("div"), i;
for (i=0; i<nl.length; i++) {
if (new RegExp('absolute|relative|static', 'gi').test(nl[i].style.position)) {
if (state)
tinyMCE.addCSSClass(nl[i], 'mceVisualAid');
else
tinyMCE.removeCSSClass(nl[i], 'mceVisualAid');
}
}
},
getControlHTML : function(cn) {
switch (cn) {
case "moveforward":
return tinyMCE.getButtonHTML(cn, 'lang_layer_forward_desc', '{$pluginurl}/images/forward.gif', 'mceMoveForward', true);
case "movebackward":
return tinyMCE.getButtonHTML(cn, 'lang_layer_backward_desc', '{$pluginurl}/images/backward.gif', 'mceMoveBackward', true);
case "absolute":
return tinyMCE.getButtonHTML(cn, 'lang_layer_absolute_desc', '{$pluginurl}/images/absolute.gif', 'mceMakeAbsolute', true);
case "insertlayer":
return tinyMCE.getButtonHTML(cn, 'lang_layer_insertlayer_desc', '{$pluginurl}/images/insert_layer.gif', 'mceInsertLayer', true);
}
return "";
},
execCommand : function(editor_id, element, command, user_interface, value) {
var self = TinyMCE_LayerPlugin;
// Handle commands
switch (command) {
case "mceInsertLayer":
self._insertLayer();
return true;
case "mceMoveForward":
self._move(1);
return true;
case "mceMoveBackward":
self._move(-1);
return true;
case "mceMakeAbsolute":
self._toggleAbsolute();
return true;
}
// Pass to next handler in chain
return false;
},
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
var inst = tinyMCE.getInstanceById(editor_id), self = TinyMCE_LayerPlugin;
var le = self._getParentLayer(inst.getFocusElement());
var p = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonDisabled');
if (p)
tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonNormal');
if (le && le.style.position.toLowerCase() == "absolute") {
tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonSelected');
tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonNormal');
}
},
// Private plugin specific methods
_move : function(d) {
var inst = tinyMCE.selectedInstance, self = TinyMCE_LayerPlugin, i, z = new Array();
var le = self._getParentLayer(inst.getFocusElement()), ci = -1, fi = -1;
var nl = tinyMCE.selectNodes(inst.getBody(), function(n) {
return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
});
// Find z-indexes
for (i=0; i<nl.length; i++) {
z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex) : 0;
if (ci < 0 && nl[i] == le)
ci = i;
}
if (d < 0) {
// Move back
// Try find a lower one
for (i=0; i<z.length; i++) {
if (z[i] < z[ci]) {
fi = i;
break;
}
}
if (fi > -1) {
nl[ci].style.zIndex = z[fi];
nl[fi].style.zIndex = z[ci];
} else {
if (z[ci] > 0)
nl[ci].style.zIndex = z[ci] - 1;
}
} else {
// Move forward
// Try find a higher one
for (i=0; i<z.length; i++) {
if (z[i] > z[ci]) {
fi = i;
break;
}
}
if (fi > -1) {
nl[ci].style.zIndex = z[fi];
nl[fi].style.zIndex = z[ci];
} else
nl[ci].style.zIndex = z[ci] + 1;
}
inst.repaint();
},
_getParentLayer : function(n) {
return tinyMCE.getParentNode(n, function(n) {
return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
});
},
_insertLayer : function() {
var inst = tinyMCE.selectedInstance;
var e = tinyMCE.getParentElement(inst.getFocusElement());
var p = tinyMCE.getAbsPosition(e);
var d = inst.getDoc();
var ne = d.createElement('div');
var h = inst.selection.getSelectedHTML();
// Move div
ne.style.position = 'absolute';
ne.style.left = p.absLeft + 'px';
ne.style.top = (p.absTop > 20 ? p.absTop : 20) + 'px';
ne.style.width = '100px';
ne.style.height = '100px';
ne.className = 'mceVisualAid';
if (!h)
h = tinyMCE.getLang('lang_layer_content');
ne.innerHTML = h;
// Add it
d.body.appendChild(ne);
},
_toggleAbsolute : function() {
var inst = tinyMCE.selectedInstance, self = TinyMCE_LayerPlugin;
var le = self._getParentLayer(inst.getFocusElement());
if (le == null)
le = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
if (le) {
if (le.style.position.toLowerCase() == "absolute") {
le.style.position = "";
le.style.left = "";
le.style.top = "";
} else {
le.style.position = "absolute";
if (le.style.left == "")
le.style.left = 20 + 'px';
if (le.style.top == "")
le.style.top = 20 + 'px';
if (le.style.width == "")
le.style.width = le.width ? (le.width + 'px') : '100px';
if (le.style.height == "")
le.style.height = le.height ? (le.height + 'px') : '100px';
tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
}
inst.repaint();
tinyMCE.triggerNodeChange();
}
}
};
tinyMCE.addPlugin("layer", TinyMCE_LayerPlugin);

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

View file

@ -0,0 +1,9 @@
// UK lang variables
tinyMCE.addToLang('layer',{
insertlayer_desc : 'Insert new layer',
forward_desc : 'Move forward',
backward_desc : 'Move backward',
absolute_desc : 'Toggle absolute positioning',
content : 'New layer...'
});

View file

@ -0,0 +1,9 @@
// FI lang variables
tinyMCE.addToLang('layer',{
insertlayer_desc : 'Lis&auml;&auml; uusi taso',
forward_desc : 'Liiku eteenp&auml;in',
backward_desc : 'Liiku taaksep&auml;in',
absolute_desc : 'Kytke absoluuttinen asettelu p&auml;&auml;lle/pois',
content : 'Uusi taso...'
});

View file

@ -0,0 +1,9 @@
// UK lang variables
tinyMCE.addToLang('layer',{
insertlayer_desc : 'Ins&eacute;rer un nouveau calque',
forward_desc : 'Avancer',
backward_desc : 'Reculer',
absolute_desc : 'Passer en positionnement absolu',
content : 'Nouveau calque...'
});

View file

@ -0,0 +1,9 @@
// IT lang variables
tinyMCE.addToLang('layer',{
insertlayer_desc : 'Inserisci nuovo layer',
forward_desc : 'Sposta verso l\'alto',
backward_desc : 'Sposta verso il basso',
absolute_desc : 'Abilita o disabilita posizionamento assoluto',
content : 'Nuovo livello...'
});

View file

@ -0,0 +1 @@
Check the TinyMCE documentation for details on this plugin.

View file

@ -0,0 +1,63 @@
#text_font {
width: 250px;
}
#text_size {
width: 70px;
}
.mceAddSelectValue {
background-color: #DDDDDD;
}
select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {
width: 70px;
}
#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {
width: 70px;
}
#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {
width: 70px;
}
#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {
width: 70px;
}
.panel_wrapper div.current {
padding-top: 10px;
height: 230px;
}
.delim {
b2ackground-color: #DDDDDD;
border-left: 1px solid gray;
}
.tdelim {
border-bottom: 1px solid gray;
}
#block_display {
width: 145px;
}
#list_type {
width: 115px;
}
.disabled {
background-color: #EEEEEE;
}
#apply {
font-weight: bold;
width: 78px;
height: 21px;
border: 0;
background-image: url('../images/apply_button_bg.gif');
cursor: pointer;
}

View file

@ -0,0 +1 @@
tinyMCE.importPluginLanguagePack('style','en');var TinyMCE_StylePlugin={getInfo:function(){return{longname:'Style',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_style.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"styleprops":return tinyMCE.getButtonHTML(cn,'lang_style_styleinfo_desc','{$pluginurl}/images/style_info.gif','mceStyleProps',true);}return"";},execCommand:function(editor_id,element,command,user_interface,value){var e,inst;switch(command){case"mceStyleProps":TinyMCE_StylePlugin._styleProps();return true;case"mceSetElementStyle":inst=tinyMCE.getInstanceById(editor_id);e=inst.selection.getFocusElement();if(e){e.style.cssText=value;inst.repaint();}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){},_styleProps:function(){var e=tinyMCE.selectedInstance.selection.getFocusElement();if(!e)return;tinyMCE.openWindow({file:'../../plugins/style/props.htm',width:480+tinyMCE.getLang('lang_style_props_delta_width',0),height:320+tinyMCE.getLang('lang_style_props_delta_height',0)},{editor_id:tinyMCE.selectedInstance.editorId,inline:"yes",style_text:e.style.cssText});}};tinyMCE.addPlugin("style",TinyMCE_StylePlugin);

View file

@ -0,0 +1,81 @@
/**
* $RCSfile: editor_plugin_src.js,v $
* $Revision: 1.1 $
* $Date: 2006/05/03 10:46:42 $
*
* @author Moxiecode
* @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('style', 'en');
var TinyMCE_StylePlugin = {
getInfo : function() {
return {
longname : 'Style',
author : 'Moxiecode Systems',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_style.html',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
getControlHTML : function(cn) {
switch (cn) {
case "styleprops":
return tinyMCE.getButtonHTML(cn, 'lang_style_styleinfo_desc', '{$pluginurl}/images/style_info.gif', 'mceStyleProps', true);
}
return "";
},
execCommand : function(editor_id, element, command, user_interface, value) {
var e, inst;
// Handle commands
switch (command) {
case "mceStyleProps":
TinyMCE_StylePlugin._styleProps();
return true;
case "mceSetElementStyle":
inst = tinyMCE.getInstanceById(editor_id);
e = inst.selection.getFocusElement();
if (e) {
e.style.cssText = value;
inst.repaint();
}
return true;
}
// Pass to next handler in chain
return false;
},
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
},
// Private plugin specific methods
_styleProps : function() {
var e = tinyMCE.selectedInstance.selection.getFocusElement();
if (!e)
return;
tinyMCE.openWindow({
file : '../../plugins/style/props.htm',
width : 480 + tinyMCE.getLang('lang_style_props_delta_width', 0),
height : 320 + tinyMCE.getLang('lang_style_props_delta_height', 0)
}, {
editor_id : tinyMCE.selectedInstance.editorId,
inline : "yes",
style_text : e.style.cssText
});
}
};
tinyMCE.addPlugin("style", TinyMCE_StylePlugin);

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

View file

@ -0,0 +1,630 @@
var defaultFonts = "" +
"Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" +
"Times New Roman, Times, serif=Times New Roman, Times, serif;" +
"Courier New, Courier, mono=Courier New, Courier, mono;" +
"Times New Roman, Times, serif=Times New Roman, Times, serif;" +
"Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" +
"Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" +
"Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";
var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
var defaultMeasurement = "+pixels=px;points=pt;in;cm;mm;picas;ems;exs;%";
var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%";
var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%";
var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
var defaultTextStyle = "normal;italic;oblique";
var defaultVariant = "normal;small-caps";
var defaultLineHeight = "normal";
var defaultAttachment = "fixed;scroll";
var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y";
var defaultPosH = "left;center;right";
var defaultPosV = "top;center;bottom";
var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom";
var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none";
var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset";
var defaultBorderWidth = "thin;medium;thick";
var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none";
function init() {
var ce = document.getElementById('container');
ce.style.cssText = tinyMCEPopup.getWindowArg('style_text');
tinyMCEPopup.resizeToInnerSize();
document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color');
document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color');
document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top');
document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right');
document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom');
document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left');
fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true);
fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true);
fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true);
fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true);
fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true);
fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true);
fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true);
fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true);
fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true);
fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true);
fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true);
fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true);
fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true);
fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true);
fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true);
fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true);
fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true);
fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true);
fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true);
fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true);
fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true);
fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true);
fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true);
fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true);
fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true);
fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true);
fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true);
fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true);
fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true);
fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true);
fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true);
fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true);
fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true);
fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true);
fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true);
fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true);
TinyMCE_EditableSelects.init();
setupFormData();
showDisabledControls();
}
function setupFormData() {
var ce = document.getElementById('container'), f = document.forms[0], s, b, i;
// Setup text fields
selectByValue(f, 'text_font', ce.style.fontFamily, true, true);
selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true);
selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize));
selectByValue(f, 'text_weight', ce.style.fontWeight, true, true);
selectByValue(f, 'text_style', ce.style.fontStyle, true, true);
selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true);
selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight));
selectByValue(f, 'text_case', ce.style.textTransform, true, true);
selectByValue(f, 'text_variant', ce.style.fontVariant, true, true);
f.text_color.value = ce.style.color;
updateColor('text_color_pick', 'text_color');
f.text_underline.checked = inStr(ce.style.textDecoration, 'underline');
f.text_overline.checked = inStr(ce.style.textDecoration, 'overline');
f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through');
f.text_blink.checked = inStr(ce.style.textDecoration, 'blink');
// Setup background fields
f.background_color.value = ce.style.backgroundColor;
updateColor('background_color_pick', 'background_color');
f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true);
selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true);
selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true);
selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0)));
selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true);
selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1)));
// Setup block fields
selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true);
selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing));
selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true);
selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing));
selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true);
selectByValue(f, 'block_text_align', ce.style.textAlign, true, true);
f.block_text_indent.value = getNum(ce.style.textIndent);
selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent));
selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true);
selectByValue(f, 'block_display', ce.style.display, true, true);
// Setup box fields
f.box_width.value = getNum(ce.style.width);
selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width));
f.box_height.value = getNum(ce.style.height);
selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height));
if (tinyMCE.isGecko)
selectByValue(f, 'box_float', ce.style.cssFloat, true, true);
else
selectByValue(f, 'box_float', ce.style.styleFloat, true, true);
selectByValue(f, 'box_clear', ce.style.clear, true, true);
setupBox(f, ce, 'box_padding', 'padding', '');
setupBox(f, ce, 'box_margin', 'margin', '');
// Setup border fields
setupBox(f, ce, 'border_style', 'border', 'Style');
setupBox(f, ce, 'border_width', 'border', 'Width');
setupBox(f, ce, 'border_color', 'border', 'Color');
updateColor('border_color_top_pick', 'border_color_top');
updateColor('border_color_right_pick', 'border_color_right');
updateColor('border_color_bottom_pick', 'border_color_bottom');
updateColor('border_color_left_pick', 'border_color_left');
// Setup list fields
selectByValue(f, 'list_type', ce.style.listStyleType, true, true);
selectByValue(f, 'list_position', ce.style.listStylePosition, true, true);
f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
// Setup box fields
selectByValue(f, 'positioning_type', ce.style.position, true, true);
selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true);
selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true);
f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : "";
f.positioning_width.value = getNum(ce.style.width);
selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width));
f.positioning_height.value = getNum(ce.style.height);
selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height));
setupBox(f, ce, 'positioning_placement', '', '', new Array('top', 'right', 'bottom', 'left'));
s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1");
s = s.replace(/,/g, ' ');
if (!hasEqualValues(new Array(getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)))) {
f.positioning_clip_top.value = getNum(getVal(s, 0));
selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
f.positioning_clip_right.value = getNum(getVal(s, 1));
selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1)));
f.positioning_clip_bottom.value = getNum(getVal(s, 2));
selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2)));
f.positioning_clip_left.value = getNum(getVal(s, 3));
selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3)));
} else {
f.positioning_clip_top.value = getNum(getVal(s, 0));
selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value;
}
// setupBox(f, ce, '', 'border', 'Color');
}
function getMeasurement(s) {
return s.replace(/^([0-9]+)(.*)$/, "$2");
}
function getNum(s) {
if (new RegExp('^[0-9]+[a-z%]+$', 'gi').test(s))
return s.replace(/[^0-9]/g, '');
return s;
}
function inStr(s, n) {
return new RegExp(n, 'gi').test(s);
}
function getVal(s, i) {
var a = tinyMCE.explode(' ', s);
if (a.length > 1)
return a[i];
return "";
}
function setValue(f, n, v) {
if (f.elements[n].type == "text")
f.elements[n].value = v;
else
selectByValue(f, n, v, true, true);
}
function setupBox(f, ce, fp, pr, sf, b) {
if (typeof(b) == "undefined")
b = new Array('Top', 'Right', 'Bottom', 'Left');
if (isSame(ce, pr, sf, b)) {
f.elements[fp + "_same"].checked = true;
setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
f.elements[fp + "_top"].disabled = false;
f.elements[fp + "_right"].value = "";
f.elements[fp + "_right"].disabled = true;
f.elements[fp + "_bottom"].value = "";
f.elements[fp + "_bottom"].disabled = true;
f.elements[fp + "_left"].value = "";
f.elements[fp + "_left"].disabled = true;
if (f.elements[fp + "_top_measurement"]) {
selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
f.elements[fp + "_left_measurement"].disabled = true;
f.elements[fp + "_bottom_measurement"].disabled = true;
f.elements[fp + "_right_measurement"].disabled = true;
}
} else {
f.elements[fp + "_same"].checked = false;
setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
f.elements[fp + "_top"].disabled = false;
setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf]));
f.elements[fp + "_right"].disabled = false;
setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf]));
f.elements[fp + "_bottom"].disabled = false;
setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf]));
f.elements[fp + "_left"].disabled = false;
if (f.elements[fp + "_top_measurement"]) {
selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf]));
selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf]));
selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf]));
f.elements[fp + "_left_measurement"].disabled = false;
f.elements[fp + "_bottom_measurement"].disabled = false;
f.elements[fp + "_right_measurement"].disabled = false;
}
}
}
function isSame(e, pr, sf, b) {
var a = new Array(), i, x;
if (typeof(b) == "undefined")
b = new Array('Top', 'Right', 'Bottom', 'Left');
if (typeof(sf) == "undefined" || sf == null)
sf = "";
a[0] = e.style[pr + b[0] + sf];
a[1] = e.style[pr + b[1] + sf];
a[2] = e.style[pr + b[2] + sf];
a[3] = e.style[pr + b[3] + sf];
for (i=0; i<a.length; i++) {
if (a[i] == null)
return false;
for (x=0; x<a.length; x++) {
if (a[x] != a[i])
return false;
}
}
return true;
};
function hasEqualValues(a) {
var i, x;
for (i=0; i<a.length; i++) {
if (a[i] == null)
return false;
for (x=0; x<a.length; x++) {
if (a[x] != a[i])
return false;
}
}
return true;
}
function applyAction() {
var ce = document.getElementById('container');
generateCSS();
tinyMCEPopup.execCommand('mceSetElementStyle', false, tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText)));
}
function updateAction() {
applyAction();
tinyMCEPopup.close();
}
function generateCSS() {
var ce = document.getElementById('container'), f = document.forms[0], num = new RegExp('[0-9]+', 'g'), s, t;
ce.style.cssText = "";
// Build text styles
ce.style.fontFamily = f.text_font.value;
ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? f.text_size_measurement.value : "");
ce.style.fontStyle = f.text_style.value;
ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : "");
ce.style.textTransform = f.text_case.value;
ce.style.fontWeight = f.text_weight.value;
ce.style.fontVariant = f.text_variant.value;
ce.style.color = f.text_color.value;
s = "";
s += f.text_underline.checked ? " underline" : "";
s += f.text_overline.checked ? " overline" : "";
s += f.text_linethrough.checked ? " line-through" : "";
s += f.text_blink.checked ? " blink" : "";
s = s.length > 0 ? s.substring(1) : s;
if (f.text_none.checked)
s = "none";
ce.style.textDecoration = s;
// Build background styles
ce.style.backgroundColor = f.background_color.value;
ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : "";
ce.style.backgroundRepeat = f.background_repeat.value;
ce.style.backgroundAttachment = f.background_attachment.value;
if (f.background_hpos.value != "") {
s = "";
s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " ";
s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : "");
ce.style.backgroundPosition = s;
}
// Build block styles
ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : "");
ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : "");
ce.style.verticalAlign = f.block_vertical_alignment.value;
ce.style.textAlign = f.block_text_align.value;
ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : "");
ce.style.whiteSpace = f.block_whitespace.value;
ce.style.display = f.block_display.value;
// Build box styles
ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : "");
ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : "");
ce.style.styleFloat = f.box_float.value;
if (tinyMCE.isGecko)
ce.style.cssFloat = f.box_float.value;
ce.style.clear = f.box_clear.value;
if (!f.box_padding_same.checked) {
ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");
ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : "");
ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : "");
ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : "");
} else
ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");
if (!f.box_margin_same.checked) {
ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");
ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : "");
ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : "");
ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : "");
} else
ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");
// Build border styles
if (!f.border_style_same.checked) {
ce.style.borderTopStyle = f.border_style_top.value;
ce.style.borderRightStyle = f.border_style_right.value;
ce.style.borderBottomStyle = f.border_style_bottom.value;
ce.style.borderLeftStyle = f.border_style_left.value;
} else
ce.style.borderStyle = f.border_style_top.value;
if (!f.border_width_same.checked) {
ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : "");
ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : "");
ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : "");
ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : "");
} else
ce.style.borderWidth = f.border_width_top.value;
if (!f.border_color_same.checked) {
ce.style.borderTopColor = f.border_color_top.value;
ce.style.borderRightColor = f.border_color_right.value;
ce.style.borderBottomColor = f.border_color_bottom.value;
ce.style.borderLeftColor = f.border_color_left.value;
} else
ce.style.borderColor = f.border_color_top.value;
// Build list styles
ce.style.listStyleType = f.list_type.value;
ce.style.listStylePosition = f.list_position.value;
ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : "";
// Build positioning styles
ce.style.position = f.positioning_type.value;
ce.style.visibility = f.positioning_visibility.value;
if (ce.style.width == "")
ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : "");
if (ce.style.height == "")
ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : "");
ce.style.zIndex = f.positioning_zindex.value;
ce.style.overflow = f.positioning_overflow.value;
if (!f.positioning_placement_same.checked) {
ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : "");
ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : "");
ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : "");
} else {
s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
ce.style.top = s;
ce.style.right = s;
ce.style.bottom = s;
ce.style.left = s;
}
if (!f.positioning_clip_same.checked) {
s = "rect(";
s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " ";
s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " ";
s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " ";
s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto");
s += ")";
if (s != "rect(auto auto auto auto)")
ce.style.clip = s;
} else {
s = "rect(";
t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto";
s += t + " ";
s += t + " ";
s += t + " ";
s += t + ")";
if (s != "rect(auto auto auto auto)")
ce.style.clip = s;
}
ce.style.cssText = tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText));
}
function isNum(s) {
return new RegExp('[0-9]+', 'g').test(s);
}
function showDisabledControls() {
var f = document.forms, i, a;
for (i=0; i<f.length; i++) {
for (a=0; a<f[i].elements.length; a++) {
if (f[i].elements[a].disabled)
tinyMCE.addCSSClass(f[i].elements[a], "disabled");
else
tinyMCE.removeCSSClass(f[i].elements[a], "disabled");
}
}
}
function fillSelect(f, s, param, dval, sep, em) {
var i, ar, p, se;
f = document.forms[f];
sep = typeof(sep) == "undefined" ? ";" : sep;
if (em)
addSelectValue(f, s, "", "");
ar = tinyMCE.getParam(param, dval).split(sep);
for (i=0; i<ar.length; i++) {
se = false;
if (ar[i].charAt(0) == '+') {
ar[i] = ar[i].substring(1);
se = true;
}
p = ar[i].split('=');
if (p.length > 1) {
addSelectValue(f, s, p[0], p[1]);
if (se)
selectByValue(f, s, p[1]);
} else {
addSelectValue(f, s, p[0], p[0]);
if (se)
selectByValue(f, s, p[0]);
}
}
}
function toggleSame(ce, pre) {
var el = document.forms[0].elements, i;
if (ce.checked) {
el[pre + "_top"].disabled = false;
el[pre + "_right"].disabled = true;
el[pre + "_bottom"].disabled = true;
el[pre + "_left"].disabled = true;
if (el[pre + "_top_measurement"]) {
el[pre + "_top_measurement"].disabled = false;
el[pre + "_right_measurement"].disabled = true;
el[pre + "_bottom_measurement"].disabled = true;
el[pre + "_left_measurement"].disabled = true;
}
} else {
el[pre + "_top"].disabled = false;
el[pre + "_right"].disabled = false;
el[pre + "_bottom"].disabled = false;
el[pre + "_left"].disabled = false;
if (el[pre + "_top_measurement"]) {
el[pre + "_top_measurement"].disabled = false;
el[pre + "_right_measurement"].disabled = false;
el[pre + "_bottom_measurement"].disabled = false;
el[pre + "_left_measurement"].disabled = false;
}
}
showDisabledControls();
}
function synch(fr, to) {
var f = document.forms[0];
f.elements[to].value = f.elements[fr].value;
if (f.elements[fr + "_measurement"])
selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value);
}

View file

@ -0,0 +1,60 @@
// UK lang variables
tinyMCE.addToLang('style',{
title : 'CSS Stil editieren',
styleinfo_desc : 'CSS Stil editieren',
text_tab : 'Text',
background_tab : 'Hintergrund',
block_tab : 'Block',
box_tab : 'Box',
border_tab : 'Rahmen',
list_tab : 'Liste',
positioning_tab : 'Positionierung',
text_props : 'Text',
text_font : 'Schriftart',
text_size : 'Grösse',
text_weight : 'Dicke',
text_style : 'Stil',
text_variant : 'Variante',
text_lineheight : 'Linienhöhe',
text_case : 'Gross-/Kleinbuchstaben',
text_color : 'Farbe',
text_decoration : 'Dekoration',
background_color : 'Hintergrundfarbe',
background_image : 'Hintergrundfoto',
background_repeat : 'Wiederholen',
background_attachment : 'Anhang',
background_hpos : 'Horizontale Position',
background_vpos : 'Vertikale Position',
block_wordspacing : 'Wortabstand',
block_letterspacing : 'Zeichenabstand',
block_vertical_alignment : 'Vertikale Ausrichtung',
block_text_align : 'Horizontale Ausrichtung',
block_text_indent : 'Texteinrückung',
block_whitespace : 'Textumbruch',
block_display : 'Anzeigeart',
box_width : 'Breite',
box_height : 'Höhe',
box_float : 'Text umfliessen',
box_clear : 'Text umfliessen beenden',
padding : 'Innenabstand',
same : 'Das gleiche für alle',
top : 'Oben',
right : 'Rechts',
bottom : 'Unten',
left : 'Links',
margin : 'Aussenabstand',
style : 'Stil',
width : 'Breite',
height : 'Höhe',
color : 'Farbe',
list_type : 'Listentyp',
bullet_image : 'Grafik',
position : 'Position',
positioning_type : 'Typ',
visibility : 'Sichtbarkeit',
zindex : 'Z-index',
overflow : 'Überfluss',
placement : 'Plazierung',
clip : 'Abschneiden'
});

View file

@ -0,0 +1,66 @@
// UK lang variables
tinyMCE.addToLang('style',{
title : 'Edit CSS Style',
styleinfo_desc : 'Edit CSS Style',
apply : 'Apply',
text_tab : 'Text',
background_tab : 'Background',
block_tab : 'Block',
box_tab : 'Box',
border_tab : 'Border',
list_tab : 'List',
positioning_tab : 'Positioning',
text_props : 'Text',
text_font : 'Font',
text_size : 'Size',
text_weight : 'Weight',
text_style : 'Style',
text_variant : 'Variant',
text_lineheight : 'Line height',
text_case : 'Case',
text_color : 'Color',
text_decoration : 'Decoration',
text_overline : 'overline',
text_underline : 'underline',
text_striketrough : 'strikethrough',
text_blink : 'blink',
text_none : 'none',
background_color : 'Background color',
background_image : 'Background image',
background_repeat : 'Repeat',
background_attachment : 'Attachment',
background_hpos : 'Horizontal position',
background_vpos : 'Vertical position',
block_wordspacing : 'Word spacing',
block_letterspacing : 'Letter spacing',
block_vertical_alignment : 'Vertical alignment',
block_text_align : 'Text align',
block_text_indent : 'Text indent',
block_whitespace : 'Whitespace',
block_display : 'Display',
box_width : 'Width',
box_height : 'Height',
box_float : 'Float',
box_clear : 'Clear',
padding : 'Padding',
same : 'Same for all',
top : 'Top',
right : 'Right',
bottom : 'Bottom',
left : 'Left',
margin : 'Margin',
style : 'Style',
width : 'Width',
height : 'Height',
color : 'Color',
list_type : 'Type',
bullet_image : 'Bullet image',
position : 'Position',
positioning_type : 'Type',
visibility : 'Visibility',
zindex : 'Z-index',
overflow : 'Overflow',
placement : 'Placement',
clip : 'Clip'
});

View file

@ -0,0 +1,66 @@
// FI lang variables
tinyMCE.addToLang('style',{
title : 'Muokkaa CSS tyyli&auml;',
styleinfo_desc : 'Muokkaa CSS tyyli&auml;',
apply : 'P&auml;ivit&auml;',
text_tab : 'Teksti',
background_tab : 'Tausta',
block_tab : 'Lohko',
box_tab : 'Laatikko',
border_tab : 'Reunaviiva',
list_tab : 'Lista',
positioning_tab : 'Asettelu',
text_props : 'Teksti',
text_font : 'Kirjasin',
text_size : 'Koko',
text_weight : 'Lihavointi',
text_style : 'Tyyli',
text_variant : 'Variantti',
text_lineheight : 'Rivikorkeus',
text_case : 'Isot/pienet kirjaimet',
text_color : 'V&auml;ri',
text_decoration : 'Koristelu',
text_overline : 'ylleviivaus',
text_underline : 'alleviivaus',
text_striketrough : 'yliviivaus',
text_blink : 'vilkkuva',
text_none : 'ei mit&auml;&auml;n',
background_color : 'Taustav&auml;ri',
background_image : 'Taustakuva',
background_repeat : 'Toisto',
background_attachment : 'Kiinnitys',
background_hpos : 'Vaakasijoitus',
background_vpos : 'Pystysijoitus',
block_wordspacing : 'Sanav&auml;litys',
block_letterspacing : 'Kirjainv&auml;litys',
block_vertical_alignment : 'Pystyasettelu',
block_text_align : 'Tekstin tasaus',
block_text_indent : 'Tekstin sisennys',
block_whitespace : 'Rivitys',
block_display : 'N&auml;ytt&ouml;tapa',
box_width : 'Leveys',
box_height : 'Korkeus',
box_float : 'Float',
box_clear : 'Clear',
padding : 'T&auml;yte',
same : 'Sama kaikille',
top : 'Yl&auml;',
right : 'Oikea',
bottom : 'Ala',
left : 'Vasen',
margin : 'Marginaali',
style : 'Tyyli',
width : 'Leveys',
height : 'Korkeus',
color : 'V&auml;ri',
list_type : 'Tyyppi',
bullet_image : 'Luettelokuva',
position : 'Paikka',
positioning_type : 'Tyyppi',
visibility : 'N&auml;kyvyys',
zindex : 'Z-indeksi',
overflow : 'Overflow',
placement : 'Asettelu',
clip : 'Clip'
});

View file

@ -0,0 +1,66 @@
// FR lang variables
tinyMCE.addToLang('style',{
title : 'Edtiteur de style CSS',
styleinfo_desc : 'Edtiteur de style CSS',
apply : 'Appliquer',
text_tab : 'Texte',
background_tab : 'Fond',
block_tab : 'Bloc',
box_tab : 'Boite',
border_tab : 'Bord',
list_tab : 'Liste',
positioning_tab : 'Positionnement',
text_props : 'Texte',
text_font : 'Fonte',
text_size : 'Taille',
text_weight : 'Poid',
text_style : 'Style',
text_variant : 'Variant',
text_lineheight : 'Hauteur de ligne',
text_case : 'Casse',
text_color : 'Couleur',
text_decoration : 'Décoration',
text_overline : 'surligné',
text_underline : 'souligné',
text_striketrough : 'barré',
text_blink : 'clignotant',
text_none : 'aucun',
background_color : 'Couleur de fond',
background_image : 'Image de fond',
background_repeat : 'Répéter',
background_attachment : 'Attacher',
background_hpos : 'Position horizontal',
background_vpos : 'Position vertical',
block_wordspacing : 'Espace entre les mots',
block_letterspacing : 'Espace entre les lettres',
block_vertical_alignment : 'Aligenement vertical',
block_text_align : 'Aligement du texte',
block_text_indent : 'Indentation du texte',
block_whitespace : 'Espace',
block_display : 'Afficher',
box_width : 'Largeur',
box_height : 'Hauteur',
box_float : 'Float',
box_clear : 'Clear',
padding : 'Padding',
same : 'Identique pour tous',
top : 'Haut',
right : 'Droite',
bottom : 'Bas',
left : 'Gauche',
margin : 'Marge',
style : 'Style',
width : 'Largeur',
height : 'Hauteur',
color : 'Couleur',
list_type : 'Type',
bullet_image : 'Bullet image',
position : 'Position',
positioning_type : 'Type',
visibility : 'Visibilité',
zindex : 'Z-index',
overflow : 'Overflow',
placement : 'Placement',
clip : 'Clip'
});

View file

@ -0,0 +1,60 @@
// IT lang variables
tinyMCE.addToLang('style',{
title : 'Modifica stile CSS',
styleinfo_desc : 'Modifica stile CSS',
text_tab : 'Testo',
background_tab : 'Sfondo',
block_tab : 'Blocco',
box_tab : 'Box',
border_tab : 'Bordo',
list_tab : 'Lista',
positioning_tab : 'Posizionamento',
text_props : 'Testo',
text_font : 'Font',
text_size : 'Dimensione',
text_weight : 'Peso',
text_style : 'Stile',
text_variant : 'Variante',
text_lineheight : 'Altezza linea',
text_case : 'Caso',
text_color : 'Colore',
text_decoration : 'Decorazione',
background_color : 'Colore di sfondo',
background_image : 'Immagine di sfondo',
background_repeat : 'Ripeti',
background_attachment : 'Ancoraggio',
background_hpos : 'Posizione orizzontale',
background_vpos : 'Posizione verticale',
block_wordspacing : 'Spaziatura parole',
block_letterspacing : 'Spaziatura lettere',
block_vertical_alignment : 'Allineamento verticale',
block_text_align : 'Allineamento del testo',
block_text_indent : 'Indentazione del testo',
block_whitespace : 'Whitespace',
block_display : 'Display',
box_width : 'Larghezza',
box_height : 'Altezza',
box_float : 'Float',
box_clear : 'Clear',
padding : 'Spaziatura interna',
same : 'Uguale per tutti',
top : 'Alto',
right : 'Destra',
bottom : 'Basso',
left : 'Sinistra',
margin : 'Margine esterno',
style : 'Stile',
width : 'Larghezza',
height : 'Altezza',
color : 'Colore',
list_type : 'Tipo',
bullet_image : 'Immagine punto elenco',
position : 'Posizionamento',
positioning_type : 'Tipo',
visibility : 'Visibilit&agrave;',
zindex : 'Z-index',
overflow : 'Overflow',
placement : 'Piazzamento',
clip : 'Clip'
});

View file

@ -0,0 +1,580 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_style_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/props.js"></script>
<link href="css/props.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="styleprops" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="updateAction();return false;" action="#">
<div class="tabs">
<ul>
<li id="text_tab" class="current"><span><a href="javascript:mcTabs.displayTab('text_tab','text_panel');" onmousedown="return false;">{$lang_style_text_tab}</a></span></li>
<li id="background_tab"><span><a href="javascript:mcTabs.displayTab('background_tab','background_panel');" onmousedown="return false;">{$lang_style_background_tab}</a></span></li>
<li id="block_tab"><span><a href="javascript:mcTabs.displayTab('block_tab','block_panel');" onmousedown="return false;">{$lang_style_block_tab}</a></span></li>
<li id="box_tab"><span><a href="javascript:mcTabs.displayTab('box_tab','box_panel');" onmousedown="return false;">{$lang_style_box_tab}</a></span></li>
<li id="border_tab"><span><a href="javascript:mcTabs.displayTab('border_tab','border_panel');" onmousedown="return false;">{$lang_style_border_tab}</a></span></li>
<li id="list_tab"><span><a href="javascript:mcTabs.displayTab('list_tab','list_panel');" onmousedown="return false;">{$lang_style_list_tab}</a></span></li>
<li id="positioning_tab"><span><a href="javascript:mcTabs.displayTab('positioning_tab','positioning_panel');" onmousedown="return false;">{$lang_style_positioning_tab}</a></span></li>
</ul>
</div>
<div class="panel_wrapper">
<div id="text_panel" class="panel current">
<table border="0" width="100%">
<tr>
<td><label for="text_font">{$lang_style_text_font}</label></td>
<td colspan="3">
<select id="text_font" name="text_font" class="mceEditableSelect" onchange="alert(this.options[this.selectedIndex].value);"></select>
</td>
</tr>
<tr>
<td><label for="text_size">{$lang_style_text_size}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0"><tr>
<td><select id="text_size" name="text_size" class="mceEditableSelect"></select></td>
<td>&nbsp;<select id="text_size_measurement" name="text_size_measurement"></select>
</tr></table>
</td>
<td><label for="text_weight">{$lang_style_text_weight}</label></td>
<td>
<select id="text_weight" name="text_weight"></select>
</td>
</tr>
<tr>
<td><label for="text_style">{$lang_style_text_style}</label></td>
<td>
<select id="text_style" name="text_style" class="mceEditableSelect"></select>
</td>
<td><label for="text_variant">{$lang_style_text_variant}</label></td>
<td>
<select id="text_variant" name="text_variant"></select>
</td>
</tr>
<tr>
<td><label for="text_lineheight">{$lang_style_text_lineheight}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0"><tr><td>
<select id="text_lineheight" name="text_lineheight" class="mceEditableSelect"></select>
</td><td>&nbsp;<select id="text_lineheight_measurement" name="text_lineheight_measurement"></select>
</tr></table>
</td>
<td><label for="text_case">{$lang_style_text_case}</label></td>
<td>
<select id="text_case" name="text_case"></select>
</td>
</tr>
<tr>
<td><label for="text_color">{$lang_style_text_color}</label></td>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="text_color" name="text_color" type="text" value="" size="9" onchange="updateColor('text_color_pick','text_color');" /></td>
<td id="text_color_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_text_decoration}</td>
<td colspan="2">
<table border="0" cellspacing="0" cellpadding="0">
<tr><td><input id="text_underline" name="text_underline" class="checkbox" type="checkbox" /></td><td><label for="text_underline">underline</label></td></tr>
<tr><td><input id="text_overline" name="text_overline" class="checkbox" type="checkbox" /></td><td><label for="text_overline">overline</label></td></tr>
<tr><td><input id="text_linethrough" name="text_linethrough" class="checkbox" type="checkbox" /></td><td><label for="text_linethrough">line-through</label></td></tr>
<tr><td><input id="text_blink" name="text_blink" class="checkbox" type="checkbox" /></td><td><label for="text_blink">blink</label></td></tr>
<tr><td><input id="text_none" name="text_none" class="checkbox" type="checkbox" /></td><td><label for="text_none">none</label></td></tr>
</table>
</td>
</tr>
</table>
</div>
<div id="background_panel" class="panel">
<table border="0">
<tr>
<td><label for="background_color">{$lang_style_background_color}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="background_color" name="background_color" type="text" value="" size="9" onchange="updateColor('background_color_pick','background_color');" /></td>
<td id="background_color_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><label for="background_image">{$lang_style_background_image}</label></td>
<td><input id="background_image" name="background_image" type="text" /></td>
</tr>
<tr>
<td><label for="background_repeat">{$lang_style_background_repeat}</label></td>
<td><select id="background_repeat" name="background_repeat" class="mceEditableSelect"></select></td>
</tr>
<tr>
<td><label for="background_attachment">{$lang_style_background_attachment}</label></td>
<td><select id="background_attachment" name="background_attachment" class="mceEditableSelect"></select></td>
</tr>
<tr>
<td><label for="background_hpos">{$lang_style_background_hpos}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><select id="background_hpos" name="background_hpos" class="mceEditableSelect"></select></td>
<td>&nbsp;<select id="background_hpos_measurement" name="background_hpos_measurement"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="background_vpos">{$lang_style_background_vpos}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><select id="background_vpos" name="background_vpos" class="mceEditableSelect"></select></td>
<td>&nbsp;<select id="background_vpos_measurement" name="background_vpos_measurement"></select>
</tr></table>
</td>
</tr>
</table>
</div>
<div id="block_panel" class="panel">
<table border="0">
<tr>
<td><label for="block_wordspacing">{$lang_style_block_wordspacing}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><select id="block_wordspacing" name="block_wordspacing" class="mceEditableSelect"></select></td>
<td>&nbsp;<select id="block_wordspacing_measurement" name="block_wordspacing_measurement"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="block_letterspacing">{$lang_style_block_letterspacing}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><select id="block_letterspacing" name="block_letterspacing" class="mceEditableSelect"></select></td>
<td>&nbsp;<select id="block_letterspacing_measurement" name="block_letterspacing_measurement"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="block_vertical_alignment">{$lang_style_block_vertical_alignment}</label></td>
<td><select id="block_vertical_alignment" name="block_vertical_alignment" class="mceEditableSelect"></select></td>
</tr>
<tr>
<td><label for="block_text_align">{$lang_style_block_text_align}</label></td>
<td><select id="block_text_align" name="block_text_align" class="mceEditableSelect"></select></td>
</tr>
<tr>
<td><label for="block_text_indent">{$lang_style_block_text_indent}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="block_text_indent" name="block_text_indent" /></td>
<td>&nbsp;<select id="block_text_indent_measurement" name="block_text_indent_measurement"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="block_whitespace">{$lang_style_block_whitespace}</label></td>
<td><select id="block_whitespace" name="block_whitespace" class="mceEditableSelect"></select></td>
</tr>
<tr>
<td><label for="block_display">{$lang_style_block_display}</label></td>
<td><select id="block_display" name="block_display" class="mceEditableSelect"></select></td>
</tr>
</table>
</div>
<div id="box_panel" class="panel">
<table border="0">
<tr>
<td><label for="box_width">{$lang_style_box_width}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_width" name="box_width" class="mceEditableSelect" onchange="synch('box_width','positioning_width');" /></td>
<td>&nbsp;<select id="box_width_measurement" name="box_width_measurement"></select>
</tr></table>
</td>
<td>&nbsp;&nbsp;&nbsp;<label for="box_float">{$lang_style_box_float}</label></td>
<td><select id="box_float" name="box_float" class="mceEditableSelect"></select></td>
</tr>
<tr>
<td><label for="box_height">{$lang_style_box_height}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_height" name="box_height" class="mceEditableSelect" onchange="synch('box_height','positioning_height');" /></td>
<td>&nbsp;<select id="box_height_measurement" name="box_height_measurement"></select>
</tr></table>
</td>
<td>&nbsp;&nbsp;&nbsp;<label for="box_clear">{$lang_style_box_clear}</label></td>
<td><select id="box_clear" name="box_clear" class="mceEditableSelect"></select></td>
</tr>
</table>
<div style="float: left; width: 49%">
<fieldset>
<legend>{$lang_style_padding}</legend>
<table border="0">
<tr>
<td>&nbsp;</td>
<td><input type="checkbox" id="box_padding_same" name="box_padding_same" class="checkbox" checked="checked" onclick="toggleSame(this,'box_padding');" /> <label for="box_padding_same">{$lang_style_same}</label></td>
</tr>
<tr>
<td><label for="box_padding_top">{$lang_style_top}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_padding_top" name="box_padding_top" class="mceEditableSelect" /></td>
<td>&nbsp;<select id="box_padding_top_measurement" name="box_padding_top_measurement"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="box_padding_right">{$lang_style_right}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_padding_right" name="box_padding_right" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;<select id="box_padding_right_measurement" name="box_padding_right_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="box_padding_bottom">{$lang_style_bottom}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_padding_bottom" name="box_padding_bottom" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;<select id="box_padding_bottom_measurement" name="box_padding_bottom_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="box_padding_left">{$lang_style_left}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_padding_left" name="box_padding_left" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;<select id="box_padding_left_measurement" name="box_padding_left_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
</table>
</fieldset>
</div>
<div style="float: right; width: 49%">
<fieldset>
<legend>{$lang_style_margin}</legend>
<table border="0">
<tr>
<td>&nbsp;</td>
<td><input type="checkbox" id="box_margin_same" name="box_margin_same" class="checkbox" checked="checked" onclick="toggleSame(this,'box_margin');" /> <label for="box_margin_same">{$lang_style_same}</label></td>
</tr>
<tr>
<td><label for="box_margin_top">{$lang_style_top}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_margin_top" name="box_margin_top" class="mceEditableSelect" /></td>
<td>&nbsp;<select id="box_margin_top_measurement" name="box_margin_top_measurement"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="box_margin_right">{$lang_style_right}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_margin_right" name="box_margin_right" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;<select id="box_margin_right_measurement" name="box_margin_right_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="box_margin_bottom">{$lang_style_bottom}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_margin_bottom" name="box_margin_bottom" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;<select id="box_margin_bottom_measurement" name="box_margin_bottom_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
<tr>
<td><label for="box_margin_left">{$lang_style_left}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="box_margin_left" name="box_margin_left" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;<select id="box_margin_left_measurement" name="box_margin_left_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
</table>
</fieldset>
</div>
<br style="clear: both" />
</div>
<div id="border_panel" class="panel">
<table border="0" cellspacing="0" cellp2adding="0" width="100%">
<tr>
<td class="tdelim">&nbsp;</td>
<td class="tdelim delim">&nbsp;</td>
<td class="tdelim">{$lang_style_style}</td>
<td class="tdelim delim">&nbsp;</td>
<td class="tdelim">{$lang_style_width}</td>
<td class="tdelim delim">&nbsp;</td>
<td class="tdelim">{$lang_style_color}</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="delim">&nbsp;</td>
<td><input type="checkbox" id="border_style_same" name="border_style_same" class="checkbox" checked="checked" onclick="toggleSame(this,'border_style');" /> <label for="border_style_same">{$lang_style_same}</label></td>
<td class="delim">&nbsp;</td>
<td><input type="checkbox" id="border_width_same" name="border_width_same" class="checkbox" checked="checked" onclick="toggleSame(this,'border_width');" /> <label for="border_width_same">{$lang_style_same}</label></td>
<td class="delim">&nbsp;</td>
<td><input type="checkbox" id="border_color_same" name="border_color_same" class="checkbox" checked="checked" onclick="toggleSame(this,'border_color');" /> <label for="border_color_same">{$lang_style_same}</label></td>
</tr>
<tr>
<td>{$lang_style_top}</td>
<td class="delim">&nbsp;</td>
<td><select id="border_style_top" name="border_style_top" class="mceEditableSelect"></select></td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellspacing="0" cellpadding="0"><tr>
<td><select id="border_width_top" name="border_width_top" class="mceEditableSelect"></select></td>
<td>&nbsp;<select id="border_width_top_measurement" name="border_width_top_measurement"></select>
</tr></table>
</td>
<td class="delim">&nbsp;</td>
<td><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="border_color_top" name="border_color_top" type="text" value="" size="9" onchange="updateColor('border_color_top_pick','border_color_top');" /></td>
<td id="border_color_top_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_right}</td>
<td class="delim">&nbsp;</td>
<td><select id="border_style_right" name="border_style_right" class="mceEditableSelect" disabled="disabled"></select></td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellspacing="0" cellpadding="0"><tr>
<td><select id="border_width_right" name="border_width_right" class="mceEditableSelect" disabled="disabled"></select></td>
<td>&nbsp;<select id="border_width_right_measurement" name="border_width_right_measurement" disabled="disabled"></select>
</tr></table>
</td>
<td class="delim">&nbsp;</td>
<td><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="border_color_right" name="border_color_right" type="text" value="" size="9" onchange="updateColor('border_color_right_pick','border_color_right');" disabled="disabled" /></td>
<td id="border_color_right_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_bottom}</td>
<td class="delim">&nbsp;</td>
<td><select id="border_style_bottom" name="border_style_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellspacing="0" cellpadding="0"><tr>
<td><select id="border_width_bottom" name="border_width_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
<td>&nbsp;<select id="border_width_bottom_measurement" name="border_width_bottom_measurement" disabled="disabled"></select>
</tr></table>
</td>
<td class="delim">&nbsp;</td>
<td><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="border_color_bottom" name="border_color_bottom" type="text" value="" size="9" onchange="updateColor('border_color_bottom_pick','border_color_bottom');" disabled="disabled" /></td>
<td id="border_color_bottom_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_left}</td>
<td class="delim">&nbsp;</td>
<td><select id="border_style_left" name="border_style_left" class="mceEditableSelect" disabled="disabled"></select></td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellspacing="0" cellpadding="0"><tr>
<td><select id="border_width_left" name="border_width_left" class="mceEditableSelect" disabled="disabled"></select></td>
<td>&nbsp;<select id="border_width_left_measurement" name="border_width_left_measurement" disabled="disabled"></select>
</tr></table>
</td>
<td class="delim">&nbsp;</td>
<td><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="border_color_left" name="border_color_left" type="text" value="" size="9" onchange="updateColor('border_color_left_pick','border_color_left');" disabled="disabled" /></td>
<td id="border_color_left_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div id="list_panel" class="panel">
<table border="0">
<tr>
<td><label for="list_type">{$lang_style_list_type}</label></td>
<td><select id="list_type" name="list_type" class="mceEditableSelect"></select></td>
</tr>
<tr>
<td><label for="list_bullet_image">{$lang_style_bullet_image}</label></td>
<td><input id="list_bullet_image" name="list_bullet_image" type="text" /></td>
</tr>
<tr>
<td><label for="list_position">{$lang_style_position}</label></td>
<td><select id="list_position" name="list_position" class="mceEditableSelect"></select></td>
</tr>
</table>
</div>
<div id="positioning_panel" class="panel">
<table border="0">
<tr>
<td><label for="positioning_type">{$lang_style_positioning_type}</label></td>
<td><select id="positioning_type" name="positioning_type" class="mceEditableSelect"></select></td>
<td>&nbsp;&nbsp;&nbsp;<label for="positioning_visibility">{$lang_style_visibility}</label></td>
<td><select id="positioning_visibility" name="positioning_visibility" class="mceEditableSelect"></select></td>
</tr>
<tr>
<td><label for="positioning_width">{$lang_style_width}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_width" name="positioning_width" onchange="synch('positioning_width','box_width');" /></td>
<td>&nbsp;<select id="positioning_width_measurement" name="positioning_width_measurement"></select>
</tr></table>
</td>
<td>&nbsp;&nbsp;&nbsp;<label for="positioning_zindex">{$lang_style_zindex}</label></td>
<td><input type="text" id="positioning_zindex" name="positioning_zindex" /></td>
</tr>
<tr>
<td><label for="positioning_height">{$lang_style_height}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_height" name="positioning_height" onchange="synch('positioning_height','box_height');" /></td>
<td>&nbsp;<select id="positioning_height_measurement" name="positioning_height_measurement"></select>
</tr></table>
</td>
<td>&nbsp;&nbsp;&nbsp;<label for="positioning_overflow">{$lang_style_overflow}</label></td>
<td><select id="positioning_overflow" name="positioning_overflow" class="mceEditableSelect"></select></td>
</tr>
</table>
<div style="float: left; width: 49%">
<fieldset>
<legend>{$lang_style_placement}</legend>
<table border="0">
<tr>
<td>&nbsp;</td>
<td><input type="checkbox" id="positioning_placement_same" name="positioning_placement_same" class="checkbox" checked="checked" onclick="toggleSame(this,'positioning_placement');" /> <label for="positioning_placement_same">{$lang_style_same}</label></td>
</tr>
<tr>
<td>{$lang_style_top}</td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_placement_top" name="positioning_placement_top" /></td>
<td>&nbsp;<select id="positioning_placement_top_measurement" name="positioning_placement_top_measurement"></select>
</tr></table>
</td>
</tr>
<tr>
<td>{$lang_style_right}</td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_placement_right" name="positioning_placement_right" disabled="disabled" /></td>
<td>&nbsp;<select id="positioning_placement_right_measurement" name="positioning_placement_right_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
<tr>
<td>{$lang_style_bottom}</td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_placement_bottom" name="positioning_placement_bottom" disabled="disabled" /></td>
<td>&nbsp;<select id="positioning_placement_bottom_measurement" name="positioning_placement_bottom_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
<tr>
<td>{$lang_style_left}</td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_placement_left" name="positioning_placement_left" disabled="disabled" /></td>
<td>&nbsp;<select id="positioning_placement_left_measurement" name="positioning_placement_left_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
</table>
</fieldset>
</div>
<div style="float: right; width: 49%">
<fieldset>
<legend>{$lang_style_clip}</legend>
<table border="0">
<tr>
<td>&nbsp;</td>
<td><input type="checkbox" id="positioning_clip_same" name="positioning_clip_same" class="checkbox" checked="checked" onclick="toggleSame(this,'positioning_clip');" /> <label for="positioning_clip_same">{$lang_style_same}</label></td>
</tr>
<tr>
<td>{$lang_style_top}</td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_clip_top" name="positioning_clip_top" /></td>
<td>&nbsp;<select id="positioning_clip_top_measurement" name="positioning_clip_top_measurement"></select>
</tr></table>
</td>
</tr>
<tr>
<td>{$lang_style_right}</td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_clip_right" name="positioning_clip_right" disabled="disabled" /></td>
<td>&nbsp;<select id="positioning_clip_right_measurement" name="positioning_clip_right_measurement" disabled="disabled" ></select>
</tr></table>
</td>
</tr>
<tr>
<td>{$lang_style_bottom}</td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_clip_bottom" name="positioning_clip_bottom" disabled="disabled" /></td>
<td>&nbsp;<select id="positioning_clip_bottom_measurement" name="positioning_clip_bottom_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
<tr>
<td>{$lang_style_left}</td>
<td><table border="0" cellspacing="0" cellpadding="0"><tr>
<td><input type="text" id="positioning_clip_left" name="positioning_clip_left" disabled="disabled" /></td>
<td>&nbsp;<select id="positioning_clip_left_measurement" name="positioning_clip_left_measurement" disabled="disabled"></select>
</tr></table>
</td>
</tr>
</table>
</fieldset>
</div>
<br style="clear: both" />
</div>
</div>
<div class="mceActionPanel">
<div style="float: left">
<div style="float: left"><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
<div style="float: left">&nbsp;<input type="button" id="apply" name="apply" value="Apply" onclick="applyAction();" class="updateButton" /></div>
<br style="clear: both" />
</div>
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
<div style="display: none">
<div id="container"></div>
</div>
</body>
</html>

View file

@ -0,0 +1 @@
Check the TinyMCE documentation for details on this plugin.

View file

@ -0,0 +1,63 @@
/**
* $RCSfile: editable_selects.js,v $
* $Revision: 1.1 $
* $Date: 2006/04/10 09:30:19 $
*
* Makes select boxes editable.
*
* @author Moxiecode
* @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/
var TinyMCE_EditableSelects = {
editSelectElm : null,
init : function() {
var nl = document.getElementsByTagName("select"), i, d = document, o;
for (i=0; i<nl.length; i++) {
if (nl[i].className.indexOf('mceEditableSelect') != -1) {
o = new Option('(value)', '__mce_add_custom__');
o.className = 'mceAddSelectValue';
nl[i].options[nl[i].options.length] = o;
nl[i].setAttribute('onchange', 'TinyMCE_EditableSelects.onChangeEditableSelect(this);');
}
}
},
onChangeEditableSelect : function(se) {
var d = document, ne;
if (se.options[se.selectedIndex].value == '__mce_add_custom__') {
ne = d.createElement("input");
ne.id = se.id + "_custom";
ne.name = se.name + "_custom";
ne.type = "text";
ne.style.width = se.clientWidth;
se.parentNode.insertBefore(ne, se);
se.style.display = 'none';
ne.focus();
ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;
TinyMCE_EditableSelects.editSelectElm = se;
}
},
onBlurEditableSelectInput : function() {
var se = TinyMCE_EditableSelects.editSelectElm;
if (se) {
if (se.previousSibling.value != '') {
addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);
selectByValue(document.forms[0], se.id, se.previousSibling.value);
} else
selectByValue(document.forms[0], se.id, '');
se.style.display = 'inline';
se.parentNode.removeChild(se.previousSibling);
TinyMCE_EditableSelects.editSelectElm = null;
}
}
};