You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/csharp/extensibility-api-reference-guide/extension-points.md
+11-14Lines changed: 11 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,34 +7,31 @@ weight: 9
7
7
8
8
## Introduction
9
9
10
-
Extension points allow you to hook functionality into various areas of the Studio Pro IDE. Extension point is a base class that you as an extension developer can inherit from. Your functionality will then be loaded by Studio Pro. These classes all have the `*Extension` suffix, inherit from [`ExtensionBase`](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI/ExtensionBase.md) base class, and contain a few virtual or abstract members.
10
+
Extension points allow you to hook functionality into various areas of the Studio Pro IDE. `ExtensionPoint`is a base class that extension developers can inherit from. Once inherited, your functionality will be loaded by Studio Pro. These classes all have the `*Extension` suffix, inherit from the [`ExtensionBase`](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI/ExtensionBase.md) base class, and include a few virtual or abstract members.
11
11
12
-
Extension point is the only way you can add a custom behavior to Studio Pro. The rest of the APIs are there only to aid with implementing or expressing these behaviors.
12
+
`ExtensionPoint`is the only way to add custom behavior to Studio Pro. All other APIs provided solely to support the implementation or expression of these behaviors.
13
13
14
-
To be injected, your class must be decorated with [ExportAttribute](https://docs.microsoft.com/en-us/dotnet/api/system.composition.exportattribute?view=dotnet-plat-ext-6.0)
15
-
like in the example above. This attribute is part of [Managed Extensibility Framework](https://docs.microsoft.com/en-us/dotnet/framework/mef/)
16
-
that is employed by Studio Pro.
14
+
To be injected, your class must be decorated with the [ExportAttribute](https://docs.microsoft.com/en-us/dotnet/api/system.composition.exportattribute?view=dotnet-plat-ext-6.0),
15
+
as shown in the example above. This attribute is part of the [Managed Extensibility Framework](https://docs.microsoft.com/en-us/dotnet/framework/mef/) that is used by Studio Pro.
17
16
18
17
## List of Available Extension Points
19
18
20
19
### Studio Pro UI Extensions
21
20
22
-
*[ContextMenuExtension](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.UI.Menu/ContextMenuExtension-1.md) – This allows injecting new context menu items into model elements.
23
-
24
-
*[MenuExtension](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.UI.Menu/MenuExtension.md) – This allows injecting new menu items into Studio Pro menu bar.
25
-
21
+
*[ContextMenuExtension](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.UI.Menu/ContextMenuExtension-1.md) – allows injecting new context menu items into model elements
22
+
*[MenuExtension](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.UI.Menu/MenuExtension.md) – allows injecting new menu items into the Studio Pro menu bar
26
23
*[DockablePaneExtension](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.UI.DockablePane/DockablePaneExtension.md) – allows introducing new
27
-
[dockable pane](/refguide/studio-pro-overview/#panes) like Connector or Documentation. Panes integrate with Studio Pro
24
+
[dockable pane](/refguide/studio-pro-overview/#panes), like Connector or Documentation; panes integrate with Studio Pro
{{% alert color="info" %}}It is advised to introduce a new **View** menu item for each pane, so that Studio Pro users have a way to open it.{{% /alert %}}
27
+
{{% alert color="info" %}}It is advised to introduce a new **View** menu item for each pane so Studio Pro users have a way to open it.{{% /alert %}}
31
28
32
-
Additionally, there are additional features that provide access to the following:
29
+
There are additional features that provide access to the following:
33
30
34
31
*[Studio Pro configuration](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI/ExtensionBase/Configuration.md)
35
32
*[The currently opened app](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.UI/UIExtensionBase/CurrentApp.md), as well as event subscription mechanism to that app
36
-
* Events can be subscribed to by using the subscribe and unsubscribe methods exposed in [UIExtensionBase](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.UI/UIExtensionBase.md).
33
+
* Events can be subscribed to by using the subscribe and unsubscribe methods exposed in [UIExtensionBase](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.UI/UIExtensionBase.md)
37
34
38
35
### Studio Pro and MxBuild Extensions
39
36
40
-
*[ConsistencyCheckExtension](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.ConsistencyCheck/ConsistencyCheckExtension-1.md) – This allows injecting custom logic into the [Consistency check](/refguide/consistency-errors/) process.
37
+
*[ConsistencyCheckExtension](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI.ConsistencyCheck/ConsistencyCheckExtension-1.md) – allows injecting custom logic into the [Consistency check](/refguide/consistency-errors/) process
Copy file name to clipboardExpand all lines: content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/csharp/extensibility-api-reference-guide/services.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ weight: 10
7
7
8
8
## Introduction
9
9
10
-
A Studio Pro service is an interface that exposes some core Studio Pro functionality to extensions. These interfaces are named `I*Service` and can be found in `Mendix.StudioPro.ExtensionsAPI.Services` or `Mendix.StudioPro.ExtensionsAPI.UI.Services` namespaces. It can be injected using the Microsoft Extensions Framework, also referred to as MEF. For more information about MEF and how to use it please refer to the official [Microsoft documentation](https://learn.microsoft.com/en-us/dotnet/framework/mef/)
10
+
A Studio Pro service is an interface that exposes some core Studio Pro functionality to extensions. These interfaces are named `I*Service` and can be found in `Mendix.StudioPro.ExtensionsAPI.Services` or `Mendix.StudioPro.ExtensionsAPI.UI.Services` namespaces. It can be injected using the Microsoft Extensions Framework, also referred to as MEF. For more information about MEF and how to use it, refer to the official [Microsoft documentation](https://learn.microsoft.com/en-us/dotnet/framework/mef/)
11
11
12
12
{{% alert color="info" %}}You should not implement these interfaces in your production code, although it is possible to make sense to do so for unit testing purposes.{{% /alert %}}
Copy file name to clipboardExpand all lines: content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/csharp/extensibility-api-reference-guide/web-view.md
+7-8Lines changed: 7 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,20 +7,19 @@ weight: 12
7
7
8
8
## Introduction
9
9
10
-
In all places where the Studio Pro Extensibility API allows you to add custom UI, you can use web technology to implement the UI.
10
+
Wherever the Studio Pro Extensibility API allows you to add custom UI, you can implement it using web technologies.
11
11
12
-
Studio Pro contains a built-in web view that you can leverage to show your web-based UI.
13
-
Studio Pro also contains a built-in web server that can be used to serve the web UI, as well as to serve data to the web UI.
12
+
Studio Pro includes a built-in web view for displaying your web-based UI. It also provides a built-in web server that can be used to serve both the web UI and the data it requires.
14
13
15
-
In addition, there is a two-way message passing mechanism for direct communication between the web content and the C# part of your extension.
14
+
Additionally, a two-way message passing mechanism enables direct communication between the web content and the C# part of your extension.
16
15
17
16
## Showing a Web View in the UI
18
17
19
-
There are a number of places where the Studio Pro Extensibility API allows you to add custom UI.
18
+
There are a number of places where the Extensibility API allows you to add custom UI.
20
19
21
-
Typically, the Extensibility API requires you to return a view model for your UI, and for every view model type, there is a corresponding base class for showing the UI in a web view.
20
+
Typically, the Extensibility API requires you to return a view model for your UI. Every view model type has a corresponding base class used to display the UI in a web view.
22
21
23
-
The following table shows the APIs that allow you to add custom UI, and the corresponding view model base class:
22
+
The table below lists the APIs that support custom UI and the corresponding view model base class:
24
23
25
24
| UI element | API for adding UI | Base class for view model |
@@ -51,7 +50,7 @@ For serving content to the web view and communicating both ways with it, see [Bu
51
50
52
51
If your pane or tab was open when Studio Pro was closed, your web content might fail to load when you reopen Studio Pro. This is because the `WebServerBaseUrl` property is null due to timing issues in the startup sequence.
53
52
54
-
To resolve this, listen to `OnWebServerBaseUrlChanged` in your `WebServerExtension`. This will get the URL when it gets re-initialized.
53
+
To resolve this, listen to `OnWebServerBaseUrlChanged` in your `WebServerExtension`. This will get the URL when it is reinitialized.
0 commit comments