http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarThumbOverSkin.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarThumbOverSkin.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarThumbOverSkin.as new file mode 100644 index 0000000..48aa83a --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarThumbOverSkin.as @@ -0,0 +1,89 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package flashx.textLayout.ui.styles +{ + import mx.skins.RectangularBorder; + import mx.utils.GraphicsUtil; + import flash.display.LineScaleMode; + import flash.display.CapsStyle; + + public class ScrollbarThumbOverSkin extends RectangularBorder + { + public function ScrollbarThumbOverSkin() + { + super(); + } + + override public function get measuredWidth():Number + { + return 11; + } + + override public function get measuredHeight():Number + { + return 10; + } + + override protected function updateDisplayList(w:Number, h:Number):void + { + super.updateDisplayList(w, h); + + var thumbFill:uint = 0x222222; + var thumbFillAlpha:Number = 1.0; + var thumbStroke:uint = 0x2A2A2A; + var thumbStrokeAlpha:Number = 1.0; + + var trackStroke:uint = 0x2A2A2A; + var trackStrokeAlpha:Number = 1.0; + + if (getStyle("thumbOverFill") != undefined) + thumbFill = getStyle("thumbOverFill"); + if (getStyle("thumbOverFillAlpha") != undefined) + thumbFillAlpha = getStyle("thumbOverFillAlpha"); + if (getStyle("thumbOverStroke") != undefined) + thumbStroke = getStyle("thumbOverStroke"); + if (getStyle("thumbOverStrokeAlpha") != undefined) + thumbStrokeAlpha = getStyle("thumbOverStrokeAlpha"); + if (getStyle("trackStroke") != undefined) + trackStroke = getStyle("trackStroke"); + if (getStyle("trackStrokeAlpha") != undefined) + trackStrokeAlpha = getStyle("trackStrokeAlpha"); + + graphics.clear(); + // draw the top line of the thumb to match the track + graphics.lineStyle(1, trackStroke, trackStrokeAlpha); + graphics.moveTo(0, 0); + graphics.lineTo(w-1, 0); + + // fill in the thumb + graphics.beginFill(thumbFill, thumbFillAlpha); + graphics.drawRect(0, 0, w-1, h-2); + graphics.endFill(); + + // draw the border of the thumb + graphics.lineStyle(1, thumbStroke, thumbStrokeAlpha); + graphics.drawRect(0, 1, w-1, h-3); + + // draw the bottom line of the thumb to match the track + graphics.lineStyle(1, trackStroke, trackStrokeAlpha); + graphics.moveTo(0, h-1); + graphics.lineTo(w, h-1); + + } + }} \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarThumbUpSkin.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarThumbUpSkin.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarThumbUpSkin.as new file mode 100644 index 0000000..450fd3a --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarThumbUpSkin.as @@ -0,0 +1,89 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package flashx.textLayout.ui.styles +{ + import mx.skins.RectangularBorder; + import mx.utils.GraphicsUtil; + import flash.display.LineScaleMode; + import flash.display.CapsStyle; + + public class ScrollbarThumbUpSkin extends RectangularBorder + { + public function ScrollbarThumbUpSkin() + { + super(); + } + + override public function get measuredWidth():Number + { + return 11; + } + + override public function get measuredHeight():Number + { + return 10; + } + + override protected function updateDisplayList(w:Number, h:Number):void + { + super.updateDisplayList(w, h); + + var thumbFill:uint = 0x222222; + var thumbFillAlpha:Number = 1.0; + var thumbStroke:uint = 0x2A2A2A; + var thumbStrokeAlpha:Number = 1.0; + + var trackStroke:uint = 0x2A2A2A; + var trackStrokeAlpha:Number = 1.0; + + if (getStyle("thumbFill") != undefined) + thumbFill = getStyle("thumbFill"); + if (getStyle("thumbFillAlpha") != undefined) + thumbFillAlpha = getStyle("thumbFillAlpha"); + if (getStyle("thumbStroke") != undefined) + thumbStroke = getStyle("thumbStroke"); + if (getStyle("thumbStrokeAlpha") != undefined) + thumbStrokeAlpha = getStyle("thumbStrokeAlpha"); + if (getStyle("trackStroke") != undefined) + trackStroke = getStyle("trackStroke"); + if (getStyle("trackStrokeAlpha") != undefined) + trackStrokeAlpha = getStyle("trackStrokeAlpha"); + + graphics.clear(); + // draw the top line of the thumb to match the track + graphics.lineStyle(1, trackStroke, trackStrokeAlpha); + graphics.moveTo(0, 0); + graphics.lineTo(w-1, 0); + + // fill in the thumb + graphics.beginFill(thumbFill, thumbFillAlpha); + graphics.drawRect(0, 0, w-1, h-2); + graphics.endFill(); + + // draw the border of the thumb + graphics.lineStyle(1, thumbStroke, thumbStrokeAlpha); + graphics.drawRect(0, 1, w-1, h-3); + + // draw the bottom line of the thumb to match the track + graphics.lineStyle(1, trackStroke, trackStrokeAlpha); + graphics.moveTo(0, h-1); + graphics.lineTo(w, h-1); + + } + }} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarTrackSkin.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarTrackSkin.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarTrackSkin.as new file mode 100644 index 0000000..d822b91 --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarTrackSkin.as @@ -0,0 +1,68 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package flashx.textLayout.ui.styles +{ + import flash.display.CapsStyle; + import flash.display.LineScaleMode; + + import mx.skins.RectangularBorder; + + public class ScrollbarTrackSkin extends RectangularBorder + { + public function ScrollbarTrackSkin() + { + super(); + } + + override public function get measuredWidth():Number + { + return 13; + } + + override public function get measuredHeight():Number + { + return 10; + } + + override protected function updateDisplayList(w:Number, h:Number):void + { + super.updateDisplayList(w, h); + + var trackFill:uint = 0x000000; + var trackFillAlpha:Number = 1.0; + var trackStroke:uint = 0x2A2A2A; + var trackStrokeAlpha:Number = 1.0; + + if (getStyle("trackFill") != undefined) + trackFill = getStyle("trackFill"); + if (getStyle("trackFillAlpha") != undefined) + trackFillAlpha = getStyle("trackFillAlpha"); + if (getStyle("trackStroke") != undefined) + trackStroke = getStyle("trackStroke"); + if (getStyle("trackStrokeInnerAlpha") != undefined) + trackStrokeAlpha = getStyle("trackStrokeAlpha"); + + graphics.clear(); + graphics.beginFill(trackFill, trackFillAlpha); + graphics.drawRect(0, 0, w-1, h); + graphics.endFill(); + graphics.lineStyle(1, trackStroke, trackStrokeAlpha, true, LineScaleMode.NONE, CapsStyle.SQUARE); + graphics.drawRect(0, 0, w-1, h); + } + }} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarUpArrowUpSkin.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarUpArrowUpSkin.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarUpArrowUpSkin.as new file mode 100644 index 0000000..f9b66bc --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/flashx/textLayout/ui/styles/ScrollbarUpArrowUpSkin.as @@ -0,0 +1,45 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package flashx.textLayout.ui.styles +{ + import mx.skins.RectangularBorder; + + public class ScrollbarUpArrowUpSkin extends RectangularBorder + { + public function ScrollbarUpArrowUpSkin() + { + super(); + } + + override public function get measuredWidth():Number + { + return 13; + } + + override public function get measuredHeight():Number + { + return 14; + } + + override protected function updateDisplayList(w:Number, h:Number):void + { + super.updateDisplayList(w, h); + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FeatureSetChangeEvent.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FeatureSetChangeEvent.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FeatureSetChangeEvent.as new file mode 100644 index 0000000..811dd37 --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FeatureSetChangeEvent.as @@ -0,0 +1,42 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package textEditBar +{ +import flash.events.Event; +import flashx.textLayout.elements.TextFlow; + +public class FeatureSetChangeEvent extends Event +{ + public const FEATURE_SET:String = "featureSet"; + + public var featureSet:String; + + public function FeatureSetChangeEvent(newFeatureSet:String, type:String = FEATURE_SET, + bubbles:Boolean = false, + cancelable:Boolean = false) + { + super(type, bubbles, cancelable); + featureSet = newFeatureSet; + } + override public function clone():Event + { + return new FeatureSetChangeEvent(featureSet, type, bubbles, cancelable); + } +} // end class +} http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileEvent.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileEvent.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileEvent.as new file mode 100644 index 0000000..4832d1f --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileEvent.as @@ -0,0 +1,43 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package textEditBar +{ +import flash.events.Event; +import flash.net.FileReference; + +public class FileEvent extends Event +{ + public var fileName:FileReference; + + public const FILE_CHOOSE:String = "fileChoose"; + + public function FileEvent(newFileName:FileReference, type:String = FILE_CHOOSE, + bubbles:Boolean = false, + cancelable:Boolean = false) + { + super(type, bubbles, cancelable); + fileName = newFileName; + } + + override public function clone():Event + { + return new FileEvent(fileName, type, bubbles, cancelable); + } +} // end class +} // end package \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileIOHelper.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileIOHelper.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileIOHelper.as new file mode 100644 index 0000000..1d239bc --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileIOHelper.as @@ -0,0 +1,268 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package textEditBar +{ + import flash.display.DisplayObject; + import flash.events.Event; + import flash.events.IOErrorEvent; + import flash.net.FileReference; + + import flashx.textLayout.conversion.ConversionType; + import flashx.textLayout.conversion.ITextExporter; + import flashx.textLayout.conversion.ITextImporter; + import flashx.textLayout.conversion.TextConverter; + import flashx.textLayout.debug.assert; + import flashx.textLayout.elements.TextFlow; + + import mx.managers.CursorManager; + import mx.managers.PopUpManager; + import mx.rpc.events.ResultEvent; + import mx.rpc.http.mxml.HTTPService; + + import textEditBar.StatusPopup; + + public class FileIOHelper + { + static public var parentWindow:DisplayObject; + static public var changeContent:Function; + + static private var _openedFile:String; + + // called when the app has a specific file it wants to read (at startup) + static public function fileOpen(fileName:String):void + { + var localHTTP:HTTPService = new HTTPService(); + localHTTP.url = fileName; + _openedFile = fileName; + localHTTP.method = "GET"; + localHTTP.resultFormat="text" + localHTTP.showBusyCursor=true; + localHTTP.addEventListener(ResultEvent.RESULT,parseIntoFlowFromHTTP,false,0,true); + localHTTP.addEventListener(IOErrorEvent.IO_ERROR,errorOnReadFromHTTP,false,0,true); + localHTTP.send(); + } + + // called when user picks a file + static public function fileChoose(fileName:FileReference) : void + { + fileName.addEventListener(Event.COMPLETE,onFileReferenceLoadComplete,false,0,true); + fileName.addEventListener(IOErrorEvent.IO_ERROR,errorOnReadFromFileReference,false,0,true); + fileName.load(); + } + + static private function onFileReferenceLoadComplete(event:Event):void + { + var fileReference:FileReference = FileReference(event.target); + _extension= getExtension(fileReference.name).toLowerCase(); + _fileData = String(fileReference.data); + parseCurrentDataWithExtension(); + } + + static private function errorOnReadFromFileReference(event:IOErrorEvent):void + { + var curFileReference:FileReference = FileReference(event.target); + // Text content will be an error string + var errorString:String = "Error reading file " + curFileReference.name; + errorString += "\n"; + errorString += event.toString(); + _extension = "txt"; + _fileData = errorString; + parseCurrentDataWithExtension(); + //CursorManager.removeBusyCursor(); //get rid of hourglass cursor. + } + + static private function parseIntoFlowFromHTTP(event:ResultEvent):void + { + _fileData = String(event.result); + _extension = getExtension(_openedFile).toLowerCase(); + parseCurrentDataWithExtension(); + _openedFile = null; + } + + static private function errorOnReadFromHTTP(event:Object):void + { + // Text content will be an error string + var errorString:String = "Error reading file " + _openedFile; + errorString += "\n"; + errorString += event.fault; + _extension = "txt"; + _fileData = errorString; + parseCurrentDataWithExtension(); + CursorManager.removeBusyCursor(); //get rid of hourglass cursor. + _openedFile = null; + } + + static private function getExtension(fileName:String):String + { + var dotPos:int = fileName.lastIndexOf("."); + if (dotPos >= 0) + return fileName.substring(dotPos + 1); + return fileName; + } + + // hold onto these two in case we need to recreate textFlow + static private var _extension:String; + static private var _fileData:String; + + static public function parseCurrentDataWithExtension():void + { + switch (_extension) + { + case "xml": // use Vellum markup + parseStringIntoFlow(_fileData, TextConverter.TEXT_LAYOUT_FORMAT); + break; + case "txt": + parseStringIntoFlow(_fileData, TextConverter.PLAIN_TEXT_FORMAT); + break; + case "html": + parseStringIntoFlow(_fileData, TextConverter.TEXT_FIELD_HTML_FORMAT); + break; + + } + } + + static private function parseStringIntoFlow(source:String, format:String):void + { + var textImporter:ITextImporter = TextConverter.getImporter(format); + var newFlow:TextFlow = textImporter.importToFlow(source); + reportImportErrors(textImporter.errors); + // no TextFlow found - Flow will display an empty TextFlow by design + // - alternative is to do some kind of error string + changeContent(newFlow ? newFlow : new TextFlow()); + } + + static private function reportImportErrors(errors:Vector.<String>):void + { + if (errors) + { + var errorText:String = "ERRORS REPORTED ON IMPORT"; + for each(var e:String in errors) + errorText += "\n" + e; + + var dlg:StatusPopup = new StatusPopup(); + dlg.closeFunction = closeStatusPopup; + + PopUpManager.addPopUp(dlg, parentWindow, true); + PopUpManager.centerPopUp(dlg); + // stick it in the upper left + dlg.x = 0; + dlg.y = 0; + + dlg.textArea.text = errorText; + } + } + static private function closeStatusPopup(dlg:StatusPopup):void + { + PopUpManager.removePopUp(dlg); + } + + static private function importStatusPopupContent(dlg:StatusPopup):void + { + switch(dlg.textFormat) + { + case TextConverter.TEXT_LAYOUT_FORMAT: + _extension = "xml"; + break; + case TextConverter.TEXT_FIELD_HTML_FORMAT: + _extension = "html"; + break; + } + _fileData = dlg.textArea.text; + parseCurrentDataWithExtension(); + PopUpManager.removePopUp(dlg); + } + + static private function saveStatusPopupContent(dlg:StatusPopup):void + { + var extension:String; + switch(dlg.textFormat) + { + case TextConverter.TEXT_LAYOUT_FORMAT: + extension = "xml"; + break; + case TextConverter.TEXT_FIELD_HTML_FORMAT: + extension = "html"; + break; + } + + var fileReference:FileReference = new FileReference(); + fileReference.save(dlg.textArea.text,extension == null ? null : "NewFile."+extension); + } + + + + // Export related code + static public function textLayoutExport(activeFlow:TextFlow) : void + { + export(activeFlow, TextConverter.TEXT_LAYOUT_FORMAT); + } + + + static public function htmlExport(activeFlow:TextFlow) : void + { + export(activeFlow, TextConverter.TEXT_FIELD_HTML_FORMAT); + } + + static private const xmlBoilerPlate:String = '<?xml version="1.0" encoding="utf-8"?>\n'; + + static public function export(activeFlow:TextFlow, format:String) : void + { + //CONFIG::debug + { + var originalSettings:Object = XML.settings(); + try + { + XML.ignoreProcessingInstructions = false; + XML.ignoreWhitespace = false; + XML.prettyPrinting = false; + + + var exporter:ITextExporter = TextConverter.getExporter(format); + var xmlExport:XML = exporter.export(activeFlow, ConversionType.XML_TYPE) as XML; + var result:String = xmlBoilerPlate + xmlExport; + XML.setSettings(originalSettings); + } + + catch(e:Error) + { + XML.setSettings(originalSettings); + throw(e); + } + } + + // show it in the pop-up dialog + var dlg:StatusPopup = new StatusPopup(); + dlg.closeFunction = closeStatusPopup; + dlg.importFunction = importStatusPopupContent; + dlg.saveFunction = saveStatusPopupContent; + dlg.textFormat = format; + + PopUpManager.addPopUp(dlg, parentWindow, true); + PopUpManager.centerPopUp(dlg); + // stick it in the upper left + dlg.x = 0; + dlg.y = 0; + + dlg.textArea.text = result.replace(/\u000D\u000A/g, "\r"); // workaround for TextArea bug SDK-14797 + } + + + + } +} http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileServices.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileServices.mxml b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileServices.mxml new file mode 100644 index 0000000..343cc94 --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/FileServices.mxml @@ -0,0 +1,96 @@ +<?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. + +--> + +<!--This widget allows the user to enter a file name and when the "ReadFile" button is pressed, it +reads the file, and passes through the file contents as a ContentEvent. It expects an XML file in +TextLayout format.--> + +<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" creationComplete="handleCreationComplete()" > + <mx:Metadata> + [Event(name="fileChoose", type="textEditBar.FileEvent")] + [Event(name="textLayoutExport", type="flash.events.Event")] + [Event(name="htmlExport", type="flash.events.Event")] + </mx:Metadata> + + <mx:Script> + <![CDATA[ + import flash.events.Event; + import flash.system.Capabilities; + import flashx.textLayout.elements.TextFlow; + import mx.events.MenuEvent; + import mx.controls.Alert; + import flashx.textLayout.edit.EditingMode; + import flashx.textLayout.edit.ElementRange; + import flashx.textLayout.edit.ISelectionManager; + import flashx.textLayout.edit.IEditManager; + import flashx.textLayout.BuildInfo; + + public var activeFlow:TextFlow; + + [Bindable] + public var buildString:String = "Build: " + BuildInfo.kBuildNumber + "(" + Capabilities.version + ")"; + + internal function handleCreationComplete():void + { + buildLabel.left = (this.x + this.width - 20) - buildLabel.width; + } + // Update UI panel in response to change in selection + public function update(range:ElementRange):void + { + if (!activeFlow) + return; + + } + + private var fileReference:FileReference; + + public function currentFileName():String + { + return fileReference != null ? fileReference.name : null; + } + + public function openDialog():void + { + var markupFilter:FileFilter = new FileFilter("Documents","*.xml;*.fxg;*.html"); + fileReference = new FileReference(); + fileReference.browse([markupFilter]); + fileReference.addEventListener(Event.SELECT,onFileSelect); + } + + private function onFileSelect(event:Event):void + { + try { + dispatchEvent(new FileEvent(fileReference)); + //fileReference.load(); + } catch (err:Event) { + Alert.show(err.toString()); + } + } + + ]]> + </mx:Script> + + <mx:Button label="Open..." click="openDialog()"/> + + <mx:Button id="textLayoutExportButton" label="Markup..." click="dispatchEvent(new Event('textLayoutExport'));"/> + <mx:Button id="htmlExportButton" label="HTML Markup..." click="dispatchEvent(new Event('htmlExport'));"/> + + <mx:Label id="buildLabel" text="{buildString}" fontWeight="bold" paddingTop="3" paddingBottom="1"/> +</mx:HBox> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/GraphicBar.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/GraphicBar.mxml b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/GraphicBar.mxml new file mode 100644 index 0000000..1aa5d14 --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/GraphicBar.mxml @@ -0,0 +1,153 @@ +<?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. + +--> + +<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:textEditBar="textEditBar.*" + addedToStage="onAddedToStage()" removedFromStage="onRemovedFromStage()" horizontalScrollPolicy="off" verticalScrollPolicy="off"> + + <mx:Script> + <![CDATA[ + import flashx.textLayout.edit.ElementRange; + import flashx.textLayout.edit.IEditManager; + import flashx.textLayout.elements.InlineGraphicElement; + import flashx.textLayout.elements.TextFlow; + import flashx.textLayout.formats.FormatValue; + import flashx.textLayout.tlf_internal; + + use namespace tlf_internal; + + public var activeFlow:TextFlow; + + protected function applyChange():void + { + changeForeignElement(imageURL.text, imageWidth.text, imageHeight.text, "none", doChangeImage); + } + + protected function changeForeignElement(foreignElementUrl:String, width:String, height:String, float:String, changeCurrent:Boolean):void + { + if (activeFlow && activeFlow.interactionManager is IEditManager) + { + if (changeCurrent) + IEditManager(activeFlow.interactionManager).modifyInlineGraphic(foreignElementUrl, width, height, float); + else + IEditManager(activeFlow.interactionManager).insertInlineGraphic(foreignElementUrl, width, height, float); + activeFlow.interactionManager.setFocus(); + } + } + + protected var doChangeImage:Boolean = false; + + public function update(range:ElementRange):void + { + if (onStage) + { + if (range == null) + visible = false; + else + { + if (!visible) + visible = true; + + var makeItTheChangeButton:Boolean = false; + + // this logic is a complicated by the fact that we extend the end of the selection because the FE is at the end of the paragraph + if (range && range.firstLeaf is InlineGraphicElement && range.absoluteStart == range.firstLeaf.getAbsoluteStart()) + { + // two cases just the FE and just the FE plus the paragraph terminator + if (range.absoluteEnd == range.absoluteStart+1 || (range.firstParagraph == range.lastParagraph && range.absoluteEnd == range.absoluteStart+2 && range.absoluteEnd == range.lastParagraph.getAbsoluteStart() + range.lastParagraph.textLength)) + makeItTheChangeButton = true; + } + + // block selection of just the FE + if (makeItTheChangeButton) + updateForChange(InlineGraphicElement(range.firstLeaf)); + else + updateForInsert(range) + } + } + lastRange = range; + } + + protected function updateForChange(inlineElement:InlineGraphicElement):void + { + var sourceString:String = inlineElement.source.toString() + var widthString:String = inlineElement.width === undefined ? FormatValue.AUTO : inlineElement.width.toString(); + var heightString:String = inlineElement.height === undefined ? FormatValue.AUTO : inlineElement.height.toString(); + doUpdate(sourceString, widthString, heightString, true, true); + } + + protected function updateForInsert(range:ElementRange):void + { + doUpdate("", + InlineGraphicElement.tlf_internal::widthPropertyDefinition.defaultValue.toString(), + InlineGraphicElement.tlf_internal::heightPropertyDefinition.defaultValue.toString(), + false, range && range.firstLeaf); + } + + private function doUpdate(url:String, width:String, height:String, modify:Boolean, enableImage:Boolean):void + { + imageURL.text = url; + imageWidth.text = width; + imageHeight.text = height; + imageButton.label = modify ? "Change" : "Insert"; + doChangeImage = modify; + imageButton.enabled = enableImage; + } + + private var onStage:Boolean = false; + private var addedFrameEventListener:Boolean = false; + protected var lastRange:ElementRange = null; + private function onAddedToStage():void + { + // the dataProviders aren't set up yet - delay to the frame + onStage = true; + if (!addedFrameEventListener) + { + addedFrameEventListener = true; + addEventListener("enterFrame",onEnterFrame); + } + } + + private function onEnterFrame(p:Event):void + { + this.removeEventListener("enterFrame",onEnterFrame); + addedFrameEventListener = false; + + var temp:ElementRange = lastRange; + lastRange = null; + update(temp); + + } + + private function onRemovedFromStage():void + { + onStage = false; + } + ]]> + </mx:Script> + + <mx:Label text="Image URL:" fontWeight="bold"/> + <mx:TextInput id="imageURL" width="140"/> + <mx:Label text="Width:" fontWeight="bold"/> + <mx:TextInput id="imageWidth" width="60"/> + <mx:Label text="Height:" fontWeight="bold"/> + <mx:TextInput id="imageHeight" width="60"/> + <mx:Button id="imageButton" label="Insert Image" + click="applyChange();" /> +</mx:HBox> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/GraphicChangeEvent.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/GraphicChangeEvent.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/GraphicChangeEvent.as new file mode 100644 index 0000000..0128881 --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/GraphicChangeEvent.as @@ -0,0 +1,61 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package textEditBar +{ + import flash.events.Event; + + public class GraphicChangeEvent extends Event + { + private var _imageLink:String; + private var _imageWidth:Object; + private var _imageHeight:Object; + private var _float:String; + private var _replaceCurrent:Boolean; + + public function GraphicChangeEvent(type:String, imageLink:String, imageWidth:Object, imageHeight:Object, float:String, replaceCurrent:Boolean = false, bubbles:Boolean=false, cancelable:Boolean=false) + { + _imageLink = imageLink; + _imageWidth = imageWidth; + _imageHeight = imageHeight; + _replaceCurrent = replaceCurrent; + _float = float; + super(type, bubbles, cancelable); + } + + override public function clone():Event + { + return new GraphicChangeEvent(type, _imageLink, _imageWidth, _imageHeight, _float, _replaceCurrent, bubbles, cancelable); + } + + public function get imageLink():String + { return _imageLink; } + + public function get imageWidth():Object + { return _imageWidth; } + + public function get imageHeight():Object + { return _imageHeight; } + + public function get float():String + { return _float; } + + public function get replaceCurrent():Boolean + { return _replaceCurrent; } + } +} http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/LinkBar.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/LinkBar.mxml b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/LinkBar.mxml new file mode 100644 index 0000000..61b8b6f --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/LinkBar.mxml @@ -0,0 +1,158 @@ +<?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. + +--> + +<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:textEditBar="textEditBar.*" + addedToStage="onAddedToStage()" removedFromStage="onRemovedFromStage()"> + + <mx:Array id="targetArray"> + <mx:String>_blank</mx:String> + <mx:String>_self</mx:String> + <mx:String>_parent</mx:String> + <mx:String>_top</mx:String> + </mx:Array> + + <mx:Script> + <![CDATA[ + import mx.controls.Alert; + import flashx.textLayout.edit.ElementRange; + import flashx.textLayout.edit.IEditManager; + import flashx.textLayout.elements.LinkElement; + import flashx.textLayout.elements.FlowElement; + import flashx.textLayout.elements.ParagraphElement; + import flashx.textLayout.events.FlowElementMouseEvent; + import flashx.textLayout.elements.TextFlow; + + public var activeFlow:TextFlow; + + private function changeLink(urlText:String, targetText:String, extendToOverlappingLinks:Boolean):void + { + if (activeFlow && activeFlow.interactionManager is IEditManager) + { + IEditManager(activeFlow.interactionManager).applyLink(urlText, targetText, extendToOverlappingLinks); + activeFlow.interactionManager.setFocus(); + } + } + + private var onStage:Boolean = false; + private var addedFrameEventListener:Boolean = false; + private var lastRange:ElementRange; + + private function onAddedToStage():void + { + // the dataProviders aren't set up yet - delay to the frame + onStage = true; + if (!addedFrameEventListener) + { + addedFrameEventListener = true; + addEventListener("enterFrame",onEnterFrame); + } + } + + private function onEnterFrame(p:Event):void + { + this.removeEventListener("enterFrame",onEnterFrame); + addedFrameEventListener = false; + + update(lastRange); + } + + private function onRemovedFromStage():void + { + onStage = false; + } + + protected function setTargetCombo(val:String):void + { + var length:uint = linkTargetCombo.dataProvider.length; + + for (var i:uint = 0; i < length; i++) + { + if (linkTargetCombo.dataProvider.getItemAt(i).toLowerCase() == val.toLowerCase()) + { + linkTargetCombo.selectedIndex = i; + return; + } + } + linkTargetCombo.selectedIndex = -1; + linkTargetCombo.validateNow(); + linkTargetCombo.text = val; + } + + public function update(range:ElementRange):void + { + if (!range) + { + if (onStage) + visible = false; + lastRange = null; + return; + } + + var linkString:String = ""; + var linkTarget:String = ""; + var linkEl:LinkElement = range.firstLeaf.getParentByType(LinkElement) as LinkElement; + if (linkEl != null) + { + var linkElStart:int = linkEl.getAbsoluteStart(); + var linkElEnd:int = linkElStart + linkEl.textLength; + if (linkElEnd < linkElStart) + { + var temp:int = linkElStart; + linkElStart = linkElEnd; + linkElEnd = temp; + } + + var beginRange:int = range.absoluteStart; + var endRange:int = range.absoluteEnd; + + var beginPara:ParagraphElement = range.firstParagraph; + if (endRange == (beginPara.getAbsoluteStart() + beginPara.textLength)) + { + endRange--; + } + + if ((beginRange == endRange) || (endRange <= linkElEnd)) + { + linkString = LinkElement(linkEl).href; + linkTarget = LinkElement(linkEl).target; + } + } + + if (onStage) + { + if (!visible) + visible = true; + linkTextInput.text = linkString ? linkString : ""; + setTargetCombo(linkTarget ? linkTarget : ""); + } + lastRange = range; + } + ]]> + </mx:Script> + + <mx:Label text="Link Url:" fontWeight="bold"/> + <mx:TextInput id="linkTextInput" width="140"/> + <mx:Label text="Link Target:" fontWeight="bold"/> + <mx:ComboBox id="linkTargetCombo" editable="true" + selectedIndex="0" dataProvider = "{targetArray}"/> + <mx:CheckBox id = "linkExtendCheckBox" label="Extend"/> + <mx:Button label="Apply Link" + click="changeLink(linkTextInput.text, linkTargetCombo.text, linkExtendCheckBox.selected);" /> +</mx:HBox> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/LinkChangeEvent.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/LinkChangeEvent.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/LinkChangeEvent.as new file mode 100644 index 0000000..2c500dc --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/LinkChangeEvent.as @@ -0,0 +1,51 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package textEditBar +{ + import flash.events.Event; + + public class LinkChangeEvent extends Event + { + private var _linkText:String; + private var _targetText:String; + private var _extendToOverlappingLinks:Boolean; + + public function LinkChangeEvent(type:String, linkText:String, targetText:String, extendToOverlappingLinks:Boolean=false, bubbles:Boolean=false, cancelable:Boolean=false) + { + _linkText = linkText; + _targetText = targetText; + _extendToOverlappingLinks = extendToOverlappingLinks; + super(type, bubbles, cancelable); + } + + override public function clone():Event + { + return new LinkChangeEvent(type, _linkText, _targetText, _extendToOverlappingLinks, bubbles, cancelable); + } + + public function get linkText():String + { return _linkText; } + + public function get linkTarget():String + { return _targetText; } + + public function get extendToOverlappingLinks():Boolean + { return _extendToOverlappingLinks; } + } +} http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/SingleContainerView.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/SingleContainerView.mxml b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/SingleContainerView.mxml new file mode 100644 index 0000000..85797c2 --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/SingleContainerView.mxml @@ -0,0 +1,80 @@ +<?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. + +--> + +<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="0xffffff" resize="handleResize()"> + + <mx:Script> + <![CDATA[ + import flashx.textLayout.elements.TextFlow; + import flashx.textLayout.compose.StandardFlowComposer; + import flashx.textLayout.container.ContainerController; + import textEditBar.SpriteWithIME; + + + private var _activeFlow:TextFlow; + + public function changeContainerSetup(newActiveFlow:TextFlow):void + { + _activeFlow = newActiveFlow; + if (_activeFlow) + { + if (!_activeFlow.flowComposer) + _activeFlow.flowComposer = new StandardFlowComposer(); + if (_activeFlow.flowComposer.numControllers < 1) + _activeFlow.flowComposer.addController(new ContainerController(new SpriteWithIME())); + rawChildren.addChild(_activeFlow.flowComposer.getControllerAt(0).container); + handleResize(); + } + } + + public function handleResize():void + { + if (!_activeFlow) + return; + + var newFrameWidth:Number = width; + var newFrameHeight:Number = height; + + var cont:ContainerController = _activeFlow.flowComposer.getControllerAt(0); + if (cont.container) + updateFrameDimensions(cont,0,0,newFrameWidth,newFrameHeight); + + _activeFlow.flowComposer.updateAllControllers(); + + if (_activeFlow.interactionManager && _activeFlow.interactionManager.hasSelection()) + _activeFlow.flowComposer.getControllerAt(0).scrollToRange(_activeFlow.interactionManager.activePosition,_activeFlow.interactionManager.anchorPosition); + + } + + /** helper function to update a frame's dimensions */ + private function updateFrameDimensions(controller:ContainerController,x:Number,y:Number,w:Number,h:Number):void + { + var tc:DisplayObject = controller.container; + + if (tc.x != x) + tc.x = x; + if (tc.y != y) + tc.y = y; + controller.setCompositionSize(w,h); + } + + ]]> + </mx:Script> +</mx:Canvas> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/SpriteWithIME.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/SpriteWithIME.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/SpriteWithIME.as new file mode 100644 index 0000000..8abf701 --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/SpriteWithIME.as @@ -0,0 +1,102 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package textEditBar +{ + import flash.display.Sprite; + + import mx.core.IIMESupport; + import mx.managers.IFocusManagerComponent; + + public class SpriteWithIME extends Sprite implements IIMESupport, IFocusManagerComponent + { + private var _imeMode:String; + + public function SpriteWithIME() + { + super(); + } + + public function get enableIME():Boolean + { + return true; + } + + public function get imeMode():String + { + return _imeMode; + } + + public function set imeMode(value:String):void + { + _imeMode = value; + } + + public function get focusEnabled():Boolean + { + return true; + } + + public function set focusEnabled(value:Boolean):void + { + } + + // For now! Should be dependent on Configuration.manageTabKey + public function get tabFocusEnabled():Boolean + { + return true; + } + + public function set tabFocusEnabled(value:Boolean):void + { + } + + public function get hasFocusableChildren():Boolean + { + return false; + } + + public function set hasFocusableChildren(value:Boolean):void + { + } + + public function get mouseFocusEnabled():Boolean + { + return false; + } + + /*public function get tabEnabled():Boolean + { + return false; + } + + public function get tabIndex():int + { + return 0; + }*/ + + public function setFocus():void + { + } + + public function drawFocus(isFocused:Boolean):void + { + } + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/StatusPopup.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/StatusPopup.mxml b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/StatusPopup.mxml new file mode 100644 index 0000000..850df4c --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/StatusPopup.mxml @@ -0,0 +1,39 @@ +<?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. + +--> +<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="500" height="390" verticalScrollPolicy="off" + horizontalScrollPolicy="off"> + <mx:Script> + <![CDATA[ + public var closeFunction:Function; + public var textFormat:String; + [Bindable] + public var importFunction:Function; + [Bindable] + public var saveFunction:Function; + ]]> + </mx:Script> + <mx:TextArea id="textArea" x="0" y="0" width="100%" height="100%" fontFamily="_sans"> + </mx:TextArea> + <mx:ControlBar horizontalAlign="center"> + <mx:Button label="Import" id="cmdImport" visible="{importFunction != null}" click="{if (importFunction != null) importFunction(this)}"/> + <mx:Button label="Save" id="cmdSave" visible="{saveFunction != null}" click="{if (saveFunction != null) saveFunction(this)}"/> + <mx:Button label="Close" id="cmdClose" click="closeFunction(this)"/> + </mx:ControlBar> +</mx:Panel> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/StyleChangeEvent.as ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/StyleChangeEvent.as b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/StyleChangeEvent.as new file mode 100644 index 0000000..eb3273c --- /dev/null +++ b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/StyleChangeEvent.as @@ -0,0 +1,46 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// +package textEditBar +{ + import flash.events.Event; + + import flashx.textLayout.formats.ITextLayoutFormat; + + public class StyleChangeEvent extends Event + { + private var _attrs:Object; + + public function StyleChangeEvent(type:String, styleAttrs:Object, bubbles:Boolean=false, cancelable:Boolean=false) + { + _attrs = styleAttrs; + super(type, bubbles, cancelable); + } + + override public function clone():Event + { + return new StyleChangeEvent(type, _attrs, bubbles, cancelable); + } + + public function get format():ITextLayoutFormat + { return _attrs as ITextLayoutFormat; } + + public function get attrs():Object + { return _attrs; } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/%icon_tcy.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/%icon_tcy.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/%icon_tcy.png new file mode 100644 index 0000000..47c3637 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/%icon_tcy.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/BreakOpportunityType.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/BreakOpportunityType.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/BreakOpportunityType.png new file mode 100644 index 0000000..565003d Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/BreakOpportunityType.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/EmbedDeleteIcon.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/EmbedDeleteIcon.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/EmbedDeleteIcon.png new file mode 100644 index 0000000..7894025 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/EmbedDeleteIcon.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/EmbedDeleteIconDisabled.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/EmbedDeleteIconDisabled.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/EmbedDeleteIconDisabled.png new file mode 100644 index 0000000..22975eb Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/EmbedDeleteIconDisabled.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignBottom_Sm_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignBottom_Sm_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignBottom_Sm_N.png new file mode 100644 index 0000000..a6ec4b1 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignBottom_Sm_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignJustify_Sm_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignJustify_Sm_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignJustify_Sm_N.png new file mode 100644 index 0000000..4c45bc2 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignJustify_Sm_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignMiddle_Sm_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignMiddle_Sm_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignMiddle_Sm_N.png new file mode 100644 index 0000000..a1f5ae8 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignMiddle_Sm_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignTop_Sm_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignTop_Sm_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignTop_Sm_N.png new file mode 100644 index 0000000..9981848 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextAlignTop_Sm_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextBaselineShift_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextBaselineShift_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextBaselineShift_Md_N.png new file mode 100644 index 0000000..e348d7c Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextBaselineShift_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextBottomOffset_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextBottomOffset_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextBottomOffset_Md_N.png new file mode 100644 index 0000000..89b948e Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextBottomOffset_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextFirstLineIndent_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextFirstLineIndent_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextFirstLineIndent_Md_N.png new file mode 100644 index 0000000..eebadec Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextFirstLineIndent_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextLeftIndent_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextLeftIndent_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextLeftIndent_Md_N.png new file mode 100644 index 0000000..b587cc6 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextLeftIndent_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextLeftOffset_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextLeftOffset_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextLeftOffset_Md_N.png new file mode 100644 index 0000000..33c35a8 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextLeftOffset_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextRightIndent_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextRightIndent_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextRightIndent_Md_N.png new file mode 100644 index 0000000..2c0f651 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextRightIndent_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextRightOffset_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextRightOffset_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextRightOffset_Md_N.png new file mode 100644 index 0000000..1efc8e7 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextRightOffset_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSmallCaps_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSmallCaps_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSmallCaps_Md_N.png new file mode 100644 index 0000000..72c3860 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSmallCaps_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSpaceAfter_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSpaceAfter_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSpaceAfter_Md_N.png new file mode 100644 index 0000000..3d31df2 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSpaceAfter_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSpaceBefore_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSpaceBefore_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSpaceBefore_Md_N.png new file mode 100644 index 0000000..34a5bf6 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextSpaceBefore_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextTopOffset_Md_N.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextTopOffset_Md_N.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextTopOffset_Md_N.png new file mode 100644 index 0000000..b5b98b0 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/P_TextTopOffset_Md_N.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/TextAutoLeadingPercent.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/TextAutoLeadingPercent.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/TextAutoLeadingPercent.png new file mode 100644 index 0000000..f8726a1 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/TextAutoLeadingPercent.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/digitCase.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/digitCase.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/digitCase.png new file mode 100644 index 0000000..b3da25b Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/digitCase.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/digitWidth.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/digitWidth.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/digitWidth.png new file mode 100644 index 0000000..7e156f0 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/digitWidth.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/elementBaseline.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/elementBaseline.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/elementBaseline.png new file mode 100644 index 0000000..056cf8f Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/elementBaseline.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_all_but_last.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_all_but_last.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_all_but_last.png new file mode 100644 index 0000000..7475419 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_all_but_last.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_center.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_center.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_center.png new file mode 100644 index 0000000..3fac48d Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_center.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_end.PNG ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_end.PNG b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_end.PNG new file mode 100644 index 0000000..15d6ddf Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_end.PNG differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_justify.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_justify.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_justify.png new file mode 100644 index 0000000..bf4a6d6 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_justify.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_left.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_left.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_left.png new file mode 100644 index 0000000..c9f45f6 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_left.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_right.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_right.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_right.png new file mode 100644 index 0000000..1bdcda3 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_right.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_start.PNG ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_start.PNG b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_start.PNG new file mode 100644 index 0000000..039711b Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_align_start.PNG differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_bullet.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_bullet.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_bullet.png new file mode 100644 index 0000000..a99e9a2 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_bullet.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_bold.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_bold.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_bold.png new file mode 100644 index 0000000..a0a71d1 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_bold.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_italic.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_italic.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_italic.png new file mode 100644 index 0000000..2d0221d Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_italic.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_strikethrough.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_strikethrough.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_strikethrough.png new file mode 100644 index 0000000..3195a1b Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_strikethrough.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_underline.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_underline.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_underline.png new file mode 100644 index 0000000..316b2f1 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_style_underline.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_tcy.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_tcy.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_tcy.png new file mode 100644 index 0000000..04e02e9 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/icon_tcy.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/ligatures.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/ligatures.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/ligatures.png new file mode 100644 index 0000000..7f72cb0 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/ligatures.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/47a67608/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/lineBaseline.png ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/lineBaseline.png b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/lineBaseline.png new file mode 100644 index 0000000..b19b3c8 Binary files /dev/null and b/TourDeFlex/TourDeFlex3/src/spark/tlf/textEditBar/assets/lineBaseline.png differ