Programa com Xojo dese Cero: listas hierárquicas

    Programa com Xojo dese Cero: listas hierárquicas

    Continuamos a melhorar nosso aplicativo “Despesas Pessoais”, então agora usamos a capacidade do ListBox de exibir dados hierarquicamente (ou seja, com vários níveis de recuo).

    Isso nos permitirá agora mostrar no ListBox todos os gastos agrupados em cada uma das categorias a que pertencem, com a possibilidade de expandir ou recolher cada uma das categorias da lista conforme desejado.

    Portanto, ganharemos organização na hora de mostrar ao usuário os diferentes itens correspondentes a cada uma das categorias de despesas.



    Na verdade, ListBox é um dos controles de interface do usuário mais poderosos e flexíveis que você pode encontrar na biblioteca Xojo IDE. Se você der uma olhada na documentação deste componente (https://docs.xojo.com/ListBox), perceberá até que ponto é possível customizar o comportamento da lista, tanto do ponto de vista gráfico (lembre-se de capítulos anteriores que Graphics é a classe que nos dá tudo o que precisamos para "pintar" nossa interface de usuário), além do comportamento.

    Durante o curso já vimos algumas das suas capacidades, como a correspondente à ordenação dos dados em cada uma das colunas, assim como podemos adicionar dados às diferentes colunas de uma nova linha, aceder a um dado específico, etc.

    Bem, neste capítulo vamos focar em outros métodos disponíveis no ListBox, estes são os que nos permitem indicar ao ListBox que queremos adicionar uma nova linha de dados com o comportamento "expansível" através do método AddExpandableRow (https : //docs.xojo .com / ListBox.AddExpandableRow).

    Isso também nos dá a capacidade de adicionar manipuladores de eventos ExpandRow (https://docs.xojo.com/ListBox.ExpandRow) e CollapseRow (https://docs.xojo.com/ListBox.CollapseRow).

    Esses são os eventos que serão acionados no controle cada vez que o usuário clicar no widget de seta (elemento gráfico) associado a cada uma das linhas expansíveis nas quais você pode atuar.



    Dado que, por exemplo, em ExpandRow recebemos como parâmetro o número da linha que queremos exibir, este será o que usaremos para preencher (e, portanto, tornar visível) o restante das linhas (ou itens) correspondentes às despesas da categoria que acabamos de finalizar.

    Outro método interessante de ListBox, ao usar listas hierárquicas, é RowDepthAt (https://docs.xojo.com/ListBox.RowDepthAt).

    Isso nos permitirá saber o valor do recuo, ou "profundidade" na hierarquia da lista, correspondente ao número da linha que passamos como argumento. Assim, por exemplo, uma linha de nível superior retornará o valor zero (0), enquanto se a linha estiver suspensa diretamente de um nível superior da hierarquia, ela retornará o valor um (1), e assim por diante à medida que você se aprofunda no a hierarquia de uma linha raiz ou de nível superior.


    Talvez neste momento pareça mais complexo do que realmente é; mas tenho certeza que quando você ver o tutorial, e colocar em prática, vai perceber que não é bem assim.

    Em breve você começará a usar listas hierárquicas em seus projetos!

    Além disso, não é necessário limitar-se a usar linhas suspensas apenas no primeiro nível da hierarquia, mas você pode incorporar linhas suspensas na hierarquia de qualquer outro item que também seja suspenso.


    Um bom exemplo desse tipo de comportamento em ação, que eu recomendo que você dê uma olhada, é aquele que você pode encontrar no projeto de exemplo "FileBrowser" incluído na pasta Sample Projects> Desktop> Controls> ListBox.

    Javier Rodríguez

    • Engenheiro Xojo
    • Twitter: @xojoes
    • Facebook: http://facebook.com/xojoes/
    • Baixe a versão mais recente em www.xojo.com
    • Recursos Xojo em espanhol: https://docs.xojo.com/spanish

    Adicione um comentário do Programa com Xojo dese Cero: listas hierárquicas
    Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.