Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added docs for DragDrop Events and Key Events #2650

Draft
wants to merge 3 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/Eto/Forms/Command.cs
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,7 @@ public virtual bool Enabled

/// <summary>
/// Gets or sets the shortcut to trigger this command.
/// This property requires the <see cref="Command"/> to be hosted on a <see cref="ToolBar"/> or the command will not be raised when the shortcut is used.
/// </summary>
/// <value>The command shortcut.</value>
public Keys Shortcut { get; set; }
Expand Down
13 changes: 9 additions & 4 deletions src/Eto/Forms/Controls/Control.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,9 @@ protected virtual void OnSizeChanged(EventArgs e)
public const string KeyDownEvent = "Control.KeyDown";

/// <summary>
/// Occurs when a key has been pressed and is down
/// Occurs when a key has been pressed and is down.
/// Focus is required for this event to be raised. Ensure CanFocus is set to true.
Copy link
Member

Choose a reason for hiding this comment

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

CanFocus is only on a Drawable. Other controls intrinsically can get focus like TextBox, TextArea, DropDown, CheckBox, etc when they are Enabled

/// If <see cref="KeyEventArgs.Handled"/> is set to false (default is false), <see cref="KeyUp"/> will not subsequently raise.
/// </summary>
/// <seealso cref="KeyUp"/>
public event EventHandler<KeyEventArgs> KeyDown
Expand All @@ -156,6 +158,8 @@ protected virtual void OnKeyDown(KeyEventArgs e)

/// <summary>
/// Occurs when a key was released
/// Focus is required for this event to be raised. Ensure CanFocus is set to true.
/// <see cref="KeyUp"/> requires <see cref="KeyEventArgs.Handled"/> to be set to true in the <see cref="KeyDown"/> event to raise.
/// </summary>
/// <seealso cref="KeyDown"/>
public event EventHandler<KeyEventArgs> KeyUp
Expand Down Expand Up @@ -586,6 +590,7 @@ protected virtual void OnUnLoad(EventArgs e)

/// <summary>
/// Occurs when a drag operation is dropped onto the control.
/// Requires <see cref="DragOver"/> to set <see cref="DragEventArgs.Effects"/> to something other than <see cref="DragEffects.None"/> or this event will not raise.
/// </summary>
/// <remarks>
/// This should perform any of the actual drop logic and update the control state to reflect the dropped data.
Expand Down Expand Up @@ -1213,11 +1218,11 @@ public Window ParentWindow
public IEnumerable<string> SupportedPlatformCommands => Handler.SupportedPlatformCommands;

/// <summary>
/// Specifies a command to execute for a platform-specific command
/// Specifies a command to execute for a Mac platform-specific command
Copy link
Member

Choose a reason for hiding this comment

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

This would also be used for any other platform that has similar needs, not just Mac. Even though it is only useful for Mac at this point.

/// </summary>
/// <remarks>
/// Some platforms have specific system-defined commands that can be associated with a control.
/// For example, the Mac platform's cut/copy/paste functionality is defined by the system, and if you want to
/// Mac has specific system-defined commands that can be associated with a control.
/// For example, cut/copy/paste functionality is defined by the system, and if you want to
/// hook into it, you can use this to map it to your own defined logic.
/// The valid values of the <paramref name="systemCommand"/> parameter are defined by each platform, and a list can be
/// retrieved using <see cref="Control.SupportedPlatformCommands"/>
Expand Down