Aplicativo feito com o toolkit gráfico GTK.

Como instalar a linguagem de marcação Gnome Blueprint

Blueprint é uma linguagem de marcação para criação de interfaces gráfica com o toolkit GTK.

Ela é desenvolvida e mantida pelo James Westman.

O seu principal objeto é ser uma linguagem de marcação fácil de aprender e que permita a construção de interfaces gráficas de forma rápida e declarativa.

É importante notar que a linguagem de marcação Blueprint não vem para substituir o padrão atual de construção de interfaces gráficas do GTK.

Assim como em outros frameworks e toolkits gráficos, o GTK utiliza o padrão XML para construção da parte visual dos aplicativos.


Posts relacionados:


    Este é um formato amplamente utilizado e bem aceito no geral, contudo ele tende a ser difícil de ler e modificar manualmente.

    Essa dificuldade tente a gerar uma curva de aprendizado grande e em muitos casos existe a necessidade da utilização de softwares que permitam o desenvolvimento das interfaces gráficas de forma visual.

    Alguns exemplos desses softwares para GTK são:

    Para amenizar essas dificuldades é que nasce a ideia da linguagem de marcação Blueprint.

    Para ficar mais claro vamos analisar o código da seguinte interface gráfica em ambas as linguagens de marcação:

    Aplicativo feito com o toolkit gráfico GTK.
    Aplicativo feito com o toolkit gráfico GTK.

    Na imagem acima temos basicamente uma janela e um menu na barra de título.

    Para descrever essa interface em XML (*.ui) temos o seguinte código:

    <?xml version="1.0" encoding="UTF-8"?>
    <interface>
        <requires lib="gtk" version="4.0"/>
        <template class="ExampleWindow" parent="GtkApplicationWindow">
            <property name="title">Python e GTK 4: PyGObject Gtk.ApplicationWindow() ui file.</property>
            <property name="default-width">683</property>
            <property name="default-height">384</property>
            <child type="titlebar">
                <object class="GtkHeaderBar" id="header_bar">
                    <child type="end">
                        <object class="GtkMenuButton">
                            <property name="icon-name">open-menu-symbolic</property>
                            <property name="menu-model">primary_menu</property>
                        </object>
                    </child>
                </object>
            </child>
        </template>
    
        <menu id="primary_menu">
            <section>
                <item>
                    <attribute name="label" translatable="yes">_Preferences</attribute>
                    <attribute name="action">app.preferences</attribute>
                </item>
            </section>
        </menu>
    </interface>

    A mesma interface gráfica na linguagem de marcação Blueprint (*.blp) tem o seguinte código:

    using Gtk 4.0;
    
    template $ExampleWindow: Gtk.ApplicationWindow {
      title: 'Python and GTK: PyGObject Gtk.ApplicationWindow.';
      default-width: 683;
      default-height: 384;
    
      [titlebar]
      Gtk.HeaderBar header_bar {
        [end]
        Gtk.MenuButton {
          icon-name: 'open-menu-symbolic';
          menu-model: primary_menu;
        }
      }
    }
    
    menu primary_menu {
      section {
        item {
          label: _('Preferences');
          action: 'app.preferences';
        }
      }
    }

    Como podemos ver o código da interface gráfica se torna bem mais legível e simples com a linguagem de marcação Blueprint.


    Blueprint compiler

    Relembrando o que foi dito anteriormente.

    A linguagem de marcação Blueprint não vem para substituir o padrão atual de construção de interfaces gráficas do GTK.

    Isso significa que escrevemos a interface gráfica em Blueprint (*.blp) e precisamos converter o arquivo gerado para um arquivo XML (*.ui) que será lindo pelo GtkBuilder.

    Para realizar essa conversão/compilação precisamos instalar a ferramenta de linha de comando (CLI) blueprint-compiler.


    Instalação

    Linux

    Arch Linux

    sudo pacman -S \
    blueprint-compiler

    Fedora

    sudo dnf install \
    blueprint-compiler

    openSUSE Tumbleweed

    sudo zypper install \
    blueprint-compiler

    Ubuntu

    sudo apt install \
    blueprint-compiler

    Microsoft Windows

    Para realizar a instalação do blueprint-compiler no Microsoft Windows é necessário que o MSYS2 esteja instalado e configurado.

    Abra o terminal do MSYS2 e execute no terminal o comando:

    pacman -S \
    mingw-w64-x86_64-blueprint-compiler

    Instalação via código fonte

    Para obter a ultima versão do blueprint-compiler podemos realizar a instalação do mesmo a partir do seu código fonte.

    A instalação é bem simples e com poucas dependências.

    Dependências

    macOS

    brew install \
    git \
    meson \
    ninja

    Linux

    Arch Linux
    sudo pacman -S \
    git \
    meson \
    ninja
    Fedora

    Site oficial do Fedora.

    sudo dnf install \
    git \
    meson \
    ninja-build
    openSUSE Tumbleweed
    sudo zypper install \
    git \
    meson \
    ninja
    Ubuntu:
    sudo apt install \
    git \
    meson \
    ninja-build

    Microsoft Windows

    Para realizar a instalação do blueprint-compiler no Microsoft Windows é necessário que o MSYS2 esteja instalado e configurado.

    Abra o terminal do MSYS2 e instale as seguinte dependências:

    pacman -S \
    git \
    mingw-w64-x86_64-meson \
    mingw-w64-x86_64-ninja
    Instalando os pacotes meson e ninja via MSYS2.
    Instalando os pacotes meson e ninja via MSYS2.

    Instalação

    Assim que as dependências estiverem instaladas abra um terminal e clone o repositório do blueprint-compiler:

    git clone https://gitlab.gnome.org/jwestman/blueprint-compiler.git

    No caso do Microsoft Windows utilize o terminal MINGW64 do MSYS2.

    Terminal MINGW64 do MSYS2.
    Terminal MINGW64 do MSYS2.

    Agora acesse a pasta que foi clonada:

    cd blueprint-compiler

    Ao acessar a pasta execute o comando:

    meson _build

    Assim que o processo de build terminar execute:

    ninja -C _build install

    Assim que o processo de instalação terminar o blueprint-compiler estará disponível no sistema operacional 🚀:

    blueprint-compiler --version
    Exibindo a versão do blueprint-compiler no terminal do macOS.
    Exibindo a versão do blueprint-compiler no terminal do macOS.

    Principais comandos

    Iniciar um passo a passo para configuração do projeto:

    blueprint-compiler port

    Para converter um arquivo *.blp para *.ui:

    blueprint-compiler compile MainWindow.blp --output MainWindow.ui

    Para conhecer todos os recursos disponíveis:

    blueprint-compiler --help


    Extra

    Extensões

    Alguns editores de texto possuem suporte para a linguagem de marcação Blueprint.

    Dentro os principais temos: