Dicas/ Flex/ Flex 3/ Flex 3 Documentação/ Notícias

Linguagem de referência Flex 3 em português atualizada

Amigos leitores, em ritmo de novidades do MAX, gostaria de notificá-los que o projeto que temos de traduzir a linguagem de referência do Flex 3 em português está de vento em poupa.

Visite as mudanças e veja abaixo as mudanças.

Novas mudanças.

Pacotes traduzidos.

Change Log geral
mx.automation – 100%
mx.binding – 100%
mx.controls – 90%
OK! – advancedDataGridClasses
OK! – advancedDataGridBase
OK! – AdvancedDataGridBase
OK! – AdvancedDataGridBaseSelectionData
OK! – AdvancedDataGridColumn
OK! – AdvancedDataGridColumnGroup
OK! – AdvancedDataGridDragProxy
OK! – AdvancedDataGridGroupItemRenderer
OK! – AdvancedDataGridHeaderInfo
OK! – AdvancedDataGridHeaderRenderer
OK! – AdvancedDataGridItemRenderer
OK! – AdvancedDataGridListData
OK! – AdvancedDataGridRendererDescription
OK! – AdvancedDataGridRendererProvider
OK! – AdvancedDataGRidSortItemRenderer
OK! – class-list
OK! – IAdvancedDataGridRendererProvider
OK! – package-detail
OK! – SortInfo

OK! – assets

OK! – dataGridClasses
OK! – class-list
OK! – DataGridBase
OK! – DataGridColumn
OK! – DataGridDragProxy
OK! – DataGridHeader
OK! – DataGridHeaderBase
OK! – DataGridItemRenderer
OK! – DataGridListData
OK! – DataGridLockedRowContentHolder
OK! – package-detail

OK! – examples

listClasses
—–AdvancedListBase
OK! – BaseListData
OK! – class-list
OK! – IDropInListItemRenderer
OK! – IListItemRenderer
—–ListBase
OK! – ListBaseContentHolder
OK! – ListBaseSeekPending
OK! – ListBaseSelectionData
OK! – ListData
OK! – ListDragProxy
OK! – ListItemRenderer
OK! – ListRowInfo
OK! – package-detail
OK! – TileBase
OK! – TileBaseDirection
OK! – TileListItemRenderer

OK! – menuClasses
OK! – class-list
OK! – IMenuBarItemRenderer
OK! – IMenuDataDescriptor
OK! – IMenuItemRenderer
OK! – MenuBarItem
OK! – MenuItemRenderer
OK! – MenuListData
OK! – package-detail

OK! – olapDataGridClasses
OK! – class-list
OK! – OLAPDataGridGroupRenderer
OK! – OLAPDataGridHeaderRendererProvider
OK! – OLAPDataGridItemRendererProvider
OK! – OLAPDataGridRendererProvider
OK! – package-detail

OK! – scrollClasses
OK! – class-list
OK! – package-detail
OK! – ScrollBar
OK! – ScrollBarDirection
OK! – ScrollThumb

sliderClasses
OK! – class-list
OK! – package-detail
—–Slider
OK! – SliderDataTip
OK! – SliderDirection
OK! – SliderLabel
OK! – SliderThumb

OK! – textClasses
OK! – class-list
OK! – package-detail
OK! – TextRange

treeClasses
OK! – class-list
—–DefaultDataDescriptor
OK! – ITreeDataDescriptor
OK! – ITreeDataDescriptor2
OK! – package-detail
OK! – TreeItemRenderer
OK! – TreeListData

videoClasses
OK! – class-list
OK! – CuePointManager
OK! – package-detail
—–VideoError

E mais algumas atualizações.

Para ir conferindo, visite www.igorcosta.com/flex3/doc

Obrigado à todos que tem nos ajudado indicando sua real necessidade de entender apontado o que pode ser traduzido com um pouco mais de velocidade.

Agradeço aos meus tradutores Jennifer Palmer, Ricardo Rabello e Arthur Eugênio. Esse projeto vale cada centavo investido.

Aproveitem.

AbsolutoBrasil/ Actionscript Frameworks/ AS 3.0/ Flex/ Flex 3/ Flex 3 Documentação/ Flex 3 Open-Source/ Flex Componentes/ frameworks/ Labs/ Open-source

Adicionando um TabManager ao TabNavigator de seu projeto

Em um dos projetos que estamos desenvolvendo chegadou-se a uma certa necessidade de usar um manager para algumas views. Controlar isso via interface é horrível, quanto maior genérico fique sua view melhor.
Gostaria de compartilhar com vocês esta classe que faz justamente isso, organizar e administrar melhor as abas do TabNavigator. Que inclusive estará fazendo parte dos managers do novo AbsolutoBrasil 1.5 que está vindo por ai. Porém como vai demorar um pouquenho para sair segue a classe bem documentada.

Caso de uso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
< ?xml version="1.0" encoding="utf-8"?>
<mx :Application applicationComplete="init()" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 
 
	</mx><mx :Script>
		< ![CDATA[
			import mx.controls.Alert;
			import mx.containers.Canvas;
			import mx.events.ItemClickEvent;
 
			import br.absolutobrasil.managers.TabManager;
 
			private function init():void {
					TabManager.tabNavigator = minhaTabNav;
			}
			public function switchBotoes(event:ItemClickEvent):void {
					switch(btns.selectedIndex) {
						case 0:
								TabManager.createNewTab(Canvas,"Nova Aba","001");
								break;
						case 1:
								TabManager.removeSelectedTabByIndex(minhaTabNav.selectedIndex);
								break;
						case 2:
								Alert.show(TabManager.getUniqueTab("001").toString());
								break;
					}
			}
		]]>
	</mx>
	<mx :Array id="arr">
			<mx :Object label="Criar Aba"/>
			<mx :Object label="Deletar Aba" />
			<mx :Object label="Pegar Id da Aba"/>
	</mx>
	<mx :TabNavigator id="minhaTabNav" width="695" height="375" x="213" y="67">
		</mx><mx :Canvas label="" width="100%" height="100%">
		</mx>
 
 
	<mx :ButtonBar itemClick="switchBotoes(event)" id="btns" dataProvider="{arr}" x="213" y="20">
	</mx>

Classe para adicionar à sua biblioteca

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
package br.absolutobrasil.managers
{
    /**
    * 	http://www.mozilla.org/MPL/
        THIS SOURCE CODE IS PROVIDED "AS IS" AND "WITH ALL FAULTS", WITHOUT
        ANY TECHNICAL SUPPORT OR ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
        BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
        FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  ALSO, THERE IS NO WARRANTY OF
        NON-INFRINGEMENT, TITLE OR QUIET ENJOYMENT.  IN NO EVENT SHALL MACROMEDIA
        OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
        EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
        OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
        WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
        OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOURCE CODE, EVEN IF
        ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        *
        * Parte original http://coenraets.org/blog/
        * Modificações - http://www.igorcosta.com
 
	*/
	import mx.containers.TabNavigator;
	import mx.core.Container;
	import mx.events.ChildExistenceChangedEvent;
 
	public class TabManager
	{
		/**
		 * @Constructor
		 *
		 */
		public function TabManager()
		{
		}
 
		private static var _tab:TabNavigator;
 
		private static var uniqueTabs:Object = new Object();
 
		/**
		 * Seta o manager ao valor de um TabNavigator existente na aplicacao para iniciar as operacoes
		 * @param tabNavigator
		 *
		 * @example of uses:
		 * <listing version="3.0">
		 *              import br.absolutobrasil.managers.*;
		 * 				var minhaAba:TabNavigator = new TabNavigator();
		 *              private function init():void {
		 *                  TabManager.tabNavigator = minhaAba;
		 *              }
		 * </listing>
		 *
		 */
		public static function set tabNavigator(tabNavigator:TabNavigator):void
		{
			_tab = tabNavigator;
			_tab.addEventListener(ChildExistenceChangedEvent.CHILD_REMOVE,
				function (event:ChildExistenceChangedEvent):void
				{
					for (var uniqueId:String in uniqueTabs)
					{
						if (uniqueTabs[uniqueId] == event.relatedObject)
						{
							uniqueTabs[uniqueId] = null;
							return;
						}
					}
				});
		}
		/**
		 *  Cria uma nova Aba
		 *
		 * @param tabClass - o alvo ou componente que será criado
		 * @param label - Label que aparecerá na aba;
		 * @param uniqueId - Caso você queira definir um id único para a aba
		 * @return uma nova aba criada ao container posicionado como target
		 *
		 */
		public static function createNewTab(tabClass:Class,label:String='', uniqueId:String=null):Container
		{
			if (uniqueId && uniqueTabs[uniqueId])
			{
				_tab.selectedChild = uniqueTabs[uniqueId];
				return uniqueTabs[uniqueId];
			}
 
			var tab:Container = new tabClass();
 
			if (uniqueId)
			{
				uniqueTabs[uniqueId] = tab;
			}
 
			_tab.addChild(tab);
			_tab.label = label;
			_tab.selectedChild = tab;
			return tab;
		}
		/**
		 *Seta um id Unico para a aba desejada, passando obrigatoriamente o id que você deseja setar e o alvo que receberá.
		 * @param uniqueId
		 * @param tab
		 *
		 */
		public static function setUniqueTab(uniqueId:String, tab:Container):void
		{
			uniqueTabs[uniqueId] = tab;
		}
		/**
		 * Remove a aba desejada.
		 * @param tab
		 *
		 */
		public static function removeTab(tab:Container):void
		{
			_tab.removeChild(tab);
		}
		/**
		 *Remove a aba passando a posicao dela necessária, caso não queria controlar isso por id.
		 * @param index
		 *
		 */
		public static function removeSelectedTabByIndex(index:int):void {
			_tab.removeChildAt(index);
		}
		/**
		 * Remove todas as abas existentes no TabNavigator
		 * @param tabNavigatorTarget
		 *
		 */
		public static function removeAllTabs(tabNavigatorTarget:TabNavigator):void {
				_tab = tabNavigatorTarget;
				_tab.removeAllChildren();
		}
		/**
		 *Pega o Id único da aba desejada, não precisa selecionar.
		 * @param uniqueId
		 * @return
		 *
		 */
		public static function getUniqueTab(uniqueId:String):Container
		{
			return uniqueTabs[uniqueId];
		}
	}
}
AIR 1.0/ Flex/ Flex 3/ Flex 3 Documentação/ Flex 3 SDK/ Notícias

Documentação de referência do Flex 3 traduzida para português

Uffa! quase não sai da lista de pendências, não como eu queria mais pelo menos adicionar o status de iniciado, hoje anuncio a todos aqui da lista que a linguagem de referência do Flex 3 SDK está disponível em língua portuguesa. Não 100%, mais 10% já foi começado.

Era um grande sonho meu fazer isso tornar realidade, depois de horas neste domingo, codificando o SDK, colocando as coisas para funcionar com o ASDoc e gerar a documentação parcialmente em português.

Vou precisar da ajuda de cada um, não precisa saber de inglês, basta você enviar um e-mail pedindo qual classe você gostaria que tivesse em português o mais breve possível, eu analisarei cada pedido e assim vou traduzindo sem quebrar o ritmo que eu coloquei.

A idéia é simples, até o lançamento do Flex 3 que será ano que vem provavelmente em fevereiro, que 50% desta documentação esteja on-line, e assim por diante.

Com o tempo e que isso seja feito, quem sabe eu não libere um Download do Zip ou uma extensão do Flex Builder 3 para ser adicionada ao seu help.

Hoje o que temos?

Temos 10% traduzido que basicamente seriam o que são eventos, propriedades, métodos(privados,públicos, protegidos), o que é herança e o que é estilos. Isto vai lhe dar uma idéia abrangente do que cada classe contém.

Quantos arquevos tem? 1718 arquevos sendo que 1436 são documentos de html referentes a classes, prospectos, viu ai o tanto de trabalho que tenho pela frente?

Em fim, acho que todos merecem algo em português. Espero que gostem dessa surpresa.
Ah! quase me esqueço, fica logo ai ao lado direito do acesso.