Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
FLUID
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Graphical editor and GUI builder}} {{other uses|Fluid (disambiguation)}} {{Refimprove|date=October 2012}} {{Infobox software | name = FLTK | title = FLUID | logo = <!-- Image name is enough --> | logo caption = | logo_size = | logo_alt = | screenshot = Fl code view.png | caption = FLUID's code view window shows how the C++ output would look like if written on the disk. | screenshot_size = | screenshot_alt = | collapsible = | author = | developer = | released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | discontinued = | latest release version = | latest release date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | latest preview version = | latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | status = | programming language = | operating system = | platform = | size = | language = | language count = <!-- DO NOT include this parameter unless you know what it does --> | language footnote = | genre = {{ubl|[[Graphical user interface builder|GUI builder]]|[[Linux on the desktop]]|[[Human interface guidelines]]}} | license = [[GNU Lesser General Public Licence]] | website = {{URL|http://www.fltk.org}} }} [[Image:FLUID-01.jpg|right|thumb|200px|FLUID [[GUI widget|widget]] list window]] '''FLUID''' ('''F'''ast '''L'''ight '''U'''ser '''I'''nterface '''D'''esigner) is a graphical editor and [[Graphical user interface builder|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.<ref name="intro">[http://www.fltk.org/doc-1.3/fluid.html Reference], from the FLTK documentation</ref> After designing the application, FLUID compiles the .fl file into a .cxx file, which defines all the objects from the .fl file, and an [[header file|.h file]], which declares all the global ones.<ref name="compiling">[http://www.fltk.org/doc-1.3/fluid.html#fluid_compiling_fl_files FLTK 1.3.3: Programming with FLUID], from the FLTK manual.</ref> FLUID also supports [[Internationalization and localization|localization]] of label strings using message files and the [[GNU]] [[gettext]] or [[POSIX]] [[catgets]] interfaces.<ref name="internationalization">[http://www.fltk.org/doc-1.3/fluid.html#fluid_i18n fltk.org/doc-1.3/fluid.html#fluid_i18n FLTK 1.3.3: Programming with FLUID], FLTK manual</ref> [[Image:Fluid compilation flowchart.svg|right|thumb|200px|A flowchart showing the steps needed to compile FLUID-generated code]] A simple program can be made by putting all non-interface code (including a <code>main</code> 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 <code>#include</code> 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 (computer science)|callback]] function into the .cxx file. ==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== [[Image:FLUID's widget bin.png|center|thumb|576px|FLUID's widget bin window]] == See also == {{Portal|Free and open-source software}} * [[Glade Interface Designer]] * [[Qt Creator]] * [[Rapid application development]] * [[Linux on the desktop]] ==References== {{Reflist}} ==External links== * {{official website}} {{External links|date=September 2016}} * [http://www.gidforums.com/t-3979.html FLTK & FLUID in motion - A FLUID tutorial] * [http://seriss.com/people/erco/fltk-videos/fluid-intro.html Video tutorial on FLUID covering only the basics] * [http://www.seriss.com/people/erco/fltk/ Erco's FLTK Cheat Page] * [http://www.easysw.com/~mike/flphoto/ The flPhoto user-interface was done completely with FLUID.] {{GUI builders}} {{Widget toolkits}} {{DEFAULTSORT:Fluid}} [[Category:User interface builders]] [[Category:Widget toolkits]] [[Category:X-based libraries]] [[Category:Free computer libraries]] [[Category:Free software programmed in C++]] [[Category:Cross-platform free software]] [[Category:FLTK]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:External links
(
edit
)
Template:GUI builders
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Official website
(
edit
)
Template:Other uses
(
edit
)
Template:Portal
(
edit
)
Template:Refimprove
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Widget toolkits
(
edit
)