Implemented Page Selection.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10777 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Pfeiffer
2005-01-16 16:12:41 +00:00
parent b1a3ccb885
commit af6520e96c
3 changed files with 27 additions and 10 deletions
@@ -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);
+13 -3
View File
@@ -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 */
+12 -7
View File
@@ -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 */