lançamento de um toolkit multiplataforma , permitindo a criação de interfaces gráficas para Linux, Windows, macOS, UNIX e plataformas móveis. wxWidgets 3.1 é posicionado como uma ramificação para desenvolvedores, onde novos recursos estão sendo desenvolvidos para a próxima versão estável 3.2.0. Comparado com a ramificação 3.0, há uma série de incompatibilidades a nível de API e não se garante a imutabilidade do ABI entre as versões intermediárias 3.1.x.
O toolkit é escrito em C++ e é distribuído sob uma licença livre , aprovada pela Free Software Foundation e pela organização OSI. A licença é baseada na LGPL e diferencia-se por permitir o uso de condições próprias para a distribuição de trabalhos derivados em forma binária. Além do desenvolvimento de programas em C/C++, o wxWidgets oferece bindings para a maioria das linguagens de programação populares, incluindo , , e . Ao contrário de outros toolkits, o wxWidgets proporciona uma aparência verdadeiramente nativa para a aplicação na plataforma de destino e métodos de interação, graças ao uso das APIs do sistema, em vez de simulação de GUI.
Principais novidades:
- Novo sistema de construção baseado em CMake. O sistema de construção agora inclui suporte para novos compiladores (MSVC 2019, g++ 10) e sistemas operacionais (macOS 10.14 e macOS 11 para ARM);
- Novo porto experimental wxQt;
- Apoio à OpenGL foi reformulado, melhorando o uso de novas versões do OpenGL (3.2+);
- Suporte a eventos para gestos de controle, reproduzidos com o mouse foi adicionado;
- Foi adicionada a capacidade de especificar valores não inteiros ao definir o tamanho das fontes e a largura da caneta no wxFont e wxGraphicsContext;
- No wxStaticBox foi implementada a capacidade de atribuir rótulos arbitrários a janelas;
- Melhor suporte para telas com alta densidade de pixels (High DPI);
- Suporte para compressão LZMA e arquivos ZIP 64 foi adicionado;
- Novas classes foram apresentadas: wxActivityIndicator, wxAddRemoveCtrl,
wxAppProgressIndicator, wxNativeWindow, wxPowerResourceBlocker,
wxSecretStore e wxTempFFile; - Suporte para congelamento de colunas e linhas em wxGrid foi adicionado;
- Novos métodos foram apresentados: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::
GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(),
wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(),
wxListBox::GetTopItem(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(),
wxToolbook::EnablePage(), wxUIActionSimulator::Select(); - Significativas melhorias nas classes wxBusyInfo, wxDataViewCtrl,
wxNotificationMessage, wxStaticBox, wxStyledTextCtrl e wxUIActionSimulator; - A segurança foi aprimorada na fase de compilação, permitindo a desativação de conversões implícitas perigosas entre strings dos tipos wxString e «char*».
- Todas as bibliotecas de terceiros incluídas foram atualizadas. Suporte adicionado para WebKit 2 e GStreamer 1.7;
- Foram feitas melhorias relacionadas ao suporte do padrão C++11. Suporte para compiladores C++20 adicionado.
- Um grande número de correções foram feitas nas versões wxGTK3 e wxOSX/Cocoa.
Fonte: opennet.ru
