FOX sta per Free Objects for X ed è un programma open source implementato in C ++ e progettato da zero per essere utilizzato per la costruzione di interfacce grafiche utente (GUI) per progetti software.
È stato sviluppato per Linux, ma lo scopo di questo progetto è diventato, nel corso del tempo, un po 'più ambizioso, poiché ora mira a essere completamente indipendente dalla piattaforma. Pertanto, i programmi scritti con la libreria FOX saranno compatibili solo con una vasta gamma di piattaforme.
Caratteristiche a colpo d'occhio
Le funzionalità principali includono facilità di sviluppo, ortogonalità, coerenza, concisione, funzionalità GUI moderne, icone e immagini, suggerimenti, guida della linea di stato, barre degli strumenti mobili, tabulati e liste ad albero.
widget MDI (Multiple Document Interface), widget OpenGL 3D, drag and drop, selezione, supporto per appunti, timer, elaborazione inattiva, rendering WYSIWYG, aggiornamento della GUI, target / messaggio in base.
Il toolkit è supportato su qualsiasi sistema operativo basato su kernel Linux. È stato testato con successo con i computer che supportano le architetture di set di istruzioni a 32 o 64 bit.
Introduzione a FOX
FOX può essere facilmente installato su qualsiasi distribuzione di GNU / Linux dai principali repository software, attraverso il gestore di pacchetti integrato. Può anche essere installato utilizzando il pacchetto sorgente, proprio come qualsiasi altro programma.
Scarica l'ultima versione stabile da Softoware utilizzando il pulsante di download dedicato in alto, salva l'archivio nella tua directory Home ed estrai il suo contenuto utilizzando qualsiasi utility di gestione archivi.
Apri un'app Terminal, vai alla posizione in cui hai estratto il file di archivio (ad esempio cd /home/softoware/fox-1.6.49) ed esegui & lsquo; ./ configure & amp; & amp; fare & rsquo; comando per configurare e compilare il programma.
Installa FOX system wide eseguendo il & lsquo; installazione & rsquo; comando come root o sudo make install & rsquo; comando come utente privilegiato. Dopo l'installazione, esegui & lsquo; fox --help & rsquo; o & lsquo; uomo volpe & rsquo; comando per imparare come utilizzare il toolkit per creare interfacce utente grafiche per i tuoi progetti software.
Novità in questa versione:
- FXDir commutato per utilizzare readdir () al posto di readdir_r () deprecato. Presumibilmente ora thread-safe.
- Alcuni streamlining interni in FXRex.
- In FXText, la linea duplicata lascia il cursore in posizione, ma evidenzia la nuova riga (se ne duplichi una troppo, puoi quindi eliminarla immediatamente).
- Aggiungi alcuni messaggi di aiuto per la finestra di dialogo Preferenze di PathFinder.
- Aggiungi le funzioni columnFromPos () e posFromColumn () in FXText.
- Risolto bug in FXText che non ricalcola la larghezza se solo una linea singola è stata introdotta di recente.
- L'algoritmo di reverse FXRex non funzionava in modalità verbatim; lo fa ora.
- Sono state rimosse alcune limitazioni sull'algoritmo di regex-reversal di FXRex.
- La revisione open-select di Adie ha introdotto alcuni bug; è ora riparato.
- Aggiunte nuove API convenienti allo spazio dei nomi Math.
- Aggiunte nuove API per le classi vettoriali.
- FXText seleziona il blocco, blocca la copia negli appunti e blocca la cancellazione ora funziona.
- FXText shiftText () ha avuto un problema minore spostando il testo contenente le schede; questo è stato affrontato in un modo molto sofisticato, una routine interna che è anche necessaria per le operazioni di blocco.
Novità della versione nella versione:
- Grandi cambiamenti nel motore delle espressioni regolari. Nuova API amatch () per la corrispondenza ancorata e nuova ricerca API che sostituisce match (). Ordine dei parametri più sensibile e spostamento di alcuni flag dal tempo di esecuzione al tempo di compilazione.
- Gli interni di FXRex sono ora pronti per la corrispondenza UTF8; tuttavia, l'analisi della parte dovrà essere eseguita prima che queste nuove funzionalità possano essere utilizzate.
- FXRex :: substitute () ora interpreta le solite sequenze di escape durante la creazione di pattern di sostituzione da acquisizioni di corrispondenze di espressioni regolari.
- Speedup in FXText getByte (), getChar (), ecc. grazie all'introduzione della gestione senza branch degli accessi gapped-buffer.
- Sposta la ricerca cablata e sostituisci le finestre di dialogo da FXText e nell'editor di testo Adie; questo fa parte del programma di ottimizzazione del widget FXText.
- Adie text editor cerca e sostituisce i miglioramenti. Fondamentalmente, stream-lines usabilità senza mouse.
- La barra di ricerca incrementale di Adie ora viene visualizzata nella parte inferiore della finestra. Questo è molto meno dirompente non appena il testo non ottiene & quot; pushed down & quot; quando viene visualizzata questa barra degli strumenti.
- La routine find () di FXHash restituisce ora l'indice dello slot o -1 se non trovato. Se usi FXHash, tieni presente che la semplice sostituzione di find () con at () risolverà il tuo codice nel nuovo sistema. Ciò è stato fatto sulla base della richiesta di un utente che ha rilevato che l'API find () in FXHash si comportava in modo diverso da find () in FXDictionary.
- Elimina lo spazio iniziale e finale dalla visualizzazione nel menu dei segnalibri di Adie.
- Aggiunta la dichiarazione costante di ParallelMax per FXParallelFor.
- Passa a FXText findText () API. La nuova versione può eseguire non solo la ricerca in avanti e all'indietro, ma anche la corrispondenza ancorata. La partita ancorata viene eseguita se non vengono passati i flag SEARCH_FORWARD o SEARCH_BACKWARD.
- Finestra di dialogo Goto Line spostata da FXText ad Adie text editor (anch'essa parte del programma di ottimizzazione del widget di FXText).
- La finestra di dialogo Sostituisci Adie ora ha il pulsante Cerca.
- La funzione Sostituisci finestra di dialogo Sostituisci ora controlla innanzitutto se il testo evidenziato corrente è quello cercato e cerca solo se non lo è. Questa logica sostituirà quindi la selezione già evidenziata e renderà meno probabile che accidentalmente & quot; salta & quot; il primo elemento in una sessione di ricerca e sostituzione.
- Inoltre, le finestre di dialogo Cerca e Sostituisci rimangono attive fino alla chiusura esplicita. Spesso accadeva che la prima ricerca non fosse sempre quella desiderata, e una doveva aprire il dialogo una seconda volta. Nota che Escape nasconde la finestra di dialogo, quindi non è richiesta l'interazione del mouse per & quot; Power Users & quot;.
- la finestra di dialogo Cerca e sostituisci ora può essere sostituita solo nel testo selezionato.
- Alcuni aggiornamenti di pattern linguistici nel file di colorazione della sintassi Adie.
- CMake pattern di colorazione aggiunti al file di sintassi.
- Nuove modalità di corrispondenza aggiunte a FXRex: Exact e NotEmpty. La modalità esatta ha esito positivo solo se una corrispondenza riuscita occupa l'intera stringa. La modalità NotEmpty ha esito positivo solo se la corrispondenza mangia almeno un carattere. Si noti che questi sono indicatori di tempo di compilazione e implementati tramite affermazioni speciali nel motore di corrispondenza. In questo modo, il motore potrebbe tornare indietro alle partite precedenti per provare altre possibilità!
- Il motore di corrispondenza delle espressioni regolari è accelerato ottimizzando internamente la configurazione del matcher; questo riguarda particolarmente search ().
- Risolto bug in FXHash :: at ().
- Ricorsione eliminata in semplice partita possessiva in FXRex.
- Aggiunto utile API isNull (), isBool (), ecc. a FXVariant.
- Creazione di API di modifica della selezione virtuali in FXText, per sottoclassi.
Novità nella versione 1.7.44:
- Aggiornato FXJSON JavaScript Notazione oggetto I / Classe O: - rimossi i limiti alle dimensioni del token sia nelle operazioni di input che di output (precedentemente limitate alle dimensioni del buffer).
- Modifiche minori a FXVariant: - aggiunte alcune API mancanti, rimosse toChar () come inutili. Aggiunto ha () per determinare se la chiave è presente nel caso in cui FXVariant sia una mappa.
- FXFile semplificato e altre sottoclassi FXIO un po 'per rimuovere implementazioni ridondanti.
- Aggiunto FXIOBuffer, un dispositivo FXIO che serializza su / da un buffer di memoria.
- FXRanged, FXRangef: ora controlla intersect () in modo leggermente diverso.
- Raggio su FXSphere, test di intersezione FXS cambiato per consentire l'origine all'interno della possibilità della sfera.
- Risolto un piccolo bug in wc2nc ().
- Possibile sovraccarico del buffer in FXDir corretto.
- Aggiunto classe FXStringMap.
- Modificato alcune API in FXDictionary. Aggiunta dell'API erase () per consentire la rimozione dello slot già localizzato. Questo è più veloce e necessario per creare sottoclassi di successo.
- Problema di FXStat risolto su Windows.
Novità nella versione 1.6.49:
- Verifica l'indice fuori dai limiti di FXTabBook :: setCurrent ().
Novità della nuova versione nella versione 1.7.33:
- Problema con Windows7 Il formato di pixel OpenGL che supporta la composizione è ponderato più pesante, quindi è preferibile selezionare la modalità di composizione. Ciò rende meno probabile che il visual abbinerà i formati pixel non compatibili con Aero.
- Risolto il salvataggio / caricamento dell'immagine TIFF.
- Fixed quaternion arc () per i vettori che si trovano a 180 gradi di distanza.
- Alcune modifiche in FXAtomic: codice più ottimale per le compilazioni non PIC; inoltre, controlla PIE (posizione eseguibile indipendente).
- Risolto problema in FXRex per quanto riguarda i caratteri non ASCII.
- Riparato alcuni pattern di sintassi interrotti nel file di sintassi Adie.stx.
- API lerp () SSE-ified aggiunta alle classi vettoriali.
- Risolto problema di archivio non allineato SSE in FXMat4d; si è esibito su sistemi a 32 bit.
- Problema di Setjmp () / longjmp () corretto in fxpngio.cpp.
- L'operatore FXbool in FXAutoPtr e FXRefPtr ha interferito con gli operatori di confronto; rimosso.
- Aggiunte le API alle classi FXMat4.
- Aggiunta funzionalità di serializzazione alla classe FXExpression.
Novità nella versione 1.7.30:
- Documenti di codice espansi per il widget di FXText.
- Analizzatore della sintassi migliorato per l'editor di testo Adie.
- FXFileList rilascia ora i callback appropriati quando i file o le directory vengono modificati sul disco mentre FXFileList li sta visualizzando.
- FXFileSelector inserisce FXFileList nella modalità ICONLIST_SINGLESELECT quando è attiva la modalità SELECTFILE_ANY. Questo è come dovrebbe essere dato che l'utente può digitare un nome file che non esiste ancora.
- Diverse scansioni di directory non necessarie sono state eliminate quando viene visualizzato FXFileDialog. Questo rende FXFileDialog molto più veloce di prima.
- Regole di sintassi Python aggiornate in Adie.stx.
- Aggiunte regole di colorazione per i conflitti di unione per C, C ++ e alcune altre lingue per Adie.stx.
- Corretti bug in Adie.stx ora contrassegnati da un parser della sintassi più rigoroso.
- forceRefresh non ricorsivo () in FXWindow.
- FXIconList genera SEL_DELETED, SEL_INSERTED anziché SEL_REPLACED. Questi callback sono più utili.
- PathFinder mostra informazioni utili nella sua riga di stato.
- Ora è possibile modificare le autorizzazioni di più file dal pannello delle proprietà di PathFinder.
- PathFinder ora può modificare associazioni di file e assegnazioni di icone, proprio come ControlPanel. Per ora, hanno effetto solo su PathFinder stesso, ma questo dovrebbe cambiare in futuro.
- Errore di battitura in FXComplexd risolto.
- Soluzioni alternative per le statistiche del disco per MacOSX e altri Unix non Linux.
- Corretto errore nel codice SSE2 di FXMat3d. Stavo usando l'accesso allineato.
- Le voci FXFileList e FXDirList tengono traccia dei bit di modalità. Questo semplifica davvero un po 'la roba.
- Eliminazione della directory inutile eliminata quando la funzione di ordinamento è cambiata in FXFilelist e FXDirList.
- Problema SEL_CHANGED se l'articolo corrente viene sostituito in FXIconList, FXList, ecc.
- Adie ricorda se la sintassi dei file senza estensione è stata modificata manualmente; la prossima volta che viene caricato lo stesso file, la sintassi verrà ripristinata correttamente.
- Corretto il bug della prima volta in ControlPanel; raro, il problema si verifica solo ControlPanel viene eseguito la prima volta e sul disco non è ancora presente alcun registro.
- Opzione aggiunta a PathFinder per ridimensionare l'immagine allo spazio disponibile quando si utilizza il visualizzatore di immagini interno.
- La chiave del fornitore nel costruttore di FXApp ora è impostata su FXString :: null. Questo è il modello di utilizzo più comune.
- Opzione aggiunta a PathFinder per controllare lo spazio dell'elemento file e se visualizzare o meno le colonne con ridimensionamento automatico.
- Bold, barrato, sottolineano le bandiere di stile ora salvate in Adie.
- Nuova opzione per la regola della sintassi in Adie.stx: all-matching & quot; background & quot; regola. Se utilizzato, puoi colorare tutto il testo che non corrisponde alle regole regolari, sostituendo i colori predefiniti utilizzati dall'editor Adie.
Novità nella versione 1.7.25:
- Modifica in configure.ac per verificare i file di intestazione intrinseca con flag di compilazione modificati; i file di intestazione non sono compilabili con le opzioni predefinite.
- Aggiornati i makefile Borland C ++.
- Aggiorna i file di progetto di Visual Studio 6 con intestazioni mancanti.
- Piccole correzioni in FXAutoPtr.h.
- Modifica alcune API in linea di FXProgressDialog su non inline.
I commenti non trovato