Initial Commit Update Telerik

This commit is contained in:
2022-01-07 19:26:33 +01:00
commit 57e1cda236
2174 changed files with 1202494 additions and 0 deletions

View File

@@ -0,0 +1,375 @@
<?xml version="1.0" encoding="utf-8" ?>
<jsml xmlns="http://cutesoft.net/jsml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cutesoft.net/jsml ../../core/jsml.xsd">
<panel jsml-class="_shared_layout_{skin}_{color}_{toolbar}" dock="fill" overflow="visible" jsml-append="false">
<jsml-ref name="rteborderstyle"/>
<initialize>
self.toggle_css_class("tbtoolbar_{skin}");
self.toggle_css_class("tbtoolbar_{color}");
self.toggle_css_class("tbtoolbar_{skin}_{color}");
</initialize>
<jsml-ref name="toolbar_{toolbar}_{skin}_{color}"/>
</panel>
<jsml-def name="_shared_layout_{skin}_{color}">
<initialize>
self.toggle_css_class("rteskin_{skin}");
self.toggle_css_class("rteskin_{color}");
self.toggle_css_class("rteskin_{skin}_{color}");
</initialize>
<panel dock="bottom" height="26" padding="1,1,1,3" border_width="1,0,0,0" css_class="rtelayoutbottom" visible="false">
<panel jsml-base="tbgroup_{skin}_{color}" dock="left" margin="0,2,0,2" visible="false">
<image jsml-base="image_{skin}_{color}" command="TabEdit" imagename="design" overflow="visible" tooltip="@TABEDIT">
<attach name="editor_ready" arguments="je,editor">
if(!editor._config.showeditmode)self.set_visible(false);
</attach>
</image>
<image jsml-base="image_{skin}_{color}" command="TabCode" imagename="htmlview" overflow="visible" tooltip="@TABCODE">
<attach name="editor_ready" arguments="je,editor">
if(!editor._config.showcodemode)self.set_visible(false);
</attach>
</image>
<image jsml-base="image_{skin}_{color}" command="TabView" imagename="preview" overflow="visible" tooltip="@TABVIEW">
<attach name="editor_ready" arguments="je,editor">
if(!editor._config.showpreviewmode)self.set_visible(false);
</attach>
</image>
<attach name="editor_ready" arguments="je,editor">
if(editor._config.showeditmode)self.set_visible(true);
if(editor._config.showcodemode)self.set_visible(true);
if(editor._config.showpreviewmode)self.set_visible(true);
</attach>
</panel>
<panel dock="right" jsml-base="rtepluginholder" plugin="resizecorner" width="10" overflow="visible" />
<panel dock="right" jsml-base="rtepluginholder" plugin="zoomview" tooltip="@ZOOM" width="10" overflow="visible" />
<panel dock="right" jsml-base="rtepluginholder" plugin="statistics" width="10" overflow="visible" />
<panel dock="fill" jsml-base="rtepluginholder" plugin="taglist" />
<method name="find_config">
<![CDATA[
for(var ctrl=self;ctrl!=null;ctrl=ctrl.get_jsml_parent())
if(ctrl._rteconfig)return ctrl._rteconfig;
]]>
</method>
<initialize>
<![CDATA[
setTimeout(function()
{
var config=self.find_config();
if(config&&!config.showbottombar)
return;
self.set_visible(true);
},30);
]]>
</initialize>
</panel>
<panel jsml-member="tabeditpanel" dock="fill">
<panel dock="top" overflow_y="visible" padding="1" border_width="0,0,1,0" border_color="#7E9DB9" css_class="rtelayouttop" visible="false">
<method name="find_config">
<![CDATA[
for(var ctrl=self;ctrl!=null;ctrl=ctrl.get_jsml_parent())
if(ctrl._rteconfig)return ctrl._rteconfig;
]]>
</method>
<initialize>
<![CDATA[
setTimeout(function()
{
var config=self.find_config();
if(config&&!config.showtoolbar)
return;
self.set_visible(true);
setTimeout(function()
{
var ctrl=jsml.class_create_instance("_shared_layout_{skin}_{color}_{toolbar}");
self.append_child(ctrl);
if(self._rteinstance)ctrl.invoke_recursive("editor_ready",self._rteinstance);
},222);
},10);
]]>
</initialize>
<attach name="editor_ready" arguments="je,editor">
<![CDATA[
self._rteinstance=editor;
editor.AttachEvent("ReloadToolbar",function()
{
self.dispose_children();
var ctrl=jsml.class_create_instance("_shared_layout_{skin}_{color}_{toolbar}");
self.append_child(ctrl);
ctrl.invoke_recursive("editor_ready",editor);
});
]]>
</attach>
</panel>
<panel jsml-local="rulerpanel1" visible="false" dock="top" height="15" back_color="white">
<panel dock="left" width="15" height="15" border_color="#9EAAB6" border_width="0,1,1,0"></panel>
<panel dock="fill" background="white url({folder}images/ruler-horizontal.png) repeat-x">
</panel>
</panel>
<panel jsml-local="rulerpanel2" visible="false" dock="left" width="15" background="white url({folder}images/ruler-vertical.png) repeat-y" back_color="white"></panel>
<htmlcontrol jsml-member="editor_frame_container" dock="fill" back_color="white">
</htmlcontrol>
<panel dock="fill" cursor="wait" back_color="white">
<attach name="editor_ready" arguments="jevent,arg0">
jsml.dispose_delay(self);
</attach>
</panel>
</panel>
<panel jsml-member="tabcodepanel" dock="fill" visible="false">
<panel dock="top" overflow_y="visible" padding="3,1,1,3" border_width="0,0,1,0" border_color="#7E9DB9" css_class="rtelayouttop" >
<panel dock="fill" jsml-base="rtepluginholder" plugin="toolbar_code" />
</panel>
<panel dock="fill" back_color="black" >
<textbox jsml-member="codebox" text_mode="multipleline" dock="fill" back_color="white" border_color="white" border_width="5,0,5,5" font="normal 12px courier new" >
<attach name="editor_ready" arguments="jevent,arg0">
self._rteinstance=arg0;
</attach>
<attach name="keydown" arguments="je,de">
var editor=self._rteinstance;
if(de.keyCode==editor._config.event_fullscreenkeycode)
{
editor.ExecUICommand(null,"FullScreen");
return de.cancel_default();
}
</attach>
</textbox>
</panel>
</panel>
<panel jsml-member="tabviewpanel" dock="fill" visible="false">
<panel dock="top" overflow_y="visible" padding="3,1,1,3" border_width="0,0,1,0" border_color="#7E9DB9" css_class="rtelayouttop" >
<panel dock="fill" jsml-base="rtepluginholder" plugin="toolbar_view" />
</panel>
<htmlcontrol jsml-member="previewcontrol" dock="fill" back_color="white">
</htmlcontrol>
</panel>
<method name="synctext">
<![CDATA[
if(self._stopsync)return;
self.srchtml=self._rteinstance.GetHtmlCode();
self.codebox.set_text(self.srchtml);
function handletimer()
{
self.synctexttimerid=setTimeout(handletimer,10);
if(self.srchtml!=self.codebox.get_text())
{
self.srchtml=self.codebox.get_text();
self._stopsync=true;
self._rteinstance.SetHtmlCode(self.srchtml);
self._stopsync=false;
}
}
handletimer();
]]>
</method>
<method name="updatepanels" arguments="sync">
<![CDATA[
self.tabeditpanel.set_visible(self._rteinstance.IsTabEdit());
self.tabcodepanel.set_visible(self._rteinstance.IsTabCode());
self.tabviewpanel.set_visible(self._rteinstance.IsTabView());
clearTimeout(self.synctexttimerid);
self.codebox.set_disabled(self._rteinstance._config.readonly);
if(sync&&self._rteinstance.IsTabCode())
{
self.synctext();
}
if(sync)
{
if(self.previewiframe)
{
self.previewiframe.setAttribute("src",self._rteinstance._config.blankfileurl);
self.previewcontrol._content.innerHTML="";
self.previewiframe=null;
}
}
if(sync&&self._rteinstance.IsTabView())
{
self.updatepreviewframe();
}
]]>
</method>
<method name="updatepreviewframe" arguments="doprint">
<![CDATA[
var updated=false;
var config=self._rteinstance._config;
function doupdate()
{
if(updated)return;
updated=true;
self.previewiframe.onload=jsml.empty_function;
if(!self.previewiframe.inited)
self.previewiframe.inited=self._rteinstance.InitPreviewFrame(self.previewiframe);
if(!doprint)
return;
var framewin=self.previewiframe.contentWindow;
var time=new Date().getTime();
framewin.document.execCommand("print",false,null);
if(framewin.print&&new Date().getTime()-time<222)framewin.print();
if(jsml.chrome)
{
setTimeout(function()
{
if(new Date().getTime()-time>222)
return;
alert(self._rteinstance.GetLangText("printblocked"));
},100);
}
}
if(self.previewiframe)
{
doupdate();
self.adjustiframesize();
}
else
{
var iframe=document.createElement("iframe");
self.previewiframe=iframe;
iframe.onload=doupdate;
iframe.setAttribute("sendbox","sendbox");
iframe.setAttribute("src",self._rteinstance._config.blankfileurl);
iframe.setAttribute("frameborder","0");
self.previewcontrol._content.appendChild(iframe);
jsml.queue_resumehandler(function(){self.adjustiframesize()});
}
function checkie678()
{
if(updated)return;
if(!self.previewiframe)return;
if(self.previewiframe.document.readyState=="complete"&&self.previewiframe.document.documentElement)
doupdate();
else
setTimeout(checkie678,100);
}
if(jsml.msie5678)setTimeout(checkie678,100);
]]>
</method>
<method name="adjustiframesize">
if(!self.previewiframe)return;
self.previewiframe.style.width=self.previewcontrol.get_client_width()+"px";
self.previewiframe.style.height=self.previewcontrol.get_client_height()+"px";
jsml.queue_resumehandler(function(){self.previewcontrol.invoke_notify_content()});
</method>
<attach name="resize">
jsml.queue_resumehandler(function(){self.adjustiframesize()});
</attach>
<attach name="editor_ready" arguments="jevent,arg0">
<![CDATA[
self._rteinstance=arg0;
self.mode="edit";
self.updatepanels();
self.codebox.codetabindent=arg0._config.codetabindent
if(self._rteinstance._config.showrulers)
{
rulerpanel1.set_visible(true);
rulerpanel2.set_visible(true);
}
self._rteinstanceeventid=self._rteinstance.AttachEvent(function(editor,e){
if(e.Name=="TabModeChanged")
{
self.updatepanels(true);
if(self._rteinstance.IsTabCode())
self.codebox.start_log();
else
self.codebox.stop_log();
}
if(e.Name=="FullPageChanged")
{
self.updatepreviewframe(false);
}
if(e.Name=="TextChanged")
{
if(self._rteinstance.IsTabCode())
self.synctext();
}
if(e.Name=="DoFocus")
{
if(self._rteinstance.IsTabCode())
self.codebox.focus();
}
if(e.Name=="TCCut"||e.Name=="TCCopy")
{
var html=self.codebox.get_range_text();
if(html)
{
e.ReturnValue=html;
if(e.Name=="TCCut")
{
self.codebox.set_range_text("");
}
}
}
if(e.Name=="TCPaste")
{
self.codebox.set_range_text(e.Arguments[0]);
self.codebox.collapse(false);
}
if(e.Name=="TCAppend")
{
self.codebox.select_all();
self.codebox.collapse(false);
self.codebox.set_range_text(e.Arguments[0]);
self.codebox.collapse(false);
}
if(e.Name=="ExecCommand")
{
switch(e.Arguments[0].toLowerCase())
{
case "print":
self.updatepreviewframe(true);
break;
case "tc_undo":
self.codebox.undo();
break;
case "tc_redo":
self.codebox.redo();
break;
case "tc_selectall":
self.codebox.select_all();
break;
case "tc_delete":
self.codebox.set_range_text("");
break;
}
}
});
]]>
</attach>
</jsml-def>
</jsml>

View File

@@ -0,0 +1,381 @@
<?xml version="1.0" encoding="utf-8" ?>
<jsml xmlns="http://cutesoft.net/jsml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cutesoft.net/jsml ../../core/jsml.xsd">
<image jsml-class="item_{toolbar}_{skin}_{color}_switchribbon" jsml-base="image_{skin}_{color}" command="SwitchRibbon" imagename="paragraph" tooltip="@SWITCHRIBBON" />
<image jsml-class="item_{toolbar}_{skin}_{color}_ribbonpaste" jsml-base="ribbonimage_{skin}_{color}" command="Paste" imagename="ribbonpaste" tooltip="@PASTE" vertical_align="middle" horizontal_align="center"/>
<image jsml-class="item_{toolbar}_{skin}_{color}_paste" jsml-base="image_{skin}_{color}" command="Paste" tooltip="@PASTE" />
<image jsml-class="item_{toolbar}_{skin}_{color}_pastetext" jsml-base="image_{skin}_{color}" command="PasteText" tooltip="@PASTETEXT" />
<image jsml-class="item_{toolbar}_{skin}_{color}_pasteword" jsml-base="image_{skin}_{color}" command="PasteWord" tooltip="@PASTEWORD" />
<image jsml-class="item_{toolbar}_{skin}_{color}_save" jsml-base="image_{skin}_{color}" command="Save" tooltip="@SAVE"/>
<image jsml-class="item_{toolbar}_{skin}_{color}_new" jsml-base="image_{skin}_{color}" command="New" tooltip="@NEW" imagename="newdoc" />
<image jsml-class="item_{toolbar}_{skin}_{color}_print" jsml-base="image_{skin}_{color}" command="Print" tooltip="@PRINT" />
<image jsml-class="item_{toolbar}_{skin}_{color}_spellcheck" jsml-base="image_{skin}_{color}" command="ExecPlugin" arguments="spellcheck" tooltip="@SPELLCHECK" imagename="spell" />
<image jsml-class="item_{toolbar}_{skin}_{color}_cut" jsml-base="image_{skin}_{color}" command="Cut" tooltip="@CUT">
<attach name="mousehover">
self._ResetFCButton();
</attach>
</image>
<image jsml-class="item_{toolbar}_{skin}_{color}_copy" jsml-base="image_{skin}_{color}" command="Copy" tooltip="@COPY">
<attach name="mousehover">
self._ResetFCButton();
</attach>
</image>
<image jsml-class="item_{toolbar}_{skin}_{color}_delete" jsml-base="image_{skin}_{color}" command="Delete" tooltip="@DELETE" />
<image jsml-class="item_{toolbar}_{skin}_{color}_find" jsml-base="image_{skin}_{color}" command="Find" tooltip="@FINDANDREPLACE" />
<image jsml-class="item_{toolbar}_{skin}_{color}_undo" jsml-base="image_{skin}_{color}" command="Undo" tooltip="@UNDO" />
<image jsml-class="item_{toolbar}_{skin}_{color}_redo" jsml-base="image_{skin}_{color}" command="Redo" tooltip="@REDO" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_formatpainter" jsml-base="splitbtn_{skin}_{color}" tooltip="@FORMATPAINTER" imagename="formatpainter">
<attach name="click" arguments="je,e">
<![CDATA[
if(e.ctrlKey||e.altKey)
return self._rteinstance.ExecCommand("formatpainterfetch")
if(self._rteinstance.CanExecCommand("formatpainterapply"))
self._rteinstance.ExecCommand("formatpainterapply")
else
self.invoke_event("splitclick");
]]>
</attach>
<attach name="splitclick">
formatpaintermenu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
formatpaintermenu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
formatpaintermenu.dispose();
</attach>
<panel jsml-base="floatmenu" jsml-local="formatpaintermenu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="formatpainterfetch" imagename="copy" text="@FORMATPAINTERFETCH" />
<panel jsml-base="rtemenuitem" command="formatpainterapply" imagename="formatpainter" text="@FORMATPAINTERAPPLY" />
<panel jsml-base="rtemenuitem" command="formatpainterclear" imagename="newdoc" text="@FORMATPAINTERCLEAR" />
</panel>
</panel>
<panel jsml-class="item_{toolbar}_{skin}_{color}_fontname" jsml-base="dropdown_{skin}_{color}" command="ShowXmlFloatbox" arguments="setfontname.xml" width="88" text="@FontName" stylename="fontname" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_fontsize" jsml-base="dropdown_{skin}_{color}" command="ShowXmlFloatbox" arguments="setfontsize.xml" width="65" text="@FontSize" stylename="fontsize" />
<image jsml-class="item_{toolbar}_{skin}_{color}_bold" jsml-base="image_{skin}_{color}" command="Bold" tooltip="@BOLD" />
<image jsml-class="item_{toolbar}_{skin}_{color}_italic" jsml-base="image_{skin}_{color}" command="Italic" tooltip="@ITALIC" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_underline" jsml-base="image_{skin}_{color}" command="Underline" tooltip="@UNDERLINE" imagename="under" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_linethrough" jsml-base="image_{skin}_{color}" command="Linethrough" tooltip="@LINETHROUGH" imagename="strike" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_overline" jsml-base="image_{skin}_{color}" command="Overline" tooltip="@OVERLINE" imagename="Overline" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_underlinemenu" jsml-base="splitbtn_{skin}_{color}" command="Underline" tooltip="@UNDERLINE" imagename="under" >
<attach name="splitclick">
decorationmenu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
decorationmenu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
decorationmenu.dispose();
</attach>
<panel jsml-base="floatmenu" jsml-local="decorationmenu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="Linethrough" text="@LINETHROUGH" imagename="strike" />
<panel jsml-base="rtemenuitem" command="Overline" text="@OVERLINE" imagename="Overline" />
</panel>
</panel>
<panel jsml-class="item_{toolbar}_{skin}_{color}_forecolor" jsml-base="splitbtn_{skin}_{color}" command="ForeColor" tooltip="@TEXTCOLOR">
<jsml-ref name="rtecommandcolor"/>
</panel>
<panel jsml-class="item_{toolbar}_{skin}_{color}_backcolor" jsml-base="splitbtn_{skin}_{color}" command="BackColor" tooltip="@BACKCOLOR">
<jsml-ref name="rtecommandcolor"/>
</panel>
<image jsml-class="item_{toolbar}_{skin}_{color}_superscript" jsml-base="image_{skin}_{color}" command="Superscript" tooltip="@SUPERSCRIPT" />
<image jsml-class="item_{toolbar}_{skin}_{color}_subscript" jsml-base="image_{skin}_{color}" command="Subscript" tooltip="@SUBSCRIPT" />
<image jsml-class="item_{toolbar}_{skin}_{color}_ucase" jsml-base="image_{skin}_{color}" command="Ucase" tooltip="@UPPERCASE" />
<image jsml-class="item_{toolbar}_{skin}_{color}_lcase" jsml-base="image_{skin}_{color}" command="Lcase" tooltip="@UPPERCASE" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_changecase" jsml-base="splitbtn_{skin}_{color}" imagename="Ucase" tooltip="@CHANGECASE" >
<attach name="click,splitclick">
textcasemenu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
textcasemenu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
textcasemenu.dispose();
</attach>
<panel jsml-base="floatmenu" jsml-local="textcasemenu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="Ucase" text="@UPPERCASE" />
<panel jsml-base="rtemenuitem" command="Lcase" text="@LOWERCASE" />
</panel>
</panel>
<image jsml-class="item_{toolbar}_{skin}_{color}_removeformat" jsml-base="image_{skin}_{color}" command="RemoveFormat" tooltip="@REMOVEFORMAT" imagename="unformat" />
<image jsml-class="item_{toolbar}_{skin}_{color}_cleancode" jsml-base="image_{skin}_{color}" command="CleanCode" tooltip="@CLEANCODE" imagename="cleanup" />
<image jsml-class="item_{toolbar}_{skin}_{color}_selectall" jsml-base="image_{skin}_{color}" command="SelectAll" tooltip="@SELECTALL" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_paragraphs" jsml-base="dropdown_{skin}_{color}" command="ShowXmlFloatbox" arguments="setparagraph.xml" width="82" text="@Paragraphs" stylename="paragraph" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_styles" jsml-base="dropdown_{skin}_{color}" command="ShowXmlFloatbox" arguments="setstyles.xml" width="62" text="@Styles" />
<image jsml-class="item_{toolbar}_{skin}_{color}_justifyleft" jsml-base="image_{skin}_{color}" command="JustifyLeft" tooltip="@JUSTIFYLEFT" imagename="left" />
<image jsml-class="item_{toolbar}_{skin}_{color}_justifycenter" jsml-base="image_{skin}_{color}" command="JustifyCenter" tooltip="@JUSTIFYCENTER" imagename="center" />
<image jsml-class="item_{toolbar}_{skin}_{color}_justifyright" jsml-base="image_{skin}_{color}" command="JustifyRight" tooltip="@JUSTIFYRIGHT" imagename="right" />
<image jsml-class="item_{toolbar}_{skin}_{color}_justifyfull" jsml-base="image_{skin}_{color}" command="JustifyFull" tooltip="@JUSTIFYFULL" imagename="justifyfull" />
<image jsml-class="item_{toolbar}_{skin}_{color}_justifynone" jsml-base="image_{skin}_{color}" command="JustifyNone" tooltip="@JUSTIFYNONE" imagename="justifynone" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_justifymenu" jsml-base="splitbtn_{skin}_{color}" tooltip="@JUSTIFY" imagename="left">
<attach name="click,splitclick">
justifymenu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
justifymenu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
justifymenu.dispose();
</attach>
<attach name="update_statusui">
<![CDATA[
var editor=self.find_editor();
var arr=justifymenu.get_children();
for(var i=arr.length-1;i>=0;i--)
{
var item=arr[i];
var cmd=item.get_command();
if(!editor.QueryCommand(cmd))
continue;
if(self._lastjustify==cmd)
return;
self._lastjustify=cmd;
self.set_imagename(item.get_imagename());
self.set_checked(cmd!="JustifyNone");
return;
}
]]>
</attach>
<panel jsml-base="floatmenu" jsml-local="justifymenu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="JustifyLeft" text="@JUSTIFYLEFT" imagename="left" />
<panel jsml-base="rtemenuitem" command="JustifyCenter" text="@JUSTIFYCENTER" imagename="center" />
<panel jsml-base="rtemenuitem" command="JustifyRight" text="@JUSTIFYRIGHT" imagename="right" />
<panel jsml-base="rtemenuitem" command="JustifyFull" text="@JUSTIFYFULL" imagename="justifyfull" />
<panel jsml-base="rtemenuitem" command="JustifyNone" text="@JUSTIFYNONE" imagename="justifynone" />
</panel>
</panel>
<panel jsml-class="item_{toolbar}_{skin}_{color}_lineheight" jsml-base="splitbtn_{skin}_{color}" command="LineHeight" imagename="lineheight" tooltip="@LINEHEIGHT">
<attach name="click,splitclick">
lineheightmenu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
lineheightmenu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
lineheightmenu.dispose();
</attach>
<panel jsml-base="floatmenu" jsml-local="lineheightmenu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="100%" text="100%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="110%" text="110%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="115%" text="115%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="120%" text="120%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="130%" text="130%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="140%" text="140%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="150%" text="150%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="160%" text="160%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="180%" text="180%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="200%" text="200%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="250%" text="250%" />
<panel jsml-base="rtemenuitem" command="lineheight" imagename="blank20" arguments="300%" text="300%" />
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuitem" text="@TEXT| |@STYLES">
<attach name="click">
var editor=self.find_editor();
var node=editor.EnsureParagraph();
if(node)editor.ShowPropertiesDialog(node,{styletab:"text"})
</attach>
</panel>
</panel>
</panel>
<image jsml-class="item_{toolbar}_{skin}_{color}_ltr" jsml-base="image_{skin}_{color}" command="LTR" tooltip="@DIRECTION_LTR" imagename="dir_ltr" />
<image jsml-class="item_{toolbar}_{skin}_{color}_rtl" jsml-base="image_{skin}_{color}" command="RTL" tooltip="@DIRECTION_RTL" imagename="dir_rtl" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_insertlinemenu" jsml-base="splitbtn_{skin}_{color}" command="InsertBreak" tooltip="@INSERTBREAKRULE" imagename="break" >
<attach name="splitclick">
insertbrmenu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
insertbrmenu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
insertbrmenu.dispose();
</attach>
<panel jsml-base="floatmenu" jsml-local="insertbrmenu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="InsertWbr" text="@INSERTWBR" imagename="wbr" />
<panel jsml-base="rtemenuitem" command="InsertDiv" text="@INSERTDIV" imagename="div" />
<panel jsml-base="rtemenuitem" command="InsertParagraph" text="@INSERTPARAGRAPH" imagename="p" />
<panel jsml-base="rtemenuitem" command="InsertHorizontalRule" text="@INSERTHORIZONTALRULE" imagename="rule" />
<panel jsml-base="rtemenuitem" command="InsertPageBreak" text="@INSERTPAGEPRINTBREAK" imagename="InsertPageBreak" />
<panel jsml-base="rtemenuitem" command="InsertTopLine" text="@INSERTTOPLINE" imagename="topline" />
<panel jsml-base="rtemenuitem" command="InsertBottomLine" text="@INSERTBOTTOMLINE" imagename="bottomline" />
</panel>
</panel>
<panel jsml-class="item_{toolbar}_{skin}_{color}_insertorderedlist" jsml-base="splitbtn_{skin}_{color}" command="InsertOrderedList" tooltip="@ORDEREDLIST" imagename="numlist" >
<attach name="splitclick">
listolmenu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
listolmenu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
listolmenu.dispose();
</attach>
<panel jsml-base="floatmenu" jsml-local="listolmenu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="InsertOrderedList" arguments="decimal" noactive="1" text="1,2,3,4,5" imagename="blank20" />
<panel jsml-base="rtemenuitem" command="InsertOrderedList" arguments="lower-latin" noactive="1" text="a,b,c,d,e" imagename="blank20" />
<panel jsml-base="rtemenuitem" command="InsertOrderedList" arguments="upper-latin" noactive="1" text="A,B,C,D,E" imagename="blank20" />
<panel jsml-base="rtemenuitem" command="InsertOrderedList" arguments="lower-roman" noactive="1" text=",ⅱ,ⅲ,ⅳ," imagename="blank20">
<initialize>
self.label.set_margin([0,0,0,4])
</initialize>
</panel>
<panel jsml-base="rtemenuitem" command="InsertOrderedList" arguments="upper-roman" noactive="1" text=",Ⅱ,ⅢⅢ,Ⅳ," imagename="blank20">
<initialize>
self.label.set_margin([0,0,0,4])
</initialize>
</panel>
<!--<panel jsml-base="rtemenuitem" command="InsertOrderedList" arguments="cjk-ideographic" text="一,二,三,四,五" imagename="blank20" />-->
<!-- NOTE:check the css list-style-type -->
</panel>
</panel>
<panel jsml-class="item_{toolbar}_{skin}_{color}_insertunorderedlist" jsml-base="splitbtn_{skin}_{color}" command="InsertUnorderedList" tooltip="@UNORDEREDLIST" imagename="bullist">
<attach name="splitclick">
listulmenu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
listulmenu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
listulmenu.dispose();
</attach>
<panel jsml-base="floatmenu" jsml-local="listulmenu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="InsertUnorderedList" arguments="disc" noactive="1" imagename="ul-disc" text="@UL_DISC" />
<panel jsml-base="rtemenuitem" command="InsertUnorderedList" arguments="circle" noactive="1" imagename="ul-circle" text="@UL_CIRCLE" />
<panel jsml-base="rtemenuitem" command="InsertUnorderedList" arguments="square" noactive="1" imagename="ul-square" text="@UL_SQUARE" />
</panel>
</panel>
<image jsml-class="item_{toolbar}_{skin}_{color}_outdent" jsml-base="image_{skin}_{color}" command="Outdent" tooltip="@OUTDENT" />
<image jsml-class="item_{toolbar}_{skin}_{color}_indent" jsml-base="image_{skin}_{color}" command="Indent" tooltip="@INDENT" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertblockquote" jsml-base="image_{skin}_{color}" command="InsertBlockQuote" tooltip="@INSERTBLOCKQUOTE" imagename="blockquote" />
<image jsml-class="item_{toolbar}_{skin}_{color}_inserttable" jsml-base="image_{skin}_{color}" command="ShowXmlFloatbox" arguments="inserttable.xml" tooltip="@INSERTTABLE" imagename="inserttable" />
<image jsml-class="item_{toolbar}_{skin}_{color}_ribbontable" jsml-base="ribbonimage_{skin}_{color}" command="ShowXmlFloatbox" arguments="inserttable.xml" imagename="ribbontable" tooltip="@INSERTTABLE" vertical_align="middle" horizontal_align="center"/>
<panel jsml-class="item_{toolbar}_{skin}_{color}_insertform" jsml-base="splitbtn_{skin}_{color}" tooltip="@INSERTFORM" imagename="InsertForm" >
<attach name="click,splitclick">
insertformmenu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
insertformmenu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
insertformmenu.dispose();
</attach>
<panel jsml-base="floatmenu" jsml-local="insertformmenu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="InsertForm" text="@INSERTFORM" />
<panel jsml-base="rtemenuitem" command="InsertTextarea" text="@INSERTTEXTAREA" imagename="textarea" />
<panel jsml-base="rtemenuitem" command="InsertInpText" text="@INSERTINPTEXT" imagename="textbox" />
<panel jsml-base="rtemenuitem" command="InsertInpPassword" text="@INSERTINPPASSWORD" imagename="passwordfield" />
<panel jsml-base="rtemenuitem" command="InsertInpHidden" text="@INSERTINPHIDDEN" imagename="hiddenfield" />
<panel jsml-base="rtemenuitem" command="InsertInpFile" text="@INSERTINPFILE" imagename="document"/>
<panel jsml-base="rtemenuitem" command="InsertInpImage" text="@INSERTINPIMAGE" imagename="image" />
<panel jsml-base="rtemenuitem" command="InsertInpReset" text="@INSERTINPRESET" imagename="reset" />
<panel jsml-base="rtemenuitem" command="InsertInpSubmit" text="@INSERTINPSUBMIT" imagename="submit" />
<panel jsml-base="rtemenuitem" command="InsertRadioBox" text="@INSERTRADIOBOX" imagename="optionbutton" />
<panel jsml-base="rtemenuitem" command="InsertCheckbox" text="@INSERTCHECKBOX" imagename="checkbox" />
<panel jsml-base="rtemenuitem" command="InsertInpButton" text="@INSERTINPBUTTON" imagename="pushbutton" />
<panel jsml-base="rtemenuitem" command="InsertButton" text="@INSERTBUTTON" imagename="pushbutton" />
<panel jsml-base="rtemenuitem" command="InsertDropDown" text="@INSERTDROPDOWN" imagename="dropdownbox" />
<panel jsml-base="rtemenuitem" command="InsertListbox" text="@INSERTLISTBOX" imagename="listbox" />
</panel>
</panel>
<image jsml-class="item_{toolbar}_{skin}_{color}_insertbox" jsml-base="image_{skin}_{color}" command="InsertBox" tooltip="@INSERTBOX" imagename="box" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertlayer" jsml-base="image_{skin}_{color}" command="InsertLayer" tooltip="@INSERTLAYER" imagename="layer" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertfieldset" jsml-base="image_{skin}_{color}" command="InsertFieldSet" tooltip="@INSERTFIELDSET" imagename="groupbox" />
<image jsml-class="item_{toolbar}_{skin}_{color}_fullscreen" jsml-base="image_{skin}_{color}" command="FullScreen" tooltip="@FULLSCREEN" imagename="fit" />
<image jsml-class="item_{toolbar}_{skin}_{color}_toggleborder" jsml-base="image_{skin}_{color}" command="ToggleBorder" tooltip="@TOGGLEBORDER" imagename="borders" />
<!--<image jsml-base="image_{skin}_{color}" command="ToggleBorderReverse" imagename="borders2" />-->
<image jsml-class="item_{toolbar}_{skin}_{color}_pageproperties" jsml-base="image_{skin}_{color}" command="ExecPlugin" arguments="pageproperties" tooltip="@PAGEPROPERTIES" imagename="properties" />
<image jsml-class="item_{toolbar}_{skin}_{color}_help" jsml-base="image_{skin}_{color}" command="Help" tooltip="@HELP" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_insertlink" jsml-base="splitbtn_{skin}_{color}" command="InsertLink" tooltip="@INSERTLINK" imagename="link" />
<image jsml-class="item_{toolbar}_{skin}_{color}_unlink" jsml-base="image_{skin}_{color}" command="UnLink" tooltip="@REMOVE| |@LINK" imagename="unlink" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertanchor" jsml-base="image_{skin}_{color}" command="InsertAnchor" tooltip="@INSERTANCHOR" imagename="anchor" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertimagemap" jsml-base="image_{skin}_{color}" command="InsertImageMap" tooltip="@INSERTIMAGEMAP" imagename="imagemap" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_insertdate" jsml-base="splitbtn_{skin}_{color}" command="InsertDate" tooltip="@INSERTDATE" imagename="insertdate" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertchars" jsml-base="image_{skin}_{color}" command="ExecPlugin" arguments="insertchars" tooltip="@INSERTCHARS" imagename="specialchar" />
<image jsml-class="item_{toolbar}_{skin}_{color}_virtualkeyboard" jsml-base="image_{skin}_{color}" command="ExecPlugin" arguments="virtualkeyboard" tooltip="@VIRTUALKEYBOARD" imagename="keyboard" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertgallery" jsml-base="image_{skin}_{color}" command="InsertGallery" tooltip="@INSERTGALLERY" imagename="gallery" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertimage" jsml-base="image_{skin}_{color}" command="InsertImage" tooltip="@INSERTIMAGE" imagename="image" />
<panel jsml-class="item_{toolbar}_{skin}_{color}_inserttemplate" jsml-base="splitbtn_{skin}_{color}" command="InsertTemplate" tooltip="@INSERTTEMPLATE" imagename="template" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertdocument" jsml-base="image_{skin}_{color}" command="InsertDocument" tooltip="@INSERTDOCUMENT" imagename="document" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertvideo" jsml-base="image_{skin}_{color}" command="InsertVideo" tooltip="@INSERTVIDEO" imagename="media" />
<image jsml-class="item_{toolbar}_{skin}_{color}_syntaxhighlighter" jsml-base="image_{skin}_{color}" command="ExecPlugin" arguments="syntaxhighlighter" tooltip="@SYNTAXHIGHLIGHTER" imagename="code" />
<image jsml-class="item_{toolbar}_{skin}_{color}_insertyoutube" jsml-base="image_{skin}_{color}" command="ExecPlugin" arguments="insertyoutube" tooltip="@INSERTYOUTUBE" imagename="youtube"/>
<image jsml-class="item_{toolbar}_{skin}_{color}_googlemap" jsml-base="image_{skin}_{color}" command="ExecPlugin" arguments="googlemap" tooltip="@GOOGLEMAP" imagename="map"/>
<image jsml-class="item_{toolbar}_{skin}_{color}_html5" jsml-base="image_{skin}_{color}" imagename="html5" tooltip="@INSERTHTML5">
<attach name="click">
inserthtml5menu.show({control:self,stopDispose:true});
</attach>
<attach name="editor_ready" arguments="jevent,editor">
inserthtml5menu.invoke_recursive("editor_ready",editor);
</attach>
<attach name="disposing">
inserthtml5menu.dispose();
</attach>
<panel jsml-base="floatmenu" jsml-local="inserthtml5menu" jsml-append="false">
<panel jsml-base="rtemenuitem" command="InsertWbr" text="@INSERT| &lt;wbr&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="Mark" text="@INSERT| &lt;mark&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="InsertDetails" text="@INSERT| &lt;details&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="InsertSection" text="@INSERT| &lt;section&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="InsertArticle" text="@INSERT| &lt;article&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="InsertHeader" text="@INSERT| &lt;header&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="InsertFooter" text="@INSERT| &lt;footer&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="InsertHGroup" text="@INSERT| &lt;hgroup&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="InsertAside" text="@INSERT| &lt;aside&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="InsertAudio" text="@INSERT| &lt;audio&gt;" imagename="newtag" />
<panel jsml-base="rtemenuitem" command="InsertVideo" text="@INSERT| &lt;video&gt;" imagename="newtag" />
</panel>
</image>
</jsml>