olha ... eu removi uma parte do codigo para nao ficar mto grande aqui rsrs
só pra vc ter uma ideia ;)
segue:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute"
    xmlns:containers="flexlib.mdi.containers.*" creationComplete="init();">

    <mx:Script>
        <![CDATA[
            import mx.controls.ComboBox;
            import flashx.textLayout.compose.StandardFlowComposer;
            import flashx.textLayout.conversion.TextFilter;
            import flashx.textLayout.formats.CharacterFormat;
            import flashx.textLayout.formats.ContainerFormat;
            import flashx.textLayout.elements.TextFlow;
            import flashx.textLayout.elements.ParagraphElement;
            import flashx.textLayout.formats.ParagraphFormat;
            import flashx.textLayout.edit.SelectionManager;


            private var previousTextFormat:TextFormat = null;
            private var textFormatChanged:Boolean = false;
            private var invalidateToolBarFlag:Boolean = false;
            private var lastCaretIndex:int = -1;

            var mainFlow:TextFlow;
            var mainSelectionManager:SelectionManager;
            var containerFormat:ContainerFormat;
            var paragraphFormat:ParagraphFormat;
            var paragraphElement:ParagraphElement;
            var characterFormat:CharacterFormat;

            private function init():void {

                mainSelectionManager = new SelectionManager();

                mainFlow = TextFilter.importToFlow(textArea.text,
TextFilter.TEXT_LAYOUT_FORMAT);
                mainFlow.flowComposer = new StandardFlowComposer();
                mainFlow.interactionManager = mainSelectionManager;

                mainFlow.flowComposer.updateAllContainers();
            }

            private function setTextStyles(type:String, estilo:String,
value:Object=null):void {
                var tf:TextFormat = new TextFormat();

                var beginIndex:int =
textArea.getTextField().selectionBeginIndex;
                var endIndex:int =
textArea.getTextField().selectionEndIndex;

                if(beginIndex == endIndex) {
                    tf = previousTextFormat;
                } else {
                    tf = new TextFormat();
                }

                if(estilo == "fonte") {

                    if(type == "bold" || type == "underline" || type ==
"italic") {
                        tf[type] = value;
                    } else if(type == "font") {
                            tf[type] = fontFamilyCombo.text;
                    } else if(type == "size") {
                            var fontSize:uint = uint(fontSizeCombo.text);
                            if (fontSize > 0)
                                tf[type] = fontSize;
                    } else if (type == "color") {
                             tf[type] = uint(colorPicker.selectedColor);
                    } else if (type == "leading") {
                            tf[type] = nStpLinhas.value;
                    } else if (type == "align" || type == "bullet") {
                            tf[type] = value;
                    }
                } else if(estilo == "pag") {
                        var beginIndex =
textArea.getTextField().getFirstCharInParagraph(beginIndex) - 1;
                        beginIndex = Math.max(0, beginIndex);
                        var endIndex =
textArea.getTextField().getFirstCharInParagraph(endIndex) +

textArea.getTextField().getParagraphLength(endIndex) - 1;

                        if(type == "letterSpacing") {
                            tf[type] = nStpLetras.value;
                            previousTextFormat.letterSpacing =
nStpLetras.value;
                            if (!endIndex)
                                textArea.getTextField().defaultTextFormat =
tf;
                        }
                }
                textFormatChanged = true;

                if(beginIndex == endIndex) {
                    previousTextFormat = tf;
                } else {

textArea.getTextField().setTextFormat(tf,beginIndex,endIndex);
                }
            }

            private function changeNoColumns():void {
                containerFormat = new
ContainerFormat(mainFlow.containerFormat);
                containerFormat.columnCount = Number(nStpColumn.value);
                mainFlow.containerFormat = containerFormat;
                mainFlow.flowComposer.updateAllContainers();
            }

        ]]>
    </mx:Script>

    <containers:MDICanvas id="container" width="100%" height="100%">
        <containers:MDIWindow id="wind" title="Ferramentas"
            width="300" height="200" alpha="0.7">

                <mx:TabNavigator width="100%" height="100%"
selectedIndex="1">

                    <mx:VBox label="Exibição" >
                        <mx:HBox>
                                <mx:ToggleButtonBar id="alignButtons"
buttonWidth="20"
                                    itemClick="setTextStyles('align',
'fonte',
ToggleButtonBar(event.currentTarget).dataProvider.getItemAt(ToggleButtonBar(event.currentTarget).selectedIndex).action);
" >
                                    <mx:dataProvider>
                                        <mx:Array>
                                            <mx:Object icon=""
action="left"/>
                                            <mx:Object icon=""
action="center"/>
                                            <mx:Object icon=""
action="right"/>
                                            <mx:Object icon=""
action="justify"/>
                                        </mx:Array>
                                    </mx:dataProvider>
                                </mx:ToggleButtonBar>

                                <mx:Button id="bulletButton" label="bullet"
width="20" toggle="true"
                                       click="setTextStyles('bullet',
'fonte', event.currentTarget.selected);" />

                                <mx:Label text="Esp. entre linhas" />
                                <mx:NumericStepper id="nStpLinhas"
maximum="25" creationComplete="editarNroStep();"
                                    change="setTextStyles('leading',
'fonte');" />

                        </mx:HBox>

                        <mx:HBox>
                            <mx:Label text="Esp. entre letras" />
                            <mx:NumericStepper id="nStpLetras" maximum="25"
creationComplete="editarNroStep();"
                                change="setTextStyles('letterSpacing',
'pag');" />
                        </mx:HBox>

                        <mx:NumericStepper id="nStpColumn" minimum="1"
maximum="4"
                            creationComplete="editarNroStep();"
change="changeNoColumns();" />

                    </mx:VBox>

                    <mx:VBox label="Fontes" >
                        <mx:HBox>
                            <mx:Button id="btnBold" toggle="true" label="N"
fontWeight="bold"
                                click="setTextStyles('bold', 'fonte',
event.currentTarget.selected);" />
                            <mx:Button id="btnSubl" toggle="true" label="S"
                                click="setTextStyles('underline', 'fonte',
event.currentTarget.selected);" />
                            <mx:Button id="btnIta" toggle="true" label="I"
fontStyle="italic"
                                click="setTextStyles('italic', 'fonte',
event.currentTarget.selected);" />

                        </mx:HBox>
                    </mx:VBox>

                </mx:TabNavigator>

        </containers:MDIWindow>

        <mx:Panel id="panel" title="Document 1" height="100%"
horizontalCenter="0">
            <mx:TextArea id="textArea" condenseWhite="true" height="100%"
width="100%"
                creationComplete="init();"/>
        </mx:Panel>

    </containers:MDICanvas>

</mx:Application>


2009/5/13 André Caetano <andredeiv...@gmail.com>

> cara se der coloque o codigo completo!!!
>
>
> >
>


-- 
Marcel Pigozzi
http://thegeekers.wordpress.com/

"Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa de
sucesso. O sucesso é conseqüência"

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a