:) muito porreiro... funciona da mesma forma como se fosse o currentState...
mas fiquei sem perceber para que serve o Inject ... e o que é o appSatateModel.base ... e o bind deve ser pra ser Bindable! Obrigado On Jun 17, 12:10 pm, João Saleiro <[email protected]> wrote: > 1- Cria uma propriedade que vais usar como holder do state: > > private var _currentViewState:String; > > 2- Cria um m�todo ou setter para mudares o view state que faz invalidate > ao Skin state: > > [Inject("appStateModel.base", bind="true")] > public function set currentViewState(value:String):void > { > if (_currentViewState != value) > { > _currentViewState = value; > invalidateSkinState(); > } > } > > 3- Faz override ao getCurrentSkinState(), um m�todo protegido que o Flex > usa para decidir qual � que � o estado actual da Skin: > > override protected function getCurrentSkinState():String > { > return _currentViewState; > } > > Se n�o quiseres, n�o tens que usar o getter (passo 2), ou a propriedade > (passo 1) - basta fazeres o invalidateSkinState e depois no > getCurrentSkinState fazes a tua l�gica para decidir qual � o estado da > Skin. Por�m, n�s preferimos fazer assim porque n�s usamos um g�nero de > m�quina de estados ao n�vel da aplicac�o, � qual todas as Views da > aplicac�o est�o "bindadas" (v� o Inject - isto � Swiz). Desta forma, > quando queremos saltar do ecr� A para o C, mudamos o "appStateModel" que > ir� provocar com que as views invalidem o seu skin state alterando assim > os estados (e criando a percepc�o de navegac�o). > > linkedIn <http://pt.linkedin.com/in/jsaleiro> Jo�o Saleiro > Chief Technology Officer > Tel: 00351 916 077 097 > Email: [email protected] <mailto:[email protected]> > Skype: joao.saleiro <callto://joao.saleiro> > > Webfuel Solutions <http://www.webfuel.pt> www.webfuel.pt > <http://www.webfuel.pt> > Lisbon, Portugal > > On 17-06-2011 12:02, Ricardo Ara�jo wrote: > > > > > > > > > mais uma pergunta r�pida, > > > na skin tenho varios states, e quero os controlad apartir do > > HostComponent... > > tentei atrav�s do currentState = "novoState"; mas rebenta!!! > > > On Jun 16, 6:23 pm, Jo�o Saleiro<[email protected]> wrote: > >> Ricardo (e restantes), > > >> infelizmente (e j� me "queixei" disso � Adobe) o includeIn > >> aparentemente > >> redesenha as views sempre que se entra num estado. Isto �, da nossa > >> experi�ncia quando o utilizador entra na view a primeira vez o > >> utilizador sente uns millisegundos de tempo de espera. Quando entra a > >> segunda vez, volta a sentir esses millisegundos - que n�o deviam > >> acontecer. A quest�o � que aparentemente a view j� est� > >> instanciada, mas > >> o SDK volta a executar o c�digo da layouting (?). > > >> Fizemos testes e mudamos para o visible e includeInLayout em vez do > >> includeIn. O resultado � que a aplicac�o demora mais a arrancar (a > >> instanciac�o das views � passada para o arranque), mas a partir da� a > >> experi�ncia com o utilizador � substancialmente superior, com > >> reac��es > >> imediatas na navega��o. > > >> Isto s� se nota em views muito complexas, sobretudo quando se utilizam > >> Forms, Datagrid e/ou muitos item renderers em liquid layout. > > >> Curiosamente, tenho que voltar a testar o includeIn para ver se na > >> �ltima actualizac�o do SDK j� houveram melhorias neste t�pico. > > >> linkedIn<http://pt.linkedin.com/in/jsaleiro> Jo�o Saleiro > >> Chief Technology Officer > >> Tel: 00351 916 077 097 > >> Email: [email protected]<mailto:[email protected]> > >> Skype: joao.saleiro<callto://joao.saleiro> > > >> Webfuel Solutions<http://www.webfuel.pt> www.webfuel.pt > >> <http://www.webfuel.pt> > >> Lisbon, Portugal > > >> On 16-06-2011 18:05, Ricardo Ara�jo wrote: > > >>> (nota: n�s usamos o includeInLayout e o visible neste caso em vez > >>> de > >>> States por quest�es de performance. Mas isso � outra > >>> discuss�o...). > >>> btw, > >>> qual a diferen�a ent�o entre usar o includeInLayout+visible ou o > >>> includeIn? usas na mesma os states... e quando o componente � criado > >>> no includeIn depois continua em memoria!!! ... > >>> On Jun 16, 5:38 pm, Ricardo Ara�jo<[email protected]> wrote: > >>>> J� percebi ... ... > >>>> desculpa J.Fernandes, n�o estava a entender.... acaba por ser o mesmo > >>>> m�todo que o J.Salgueiro me indicou... > >>>> Obrigado ... fico-vos eternamente agradecido ;) > >>>> On Jun 16, 5:27 pm, Ricardo Ara�jo<[email protected]> wrote: > >>>>> JF, j� me tinha passado pela cabe�a... mas depois a minha class > >>>>> m�e > >>>>> onde estaria o principal c�digo estaria dentro de um componente que > >>>>> estende de SkinnableComponent! Seria isto correcto!? > >>>>> penso que isso traz-me outro problema... se quiser colocar as > >>>>> atribui��es de skins num css para que possa mudar facilmente o > >>>>> c�digo > >>>>> que estava dentro da skinnablecomponent ter� que ser duplicado para > >>>>> outros grupos de skins! > >>>>> On Jun 16, 5:19 pm, Jo�o Fernandes > >>>>> <[email protected]> wrote: > >>>>>> Podes fazer exactamente isso, criar um custom component onde defines > >>>>>> novos > >>>>>> skinParts e depois � s� associares uma skin ao mesmo. Se quizeres > >>>>>> para o > >>>>>> mesmo custom component v�rios aspectos s� ter�s de definir uma > >>>>>> nova skin e > >>>>>> meteres as skinParts onde bem entenderes. > >>>>>> Jo�o Fernandes > >>>>>> 2011/6/16 Ricardo Ara�jo<[email protected]> > >>>>>>> Ajudou, mas ainda tenho umas d�vidas.... > >>>>>>> por exemplo: > >>>>>>> crio um projecto novo, e na WindowedApplication coloco-lhe dois > >>>>>>> bot�es > >>>>>>> normais<s:Button /> ... depois como � que eu na skin que aplicar > >>>>>>> ao > >>>>>>> WindowedApplication posso definir por exemplo posi��es para cada > >>>>>>> bot�o? > >>>>>>> (se fosse um SkinnableComponent diria que aquele bot�o era uma > >>>>>>> SkinPart) > >>>>>>> On Jun 16, 4:57 pm, Jo�o Saleiro<[email protected]> wrote: > >>>>>>>> Ricardo, > >>>>>>>> n�o percebi bem a tua quest�o. N�s aqui resolvemos a quest�o > >>>>>>>> do > >>>>>>>> multi-skinning com facilidade, usando stylesheets CSS. > >>>>>>>> Cada theme tem o seu pr�prio CSS que define o aspecto gr�fico de > >>>>>>> *todos > >>>>>>>> e quaisquer* componentes visuais. > >>>>>>>> A t�tulo de exemplo: > >>>>>>>> s|Application > >>>>>>>> { > >>>>>>>> skin-class: > >>>>>>>> ClassReference("com.airgile.crm.skins.petro.views.core.ApplicationSkin"); > >>>>>>>> } > >>>>>>>> view3|NotificationBox > >>>>>>>> { > >>>>>>>> skin-class: > >>>>>>> ClassReference("pt.webfuel.core.ui.notification.view.skin.NotificationBoxSk > >>>>>>> in"); > >>>>>>>> } > >>>>>>>> core|AirgileView > >>>>>>>> { > >>>>>>>> skin-class: > >>>>>>>> ClassReference("com.airgile.crm.skins.petro.views.core.AirgileViewSkin"); > >>>>>>>> } > >>>>>>>> s|TextArea > >>>>>>>> { > >>>>>>>> skin-class: > >>>>>>> ClassReference("com.airgile.skins.petro.components.textarea.TextAreaSkin"); > >>>>>>>> focus-alpha: 0; > >>>>>>>> } > >>>>>>>> Quando queres mudar o theme, simplesmente trocas o CSS (usando ou > >>>>>>>> n�o > >>>>>>>> Runtime CSS). > >>>>>>>> Espero que ajude. > >>>>>>>> linkedIn<http://pt.linkedin.com/in/jsaleiro> Jo�o Saleiro > >>>>>>>> Chief Technology Officer > >>>>>>>> Tel: 00351 916 077 097 > >>>>>>>> Email: [email protected]<mailto:[email protected]> > >>>>>>>> Skype: joao.saleiro<callto://joao.saleiro> > >>>>>>>> Webfuel Solutions<http://www.webfuel.pt> www.webfuel.pt > >>>>>>>> <http://www.webfuel.pt> > >>>>>>>> Lisbon, Portugal > >>>>>>>> On 16-06-2011 16:42, Ricardo Ara�jo wrote: > >>>>>>>>> Boa tarde malta, > >>>>>>>>> Estou aqui a planear uma aplica��o em que pretendo > >>>>>>>>> personaliza-la a > >>>>>>>>> n�vel do design para cada cliente. > >>>>>>>>> Aplico uma skin � WindowedApplication e depois queria na pr�pria > >>>>>>> skin > >>>>>>>>> aplicar skins doutros componentes que est�o dentro da > >>>>>>>>> WindowedApplication... como fa�o? > >>>>>>>>> provavelmente n�o se faz assim? :) ... � que depois teria que > >>>>>>>>> dizer > >>>>>>>>> que um componente declarado em mxml seria uma SkinPart... > >>>>>>>>> Existe por exemplo outro caso de um ecr� em que s�o > >>>>>>>>> constru�dos > >>>>>>>>> objectos dinamicamente no componente que estende do > >>>>>>>>> skinnablecomponent. Como fa�o para criar skin parts > >>>>>>>>> dinamicamente? e > >>>>>>>>> depois na skin como lido com esses objectos que foram criados? > >>>>>>> -- > >>>>>>> Recebeu esta mensagem porque est� inscrito no grupo "Mailing List da > >>>>>>> Comunidade Portuguesa de Rich Internet Applications -www.riapt.org" > >>>>>>> dos > >>>>>>> Grupos do Google. > >>>>>>> Para publicar uma mensagem neste grupo, envie um e-mail para > >>>>>>> [email protected]. > >>>>>>> Para anular a inscri��o neste grupo, envie um e-mail para > >>>>>>> [email protected]. > >>>>>>> Para ver mais op��es, visite este grupo em > >>>>>>>http://groups.google.com/group/riapt?hl=pt-PT. > >>>>>> -- > >>>>>> Jo�o Fernandes -- Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Para anular a inscrição neste grupo, envie um e-mail para [email protected]. Para ver mais opções, visite este grupo em http://groups.google.com/group/riapt?hl=pt-PT.
