mirror of https://github.com/fltk/fltk
FLUID: Restructures user documentation.
This commit is contained in:
parent
7c6266f67e
commit
c22a7bb6a7
|
@ -100,8 +100,21 @@ source_group("Header Files" FILES ${HEADERFILES})
|
|||
set ( DOC_FILES
|
||||
Doxyfile
|
||||
documentation/src/index.dox
|
||||
documentation/src/code.dox
|
||||
documentation/src/app_settings.dox
|
||||
documentation/src/page_introduction.dox
|
||||
documentation/src/page_getting_started.dox
|
||||
documentation/src/page_ui_overview.dox
|
||||
documentation/src/page_basics.dox
|
||||
documentation/src/page_widget_types.dox
|
||||
documentation/src/page_layout.dox
|
||||
documentation/src/page_code_integration.dox
|
||||
documentation/src/page_advanced.dox
|
||||
documentation/src/page_shortcuts.dox
|
||||
documentation/src/page_faqs.dox
|
||||
documentation/src/page_glossary.dox
|
||||
documentation/src/page_appendices.dox
|
||||
documentation/src/page_index.dox
|
||||
documentation/src/page_legal.dox
|
||||
documentation/src/page_conclusion.dox
|
||||
)
|
||||
source_group("Documentation" FILES ${DOC_FILES})
|
||||
|
||||
|
|
|
@ -412,12 +412,12 @@ void Fl_Grid_Type::child_resized(Fl_Widget_Type *child_type) {
|
|||
Fl_Grid *grid = (Fl_Grid*)o;
|
||||
Fl_Widget *child = child_type->o;
|
||||
Fl_Grid::Cell *cell = grid->cell(child);
|
||||
if (cell && ((cell->align()&FL_GRID_HORIZONTAL)==0)) {
|
||||
if (cell && ((cell->align()&FL_GRID_VERTICAL)==0)) {
|
||||
int min_w = 0, min_h = 0;
|
||||
cell->minimum_size(&min_w, &min_h);
|
||||
cell->minimum_size(min_w, child->h());
|
||||
}
|
||||
if (cell && ((cell->align()&FL_GRID_VERTICAL)==0)) {
|
||||
if (cell && ((cell->align()&FL_GRID_HORIZONTAL)==0)) {
|
||||
int min_w = 0, min_h = 0;
|
||||
cell->minimum_size(&min_w, &min_h);
|
||||
cell->minimum_size(child->w(), min_h);
|
||||
|
|
|
@ -377,7 +377,8 @@ See Fl_Grid for an example.
|
|||
|
||||
Type Fl_Type <word>
|
||||
|
||||
"uid" <4-digit-hex> : since Oct 2023, optional, a unique id for this node within the project file
|
||||
"uid" <4-digit-hex> : since Oct 2023, optional, a unique id for this node
|
||||
within the project file
|
||||
“label” <word> : text
|
||||
“user_data” <word> : a value or an expression
|
||||
“user_data_type” <word> : usually “void*” or “long”
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
|
||||
|
||||
/**
|
||||
|
||||
\page appSettings Fluid Application Settings
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\section options Options
|
||||
|
||||
## Select scheme ##
|
||||
|
||||
## Show tooltips ##
|
||||
|
||||
## Show completions dialogs ##
|
||||
|
||||
## Open previous file on startup ##
|
||||
|
||||
## Remember window positions ##
|
||||
|
||||
## Show comments in browser ##
|
||||
|
||||
\section external_editor External Editor
|
||||
|
||||
When you configure the External Editor text field with a shell command and
|
||||
select the "Use for Code Nodes" option, FLUID will launch an external editor
|
||||
for editing the C++ code within a Code Node. After making changes and saving
|
||||
the code in the external editor, it will automatically be transferred back
|
||||
into the Code Node. The shell command is constructed by combining the text
|
||||
field's content with the path and name of a temporary file containing the
|
||||
code snippet. The file name ends in `.cxx`.
|
||||
|
||||
\section overlays Overlay
|
||||
|
||||
## Show positioning guides ##
|
||||
|
||||
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.
|
||||
|
||||
## Show restricted areas ##
|
||||
|
||||
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.
|
||||
|
||||
## 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.
|
||||
|
||||
During live resizing and after project compilation, all groups will be
|
||||
rendered as originally designed, without the ghosted outline.
|
||||
|
||||
*/
|
||||
|
|
@ -1,206 +0,0 @@
|
|||
|
||||
|
||||
/**
|
||||
|
||||
\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... .
|
||||
// Fluid may actually use C style comment markers.
|
||||
//
|
||||
Fl_Window* make_window() {
|
||||
```
|
||||
|
||||
Fluid recognizes default values in the argument list and geneartes them in the
|
||||
declaration, but omits them in the implementation.
|
||||
|
||||
A short function body can be appended in the *Name* field. With no child, this
|
||||
creates an inlined function in the header file.
|
||||
|
||||
<!-- ----------------------------------------------------------------------- -->
|
||||
|
||||
\section code C Source Code
|
||||
|
||||
![](flCode.png) Code
|
||||
|
||||
...write me.
|
||||
|
||||
### Parents ###
|
||||
|
||||
...write me.
|
||||
|
||||
### Children ###
|
||||
|
||||
...write me.
|
||||
|
||||
\section codeblock Code Block
|
||||
|
||||
\section declaration Declaration
|
||||
|
||||
\section declarationblock Declaration Block
|
||||
|
||||
\section class Classes
|
||||
|
||||
|
||||
\section widgetclass Widget Class
|
||||
|
||||
\section comment Comments
|
||||
|
||||
\section inlineddata Inlined Data
|
||||
|
||||
*/
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
|
@ -2,98 +2,103 @@
|
|||
|
||||
/**
|
||||
|
||||
\mainpage Fluid User Manual
|
||||
\mainpage FLUID User Manual
|
||||
|
||||
\subpage codeNodes
|
||||
<TABLE CELLPADDING="8" CELLSPACING="0" SUMMARY="TITLE BAR" WIDTH="100%" BORDER="0">
|
||||
<TR>
|
||||
<TD><CENTER>
|
||||
\image html fluid-128.png
|
||||
\image latex fluid-128.png "" width=3cm
|
||||
|
||||
<B>FLUID 1.4.0 User Manual</B>
|
||||
|
||||
- \ref function
|
||||
- \ref code
|
||||
- \ref codeblock
|
||||
- \ref declaration
|
||||
- \ref declarationblock
|
||||
- \ref class
|
||||
- \ref widgetclass
|
||||
- \ref comment
|
||||
- \ref inlineddata
|
||||
By F. Costantini, D. Gibson, M. Melcher,
|
||||
A. Schlosser, B. Spitzak and M. Sweet.
|
||||
|
||||
\subpage appSettings
|
||||
Copyright © 1998 - 2023 by Bill Spitzak and others.
|
||||
</CENTER></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<TABLE CELLPADDING="8" CELLSPACING="0" SUMMARY="TITLE BAR" WIDTH="100%" BORDER="0">
|
||||
<TR>
|
||||
<TD style="text-align: center;">
|
||||
This software and manual are provided under the terms of the GNU
|
||||
Library General Public License. Permission is granted to reproduce
|
||||
this manual or any portion for any purpose, provided this copyright
|
||||
and permission notice are preserved.
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<TABLE CELLPADDING="8" CELLSPACING="0" SUMMARY="Table of Contents" WIDTH="100%" BORDER="0">
|
||||
<TR>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
||||
|
||||
- \ref schemes
|
||||
- \ref options
|
||||
- \ref overlays
|
||||
\subpage page_introduction
|
||||
|
||||
*/
|
||||
_not yet_
|
||||
|
||||
/*
|
||||
\subpage page_getting_started
|
||||
|
||||
Creating a user manual for your interactive user interface editor, "FLUID," involves several key steps to ensure it's informative and user-friendly. Here's a structured approach to help you get started:
|
||||
_not yet_
|
||||
|
||||
1. **Title and Cover Page:**
|
||||
- Title: Give your manual a clear and concise title, such as "FLUID User Manual."
|
||||
- Cover Page: Include the title, a brief description, your company or project logo, and any relevant contact information.
|
||||
\subpage page_ui_overview
|
||||
|
||||
2. **Table of Contents:**
|
||||
- Create a table of contents that lists all the major sections and subsections of your user manual. Ensure it's hyperlinked for easy navigation in digital formats.
|
||||
_not yet_
|
||||
|
||||
3. **Introduction:**
|
||||
- Provide an introduction that explains the purpose of the user manual and any prerequisites or system requirements.
|
||||
\subpage page_basics
|
||||
|
||||
4. **Getting Started:**
|
||||
- Walk users through the initial setup and installation process.
|
||||
- Explain how to launch the FLUID editor.
|
||||
_not yet_
|
||||
|
||||
5. **User Interface Overview:**
|
||||
- Describe the main components of the FLUID user interface, including menus, toolbars, panels, and any unique features.
|
||||
\subpage page_widget_types
|
||||
|
||||
6. **Basic Operations:**
|
||||
- Provide step-by-step instructions for common tasks, such as creating a new project, opening existing projects, and saving work.
|
||||
_not yet_
|
||||
|
||||
7. **Widgets and Elements:**
|
||||
- Explain how to add, modify, and delete widgets and UI elements.
|
||||
- Detail the available widget libraries and their usage.
|
||||
\subpage page_layout
|
||||
|
||||
8. **Layout and Design:**
|
||||
- Discuss how to arrange and design UI elements in the editor.
|
||||
- Cover alignment, grouping, and layout management.
|
||||
_not yet_
|
||||
|
||||
9. **Code Integration:**
|
||||
- Explain how to integrate code into FLUID, including code nodes and event handling.
|
||||
\subpage page_code_integration
|
||||
|
||||
10. **Advanced Features:**
|
||||
- Describe any advanced or less commonly used features of FLUID, such as custom scripting, animations, or specialized widgets.
|
||||
_not yet_
|
||||
|
||||
11. **Troubleshooting:**
|
||||
- Provide solutions to common issues and error messages users may encounter.
|
||||
\subpage page_advanced
|
||||
|
||||
12. **Tips and Best Practices:**
|
||||
- Offer tips and best practices to help users make the most of FLUID.
|
||||
_not yet_
|
||||
|
||||
13. **Keyboard Shortcuts:**
|
||||
- List keyboard shortcuts for common actions to expedite user workflows.
|
||||
</TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP">
|
||||
|
||||
14. **FAQs:**
|
||||
- Include a section with frequently asked questions and their answers.
|
||||
\subpage page_shortcuts
|
||||
|
||||
15. **Glossary:**
|
||||
- Define any technical terms or jargon used in FLUID.
|
||||
_not yet_
|
||||
|
||||
16. **Appendices:**
|
||||
- If necessary, add appendices with supplementary information, like reference tables or additional resources.
|
||||
\subpage page_faqs
|
||||
|
||||
17. **Index:**
|
||||
- Include an index to help users quickly find specific topics or terms within the manual.
|
||||
_not yet_
|
||||
|
||||
18. **Legal and Copyright Information:**
|
||||
- Include legal disclaimers, copyright information, and any terms of use or licensing agreements.
|
||||
\subpage page_glossary
|
||||
|
||||
19. **Feedback and Contact Information:**
|
||||
- Encourage users to provide feedback and include contact information for support or inquiries.
|
||||
_not yet_
|
||||
|
||||
20. **Revision History:**
|
||||
- If you plan to update the manual over time, maintain a section for revision history to track changes and updates.
|
||||
\subpage page_appendices
|
||||
|
||||
21. **Conclusion:**
|
||||
- Wrap up the manual with a thank-you message, encouraging users to explore FLUID further.
|
||||
- \ref appendix_code_nodes
|
||||
- \ref appendix_app_settings
|
||||
|
||||
Ensure that your user manual is well-organized, easy to read, and uses clear language. Consider including screenshots, diagrams, and examples to illustrate key points. Test the manual with actual users to gather feedback and make improvements as needed.
|
||||
*/
|
||||
\subpage page_index
|
||||
|
||||
_not yet_
|
||||
|
||||
\subpage page_legal
|
||||
|
||||
_not yet_
|
||||
|
||||
\subpage page_conclusion
|
||||
|
||||
_not yet_
|
||||
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
|
||||
\page page_advanced Advanced Features
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Describe any advanced or less commonly used features of FLUID, such as custom scripting, animations, or specialized widgets.
|
||||
|
||||
*/
|
|
@ -0,0 +1,277 @@
|
|||
/**
|
||||
|
||||
\page page_appendices Appendices
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\section appendix_code_nodes Functional Node Types
|
||||
|
||||
## 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... .
|
||||
// Fluid may actually use C style comment markers.
|
||||
//
|
||||
Fl_Window* make_window() {
|
||||
```
|
||||
|
||||
Fluid recognizes default values in the argument list and geneartes them in the
|
||||
declaration, but omits them in the implementation.
|
||||
|
||||
A short function body can be appended in the *Name* field. With no child, this
|
||||
creates an inlined function in the header file.
|
||||
|
||||
<!-- ---------------------------------------------------------------------- -->
|
||||
|
||||
## C Source Code ##
|
||||
|
||||
![](flCode.png) Code
|
||||
|
||||
...write me.
|
||||
|
||||
### Parents ###
|
||||
|
||||
...write me.
|
||||
|
||||
### Children ###
|
||||
|
||||
...write me.
|
||||
|
||||
## Code Block ##
|
||||
|
||||
...write me.
|
||||
|
||||
## Declaration ##
|
||||
|
||||
...write me.
|
||||
|
||||
## Declaration Block ##
|
||||
|
||||
...write me.
|
||||
|
||||
## Classes ##
|
||||
|
||||
...write me.
|
||||
|
||||
## Widget Class ##
|
||||
|
||||
...write me.
|
||||
|
||||
## Comments ##
|
||||
|
||||
...write me.
|
||||
|
||||
## Inlined Data ##
|
||||
|
||||
<!-- ---------------------------------------------------------------------- -->
|
||||
|
||||
\section appendix_app_settings Fluid Application Settings
|
||||
|
||||
## Options ##
|
||||
|
||||
__Select scheme__ : select a scheme for Fluid. Changes in the scheme will be
|
||||
visible instantly in all windows.
|
||||
|
||||
__Show tooltips__ : if checked, show tooltips for most UI elements in Fluid dialogs.
|
||||
|
||||
__Show completions dialogs__ : if checked, Fluid will pop up a dialog box
|
||||
after generating code, header, and strings files.
|
||||
|
||||
__Open previous file on startup__ : when launching Fluid in its interactive
|
||||
mode, it will load the file that was last open when Fluid was closed.
|
||||
|
||||
__Remember window positions__ : reopen windows and dialogs where they were
|
||||
left when Fluid was last closed.
|
||||
|
||||
__Show comments in browser__ : if a comment has been specified for a type, show
|
||||
the initial line of the comment within the widget tree browser.
|
||||
|
||||
## External Editor ##
|
||||
|
||||
When you configure the External Editor text field with a shell command and
|
||||
select the "Use for Code Nodes" option, FLUID will launch an external editor
|
||||
for editing the C++ code within a Code Node. After making changes and saving
|
||||
the code in the external editor, it will automatically be transferred back
|
||||
into the Code Node. The shell command is constructed by combining the text
|
||||
field's content with the path and name of a temporary file containing the
|
||||
code snippet. The file name ends in `.cxx`.
|
||||
|
||||
## Overlays ##
|
||||
|
||||
__Show positioning guides__ :
|
||||
|
||||
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.
|
||||
|
||||
__Show restricted areas__ :
|
||||
|
||||
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.
|
||||
|
||||
__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.
|
||||
|
||||
During live resizing and after project compilation, all groups will be
|
||||
rendered as originally designed, without the ghosted outline.
|
||||
|
||||
*/
|
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
\page page_basics Basic Operations
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Provide step-by-step instructions for common tasks, such as creating a new project, opening existing projects, and saving work.
|
||||
|
||||
*/
|
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
|
||||
\page page_code_integration Code Integration
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Explain how to integrate code into FLUID, including code nodes and event handling.
|
||||
|
||||
*/
|
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
|
||||
\page page_conclusion Conclusion
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Wrap up the manual with a thank-you message, encouraging users to explore FLUID further.
|
||||
|
||||
## Feedback and Contact Information ##
|
||||
- Encourage users to provide feedback and include contact information for support or inquiries.
|
||||
|
||||
## Revision History ##
|
||||
- If you plan to update the manual over time, maintain a section for revision history to track changes and updates.
|
||||
|
||||
*/
|
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
|
||||
\page page_faqs FAQs
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Include a section with frequently asked questions and their answers.
|
||||
|
||||
*/
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
|
||||
\page page_getting_started Getting Started
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Walk users through the initial setup and installation process.
|
||||
- Explain how to launch the FLUID editor.
|
||||
|
||||
*/
|
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
|
||||
\page page_glossary Glossary
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Define any technical terms or jargon used in FLUID.
|
||||
|
||||
*/
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
|
||||
\page page_index Index
|
||||
|
||||
- Include an index to help users quickly find specific topics or terms within the manual.
|
||||
|
||||
*/
|
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
|
||||
\page page_introduction Introduction
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Provide an introduction that explains the purpose of the user manual and any prerequisites or system requirements.
|
||||
|
||||
*/
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
|
||||
\page page_layout Layout and Design
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Discuss how to arrange and design UI elements in the editor.
|
||||
- Cover alignment, grouping, and layout management.
|
||||
|
||||
*/
|
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
|
||||
\page page_legal Legal and Copyright Information
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Include legal disclaimers, copyright information, and any terms of use or licensing agreements.
|
||||
|
||||
*/
|
|
@ -0,0 +1,59 @@
|
|||
/**
|
||||
|
||||
\page page_shortcuts Keyboard Shortcuts
|
||||
|
||||
On Apple computers, use the Apple Command key instead of Ctrl.
|
||||
|
||||
| | Shortcut | Location | Function |
|
||||
|:-:|----------|----------|----------|
|
||||
|A| Ctrl-A | Edit > Select All | extend selection to all siblings and descendants |
|
||||
|^| Shift-Ctrl-A | Edit > Select None | deselect all types |
|
||||
|B| Alt-B | Edit > Widget Bin | show or hide the widget bin |
|
||||
|C| Ctrl-C | Edit > Copy | copy selected types and all descendants |
|
||||
|^| Shift-Ctrl-C | File > Code | generate the code and header files |
|
||||
|G| Ctrl-G | Layout > Grid and Size... | show grid and size setting dialog |
|
||||
|^| Shift-Ctrl-G | Edit > Guides | show or hide alignment guides |
|
||||
|^| Alt-G | Shell > Sample Script | custom shortcut for a default sample script |
|
||||
|I| Ctrl-I | File > Insert... | merge a project file into the current project |
|
||||
|N| Ctrl-N | File > New | start a new project |
|
||||
|^| Shift-Ctrl-N | File > New From Template.. | open a dialog with a list of project templates |
|
||||
|O| Ctrl-O | File > Open... | open a project file |
|
||||
|^| Shift-Ctrl-O | Edit > Overlays | show or hide overlay in interactive windows |
|
||||
|P| Ctrl-P | File > Print... | print a snapshot of every project window |
|
||||
|^| Alt-P | Edit > Settings... | show settings dialog |
|
||||
|Q| Ctrl-Q | File > Quit | Fluid beenden |
|
||||
|R| Shift-Ctrl-R | Edit > Restricted | show or hide restricted or conflicting areas |
|
||||
|S| Ctrl-S | File > Save | write the current project to a file |
|
||||
|^| Shift-Ctrl-S | File > Save As... | write the current project using a new filename |
|
||||
|^| Shift-Alt-S | Edit > Source Code | show or hide source code live preview |
|
||||
|U| Ctrl-U | Edit > Duplicate | duplicate selected types |
|
||||
|V| Ctrl-V | Edit > Paste | paste copied type into selected type |
|
||||
|W| Shift-Ctrl-W | File > Write Strings | generate the strings for internationalisation |
|
||||
|X| Ctrl-X | Edit > Cut | cut selected types |
|
||||
|^| Alt-X | Shell > Customize... | open shell settings dialog |
|
||||
|Z| Ctrl-Z | Edit > Undo | undo last operation |
|
||||
|^| Shift-Ctrl-Z | Edit > Redo | undo the previous undo |
|
||||
| | | | |
|
||||
|#| Ctrl-1..9 | File > (history) | load project from previous file history |
|
||||
| | Del | Edit > Delete | delete selected types |
|
||||
| | | | |
|
||||
|fn| F1 | Edit > Properties | open the properties dialog for selected types |
|
||||
|^| F2 | Edit > Earlier | move selected type up in the sibling list |
|
||||
|^| F3 | Edit > Later | move selected type down in the sibling list |
|
||||
|^| F7 | Edit > Group | enclose selected type in a new group |
|
||||
|^| F8 | Edit > Ungroup | move all selected types out of a group and delete the group |
|
||||
|
||||
| Action | Function in interactive Window |
|
||||
|--------|--------------------------------|
|
||||
| LMB | select one widget |
|
||||
| Shift-LMB | extend widget selection |
|
||||
| Shift-LMB-Drag | window type only: resize proportional |
|
||||
| Tab | select next |
|
||||
| Shift-Tab | select previous |
|
||||
| Arrow Key | move widget by one unit |
|
||||
| Shift-Arrow | resize by one unit |
|
||||
| Ctrl-Arrow | move by grid units |
|
||||
| Shift-Ctrl-Arrow | resize by grid units |
|
||||
| Alt-Arrow | rearrange widget inside a layout group like Fl_Grid or Fl_Flex |
|
||||
|
||||
*/
|
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
\page page_ui_overview User Interface Overview
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Describe the main components of the FLUID user interface, including menus, toolbars, panels, and any unique features.
|
||||
|
||||
*/
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
|
||||
\page page_widget_types Widgets and Elements
|
||||
|
||||
\tableofcontents
|
||||
|
||||
- Explain how to add, modify, and delete widgets and UI elements.
|
||||
- Detail the available widget libraries and their usage.
|
||||
|
||||
*/
|
|
@ -1671,9 +1671,9 @@ Fl_Menu_Item Main_Menu[] = {
|
|||
{"New &From Template...", FL_COMMAND+'N', menu_file_new_from_template_cb, 0},
|
||||
{"Save As &Template...", 0, save_template_cb, 0, FL_MENU_DIVIDER},
|
||||
{"&Print...", FL_COMMAND+'p', print_menu_cb},
|
||||
{"Write &Code...", FL_COMMAND+FL_SHIFT+'c', write_cb, 0},
|
||||
{"Write &Code", FL_COMMAND+FL_SHIFT+'c', write_cb, 0},
|
||||
// Matt: disabled {"MergeBack Code", FL_COMMAND+FL_SHIFT+'m', mergeback_cb, 0},
|
||||
{"&Write Strings...", FL_COMMAND+FL_SHIFT+'w', write_strings_cb, 0, FL_MENU_DIVIDER},
|
||||
{"&Write Strings", FL_COMMAND+FL_SHIFT+'w', write_strings_cb, 0, FL_MENU_DIVIDER},
|
||||
{relative_history[0], FL_COMMAND+'1', menu_file_open_history_cb, absolute_history[0]},
|
||||
{relative_history[1], FL_COMMAND+'2', menu_file_open_history_cb, absolute_history[1]},
|
||||
{relative_history[2], FL_COMMAND+'3', menu_file_open_history_cb, absolute_history[2]},
|
||||
|
|
Loading…
Reference in New Issue