Everipedia Logo
Everipedia is now IQ.wiki - Join the IQ Brainlist and our Discord for early access to editing on the new platform and to participate in the beta testing.
FLUID

FLUID

FLUID widget list window

FLUID widget list window

A flowchart showing the steps needed to compile FLUID-generated code

A flowchart showing the steps needed to compile FLUID-generated code

FLUID (Fast Light User Interface Designer) is a graphical editor and GUI builder that is used to produce FLTK source code. FLUID edits and saves its state in text .fl files, which can be edited in a text editor for finer control over display and behavior.[2]

After designing the application, FLUID compiles the .fl file into a .cxx file, which defines all the objects from the .fl file, and an .h file, which declares all the global ones.[3] FLUID also supports localization of label strings using message files and the GNU gettext or POSIX catgets interfaces.[4]

A simple program can be made by putting all non-interface code (including a main function) into the .fl file, thus making the .cxx file a single source file to compile. Most programs are more complex than this, so other .cxx files can be written that call the FLUID functions. These .cxx files must #include the .h file, or they can #include the .cxx file so it still appears to be a single source file.

Normally the FLUID file defines one or more functions or classes, which output C++ code. Each function defines one or more FLTK windows, and all the widgets that go inside those windows.

Widgets created by FLUID are "named", "complex named", or "unnamed". A named widget has a legal C++ variable identifier as its name (i.e. only alphanumeric and underscore), and is defined by a global variable or class member that will point at the widget after the function defining it is called. A complex named object has punctuation such as '.' or '->' or any other symbols in its name. In this case, FLUID assigns a pointer to the widget to the name, but does not attempt to declare it. This can be used to get the widgets into structures. An unnamed widget has a blank name and no pointer is stored.

Widgets may either call a named callback function that one writes in another source file, or one can supply a small piece of C++ source and FLUID will write a private callback function into the .cxx file.

FLUID
Stable release1.3.5 (March 3, 2019 (2019-03-03)[1]) [±] [10]
Preview release1.4.x-20190329-7a3af40e (March 29, 2019 (2019-03-29)) [±] [11]
Type
  • GUI builder
  • Linux on the desktop
  • Human interface guidelines
LicenseGNU Lesser General Public Licence
Websitewww.fltk.org [12]

Code View window

While editing the program FLUID the user can look at the Code View window which shows exactly how the C++ output of the program would look. The Code View window supports auto refreshing (when something in the program is changed, Code View will automatically change the source code being shown) which can be disabled by the user. It won't let the user change the code being shown through it. Code View is part of FLUID and is not automatically shown on startup. It can be enabled through FLUID's menu.

Widget bin window

See also

  • Glade Interface Designer

  • Qt Creator

  • Rapid application development

  • Linux on the desktop

References

[1]
Citation Linkwww.fltk.orghttps://www.fltk.org/articles.php?L1635
Sep 19, 2019, 7:41 PM
[2]
Citation Linkwww.fltk.orgReference, from the FLTK documentation
Sep 19, 2019, 7:41 PM
[3]
Citation Linkwww.fltk.orgFLTK 1.3.3: Programming with FLUID, from the FLTK manual.
Sep 19, 2019, 7:41 PM
[4]
Citation Linkwww.fltk.orgfltk.org/doc-1.3/fluid.html#fluid_i18n FLTK 1.3.3: Programming with FLUID, FLTK manual
Sep 19, 2019, 7:41 PM
[5]
Citation Linkwww.fltk.orgOfficial website
Sep 19, 2019, 7:41 PM
[6]
Citation Linkwww.gidforums.comFLTK & FLUID in motion - A FLUID tutorial
Sep 19, 2019, 7:41 PM
[7]
Citation Linkseriss.comVideo tutorial on FLUID covering only the basics
Sep 19, 2019, 7:41 PM
[8]
Citation Linkwww.seriss.comErco's FLTK Cheat Page
Sep 19, 2019, 7:41 PM
[9]
Citation Linkwww.easysw.comThe flPhoto user-interface was done completely with FLUID.
Sep 19, 2019, 7:41 PM
[10]
Citation Linken.wikipedia.org[±]
Sep 19, 2019, 7:41 PM
[11]
Citation Linken.wikipedia.org[±]
Sep 19, 2019, 7:41 PM
[12]
Citation Linkwww.fltk.orgwww.fltk.org
Sep 19, 2019, 7:41 PM
[13]
Citation Linkwww.fltk.orghttps://www.fltk.org/articles.php?L1635
Sep 19, 2019, 7:41 PM
[14]
Citation Linkwww.fltk.orgReference
Sep 19, 2019, 7:41 PM
[15]
Citation Linkwww.fltk.orgFLTK 1.3.3: Programming with FLUID
Sep 19, 2019, 7:41 PM
[16]
Citation Linkwww.fltk.orgfltk.org/doc-1.3/fluid.html#fluid_i18n FLTK 1.3.3: Programming with FLUID
Sep 19, 2019, 7:41 PM
[17]
Citation Linkwww.fltk.orgOfficial website
Sep 19, 2019, 7:41 PM
[18]
Citation Linkwww.gidforums.comFLTK & FLUID in motion - A FLUID tutorial
Sep 19, 2019, 7:41 PM
[19]
Citation Linkseriss.comVideo tutorial on FLUID covering only the basics
Sep 19, 2019, 7:41 PM
[20]
Citation Linkwww.seriss.comErco's FLTK Cheat Page
Sep 19, 2019, 7:41 PM