FOX significa Free Objects for X y es un programa de código abierto implementado en C ++ y diseñado desde cero para ser utilizado para construir interfaces gráficas de usuario (GUI) para proyectos de software.
Fue desarrollado para Linux, pero el alcance de este proyecto se ha convertido, con el tiempo, en algo más ambicioso, ya que ahora pretende ser completamente independiente de la plataforma. Por lo tanto, los programas escritos con la biblioteca FOX solo serán compatibles con una amplia gama de plataformas.
Características de un vistazo
Las características clave incluyen facilidad de desarrollo, ortogonalidad, consistencia, concisión, funciones modernas de GUI, iconos e imágenes, información sobre herramientas, ayuda de línea de estado, barras de herramientas flotantes, libretas de pestañas, así como listas de árbol.
widgets de interfaz de múltiples documentos (MDI), widgets 3D OpenGL, arrastrar y soltar, selección, compatibilidad con el portapapeles, temporizadores, procesamiento inactivo, representación WYSIWYG, actualización de GUI, basado en objetivo / mensaje.
El kit de herramientas es compatible con cualquier sistema operativo Linux basado en kernel. Se ha probado con éxito con computadoras compatibles con cualquiera de las arquitecturas de conjuntos de instrucciones de 32 o 64 bits.
Comenzando con FOX
FOX se puede instalar fácilmente en cualquier distribución de GNU / Linux desde los repositorios de software principales, a través del administrador de paquetes incorporado. También se puede instalar utilizando el paquete fuente, al igual que cualquier otro programa.
Descargue la última versión estable de Softoware utilizando el botón de descarga dedicado anterior, guarde el archivo en su directorio de inicio y extraiga su contenido usando cualquier utilidad de administrador de archivos.
Abra una aplicación de Terminal, navegue hasta la ubicación donde ha extraído el archivo (por ejemplo, cd /home/softoware/fox-1.6.49) y ejecute & lsquo; ./ configure & amp; & amp; hacer y rsquo; comando para configurar y compilar el programa.
Instala el sistema FOX de ancho ejecutando & lsquo; make install & rsquo; comando como root o el & lsquo; sudo make install & rsquo; comando como un usuario privilegiado. Después de la instalación, ejecuta el & lsquo; zorro --ayuda y rsquo; o & lsquo; hombre zorro y rsquo; comando para aprender a usar el kit de herramientas para crear interfaces gráficas de usuario para sus proyectos de software.
Qué hay de nuevo en este lanzamiento:
- Cambió FXDir para usar readdir () en lugar de readdir_r () ahora en desuso. Supuestamente ahora es seguro para subprocesos.
- Algunos ajustes internos en FXRex.
- En FXText, la línea duplicada deja el cursor en su lugar, pero resalta la nueva línea (si duplica una más, puede, por lo tanto, eliminarla de inmediato).
- Agregue algunos mensajes de ayuda para el diálogo de Preferencias de PathFinder.
- Agrega las funciones columnFromPos () y posFromColumn () en FXText.
- Error reparado en FXText que no recalcula el ancho si solo hay una línea presente (se introdujo recientemente).
- El algoritmo inverso FXRex no funcionaba para el modo literal; lo hace ahora.
- Se eliminaron algunas limitaciones del algoritmo FXRex de reversión de la expresión regex.
- la repetición de Adie open-selected había introducido algunos errores; está arreglado ahora.
- Se agregaron nuevas API convenientes al espacio de nombres matemáticos.
- Se agregaron nuevas API a las clases vectoriales.
- Selección de bloque de FXText, bloquear copia en el portapapeles y bloquear eliminar ahora funciona.
- FXText shiftText () tenía un problema menor al desplazar texto que contenía pestañas; esto se ha tratado de una manera muy sofisticada, una rutina interna que también es necesaria para operaciones de bloque.
Qué hay de nuevo en la versión:
- Cambios importantes en el motor de expresiones regulares. Nueva API amatch () para concordancia anclado y nueva búsqueda de API que reemplaza a match (). Orden de parámetros más sensato y movido algunos indicadores del tiempo de ejecución al tiempo de compilación.
- Los componentes internos de FXRex ahora están listos para la coincidencia UTF8; sin embargo, la parte de análisis tendrá que seguir antes de que estas nuevas capacidades puedan ponerse en uso.
- FXRex :: substitute () ahora interpreta las secuencias de escape habituales al crear un patrón de reemplazo a partir de capturas de coincidencias de expresiones regulares.
- Agilización en FXText getByte (), getChar (), etc. mediante la introducción de un manejo sin ramificaciones de los accesos de memoria intermedia.
- Se movió la búsqueda por cable y se reemplazaron los diálogos de FXText y en el editor de texto de Adie; esto es parte del programa de adelgazamiento de widget FXText.
- Adie text editor busca y reemplaza las mejoras. Básicamente, racionaliza el uso de mouse-free.
- La barra de búsqueda incremental de Adie ahora aparece en la parte inferior de la ventana. Esto es mucho menos molesto ya que el texto no se "empuja hacia abajo" & quot; cuando aparece esta barra de herramientas.
- La rutina FXHash find () ahora devuelve el índice de ranura, o -1 si no se encuentra. Si usa FXHash, debe tener en cuenta que simplemente reemplazar find () por at () corregirá su código en el nuevo sistema. Esto se hizo en función de la solicitud de un usuario que señaló que la API find () en FXHash se comportó de manera diferente a la de find () en FXDictionary.
- Elimina el espacio inicial y final de la pantalla en el menú de marcadores de Adie.
- Declaración constante constante ParallelMax para FXParallelFor.
- Cambiar a FXText findText () API. La nueva versión puede realizar no solo búsqueda hacia adelante y hacia atrás, sino también una coincidencia anclada. La coincidencia anclado se realiza si no se pasan los indicadores SEARCH_FORWARD o SEARCH_BACKWARD.
- El cuadro de diálogo Ir a línea se movió de FXText al editor de texto de Adie adecuado (también forma parte del programa de adelgazamiento de widget FXText).
- Adie Replace Dialog ahora tiene el botón Buscar.
- La función Reemplazar el cuadro de diálogo Reemplazar de Adie ahora primero comprueba si el texto resaltado actual es el que se está buscando, y solo busca más si no lo está. Esta lógica, por lo tanto, reemplazará la selección ya resaltada y hará que sea menos probable que accidentalmente & quot; omitir & quot; el primer elemento en una sesión de búsqueda y reemplazo.
- Además, los cuadros de diálogo Buscar y Reemplazar permanecen hasta que se cierran de manera explícita. A menudo sucedía que la primera búsqueda no siempre era la deseada, y uno tenía que plantear el diálogo por segunda vez. Tenga en cuenta que Escape oculta el cuadro de diálogo, por lo que no se requiere ninguna interacción con el mouse para & quot; Usuarios avanzados & quot;.
- El cuadro de diálogo Buscar y Reemplazar ahora puede reemplazar solo dentro del texto seleccionado.
- Algunas actualizaciones de patrones de idioma en el archivo de coloreado de sintaxis de Adie.
- CMake colorea patrones agregados al archivo de sintaxis.
- Nuevos modos de coincidencia añadidos a FXRex: Exact y NotEmpty. El modo Exacto tiene éxito solo si una partida exitosa se come toda la cadena. El modo NotEmpty solo tiene éxito si el partido come al menos un personaje. Tenga en cuenta que estos son indicadores de tiempo de compilación e implementados a través de afirmaciones especiales en el motor de coincidencia. Por lo tanto, ¡el motor potencialmente retrocederá a las coincidencias anteriores para probar otras posibilidades!
- El motor de coincidencia de expresiones regulares se aceleró agilizando la configuración de matcher internamente; esto afecta particularmente la búsqueda ().
- Error reparado en FXHash :: at ().
- Recursión eliminada en coincidencia posesiva simple en FXRex.
- Se agregaron las útiles API isNull (), isBool (), etc. a FXVariant.
- Hizo que las API de cambio de selección fueran virtuales en FXText, para crear subclases.
¿Qué hay de nuevo en la versión 1.7.44:
- Notación de objetos de JavaScript FXJSON actualizada I / Clase O: - Se eliminaron los límites del tamaño del token en las operaciones de entrada y salida (anteriormente limitadas al tamaño del búfer).
- Cambios menores a FXVariant: - Agregó algunas API faltantes, eliminó toChar () como inútil. Se agregó has () para determinar si la clave está presente en caso de que FXVariant sea un mapa.
- Simplifica FXFile y otras subclases FXIO un poco para eliminar implementaciones redundantes.
- Se agregó FXIOBuffer, un dispositivo FXIO que se serializa a / desde un búfer de memoria.
- FXRanged, FXRangef: ahora revisa los resultados de intersect () de forma un poco diferente.
- Rayo a FXSpheref, la prueba de intersección FXSphered cambió para permitir el origen dentro de la posibilidad de esfera.
- Se corrigió un pequeño error en wc2nc ().
- Posible desbordamiento de búfer en FXDir corregido.
- Se agregó la clase FXStringMap.
- Cambió algunas API en FXDictionary. Se agregó la API erase () para permitir la eliminación de la ranura ya ubicada. Esto es más rápido y necesario para una subclasificación exitosa.
- Problema de FXStat corregido en Windows.
Qué hay de nuevo en la versión 1.6.49:
- Verifique el índice fuera de límites en FXTabBook :: setCurrent ().
Qué hay de nuevo en la versión 1.7.33:
- Problema con Windows7 La composición de soporte para el formato de píxel OpenGL pesa más, por lo que elige el modo de composición de forma preferente. Esto hace que sea menos probable que el visual coincida con los formatos de píxel no compatibles con Aero.
- Imagen fija TIFF guardar / cargar.
- Se corrigió el arco de cuaternión () para vectores que están separados 180 grados.
- Algunos ajustes en FXAtomic: código más óptimo para compilaciones que no sean PIC; también, verifique PIE (ejecutable independiente de posición).
- Problema resuelto en FXRex con respecto a caracteres que no son ASCII.
- Reparó algunos patrones de sintaxis rotos en el archivo de sintaxis Adie.stx.
- API SSE-ified lerp () agregada a las clases vectoriales.
- Solucionado el problema de tienda desalineada de SSE en FXMat4d; se exhibió en sistemas de 32 bits.
- Problema de Setjmp () / longjmp () corregido en fxpngio.cpp.
- El operador FXbool en FXAutoPtr y FXRefPtr interfirió con los operadores de comparación; lo eliminó.
- Se agregaron API a las clases de FXMat4.
- Se agregó la capacidad de serialización a la clase FXExpression.
Qué hay de nuevo en la versión 1.7.30:
- Documentos de código enormemente expandidos para el widget FXText.
- Analizador de sintaxis mejorado para el editor de texto de Adie.
- FXFileList ahora emite una devolución de llamada adecuada cuando los archivos o directorios se cambian en el disco mientras FXFileList los muestra.
- FXFileSelector pone FXFileList en el modo ICONLIST_SINGLESELECT cuando el modo SELECTFILE_ANY está en efecto. Esto es como debe ser, ya que el usuario puede escribir un nombre de archivo que aún no existe.
- Se han eliminado varios escaneos de directorios innecesarios cuando FXFileDialog aparece por primera vez. Esto hace que FXFileDialog sea mucho más rápido de lo que era antes.
- Reglas de sintaxis de Python actualizadas en Adie.stx.
- Se agregaron reglas de colores para conflictos de combinación para C, C ++ y algunos otros idiomas a Adie.stx.
- Se corrigieron los errores en Adie.stx ahora marcados por el analizador de sintaxis más estricto.
- ForceRefresh no recursivo () en FXWindow.
- FXIconList genera SEL_DELETED, SEL_INSERTED en lugar de SEL_REPLACED. Estas devoluciones de llamada son más útiles.
- PathFinder muestra información útil en su línea de estado.
- Ahora puede cambiar los permisos de varios archivos del panel de propiedades de PathFinder.
- PathFinder ahora puede cambiar las asociaciones de archivos y las asignaciones de iconos, al igual que ControlPanel. Por ahora, solo tienen efecto en PathFinder, pero esto debería cambiar en el futuro.
- Typo en FXComplexd corregido.
- Soluciones provisionales para stat de disco para MacOSX y otros Unices no Linux.
- Se corrigió el error en el código FXMat3d SSE2. Estaba usando un acceso alineado.
- Los elementos FXFileList y FXDirList realizan un seguimiento de los bits de modo. Esto realmente simplifica bastante las cosas.
- Se eliminó el escaneo inútil del directorio cuando la función de clasificación cambió en FXFilelist y FXDirList.
- Emita SEL_CHANGED si el elemento actual se reemplaza en FXIconList, FXList, etc.
- Adie recuerda si la sintaxis del archivo sin extensión se cambió a mano; la próxima vez que se cargue el mismo archivo, la sintaxis se restaurará correctamente.
- Se solucionó el error por primera vez en ControlPanel; raro, el problema solo ocurre ControlPanel se ejecuta por primera vez y aún no existe un registro en el disco.
- Opción añadida a PathFinder para escalar la imagen al espacio disponible cuando se usa el visor de imágenes interno.
- La clave del proveedor en el constructor de FXApp ahora se establece de manera predeterminada en FXString :: null. Este es el patrón de uso más común.
- Se agregó una opción a PathFinder para controlar el espacio del elemento de archivo y si se muestran o no columnas de tamaño automático.
- Banderas de estilo en negrita, tachado y subrayado ahora guardadas en Adie.
- Nueva opción de regla de sintaxis en Adie.stx: todas las coincidencias & quot; fondo & quot; regla. Cuando se utiliza, puede colorear todo el texto que no coincide con las reglas normales, ya que reemplaza a los colores predeterminados utilizados por el editor de Adie.
Novedades en la versión 1.7.25:
- Cambie en configure.ac para comprobar los archivos de cabecera de intrinsics con banderas de compilador modificadas; los archivos de encabezado no son compilables con las opciones predeterminadas.
- Mapeos actualizados de Borland C ++.
- Actualice los archivos del proyecto de Visual Studio 6 con los encabezados que faltan.
- Correcciones pequeñas en FXAutoPtr.h.
- Cambia algunas API en línea de FXProgressDialog a no en línea.
Comentarios que no se encuentran