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