Se eu tiver no mesmo projecto todos os conjuntos de skins de cada cliente e se pretender fazer um release apenas para um determinado cliente, aplico a skin e compilo. A minha pergunta é se as skins que não foram utilizadas são simplesmente ignoradas e não são colocadas no swf final! correcto?
já agora... about Swiz, é só incluir o swc? ainda não tive oportunidade de experimentar... aquilo inclui componentes novos "pré feitos"? Ou só está relacionado com "comunicação"? Mais uma vez, Obrigado pelas preciosas dicas. On Jun 17, 2:27 pm, João Saleiro <[email protected]> wrote: > O Inject � do Swiz (a framework que n�s usamos actualmente). Podes > ignorar, s� deixei a� no post para servir de exemplo. > > 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 14:26, Ricardo Ara�jo wrote: > > > > > > > > > :) > > 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 > > ... > > read more » -- 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.
