* Enable halftone configuration options if requested by printer driver

only.
* WIP: Driver specific generic capabilities.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39153 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Pfeiffer
2010-10-26 09:48:36 +00:00
parent 2ca94d9be9
commit 308f0e195d
9 changed files with 179 additions and 63 deletions
@@ -35,6 +35,8 @@ public:
private:
void UpdateButtonEnabledState();
bool IsHalftoneConfigurationNeeded();
void CreateHalftoneConfigurationUI();
void FillCapabilityMenu(BPopUpMenu* menu, uint32 message,
PrinterCap::CapID category, int id);
void FillCapabilityMenu(BPopUpMenu* menu, uint32 message,
@@ -44,6 +46,7 @@ private:
BRadioButton* CreatePageSelectionItem(const char* name, const char* label,
JobData::PageSelection pageSelection);
void AllowOnlyDigits(BTextView* textView, int maxDigits);
void UpdateHalftonePreview();
JobData::Color Color();
Halftone::DitherType DitherType();
float Gamma();
@@ -58,9 +61,11 @@ private:
const PrinterCap *fPrinterCap;
BPopUpMenu *fColorType;
BPopUpMenu *fDitherType;
BMenuField *fDitherMenuField;
JSDSlider *fGamma;
JSDSlider *fInkDensity;
HalftoneView *fHalftone;
BBox *fHalftoneBox;
BRadioButton *fAll;
BCheckBox *fCollate;
BCheckBox *fReverse;
+26 -1
View File
@@ -21,6 +21,7 @@ struct BaseCap {
virtual ~BaseCap();
virtual int ID() const = 0;
const char* Key() const;
string fLabel;
bool fIsDefault;
@@ -108,6 +109,23 @@ struct ProtocolClassCap : public BaseCap {
};
struct DriverSpecificCap : public BaseCap {
enum Type {
kList,
kCheckBox,
kRange
};
DriverSpecificCap(const string& label,
bool isDefault, int category, Type type);
int ID() const;
int fCategory;
Type fType;
};
class PrinterData;
class PrinterCap {
@@ -124,9 +142,16 @@ public:
kBindingLocation,
kColor,
kProtocolClass,
kDriverSpecifcCapababilities,
// Static boolean settings follow.
// For them isSupport() has to be implemented only.
kCopyCommand, // supports printer page copy command?
kCopyCommand, // supports printer page copy command?
kHalftone, // needs the printer driver the configuration
// for class Halftone?
// The driver specific generic capabilities start here
kDriverSpecificCapabablitiesBegin = 100
};
virtual int countCap(CapID category) const = 0;