mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-20 15:08:16 +02:00
81 lines
1.7 KiB
PHP
81 lines
1.7 KiB
PHP
{%MainUnit ../printersdlgs.pp}
|
|
|
|
|
|
const
|
|
SExecute = 'Execute';
|
|
|
|
{ TPageSetupDialog }
|
|
|
|
function TPageSetupDialog.DoExecute: Boolean;
|
|
var
|
|
CocoaPrinter: TCocoaPrinter;
|
|
pageLayout: NSPageLayout;
|
|
pInfo: NSPrintInfo;
|
|
begin
|
|
|
|
if not Assigned(Printer) then Exit;
|
|
|
|
CocoaPrinter := Printer as TCocoaPrinter;
|
|
pInfo := NSPrintInfo.sharedPrintInfo;
|
|
pageLayout := NSPageLayout.pageLayout;
|
|
result := pageLayout.runModalWithPrintInfo(pInfo)=NSOKButton;
|
|
if result then
|
|
CocoaPrinter.Validate;
|
|
|
|
// TODO: make it through the delegate for sheet support
|
|
end;
|
|
|
|
|
|
{ TPrinterSetupDialog }
|
|
|
|
function TPrinterSetupDialog.DoExecute: Boolean;
|
|
var
|
|
delegate: PrintDialogDelegate;
|
|
window: NSWindow = nil;
|
|
begin
|
|
Result := False;
|
|
if not Assigned(Printer) then Exit;
|
|
if Printer.Printers.Count <= 0 then Exit;
|
|
if AttachTo<>nil then
|
|
window := NSView(AttachTo.Handle).window;
|
|
|
|
delegate := PrintDialogDelegate.alloc.init;
|
|
delegate.sender := self;
|
|
delegate.response := OnDialogResult;
|
|
delegate.attachToWindow := window;
|
|
result := delegate.RunSetupPrinter;
|
|
end;
|
|
|
|
|
|
{ TPrintDialog }
|
|
|
|
function TPrintDialog.DoExecute: Boolean;
|
|
var
|
|
window: NSWindow = nil;
|
|
begin
|
|
Result := False;
|
|
// TODO: Options, Title
|
|
|
|
if not Assigned(Printer) then Exit;
|
|
if AttachTo<>nil then
|
|
window := NSView(AttachTo.Handle).window;
|
|
|
|
printDelegate := PrintDialogDelegate.alloc.init;
|
|
printDelegate.renderView := nil;
|
|
printDelegate.sender := self;
|
|
printDelegate.response := OnDialogResult;
|
|
printDelegate.attachToWindow := window;
|
|
|
|
printDelegate.printDialog := Self;
|
|
|
|
if poBeforeBeginDoc in Options then
|
|
begin
|
|
result := printDelegate.RunPrintJob;
|
|
printDelegate := nil;
|
|
end
|
|
else
|
|
result := true;
|
|
|
|
end;
|
|
|