%{
#include "wx/wxPython/printfw.h"
- static const wxChar* wxPrintoutTitleStr = wxT("Printout");
- DECLARE_DEF_STRING(PrintoutTitleStr);
- static const wxChar* wxPreviewCanvasNameStr = wxT("previewcanvas");
- DECLARE_DEF_STRING(PreviewCanvasNameStr);
-
%}
+MAKE_CONST_WXSTRING2(PrintoutTitleStr, wxT("Printout"));
+MAKE_CONST_WXSTRING2(PreviewCanvasNameStr, wxT("previewcanvas"));
+
//---------------------------------------------------------------------------
wxPRINT_MODE_NONE = 0,
wxPRINT_MODE_PREVIEW = 1, // Preview in external application
wxPRINT_MODE_FILE = 2, // Print to file
- wxPRINT_MODE_PRINTER = 3 // Send to printer
+ wxPRINT_MODE_PRINTER = 3, // Send to printer
+ wxPRINT_MODE_STREAM = 4 // Send postscript data into a stream
};
wxPaperSize GetPaperId();
const wxSize& GetPaperSize();
- wxPrintQuality GetQuality();
+ int GetQuality();
void SetNoCopies(int v);
void SetCollate(bool flag);
void SetDuplex(wxDuplexMode duplex);
void SetPaperId(wxPaperSize sizeId);
void SetPaperSize(const wxSize& sz);
- void SetQuality(wxPrintQuality quality);
+ void SetQuality(int quality);
// PostScript-specific data
const wxString& GetPrinterCommand();
void SetPrinterTranslation(long x, long y);
void SetPrintMode(wxPrintMode printMode);
+ wxOutputStream* GetOutputStream();
+ void SetOutputStream(wxOutputStream* outputstream);
+
%pythoncode { def __nonzero__(self): return self.Ok() }
};
class wxPageSetupDialog : public wxDialog {
public:
- %addtofunc wxPageSetupDialog "self._setOORInfo(self)"
+ %pythonAppend wxPageSetupDialog "self._setOORInfo(self)"
wxPageSetupDialog(wxWindow* parent, wxPageSetupDialogData* data = NULL);
class wxPrintDialogData : public wxObject {
public:
+ %nokwargs wxPrintDialogData;
wxPrintDialogData();
+ wxPrintDialogData(const wxPrintData& printData);
~wxPrintDialogData();
int GetFromPage() const;
class wxPrintDialog : public wxDialog {
public:
- %addtofunc wxPrintDialog "self._setOORInfo(self)"
+ %pythonAppend wxPrintDialog "self._setOORInfo(self)"
wxPrintDialog(wxWindow* parent, wxPrintDialogData* data = NULL);
void CreateAbortWindow(wxWindow* parent, wxPyPrintout* printout);
wxPrintDialogData& GetPrintDialogData();
- bool Print(wxWindow *parent, wxPyPrintout *printout, int prompt=TRUE);
+ bool Print(wxWindow *parent, wxPyPrintout *printout, int prompt=True);
wxDC* PrintDialog(wxWindow *parent);
void ReportError(wxWindow *parent, wxPyPrintout *printout, const wxString& message);
bool Setup(wxWindow *parent);
// Since this one would be tough and ugly to do with the Macros...
void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) {
- bool hadErr = FALSE;
+ bool hadErr = False;
bool found;
- wxPyBeginBlockThreads();
+ bool blocked = wxPyBeginBlockThreads();
if ((found = wxPyCBH_findCallback(m_myInst, "GetPageInfo"))) {
PyObject* result = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()"));
if (result && PyTuple_Check(result) && PyTuple_Size(result) == 4) {
val = PyTuple_GetItem(result, 0);
if (PyInt_Check(val)) *minPage = PyInt_AsLong(val);
- else hadErr = TRUE;
+ else hadErr = True;
val = PyTuple_GetItem(result, 1);
if (PyInt_Check(val)) *maxPage = PyInt_AsLong(val);
- else hadErr = TRUE;
+ else hadErr = True;
val = PyTuple_GetItem(result, 2);
if (PyInt_Check(val)) *pageFrom = PyInt_AsLong(val);
- else hadErr = TRUE;
+ else hadErr = True;
val = PyTuple_GetItem(result, 3);
if (PyInt_Check(val)) *pageTo = PyInt_AsLong(val);
- else hadErr = TRUE;
+ else hadErr = True;
}
else
- hadErr = TRUE;
+ hadErr = True;
if (hadErr) {
PyErr_SetString(PyExc_TypeError, "GetPageInfo should return a tuple of 4 integers.");
}
Py_DECREF(result);
}
- wxPyEndBlockThreads();
+ wxPyEndBlockThreads(blocked);
if (! found)
wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo);
}
// Now define the custom class for SWIGging
%name(Printout) class wxPyPrintout : public wxObject {
public:
- %addtofunc wxPyPrintout "self._setCallbackInfo(self, Printout)"
+ %pythonAppend wxPyPrintout "self._setCallbackInfo(self, Printout)"
wxPyPrintout(const wxString& title = wxPyPrintoutTitleStr);
//~wxPyPrintout(); wxPrintPreview object takes ownership...
wxDC* GetDC();
void SetDC(wxDC *dc);
- void GetPageSizePixels(int *OUTPUT, int *OUTPUT);
void SetPageSizePixels(int w, int h);
+ DocDeclA(
+ void, GetPageSizePixels(int *OUTPUT, int *OUTPUT),
+ "GetPageSizePixels() -> (w, h)");
void SetPageSizeMM(int w, int h);
- void GetPageSizeMM(int *OUTPUT, int *OUTPUT);
+ DocDeclA(
+ void, GetPageSizeMM(int *OUTPUT, int *OUTPUT),
+ "GetPageSizeMM() -> (w, h)");
void SetPPIScreen(int x, int y);
- void GetPPIScreen(int *OUTPUT, int *OUTPUT);
+ DocDeclA(
+ void, GetPPIScreen(int *OUTPUT, int *OUTPUT),
+ "GetPPIScreen() -> (x,y)");
void SetPPIPrinter(int x, int y);
- void GetPPIPrinter(int *OUTPUT, int *OUTPUT);
+ DocDeclA(
+ void, GetPPIPrinter(int *OUTPUT, int *OUTPUT),
+ "GetPPIPrinter() -> (x,y)");
bool IsPreview();
void SetIsPreview(bool p);
void base_OnBeginPrinting();
void base_OnEndPrinting();
void base_OnPreparePrinting();
- void base_GetPageInfo(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT);
bool base_HasPage(int page);
+ DocDeclA(
+ void, base_GetPageInfo(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
+ "base_GetPageInfo() -> (minPage, maxPage, pageFrom, pageTo)");
};
//---------------------------------------------------------------------------
class wxPreviewCanvas: public wxScrolledWindow
{
public:
- %addtofunc wxPreviewCanvas "self._self._setOORInfo(self)"
+ %pythonAppend wxPreviewCanvas "self._setOORInfo(self)"
wxPreviewCanvas(wxPrintPreview *preview,
wxWindow *parent,
class wxPreviewFrame : public wxFrame {
public:
- %addtofunc wxPreviewFrame "self._self._setOORInfo(self)"
+ %pythonAppend wxPreviewFrame "self._setOORInfo(self)"
wxPreviewFrame(wxPrintPreview* preview, wxFrame* parent, const wxString& title,
const wxPoint& pos = wxDefaultPosition,
class wxPreviewControlBar: public wxPanel
{
public:
- %addtofunc wxPreviewControlBar "self._self._setOORInfo(self)"
+ %pythonAppend wxPreviewControlBar "self._setOORInfo(self)"
wxPreviewControlBar(wxPrintPreview *preview,
long buttons,
class wxPrintPreview : public wxObject {
public:
+ %nokwargs wxPrintPreview;
wxPrintPreview(wxPyPrintout* printout,
wxPyPrintout* printoutForPrinting,
- wxPrintData* data=NULL);
+ wxPrintDialogData *data=NULL);
+ wxPrintPreview(wxPyPrintout* printout,
+ wxPyPrintout* printoutForPrinting,
+ wxPrintData* data);
virtual bool SetCurrentPage(int pageNum);
int GetCurrentPage();
#define IMP_PYCALLBACK_BOOL_PREWINDC(CLASS, PCLASS, CBNAME) \
bool CLASS::CBNAME(wxPreviewCanvas* a, wxDC& b) { \
- bool rval=FALSE; \
+ bool rval=False; \
bool found; \
- wxPyBeginBlockThreads(); \
+ bool blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
PyObject* win = wxPyMake_wxObject(a); \
PyObject* dc = wxPyMake_wxObject(&b); \
Py_DECREF(win); \
Py_DECREF(dc); \
} \
- wxPyEndBlockThreads(); \
+ wxPyEndBlockThreads(blocked); \
if (! found) \
rval = PCLASS::CBNAME(a, b); \
return rval; \
{
DECLARE_CLASS(wxPyPrintPreview)
public:
+ wxPyPrintPreview(wxPyPrintout* printout,
+ wxPyPrintout* printoutForPrinting,
+ wxPrintDialogData* data=NULL)
+ : wxPrintPreview(printout, printoutForPrinting, data)
+ {}
wxPyPrintPreview(wxPyPrintout* printout,
wxPyPrintout* printoutForPrinting,
wxPrintData* data=NULL)
class wxPyPrintPreview : public wxPrintPreview
{
public:
- %addtofunc wxPyPrintPreview "self._setCallbackInfo(self, PyPrintPreview)"
-
+ %pythonAppend wxPyPrintPreview "self._setCallbackInfo(self, PyPrintPreview)"
+ %nokwargs wxPyPrintPreview;
+ wxPyPrintPreview(wxPyPrintout* printout,
+ wxPyPrintout* printoutForPrinting,
+ wxPrintDialogData* data=NULL);
wxPyPrintPreview(wxPyPrintout* printout,
wxPyPrintout* printoutForPrinting,
- wxPrintData* data=NULL);
+ wxPrintData* data);
void _setCallbackInfo(PyObject* self, PyObject* _class);
class wxPyPreviewFrame : public wxPreviewFrame
{
public:
- %addtofunc wxPyPreviewFrame "self._setCallbackInfo(self, PyPreviewFrame); self._setOORInfo(self)"
+ %pythonAppend wxPyPreviewFrame "self._setCallbackInfo(self, PyPreviewFrame); self._setOORInfo(self)"
wxPyPreviewFrame(wxPrintPreview* preview, wxFrame* parent,
const wxString& title,
class wxPyPreviewControlBar : public wxPreviewControlBar
{
public:
- %addtofunc wxPyPreviewControlBar "self._setCallbackInfo(self, PyPreviewControlBar); self._setOORInfo(self)"
+ %pythonAppend wxPyPreviewControlBar "self._setCallbackInfo(self, PyPreviewControlBar); self._setOORInfo(self)"
wxPyPreviewControlBar(wxPrintPreview *preview,
long buttons,