Skip to content

Commit

Permalink
Add help links in actions/conditions editor (#576)
Browse files Browse the repository at this point in the history
* Add support for help links in InstructionParametersEditor.
* Add help paths for extensions/objects/behaviors/instructions
  • Loading branch information
4ian authored Aug 7, 2018
1 parent 97c0761 commit 39887cc
Show file tree
Hide file tree
Showing 68 changed files with 460 additions and 466 deletions.
14 changes: 8 additions & 6 deletions Core/GDCore/Extensions/Builtin/AdvancedExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsAdvancedExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation(
"BuiltinAdvanced",
_("Advanced control features"),
_("Built-in extension providing advanced control features."),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation(
"BuiltinAdvanced",
_("Advanced control features"),
_("Built-in extension providing advanced control features."),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("" /*TODO: Add a documentation page for this */);

#if defined(GD_IDE_ONLY)
extension
Expand Down
12 changes: 7 additions & 5 deletions Core/GDCore/Extensions/Builtin/AudioExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsAudioExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation("BuiltinAudio",
_("Audio"),
_("Builtin audio extension"),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation("BuiltinAudio",
_("Audio"),
_("Builtin audio extension"),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("/all-features/audio");

#if defined(GD_IDE_ONLY)
extension
Expand Down
28 changes: 8 additions & 20 deletions Core/GDCore/Extensions/Builtin/BaseObjectExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,13 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation("BuiltinObject",
_("Base object"),
_("Base object"),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation("BuiltinObject",
_("Base object"),
_("Base object"),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("/objects/base_object");

gd::ObjectMetadata& obj = extension.AddObject<gd::Object>(
"", _("Base object"), _("Base object"), "res/objeticon24.png");
Expand All @@ -34,7 +36,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("X position"))
.MarkAsSimple()
.SetHelpPage("gdevelop/documentation/manual/base")
.SetManipulatedType("number");

obj.AddAction("MettreX",
Expand All @@ -49,7 +50,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsSimple()
.SetHelpPage("gdevelop/documentation/manual/base")
.SetManipulatedType("number");

obj.AddCondition("PosY",
Expand All @@ -64,7 +64,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("relationalOperator", _("Sign of the test"))
.AddParameter("expression", _("Y position"))
.MarkAsSimple()
.SetHelpPage("gdevelop/documentation/manual/base")
.SetManipulatedType("number");

obj.AddAction("MettreY",
Expand All @@ -79,7 +78,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.MarkAsSimple()
.SetHelpPage("gdevelop/documentation/manual/base")
.SetManipulatedType("number");

obj.AddAction(
Expand All @@ -96,7 +94,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("expression", _("X position"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Y position"))
.SetHelpPage("gdevelop/documentation/manual/base")
.MarkAsSimple();

obj.AddAction("MettreAutourPos",
Expand All @@ -115,7 +112,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("expression", _("Y position"))
.AddParameter("expression", _("Distance"))
.AddParameter("expression", _("Angle, in degrees"))
.SetHelpPage("gdevelop/documentation/manual/base")
.MarkAsAdvanced();

obj.AddAction("SetAngle",
Expand All @@ -129,7 +125,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("object", _("Object"))
.AddParameter("operator", _("Modification's sign"))
.AddParameter("expression", _("Value"))
.SetHelpPage("gdevelop/documentation/manual/base")
.SetManipulatedType("number");

obj.AddAction("Rotate",
Expand All @@ -144,7 +139,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("object", _("Object"))
.AddParameter("expression", _("Angular speed (in degrees per second)"))
.AddCodeOnlyParameter("currentScene", "")
.SetHelpPage("gdevelop/documentation/manual/base")
.MarkAsSimple();

obj.AddAction(
Expand All @@ -161,7 +155,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter(
"expression",
_("Angular speed (in degrees per second) (0 for immediate rotation)"))
.SetHelpPage("gdevelop/documentation/manual/base")
.AddCodeOnlyParameter("currentScene", "");

obj.AddAction(
Expand All @@ -181,7 +174,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
"expression",
_("Angular speed (in degrees per second) (0 for immediate rotation)"))
.AddCodeOnlyParameter("currentScene", "")
.SetHelpPage("gdevelop/documentation/manual/base")
.MarkAsAdvanced();

obj.AddAction("AddForceXY",
Expand All @@ -197,8 +189,7 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("object", _("Object"))
.AddParameter("expression", _("Speed on X axis (in pixels per second)"))
.AddParameter("expression", _("Speed on Y axis (in pixels per second)"))
.AddParameter("expression", _("Damping (Default: 0)"))
.SetHelpPage("gdevelop/documentation/manual/base");
.AddParameter("expression", _("Damping (Default: 0)"));

obj.AddAction("AddForceAL",
_("Add a force (angle)"),
Expand All @@ -215,7 +206,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("expression", _("Angle"))
.AddParameter("expression", _("Speed (in pixels per second)"))
.AddParameter("expression", _("Damping (Default: 0)"))
.SetHelpPage("gdevelop/documentation/manual/base")
.MarkAsAdvanced();

obj.AddAction(
Expand All @@ -233,7 +223,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("expression", _("Y position"))
.AddParameter("expression", _("Speed (in pixels per second)"))
.AddParameter("expression", _("Damping (Default: 0)"))
.SetHelpPage("gdevelop/documentation/manual/base#displacement")
.MarkAsAdvanced();

obj.AddAction(
Expand Down Expand Up @@ -266,7 +255,6 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
"res/actions/arreter.png")

.AddParameter("object", _("Object"))
.SetHelpPage("gdevelop/documentation/manual/base#displacement")
.MarkAsAdvanced();

obj.AddAction("Delete",
Expand Down
12 changes: 7 additions & 5 deletions Core/GDCore/Extensions/Builtin/CameraExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsCameraExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation("BuiltinCamera",
_("Cameras and layers features"),
_("Built-in camera extension"),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation("BuiltinCamera",
_("Cameras and layers features"),
_("Built-in camera extension"),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("" /*TODO: Add a documentation page for this */);

#if defined(GD_IDE_ONLY)
extension
Expand Down
14 changes: 8 additions & 6 deletions Core/GDCore/Extensions/Builtin/CommonConversionsExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@ namespace gd {
void GD_CORE_API
BuiltinExtensionsImplementer::ImplementsCommonConversionsExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation(
"BuiltinCommonConversions",
_("Standard Conversions"),
_("Built-in extension providing standard conversions expressions."),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation(
"BuiltinCommonConversions",
_("Standard Conversions"),
_("Built-in extension providing standard conversions expressions."),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("" /*TODO: Add a documentation page for this */);

#if defined(GD_IDE_ONLY)

Expand Down
14 changes: 8 additions & 6 deletions Core/GDCore/Extensions/Builtin/CommonInstructionsExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,14 @@ namespace gd {
void GD_CORE_API
BuiltinExtensionsImplementer::ImplementsCommonInstructionsExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation(
"BuiltinCommonInstructions",
_("Standard events"),
_("Built-in extension providing standard events."),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation(
"BuiltinCommonInstructions",
_("Standard events"),
_("Built-in extension providing standard events."),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("" /*TODO: Add a documentation page for this */);

#if defined(GD_IDE_ONLY)
extension
Expand Down
16 changes: 9 additions & 7 deletions Core/GDCore/Extensions/Builtin/ExternalLayoutsExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,15 @@ namespace gd {
void GD_CORE_API
BuiltinExtensionsImplementer::ImplementsExternalLayoutsExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation(
"BuiltinExternalLayouts",
_("External layouts"),
_("Built-in extension providing actions and conditions related to "
"external layouts"),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation(
"BuiltinExternalLayouts",
_("External layouts"),
_("Built-in extension providing actions and conditions related to "
"external layouts"),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("" /*TODO: Add a documentation page for this */);

#if defined(GD_IDE_ONLY)
extension
Expand Down
14 changes: 8 additions & 6 deletions Core/GDCore/Extensions/Builtin/FileExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsFileExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation("BuiltinFile",
_("Storage and files"),
_("Built-in extension providing functions "
"to store data and manipulate files."),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation("BuiltinFile",
_("Storage and files"),
_("Built-in extension providing functions "
"to store data and manipulate files."),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("/all-features/storage");

#if defined(GD_IDE_ONLY)
extension
Expand Down
14 changes: 8 additions & 6 deletions Core/GDCore/Extensions/Builtin/JoystickExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsJoystickExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation(
"BuiltinJoystick",
_("Joysticks features"),
_("Built-in extension that enables the use of joysticks"),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation(
"BuiltinJoystick",
_("Joysticks features"),
_("Built-in extension that enables the use of joysticks"),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("" /*TODO: Add a documentation page for this */);

#if defined(GD_IDE_ONLY)
extension
Expand Down
14 changes: 8 additions & 6 deletions Core/GDCore/Extensions/Builtin/KeyboardExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsKeyboardExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation(
"BuiltinKeyboard",
_("Keyboard features"),
_("Built-in extension that enables the use of a keyboard"),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation(
"BuiltinKeyboard",
_("Keyboard features"),
_("Built-in extension that enables the use of a keyboard"),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("" /*TODO: Add a documentation page for this */);

#if defined(GD_IDE_ONLY)
extension
Expand Down
14 changes: 8 additions & 6 deletions Core/GDCore/Extensions/Builtin/MouseExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsMouseExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation(
"BuiltinMouse",
_("Mouse features"),
_("Built-in extension that enables the use of a mouse"),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation(
"BuiltinMouse",
_("Mouse features"),
_("Built-in extension that enables the use of a mouse"),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("/events/mouse-touch");

#if defined(GD_IDE_ONLY)
extension
Expand Down
14 changes: 8 additions & 6 deletions Core/GDCore/Extensions/Builtin/NetworkExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsNetworkExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation(
"BuiltinNetwork",
_("Basic internet features"),
_("Built-in extension providing network features."),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation(
"BuiltinNetwork",
_("Basic internet features"),
_("Built-in extension providing network features."),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("/all-features/network");

#if defined(GD_IDE_ONLY)
extension
Expand Down
14 changes: 8 additions & 6 deletions Core/GDCore/Extensions/Builtin/SceneExtension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ namespace gd {

void GD_CORE_API BuiltinExtensionsImplementer::ImplementsSceneExtension(
gd::PlatformExtension& extension) {
extension.SetExtensionInformation(
"BuiltinScene",
_("Scene management features"),
_("This Built-in extension allows you to manipulate scenes"),
"Florian Rival",
"Open source (MIT License)");
extension
.SetExtensionInformation(
"BuiltinScene",
_("Scene management features"),
_("Built-in extension allowing to manipulate scenes and providing common features"),
"Florian Rival",
"Open source (MIT License)")
.SetExtensionHelpPath("" /*TODO: Add a documentation page for this */);

#if defined(GD_IDE_ONLY)

Expand Down
Loading

3 comments on commit 39887cc

@Bouh
Copy link
Collaborator

@Bouh Bouh commented on 39887cc Aug 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe the feature is not finish ?
When i with compile for GD4, i've an error about "GetHelpPage" :

Image error

[ 53%] Building CXX object IDE/CMakeFiles/GDIDE.dir/InstructionSelectorDialog.cpp.obj
C:\GD\IDE\InstructionSelectorDialog.cpp: In member function 'void InstructionSelectorDialog::RefreshFromInstruction()':
C:\GD\IDE\InstructionSelectorDialog.cpp:465:56: error: 'const class gd::InstructionMetadata' has no member named 'GetHelpPage'
     instructionHelpLinkCtrl->Show( instructionMetadata.GetHelpPage() != "" );
                                                        ^
C:\GD\IDE\InstructionSelectorDialog.cpp: In member function 'void InstructionSelectorDialog::OnInstructionHelpLinkCtrlClicked(wxHyperlinkEvent&)':
C:\GD\IDE\InstructionSelectorDialog.cpp:603:62: error: 'const class gd::InstructionMetadata' has no member named 'GetHelpPage'
     gd::HelpFileAccess::Get()->OpenPage( instructionMetadata.GetHelpPage() );
                                                              ^
IDE\CMakeFiles\GDIDE.dir\build.make:608: recipe for target 'IDE/CMakeFiles/GDIDE.dir/InstructionSelectorDialog.cpp.obj' failed
mingw32-make[2]: *** [IDE/CMakeFiles/GDIDE.dir/InstructionSelectorDialog.cpp.obj] Error 1
CMakeFiles\Makefile2:932: recipe for target 'IDE/CMakeFiles/GDIDE.dir/all' failed
mingw32-make[1]: *** [IDE/CMakeFiles/GDIDE.dir/all] Error 2
Makefile:128: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

C:\GD\Binaries\build>``

@4ian
Copy link
Owner Author

@4ian 4ian commented on 39887cc Aug 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Bouh I forgot to update libGD.js - I have to find a better way to ensure that this file is kept up to date. Will fix this tomorrow

@4ian
Copy link
Owner Author

@4ian 4ian commented on 39887cc Aug 13, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Bouh It should be fixed: go in newIDE/app/public and delete libGD.js (so that it is downloaded again).
Relaunch GDevelop (npm start or yarn start) and it should work! :)

Please sign in to comment.