summaryrefslogtreecommitdiff
path: root/fluid/documentation
diff options
context:
space:
mode:
authorMatthias Melcher <github@matthiasm.com>2023-11-01 17:22:31 +0100
committerMatthias Melcher <github@matthiasm.com>2023-11-01 17:22:40 +0100
commitaaaf0a0537e03cec7a47330550a31bb4e96dacde (patch)
tree820ea79b85ed1e3b9fdcfe9ef0b2fc16a15c5cc6 /fluid/documentation
parent5f836377a0f4e5c7b90b06ba4b4fefc3ccf04a39 (diff)
FLUID: Adds options to draw ghosted outlines.
Diffstat (limited to 'fluid/documentation')
-rw-r--r--fluid/documentation/src/app_settings.dox212
-rw-r--r--fluid/documentation/src/code.dox40
-rw-r--r--fluid/documentation/src/index.dox30
3 files changed, 67 insertions, 215 deletions
diff --git a/fluid/documentation/src/app_settings.dox b/fluid/documentation/src/app_settings.dox
index a11d41f57..879a45b85 100644
--- a/fluid/documentation/src/app_settings.dox
+++ b/fluid/documentation/src/app_settings.dox
@@ -2,205 +2,49 @@
/**
-\page codeNodes Code Nodes
-
-\tableofcontents
-
-\section function Functions and Methods
-
-![](flFunction.png) Functions
-
-Fluid can generate C functions, C++ functions, and methods in classes.
-Functions can contain widgets to build windows and dialogs. *Code* nodes can
-be used to add more source code to a function.
-
-## Parents ##
-
-To generate a function, the function node must be created at the top level or
-inside a declaration block. If added inside a class node, this node generates
-a method inside that class.
-
-## Children ##
-
-Function nodes can contain code nodes and widget trees. The topmost node of a
-widget tree must be a window.
-If the function node has no children, only a forward declaration will be
-created in the header, but no source code will be generated.
-
-\image html flFunctionDialog.png "Function/Method Properties"
-\image latex flFunctionDialog.png "Function/Method Properties"
-
-## Declaring a Function ##
-
-A function node at the top level or inside a declaration block generates a C
-or C++ function.
-
-The *Name* field contains the function name and all arguments.
-If the *Name* field is left empty, Fluid will generate a typical 'main()' function.
-```
-// .cxx
-int main(int argc, char **argv) {
- // code generated by children
- w->show(argc, argv); // <-- code generated if function has a child widget
- Fl::run();
-}
-```
-
-If a function node has a name but no children, a forward declaration is
-generated in the header, but the implementation in the source file is omited.
-This is used to reference functions in other modules.
-```
-// .h
-void make_window();
-```
-
-If the function contains one or more Code nodes, an implementation will also be
-generated. The default return type is `void`. Text in the *Return Type* field
-overrides the default type.
-```
-// .cxx
-void make_window() {
- // code generated by children
-}
-```
-
-If the function contains a widget, a pointer to the first widget
-will be created. The default return type will match the type of the
-first widget, and a pointer to the widget will be returned.
-```
-// .h
-Fl_Window* make_window();
-```
-
-```
-// .cxx
-Fl_Window* make_window() {
- Fl_Window* w;
- // code generated by children:
- // w = new Fl_Window(...)
- return w;
-}
-```
-
-### Options for Functions ###
-
-Choosing *static* in the pulldown menu will declare the function `static` in the
-source file. No prototype will be generated in the header.
-```
-// .cxx
-static Fl_Window* make_window() { ...
-```
-
-If the *C* option is checked, the function will be declared as a plain C
-function in the header file.
-The options *local* and *C* together are not supported.
-```
-// .h
-extern "C" { void my_plain_c_function(); }
-```
-
-## Declaring a Method ##
-
-A function node inside a class node generates a C++ method. If a method node has
-no children, the declaration is generated in the header, but no implementation
-in the source file.
-```
-// .h
-class UserInterface {
-public:
- void make_window();
-};
-```
-
-If the method contains one or more Code nodes, an implementation will also be
-generated.
-
-```
-// .cxx
-void UserInterface::make_window() {
- printf("Hello, World!\n");
-}
-```
-
-If the method contains at least on widget, a pointer to the topmost widget
-will be returned and the return type will be generated accordingly.
-```
-// .h
-class UserInterface {
-public:
- Fl_Double_Window* make_window();
-};
-```
-
-```
-// .cxx
-Fl_Double_Window* UserInterface::make_window() {
- Fl_Double_Window* w;
- // code generated by children
- return w;
-}
-```
-
-### Options for Methods ###
-
-Class access can be defined with the pulldown menu. It provides a choice of
-`private`, `protected`, and `public`.
-
-Fluid recognizes the keyword `static` or `virtual` at the beginning of the
-*return type* and will generate the declaration including the keyword, but will
-omit it in the implementation. The return type defaults still apply if there
-is no text after the keyword.
-
-### Further Options ###
-
-Users can define a comment text in the *comment* field. The first line of the
-comment will be shown in the widget browser. The comment text will be generated
-in the source file before the function.
-```
-// .cxx
-/*
- My multilen comment
- will be here
- &#42;/
-Fl_Window* make_window() {
-```
-
-Fluid recognizes default values in the argument list and geneartes them in the
-declaration, but omits them in the implementation.
+ \page appSettings Fluid Application Settings
-A short function body can be appended in the *Name* field. With no child, this
-creates an inlined function in the header file.
+ \tableofcontents
-<!-- ----------------------------------------------------------------------- -->
+ \section schemes Schemes
-\section code C Source Code
+ Write me... .
-![](flCode.png) Code
+ \section options Options
-...write me.
+ Write me... .
- ### Parents ###
+ \section external_editor External Editor
- ...write me.
+ Write me... .
- ### Children ###
+ \section overlays Overlay
- ...write me.
+ ## Show positioning guides ##
- \section codeblock Code Block
+ When enabled, FLUID will use the existing Layout settings to propose widget
+ positions and dimensions that align with other widgets within the project.
+ It displays red indicator guides on the scene to illustrate the widget's
+ relationship with its neighboring elements. If you drag the widgets with the
+ mouse, they will automatically align with these preferred positions.
- \section declaration Declaration
+ ## Show restricted areas ##
- \section declarationblock Declaration Block
+ When selected, FLUID will display a hash pattern when widgets overlap with
+ other widgets within the same group or extend beyond the boundaries of their
+ parent group. Widgets that are invisible will not trigger this effect.
- \section class Classes
+ ## Ghosting low contrast groups ##
+ Occasionally, newly created groups can be inconspicuous during the editing
+ process when their background matches that of the parent and no visible
+ box is drawn. However, if you enable the "Show Low Contrast Groups Ghosted"
+ option, groups that lack a box type or have a flat box type with the same
+ color as the parent will be displayed with a faint outline
+ in the editing window.
- \section widgetclass Widget Class
-
- \section comment Comments
-
- \section inlineddata Inlined Data
+ During live resizing and after project compilation, all groups will be
+ rendered as originally designed, without the ghosted outline.
*/
diff --git a/fluid/documentation/src/code.dox b/fluid/documentation/src/code.dox
index cff61ea97..65f31a96c 100644
--- a/fluid/documentation/src/code.dox
+++ b/fluid/documentation/src/code.dox
@@ -4,8 +4,7 @@
\page codeNodes Code Nodes
-Overview of code nodes.
-
+\tableofcontents
\section function Functions and Methods
@@ -15,12 +14,14 @@ Fluid can generate C functions, C++ functions, and methods in classes.
Functions can contain widgets to build windows and dialogs. *Code* nodes can
be used to add more source code to a function.
-### Parents ###
+## Parents ##
+
To generate a function, the function node must be created at the top level or
inside a declaration block. If added inside a class node, this node generates
a method inside that class.
-### Children ###
+## Children ##
+
Function nodes can contain code nodes and widget trees. The topmost node of a
widget tree must be a window.
If the function node has no children, only a forward declaration will be
@@ -39,8 +40,8 @@ If the *Name* field is left empty, Fluid will generate a typical 'main()' functi
```
// .cxx
int main(int argc, char **argv) {
- /* code generated by children */
- w->show(argc, argv); /* <-- code generated if function has a child widget */
+ // code generated by children
+ w->show(argc, argv); // <-- code generated if function has a child widget
Fl::run();
}
```
@@ -59,7 +60,7 @@ overrides the default type.
```
// .cxx
void make_window() {
- /* code generated by children */
+ // code generated by children
}
```
@@ -75,9 +76,8 @@ Fl_Window* make_window();
// .cxx
Fl_Window* make_window() {
Fl_Window* w;
- /* code generated by children:
- * w = new Fl_Window(...)
- */
+ // code generated by children:
+ // w = new Fl_Window(...)
return w;
}
```
@@ -136,7 +136,7 @@ public:
// .cxx
Fl_Double_Window* UserInterface::make_window() {
Fl_Double_Window* w;
- /* code generated by children */
+ // code generated by children
return w;
}
```
@@ -155,13 +155,13 @@ is no text after the keyword.
Users can define a comment text in the *comment* field. The first line of the
comment will be shown in the widget browser. The comment text will be generated
-in the source file ahead of thefunction.
+in the source file before the function.
```
// .cxx
-/*
- My multilen comment
- will be here
- */
+ //
+ // My multilen comment will be here... .
+ // Fluid may actually use C style comment markers.
+ //
Fl_Window* make_window() {
```
@@ -179,6 +179,14 @@ creates an inlined function in the header file.
...write me.
+ ### Parents ###
+
+ ...write me.
+
+ ### Children ###
+
+ ...write me.
+
\section codeblock Code Block
\section declaration Declaration
diff --git a/fluid/documentation/src/index.dox b/fluid/documentation/src/index.dox
index 95cc95158..b255cc58e 100644
--- a/fluid/documentation/src/index.dox
+++ b/fluid/documentation/src/index.dox
@@ -2,25 +2,25 @@
/**
- \mainpage Fluid User Manual and Developer Overview
+ \mainpage Fluid User Manual
- \subpage function
+ \subpage codeNodes
- \subpage code
+ - \ref function
+ - \ref code
+ - \ref codeblock
+ - \ref declaration
+ - \ref declarationblock
+ - \ref class
+ - \ref widgetclass
+ - \ref comment
+ - \ref inlineddata
- \subpage codeblock
+ \subpage appSettings
- \subpage declaration
-
- \subpage declarationblock
-
- \subpage class
-
- \subpage widgetclass
-
- \subpage comment
-
- \subpage inlineddata
+ - \ref schemes
+ - \ref options
+ - \ref overlays
*/