40static bool GetPrinterList(wxArrayString &aPrinterList, wxString &aDefaultPrinterName)
 
   43    aDefaultPrinterName.Empty();
 
   46    DWORD dwSize, dwPrinters;
 
   51    GetDefaultPrinter(&c[0], &szz);
 
   52    aDefaultPrinterName = c;
 
   54    ::EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 5, NULL, 0, &dwSize, &dwPrinters);
 
   56    if (GetLastError() != ERROR_INSUFFICIENT_BUFFER || dwSize == 0)
 
   59    pBuffer = 
new BYTE[dwSize];
 
   60    ::EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 5, pBuffer, dwSize, &dwSize, &dwPrinters);
 
   64        PRINTER_INFO_5 *pPrnInfo = (PRINTER_INFO_5 *)pBuffer;
 
   66        for (UINT i = 0; i < dwPrinters; i++)
 
   68            aPrinterList.Add(pPrnInfo->pPrinterName);
 
   79#elif defined( CUPS_LIST_PRINTERS ) 
   81    int num_dests = cupsGetDests(&dests);
 
   83    for (
int i = 0; i < num_dests; i++)
 
   87        if (dests[i].instance)
 
   88            sz = wxString::Format(
"%s%s", dests[i].
name, dests[i].instance);
 
   90            sz = wxString::Format(
"%s", dests[i].
name);
 
   92        if (dests[i].is_default)
 
   93            aDefaultPrinterName = sz;
 
   99   cupsFreeDests(num_dests, dests);
 
  101    if(aPrinterList.GetCount())
 
 
PANEL_PRINTER_LIST_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(378, 109), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
 
PANEL_PRINTER_LIST(wxWindow *aParent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(378, 109), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)