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
};
+enum wxPrintBin
+{
+ wxPRINTBIN_DEFAULT,
+
+ wxPRINTBIN_ONLYONE,
+ wxPRINTBIN_LOWER,
+ wxPRINTBIN_MIDDLE,
+ wxPRINTBIN_MANUAL,
+ wxPRINTBIN_ENVELOPE,
+ wxPRINTBIN_ENVMANUAL,
+ wxPRINTBIN_AUTO,
+ wxPRINTBIN_TRACTOR,
+ wxPRINTBIN_SMALLFMT,
+ wxPRINTBIN_LARGEFMT,
+ wxPRINTBIN_LARGECAPACITY,
+ wxPRINTBIN_CASSETTE,
+ wxPRINTBIN_FORMSOURCE,
+
+ wxPRINTBIN_USER,
+};
class wxPrintData : public wxObject {
public:
+ %nokwargs wxPrintData;
wxPrintData();
+ wxPrintData(const wxPrintData& data); // for making copies
+
~wxPrintData();
int GetNoCopies();
const wxSize& GetPaperSize();
int GetQuality();
-
+ wxPrintBin GetBin();
+
void SetNoCopies(int v);
void SetCollate(bool flag);
void SetOrientation(int orient);
void SetPaperId(wxPaperSize sizeId);
void SetPaperSize(const wxSize& sz);
void SetQuality(int quality);
-
+ void SetBin(wxPrintBin bin);
// PostScript-specific data
const wxString& GetPrinterCommand();
const wxString& GetPrinterOptions();
void SetPrinterTranslation(long x, long y);
void SetPrintMode(wxPrintMode printMode);
+ wxOutputStream* GetOutputStream();
+ void SetOutputStream(wxOutputStream* outputstream);
+
%pythoncode { def __nonzero__(self): return self.Ok() }
};
class wxPageSetupDialogData : public wxObject {
public:
+ %nokwargs wxPageSetupDialogData;
wxPageSetupDialogData();
+ wxPageSetupDialogData(const wxPageSetupDialogData& data); // for making copies
~wxPageSetupDialogData();
void EnableHelp(bool flag);
+MustHaveApp(wxPageSetupDialog);
+
class wxPageSetupDialog : public wxDialog {
public:
%pythonAppend wxPageSetupDialog "self._setOORInfo(self)"
class wxPrintDialogData : public wxObject {
public:
+ %nokwargs wxPrintDialogData;
wxPrintDialogData();
+ wxPrintDialogData(const wxPrintData& printData); // for making copies
~wxPrintDialogData();
int GetFromPage() const;
};
+MustHaveApp(wxPrintDialog);
+
class wxPrintDialog : public wxDialog {
public:
%pythonAppend wxPrintDialog "self._setOORInfo(self)"
};
+MustHaveApp(wxPrinter);
+
class wxPrinter : public wxObject {
public:
wxPrinter(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);
}
%}
+MustHaveApp(wxPyPrintout);
+
// Now define the custom class for SWIGging
%name(Printout) class wxPyPrintout : public wxObject {
public:
+MustHaveApp(wxPreviewCanvas);
+
class wxPreviewCanvas: public wxScrolledWindow
{
public:
};
+MustHaveApp(wxPreviewFrame);
+
class wxPreviewFrame : public wxFrame {
public:
%pythonAppend wxPreviewFrame "self._setOORInfo(self)"
wxID_PREVIEW_GOTO
};
+MustHaveApp(wxPreviewControlBar);
+
class wxPreviewControlBar: public wxPanel
{
public:
//---------------------------------------------------------------------------
+MustHaveApp(wxPrintPreview);
+
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 DEC_PYCALLBACK_BOOL_PREWINDC(CBNAME) \
- bool CBNAME(wxPreviewCanvas* a, wxDC& b); \
+#define DEC_PYCALLBACK_BOOL_PREWINDC(CBNAME) \
+ bool CBNAME(wxPreviewCanvas* a, wxDC& b); \
bool base_##CBNAME(wxPreviewCanvas* a, wxDC& b)
-#define IMP_PYCALLBACK_BOOL_PREWINDC(CLASS, PCLASS, CBNAME) \
- bool CLASS::CBNAME(wxPreviewCanvas* a, wxDC& b) { \
- bool rval=False; \
- bool found; \
- wxPyBeginBlockThreads(); \
- if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
- PyObject* win = wxPyMake_wxObject(a); \
- PyObject* dc = wxPyMake_wxObject(&b); \
- rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)", win, dc));\
- Py_DECREF(win); \
- Py_DECREF(dc); \
- } \
- wxPyEndBlockThreads(); \
- if (! found) \
- rval = PCLASS::CBNAME(a, b); \
- return rval; \
- } \
- bool CLASS::base_##CBNAME(wxPreviewCanvas* a, wxDC& b) { \
- return PCLASS::CBNAME(a, b); \
+#define IMP_PYCALLBACK_BOOL_PREWINDC(CLASS, PCLASS, CBNAME) \
+ bool CLASS::CBNAME(wxPreviewCanvas* a, wxDC& b) { \
+ bool rval=false; \
+ bool found; \
+ bool blocked = wxPyBeginBlockThreads(); \
+ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
+ PyObject* win = wxPyMake_wxObject(a,false); \
+ PyObject* dc = wxPyMake_wxObject(&b,false); \
+ rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)", win, dc)); \
+ Py_DECREF(win); \
+ Py_DECREF(dc); \
+ } \
+ wxPyEndBlockThreads(blocked); \
+ if (! found) \
+ rval = PCLASS::CBNAME(a, b); \
+ return rval; \
+ } \
+ bool CLASS::base_##CBNAME(wxPreviewCanvas* a, wxDC& b) { \
+ return PCLASS::CBNAME(a, b); \
}
{
DECLARE_CLASS(wxPyPrintPreview)
public:
+ wxPyPrintPreview(wxPyPrintout* printout,
+ wxPyPrintout* printoutForPrinting,
+ wxPrintDialogData* data=NULL)
+ : wxPrintPreview(printout, printoutForPrinting, data)
+ {}
wxPyPrintPreview(wxPyPrintout* printout,
wxPyPrintout* printoutForPrinting,
wxPrintData* data=NULL)
%}
+MustHaveApp(wxPyPrintPreview);
+
class wxPyPrintPreview : public wxPrintPreview
{
public:
%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);
%}
+MustHaveApp(wxPyPreviewFrame);
+
class wxPyPreviewFrame : public wxPreviewFrame
{
public:
%}
+MustHaveApp(wxPyPreviewControlBar);
+
class wxPyPreviewControlBar : public wxPreviewControlBar
{
public: