| <?xml version="1.0" encoding="UTF-8" ?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| <library> |
| |
| <class name="whiteBoardTextField" extends="text" > |
| <handler name="prepareForDelete" args="tRef"> |
| //Nothing |
| </handler> |
| <attribute name="typeOfObject" value="text" type="string" /> |
| <method name="setTextEncoded" args="tString"> |
| <![CDATA[ |
| |
| while (tString.indexOf("<") > 0) { |
| tString = tString.replace("<","<"); |
| } |
| |
| while (tString.indexOf(">") > 0) { |
| tString = tString.replace(">",">"); |
| } |
| |
| this.setAttribute("text",tString); |
| ]]> |
| </method> |
| </class> |
| |
| <class name="baseDrawLetter" extends="baseDrawObject"> |
| |
| <attribute name="currentletterObj" value="null" /> |
| |
| <attribute name="letterObjectIsActive" value="false" type="boolean" /> |
| |
| <attribute name="edittextLetterObject" value="null" /> |
| |
| <attribute name="edittextLetter" value="false" type="boolean" /> |
| |
| <method name="letterObjectFree" args="obj"> |
| this.setAttribute('letterObjectIsActive',false); |
| if (this.edittextLetter){ |
| this.edittextLetter = false; |
| this.setModus('hand'); |
| } |
| </method> |
| <method name="letterObjectClose" args="obj"> |
| this.setAttribute('letterObjectIsActive',true); |
| </method> |
| |
| <!-- The Color of the letter Object --> |
| <attribute name="currentlayerletter" value="0x000000" setter="this.setNewLayerLetter(currentlayerletter)" /> |
| |
| <!-- The Size of the Letter Object --> |
| <attribute name="currentlayersize" value="12" type="number" setter="this.setNewLayerSize(currentlayersize)" /> |
| |
| <!-- "plain", "bold" , "italic" or "bolditalic". --> |
| <attribute name="currentlayerstyle" value="plain" type="string" setter="this.setNewLayerStyle(currentlayerstyle)" /> |
| |
| <method name="setNewLayerLetter" args="cl"> |
| this.currentlayerletter=cl; |
| this.sendNewStyle.sendEvent(); |
| </method> |
| |
| <method name="setNewLayerSize" args="cs"> |
| this.currentlayersize=cs; |
| this.sendNewStyle.sendEvent(); |
| </method> |
| |
| <method name="setNewLayerStyle" args="cs"> |
| this.currentlayerstyle=cs; |
| this.sendNewStyle.sendEvent(); |
| </method> |
| |
| <!-- Send Update Events to current Letter Object --> |
| <handler name="sendNewStyle"> |
| if (this.letterObjectIsActive){ |
| this.currentletterObj.newStyleEvent.sendEvent() |
| } |
| </handler> |
| |
| <attribute name="italic" value="false" type="boolean" setter="this.setitalic(italic)" /> |
| <attribute name="bold" value="false" type="boolean" setter="this.setbold(bold)" /> |
| <method name="setitalic" args="b"> |
| this.italic = b; |
| this.doalterStyle(); |
| </method> |
| <method name="setbold" args="b"> |
| this.bold = b; |
| this.doalterStyle(); |
| </method> |
| <method name="doalterStyle"> |
| <![CDATA[ |
| if (this.isinited){ |
| if (this.bold && this.italic){ |
| this.setAttribute('currentlayerstyle','bolditalic'); |
| } else if(!this.bold && this.italic){ |
| this.setAttribute('currentlayerstyle','italic'); |
| } else if(this.bold && !this.italic){ |
| this.setAttribute('currentlayerstyle','bold'); |
| } else if(!this.bold && !this.italic){ |
| this.setAttribute('currentlayerstyle','plain'); |
| } |
| //Debug.write("d: ",this.getAttribute('currentlayerstyle')); |
| } |
| ]]> |
| </method> |
| |
| <method name="editTextByValues" args="obj,txtName,txt,x,y,width,height"> |
| <![CDATA[ |
| if (!this.letterObjectIsActive){ |
| //Debug.write("editTextByValues",height); |
| this.edittextLetterObject = obj; |
| this.currentletterObj = new lz.baseDrawWords(this,{refObj:this,x:x,y:y, |
| initTextName:txtName,inittext:txt,width:width,height:height}); |
| this.edittextLetter = true; |
| } |
| ]]> |
| </method> |
| |
| <method name="drawTextField" args="textforfield,width,height,x,y" > |
| |
| //Debug.write("drawTextField: ",textforfield,width,x,y); |
| var tempO = this.newTextField(this, 'letter' + this.getCounter(), |
| textforfield, width, height, x, y, this.currentlayersize, |
| this.currentlayerletter, this.currentlayerstyle); |
| this.layers.push(tempO); |
| this.drawTextFieldregister(textforfield, width, x, y, |
| this.currentlayersize, this.currentlayerletter, |
| this.currentlayerstyle, tempO.height, this |
| .getSWFDocumentStatus(), this.getZIndex()); |
| </method> |
| |
| <!-- editModus --> |
| <method name="setTextFieldByName" args="txtName,textforfield,width,x,y,height" > |
| if ($debug) Debug.write("drawTextFieldByName ",txtName,textforfield,width,x,y); |
| //this.checkForChanges(txtName,textforfield,width,x,y,height); |
| this.edittextLetterObject.setAttribute('text',textforfield); |
| this.edittextLetterObject.setTextEncoded(textforfield); |
| this.edittextLetterObject.setAttribute('width',width); |
| this.edittextLetterObject.setAttribute('height',height); |
| this.edittextLetterObject.setAttribute('visible',true); |
| this.edittextLetterObject.setAttribute('fontsize',this.currentlayersize); |
| this.edittextLetterObject.setAttribute('fgcolor',this.currentlayerletter); |
| this.edittextLetterObject.setAttribute('fontstyle',this.currentlayerstyle); |
| this.updateObjectBounds(); |
| this.updateByEditLetterObject(); |
| //this.setModus('hand'); |
| </method> |
| |
| <method name="startLetter" args="oid_name"> |
| if (oid_name == null) { |
| oid_name = 'letterTemp'+this.getCounter(); |
| } |
| this.currentlayer = new lz.drawViewNew(this,{name:oid_name,width:this.width+2,height:this.height+2}); |
| </method> |
| |
| <method name="drawletterBoundingBox" args="x1,y1,x2,y2"> |
| <![CDATA[ |
| |
| currentlayer.lineWidth = 1; |
| currentlayer.beginPath(); |
| currentlayer.moveTo(x1,y1); |
| currentlayer.lineTo(x1,y2); |
| currentlayer.lineTo(x2,y2); |
| currentlayer.lineTo(x2,y1); |
| currentlayer.lineTo (x1,y1); |
| currentlayer.closePath(); |
| |
| currentlayer.strokeStyle = 0x000000; |
| currentlayer.stroke(); |
| |
| ]]> |
| </method> |
| |
| <method name="endLetter"> |
| <![CDATA[ |
| if ($debug) Debug.write("endLetter: ", this.currentlayer); |
| this.currentlayer.destroy(); |
| var xProp = 0; |
| var yProp = 0; |
| if (this.startx <= this.endx) { |
| var stx = this.startx; |
| } else { |
| var stx = this.endx; |
| } |
| if (this.starty <= this.endy) { |
| var sty = this.starty; |
| } else { |
| var sty = this.endy; |
| } |
| var width = Math.abs(this.startx - this.endx); |
| var height = Math.abs(this.starty - this.endy); |
| if (width < 20 && height < 20) { |
| width = 160; |
| height = 30; |
| } |
| |
| this.currentletterObj = new lz.baseDrawWords(this, { |
| refObj : this, |
| x : xProp + stx, |
| y : yProp + sty, |
| width : width, |
| height : height |
| }); |
| |
| if ($debug) Debug.write("currentletterObj: ", this.currentletterObj.x, this.currentletterObj.y); |
| ]]> |
| </method> |
| |
| |
| <method name="updateByEditLetterObject" > |
| <![CDATA[ |
| if ($debug) Debug.write("UpdateByObject : ",this.edittextLetterObject,this.edittextLetterObject.name); |
| var objName = this.edittextLetterObject.name; |
| |
| for (var eg=0;eg<this.baseactionobjectList.length;eg++){ |
| if (this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-1]==objName) { |
| if ($debug) Debug.write("Found Object: ",this.baseactionobjectList[eg]); |
| this.baseactionobjectList[eg][1] = this.edittextLetterObject.text; |
| this.baseactionobjectList[eg][2] = this.edittextLetterObject.fgcolor; |
| this.baseactionobjectList[eg][3] = this.edittextLetterObject.fontsize; |
| this.baseactionobjectList[eg][4] = this.edittextLetterObject.fontstyle; |
| this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-5] = this.edittextLetterObject.x |
| this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-4] = this.edittextLetterObject.y; |
| this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-3] = this.edittextLetterObject.width; |
| this.baseactionobjectList[eg][this.baseactionobjectList[eg].length-2] = this.edittextLetterObject.height; |
| var newA = this.baseactionobjectList[eg]; |
| if (newA[0]=='paint') newA[1] = new Array(); |
| this.onsharedMessage('editText',newA); |
| break; |
| } |
| } |
| |
| ]]> |
| </method> |
| |
| <method name="editTextByHistory" args="actionObject,obj"> |
| var editObj = this.getObjectByName(actionObject[actionObject.length-1]); |
| //Debug.write("editTextByHistory: ",editObj,actionObject,actionObject.length); |
| editObj.setAttribute('text',actionObject[1]); |
| editObj.setTextEncoded(actionObject[1]); |
| editObj.setAttribute('width',actionObject[actionObject.length-3]); |
| editObj.setAttribute('height',actionObject[actionObject.length-2]); |
| editObj.setAttribute('fontsize',actionObject[3]); |
| editObj.setAttribute('fgcolor',actionObject[2]); |
| editObj.setAttribute('fontstyle',actionObject[4]); |
| </method> |
| |
| <method name="checkForChanges" args="txtName,textforfield,width,x,y,height"> |
| <![CDATA[ |
| //Debug.write("checkForChanges: 1 ",txtName,textforfield,width,x,y,height); |
| //Debug.write("checkForChanges: 2 ",this.edittextLetterObject.name,this.edittextLetterObject.text,this.edittextLetterObject.width,this.edittextLetterObject.x,this.edittextLetterObject.y,this.edittextLetterObject.height); |
| //there is always a change |
| |
| ]]> |
| </method> |
| |
| <method name="drawactionHistory" args="actionObject,obj"> |
| this.newTextField(obj,actionObject[actionObject.length-1],actionObject[1], |
| actionObject[actionObject.length-3],actionObject[actionObject.length-2], |
| actionObject[actionObject.length-5],actionObject[actionObject.length-4], |
| actionObject[3],actionObject[2],actionObject[4]); |
| |
| this.doSWFDocumentStatus(this.currentlayer,actionObject[actionObject.length-7]); |
| </method> |
| |
| <method name="newTextField" args="obj,naming,textforfield,width,height,x,y,fontsize,fgcolor,fontstyle"> |
| this.currentlayer = new lz.whiteBoardTextField(obj, { |
| name : naming, |
| x : x, |
| y : y, |
| height : height, |
| multiline : true, |
| width : width, |
| text : textforfield, |
| fontsize : fontsize, |
| fgcolor : fgcolor, |
| fontstyle : fontstyle |
| }); |
| this.currentlayer.setTextEncoded(textforfield); |
| //Add Layer to global Layer |
| return this.currentlayer; |
| </method> |
| |
| <method name="drawTextFieldregister" args="textforfield,width,x,y,fontsize,fgcolor,fontstyle,height,swfObj,zIndex"> |
| var actionObject = new Array(); |
| actionObject[0] = "letter"; |
| actionObject[1] = textforfield; |
| actionObject[2] = fgcolor; |
| actionObject[3] = fontsize; |
| actionObject[4] = fontstyle; |
| actionObject[5] = zIndex;//-8 |
| actionObject[6] = swfObj;//-7 |
| actionObject[7] = this.counter;//-6 |
| actionObject[8] = x;//-5 |
| actionObject[9] = y;//-4 |
| actionObject[10] = width;//-3 |
| actionObject[11] = height;//-2 |
| actionObject[12] = this.currentlayer.name;//-1 |
| this.baseactionobjectList.push(actionObject); |
| this.checkStepLayers(); |
| this.onsharedMessage('draw',actionObject); |
| </method> |
| |
| </class> |
| |
| </library> |