Verify Views files against decompiled, extract embedded types
Fixed files: - SkiaImageButton.cs: Added SVG support with multi-path search - SkiaNavigationPage.cs: Added LinuxApplication.IsGtkMode check - SkiaRefreshView.cs: Added ICommand support (Command, CommandParameter) - SkiaTemplatedView.cs: Added missing using statements Extracted embedded types to separate files (matching decompiled pattern): - From SkiaMenuBar.cs: MenuBarItem, MenuItem, SkiaMenuFlyout, MenuItemClickedEventArgs - From SkiaNavigationPage.cs: NavigationEventArgs - From SkiaTabbedPage.cs: TabItem - From SkiaVisualStateManager.cs: SkiaVisualStateGroupList, SkiaVisualStateGroup, SkiaVisualState, SkiaVisualStateSetter - From SkiaSwipeView.cs: SwipeItem, SwipeStartedEventArgs, SwipeEndedEventArgs - From SkiaFlyoutPage.cs: FlyoutLayoutBehavior (already separate) - From SkiaIndicatorView.cs: IndicatorShape (already separate) - From SkiaBorder.cs: SkiaFrame - From SkiaCarouselView.cs: PositionChangedEventArgs - From SkiaCollectionView.cs: SkiaSelectionMode, ItemsLayoutOrientation - From SkiaContentPresenter.cs: LayoutAlignment Verified matching decompiled: - SkiaContextMenu.cs, SkiaFlexLayout.cs, SkiaGraphicsView.cs Build: 0 errors 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,86 +5,6 @@ using System.Runtime.InteropServices;
|
||||
|
||||
namespace Microsoft.Maui.Platform.Linux.Services;
|
||||
|
||||
/// <summary>
|
||||
/// GTK4 dialog response codes.
|
||||
/// </summary>
|
||||
public enum GtkResponseType
|
||||
{
|
||||
None = -1,
|
||||
Reject = -2,
|
||||
Accept = -3,
|
||||
DeleteEvent = -4,
|
||||
Ok = -5,
|
||||
Cancel = -6,
|
||||
Close = -7,
|
||||
Yes = -8,
|
||||
No = -9,
|
||||
Apply = -10,
|
||||
Help = -11
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GTK4 message dialog types.
|
||||
/// </summary>
|
||||
public enum GtkMessageType
|
||||
{
|
||||
Info = 0,
|
||||
Warning = 1,
|
||||
Question = 2,
|
||||
Error = 3,
|
||||
Other = 4
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GTK4 button layouts for dialogs.
|
||||
/// </summary>
|
||||
public enum GtkButtonsType
|
||||
{
|
||||
None = 0,
|
||||
Ok = 1,
|
||||
Close = 2,
|
||||
Cancel = 3,
|
||||
YesNo = 4,
|
||||
OkCancel = 5
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GTK4 file chooser actions.
|
||||
/// </summary>
|
||||
public enum GtkFileChooserAction
|
||||
{
|
||||
Open = 0,
|
||||
Save = 1,
|
||||
SelectFolder = 2,
|
||||
CreateFolder = 3
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Result from a file dialog.
|
||||
/// </summary>
|
||||
public class FileDialogResult
|
||||
{
|
||||
public bool Accepted { get; init; }
|
||||
public string[] SelectedFiles { get; init; } = Array.Empty<string>();
|
||||
public string? SelectedFile => SelectedFiles.Length > 0 ? SelectedFiles[0] : null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Result from a color dialog.
|
||||
/// </summary>
|
||||
public class ColorDialogResult
|
||||
{
|
||||
public bool Accepted { get; init; }
|
||||
public float Red { get; init; }
|
||||
public float Green { get; init; }
|
||||
public float Blue { get; init; }
|
||||
public float Alpha { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GTK4 interop layer for native Linux dialogs.
|
||||
/// Provides native file pickers, message boxes, and color choosers.
|
||||
/// </summary>
|
||||
public class Gtk4InteropService : IDisposable
|
||||
{
|
||||
#region GTK4 Native Interop
|
||||
|
||||
Reference in New Issue
Block a user