logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Out 28

Adobe Tutorial Builder – Plugin para Photoshop

Escrito por DClick Team em 1, 2.0, 3.5, 3d, 4, 6, action, Adobe, AR, arte, blog, C#, class, comparação, Design, designer, Dica, Gravação, html, IE, if, image, int, labs, Links, mg, O, on, Partilha, photoshop, Plugin, problema, pt, RIA, Ria’s Geral, S+S, site, social, super(), TAT, Tech, Tutorial, Twitter, UI, uint, Vídeo, window, XML, XP @ 10 28th, 2011 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

Você designer, que ama Photoshop e já está em um nível bacana, já deve ter feito algum tutorial e postado em algum Blog, site, ou em alguma rede social… é a nossa natureza, querer compartilhar algumas técnicas, mas o grande problema é que isso é trabalhoso, e logo as pessoas param de faze-lo.

Agora, imagine você poder compartilhar o passo a passo de uma atividade sua no Photoshop sem dor de cabeça, sem ter que fazer nada, somente alguns cliques. Isso mesmo, poder ter algo escrito mostrando tudo que você fez no Photoshop sem ter que se matar em descrever todos os ? passos.

A Adobe maravilhosamente criou o Tutorial Builder (Adobe Labs), um plugin simples para Photoshop mas no mínimo, muito, mas muito poderoso.

A idéia consiste no seguinte, você baixa o plugin, instala e ele abre como Panel do Photoshop.

Após instalar, basta ir em Window > Extensions > Tutorial Builder.
Vai abrir essa janelinha bacana que você pode ver na imagem abaixo:

Uma vez aberto você clicando em Start vai (obviamente) iniciar a gravação, que no final, pasmem, vai gerar um arquivo html com o XML prontinho mostrando todos os passos do que você fez dentro do Photoshop, e não só isso, em alguns casos com links onde vai abrir no Photoshop a ação utilizada… #sensacional

Ele também pode guardar a imagem original e fazer uma comparação com a imagem final, você pode optar se quer ou não essa função e então começar a atividade.

Vamos supor, fiz um button… perceba que no panel do Tutorial Builder fica escrito: CAPTURING… Ele está gravando as ações (Não, não é como um Action).

Terminou? Basta clicar em Done, ele vai perguntar se você quer salvar o Tutorial gerado.

Você vai então salvar o seu PSD

E agora a parte interessante, vai configurar o título e os detalhes que deseja que apareça no seu Tutorial.

Aí é só alegria, o seu tutorial está criado.

“Espera aí Eduardo, onde está o link para baixar essa maravilha? E como vai ficar o resultado final?”

Você pode ver aqui em:
http://labs.adobe.com/technologies/tutorialbuilder

Caso tenha sobra alguma dúvida, assista ao vídeo da Adobe no link indicado, ele explica visualmente como proceder.
Mas acredito que não terá dificuldades, é muito simples de usar, super intuitivo, e uma verdadeira maravilha para nós que queremos compartilhar técnicas de PS.

Espero que tenham gostado, e vamos usar, pois é usando que fará com que a Adobe aprimore mais e mais esse plugin.

Out 10

Criando extensão para o Google Chrome – Parte 1/2

Escrito por Gabriel Versallini em 1, 2.0, 3.5, 4, 6, action, AR, Artigo, back, botão, browser, C#, chrome, class, Curso, developer, Documentação, exemplo, for, Google, html, ide, IE, if, image, Java, Javascript, Mac, mg, O, on, Pessoal, procura, pt, RIA, Ria’s Geral, S+S, screen, site, super(), tool, UI, window, windows @ 10 10th, 2011 | via http://www.versallini.com.br | Sem comentários
Gabriel Versallini
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Olá, pessoal!

No artigo de hoje mostraremos como é simples criar uma extensão para ao Google Chrome. Apesar de ser um recurso esquecido pelas agências, pode agregar muito valor ao seu negócio.

É importante que tenha um bom conhecimento de HTML e JavaScript. Abra o editor de sua preferência e vamos ao trabalho! (Na época de Windows gostava do Notepad++, no Mac ainda não tenho preferência.)

Documentação Oficial: http://code.google.com/chrome/extensions/devguide.html

Primeiro devemos criar uma pasta com nome da extensão, VERSALLINI. Em seguida, precisamos criar o arquivo manifest.json, pois é ele que o Chrome procura na hora de identificar e instalar a extensão. Veja a seguir:


  "name": "VERSALLINI",
  "version": "1.0",
  "description": "Gabriel Versallini ,
  "permissions": [
    "http://www.versallini.com.br/"
  ]
}

Salve a imagem abaixo na pasta da extensão com o nome de icon.png:

Para saber se fez tudo certinho abra o Google Chrome clique em Tools/Extensions, em seguida no botão Developer Mode no canto superior direito e logo depois em Load unpacked extension…. Selecione a pasta da extensão e pronto, nossa extensão será instalada com sucesso, veja a seguir:

Repare que mesmo com a extensão instalada ainda não criamos nenhuma funcionalidade para ela. Daremos continuidade no próximo artigo, é importante resaltar que daqui pra frente é como criar um site porém com tamanho reduzido.

Divirta-se!
Abraço

Out 6

Steve Jobs, 1955 – 2011

Escrito por Kelps Sousa em .NET, 1, 2.0, 4, 6, app, apple, AR, bar, BI, blog, C#, Carreira, demo, Desenvolvedor, Desenvolvimento, Design, efeito, Experiência do Usuário, for, Google, ide, if, int, lista, Mac, map, Mercado, mg, Microsoft, News, O, on, Outros, produto, pronunciamento, rest, RIA, Ria’s Geral, S+S, silverlight, Software, Sun, TAT, Tecnologia, Teste, Touch, Twitter, UI, UX, Ved, web, window, windows, XP, zend @ 10 6th, 2011 | via http://kelps-sousa.blogspot.com/ | Sem comentários
Kelps Sousa
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Não sou um Mac, sou um PC, mas isso não muda em nada o fato de que o mundo ficou um pouco mais feio e triste hoje, com a perda de Steve Jobs para um câncer de pâncreas.

Homenagem na Wired.com ?  Steve Jobs Nota na Apple.com sobre o falecimento de Jobs.

Desde quando comecei minha carreira como desenvolvedor, em 2000, eu trabalho com PCs e tecnologia primariamente da Microsoft, então acho que deve ser no mínimo estranho me ver fazendo aqui um post sobre o falecimento de Steve Jobs, mas ninguém pode negar que ele revolucionou todo o mercado de tecnologia.

Minha carreira começou como programador web, mas eu sempre me interessei bastante em fazer as coisas de forma a serem simples para o usuário (e se possível, para o desenvolvedor também). Na época esse conceito não tinha um nome nem era muito difundido, mas hoje chamamos de UX (experiência do usuário). Em toda minha carreira eu me dediquei a criar software seguindo o que considerava a melhor experiência possível. Comecei a focar mais intensamente nessa área a partir de 2007, com o surgimento do Silverlight e a crescente atenção dada pelo Microsoft ao assunto. Hoje, sou o especialista de UX e novas tecnologias na empresa onde trabalho e adoro o que faço. Devo muito ao Steve, pois se há alguém responsável por UX finalmente ter se tornado um assunto importante, ele foi esse alguém.

O único iProduto que tenho é um iPod Touch, que foi comprado 6 meses atrás quando eu estava ajudando em um projeto para portar uma aplicação de iOS para Windows Phone 7. É um bom aparelho e não me arrependo da compra, mas uso apenas para jogar e fazer testes de desenvolvimento.

Apesar de eu não ser muito fã da linguagem de design dos softwares da Apple, é impossível negar o impacto que eles têm no nosso mercado atual. Steve mudou o mundo ao mostrar que a experiência do usuário é o mais importante, não a tecnologia. As coisas devem ser fáceis de usar, simples de entender, práticas e belas ao mesmo tempo. Se não tiver esses 4 requisitos, não terá o sucesso que poderia ter.

A morte de Steve serve também para mostrar que ele era humano, como nós. Um humano extraordinário, mas humano, o que significa que todos temos esse potencial de mudar o mundo, fazer a diferença, mas apenas poucos conseguimos.

Para mostrar como Steve Jobs foi importante, basta olhar para quem já fez algum pronunciamento sobre seu falecimento e prestar atenção na mensagem que cada um tentou passar: Bill Gates, Barak Obama, Michael Bloomberg, Steve Wozniak, e muitos outros que nem dá pra citar aqui.

Por tudo isso, obrigado Steve. O mundo ficou um pouco mais feio e triste hoje. Meus mais sinceros sentimentos a todos seus amigos e familiares. Descanse em paz.



Set 21

Flash Player 11 e AIR 3

Escrito por Mauro Martins em .NET, 1, 2.0, 3d, 4, 6, Adobe, Adobe Air, Adobe Max, Air, Android, AR, blog, Blogs, C#, class, developer, err, flash, Flash / Flex, Flash Player, Flex, for, Gráfico, html, IE, if, image, jogo, Jogos, layout, Links e sugestões, live, Mac, map, Mercado, mg, novidade, Novidades, O, on, platform, player, rest, RIA, Ria’s Geral, S+S, screen, super(), tv, UI, UX, Vários, Vídeo, web, window, windows @ 09 21st, 2011 | via http://imauro.com/blog/ | Sem comentários
Mauro Martins
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Screen shot 2011 03 01 at 5.41.01 AM 450x208 Flash Player 11 e AIR 3

Olá a todos!

Esta quarta-feira, dia 21 de Setembro, marca o dia de mais uma milestone para o Flash!

Hoje é anunciado a data do go-live do Flash Player 11 e do Adobe AIR 3!

Com esta versão, a Adobe tenta puxar os limites do que é possível apresentar, na web, em termos gráficos, e tenta oferecer a capacidade de renderizar objectos extremamente complexos, de uma forma super simples!

Esta release, vai permitir, aos developers, criar jogos 3D e 2D com a qualidade dos jogos das consolas, com o benefício de o poderem distribuir para várias plataformas ao mesmo tempo (Android, iOS, Tablet BlackBerry OS, TV, Windows, Mac OS, etc).

Nestes últimos tempos temos visto várias aplicações AIR a brilharem nos vários mercados das aplicações. Tanto o Machinarium, como o Times Caltrain, são um sucesso nas plataformas em que estão implementados!

  • Para mais informações sobre jogos acedam aqui ou vejam o este vídeo.
  • Para mais informações sobre o Flash Player 11 e o AIR 3, sigam este link.

Resta dizer que tanto o Flash Player 11 como o AIR 3 vão estar disponíveis para todos, a partir de Outubro, ou seja, daqui a poucas semanas!

Ah! E não se esqueçam que a MAX está aí ? porta e com ela MUITAS novidades vão surgir icon smile Flash Player 11 e AIR 3

Abraço, Mauro.



Set 2

Microsoft lança Silverlight 5 RC!

Escrito por Robson Fernandes em .NET, 1, 2.0, 2009, 3d, 4, 6, api, app, AR, BI, blog, browser, C#, class, control, Curso, Cursos, dll, DRM, err, exemplo, Ferramenta, for, h.264, ide, IE, if, image, int, internet, lista, Mate, mg, Microsoft, NaN, O, on, Outros, Pessoal, print, pt, RIA, Ria’s Geral, Rich UI, S+S, silverlight, SilverLight - News, Software, team, Tema, tv, UI, Vídeo, Visual Studio, vs, window, windows, XAML @ 09 2nd, 2011 | via http://www.riasoftware.com.br/blog/ | Sem comentários
Robson Fernandes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

silverlight
Boa tarde pessoal!!!

Hoje me deparei com uma ótima notícia na internet! A Microsoft acabou de lançar o Silverlight 5 RC? .!!!
Dentre os novos recursos adicionados, temos:

Media e Rich UI

  • H.264 HD video é decodificado via hardware da GPU
  • TrickPlay – reprodução do vídeo em diferentes velocidades
  • A proteção de tela não é ativada quando o vídeo está sendo reproduzido
  • Controle remoto de vídeo
  • Melhor suporte DRM

Graphics e Animation

  • GPU-accelerated 3D graphics API incluindo windows-less mode via IE9
  • 2D graphics processado na GPU
  • Animated UI transitions. Por exemplo, a adição de um item para uma lista é animado

Text

  • Mais clareza com? Pixel Snapping
  • Multicolumn text
  • Text flow around containers
  • Support for double-click and Combobox type ahead

Performance

  • Menor latência de rede
  • Analisador XAML é mais rápido
  • Suporte para sistemas operacionais de 64 bits

Ferramentas

  • Visual Studio can profile the CPU, memory and threads
  • VS Team Test support

Outros

  • P/Invoke para chamar funções de suporte nativo (Dlls)
  • TPL Tasks
  • Vector (Postscript) Printing
  • In-Browser Trusted Applications
  • PivotViewer Control

Para mais detalhes, http://www.silverlight.net/learn/overview

Perfeito!
Abs,
Robson Fernandes.

Ago 18

Usando a API de atualização do Adobe AIR

Escrito por Leonardo França em .NET, 1, 2.0, 2009, 4, 6, action, Actionscript, Actionscript3, Adobe, Adobe Air, Air, api, Aplicativos, app, AR, auto, BI, botão, C#, chrome, class, classe, configuração, demo, Desenvolvedor, Download, err, erro, error, event, EventListener, events, exemplo, firefox, flash, flash builder, Flex, for, Formação, framework, function, Google, handle, html, IE, if, image, int, library, mg, MXML, novidade, Novidades, Number, O, on, Outros, PHP, platform, pt, quick, reference, referencia, RIA, Ria’s Geral, RoR, S+S, site, Software, spark, swf, TAT, Tema, Teste, UI, uint, update, Ved, web, window, XML @ 08 18th, 2011 | via http://www.leonardofranca.com.br | Sem comentários
Leonardo França
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



Uma das funcionalidade que mais me foi útil no Adobe AIR, foi a adição de uma API mais bem elaborada para fazer atualização automatica de meus aplicativos. Isso pode ser muito importante porque nem todos os usuários tem tempo(ou vontade) de voltar no site do aplicativo para baixar a última versão.
Isso já é rotina para sistemas operacionais e softwares que usamos no dia-a-dia como o Mozilla Firefox e o Google Chrome(que nem pede permissão para atualizar né senhor Google).

A partir do Adobe AIR 1.5, temos a classe ApplicationUpdater e ApplicationUpdaterUI que tem como objetivo, definir o básico de funcionalidade de atualização para os aplicativos feitos com Adobe AIR

Gerenciar as atualizações pode ser complicado e o AIR update framework possui as API’s necessarias para que você faça isso de maneira prática e funcional. O desenvolvedor pode por exemplo:

  • Verificar atualizações por intervalo de tempo ou por requisição do usuário.
  • Baixar os arquivos de atualização da web
  • Avisar o usuário na primeira execução do software recém-instalado
  • Confirmar se o usuário deseja verificar se há atualizações
  • Exibir informações sobre a nova versão de atualização para o usuário
  • Exibir o status do download ou informação de erro para o usuário

As informações são obtidas a partir de arquivos XML onde você diz qual a última versão do software, as novidades da nova versão etc. Vamos a um exemplo prático, no caso usarei o Flash Builder que já deve ter os arquivos applicationupdater.swc e applicationupdater_ui.swc como referencia na biblioteca.
Começamos pelo xml chamado updateConfig.xml, que “dira” a seu aplicativo onde estão os arquivos para atualização.

PLAIN TEXT
XML:

  1. version=“1.0″ encoding=“utf-8″?>
  2. xmlns=“http://ns.adobe.com/air/framework/update/configuration/1.0″>
  3. >http://localhost:81/leonardofranca/air/updates/testeUpdate/updateDescriptor.xml>
  4. >1>
  5. >

Ele deve ser salvo no mesmo diretorio da sua aplicação, junto com os outros arquivos xml e swf. Agora no Flex, instanciaremos a classe ApplicationUpdateUI e setaremos o arquivo xml de configuração para que o Flex possa saber onde está a atualização.

PLAIN TEXT
ACTIONSCRIPT3:

  1. var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
  2. appUpdater.configurationFile = new File(“app:/updateConfig.xml”);
  3. appUpdater.initialize();
  4. //via ActionScript
  5. //appUpdater.updateURL = ” http://example.com/updates/update.xml”;
  6. //appUpdater.delay = 1;

O arquivo updateDescriptor.xml é onde fica setado a versão em si da atualização do seu aplicativo e onde você pode colocar a descrição das novidades da atualização.

PLAIN TEXT
XML:

  1. version=“1.0″ encoding=“utf-8″?>
  2. xmlns=“http://ns.adobe.com/air/framework/update/description/2.5″>
  3. >0.0.2>
  4. >http://localhost:81/leonardofranca/air/updates/testeUpdate/testeUpdate_0.0.2.air>
  5. >
  6. This version has fixes for the following knowns issues:
  7. *First issue
  8. *Second issue
  9. ]]>>
  10. >

Basicamente é isso, vamos só implementar a chamada para que ao abrir o aplicativo, ele verifique se existe atualização.

PLAIN TEXT
MXML:

  1. “1.0″ encoding=“utf-8″?>
  2. xmlns:fx=“http://ns.adobe.com/mxml/2009″
  3. xmlns:s=“library://ns.adobe.com/flex/spark”
  4. xmlns:mx=“library://ns.adobe.com/flex/mx” creationComplete=“windowedapplication1_creationCompleteHandler(event)”>
  5. >
  6. [CDATA[
  7. import air.update.ApplicationUpdaterUI;
  8. import air.update.events.UpdateEvent;
  9. import mx.events.FlexEvent;
  10. private var appUpdater:ApplicationUpdaterUI;
  11. protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void
  12. appUpdater = new ApplicationUpdaterUI();
  13. appUpdater.configurationFile = new File("app:/updateConfig.xml");
  14. appUpdater.addEventListener(ErrorEvent.ERROR, onError);
  15. appUpdater.addEventListener(UpdateEvent.INITIALIZED, handlerInit);
  16. appUpdater.initialize();
  17. //via ActionScript
  18. //appUpdater.updateURL = " http://example.com/updates/update.xml";
  19. //appUpdater.delay = 1;
  20. protected function onError(event:ErrorEvent):void
  21. trace(event.text);
  22. protected function handlerInit(event:UpdateEvent):void
  23. appUpdater.checkNow();
  24. ]]>
  25. >
  26. >
  27. >
  28. >

Criei uma segunda versão do meu aplicativo de teste para demonstração, deveremos ter o seguinte resultado:

Check for update

Clique para ampliar

Caso o usuário queira verificar se existe alguma atualização do aplicativos, basta clicar no botão “check for upadates. O arquivo atualizado é baixado e instalado.

Clique para ampliar

Clique para ampliar

Clique para ampliar

Referências:
http://help.adobe.com/en_US/air/build/WS9CD40F06-4DD7-4230-B56A-88AA27541A1E.html
http://www.adobe.com/devnet/air/flex/quickstart/articles/update_framework.html

Ago 9

Minhas palestras confirmadas para o TechEd 2011

Escrito por Kelps Sousa em .NET, 1, 2.0, 4, 6, AR, BI, Blend, blog, C#, Curso, Cursos, dados, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Design, designer, err, event, Evento, Eventos, expression, Expression Blend, Ferramenta, for, Google, IE, jogo, Jogos, lista, map, mg, NaN, Negócios, News, novidade, Novidades, O, on, padrão, Palestra, Palestras, RIA, Ria’s Geral, S+S, silverlight, Tech, TechEd, Tecnologia, Tema, template, Twitter, UI, Ved, Visual Studio, web, window, windows, XAML, XP @ 08 9th, 2011 | via http://kelps-sousa.blogspot.com/ | Sem comentários
Kelps Sousa
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Saiu a lista de palestras do TechEd Brasil 2011. Para o evento deste ano eu tenho 2 palestras confirmadas, ambas em parceria com o amigo Rodrigo Kono. As palestras serão:

WEB303 – Novidades do Silverlight 5

Venha ver o que há de novo e emocionante no Silverlight 5. Aprenda sobre os recursos para o desenvolvimento de aplicações de negócios, visualização e jogos. Nesta sessão iremos apresentar os principais recursos do Silverlight 5 assim como as atividades futuras desta tecnologia. Esteja preparado para ser produtivo com a última versão do Silverlight.
Palestrantes : Kelps Leite de Sousa e Rodrigo Kono

WPH305 – XAML Avançado para Windows Phone 7

Entenda o que é e como funciona o XAML e aprenda a aproveitar suas capacidades ao máximo, criando aplicações de alta padrão para Windows Phone 7. Nessa palestra serão abordados temas como Binding, Templates, Styles, Value Converters, Dependency e Attached Properties. Também será demonstrado como utilizar ferramentas como Visual Studio e Expression Blend para trabalhar com XAML de forma eficiente e como trabalhar em uma equipe composta de designers e desenvolvedores.
Palestrantes : Kelps Leite de Sousa e Rodrigo Kono

Assim que eu tiver mais detalhes sobre as palestas (como dias e horários) publicarei aqui. Espero vocês lá!



Jul 29

Busca por controles na árvore visual de aplicações Silverlight e WPF

Escrito por Kelps Sousa em .NET, 1, 2.0, 4, 6, AR, bar, Behavior, Behaviors, Blend, blog, busca, C#, camp, class, classe, código, Componente, Componentes, control, Controles, Dica, Dicas, DRE, event, Evento, Eventos, exemplo, expression, Expression Blend, for, galeria, Google, IE, if, int, layout, map, mg, Microsoft, mousewheel, MSDN, News, O, on, padrão, painel, problema, problemas, procura, pt, RIA, Ria’s Geral, S+S, Scroll, silverlight, Silverlight 3, Silverlight 4, site, social, TAT, template, Tree, UI, window, WPF, XAML, XP @ 07 29th, 2011 | via http://kelps-sousa.blogspot.com/ | Sem comentários
Kelps Sousa
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Ontem eu vi uma pergunta no fórum de Silverlight do MSDN sobre como achar todos os campos TextBox que existem dentro de uma ChildWindow. Já havia algumas respostas para a pergunta mas elas eram bem pontuais para aquele problema específico e necessitavam de várias suposições sobre a estrutura da aplicação para funcionar sem problemas (por exemplo, saber quais tipos de Panel estão sendo usados). Alguns anos atrás, quando eu comecei a fazer uma das minhas primeiras behaviors para publicar na galeria do Expression Blend, eu descobri uma classe do Silverlight (também existe no WPF) que serve justamente para permitir navergarmos na árvore visual de uma aplicação, tanto procurando controles filhos quanto pais de um determinado controle.

A behavior em questão é a que permitia que se fizesse scroll com a wheel do mouse (a rodinha) em controles que apresentassem scrollbar para aplicações feitas em Silverlight 3. Hoje essa behavior praticamente não é mais necessárias pois o Silverlight 4 já implementa esse comportamento nativamente, mas não era esse o caso na época. Para poder implementar essa função eu precisei criar um código que fosse capaz de ler toda a hierarquia visual do controle (vasculhando todos os componentes do qual o template do controle era composto), procurando por algum ScrollViewer. Se eu o encontrasse, a behavior assinava os eventos necessários do controle para que o scroll funcionasse como esperado.

Para navegar pela árvore visual, a classe que utilizei foi a VisualTreeHelper. Voltando ? dúvida do fórum, eu decidi criar um método genérico que fosse capaz de encontrar todos os controles de um determinado tipo em uma hierárquia utilizando essa classe, assim estaria garantindo que não precisaria ficar colocando “if”s para cada tipo de painel diferente que aparecesse na minha frente. Sem mais delongas, segue abaixo o método que eu fiz.

public static T[] SearchUIElements(UIElement root, int maxlevel = int.MaxValue, int level = 0)     where T : UIElement 

    var result = new List();

    if (root != null)         if (root is T)             result.Add(root as T);

        if (level < maxlevel)             var childrencount = VisualTreeHelper.GetChildrenCount(root);            DependencyObject child;            for (var i = 0; i < childrencount; i++)                 child = VisualTreeHelper.GetChild(root, i);                if (child is UIElement)                     result.AddRange(SearchUIElements(child as UIElement, maxlevel, level + 1));

            }        }    }

    return result.ToArray();}

Como vocês podem ver o método não é grande e é bem simples. Ele aceita 3 parâmetros:

  • root: controle raiz a partir de onde será iniciada a busca. Por exemplo: LayoutRoot.
  • maxlevel: número máximo de níveis que a busca irá “descer” nos descendentes. Este parâmetro é opcional e o seu valor padrão é int.MaxValue, garantindo que será lida a hierarquia inteira a partir do ponto inicial.
  • level: nível atual da busca. Esse parâmetro é utilizado apenas pela própria função para controlar quando a busca atingirá o nível máximo solicitado pelo usuário.

A função é genérica. O parâmetro T serve para indicar qual tipo de controle será procurado, assim como permitir que o retorno sejá tipado corretamente. A é executada de forma recursiva, chamando a si mesma para cada novo ítem na hierarquia.

O resultado da função é sempre um array do tipo de controle solicitado. Esta função sempre retorna uma array, mesmo que seja vazio (não será retornado null).

Abaixo temos um xaml de exemplo e algumas chamada ? função com a descrição do que será encontrado em cada caso.

<Grid x:Name="LayoutRoot">    <TextBox />    <TextBox />    <Grid>        <TextBox />        <TextBox />        <Grid>            <TextBox />        Grid>    Grid>Grid>
//acha TODOS os 5 campos TextBox var textboxes = SearchUIElements<TextBox>(LayoutRoot);

//acha apenas os 2 campos TextBox de LayoutRoottextboxes = SearchUIElements<TextBox>(LayoutRoot, 1);

//acha 4. Os 2 acima e os 2 que estão no primeiro Grid filhotextboxes = SearchUIElements<TextBox>(LayoutRoot, 2);

//acha TODOS os Grids a partir de LayoutRoot, inclusive ele mesmo var grids = SearchUIElements<Grid>(LayoutRoot);         

Agora que eu já mostrei como faz, você acha que consegue fazer uma função semelhante que navegue ao contrário na hierárquia? (procurando nos pais de um controle até chegar na raíz da aplicação…). Fica o desafio. Winking smile



Jul 27

Windows Phone SDK 7.1 Beta 2 Refresh disponível para desenvolvedores

Escrito por Kelps Sousa em .NET, 1, 2.0, 3.5, 4, 6, AR, back, Beta, BI, blog, C#, Desenvolvedor, desenvolvedores, Download, Geral, Google, if, int, map, mg, News, O, on, prova, refresh, Release Candidate, RIA, Ria’s Geral, RTM, S+S, SDK, Tema, UI, Vários, Ved, window, windows @ 07 27th, 2011 | via http://kelps-sousa.blogspot.com/ | Sem comentários
Kelps Sousa
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Quem está participando do beta do Windows Phone Mango para desenvolvedores recebeu uma agradável notícia hoje: Foi disponibilizada uma atualização para os aparelhos com um build mais recente do sistema operacional.

O novo build é o 7712, não o 7720, que é a versão RTM. Foi necessário que usássemos essa versão anterior pois é a versão que é compativel com a atualização do SDK e do Zune que estão sendo disponibilizadas neste refresh.

Está previsto que até o final de agosto O Marketplace será aberto para começarmos a publicar aplicações que funcionarão apenas em aparelhos com Windows Phone 7.5, o que nos dará uma chance de testar bem nossas aplicações em vários aparelhos de desenvolvedores antes que esta versão do SO esteja disponível para o público geral. Isso é interessante pois significa que quando a nova versão do SO estiver disponível para o público já haverá várias aplicações no Marketplace tirando proveito das novas capacidades do sistema operacional. Esta atualização de agosto provavelmente virá junto com uma versão RC (Release Candidate) do SDK.

Se você é um desenvolvedor cadastrado no Marketplace, tem um aparelho com Windows Phone e está participando do Beta do Windows Phone Mango, vá agora mesmo ao Connect e instale este refresh, mas não se esqueça de fazer backup dos backups dos seus backups antes de fazer isso, para garantir que você conseguirá voltar o seu telefone para a versão normal quando a versão RTM estiver disponível pois não será possível ir da versão beta diretamente para a versão RTM do WP7.

PS.: Quando você instalar o novo SDK ele vai aparecer como sendo RC na janela de adicionar e remover programas do Windows, mas na verdade esta ainda não é a versão RC do SDK.



Jun 30

Windows Phone SDK 7.1 Beta 2 disponível para download

Escrito por Kelps Sousa em .NET, 1, 2.0, 4, 6, app, AR, Beta, blog, C#, Desenvolvedor, desenvolvedores, Desenvolvimento, development, Download, email, err, Excel, Ferramenta, for, Google, html, if, int, map, mg, Microsoft, News, O, on, Ria’s Geral, S+S, SDK, Tema, tool, Ved, web, window, windows @ 06 30th, 2011 | via http://kelps-sousa.blogspot.com/ | Sem comentários
Kelps Sousa
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Se você está interessado no desenvolvimento para Windows Phone 7, ficará feliz em saber que está disponível para download o beta2 das ferramentas de desenvolvimento para Windows Phone 7.1 (mango).

Uma das coisas que mudou foi que agora o download se chama Windows Phone SDK, não mais Windows Phone Development Tools.

Para instalar esta versão é necessário primeiro remover a versão beta anterior.

Em conjunto com essa nova versão, a Microsoft também anunciou que TODOS os desenvolvedores cadastrados no AppHub receberão um convite por email para participar do beta do Windows Phone 7.1 no Connect. Em outras palavras, isso significa que todos os desenvolvedores cadastrados poderão atualizar os seus telefones com uma versão beta do sistema operacional que será lançado no segundo semestre. Essa é uma excelente notícia para quem já está desenvolvendo aplicações utilizando as ferramentas beta que foram lançadas pouco mais de 1 mês atrás.

Você já tem um Windows Phone? Vai instalar este beta nele? Eu vou Winking smile



« Entradas anteriores | Entradas recentes »

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com