You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kbarcode/kbarcode/barcodedialogs.h

188 lines
5.1 KiB

/***************************************************************************
barcodedialogs.h - description
-------------------
begin : Fre Sep 5 2003
copyright : (C) 2003 by Dominik Seichter
email : domseichter@web.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef BARCODEDIALOGS_H
#define BARCODEDIALOGS_H
#include <tqmap.h>
#include <tqptrlist.h>
#include <tqwidget.h>
#include <tqvbox.h>
#include <kdialogbase.h>
class Barkode;
class KColorButton;
class KComboBox;
class KDoubleNumInput;
class KIntNumInput;
class TQCheckBox;
class TQRadioButton;
/** A base class for all widgets, that will be used in AdvancedBarcodeDialog
* to modify the settings of a barcode. The API is simple. You can only set the
* current barcode settings and retrieve them after the user modified them.
*
* @author Dominik Seichter
*/
class BarcodeDlgBase {
public:
virtual void setData( Barkode* b ) = 0;
virtual void getData( Barkode* b ) const = 0;
};
/**
* A configuration dialog for advanced barcode settings.
* Used in BarcodeWidget. It loads the wigets below into tabs.
* @see TBarcodeDlg
* @see PDF417BarcodeDlg
* @see DataMatrixDlg
* @seeSequenceDlg
*
* @author Dominik Seichter
*/
class AdvancedBarcodeDialog : public KDialogBase {
Q_OBJECT
TQ_OBJECT
public:
AdvancedBarcodeDialog( TQString type, TQWidget* tqparent = 0, const char* name = 0 );
~AdvancedBarcodeDialog();
void setData( Barkode* b );
void getData( Barkode* b );
private:
TQPtrList<BarcodeDlgBase> list;
};
/** A configuration widget for TBarcode settings.
* @author Dominik Seichter
*/
class TBarcodeDlg : public TQWidget, public BarcodeDlgBase {
Q_OBJECT
TQ_OBJECT
public:
TBarcodeDlg(TQWidget *tqparent=0, const char *name=0);
void setData( Barkode* b );
void getData( Barkode* b ) const;
private:
KDoubleNumInput* spinModule;
KIntNumInput* spinHeight;
TQCheckBox* checkEscape;
TQCheckBox* checkAbove;
TQCheckBox* checkAutoCorrect;
KComboBox* comboCheckSum;
TQMap<TQString,int> map;
};
/** A configuration Dialog for PDF417 settings.
* @author Dominik Seichter
*/
class PDF417BarcodeDlg : public TQWidget, public BarcodeDlgBase {
Q_OBJECT
TQ_OBJECT
public:
PDF417BarcodeDlg(TQWidget *tqparent=0, const char *name=0);
void setData( Barkode* b );
void getData( Barkode* b ) const;
private:
KIntNumInput* spinRow;
KIntNumInput* spinCol;
KIntNumInput* spinErr;
};
/** A configuration widget for DataMatrix settings.
* @author Dominik Seichter
*/
class DataMatrixDlg : public TQWidget, public BarcodeDlgBase {
Q_OBJECT
TQ_OBJECT
public:
DataMatrixDlg(TQWidget *tqparent=0, const char *name=0);
void setData( Barkode* b );
void getData( Barkode* b ) const;
private:
KComboBox* comboDataMatrix;
};
/** A configuration widget for barcode sequences.
* @author Dominik Seichter
*/
class SequenceDlg : public TQWidget, public BarcodeDlgBase {
Q_OBJECT
TQ_OBJECT
public:
SequenceDlg(TQWidget *tqparent=0, const char *name=0);
void setData( Barkode* b );
void getData( Barkode* b ) const;
private slots:
void enableControls();
private:
TQCheckBox* checkSequence;
TQRadioButton* radioNumbers;
TQRadioButton* radioAlpha;
TQRadioButton* radioAlphaNum;
KIntNumInput* spinStep;
KIntNumInput* spinStart;
};
/** A configuration widget for colors in pure postscript barcodes
* @author Dominik Seichter
*/
class ColorDlg : public TQVBox, public BarcodeDlgBase {
Q_OBJECT
TQ_OBJECT
public:
ColorDlg(TQWidget *tqparent=0, const char *name=0);
void setData( Barkode* b );
void getData( Barkode* b ) const;
private:
KColorButton* buttonBarColor;
KColorButton* buttonBackColor;
KColorButton* buttonTextColor;
};
/** A configuration widget for colors in pure postscript barcodes
* @author Dominik Seichter
*/
class PurePostscriptDlg : public TQVBox, public BarcodeDlgBase {
Q_OBJECT
TQ_OBJECT
public:
PurePostscriptDlg(TQWidget *tqparent=0, const char *name=0);
void setData( Barkode* b );
void getData( Barkode* b ) const;
private:
TQCheckBox* checkChecksum;
};
#endif