marginwidget.h

00001 /*
00002  *  This file is part of the KDE libraries
00003  *  Copyright (c) 2001-2002 Michael Goffioul <kdeprint@swing.be>
00004  *
00005  *  This library is free software; you can redistribute it and/or
00006  *  modify it under the terms of the GNU Library General Public
00007  *  License version 2 as published by the Free Software Foundation.
00008  *
00009  *  This library is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  *  Library General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU Library General Public License
00015  *  along with this library; see the file COPYING.LIB.  If not, write to
00016  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  *  Boston, MA 02110-1301, USA.
00018  **/
00019 
00020 #ifndef MARGINWIDGET_H
00021 #define MARGINWIDGET_H
00022 
00023 #include <qwidget.h>
00024 #include <qvaluevector.h>
00025 
00026 #include <kdelibs_export.h>
00027 
00028 class MarginValueWidget;
00029 class MarginPreview;
00030 class QCheckBox;
00031 class QComboBox;
00032 
00033 class KDEPRINT_EXPORT MarginWidget : public QWidget
00034 {
00035     Q_OBJECT
00036 public:
00037     MarginWidget(QWidget *parent = 0, const char *name = 0, bool allowMetricUnit = true);
00038     ~MarginWidget();
00039 
00040     void setSymetricMargins(bool on);
00041     void setPageSize(float w, float h);
00042     void setOrientation(int orient);
00043     float top() const;
00044     void setTop(float val);
00045     float bottom() const;
00046     void setBottom(float val);
00047     float left() const;
00048     void setLeft(float val);
00049     float right() const;
00050     void setRight(float val);
00051     void setResolution(int dpi);
00052     void setDefaultMargins(float t, float b, float l, float r);
00053     void setCustomEnabled(bool on);
00054     bool isCustomEnabled() const;
00055 
00056 protected slots:
00057     void slotMarginValueChanged();
00058     void slotMarginPreviewChanged(int, float);
00059     void slotCustomMarginsToggled(bool);
00060 
00061 protected:
00062     void resetDefault();
00063 
00064 private:
00065     MarginValueWidget   *m_top, *m_bottom, *m_left, *m_right;
00066     MarginPreview       *m_preview;
00067     QComboBox       *m_units;
00068     QCheckBox       *m_custom;
00069     bool            m_symetric, m_block;
00070     QValueVector<float> m_default;
00071     QValueVector<float> m_pagesize;
00072     bool            m_landscape;
00073 };
00074 
00075 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys