Language

IPDEPanel Interface

Definition

Represents a single print dialog panel that manages its own UI, settings persistence, and PPD option handling.

[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="PDEPanel", WrapperType=typeof(PrintCore.PDEPanelWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WillShow", Selector="willShow")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ShouldHide", ReturnType=typeof(System.Boolean), Selector="shouldHide")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SaveValues", ParameterByRef=new System.Boolean[] { true }, ParameterType=new System.Type[] { typeof(Foundation.NSError) }, ReturnType=typeof(System.Boolean), Selector="saveValuesAndReturnError:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RestoreValues", ParameterByRef=new System.Boolean[] { true }, ParameterType=new System.Type[] { typeof(Foundation.NSError) }, ReturnType=typeof(System.Boolean), Selector="restoreValuesAndReturnError:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetSupportedPpdOptionKeys", ReturnType=typeof(System.String[]), Selector="supportedPPDOptionKeys")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PpdOptionKeyValueDidChange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String) }, Selector="PPDOptionKeyValueDidChange:ppdChoice:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPanelView", ReturnType=typeof(AppKit.NSView), Selector="panelView")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPanelName", ReturnType=typeof(System.String), Selector="panelName")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPanelKind", ReturnType=typeof(System.String), Selector="panelKind")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSummaryInfo", ReturnType=typeof(Foundation.NSDictionary<Foundation.NSString,Foundation.NSString>), Selector="summaryInfo")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldShowHelp", ReturnType=typeof(System.Boolean), Selector="shouldShowHelp")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldPrint", ReturnType=typeof(System.Boolean), Selector="shouldPrint")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="PrintWindowWillClose", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Boolean) }, Selector="printWindowWillClose:")]
public interface IPDEPanel : IDisposable, ObjCRuntime.INativeObject
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="PDEPanel", WrapperType=typeof(PrintCore.PDEPanelWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WillShow", Selector="willShow")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ShouldHide", ReturnType=typeof(System.Boolean), Selector="shouldHide")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SaveValues", ParameterByRef=new System.Boolean[] { true }, ParameterType=new System.Type[] { typeof(Foundation.NSError) }, ReturnType=typeof(System.Boolean), Selector="saveValuesAndReturnError:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RestoreValues", ParameterByRef=new System.Boolean[] { true }, ParameterType=new System.Type[] { typeof(Foundation.NSError) }, ReturnType=typeof(System.Boolean), Selector="restoreValuesAndReturnError:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetSupportedPpdOptionKeys", ReturnType=typeof(System.String[]), Selector="supportedPPDOptionKeys")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PpdOptionKeyValueDidChange", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.String), typeof(System.String) }, Selector="PPDOptionKeyValueDidChange:ppdChoice:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPanelView", ReturnType=typeof(AppKit.NSView), Selector="panelView")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPanelName", ReturnType=typeof(System.String), Selector="panelName")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetPanelKind", ReturnType=typeof(System.String), Selector="panelKind")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetSummaryInfo", ReturnType=typeof(Foundation.NSDictionary<Foundation.NSString,Foundation.NSString>), Selector="summaryInfo")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldShowHelp", ReturnType=typeof(System.Boolean), Selector="shouldShowHelp")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="ShouldPrint", ReturnType=typeof(System.Boolean), Selector="shouldPrint")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="PrintWindowWillClose", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Boolean) }, Selector="printWindowWillClose:")>]
type IPDEPanel = interface
    interface INativeObject
    interface IDisposable
Derived
Attributes
Implements

Properties

Name Description
Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from INativeObject)

Methods

Name Description
GetPanelKind()

Returns the panel's kind identifier string. This is used to allow overriding built-in system panels. Return a unique string if the panel does not override any system panel.

GetPanelName()

Returns the localized name of this panel, which appears in the panel menu within the print dialog.

GetPanelView()

Returns the panel's NSView to be embedded into the print or page setup dialog.

GetSummaryInfo()

Returns a dictionary of localized key-value pairs describing the panel's current settings, suitable for display in a summary view (for example, key "Page Range", value "All").

GetSupportedPpdOptionKeys()

Returns the PPD option keys that this panel is responsible for displaying. Any unclaimed keys will receive dynamically generated UI in the Printer Features panel.

PpdOptionKeyValueDidChange(String, String)

Notifies the panel that a PPD option choice was changed externally (for example, during conflict resolution). The panel should update its internal data for the specified key.

PrintWindowWillClose(Boolean)

Called when the print dialog is about to close. Use this for cleanup tasks such as removing notification observers.

RestoreValues(NSError)

Refreshes the panel's UI elements by reading values from the page format or print settings. This is called before the panel is first shown and whenever the user selects a new preset.

SaveValues(NSError)

Writes the current values from the panel's UI controls to the permanent store (print settings or page format, depending on the panel type).

ShouldHide()

Called before the panel is removed from view. Return false to prevent hiding (for example, if the user's input is invalid), or true to allow it.

ShouldPrint()

Called to determine whether printing should proceed based on the current panel state. Return false to prevent printing. Most panels do not need to implement this.

ShouldShowHelp()

Determines whether the system's default printing help should be shown. Return false if the panel implements its own custom help; return true (or leave unimplemented) to use the default printing help.

WillShow()

Called when the panel is about to be displayed. Use this to perform any final preparations, such as lazily initializing the user interface.

Extension Methods

Name Description
GetHandle(INativeObject)
GetNonNullHandle(INativeObject, String)

Applies to