Tutorial do Projeto VDesk: Gerenciamento de Áreas de Trabalho Virtuais

A estrutura de diretórios do VDesk está organizada da seguinte forma:

VDesk/
├── bin/
│   ├── Release/
│   └── Debug/
├── src/
│   ├── Nucleo/
│   ├── Interface/
│   ├── Utilitarios/
│   └── ProgramaPrincipal.cpp
├── config/
│   ├── configuracoes.json
│   └── log_config.conf
├── docs/
│   ├── LEIAME.md
│   └── CONTRIBUINDO.md
├── testes/
│   ├── TestesUnitarios/
│   └── TestesIntegracao/
├── LICENCA
└── LEIAME.md

Descrição dos Diretórios

  • bin/: Contém os executáveis compilados, separados nas versões Release e Debug.
  • src/: Diretório do código-fonte, incluindo a lógica central (Nucleo/), interface gráfica (Interface/), classes utilitárias (Utilitarios/) e o arquivo principal (ProgramaPrincipal.cpp).
  • config/: Diretório de configurações, contendo o arquivo de definições da aplicação (configuracoes.json) e a configuração de logs (log_config.conf).
  • docs/: Documentação, incluindo o LEIAME.md (README) e CONTRIBUINDO.md (guia de contribuição).
  • testes/: Testes automatizados, com subpastas para testes unitários e de integração.
  • LICENCA: Arquivo de licença do projeto.
  • LEIAME.md: Arquivo de descrição principal do repositório.

Arquivo de Inicialização

O ponto de entrada da aplicação é o arquivo ProgramaPrincipal.cpp, localizado em src/. Ele é responsável por preparar o ambiente e iniciar o loop principal. Veja o conteúdo simplificado:

#include "Nucleo/GestorDeJanelas.h"

int main(int argc, char* argv[]) {
    GestorDeJanelas gestor;
    if (gestor.inicializar(argc, argv)) {
        gestor.executar();
    }
    return 0;
}

Explicação do Arquivo Principal

  • #include "Nucleo/GestorDeJanelas.h": Inclui o cabeçalho da classe central do gerenciador.
  • int main(int argc, char* argv[]): Função principal, ponto de partida do programa.
  • GestorDeJanelas gestor;: Cria uma instância do gerenciador que controla as áreas de trabalho virtuais.
  • gestor.inicializar(argc, argv): Inicializa o gerenciador com os argumentos da linha de comando.
  • gestor.executar(): Inicia o loop principle da aplicação.

Arquivos de Configuração

Os arquivos de configuração estão em config/ e controlam o comportamento da aplicação.

configuracoes.json

Este arquivo armazena as opções do usuário, como dimensões da janela e idioma. Exemplo:

{
    "janela": {
        "largura": 800,
        "altura": 600
    },
    "idioma": "pt_BR",
    "log": {
        "nivel": "info",
        "arquivo": "logs/app.log"
    }
}

log_config.conf

Define o comportamento do sistema de logs. Exemplo:

[loggers]
keys=raiz

[handlers]
keys=arquivoHandler

[formatters]
keys=formatoSimples

[logger_raiz]
level=INFO
handlers=arquivoHandler

[handler_arquivoHandler]
class=FileHandler
level=INFO
formatter=formatoSimples
args=("logs/app.log", "a")

[formatter_formatoSimples]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=%Y-%m-%d %H:%M:%S

Descrição dos Arquivos de Configuração

  • configuracoes.json: Contém preferências como tamanho da janela, idioma e configuração de log.
  • log_config.conf: Configura o nível de log, destino e formato das mensagens.

Este guia cobre a estrutura básica, o ponto de entrada e as configurações do VDesk. Com essas informações, é possível compreender como o projeto está organizado e como personalizar seu comportamento.

Tags: VDesk Área de Trabalho Virtual gerenciamento de janelas código aberto Configuração de Log

Publicado em 7-1 20:49