FOX significa Free Objects for X e é um programa de código aberto implementado em C ++ e projetado desde o início para ser usado na criação de Interfaces Gráficas de Usuário (GUIs) para projetos de software.
Ele foi desenvolvido para o Linux, mas o escopo deste projeto, com o passar do tempo, tornou-se um pouco mais ambicioso, já que agora ele pretende ser completamente independente de plataforma. Portanto, os programas escritos com a biblioteca FOX serão compatíveis apenas com uma ampla variedade de plataformas.
Recursos em resumo
Os principais recursos incluem facilidade de desenvolvimento, ortogonalidade, consistência, concisão, recursos modernos de GUI, ícones e imagens, dicas de ferramentas, ajuda na linha de status, barras de ferramentas flutuantes, guias de abas e listas de árvores.
widgets de interface de documentos múltiplos (MDI), widgets 3D OpenGL, arrastar e soltar, seleção, suporte de área de transferência, temporizadores, processamento inativo, renderização WYSIWYG, atualização GUI, base de mensagem / destino.
O kit de ferramentas é suportado em qualquer sistema operacional baseado em kernel Linux. Ele foi testado com sucesso em computadores que suportam arquiteturas de conjunto de instruções de 32 ou 64 bits.
Começando com o FOX
O FOX pode ser facilmente instalado em qualquer distribuição do GNU / Linux dos principais repositórios de software, através do gerenciador de pacotes embutido. Também pode ser instalado usando o pacote fonte, como qualquer outro programa.
Faça o download da última versão estável do Softoware usando o botão de download dedicado acima, salve o arquivo no seu diretório Home e extraia seu conteúdo usando qualquer utilitário gerenciador de arquivos.
Abra um aplicativo Terminal, navegue até o local onde você extraiu o arquivo (por exemplo, cd /home/softoware/fox-1.6.49) e execute o & lsquo; ./ configure & amp; & amp; fazer & rsquo; comando para configurar e compilar o programa.
Instale o sistema FOX em larga escala executando o & lsquo; make install & rsquo; comando como root ou o & lsquo; sudo make install & rsquo; comando como um usuário privilegiado. Após a instalação, execute o & fox - fox - help & rsquo; ou & raposa; comando para aprender a usar o kit de ferramentas para criar interfaces gráficas com o usuário para seus projetos de software.
O que há de novo nesta versão:
- Alterou o FXDir para usar readdir () em vez de readdir_r () agora obsoleto. Supostamente agora seguro para threads.
- Uma simplificação interna no FXRex.
- No FXText, a linha duplicada deixa o cursor no lugar, mas realça a nova linha (se você duplicar um demais, poderá excluí-lo imediatamente de novo).
- Adicione algumas mensagens de ajuda para a caixa de diálogo Preferências do PathFinder.
- Adicione as funções columnFromPos () e posFromColumn () em FXText.
- Corrigido o erro no FXText não recalculando largura se apenas uma linha presente (foi introduzida recentemente).
- O algoritmo reverso do FXRex não estava funcionando para o modo literal; faz agora.
- Algumas limitações do algoritmo de reversão de regex FXRex foram removidas.
- O retrabalho de Adie aberto selecionou alguns bugs; está corrigido agora.
- Adicionadas novas APIs convenientes ao namespace Math.
- Adicionadas novas APIs a classes de vetores.
- Selecionar bloco FXText, bloquear cópia para área de transferência e bloquear excluir agora funcionam.
- FXText shiftText () teve um pequeno problema ao mudar o texto contendo abas; isso foi tratado de uma maneira muito sofisticada, uma rotina interna que também é necessária para operações de blocos.
O que há de novo na versão:
- Principais alterações no mecanismo de expressão regular. Nova API amatch () para correspondência ancorada e nova pesquisa de API que substitui match (). Ordem de parâmetro mais sensata e movido alguns sinalizadores de tempo de execução para tempo de compilação.
- Os internos do FXRex estão agora prontos para a correspondência UTF8; no entanto, a parte de análise precisará seguir antes que esses novos recursos possam ser usados.
- FXRex :: substitute () agora interpreta as seqüências de escape usuais ao criar um padrão de substituição a partir de capturas de correspondência de expressões regulares.
- Aceleração em FXText getByte (), getChar (), etc. pela introdução da manipulação sem ramificação de acessos com buffer de gap.
- Mudou as caixas de diálogo de pesquisa e substituição do FXText para o editor de texto Adie; isso faz parte do programa slim-down do widget FXText.
- O editor de texto do Adie pesquisa e substitui as melhorias. Basicamente, a usabilidade livre de mouse de linhas de transmissão.
- A barra de pesquisa incremental do Adie agora aparece na parte inferior da janela. Isso é muito menos perturbador, pois o texto não é "empurrado para baixo". quando esta barra de ferramentas aparecer.
- A rotina FXHash find () agora retorna o índice do slot, ou -1 se não for encontrado. Se você usar o FXHash, você deve estar ciente de que simplesmente substituir find () por at () irá corrigir seu código para o novo sistema. Isso foi feito com base na solicitação de um usuário que observou que a API find () no FXHash se comportava de maneira diferente do find () no FXDictionary.
- Retire o espaço à esquerda e à direita da exibição no menu de favoritos da Adie.
- Adicionada declaração de constante ParallelMax para FXParallelFor.
- Mude para a API FXText findText (). A nova versão pode realizar não apenas a pesquisa para frente e para trás, mas também a correspondência ancorada. A correspondência ancorada é executada se nenhum sinalizador SEARCH_FORWARD ou SEARCH_BACKWARD for passado.
- Diálogo Goto Line movido do FXText para o editor de texto Adie (também parte do programa slimTime do widget FXText).
- O diálogo Adie Replace agora tem o botão Pesquisar.
- A função substituir caixa de diálogo Adie Substituir agora primeiro verifica se o texto realçado atual é aquele que está sendo pesquisado e só procura mais, se não estiver. Portanto, essa lógica substituirá a seleção já destacada e diminuirá a probabilidade de você acidentalmente & quot; pular & quot; o primeiro item em uma sessão de pesquisa e substituição.
- Além disso, as caixas de diálogo Pesquisar e Substituir permanecem ativas até serem explicitamente fechadas. Muitas vezes, a primeira busca nem sempre é a desejada, e a pessoa teve que abrir o diálogo uma segunda vez. Tenha em atenção que Escape oculta a caixa de diálogo, pelo que não é necessária interação com o rato para & quot; Utilizadores avançados & quot;
- A caixa de diálogo Pesquisar e substituir pode agora ser substituída apenas no texto selecionado.
- Algumas atualizações de padrão de idioma no arquivo de coloração de sintaxe do Adie.
- Padrões de cores CMake adicionados ao arquivo de sintaxe.
- Novos modos de correspondência adicionados ao FXRex: Exact e NotEmpty. O modo Exato só é bem-sucedido se uma correspondência bem-sucedida consumir a sequência inteira. O modo NotEmpty só é bem-sucedido se a correspondência comer pelo menos um caractere. Observe que esses são sinalizadores de tempo de compilação e implementados por meio de declarações especiais no mecanismo de correspondência. Assim, o mecanismo potencialmente voltará a partidas anteriores para tentar outras possibilidades!
- O mecanismo de correspondência de expressão regular foi acelerado pela simplificação da configuração do correspondente internamente; isso afeta particularmente a pesquisa ().
- Corrigido o erro no FXHash :: at ().
- Recursão eliminada em correspondência possessiva simples no FXRex.
- Adicionadas as úteis API isNull (), isBool (), etc. a FXVariant.
- Fiz as APIs de alteração de seleção virtuais em FXText, para subclasses.
O que há de novo na versão 1.7.44:
- Notação de objeto JavaScript FXJSON atualizada I / O class: - removeu os limites para o tamanho do token nas operações de entrada e saída (anteriormente limitado ao tamanho do buffer).
- Pequenas alterações no FXVariant: - adicionei algumas APIs ausentes, removidas toChar () como inúteis. Adicionado has () para determinar se a chave está presente no caso de o FXVariant ser um mapa.
- Simplificado FXFile e outras subclasses FXIO um pouco para remover implementações redundantes.
- Adicionado FXIOBuffer, um dispositivo FXIO que serializa para / de um buffer de memória.
- FXRanged, FXRangef: agora verifique os resultados intersect () de forma um pouco diferente.
- Ray para FXSpheref, o teste de interseção FXSphered foi alterado para permitir a possibilidade de origem dentro da esfera.
- Corrigido pequeno erro no wc2nc ().
- Possível saturação do buffer no FXDir corrigido.
- Adicionada classe FXStringMap.
- Alterou algumas APIs no FXDictionary. Adicionado a API erase () para permitir a remoção do slot já localizado. Isso é mais rápido e necessário para uma subclassificação bem-sucedida.
- Problema do FXStat corrigido no Windows.
O que há de novo na versão 1.6.49:
- Verifique o índice fora dos limites em FXTabBook :: setCurrent ().
O que há de novo na versão 1.7.33:
- O problema com a composição de suporte do Windows7 OpenGL é mais pesado, escolhendo o modo de composição preferencialmente. Isso torna menos provável que o visual combine com formatos de pixel não compatíveis com o Aero.
- Salvar / carregar imagem fixa de TIFF.
- Arco de quatérnio fixo () para vetores que estão separados por 180 graus.
- Alguns ajustes no FXAtomic: código mais otimizado para compilações não-PIC; também, verifique se há TORTA (executável independente de posição).
- Corrigido problema no FXRex em relação a caracteres não-ASCII.
- Reparamos alguns padrões de sintaxe quebrados no arquivo de sintaxe Adie.stx.
- API lerp () SSE-ified adicionada a classes vetoriais.
- Corrigido problema de armazenamento não alinhado do SSE no FXMat4d; exibiu-se em sistemas de 32 bits.
- Setjmp () / longjmp () corrigido em fxpngio.cpp.
- O operador FXbool no FXAutoPtr e FXRefPtr interferiu nos operadores de comparação; removido.
- Adicionadas APIs às classes FXMat4.
- Adicionada capacidade de serialização à classe FXExpression.
Problema
O que há de novo na versão 1.7.30:
- Documentos de código amplamente expandidos para o widget FXText.
- Analisador de sintaxe aprimorado para o editor de texto Adie.
- FXFileList agora emite retornos de chamada adequados quando arquivos ou diretórios são alterados no disco enquanto o FXFileList os exibe.
- O FXFileSelector coloca o FXFileList no modo ICONLIST_SINGLESELECT quando o modo SELECTFILE_ANY está em vigor. É assim que deve ser, pois o usuário pode digitar um nome de arquivo que ainda não existe.
- Várias varreduras de diretório desnecessárias foram eliminadas quando o FXFileDialog aparece pela primeira vez. Isso torna o FXFileDialog muito mais rápido do que era antes.
- Regras de sintaxe do Python atualizadas em Adie.stx.
- Adicionadas regras de coloração para conflitos de mesclagem para C, C ++ e alguns outros idiomas para o Adie.stx.
- Corrigidos erros no Adie.stx agora sinalizados pelo analisador sintático de sintaxe.
- ForceRefresh não-recursivo () em FXWindow.
- FXIconList gera SEL_DELETED, SEL_INSERTED em vez de SEL_REPLACED. Esses retornos de chamada são mais úteis.
- O PathFinder mostra informações úteis em sua linha de status.
- Agora é possível alterar permissões de vários arquivos do painel de propriedades do PathFinder.
- O PathFinder agora pode alterar associações de arquivos e atribuições de ícones, assim como o ControlPanel. Por enquanto, eles têm efeito somente no próprio PathFinder, mas isso deve mudar no futuro.
- Typo no FXComplexd corrigido.
- Soluções alternativas para o status do disco para MacOSX e outros Unices não-Linux.
- Corrigido o erro no código FXMat3d SSE2. Estava usando acesso alinhado.
- Os itens FXFileList e FXDirList acompanham os bits de modo. Isso realmente simplifica bastante as coisas.
- Nova varredura de diretório inútil eliminada quando a função de classificação foi alterada em FXFilelist e FXDirList.
- Emita SEL_CHANGED se o item atual for substituído em FXIconList, FXList, etc.
- Adie lembra se a sintaxe de arquivo sem extensão foi alterada manualmente; da próxima vez que o mesmo arquivo for carregado, a sintaxe será restaurada corretamente.
- Primeiro bug no ControlPanel corrigido; raro, o problema ocorre apenas O ControlPanel é executado pela primeira vez e nenhum registro existe ainda no disco.
- Opção adicionada ao PathFinder para dimensionar a imagem para o espaço disponível ao usar o visualizador interno de imagens.
- A chave do fornecedor no construtor do FXApp agora é padronizada como FXString :: null. Este é o padrão de uso mais comum.
- Opção adicionada ao PathFinder para controlar o espaço do item de arquivo e exibir ou não as colunas de tamanho automático.
- Sinalizadores de estilo negrito, tachado, sublinhado agora salvos em Adie.
- Nova opção de regra de sintaxe em Adie.stx: todas as correspondências "background & quot; regra. Quando usado, você pode colorir todo o texto não correspondido com as regras regulares, como substituir as cores padrão usadas pelo editor Adie.
O que há de novo na versão 1.7.25:
- Alterar no configure.ac para verificar os arquivos de cabeçalho intrínsecos com sinalizadores de compilador modificados; arquivos de cabeçalho não são compiláveis com opções padrão.
- Makefiles atualizados do Borland C ++.
- Atualize os arquivos de projeto do Visual Studio 6 com cabeçalhos ausentes.
- Pequenas correções no FXAutoPtr.h.
- Altere algumas APIs inline de FXProgressDialog para não-inline.
Comentários não encontrado