You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

489 lines
17 KiB

<?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="menu_context_common" jsml-base="floatmenu">
<panel jsml-base="rtemenuitem" command="selectall" imagename="selectall" htmlcode="@SELECTALL" />
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuitem" command="undo" imagename="undo" htmlcode="@UNDO" />
<panel jsml-base="rtemenuitem" command="redo" imagename="redo" htmlcode="@REDO" />
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuitem" command="save" imagename="save" htmlcode="@SAVE" />
<panel jsml-base="rtemenuitem" command="new" imagename="newdoc" htmlcode="@NEW" />
<panel jsml-base="rtemenuitem" command="print" imagename="print" htmlcode="@PRINT" />
<panel jsml-base="rtemenuitem" command="ExecPlugin" arguments="spellcheck" imagename="spell" htmlcode="@SPELLCHECK" />
<panel jsml-base="rtemenuitem" command="Find" imagename="Find" htmlcode="@FINDANDREPLACE" />
<panel jsml-base="rtemenuitem" command="CleanCode" imagename="cleanup" htmlcode="@CLEANCODE" />
</panel>
<panel jsml-class="menu_context_format" jsml-base="floatmenu">
<panel dock="top" margin="0,0,0,25" overflow="visible">
<panel jsml-base="tbgroup_{skin}_{color}" dock="none">
<image jsml-base="image_{skin}_{color}" command="bold" imagename="bold" tooltip="@BOLD" />
<image jsml-base="image_{skin}_{color}" command="italic" imagename="italic" tooltip="@ITALIC" />
<image jsml-base="image_{skin}_{color}" command="underline" imagename="under" tooltip="@UNDERLINE" />
<image jsml-base="image_{skin}_{color}" command="linethrough" imagename="strike" tooltip="@LINETHROUGH" />
<image jsml-base="image_{skin}_{color}" command="overline" imagename="overline" tooltip="@OVERLINE" />
</panel>
</panel>
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuitem" htmlcode="@FONTNAME" arrow="true" xmlfile="setfontname.xml" />
<panel jsml-base="rtemenuitem" htmlcode="@FONTSIZE" arrow="true" xmlfile="setfontsize.xml" />
<panel jsml-base="rtemenuitem" htmlcode="@TEXTCOLOR" arrow="true" xmlfile="colorpicker.xml">
<method name="initoption" arguments="newoption">
newoption.setcolor=function(val){editor.ExecCommand("forecolor",val);}
</method>
</panel>
<panel jsml-base="rtemenuitem" htmlcode="@BACKCOLOR" arrow="true" xmlfile="colorpicker.xml">
<method name="initoption" arguments="newoption">
newoption.setcolor=function(val){editor.ExecCommand("backcolor",val);}
</method>
</panel>
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuitem" command="removeformat" imagename="unformat" htmlcode="@REMOVEFORMAT" />
</panel>
<panel jsml-class="menu_context_justify" jsml-base="floatmenu">
<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 jsml-class="menu_context_paragraphs" jsml-base="floatmenu">
<panel dock="top" margin="0,0,0,25" overflow="visible">
<panel jsml-base="tbgroup_{skin}_{color}" dock="none">
<image jsml-base="image_{skin}_{color}" command="JustifyLeft" text="@JUSTIFYLEFT" imagename="left" />
<image jsml-base="image_{skin}_{color}" command="JustifyCenter" text="@JUSTIFYCENTER" imagename="center" />
<image jsml-base="image_{skin}_{color}" command="JustifyRight" text="@JUSTIFYRIGHT" imagename="right" />
<image jsml-base="image_{skin}_{color}" command="JustifyFull" text="@JUSTIFYFULL" imagename="justifyfull" />
<image jsml-base="image_{skin}_{color}" command="JustifyNone" text="@JUSTIFYNONE" imagename="justifynone" />
</panel>
</panel>
<!--
<panel jsml-base="rtemenuopener" menuclass="menu_context_justify" htmlcode="@JUSTIFY" />
-->
<!--
<panel dock="top" margin="0,0,0,25" overflow="visible">
<panel jsml-base="tbgroup_{skin}_{color}" dock="none">
<image jsml-base="image_{skin}_{color}" command="Outdent" tooltip="@OUTDENT" />
<image jsml-base="image_{skin}_{color}" command="Indent" tooltip="@INDENT" />
<image jsml-base="image_{skin}_{color}" command="InsertBlockQuote" tooltip="@INSERTBLOCKQUOTE" imagename="blockquote" />
<image jsml-base="image_{skin}_{color}" command="Ltr" imagename="dir_ltr" />
<image jsml-base="image_{skin}_{color}" command="Rtl" imagename="dir_rtl" />
</panel>
</panel>
-->
<panel jsml-base="rtemenuitem" command="InsertBlockQuote" text="@INSERTBLOCKQUOTE" imagename="blockquote" />
<panel jsml-base="rtemenuitem" command="Outdent" text="@OUTDENT" />
<panel jsml-base="rtemenuitem" command="Indent" text="@INDENT" />
<panel jsml-base="rtemenuitem" command="LTR" text="@DIRECTION_LTR" imagename="dir_ltr" />
<panel jsml-base="rtemenuitem" command="RTL" text="@DIRECTION_RTL" imagename="dir_rtl" />
<!--
<panel jsml-base="rtemenuitem" htmlcode="@PARAGRAPHS" arrow="true" xmlfile="setparagraph.xml" />
-->
</panel>
<panel jsml-class="menu_context_table" jsml-base="floatmenu">
<panel jsml-base="rtemenuitem" command="mergecells" imagename="mrgcell" htmlcode="@MERGECELLS" />
<panel jsml-base="rtemenuitem" command="splitcells" imagename="spltcell" htmlcode="@SPLITCELLS" />
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuitem" command="deleterow" htmlcode="@DELETEROW" imagename="delrow" />
<panel jsml-base="rtemenuitem" command="deletecolumn" htmlcode="@DELETECOLUMN" imagename="delcol" />
<panel jsml-base="rtemenuitem" command="insertrowtop" htmlcode="@INSERTROWTOP" imagename="insrow_t" />
<panel jsml-base="rtemenuitem" command="insertrowbottom" htmlcode="@INSERTROWBOTTOM" imagename="insrow_b" />
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuitem" command="insertcolumnleft" htmlcode="@INSERTCOLUMNLEFT" imagename="inscol_l" />
<panel jsml-base="rtemenuitem" command="insertcolumnright" htmlcode="@INSERTCOLUMNRIGHT" imagename="inscol_r" />
</panel>
<!--
<panel jsml-class="menu_context_link" jsml-base="floatmenu">
<panel jsml-base="rtemenuitem" imagename="link" htmlcode="@EDIT| |@LINK">
<attach name="click">
var link=editor.IsIncludedByTag("a");
if(link)editor.ShowPropertiesDialog(link);
</attach>
</panel>
<panel jsml-base="rtemenuitem" imagename="unlink" htmlcode="@REMOVE| |@LINK">
<attach name="click">
var link=editor.IsIncludedByTag("a");
if(link)link.RemoveNode(false);
</attach>
</panel>
</panel>
-->
<panel jsml-class="menu_context_taglist" jsml-base="floatmenu">
<initialize>
<![CDATA[
var node=editor.GetSelectionRoot();
for(;node&&node.GetNameLower()!="body";node=node.GetParent())
{
if(node.nodeType!=1)continue;
var item=self.createitem(node);
self.append_child(item);
}
]]>
</initialize>
<method name="createitem" arguments="node">
<![CDATA[
var item=jsml.class_create_instance("rtemenuitem");
item.set_arrow(true);
item.set_xmlfile("menu_tagitem.xml");
item._floatboxClass="floatmenu";
item.initoption=function(newoption)
{
newoption.node=node;
newoption.buttonClick=function()
{
item.invoke_event("click");
}
}
item.attach_event("click",function()
{
editor.ShowPropertiesDialog(node);
});
item.set_text(node.GetName());
return item;
]]>
</method>
</panel>
<panel jsml-class="menu_context_point" dock="fill" overflow="visible">
<panel jsml-base="rtemenuitem" command="selectall" imagename="selectall" htmlcode="@SELECTALL" />
<panel jsml-base="rtemenuitem" command="undo" imagename="undo" htmlcode="@UNDO" />
<panel jsml-base="rtemenuspliter" />
<!--
<panel jsml-base="rtemenuitem" command="paste" imagename="paste" htmlcode="@PASTE" />
-->
<panel jsml-base="rtemenuitem" htmlcode="@PASTE" imagename="paste" arrow="true" xmlfile="editor_paste.xml">
<initialize>
if(editor.GetSelectionType()=="Control")self.set_visible(false);
</initialize>
<method name="initoption" arguments="newoption">
this._lastpastecmd="paste";
newoption.command="paste";
newoption.width=360;
newoption.height=240;
newoption.puretextmode=false;
newoption.callback=editor.delegate(editor._onpastedialogreturn);
</method>
</panel>
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuopener" menuclass="menu_context_common" htmlcode="@COMMON" />
<panel jsml-base="rtemenuopener" menuclass="menu_context_paragraphs" htmlcode="@PARAGRAPHS">
<initialize>
//if(editor.GetSelectionType()=="Control")self.set_visible(false);
//if(!editor.QueryStyle("paragraph"))self.set_visible(false);
</initialize>
</panel>
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuopener" menuclass="menu_context_taglist" htmlcode="@TAGLIST">
<initialize>
<![CDATA[
var node=editor.GetSelectionRoot();
var count=0;
for(;node&&node.GetNameLower()!="body";node=node.GetParent())
{
if(node.nodeType==1)count++;
}
if(count==0)self.set_disabled(true);
]]>
</initialize>
</panel>
<panel jsml-base="rtemenuopener" menuclass="menu_context_table" htmlcode="@TABLE" imagename="inserttable">
<initialize>
var table=editor.IsIncludedByTag("table");
if(table==null)return self.set_visible(false);
</initialize>
</panel>
<!--
<panel jsml-base="rtemenuopener" menuclass="menu_context_link" htmlcode="@LINK" imagename="link">
<initialize>
var link=editor.IsIncludedByTag("a");
if(link==null)return self.set_visible(false);
</initialize>
<attach name="click">
var link=editor.IsIncludedByTag("a");
if(link)editor.ShowPropertiesDialog(link);
</attach>
</panel>
-->
<panel jsml-base="rtemenuitem" imagename="link" htmlcode="@EDIT| |@LINK">
<initialize>
var link=editor.IsIncludedByTag("a");
if(link==null)return self.set_visible(false);
</initialize>
<attach name="click">
var link=editor.IsIncludedByTag("a");
if(link)editor.ShowPropertiesDialog(link);
</attach>
</panel>
<panel jsml-base="rtemenuitem" imagename="unlink" htmlcode="@REMOVE| |@LINK">
<initialize>
var link=editor.IsIncludedByTag("a");
if(link==null)return self.set_visible(false);
</initialize>
<attach name="click">
var link=editor.IsIncludedByTag("a");
if(link)link.RemoveNode(false);
</attach>
</panel>
</panel>
<panel jsml-class="menu_context_range" dock="fill" overflow="visible">
<panel jsml-base="rtemenuitem" command="mergecells" imagename="mrgcell" htmlcode="@MERGECELLS">
<initialize>
if(!editor.CanExecCommand("mergecells"))self.set_visible(false);
</initialize>
</panel>
<panel jsml-base="rtemenuitem" command="cut" imagename="cut" htmlcode="@CUT">
<initialize>
if(editor.CanExecCommand("mergecells"))self.set_visible(false);
</initialize>
<attach name="mousehover">self._ResetFCButton();</attach>
</panel>
<panel jsml-base="rtemenuitem" command="copy" imagename="copy" htmlcode="@COPY">
<initialize>
if(editor.CanExecCommand("mergecells"))self.set_visible(false);
</initialize>
<attach name="mousehover">self._ResetFCButton();</attach>
</panel>
<panel jsml-base="rtemenuitem" command="delete" imagename="delete" htmlcode="@DELETE">
<initialize>
if(editor.CanExecCommand("mergecells"))self.set_visible(false);
</initialize>
</panel>
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuitem" command="removeformat" imagename="unformat" htmlcode="@REMOVEFORMAT" />
<panel jsml-base="rtemenuspliter" />
<panel dock="top" margin="0,0,0,25" overflow="visible">
<panel jsml-base="tbgroup_{skin}_{color}" dock="none">
<image jsml-base="image_{skin}_{color}" command="bold" imagename="bold" tooltip="@BOLD" />
<image jsml-base="image_{skin}_{color}" command="italic" imagename="italic" tooltip="@ITALIC" />
<image jsml-base="image_{skin}_{color}" command="underline" imagename="under" tooltip="@UNDERLINE" />
<image jsml-base="image_{skin}_{color}" command="linethrough" imagename="strike" tooltip="@LINETHROUGH" />
<image jsml-base="image_{skin}_{color}" command="overline" imagename="overline" tooltip="@OVERLINE" />
</panel>
</panel>
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuitem" htmlcode="@FONTNAME" arrow="true" xmlfile="setfontname.xml" />
<panel jsml-base="rtemenuitem" htmlcode="@FONTSIZE" arrow="true" xmlfile="setfontsize.xml" />
<panel jsml-base="rtemenuitem" htmlcode="@TEXTCOLOR" arrow="true" xmlfile="colorpicker.xml">
<method name="initoption" arguments="newoption">
newoption.setcolor=function(val){editor.ExecCommand("forecolor",val);}
</method>
</panel>
<panel jsml-base="rtemenuitem" htmlcode="@BACKCOLOR" arrow="true" xmlfile="colorpicker.xml">
<method name="initoption" arguments="newoption">
newoption.setcolor=function(val){editor.ExecCommand("backcolor",val);}
</method>
</panel>
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuopener" menuclass="menu_context_taglist" htmlcode="@TAGLIST">
<initialize>
<![CDATA[
var node=editor.GetSelectionRoot();
var count=0;
for(;node&&node.GetNameLower()!="body";node=node.GetParent())
{
if(node.nodeType==1)count++;
}
if(count==0)self.set_disabled(true);
]]>
</initialize>
</panel>
<panel jsml-base="rtemenuopener" menuclass="menu_context_table" htmlcode="@TABLE">
<initialize>
var table=editor.IsIncludedByTag("table");
if(table==null)return self.set_visible(false);
</initialize>
</panel>
</panel>
<panel jsml-class="menu_context_control" dock="fill" overflow="visible">
<panel jsml-base="rtemenuitem" command="cut" imagename="cut" htmlcode="@CUT">
<attach name="mousehover">self._ResetFCButton();</attach>
</panel>
<panel jsml-base="rtemenuitem" command="copy" imagename="copy" htmlcode="@COPY">
<attach name="mousehover">self._ResetFCButton();</attach>
</panel>
<panel jsml-base="rtemenuitem" command="delete" imagename="delete" htmlcode="@DELETE" />
<panel jsml-base="rtemenuspliter" />
<panel jsml-base="rtemenuopener" menuclass="menu_context_taglist" htmlcode="@TAGLIST">
<initialize>
<![CDATA[
var node=editor.GetSelectionRoot();
var count=0;
for(;node&&node.GetNameLower()!="body";node=node.GetParent())
{
if(node.nodeType==1)count++;
}
if(count==0)self.set_disabled(true);
]]>
</initialize>
</panel>
<panel jsml-base="rtemenuitem" htmlcode="@IMAGEEDITOR" imagename="imageeditor">
<initialize>
<![CDATA[
var node=editor.GetSelectionRoot();
if(!node||node.GetNameLower()!="img")self.set_visible(false);
self.set_disabled(true);
editor.FindStorage(["Gallery","Image"],node.GetAttribute("src"),function(storage,fileitem)
{
if(!storage)return;
self.imgnode=node;
self.storage=storage;
self.fileitem=fileitem;
self.set_disabled(false);
});
]]>
</initialize>
<attach name="click">
if(!self.storage)return;
editor.ShowImageEditor(self.imgnode,self.storage,self.fileitem);
</attach>
</panel>
<panel jsml-base="rtemenuitem" htmlcode="@INSERTIMAGEMAP" imagename="imagemap">
<initialize>
<![CDATA[
var node=editor.GetSelectionRoot();
if(!node||node.GetNameLower()!="img")self.set_visible(false);
self.imgnode=node;
]]>
</initialize>
<attach name="click">
editor.ExecInsertImageMap(null,self.imgnode);
</attach>
</panel>
<panel jsml-base="rtemenuitem" htmlcode="@STYLES" imagename="properties">
<initialize>
<![CDATA[
var node=editor.GetSelectionRoot();
if(!node||!node.IsControl())
{
self.set_visible(false);
return;
}
self.set_arrow(true);
self.set_xmlfile("menu_styles.xml");
self._floatboxClass="floatmenu";
self.initoption=function(newoption)
{
newoption.node=node;
newoption.buttonClick=function()
{
self.invoke_event("click");
}
}
]]>
</initialize>
<attach name="click">
editor.ShowPropertiesDialog(editor.GetSelectionRoot(),{styletab:"text"})
</attach>
</panel>
<panel jsml-base="rtemenuitem" htmlcode="@PROPERTIES" imagename="properties">
<initialize>
var node=editor.GetSelectionRoot();
if(!node||!node.IsControl())self.set_visible(false);
</initialize>
<attach name="click">
editor.ShowPropertiesDialog(editor.GetSelectionRoot())
</attach>
</panel>
</panel>
<panel dock="fill" overflow="visible">
<initialize>
<![CDATA[
var seltype=editor.GetSelectionType();
var menucls="menu_context_point";
if(seltype=="Range")
menucls="menu_context_range";
if(seltype=="Control")
menucls="menu_context_control";
self.append_child(jsml.class_create_instance(menucls));
]]>
</initialize>
</panel>
</jsml>