void DIALOG_PRINT_USING_PRINTER::OnPrintPreview( wxCommandEvent& event ) { SetPrintParameters( ); // If no layer selected, we have no plot. prompt user if it happens // because he could think there is a bug in Pcbnew: if( s_Parameters.m_PrintMaskLayer == 0 ) { DisplayError( this, _( "No layer selected" ) ); return; } // Pass two printout objects: for preview, and possible printing. wxString title = _( "Print Preview" ); wxPrintPreview* preview = new wxPrintPreview( new BOARD_PRINTOUT_CONTROLLER( s_Parameters, m_parent, title ), new BOARD_PRINTOUT_CONTROLLER( s_Parameters, m_parent, title ), s_PrintData ); if( preview == NULL ) { DisplayError( this, wxT( "OnPrintPreview() problem" ) ); return; } // Uses the parent position and size. wxPoint WPos = m_parent->GetPosition(); wxSize WSize = m_parent->GetSize(); preview->SetZoom( 100 ); wxPreviewFrame* frame = new wxPreviewFrame( preview, this, title, WPos, WSize ); frame->SetMinSize( wxSize( 550, 350 ) ); frame->Initialize(); frame->Raise(); // Needed on Ubuntu/Unity to display the frame frame->Show( true ); }