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.

502 lines
16 KiB

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="jsml.xsl"?>
<jsml xmlns="http://cutesoft.net/jsml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cutesoft.net/jsml ../../JSML/jsml.xsd">
<panel jsml-class="propertypanel" width="520" height="360" border_width="1" border_color="Gray" css_text="display:none;">
<panel jsml-local="backpanel" back_color="gray" opacity="20">
<initialize>
<![CDATA[
var style=self._element.style;
style.zIndex="987653";
function repos()
{
if(self._removed || self._jsml_disposed)return;
setTimeout(repos,100);
self.set_parent(document.body);
var rect=jsml.get_body_rect();
style.position="absolute";
style.top=rect.top+"px";
style.left=rect.left+"px";
style.width = rect.width + "px";
style.height = rect.height + "px";
}
repos();
]]>
</initialize>
<method name="Remove">
self._removed = true;
document.body.removeChild(self.get_element());
</method>
</panel>
<panel dock="top" height="30" back_color="#cccccc" vertical_align="middle">
<label jsml-local="label_layername" dock="fill" css_text="font-weight:bold;" margin="5" text="@Property_Header" vertical_align="middle" width="150"></label>
<attach name="mousedown" arguments="jevent,devent">
instance.start_move_offset(devent);
</attach>
</panel>
<panel dock="left" width="120" back_color="#eeeeee">
<panel dock="fill" margin="5" border_width="1" border_color="Gray">
<label dock="top" height="20" css_text="font-weight:bold;" margin="5" text="@Property_GroupTitle" vertical_align="middle" width="10" overflow="visible"></label>
<panel dock="fill" border_width="1,0,0,0" border_color="Gray" padding="5">
<panel jsml-local="shadowtab" height="25" dock="top" border_width="0,0,1,0" border_color="white" vertical_align="middle">
<htmlcontrol width="20" dock="left" vertical_align="middle">
<xmldata>
<input id="cbx_shadow" type="checkbox">
</input>
</xmldata>
<attach name="click">
instance.Preview("ShadowEnabled",self.find_element("cbx_shadow").checked);
</attach>
</htmlcontrol>
<label left="25" text="@Property_GroupShadow" vertical_align="middle" width="10" overflow="visible">
<attach name="click">
instance.ShowContainer(shadowcontainer,shadowtab);
instance.find_element("cbx_shadow").checked = true;
instance.Preview("ShadowEnabled", true);
</attach>
</label>
</panel>
<panel jsml-local="glowouttab" height="25" dock="top" border_width="0,0,1,0" border_color="white" vertical_align="middle">
<htmlcontrol width="20" dock="left" vertical_align="middle">
<xmldata>
<input id="cbx_glowout" type="checkbox">
</input>
</xmldata>
<attach name="click">
instance.Preview("GlowOutEnabled",self.find_element("cbx_glowout").checked);
</attach>
</htmlcontrol>
<label left="25" text="@Property_GroupOutGlow" vertical_align="middle" width="10" overflow="visible">
<attach name="click">
instance.ShowContainer(glowoutcontainer,glowouttab);
instance.find_element("cbx_glowout").checked = true;
instance.Preview("GlowOutEnabled", true);
</attach>
</label>
</panel>
<panel jsml-local="glowintab" height="25" dock="top" border_width="0,0,1,0" border_color="white" vertical_align="middle">
<htmlcontrol width="20" dock="left" vertical_align="middle">
<xmldata>
<input id="cbx_glowin" type="checkbox">
</input>
</xmldata>
<attach name="click">
instance.Preview("GlowInEnabled",self.find_element("cbx_glowin").checked);
</attach>
</htmlcontrol>
<label left="25" text="@Property_GroupInGlow" vertical_align="middle" width="10" overflow="visible">
<attach name="click">
instance.ShowContainer(glowincontainer,glowintab);
instance.find_element("cbx_glowin").checked = true;
instance.Preview("GlowInEnabled", true);
</attach>
</label>
</panel>
</panel>
</panel>
</panel>
<panel jsml-local="optioncontainer" dock="fill" back_color="white" padding="5">
<panel dock="bottom" height="30">
<button text="@Btn_Save" left="40" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
<attach name="click">
<![CDATA[
var his=ImageEditorDocument.get_history()
var lay=instance.get_layer();
lay.$010();
ImageEditorDocument.$0118();
document.body.removeChild(instance.get_element());
backpanel.Remove();
]]>
</attach>
</button>
<button text="@Btn_Cancel" left="130" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
<attach name="click">
<![CDATA[
var his=ImageEditorDocument.get_history()
var lay=instance.get_layer();
for(var p in instance._propbackup)
his.$041(lay,p,instance._propbackup[p]);
if(lay.$010())
ImageEditorDocument.$0118();
document.body.removeChild(instance.get_element());
backpanel.Remove();
]]>
</attach>
</button>
</panel>
<panel jsml-local="shadowcontainer" dock="fill" visible="1">
<panel dock="top" height="30">
<panel dock="left" vertical_align="middle">
<label width="50" text="@Property_Blur"></label>
</panel>
<panel dock="fill" vertical_align="middle">
<textbox text="0" jsml-local="tb_shadowblur">
<initialize>
<![CDATA[
ImageEditorDocument.$093(self._input);
self._input.onblur=function()
{
instance.Preview("ShadowBlur",self.get_text());
}
]]>
</initialize>
</textbox>
</panel>
</panel>
<panel dock="top" height="30">
<panel dock="left" vertical_align="middle">
<label width="55" text="@Property_OffsetX"></label>
</panel>
<panel dock="fill" vertical_align="middle">
<textbox text="0" jsml-local="tb_shadowx">
<initialize>
<![CDATA[
ImageEditorDocument.$093(self._input);
self._input.onblur=function()
{
instance.Preview("ShadowX",self.get_text());
}
]]>
</initialize>
</textbox>
</panel>
</panel>
<panel dock="top" height="30">
<panel dock="left" vertical_align="middle">
<label width="55" text="@Property_OffsetY"></label>
</panel>
<panel dock="fill" vertical_align="middle">
<textbox text="0" jsml-local="tb_shadowy">
<initialize>
<![CDATA[
ImageEditorDocument.$093(self._input);
self._input.onblur=function()
{
instance.Preview("ShadowY",self.get_text());
}
]]>
</initialize>
</textbox>
</panel>
</panel>
<panel dock="top" height="30">
<panel dock="left" vertical_align="middle">
<label width="50" text="@Property_Color"></label>
</panel>
<panel dock="fill" vertical_align="middle">
<panel jsml-local="tb_shadowcolor" width="20" height="20" border_color="#cccccc" border_width="1">
<attach name="click" arguments="sender,evt">
<![CDATA[
//shadowcolorpicker.set_target(self);
var cp = ImageEditorDocument.$050();
cp.set_target(self);
cp.set_visible(1);
//var style = cp._element.style;
function AdjustPos()
{
var target = self.get_element();
var y = 0;
var x = 0;
var iy = 0;
while(target != document.body)
{
if(target == instance.get_element())
iy = y;
x += parseInt(target.offsetLeft)||0;
y += parseInt(target.offsetTop)||0;
target = target.parentNode;
}
var left = x + self.get_current_width() + 5;
var top = y;
if(top<0) top =0;
cp.set_offset_x(left + 28);
cp.set_offset_y(top - iy + 2);
}
AdjustPos();
ImageEditorDocument.CancelBubble(evt);
return false;
]]>
</attach>
<method name="SaveColor" arguments="color">
self.set_back_color(color);
//instance.$041("ShadowColor",color);
instance.Preview("ShadowColor",color);
</method>
</panel>
</panel>
</panel>
</panel>
<panel jsml-local="glowoutcontainer" dock="fill" visible="0">
<panel dock="top" height="30">
<panel dock="left" vertical_align="middle">
<label width="50" text="@Property_GlowWidth"></label>
</panel>
<panel dock="fill" vertical_align="middle">
<textbox text="3" jsml-local="tb_glowoutwidth">
<initialize>
<![CDATA[
ImageEditorDocument.$093(self._input);
self._input.onblur=function()
{
var val = self.get_text();
if(val!=null && val.length>0 && isNaN(val))
{
alert(ImageEditorDocument.Text["NumberValid"]);
return;
}
if(parseInt(val)<0)
{
alert(ImageEditorDocument.Text["NumberValidZero"]);
return;
}
instance.Preview("GlowOutWidth", val);
}
]]>
</initialize>
</textbox>
</panel>
</panel>
<panel dock="top" height="30">
<panel dock="left" vertical_align="middle">
<label width="50" text="@Property_Color"></label>
</panel>
<panel dock="fill" vertical_align="middle">
<panel jsml-local="tb_glowoutcolor" width="20" height="20" border_color="#cccccc" border_width="1">
<attach name="click" arguments="sender,evt">
<![CDATA[
//glowoutcolorpicker.set_target(self);
var cp = ImageEditorDocument.$050();
cp.set_target(self);
cp.set_visible(1);
//var style = cp._element.style;
function AdjustPos()
{
var target = self.get_element();
var y = 0;
var x = 0;
var iy = 0;
while(target != document.body)
{
if(target == instance.get_element())
iy = y;
x += parseInt(target.offsetLeft)||0;
y += parseInt(target.offsetTop)||0;
target = target.parentNode;
}
var left = x + self.get_current_width() + 5;
var top = y;
if(top<0) top =0;
cp.set_offset_x(left + 28);
cp.set_offset_y(top - iy + 2);
}
AdjustPos();
ImageEditorDocument.CancelBubble(evt);
return false;
]]>
</attach>
<method name="SaveColor" arguments="color">
self.set_back_color(color);
instance.Preview("GlowOutColor",color);
</method>
</panel>
</panel>
</panel>
</panel>
<panel jsml-local="glowincontainer" dock="fill" visible="0">
<panel dock="top" height="30">
<panel dock="left" vertical_align="middle">
<label width="50" text="@Property_GlowWidth"></label>
</panel>
<panel dock="fill" vertical_align="middle">
<textbox text="3" jsml-local="tb_glowinwidth">
<initialize>
<![CDATA[
ImageEditorDocument.$093(self._input);
self._input.onblur=function()
{
var val = self.get_text();
if(val!=null && val.length>0 && isNaN(val))
{
alert(ImageEditorDocument.Text["NumberValid"]);
return;
}
if(parseInt(val)<0)
{
alert(ImageEditorDocument.Text["NumberValidZero"]);
return;
}
instance.Preview("GlowInWidth", val);
}
]]>
</initialize>
</textbox>
</panel>
</panel>
<panel dock="top" height="30">
<panel dock="left" vertical_align="middle">
<label width="50" text="@Property_Color"></label>
</panel>
<panel dock="fill" vertical_align="middle">
<panel jsml-local="tb_glowincolor" width="20" height="20" border_color="#cccccc" border_width="1">
<attach name="click" arguments="sender,evt">
<![CDATA[
//glowincolorpicker.set_target(self);
var cp = ImageEditorDocument.$050();
cp.set_target(self);
cp.set_visible(1);
//var style = cp._element.style;
function AdjustPos()
{
var target = self.get_element();
var y = 0;
var x = 0;
var iy = 0;
while(target != document.body)
{
if(target == instance.get_element())
iy = y;
x += parseInt(target.offsetLeft)||0;
y += parseInt(target.offsetTop)||0;
target = target.parentNode;
}
var left = x + self.get_current_width() + 5;
var top = y;
if(top<0) top =0;
cp.set_offset_x(left + 28);
cp.set_offset_y(top - iy + 2);
}
AdjustPos();
ImageEditorDocument.CancelBubble(evt);
return false;
]]>
</attach>
<method name="SaveColor" arguments="color">
self.set_back_color(color);
instance.Preview("GlowInColor",color);
</method>
</panel>
</panel>
</panel>
</panel>
</panel>
<method name="Preview" arguments="name,val">
<![CDATA[
var his=ImageEditorDocument.get_history();
var lay=instance.get_layer();
if(!self._propsaved[name] )
{
self._propbackup[name]=his.$040(lay,name);
self._propsaved[name]=true;
}
his.$041(lay,name,val);
lay.$010()
ImageEditorDocument.$0118();
]]>
</method>
<method name="ShowContainer" arguments="ctn,tab">
<![CDATA[
var ctnarr = [shadowcontainer,glowoutcontainer,glowincontainer];
var tabarr = [shadowtab,glowouttab,glowintab];
for(var i=0;i<ctnarr.length;i++)
{
ctnarr[i].set_visible(0);
tabarr[i].set_back_color("");
}
ctn.set_visible(1);
tab.set_back_color("#e5eff3");
]]>
</method>
<method name="$040" arguments="name">
<![CDATA[
var his=ImageEditorDocument.get_history()
var lay=self.get_layer();
return his.$040(lay,name);
]]>
</method>
<method name="$041" arguments="name,val">
<![CDATA[
var his=ImageEditorDocument.get_history()
var lay=self.get_layer();
return his.$041(lay,name,val);
]]>
</method>
<property name="layer">
<get>
var layeritem = self.get_layeritem();
if(!layeritem) return null;
return layeritem.get_layer();
</get>
</property>
<property name="layeritem">
<get>
return self._layeritem;
</get>
<set>
self._layeritem = value;
//label_layername.set_text(self.get_layer().get_name());
//set attributes
//Shadow
instance.find_element("cbx_shadow").checked = self.$040("ShadowEnabled") || false;
tb_shadowx.set_text(self.$040("ShadowX")||"5");
tb_shadowy.set_text(self.$040("ShadowY")||"5");
tb_shadowblur.set_text(self.$040("ShadowBlur")||"0");
tb_shadowcolor.set_back_color(self.$040("ShadowColor")||"rgba(0,0,0,1)");
instance.find_element("cbx_glowout").checked = self.$040("GlowOutEnabled") || false;
tb_glowoutwidth.set_text(self.$040("GlowOutWidth")||"5");
tb_glowoutcolor.set_back_color(self.$040("GlowOutColor")||"rgba(255,255,255,0.5)");
instance.find_element("cbx_glowin").checked = self.$040("GlowInEnabled") || false;
tb_glowinwidth.set_text(self.$040("GlowInWidth")||"5");
tb_glowincolor.set_back_color(self.$040("GlowInColor")||"rgba(255,255,255,0.5)");
</set>
</property>
<attach name="click">
<![CDATA[
]]>
</attach>
<initialize>
<![CDATA[
self._propsaved = {};
self._propbackup = {};
var style=self._element.style;
style.zIndex="987654";
var myself = self;
function AdjustPos()
{
var x = (document.body.offsetWidth - myself.get_width())/2;
var y = (document.body.offsetHeight - myself.get_height())/2;
myself.set_offset_x(x);
myself.set_offset_y(y);
style.position="absolute";
//myself.set_visible(1);
style.display = "";
}
setTimeout(AdjustPos, 50);
]]>
</initialize>
</panel>
<execute>
<![CDATA[
plugin.LoadUI = function(layer)
{
var propertypanel = jsml.class_create_instance("propertypanel");
propertypanel.set_parent(document.body);
propertypanel.set_layeritem(layer);
}
]]>
</execute>
</jsml>