Skip to content

Commit

Permalink
Merge branch 'release/v24.1.0' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
billhenn committed Feb 26, 2024
2 parents 3c3c875 + 583c3e8 commit 15f9410
Show file tree
Hide file tree
Showing 277 changed files with 8,219 additions and 3,143 deletions.
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Actipro's Public Discussion Forums
url: https://www.actiprosoftware.com/community/forums
about: Our official product support forums where Actipro developers and other customers can reply.
- name: Actipro's Private Support Tickets
url: https://support.actiprosoftware.com/Main/frmTickets.aspx
about: Our ticket system where you can communicate privately with Actipro support.
4 changes: 2 additions & 2 deletions .github/workflows/integration-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ jobs:

env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
LICENSEKEY: ${{ secrets.ACTIPRO_CONTROLS_WPF_V23_1_LICENSEKEY }}
LICENSEKEY: ${{ secrets.ACTIPRO_CONTROLS_WPF_V24_1_LICENSEKEY }}

steps:
- name: Cancel duplicate runs
uses: fkirc/skip-duplicate-actions@v5
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run build project
Expand Down
2 changes: 1 addition & 1 deletion Build/Build.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<RootNamespace>ActiproSoftware.Tools.Builds</RootNamespace>
<Company>Actipro Software LLC</Company>
<Authors>Actipro Software LLC</Authors>
<Copyright>Copyright (c) 2020-2023 Actipro Software LLC. All rights reserved.</Copyright>
<Copyright>Copyright (c) 2020-2024 Actipro Software LLC. All rights reserved.</Copyright>

<GeneratePackageOnBuild>false</GeneratePackageOnBuild>

Expand Down
8 changes: 8 additions & 0 deletions Documentation/api-filter.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
apiRules:

# Include EditorBrowsableState.Never in Actipro namespaces (excluded by default)
- include:
uidRegex: ^ActiproSoftware\.
hasAttribute:
uid: System.ComponentModel.EditorBrowsableAttribute
ctorArguments:
- System.ComponentModel.EditorBrowsableState.Never

# Exclude compatibility and core product code
- exclude:
uidRegex: ^ActiproSoftware\.Compatibility$
Expand Down
48 changes: 4 additions & 44 deletions Documentation/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,49 +5,8 @@
{
"src": "../../Deploy/Build/AssembliesDocFX",
"files": [
// WPF reference assemblies
"PresentationCore.dll",
"PresentationFramework.dll",
"System.Xaml.dll",
"WindowsBase.dll",
// Additional assemblies
"Antlr3.Runtime.dll",
"Irony.dll",
// Actipro assemblies
"ActiproSoftware.Shared.Wpf.dll",
"ActiproSoftware.BarCode.Wpf.dll",
"ActiproSoftware.Bars.Wpf.dll",
"ActiproSoftware.Bars.Mvvm.Wpf.dll",
"ActiproSoftware.Charts.Wpf.dll",
"ActiproSoftware.DataGrid.Contrib.Wpf.dll",
"ActiproSoftware.Docking.Wpf.dll",
"ActiproSoftware.Editors.Interop.DataGrid.Wpf.dll",
"ActiproSoftware.Editors.Interop.Grids.Wpf.dll",
"ActiproSoftware.Editors.Wpf.dll",
"ActiproSoftware.Gauge.Wpf.dll",
"ActiproSoftware.Grids.Wpf.dll",
"ActiproSoftware.MicroCharts.Wpf.dll",
"ActiproSoftware.Navigation.Wpf.dll",
"ActiproSoftware.Ribbon.Wpf.dll",
"ActiproSoftware.Shell.Wpf.dll",
"ActiproSoftware.SyntaxEditor.Addons.DotNet.Wpf.dll",
"ActiproSoftware.SyntaxEditor.Addons.JavaScript.Wpf.dll",
"ActiproSoftware.SyntaxEditor.Addons.Python.Wpf.dll",
"ActiproSoftware.SyntaxEditor.Addons.Xml.Wpf.dll",
"ActiproSoftware.SyntaxEditor.Wpf.dll",
"ActiproSoftware.Text.Addons.Antlr.Wpf.dll",
"ActiproSoftware.Text.Addons.DotNet.Wpf.dll",
"ActiproSoftware.Text.Addons.DotNet.Roslyn.Wpf.dll",
"ActiproSoftware.Text.Addons.Irony.Wpf.dll",
"ActiproSoftware.Text.Addons.JavaScript.Wpf.dll",
"ActiproSoftware.Text.Addons.Python.Wpf.dll",
"ActiproSoftware.Text.Addons.Xml.Wpf.dll",
"ActiproSoftware.Text.LLParser.Wpf.dll",
"ActiproSoftware.Text.Wpf.dll",
"ActiproSoftware.Themes.Aero.Wpf.dll",
"ActiproSoftware.Views.Wpf.dll",
"ActiproSoftware.Wizard.Wpf.dll"
// "**.csproj"
"ActiproSoftware.*.dll"
]
}
],
Expand All @@ -61,6 +20,7 @@
"src": "topics",
"files": [
"**.md",
"api/ActiproSoftware.yml",
"api/ActiproSoftware.*.yml",
"api/toc.yml",
"toc.yml"
Expand Down Expand Up @@ -93,10 +53,10 @@
"_appTitle": "Actipro WPF Controls Docs",
"_docsCompanyHref": "https://www.actiprosoftware.com/products/controls/wpf",
"_docsCompanyName": "Actipro Software LLC",
"_docsCopyrightYears": "1999-2023",
"_docsCopyrightYears": "1999-2024",
"_docsProductHref": "https://www.actiprosoftware.com/products/controls/wpf",
"_docsProductName": "WPF Controls",
"_docsProductVersion": "23.1",
"_docsProductVersion": "24.1",
"_disableContribution": true,
"_enableNewTab": true,
"_gitContribute": {
Expand Down
2 changes: 1 addition & 1 deletion Documentation/topics/bars/controls/combobox.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ An optional string [Title](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarGalle

It is recommended that textbox controls within ribbon and toolbar contexts specify a width. While the `Width` property can be set directly, it's better to set the [RequestedWidth](xref:@ActiproUIRoot.Controls.Bars.BarComboBox.RequestedWidth) property. [RequestedWidth](xref:@ActiproUIRoot.Controls.Bars.BarComboBox.RequestedWidth) will ideally measure to the requested width, thereby acting the same as setting `Width`, but can allow other widths such as in situations like star-sizing. Setting the `Width` property directly will not allow other possible widths, since it is explicitly forcing a width.

Star-sizing is a handy feature when the control is within a [RibbonGroup](xref:@ActiproUIRoot.Controls.Bars.RibbonGroup) that is using multi-row layout via the [CanUseMultiRowLayout](xref:@ActiproUIRoot.Controls.Bars.RibbonGroup.CanUseMultiRowLayout) property. If the [BarComboBox](xref:@ActiproUIRoot.Controls.Bars.BarComboBox).[IsStarSizingAllowed](xref:@ActiproUIRoot.Controls.Bars.BarComboBox.IsStarSizingAllowed) property is set to `true` and the row the [BarComboBox](xref:@ActiproUIRoot.Controls.Bars.BarComboBox) is on has some extra width available compared to the other rows, it will expand [BarComboBox](xref:@ActiproUIRoot.Controls.Bars.BarComboBox) to fill that width. This makes the overall row widths equal for a more professional appearance. Only one control per row should enable star-sizing.
Star-sizing is a handy feature when the control is within a [RibbonMultiRowControlGroup](xref:@ActiproUIRoot.Controls.Bars.RibbonMultiRowControlGroup). If the [BarComboBox](xref:@ActiproUIRoot.Controls.Bars.BarComboBox).[IsStarSizingAllowed](xref:@ActiproUIRoot.Controls.Bars.BarComboBox.IsStarSizingAllowed) property is set to `true` and the row the [BarComboBox](xref:@ActiproUIRoot.Controls.Bars.BarComboBox) is on has some extra width available compared to the other rows, it will expand [BarComboBox](xref:@ActiproUIRoot.Controls.Bars.BarComboBox) to fill that width. This makes the overall row widths equal for a more professional appearance. Only one control per row should enable star-sizing.

### Placeholder Text

Expand Down
10 changes: 5 additions & 5 deletions Documentation/topics/bars/controls/popup-button.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Use the [BarPopupButton](xref:@ActiproUIRoot.Controls.Bars.BarPopupButton) contr
| Has popup | Yes. |
| Is checkable | No. |
| Variant sizes | `Small` (image only), `Medium` (image and label), `Large` (tall size, image and multi-line label). |
| Command support | Yes, via the [Command](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.Command) property, but mainly used so a command that can't execute disables the button. |
| Command support | Yes, via the [PopupOpeningCommand](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.PopupOpeningCommand) property. |
| Key tip support | Yes, via the [KeyTipText](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.KeyTipText) property. Auto-generated from the `Label` value if not specified. |
| [Ribbon QAT](../ribbon-features/quick-access-toolbar.md) support | Yes, via the [CanCloneToRibbonQuickAccessToolBar](xref:@ActiproUIRoot.Controls.Bars.BarPopupButton.CanCloneToRibbonQuickAccessToolBar) property. |
| UI density support | Yes, via the [UserInterfaceDensity](xref:@ActiproUIRoot.Controls.Bars.BarPopupButton.UserInterfaceDensity) property. |
Expand Down Expand Up @@ -76,7 +76,7 @@ Use the [BarMenuItem](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem) control to
| Has popup | Yes. |
| Is checkable | No. |
| Variant sizes | None, but has a [UseLargeSize](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.UseLargeSize) property that triggers a large height and displays an extended [Description](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.Description). |
| Command support | No. |
| Command support | Yes, via the [PopupOpeningCommand](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.PopupOpeningCommand) property. |
| Key tip support | Yes, via the [KeyTipText](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.KeyTipText) property. Auto-generated from the `Label` value if not specified. |
| [Ribbon QAT](../ribbon-features/quick-access-toolbar.md) support | Yes, via the [CanCloneToRibbonQuickAccessToolBar](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.CanCloneToRibbonQuickAccessToolBar) property. |
| UI density support | None. |
Expand Down Expand Up @@ -162,13 +162,13 @@ See the [Key Tips](../ribbon-features/key-tips.md) topic for more information on

## Commands and Events

The `ICommand` in the [BarPopupButton](xref:@ActiproUIRoot.Controls.Bars.BarPopupButton).[Command](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.Command) property is never executed. It is solely used to allow a command to drive whether the button is enabled, based on the command's can-execute state.
The `ICommand` in the [BarPopupButton](xref:@ActiproUIRoot.Controls.Bars.BarPopupButton).[Command](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.Command) property is never executed or used other than to possibly initialize a label.

No command is executed for [BarMenuItem](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem) when the menu item displays a sub-menu popup.
The `ICommand` in the [BarPopupButton](xref:@ActiproUIRoot.Controls.Bars.BarPopupButton).[PopupOpeningCommand](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.PopupOpeningCommand) property, and similarly the [BarMenuItem](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem).[PopupOpeningCommand](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.PopupOpeningCommand), is executed prior to the popup or sub-menu opening. This command can be handled in a view model, allowing for a MVVM way to update the items on the popup prior to display.

[BarPopupButton](xref:@ActiproUIRoot.Controls.Bars.BarPopupButton).[PopupOpening](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.PopupOpening) and [PopupOpened](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.PopupOpened) events are raised when the popup is opened. The former event allows you to customize the popup menu prior to display.

The [PopupOpeningCommand](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.PopupOpeningCommand) command, if assigned, is executed prior to the popup opening. This command can be handled in a view model, allowing for a MVVM way to update the items on the popup prior to display.
The `PopupOpeningCommand`'s can-execute result determines the enabled state of the control.

See the [Using Commands](using-commands.md) topic for more information on commands.

Expand Down
8 changes: 4 additions & 4 deletions Documentation/topics/bars/controls/split-button.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ If the button should be checkable, use the [BarSplitToggleButton](xref:@ActiproU
| Has popup | Yes. |
| Is checkable | Yes, but only when using [BarSplitToggleButton](xref:@ActiproUIRoot.Controls.Bars.BarSplitToggleButton). |
| Variant sizes | `Small` (image only), `Medium` (image and label), `Large` (tall size, image and multi-line label). |
| Command support | Yes, via the `Command` property. |
| Command support | Yes, via the [Command](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.Command) property (related to the button portion) and the [PopupOpeningCommand](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.PopupOpeningCommand) property (related to the popup portion). |
| Key tip support | Yes, via the [KeyTipText](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.KeyTipText) property. Auto-generated from the `Label` value if not specified. |
| [Ribbon QAT](../ribbon-features/quick-access-toolbar.md) support | Yes, via the [CanCloneToRibbonQuickAccessToolBar](xref:@ActiproUIRoot.Controls.Bars.BarPopupButton.CanCloneToRibbonQuickAccessToolBar) property. |
| UI density support | Yes, via the [UserInterfaceDensity](xref:@ActiproUIRoot.Controls.Bars.BarPopupButton.UserInterfaceDensity) property. |
Expand Down Expand Up @@ -81,7 +81,7 @@ The [BarSplitMenuItem](xref:@ActiproUIRoot.Controls.Bars.BarSplitMenuItem) class
| Has popup | Yes. |
| Is checkable | Yes, when the `IsCheckable` property is set to `true`. |
| Variant sizes | None, but has a [UseLargeSize](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.UseLargeSize) property that triggers a large height and displays an extended [Description](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.Description). |
| Command support | Yes, via the `Command` property. |
| Command support | Yes, via the `Command` property (related to the button portion) and the [PopupOpeningCommand](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.PopupOpeningCommand) property (related to the popup portion). |
| Key tip support | Yes, via the [KeyTipText](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.KeyTipText) property. Auto-generated from the `Label` value if not specified. |
| [Ribbon QAT](../ribbon-features/quick-access-toolbar.md) support | Yes, via the [CanCloneToRibbonQuickAccessToolBar](xref:@ActiproUIRoot.Controls.Bars.BarMenuItem.CanCloneToRibbonQuickAccessToolBar) property. |
| UI density support | None. |
Expand Down Expand Up @@ -175,11 +175,11 @@ See the [Key Tips](../ribbon-features/key-tips.md) topic for more information on

## Commands and Events

The `ICommand` in the [BarSplitButton](xref:@ActiproUIRoot.Controls.Bars.BarSplitButton).[Command](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.Command) and [BarSplitMenuItem](xref:@ActiproUIRoot.Controls.Bars.BarSplitMenuItem).`Command` properties is executed when the control is clicked.
The `ICommand` in the [BarSplitButton](xref:@ActiproUIRoot.Controls.Bars.BarSplitButton).[Command](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.Command) and [BarSplitMenuItem](xref:@ActiproUIRoot.Controls.Bars.BarSplitMenuItem).`Command` properties is executed when the control's button portion is clicked. The command's can-execute result determines the enabled state of the control's button portion.

A [BarSplitButton](xref:@ActiproUIRoot.Controls.Bars.BarSplitButton).[Click](xref:@ActiproUIRoot.Controls.Bars.BarSplitButton.Click) and [BarSplitMenuItem](xref:@ActiproUIRoot.Controls.Bars.BarSplitMenuItem).`Click` event is also raised in these scenarios.

The [PopupOpeningCommand](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.PopupOpeningCommand) command, if assigned, is executed prior to the popup opening. This command can be handled in a view model, allowing for a MVVM way to update the items on the popup prior to display.
The [PopupOpeningCommand](xref:@ActiproUIRoot.Controls.Bars.Primitives.BarPopupButtonBase.PopupOpeningCommand) command, if assigned, is executed prior to the popup opening. This command can be handled in a view model, allowing for a MVVM way to update the items on the popup prior to display. The command's can-execute result determines the enabled state of the control's popup portion.

See the [Using Commands](using-commands.md) topic for more information on commands.

Expand Down
2 changes: 1 addition & 1 deletion Documentation/topics/bars/controls/textbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ See the [Resizing and Variants](../ribbon-features/resizing.md) topic for more i

It is recommended that textbox controls within ribbon and toolbar contexts specify a width. While the `Width` property can be set directly, it's better to set the [RequestedWidth](xref:@ActiproUIRoot.Controls.Bars.BarTextBox.RequestedWidth) property. [RequestedWidth](xref:@ActiproUIRoot.Controls.Bars.BarTextBox.RequestedWidth) will ideally measure to the requested width, thereby acting the same as setting `Width`, but can allow other widths such as in situations like star-sizing. Setting the `Width` property directly will not allow other possible widths, since it is explicitly forcing a width.

Star-sizing is a handy feature when the control is within a [RibbonGroup](xref:@ActiproUIRoot.Controls.Bars.RibbonGroup) that is using multi-row layout via the [CanUseMultiRowLayout](xref:@ActiproUIRoot.Controls.Bars.RibbonGroup.CanUseMultiRowLayout) property. If the [BarTextBox](xref:@ActiproUIRoot.Controls.Bars.BarTextBox).[IsStarSizingAllowed](xref:@ActiproUIRoot.Controls.Bars.BarTextBox.IsStarSizingAllowed) property is set to `true` and the row the [BarTextBox](xref:@ActiproUIRoot.Controls.Bars.BarTextBox) is on has some extra width available compared to the other rows, it will expand [BarTextBox](xref:@ActiproUIRoot.Controls.Bars.BarTextBox) to fill that width. This makes the overall row widths equal for a more professional appearance. Only one control per row should enable star-sizing.
Star-sizing is a handy feature when the control is within a [RibbonMultiRowControlGroup](xref:@ActiproUIRoot.Controls.Bars.RibbonMultiRowControlGroup). If the [BarTextBox](xref:@ActiproUIRoot.Controls.Bars.BarTextBox).[IsStarSizingAllowed](xref:@ActiproUIRoot.Controls.Bars.BarTextBox.IsStarSizingAllowed) property is set to `true` and the row the [BarTextBox](xref:@ActiproUIRoot.Controls.Bars.BarTextBox) is on has some extra width available compared to the other rows, it will expand [BarTextBox](xref:@ActiproUIRoot.Controls.Bars.BarTextBox) to fill that width. This makes the overall row widths equal for a more professional appearance. Only one control per row should enable star-sizing.

### Placeholder Text

Expand Down
4 changes: 2 additions & 2 deletions Documentation/topics/bars/controls/using-commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ This table summarizes the command support across some of the interactive control
| Control | Description |
|-----|-----|
| [Button](button.md) | Executes a command when clicked. |
| [Popup Button](popup-button.md) | Only uses the command to determine enabled state. |
| [Split Button](split-button.md) | Executes a command when the button portion is clicked. |
| [Popup Button](popup-button.md) | Uses the popup opening command to allow for dynamic popup content initialization and to determine control enabled state. |
| [Split Button](split-button.md) | Executes a command when the button portion is clicked. Uses the popup opening command to allow for dynamic popup content initialization and to determine the popup portion's enabled state. |
| [Checkbox](checkbox.md) | Executes a command when clicked. |
| [Gallery](gallery.md) | Executes a command when an item is clicked, passing the gallery item as the command parameter. |
| [Combobox](combobox.md) | Executes a command when text is committed. Executes another command when text is committed that doesn't match any known gallery items, with the unknown text passed as the parameter. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The [BarControlService](xref:@ActiproUIRoot.Controls.Bars.BarControlService) cla

### RibbonGroup in a Classic Ribbon

If the custom control is hosted directly within a [RibbonGroup](xref:@ActiproUIRoot.Controls.Bars.RibbonGroup) that is not using multi-row layout (via the [CanUseMultiRowLayout](xref:@ActiproUIRoot.Controls.Bars.RibbonGroup.CanUseMultiRowLayout) property), then it will have a large height, roughly three times the height of small controls.
If the custom control is hosted directly within a [RibbonGroup](xref:@ActiproUIRoot.Controls.Bars.RibbonGroup), it will have a large height, roughly three times the height of small controls.

This kind of usage scenario is not typically recommended for custom controls except in special circumstances.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 15f9410

Please sign in to comment.