Fix typos and a minor bug in fluid/README_fl.txt
Bug fix: see "avoid_early_includes"
This commit is contained in:
parent
3ecae0459c
commit
280f3261f7
@ -24,7 +24,7 @@ as a command line tool to translate .fl files directly into source code. It
|
||||
can be integrated into build scripts and most IDEs as an external tool.
|
||||
|
||||
.fl files describe a hierarchical graphical user interface for the 'fltk'
|
||||
library as a tree structure. Elements in the tree can be fltk Widgets as well
|
||||
library as a tree structure. Elements in the tree can be fltk widgets as well
|
||||
as functional components like classes, C++ functions, variables, etc. .
|
||||
Fluid calls all elements in the hierarchy 'Type'.
|
||||
|
||||
@ -40,10 +40,10 @@ differentiate between a line ending and a space character outside of a 'word'.
|
||||
Unicode
|
||||
-------
|
||||
|
||||
Fluid does not handle UTF8 characters in in any special manner (unescaped),
|
||||
but stores and reads them verbatim, making UTF8 character sequences perfectly
|
||||
legal in .fl files. Fluid can translate UTF8 into escape sequence when writing
|
||||
source code file.
|
||||
Fluid does not handle UTF-8 characters in any special manner (unescaped),
|
||||
but stores and reads them verbatim, making UTF-8 character sequences perfectly
|
||||
legal in .fl files. Fluid can translate UTF-8 into escape sequence when writing
|
||||
source code files.
|
||||
|
||||
|
||||
File Structure
|
||||
@ -57,11 +57,11 @@ are composed of 'Words', 'Strings', and 'Groups'.
|
||||
Words
|
||||
-----
|
||||
|
||||
Words can be any sequence of ASCII and UTF8 characters. Words are
|
||||
always case-sensitive.
|
||||
Words can be any sequence of ASCII and UTF-8 characters. Words are always
|
||||
case-sensitive.
|
||||
|
||||
Simple words that are composed of 'a'-'z', 'A'-'Z', '0'-'9', and '_' only are
|
||||
writen verbatim, followed by a space or newline.
|
||||
Simple Words that are composed of 'a'-'z', 'A'-'Z', '0'-'9', and '_' only are
|
||||
written verbatim, followed by a space or newline.
|
||||
|
||||
All other character sequences are bracketed between between ‘{‘ and ‘}’ without
|
||||
padding spaces. For example, "" is written as ‘{}’, and ".hello" is written as
|
||||
@ -79,22 +79,22 @@ Note: line endings are copied verbatim and become significant within a Word.
|
||||
Strings
|
||||
-------
|
||||
|
||||
Strings are generated with 'printf' statements in the hopes that the
|
||||
generated text can be read back as one word, followed by a corresponding
|
||||
Strings are generated with 'printf' statements in the hope that the
|
||||
generated text can be read back as one Word, followed by a corresponding
|
||||
'scanf' to retrieve the original values.
|
||||
|
||||
Note: As there are no defined start and end markers to a string, a reader must
|
||||
know when these strings appear and be prepared to read them correctly,
|
||||
Note: As there are no defined start and end markers to a String, a reader must
|
||||
know when these Strings appear and be prepared to read them correctly,
|
||||
even if the String itself is not useful to the reader.
|
||||
|
||||
Note: All Strings that are generated by the current Fluid source code
|
||||
can be read back as a single word.
|
||||
can be read back as a single Word.
|
||||
|
||||
|
||||
Groups
|
||||
------
|
||||
|
||||
To create a hierarchy, Types can be grouped within types. A group starts with
|
||||
To create a hierarchy, Types can be grouped within Types. A Group starts with
|
||||
a lone '{' and ends with a lone '}'.
|
||||
|
||||
Note: To know whether a '{' character starts a Word or a Group, the reader must
|
||||
@ -121,7 +121,7 @@ wehere 'v' is the version number as in FL_VERSION (major*1.0 + minor * 0.01
|
||||
|
||||
Note: the version number corresponds not so much to the version of Fluid, but
|
||||
to the version of the underlying fltk library. So unless the version of
|
||||
fltk is finalised, the file format in the github master branch can still
|
||||
fltk is finalised, the file format in the GitHub master branch can still
|
||||
change unexpectedly.
|
||||
|
||||
Note: if the version number is above the internal version number, Fluid will
|
||||
@ -147,10 +147,10 @@ an option is missing, a default value is assumed.
|
||||
|
||||
"use_FL_COMMAND" : use macOS CMD key instead of Ctrl
|
||||
|
||||
"utf8_in_src" : allow utf8 when writing source code, otherwise
|
||||
escape utf8 sequences in source code
|
||||
"utf8_in_src" : allow UTF-8 when writing source code, otherwise
|
||||
escape UTF-8 sequences in source code
|
||||
|
||||
"avoid_early_includes" : generate the #include “myDesign.h” statement late
|
||||
"avoid_early_includes" : generate the '#include <FL/Fl.H>' statement late
|
||||
|
||||
"i18n_type" <word> : integer 0=default=none, 1=gettext, 2=catgets
|
||||
|
||||
@ -180,46 +180,46 @@ an option is missing, a default value is assumed.
|
||||
"gridy" <word> : ignored
|
||||
|
||||
Note: There is no keyword that marks the end of the options section. The
|
||||
option list ends when a word is not in the options list and it is in
|
||||
the list of known types.
|
||||
|
||||
option list ends when a word is not in the options list and it is in
|
||||
the list of known types.
|
||||
|
||||
If the word is neither an option nor a vaild type, Fluid will give an
|
||||
error message and try to continue to read the file. Using new option
|
||||
keywords makes .fl files incompatible to earlier versions of Fluid.
|
||||
keywords makes .fl files incompatible to earlier versions of Fluid.
|
||||
Due to the forgiving interpreter, files may still be read correctly
|
||||
despite error messages.
|
||||
|
||||
If a word is in the list of know types, the type is read, including
|
||||
|
||||
If a word is in the list of known types, the type is read, including
|
||||
optional children. No more options are allowed beyond this point.
|
||||
|
||||
|
||||
Tree
|
||||
====
|
||||
|
||||
If a keyword is read that is not in the option list, we start reading types.
|
||||
If a keyword is read that is not in the option list, we start reading Types.
|
||||
Types represent all possible entries in the hierarchy including C functions,
|
||||
class definitions, and of course all widgets. A type is any of the supported
|
||||
class definitions, and of course all widgets. A Type is any of the supported
|
||||
widgets classes, or one of the following:
|
||||
|
||||
Function, code, codeblock, decl, data, declblock, comment, class, widget_class
|
||||
|
||||
Every Type keyword is followed by a word, which is usually interpreted as the
|
||||
Every Type keyword is followed by a Word, which is usually interpreted as the
|
||||
C++ name of the Type, followed by an opening `{`, a list of properties, and
|
||||
a closing ‘}’. If the type has children, they are stored in a Group between
|
||||
another opening ‘{‘, followed by a list of types, followed by a closing ‘}’.
|
||||
a closing ‘}’. If the Type has children, they are stored in a Group between
|
||||
another opening ‘{‘, followed by a list of Types, followed by a closing ‘}’.
|
||||
|
||||
Fl_Group MyGroup { type name start_of_options
|
||||
Fl_Group MyGroup { Type name start_of_options
|
||||
label Surprise ... option parameter
|
||||
} { end_of_options start_of_children
|
||||
Fl_Button {} { type name start_of_options
|
||||
Fl_Button {} { Type name start_of_options
|
||||
label {Don't panic...!} option parameter
|
||||
hide option
|
||||
} end_of_options
|
||||
} end_of_children
|
||||
|
||||
The file ends when there are no more types.
|
||||
The file ends when there are no more Types.
|
||||
|
||||
Note: the "class" type has an additional Word following immediately after
|
||||
Note: the "class" Type has an additional Word following immediately after
|
||||
the keyword. It contains the prefix for the class. A class definition may
|
||||
be written as:
|
||||
|
||||
@ -234,7 +234,7 @@ Types
|
||||
-----
|
||||
|
||||
Type names are based on fltk class names. Types derive properties from super
|
||||
types loosely similar to fltk.
|
||||
Types loosely similar to fltk.
|
||||
|
||||
Note: the hierarchical dependency is implemented twice and somewhat conflicting
|
||||
in Fluid via the Fl_..._Type hierarchy, and by using '::is_some_type()'
|
||||
@ -263,7 +263,7 @@ The list of known types and their inheritance is:
|
||||
| | +-- Fl_Scroll
|
||||
| | +-- Fl_Tile
|
||||
| | +-- Fl_Wizard
|
||||
| +-- Fl_Menu_Type (note: can't be written)
|
||||
| +-- Fl_Menu_Type (note: can't be written)
|
||||
| | +-- Fl_Menu_Button
|
||||
| | +-- Fl_Choice
|
||||
| | +-- Fl_Input_Choice
|
||||
@ -305,17 +305,17 @@ The list of known types and their inheritance is:
|
||||
Properties
|
||||
----------
|
||||
|
||||
Properties have zero or one words as their arguments. The number of arguments
|
||||
are defined per property per type. The content of the argument word is defined
|
||||
Properties have zero or one Words as their arguments. The number of arguments
|
||||
are defined per property per Type. The content of the argument Word is defined
|
||||
by the implementation of the property and can contain mutiple values, as
|
||||
described above in Strings.
|
||||
|
||||
Properties are inherited from super types. They can be limited to certain types
|
||||
Properties are inherited from super Types. They can be limited to certain Types
|
||||
by calls to 'MyType->is_some_type()'. All properties are optional, some are
|
||||
mutually exclusive.
|
||||
|
||||
Note: It is possible that the same peroperty by name has different arguments
|
||||
when used in a different type.
|
||||
Note: It is possible that the same property by name has different arguments
|
||||
when used in a different Type.
|
||||
|
||||
|
||||
Type Fl_Type <word>
|
||||
@ -425,7 +425,7 @@ Type "Fl_Flex" <word> : C++ variable name
|
||||
"margins" <word> : this word is written with printf as "{%d %d %d %d}",
|
||||
left, top, right, bottom
|
||||
"gap" <word> : integer
|
||||
"set_size_tuples" <word> : this word is written printf "{%d", where %d
|
||||
"set_size_tuples" <word> : this word is written with printf "{%d", where %d
|
||||
encodes the number of tuples to follow, and zero or more " %d %d"
|
||||
containing the index and size of that child, followed by a '}'.
|
||||
... : inherits more from Fl_Group
|
||||
@ -445,8 +445,7 @@ Type "Fl_Window" <word> : C++ variable name
|
||||
... : inherits more from Fl_Widget (not Fl_Group)
|
||||
|
||||
|
||||
Please report errors and omissions to the fltk.cordev or fltk.general
|
||||
Please report errors and omissions to the fltk.coredev or fltk.general
|
||||
Google group. Thank you.
|
||||
|
||||
- Matthias
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user