Implemented Page Selection.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10777 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -61,6 +61,8 @@ private:
|
|||||||
void cleanupData();
|
void cleanupData();
|
||||||
void cleanupBitmap();
|
void cleanupBitmap();
|
||||||
bool printPage(PageDataList *pages);
|
bool printPage(PageDataList *pages);
|
||||||
|
bool collectPages(SpoolData *spool_data, PageDataList *pages);
|
||||||
|
bool skipPages(SpoolData *spool_data);
|
||||||
bool printDocument(SpoolData *spool_data);
|
bool printDocument(SpoolData *spool_data);
|
||||||
bool printJob(BFile *file);
|
bool printJob(BFile *file);
|
||||||
static void rgb32_to_rgb24(void* src, void* dst, int width);
|
static void rgb32_to_rgb24(void* src, void* dst, int width);
|
||||||
|
|||||||
@@ -212,6 +212,12 @@ public:
|
|||||||
kPageSettings,
|
kPageSettings,
|
||||||
kJobSettings
|
kJobSettings
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum PageSelection {
|
||||||
|
kAllPages,
|
||||||
|
kOddNumberedPages,
|
||||||
|
kEvenNumberedPages
|
||||||
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Paper fPaper;
|
Paper fPaper;
|
||||||
@@ -237,8 +243,9 @@ private:
|
|||||||
PageOrder fPageOrder;
|
PageOrder fPageOrder;
|
||||||
Settings fSettings;
|
Settings fSettings;
|
||||||
BMessage *fMsg;
|
BMessage *fMsg;
|
||||||
bool fColor;
|
Color fColor;
|
||||||
Halftone::DitherType fDitherType;
|
Halftone::DitherType fDitherType;
|
||||||
|
PageSelection fPageSelection;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
JobData(BMessage *msg, const PrinterCap *cap, Settings settings);
|
JobData(BMessage *msg, const PrinterCap *cap, Settings settings);
|
||||||
@@ -316,11 +323,14 @@ public:
|
|||||||
PageOrder getPageOrder() const { return fPageOrder; }
|
PageOrder getPageOrder() const { return fPageOrder; }
|
||||||
void setPageOrder(PageOrder page_order) { fPageOrder = page_order; }
|
void setPageOrder(PageOrder page_order) { fPageOrder = page_order; }
|
||||||
|
|
||||||
Color getColor() const { return fColor ? kColor : kMonochrome; }
|
Color getColor() const { return fColor; }
|
||||||
void setColor(Color color) { fColor = color == kColor; }
|
void setColor(Color color) { fColor = color; }
|
||||||
|
|
||||||
Halftone::DitherType getDitherType() const { return fDitherType; }
|
Halftone::DitherType getDitherType() const { return fDitherType; }
|
||||||
void setDitherType(Halftone::DitherType dither_type) { fDitherType = dither_type; }
|
void setDitherType(Halftone::DitherType dither_type) { fDitherType = dither_type; }
|
||||||
|
|
||||||
|
PageSelection getPageSelection() const { return fPageSelection; }
|
||||||
|
void setPageSelection(PageSelection pageSelection) { fPageSelection = pageSelection; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __JOBDATA_H */
|
#endif /* __JOBDATA_H */
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
#include "JSDSlider.h"
|
#include "JSDSlider.h"
|
||||||
|
|
||||||
class BTextControl;
|
class BTextControl;
|
||||||
|
class BTextView;
|
||||||
class BRadioButton;
|
class BRadioButton;
|
||||||
class BCheckBox;
|
class BCheckBox;
|
||||||
class BPopUpMenu;
|
class BPopUpMenu;
|
||||||
@@ -30,17 +31,19 @@ public:
|
|||||||
virtual void MessageReceived(BMessage *msg);
|
virtual void MessageReceived(BMessage *msg);
|
||||||
bool UpdateJobData();
|
bool UpdateJobData();
|
||||||
|
|
||||||
public:
|
|
||||||
BTextControl *copies;
|
|
||||||
BTextControl *from_page;
|
|
||||||
BTextControl *to_page;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void UpdateButtonEnabledState();
|
||||||
|
BRadioButton* AddPageSelectionItem(BView* parent, BRect rect, const char* name, const char* label,
|
||||||
|
JobData::PageSelection pageSelection);
|
||||||
|
void AllowOnlyDigits(BTextView* textView, int maxDigits);
|
||||||
JobData::Color getColor();
|
JobData::Color getColor();
|
||||||
Halftone::DitherType getDitherType();
|
Halftone::DitherType getDitherType();
|
||||||
float getGamma();
|
float getGamma();
|
||||||
float getInkDensity();
|
float getInkDensity();
|
||||||
|
|
||||||
|
BTextControl *fCopies;
|
||||||
|
BTextControl *fFromPage;
|
||||||
|
BTextControl *fToPage;
|
||||||
JobData *fJobData;
|
JobData *fJobData;
|
||||||
PrinterData *fPrinterData;
|
PrinterData *fPrinterData;
|
||||||
const PrinterCap *fPrinterCap;
|
const PrinterCap *fPrinterCap;
|
||||||
@@ -56,16 +59,18 @@ private:
|
|||||||
BPopUpMenu *fPaperFeed;
|
BPopUpMenu *fPaperFeed;
|
||||||
BCheckBox *fDuplex;
|
BCheckBox *fDuplex;
|
||||||
BPopUpMenu *fNup;
|
BPopUpMenu *fNup;
|
||||||
|
BRadioButton *fAllPages;
|
||||||
|
BRadioButton *fOddNumberedPages;
|
||||||
|
BRadioButton *fEvenNumberedPages;
|
||||||
};
|
};
|
||||||
|
|
||||||
class JobSetupDlg : public DialogWindow {
|
class JobSetupDlg : public DialogWindow {
|
||||||
public:
|
public:
|
||||||
JobSetupDlg(JobData *job_data, PrinterData *printer_data, const PrinterCap *printer_cap);
|
JobSetupDlg(JobData *job_data, PrinterData *printer_data, const PrinterCap *printer_cap);
|
||||||
~JobSetupDlg();
|
|
||||||
virtual void MessageReceived(BMessage *message);
|
virtual void MessageReceived(BMessage *message);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BMessageFilter *fFilter;
|
JobSetupView *fJobSetup;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __JOBSETUPDLG_H */
|
#endif /* __JOBSETUPDLG_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user