FOX oznacza Free Objects for X i jest programem typu open source realizowanym w C ++ i zaprojektowanym od podstaw w celu tworzenia graficznych interfejsów użytkownika (GUI) dla projektów oprogramowania.
Został opracowany dla systemu Linux, ale zakres tego projektu z czasem stał się nieco bardziej ambitny, ponieważ teraz ma on być całkowicie niezależny od platformy. Dlatego programy napisane biblioteką FOX będą kompatybilne tylko z szeroką gamą platform.
Funkcje na pierwszy rzut oka
Najważniejsze cechy to łatwość tworzenia, ortogonalność, spójność, zwięzłość, nowoczesne funkcje interfejsu GUI, ikony i obrazy, podpowiedzi, pomoc dotycząca linii statusu, pływające paski narzędzi, tabulatory, a także listy drzew.
widżety interfejsu wielu dokumentów (MDI), widżety 3D OpenGL, przeciąganie i upuszczanie, selekcja, obsługa schowka, timery, przetwarzanie w trybie bezczynności, renderowanie WYSIWYG, aktualizacja GUI, bazowanie na celu / wiadomości.
Zestaw narzędzi jest obsługiwany w każdym systemie operacyjnym opartym na jądrze systemu Linux. Został pomyślnie przetestowany na komputerach obsługujących jedną z 32-bitowych lub 64-bitowych architektur zestawów instrukcji.
Pierwsze kroki z FOX
FOX można łatwo zainstalować na dowolnej dystrybucji GNU / Linux z głównych repozytoriów oprogramowania, poprzez wbudowany menedżer pakietów. Można go również zainstalować przy użyciu pakietu źródłowego, tak jak każdy inny program.
Pobierz najnowszą stabilną wersję z Softoware, używając dedykowanego przycisku pobierania powyżej, zapisz archiwum w swoim katalogu domowym i wyodrębnij jego zawartość za pomocą dowolnego narzędzia do zarządzania archiwami.
Otwórz aplikację Terminal, przejdź do lokalizacji, w której wyodrębniono plik archiwum (na przykład cd /home/softoware/fox-1.6.49) i uruchom plik & lsquo ;// configure & amp; & r; make & rsquo; polecenie, aby skonfigurować i skompilować program.
Zainstaluj system FOX, uruchamiając & bsquo; make install & rsquo; polecenie jako root lub polecenie & lsquo; sudo make install & rsquo; polecenie jako uprzywilejowany użytkownik. Po instalacji uruchom & lsquo; fox - help & rsquo; lub & quot; man fox & rsquo; polecenie, aby nauczyć się korzystać z zestawu narzędzi do tworzenia graficznych interfejsów użytkownika dla twoich projektów.
Co nowego w tej wersji:
- Przełączono FXDir, aby używał readdir () zamiast teraz-wycofanego readdir_r (). Podobno teraz wątki bezpieczne.
- Niektóre usprawnienia wewnętrzne w FXRex.
- W FXText powielona linia pozostawia kursor w miejscu, ale podświetla nową linię (jeśli duplikujesz jedną za dużo, możesz od razu usunąć ją ponownie).
- Dodaj komunikaty pomocy do okna dialogowego Preferencje PathFindera.
- Dodaj funkcje columnFromPos () i posFromColumn () w FXText.
- Naprawiono błąd w FXText, który nie przeliczał szerokości, jeśli obecny był tylko jeden wiersz (ostatnio wprowadzono).
- Odwrotny algorytm FXRex nie działał w trybie dosłownym; to teraz.
- Usunięto pewne ograniczenia algorytmu regex-reversal FXRex.
- Przerobiona przez Adie korekta wprowadziła kilka błędów; jest teraz ustalony.
- Dodano nowe wygodne interfejsy API do przestrzeni nazw Math.
- Dodano nowe API do klas wektorowych.
- Wybieranie bloku FXText, blokowanie kopiowania do schowka i blokowanie teraz działają.
- FXText shiftText () miał drobne problemy z przesuwaniem tekstu zawierającego tabulatory; zostało to potraktowane w bardzo wyrafinowany sposób, wewnętrzną procedurę, która jest również potrzebna do operacji blokowych.
Co nowego w wersji:
- Poważne zmiany w silniku wyrażeń regularnych. Nowe API amatch () dla zakotwiczonego dopasowania i nowe wyszukiwanie API, które zastępuje match (). Bardziej sensowna kolejność parametrów i przeniesienie niektórych flag z czasu wykonywania do czasu kompilacji.
- Elementy wewnętrzne FXRex są teraz gotowe do dopasowania do UTF8; jednak część do analizowania będzie musiała zostać zastosowana zanim te nowe możliwości będą mogły zostać użyte.
- FXRex :: substitute () teraz interpretuje zwykłe sekwencje specjalne podczas tworzenia wzorca zastępczego z przechwytywania z dopasowaniem wyrażenia regularnego.
- Przyspieszenie w FXText getByte (), getChar (), itp. poprzez wprowadzenie bezkolizyjnej obsługi dostępu do buforów z przerwami.
- Przeniesiono wyszukiwanie i zastępujemy dialogi z FXText i edytora tekstowego Adie; jest to część odchudzonego programu do odchudzania efektów FXText.
- Edytor tekstu Adie pozwala wyszukiwać i zamieniać ulepszenia. Zasadniczo, stream-lines użyteczność myszy.
- Pasek przyrostowy Adie pojawia się teraz u dołu okna. Jest to znacznie mniej uciążliwe, ponieważ tekst nie zostaje "zepchnięty" w dół. kiedy ten pasek narzędzi wyskoczy.
- Funkcja find () FXHash zwraca teraz indeks szczeliny lub -1, jeśli nie zostanie znaleziony. Jeśli używasz FXHash, powinieneś wiedzieć, że samo zastąpienie find () przez at () naprawi twój kod w nowym systemie. Zostało to zrobione na podstawie żądania użytkownika, który zauważył, że funkcja find () w FXHash zachowuje się inaczej niż find () w FXDictionary.
- Usuń początkowe i końcowe spacje z ekranu w menu zakładek Adie.
- Dodano stałą deklarację ParallelMax dla FXParallelFor.
- Zmień na FXText findText () API. Nowa wersja może wykonywać nie tylko przewijanie do przodu i do tyłu, ale także zakotwiczone dopasowanie. Zakotwiczone dopasowanie zostanie wykonane, jeśli nie zostaną przekazane żadne flagi SEARCH_FORWARD lub SEARCH_BACKWARD.
- Okno dialogowe Przejdź do linii przeniesione z edytora tekstów FXText do Adie (również część programu odchudzania widżetów FXText).
- Okno dialogowe Adie Replace ma teraz przycisk wyszukiwania.
- Polecenie Wymień okno dialogowe Funkcja Zastąp teraz sprawdza najpierw, czy aktualnie zaznaczony tekst jest wyszukiwany, i szuka tylko dalej, jeśli nie jest. Ta logika zastąpi więc podświetloną selekcję i sprawi, że będzie mniej prawdopodobne, że przypadkowo "pominiesz". pierwszy element w sesji wyszukiwania i zamiany.
- Ponadto okna dialogowe Wyszukaj i zamień pozostają otwarte aż do zamknięcia jawnego. Często było tak, że pierwsze wyszukiwanie nie zawsze było pożądane, i trzeba było po raz drugi wywołać okno dialogowe. Zauważ, że Escape ukrywa okno dialogowe, więc nie jest wymagana interakcja z myszą dla "Zaawansowanych użytkowników".
- Okno dialogowe Wyszukaj i zamień może teraz zastąpić tylko w zaznaczonym tekście.
- Niektóre uaktualnienia wzorców językowych w pliku kolorowania składni Adie.
- Wzory kolorów CMake zostały dodane do pliku składni.
- Dodano nowe tryby dopasowań do FXRex: Exact i NotEmpty. Tryb dokładny kończy się sukcesem tylko wtedy, gdy pomyślny mecz zjada cały ciąg. Tryb NotEmpty kończy się sukcesem tylko wtedy, gdy mecz zjada co najmniej jeden znak. Zauważ, że są to flagi czasu kompilacji i zaimplementowane przez specjalne znaczniki w dopasowanym silniku. W związku z tym silnik potencjalnie wycofa wcześniejsze dopasowania, aby wypróbować inne możliwości!
- Mechanizm dopasowywania wyrażenia regularnego przyspieszył, usprawniając konfigurację matchera wewnętrznie; dotyczy to w szczególności search ().
- Naprawiono błąd w FXHash :: at ().
- Wyeliminowano rekursję w prostym mechanizmie dopasowywania w FXRex.
- Dodano poręczne isNull (), isBool (), itp. API do FXVariant.
- Zrobił zmieniające interfejs API wirtualne w FXText, dla podklasy.
Co nowego w wersji 1.7.44:
- Zaktualizowana notacja obiektu JavaScript FXJSON I / Klasa O: - usunięto ograniczenia wielkości tokena w operacjach wejścia i wyjścia (wcześniej ograniczone do rozmiaru bufora).
- Niewielkie zmiany w FXVariant: - dodano brakujące API, usunięte doChar () jako bezużyteczne. Dodano has (), aby określić, czy klucz jest obecny w przypadku, gdy FXVariant jest mapą.
- Uproszczone FXFile i inne podklasy FXIO nieco, aby usunąć nadmiarowe implementacje.
- Dodano FXIOBuffer, urządzenie FXIO, które serializuje do / z bufora pamięci.
- FXRanged, FXRangef: teraz sprawdź nieco wyniki intersect ().
- Ray do FXSpheref, test FXSphered przecięcia został zmieniony, aby umożliwić pochodzenie wewnątrz sfery.
- Naprawiono mały błąd w wc2nc ().
- Naprawiono przepełnienie bufora w FXDir.
- Dodano klasę FXStringMap.
- Zmieniono niektóre interfejsy API w FXDictionary. Dodano funkcję kasowania (), która umożliwia usunięcie już zlokalizowanego gniazda. Jest to szybsze i potrzebne do udanej podklasy.
- Naprawiono problem FXStat w systemie Windows.
Co nowego w wersji 1.6.49:
- Sprawdź indeks poza granicami w FXTabBook :: setCurrent ().
Co nowego w wersji 1.7.33:
- Problem z kompozycją podtrzymującą format OpenGL w formacie Windows 7 jest ważony, dlatego wybiera tryb kompozycji preferencyjnie. To sprawia, że jest mniej prawdopodobne, że obraz będzie pasował do formatów pikseli nieobsługujących formatu Aero.
- Naprawiono zapis / ładowanie obrazu TIFF.
- Naprawiono quaternion arc () dla wektorów oddalonych o 180 stopni.
- Niektóre ulepszenia w FXAtomic: bardziej optymalny kod dla kompilacji non-PIC; również, sprawdź PIE (niezależny od pozycji wykonywalnej).
- Naprawiono problem w FXRex dotyczący znaków spoza ASCII.
- Naprawiono uszkodzone wzorce składni w pliku składni Adie.stx.
- Dodano API SSE-ified lerp () do klas wektorowych.
- Naprawiono problem braku wyrównania SSE w FXMat4d; wystawił się na systemy 32-bitowe.
- Naprawiono błąd Setjmp () / longjmp () w pliku fxpngio.cpp.
- Operator FXbool w FXAutoPtr i FXRefPtr ingerował w operatorów porównania; usunięto.
- Dodano API do klas FXMat4.
- Dodano możliwość serializacji do klasy FXExpression.
Co nowego w wersji 1.7.30:
- Znacznie rozszerzony dokument kodowy dla widżetu FXText.
- Udoskonalony analizator składni dla edytora tekstu Adie.
- FXFileList wywołuje teraz właściwe wywołania zwrotne, gdy pliki lub katalogi są zmieniane na dysku, podczas gdy FXFileList je wyświetla.
- FXFileSelector umieszcza FXFileList w trybie ICONLIST_SINGLESELECT, gdy aktywny jest tryb SELECTFILE_ANY. Jest tak, jak powinno, ponieważ użytkownik może wpisać nazwę pliku, która jeszcze nie istnieje.
- Kilka niepotrzebnych skanów katalogów zostało wyeliminowanych po pierwszym pojawieniu się FXFileDialog. To sprawia, że FXFileDialog jest znacznie szybszy niż wcześniej.
- Reguły składni Pythona zostały zaktualizowane w Adie.stx.
- Dodano reguły kolorowania dla konfliktów scalających dla C, C ++ i kilku innych języków do Adie.stx.
- Naprawiono błędy w Adie.stx oznaczone teraz przez bardziej rygorystyczny analizator składni.
- Non-recursive forceRefresh () w FXWindow.
- FXIconList generuje SEL_DELETED, SEL_INSERTED zamiast SEL_REPLACED. Te callbacki są bardziej przydatne.
- PathFinder wyświetla przydatne informacje w linii statusu.
- Teraz można zmienić uprawnienia wielu plików z panelu właściwości PathFinder.
- PathFinder może teraz zmieniać powiązania plików i przypisania ikon, podobnie jak ControlPanel. Na razie działają one tylko w PathFinderze, ale to powinno się zmienić w przyszłości.
- Naprawiono błąd Typo w FXComplexd.
- Obejścia dla statystyk dysku dla MacOSX i innych Uniksów nie-Linuxowych.
- Naprawiono błąd w kodzie SSE2 FXMat3d. Używał dostępu z wyrównaniem.
- Elementy FXFileList i FXDirList rejestrują bity trybu. To naprawdę trochę upraszcza.
- Skanowanie bezużytecznych katalogów zostało wyeliminowane, gdy zmieniono funkcję sortowania w FXFilelist i FXDirList.
- Problem SEL_CHANGED, jeśli bieżący element został zamieniony w FXIconList, FXList itp.
- Adie pamięta, czy składnia pliku bez rozszerzenia została zmieniona ręcznie; następnym razem, gdy załadowany zostanie ten sam plik, składnia zostanie przywrócona poprawnie.
- Naprawiono pierwszy błąd w ControlPanel; rzadko, problem występuje tylko wtedy, gdy ControlPanel jest uruchamiany po raz pierwszy i nie ma jeszcze rejestru na dysku.
- Opcja dodana do narzędzia PathFinder w celu skalowania obrazu do dostępnego miejsca podczas korzystania z wewnętrznej przeglądarki zdjęć.
- Klucz dostawcy w konstruktorze FXApp jest teraz domyślnie FXString :: null. Jest to bardziej powszechny wzorzec użycia.
- Opcja dodana do narzędzia PathFinder w celu kontrolowania przestrzeni plików i określania wyświetlania kolumn z automatycznym rozmiarem.
- Pogrubione, przekreślone, podkreślone flagi stylów zapisane w Adie.
- Nowa reguła reguły składni w Adie.stx: dopasowywanie wszystkich elementów "tła" reguła. Kiedy go użyjesz, możesz pokolorować cały tekst, który nie jest zgodny z normalnymi regułami, jako nadpisanie do domyślnych kolorów używanych przez edytor Adie.
Co nowego w wersji 1.7.25:
- Zmiana w pliku configure.ac w celu sprawdzenia plików nagłówkowych intrinsics ze zmodyfikowanymi flagami kompilatora; Pliki nagłówkowe nie są kompilowane z opcjami domyślnymi.
- Zaktualizowano pliki MakeFile Borland C ++.
- Zaktualizuj pliki projektu Visual Studio 6 z brakującymi nagłówkami.
- Małe poprawki w FXAutoPtr.h.
- Zmień niektóre wbudowane interfejsy API FXProgressDialog na nieinlizyjne.
Komentarze nie znaleziono