FOX означає Free Objects для X, і це програма з відкритим кодом, що реалізується на C ++ і розроблена з нуля для використання для побудови графічних інтерфейсів користувача (GUI) для програмних проектів.
Він був розроблений для Linux, але масштаби цього проекту з часом стають дещо більш амбіційними, оскільки зараз він прагне бути повністю незалежним від платформи. Тому програми, написані бібліотекою FOX, будуть сумісні тільки з широким колом платформ.
Особливості з першого погляду
Основні функції включають легкість розробки, ортогональність, послідовність, стислість, сучасні графічні функції, значки та зображення, підказки, довідка про статусну лінію, плаваючі панелі інструментів, вкладки, а також списки дерев.
віджети для декількох інтерфейсів документів (MDI), віджети 3D OpenGL, перетягування, вибір, підтримка буфера обміну, таймери, обробка простою, візуалізація WYSIWYG, оновлення GUI, цільове / повідомлення на основі.
Набір інструментів підтримується на будь-якій операційній системі на базі ядра Linux. Він успішно пройшов тестування на комп'ютерах, що підтримують будь-які 32-бітні або 64-бітні архітектури набору команд.
Початок роботи з FOX
FOX можна легко встановити на будь-якому дистрибутиві GNU / Linux з основних сховищ програм через вбудований менеджер пакетів. Він також може бути встановлений за допомогою вихідного пакета, як і будь-яка інша програма.
Завантажте останню стабільну версію з Softoware, використовуючи спеціальну кнопку завантаження вище, збережіть архів у домашньому каталозі та витягніть її вміст за допомогою будь-якої утиліти архіву.
Відкрийте додаток терміналу, перейдіть до місця, де ви витягли архівний файл (наприклад, cd /home/softoware/fox-1.6.49) і запустіть & lsquo; ./ configure & amp; зробити & rsquo; команду для налаштування та компіляції програми.
Встановіть систему FOX широко, запустивши & lsquo; встановити & rsquo; команда як root або "sudo make install & rsquo; команда як привілейований користувач. Після встановлення запустіть & lsquo; fox --help & rsquo; або "Людина-лисиця" команда, щоб дізнатись, як використовувати набір інструментів для створення графічних користувацьких інтерфейсів для ваших програмних проектів.
Що нового в цьому випуску:
- Переключено FXDir для використання readdir () замість застарілого readdir_r (). Схоже, тепер це безпечно.
- Деякі внутрішні упорядкування в FXRex.
- У FXText дублікат лінії залишає курсор на місці, але висвітлює нову лінію (якщо ви дублюєте когось забагато, ви можете негайно його знову видалити).
- Додайте кілька довідкових повідомлень для діалогового вікна налаштування PathFinder.
- Додайте функції функції columnFromPos () та posFromColumn () у FXText.
- Виправлена помилка в FXText, не перераховуючи ширину, якщо присутня лише одна лінія (була введена нещодавно).
- зворотний алгоритм FXRex не працював у вербальному режимі; це зараз.
- Деякі обмеження на алгоритм зміни зворотного виразу FXRex видалено.
- Відкрита вибрана робота Adie представила деякі помилки; фіксується зараз.
- Додано нові зручні API для простору імен Math.
- Додано нові API до векторних класів.
- Виділіть блок FXText, заблокуйте копію в буфер обміну, а тепер блокувати видалення.
- FXText shiftText () мав незначне зміщення тексту, який містив зміст, що містять вкладки; це було вирішено дуже складним способом, внутрішньою процедурою, яка також потрібна для блочних операцій.
Що нового в версії:
- Основні зміни в механізмі регулярного виразу. Новий атрибут API () для анкерованого збігу та новий пошук API, який замінює match (). Більш чутливий порядок параметрів та переміщення деяких прапорів з часу виконання до складання часу.
- Внутрішні частини FXRex тепер готові до узгодження з UTF8; однак, для того, щоб ці нові можливості могли бути використані, слід буде дотримуватися аналізу.
- FXRex :: replace () тепер інтерпретує звичайні евакуаційні послідовності при створенні шаблону заміни зі знімкам відповідності регулярного виразу.
- Підвищення швидкості в FXText getByte (), getChar (), і т. д. шляхом впровадження вільної обробки доступу gapped-buffer.
- Переміщено жорсткий проводний пошук та заміна діалогів з FXText і в текстовий редактор Adie; це частина слабкої програми віджету FXText.
- Текстовий редактор Adie шукає та замінює вдосконалення. В основному, поточні лінії практично не використовують миші.
- Початковий рядок пошуку Adie з'явиться внизу вікна. Це набагато менш руйнівним, оскільки текст не "натиснуто" & quot; коли ця панель інструментів спливає.
- Функція FXHash find () тепер повертає індекс слотів, або -1, якщо не знайдено. Якщо ви використовуєте FXHash, слід пам'ятати, що просто заміна find () на at () виправлятиме ваш код у новій системі. Це було зроблено на основі запиту користувача, який зазначив, що API у find () у FXHash відрізнявся від find () у FXDictionary.
- Відображати область відображення в меню закладок Adie у провідному і кінцевому просторі.
- Додана константа ParallelMax для FXParallelFor.
- Змінити на API FXText findText (). Нова версія може виконувати не тільки прямий та зворотний пошук, але і прив'язку до матчу. Закріплений матч виконується, якщо не передається прапори SEARCH_FORWARD або SEARCH_BACKWARD.
- Діалог Goto Line переміщений з FXText до власного текстового редактора Adie (також частина програми зменшення віджету FXText).
- Діалог Adie Replace тепер має кнопку пошуку.
- Функція заміни діалогового вікна заміни Adie спочатку перевіряє, чи поточний виділений текст є тим, який шукається, і шукатиметься лише в подальшому, якщо це не так. Тому ця логіка замінить вже виділений вибір і зменшує ймовірність того, що ви випадково "пропустите" & quot; перший елемент у сеансі пошуку та заміни.
- Крім того, діалогове вікно пошуку та заміни залишатиметься до явного закриття. Часто це було так, що перший пошук не завжди був потрібним, і другий раз довелося виводити діалог. Зверніть увагу, що Escape приховує діалогове вікно, тому для "Power Users" не потрібно взаємодіяти з мишею.
- Діалогове вікно пошуку та заміни тепер може замінити лише вибраний текст.
- Деякі оновлені шаблони мовлення в файлі розфарбування синтаксису Adie.
- Шаблони розфарбування CMake додаються до файлу синтаксису.
- Нові режими збігів, додані до FXRex: Точні та NotEmpty. Режим "Точний" буде успішним лише тоді, коли успішний матч поєднує весь рядок. Режим NotEmpty виконується успішно лише в тому випадку, якщо відповідність з'єднує принаймні один символ. Зверніть увагу, що це комбінація часових прапорів, і здійснюється за допомогою спеціальних тверджень у відповідному двигуні. Таким чином, двигун, можливо, відмовиться від попередніх матчів, щоб випробувати інші можливості!
- Потужний движок з регулярним вираженням пришвидшений шляхом оптимізації внутрішнього встановлення matcher-set; це особливо впливає на пошук ().
- Виправлена помилка в FXHash :: at ().
- Ліквідація рекурсії в простому присвійному матчі в FXRex
- Додано зручні API-файли isNull (), isBool () та ін. для FXVariant.
- Виконано віртуальні API-інтерфейси вибору в FXText для підкласу. Що нового в версії 1.7.44:
- Оновлено FXJSON JavaScript Object Notation I / O class: - вилучено обмеження розміру токену як вхідних, так і вихідних операцій (раніше вони обмежувались розміром буфера).
- Незначні зміни до FXVariant: - додали деякі недоступні API, видалені наChar () як марні. Додано має (), щоб визначити наявність ключа у випадку, якщо FXVariant є картою.
- Спрощений FXFile та інші підкласи FXIO, трохи для видалення надлишкових реалізацій.
- Додано FXIOBuffer - це пристрій FXIO, який серіалізується в / з буфера пам'яті.
- FXRanged, FXRangef: тепер перевірте результати intersect () трохи по-різному.
- Промінь у FXSpheref, тест перетину FXSphered змінено, щоб дозволити походження всередині сфери.
- Виправлена невелика помилка у wc2nc ().
- Можливе перевищення буферу в FXDir.
- Додано клас FXStringMap.
- Змінено деякі API у FXDictionary. Додано стирати () API, щоб дозволити видалення вже розташованих слотів. Це швидше і необхідне для успішного підкласу.
- Проблема FXStat виправлена в Windows.
- Перевірте індекс за межами FXTabBook :: setCurrent ().
- Проблема з форматом пікселів у форматі Windows7, що підтримує формат OpenGL, важче, зважаючи на це. Це зменшує вірогідність того, що візуальне зображення буде відповідати форматам пікселів, не підтримуючи Aero.
- Виправлено збереження / завантаження зображення TIFF.
- Виправлена кватерніонна дуга () для векторів, що перебувають на відстані 180 градусів.
- Деякі налаштування в FXAtomic: більш оптимальний код для компіляцій без ПІК; Крім того, перевірте наявність PIE (незалежний виконуваний файл).
- Виправлена проблема в FXRex щодо символів не ASCII.
- Відновлено деякі шаблонні синтаксичні шаблони у файлі синтаксису Adie.stx.
- SSE-inied lerp () API додано до векторних класів.
- Виправлена неполадка SSE у магазині в FXMat4d; виставлений на 32-розрядних системах.
- Setjmp () / longjmp () проблема виправлена в fxpngio.cpp.
- Оператор FXbool в FXAutoPtr та FXRefPtr заважав операторам порівняння; вилучив його.
- Додано API до класів FXMat4.
- Можливість додавання серіалізації до класу FXExpression.
- Досить розширені кодові документи для віджета FXText.
- Покращений синтаксичний аналізатор текстового редактора Adie.
- Тепер FXFileList видає правильні зворотні виклики, коли файли або каталоги змінюються на диску, коли FXFileList відображає їх.
- FXFileSelector поміщає FXFileList в режим ICONLIST_SINGLESELECT, коли ввімкнено режим SELECTFILE_ANY. Це так, як це повинно бути, оскільки користувач може набрати ім'я файлу, яке ще не існує.
- Коли FXFileDialog вперше з'явиться, було видалено кілька непотрібних сканування каталогів. Це робить FXFileDialog набагато швидшим, ніж це було раніше.
- Правила синтаксису Python оновлені в Adie.stx.
- До Adie.stx додали правила колірного коду для конфліктів злиття для C, C ++ та декількох інших мов.
- Виправлені помилки в Adie.stx, які зараз позначено жорсткішим синтаксичним аналізатором.
- Нерекурсивний forceRefresh () у FXWindow.
- FXIconList генерує SEL_DELETED, SEL_INSERTED замість SEL_REPLACED. Ці зворотні запити є більш корисними.
- PathFinder показує корисну інформацію в рядку стану
- Тепер можна змінювати дозволи кількох файлів на панелі властивостей PathFinder.
- PathFinder тепер може змінювати файлові асоціації та призначення значків, як і ControlPanel. Наразі вони мають ефект лише в PathFinder, але це має змінюватися в майбутньому.
- Типо в FXComplexd виправлено.
- Різноманітні підходи для стану диска для MacOSX та інших нелінійних Unice
- Виправлена помилка в коді SSE2 FXMat3d. Використовував вирівняний доступ.
- Файли FXFileList та FXDirList стежать за бітками режиму. Це дійсно спрощує речі трохи.
- Неможливо видалити rescan каталогу, коли функція сортування змінюється у списку FXFile і FXDirList.
- Випуск SEL_CHANGED, якщо поточний елемент замінено в FXIconList, FXList та ін
- Адрі пам'ятає, чи було змінено синтаксис синтаксису без розширення; наступного разу той самий файл буде завантажений, синтаксис буде відновлено належним чином.
- Виправлено первинну помилку в ControlPanel; рідко виникає лише проблема ControlPanel проходить перший раз, і на диску ще немає реєстру.
- Параметр додано в PathFinder для масштабування зображення у вільному просторі при використанні внутрішнього переглядача зображень.
- Ключ постачальника в конструкторі FXApp тепер за замовчуванням використовує FXString :: null. Це найпоширеніша схема використання.
- Додано параметр до PathFinder для управління простором файлу-елемента та відображенням автоматичного розміру стовпців.
- Сміливий, перекреслений, підкреслите прапори стилю, збережені в Adie.
- Новий параметр правил синтаксису в Adie.stx: всі відповідності & quot; фон & quot; правити Коли використовується, ви можете розфарбувати весь текст, який не співпадає із звичайними правилами, як перевизначити кольори за замовчуванням, що використовуються редактором Adie.
- Змініть параметр configure.ac для перевірки файлів заголовків intrinsics з модифікованими прапорами компілятора; Файли заголовків не підлягають комбінації з параметрами за замовчуванням.
- Оновлені файли Borland C ++.
- Оновити файли проекту Visual Studio 6 із відсутніми заголовками.
- Невеликі виправлення в FXAutoPtr.h.
- Змініть деякі вбудовані API FXProgressDialog на нелінійні.
Що нового в версії 1.6.49:
Що нового у версії 1.7.33:
Що нового у версії 1.7.30:
Що нового в версії 1.7.25:
Коментар не знайдено