Gui Command: Difference between revisions

From FreeCAD Documentation
m (template fr)
(link http://tango-project.org/Tango_Desktop_Project/)
(18 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<languages/>
<translate>
<!--T:1-->
The GuiCommand is one of the most important functions of FreeCAD
The GuiCommand is one of the most important functions of FreeCAD
in the main interaction point of the user. Every time the user
in the main interaction point of the user. Every time the user
Line 9: Line 12:
* Opens and controls dialogs
* Opens and controls dialogs
* Macro recording
* Macro recording
* and so forth...
* and others.


=== Naming ===
== Naming == <!--T:2-->
The GuiCommand is named in a certain way: ''ModuleName_CommandName''
The GuiCommand is named in a standard way: ''ModuleName_CommandName''
e.g "Base_Open" this is the Open Gui Command in the Base system.
e.g., "[[Base_Open|Base_Open]]" this is the Open Gui Command in the Base system.
The GuiCommand in a certain module is named with the module name
The GuiCommand in a certain module is named with the module name
in front e.g. "Part_Cylinder".
in front e.g., "[[Part_Cylinder|Part_Cylinder]]".


<!--T:3-->
If the docu is not finished use [[Template:UnfinishedDocu]]
If the documentation is not finished use [[Template:UnfinishedDocu]].


=== Help page ===
== Help page == <!--T:4-->
Every GuiCommand has to have a help page. The help page is hosted on the
Every GuiCommand has to have a help page. The help page is hosted on the
FreeCAD docu wiki. The article has the same name as the GuiCommand, e.g. [[Std ViewScreenShot]].
FreeCAD documentation wiki. The article has the same name as the GuiCommand, e.g. [[Draft ShapeString|Draft ShapeString]].


<!--T:5-->
To create your own help pages you can use the template:
[[GuiCommand model]]
To create your own help pages you can use the template [[GuiCommand model|GuiCommand model]]


<!--T:6-->
Example:
Example:
* [[Draft ShapeString|Draft ShapeString]]
* [[Std_ViewScreenShot]]
* [[Part_Cylinder]]
* [[Draft Line|Draft Line]]
* [[Std_Open]]


=== Icons ===
== Icons == <!--T:7-->
[[Image:Tango-Palette.png|400px|right]]
[[Image:Tango-Palette.png|400px|right]]


<!--T:8-->
Every GuiCommand has to have an icon. We use the [http://tango.freedesktop.org/Tango_Desktop_Project| Tango icon set] and its guidelines. On the right side you see
Every GuiCommand has to have an icon. We use the [http://tango-project.org/Tango_Desktop_Project/ Tango icon set] and its guidelines.
the tango color palette.
On the right side you see the tango color palette.


<!--T:9-->
Preferable all Icons are drafted with SVG with e.g. [http://inkscape.org Inkscape].
All icons should be created in [[SVG|SVG]] format with a vector image application, such as [http://inkscape.org Inkscape].
This makes it easier to apply changes and derive
This makes it easier to apply changes and derive
additional Icons in the same application space.
additional icons in the same application space.


===Icons color coding chart=== <!--T:10-->
=== Quality requirements ===

There are a lot of GuiCommands (Features) in FreeCAD which are experimental
<!--T:11-->
or used shortly for implementation purposes. These GuiCommands are mostly in
[[Image:Colorchart.png|200px]]

<!--T:12-->
We try as much as possible to respect this chart, so the color of the icons has a direct meaning.

== Quality requirements == <!--T:13-->
{{VeryImportantMessage|The [[Complete Workbench|Complete Workbench]] is deprecated, it no longer holds each of the commands in FreeCAD.}}

<!--T:17-->
<s>There are a lot of GuiCommands (tools) in FreeCAD which are experimental
or used for a short time to test implementation of new features. These GuiCommands are mostly in
the dedicated workbenches like Part, Mesh or Cam.
the dedicated workbenches like Part, Mesh or Cam.
To ensure a good user experience the workbench ''Complete'' was created. This
To ensure a good user experience the workbench ''Complete'' was created. This
is the default start workbench of FreeCAD and incorporates all GuiCommands
workbench incorporates all GuiCommands
which meet certain '''Quality requirements''' which are described here:
which meet certain quality requirements which are described here:

<!--T:14-->
* The command or feature has to be "finished", that is, not be a work in progress.
* It has to set up a proper icon and menu position.
* It has to have a help page, like [[Draft ShapeString|Draft ShapeString]].
** All the fields in [[Template:GuiCommand]] have to be filled in
** It should have a detailed description of the command and all its parameters and settings.
** It should have a picture of the dialogs that the command will produce.
** It should have a description of the related [[Python|Python]] interfaces and classes with example code.

<!--T:15-->
Hopefully this becomes true for all GuiCommands in the [[List of Commands|List of Commands]].</s>



<!--T:18-->
* The Command/Feature has to be '''finished'''. No work in progress!
{{Userdocnavi}}
* Has to have a '''help page''' like [[Std ViewScreenShot|this one]]
** All the fields in [[Template:GuiCommand]] have to filled in
** A picture of the dialogs the command eventually yield
** detailed description of the command and all its parameters and settings
** Description of the related python interfaces and classes with example code
* Set up a proper Icon and menu position


<!--T:16-->
Hopefully this becomes true for all GuiCommands in the [[List of Commands]].
[[Category:User Documentation]]
[[Category:Command Reference]]


</translate>
{{languages | {{es|Gui_Command/es}} {{fr|Gui_Command/fr}} {{it|Gui_Command/it}} {{ru|Gui_Command/ru}} }}
{{clear}}

Revision as of 11:47, 23 December 2019

The GuiCommand is one of the most important functions of FreeCAD in the main interaction point of the user. Every time the user selects a menu item or presses a toolbar button it activates a GuiCommand. Some of the attributes of a GuiCommand are:

  • Defines a name
  • Contains an icon
  • Defines the scope for an undo/redo
  • Has a help page
  • Opens and controls dialogs
  • Macro recording
  • and others.

Naming

The GuiCommand is named in a standard way: ModuleName_CommandName e.g., "Base_Open" this is the Open Gui Command in the Base system. The GuiCommand in a certain module is named with the module name in front e.g., "Part_Cylinder".

If the documentation is not finished use Template:UnfinishedDocu.

Help page

Every GuiCommand has to have a help page. The help page is hosted on the FreeCAD documentation wiki. The article has the same name as the GuiCommand, e.g. Draft ShapeString.

To create your own help pages you can use the template GuiCommand model

Example:

Icons

Every GuiCommand has to have an icon. We use the Tango icon set and its guidelines. On the right side you see the tango color palette.

All icons should be created in SVG format with a vector image application, such as Inkscape. This makes it easier to apply changes and derive additional icons in the same application space.

Icons color coding chart

We try as much as possible to respect this chart, so the color of the icons has a direct meaning.

Quality requirements

The Complete Workbench is deprecated, it no longer holds each of the commands in FreeCAD.

There are a lot of GuiCommands (tools) in FreeCAD which are experimental or used for a short time to test implementation of new features. These GuiCommands are mostly in the dedicated workbenches like Part, Mesh or Cam. To ensure a good user experience the workbench Complete was created. This workbench incorporates all GuiCommands which meet certain quality requirements which are described here:

  • The command or feature has to be "finished", that is, not be a work in progress.
  • It has to set up a proper icon and menu position.
  • It has to have a help page, like Draft ShapeString.
    • All the fields in Template:GuiCommand have to be filled in
    • It should have a detailed description of the command and all its parameters and settings.
    • It should have a picture of the dialogs that the command will produce.
    • It should have a description of the related Python interfaces and classes with example code.

Hopefully this becomes true for all GuiCommands in the List of Commands.