* Added field fKey to BaseCap (will be required for Gutenprint printer
driver add-on). * Added ability to search for a PrinterCap by ID to class PrinterCap (for Gutenprint driver add-on). * Moved code for searching a PrinterCap by name into class PrinterCap. * Refactored code in JobSetupDlg to use the new method. * Refactored duplicated code in JobSetupDlg. * There is still a lot of refactoring potential in libprint. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39141 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include "JobData.h"
|
||||
#include "Halftone.h"
|
||||
#include "JSDSlider.h"
|
||||
#include "PrinterCap.h"
|
||||
|
||||
class BTextControl;
|
||||
class BTextView;
|
||||
@@ -34,13 +35,20 @@ public:
|
||||
|
||||
private:
|
||||
void UpdateButtonEnabledState();
|
||||
void FillCapabilityMenu(BPopUpMenu* menu, uint32 message,
|
||||
PrinterCap::CapID category, int id);
|
||||
void FillCapabilityMenu(BPopUpMenu* menu, uint32 message,
|
||||
const BaseCap** capabilities, int count, int id);
|
||||
int GetID(const BaseCap** capabilities, int count, const char* label,
|
||||
int defaultValue);
|
||||
BRadioButton* CreatePageSelectionItem(const char* name, const char* label,
|
||||
JobData::PageSelection pageSelection);
|
||||
void AllowOnlyDigits(BTextView* textView, int maxDigits);
|
||||
JobData::Color getColor();
|
||||
Halftone::DitherType getDitherType();
|
||||
float getGamma();
|
||||
float getInkDensity();
|
||||
JobData::Color Color();
|
||||
Halftone::DitherType DitherType();
|
||||
float Gamma();
|
||||
float InkDensity();
|
||||
JobData::PaperSource PaperSource();
|
||||
|
||||
BTextControl *fCopies;
|
||||
BTextControl *fFromPage;
|
||||
|
||||
@@ -18,9 +18,13 @@ enum {
|
||||
|
||||
struct BaseCap {
|
||||
BaseCap(const string &label, bool isDefault);
|
||||
virtual ~BaseCap();
|
||||
|
||||
virtual int ID() const = 0;
|
||||
|
||||
string fLabel;
|
||||
bool fIsDefault;
|
||||
string fKey;
|
||||
};
|
||||
|
||||
struct PaperCap : public BaseCap {
|
||||
@@ -28,6 +32,8 @@ struct PaperCap : public BaseCap {
|
||||
JobData::Paper paper, const BRect &paperRect,
|
||||
const BRect &physicalRect);
|
||||
|
||||
int ID() const;
|
||||
|
||||
JobData::Paper fPaper;
|
||||
BRect fPaperRect;
|
||||
BRect fPhysicalRect;
|
||||
@@ -37,13 +43,18 @@ struct PaperSourceCap : public BaseCap {
|
||||
PaperSourceCap(const string &label, bool isDefault,
|
||||
JobData::PaperSource paperSource);
|
||||
|
||||
int ID() const;
|
||||
|
||||
JobData::PaperSource fPaperSource;
|
||||
};
|
||||
|
||||
struct ResolutionCap : public BaseCap {
|
||||
ResolutionCap(const string &label, bool isDefault,
|
||||
int xResolution, int yResolution);
|
||||
int id, int xResolution, int yResolution);
|
||||
|
||||
int ID() const;
|
||||
|
||||
int fID;
|
||||
int fXResolution;
|
||||
int fYResolution;
|
||||
};
|
||||
@@ -52,6 +63,8 @@ struct OrientationCap : public BaseCap {
|
||||
OrientationCap(const string &label, bool isDefault,
|
||||
JobData::Orientation orientation);
|
||||
|
||||
int ID() const;
|
||||
|
||||
JobData::Orientation fOrientation;
|
||||
};
|
||||
|
||||
@@ -59,6 +72,8 @@ struct PrintStyleCap : public BaseCap {
|
||||
PrintStyleCap(const string &label, bool isDefault,
|
||||
JobData::PrintStyle printStyle);
|
||||
|
||||
int ID() const;
|
||||
|
||||
JobData::PrintStyle fPrintStyle;
|
||||
};
|
||||
|
||||
@@ -67,6 +82,8 @@ struct BindingLocationCap : public BaseCap {
|
||||
bool isDefault,
|
||||
JobData::BindingLocation bindingLocation);
|
||||
|
||||
int ID() const;
|
||||
|
||||
JobData::BindingLocation fBindingLocation;
|
||||
};
|
||||
|
||||
@@ -74,6 +91,8 @@ struct ColorCap : public BaseCap {
|
||||
ColorCap(const string &label, bool isDefault,
|
||||
JobData::Color color);
|
||||
|
||||
int ID() const;
|
||||
|
||||
JobData::Color fColor;
|
||||
};
|
||||
|
||||
@@ -82,6 +101,8 @@ struct ProtocolClassCap : public BaseCap {
|
||||
bool isDefault, int protocolClass,
|
||||
const string &description);
|
||||
|
||||
int ID() const;
|
||||
|
||||
int fProtocolClass;
|
||||
string fDescription;
|
||||
};
|
||||
@@ -108,16 +129,19 @@ public:
|
||||
kCopyCommand, // supports printer page copy command?
|
||||
};
|
||||
|
||||
virtual int countCap(CapID) const = 0;
|
||||
virtual bool isSupport(CapID) const = 0;
|
||||
virtual const BaseCap** enumCap(CapID) const = 0;
|
||||
const BaseCap* getDefaultCap(CapID) const;
|
||||
virtual int countCap(CapID category) const = 0;
|
||||
virtual bool isSupport(CapID category) const = 0;
|
||||
virtual const BaseCap** enumCap(CapID category) const = 0;
|
||||
const BaseCap* getDefaultCap(CapID category) const;
|
||||
const BaseCap* findCap(CapID category, int id) const;
|
||||
const BaseCap* findCap(CapID category, const char* label) const;
|
||||
|
||||
int getPrinterId() const;
|
||||
int getProtocolClass() const;
|
||||
|
||||
protected:
|
||||
PrinterCap(const PrinterCap &);
|
||||
PrinterCap& operator=(const PrinterCap &);
|
||||
PrinterCap(const PrinterCap &printerCap);
|
||||
PrinterCap& operator=(const PrinterCap &printerCap);
|
||||
|
||||
const PrinterData* getPrinterData() const;
|
||||
void setPrinterId(int id);
|
||||
|
||||
Reference in New Issue
Block a user