b'\n_START_ARTICLE_\nFLUID\n_START_PARAGRAPH_\nFLUID (del Ingl\xc3\xa9s, Fast Light User Interface Designer) es un editor gr\xc3\xa1fico que facilita el dise\xc3\xb1o de la interfaz gr\xc3\xa1fica de usuario (IGU) de programas basados en la biblioteca FLTK. FLUID genera los archivos de c\xc3\xb3digo fuente as\xc3\xad como tambi\xc3\xa9n los archivos de cabecera que contienen la parte gr\xc3\xa1fica de las aplicaciones. FLUID tambi\xc3\xa9n permite adicionar c\xc3\xb3digo a los widgets que se ejecuta cuando se interact\xc3\xbaa con los objetos gr\xc3\xa1ficos, esta acci\xc3\xb3n es conocida como respuesta al llamado o simplemente callback. El formato de los archivos FLUID es texto plano, que por razones de estilo se guardan en archivos con la extensi\xc3\xb3n .fl. Los archivos .fl pueden ser editados con cualquier editor de archivos de texto, esto en el caso de necesitar de realizar tareas no permitidas o no disponible en FLUID._NEWLINE_Una vez desarrollado el dise\xc3\xb1o de una interfaz gr\xc3\xa1fica, FLUID genera a partir del archivo .fl la declaraci\xc3\xb3n global de los objetos en el archivo .h de cabecera y sus definiciones en el archivo fuente con extensi\xc3\xb3n .cxx en lenguaje C++. FLUID tambi\xc3\xa9n soporta internacionalizaci\xc3\xb3n y localizaci\xc3\xb3n de etiquetas utilizadas por los widgets, est\xc3\xa1ndar tambi\xc3\xa9n conocido como I18N.\xe2\x80\x8b FLUID soporta tres m\xc3\xa9todos definidos en el I18N, el primero es usar el idioma por defecto y las otras dos opciones son las interfaces GNU gettext o POSIX catgets._NEWLINE__NEWLINE_Un programa simple puede ser desarrollado escribiendo todo el c\xc3\xb3digo de la aplicaci\xc3\xb3n (incluyendo la funci\xc3\xb3n principal main) dentro del archivo .fl desarrollado con FLUID, de tal manera, que cuando se generen los archivos .h y .cxx el programa puede ser compilado sin la necesidad de a\xc3\xb1adir m\xc3\xa1s c\xc3\xb3digo, esta es una caracter\xc3\xadstica muy importante para los que se inician en el uso de la biblioteca. Por supuesto que la mayor\xc3\xada de programas son m\xc3\xa1s complejos que este ejemplo, para esto otros archivos fuentes con c\xc3\xb3digos no-IGU pueden ser implementados y ser llamados a trav\xc3\xa9s de las funciones callback en FLUID. Esto se puede lograr incluyendo el archivo de cabecera foo.h por medio de la macro #include"foo.h" desde FLUID, o simplemente, adicionando el c\xc3\xb3digo directamente dentro del archivo .cxx generado. Esta \xc3\xbaltima posibilidad no es recomendable, ya que hace el mantenimiento de la interfaz gr\xc3\xa1fica de un proyecto casi imposible. As\xc3\xad que en general, en programas sencillos el c\xc3\xb3digo puede ser escrito directamente dentro de los callbacks, mientras que en proyectos grandes lo m\xc3\xa1s recomendable es escribir todo el c\xc3\xb3digo no-IGU en diferentes archivos .h y .cxx, que luego ser\xc3\xa1n incluidos dentro del archivo .fl para permitir el llamado de las funciones definidas dentro de los callbacks. _NEWLINE_Normalmente el archivo FLUID define una o m\xc3\xa1s ventanas de FLTK y todos los widgets contenidos dentro de las ventanas. Estas ventanas y widgets determinan las funciones o clases del c\xc3\xb3digo C++ generadas por FLUID. Widgets creados por FLUID son nombrados de alguna de las siguiente maneras: "nombre", "nombre complejo" o "sin nombre". Un widget con nombre, tiene una variable legal en C++ (i.e. caracteres alfanum\xc3\xa9ricos y el s\xc3\xadmbolo underscore) como nombre identificador, y es definido como variable global o miembro de la clase que ser\xc3\xa1 apuntada por el widget. Un objeto con nombre complejo usa una puntuaci\xc3\xb3n como \'.\' o \'->\' o cualquier otro s\xc3\xadmbolo en su nombre, en este caso, FLUID asigna un puntero a el widget para el nombre, que puede ser usado para encontrar widgets dentro de la estructura. Un widget sin nombre tiene nombre en blanco y ning\xc3\xban puntero es almacenado._NEWLINE_Widgets pueden hacer llamados a funciones que sean escritas en otro archivo fuente, o pueden ser dadas como peque\xc3\xb1os porciones de c\xc3\xb3digo y FLUID las reescribir\xc3\xa1 como un callback dentro del archivo .cxx.'