KoZoomWidget.h 2.56 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
/*  
    Copyright (C) 2004 Ariya Hidayat <ariya@kde.org>
    Copyright (C) 2006 Peter Simonsson <peter.simonsson@gmail.com>
    Copyright (C) 2006-2007 C. Boemann <cbo@boemann.dk>
    Copyright (C) 2014 Sven Langkamp <sven.langkamp@gmail.com>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License version 2 as published by the Free Software Foundation.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public License
    along with this library; see the file COPYING.LIB.  If not, write to
    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.
*/

#ifndef KOZOOMWIDGET_H
#define KOZOOMWIDGET_H

#include <QWidget>
#include "KoZoomAction.h"
Halla Rempt's avatar
Halla Rempt committed
27
#include <QScopedPointer>
28 29 30 31 32 33

class KoZoomWidget : public QWidget
{
    Q_OBJECT

public:
Sven Langkamp's avatar
Sven Langkamp committed
34
    KoZoomWidget(QWidget* parent, KoZoomAction::SpecialButtons specialButtons, int maxZoom);
35 36
    ~KoZoomWidget();

37
Q_SIGNALS:
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
   /**
    * Signal sliderValueChanged is triggered when the user moves the slider
    * @param value value of the slider
    */
    void sliderValueChanged(int value);

   /**
    * Signal zoomLevelChanged is triggered when the user changes the KoZoomInput combobox widget
    * @param value value of the slider
    */
    void zoomLevelChanged(const QString& level);

   /**
    * Signal aspectModeChanged is triggered when the user toggles the widget.
    * Nothing else happens except that this signal is emitted.
    * @param status Whether the special aspect mode is on
    */
    void aspectModeChanged( bool status );

    /**
     * Signal is triggered when the user clicks the zoom to selection button.
     * Nothing else happens except that this signal is emitted.
     */
    void zoomedToSelection();

    /**
     * Signal is triggered when the user clicks the zoom to all button.
     * Nothing else happens except that this signal is emitted.
     */
    void zoomedToAll();
Friedrich W. H. Kossebau's avatar
Friedrich W. H. Kossebau committed
68

69
public Q_SLOTS:
Friedrich W. H. Kossebau's avatar
Friedrich W. H. Kossebau committed
70 71
    void setZoomLevels(const QStringList &values);
    void setCurrentZoomLevel(const QString &valueString);
72
    void setSliderValue(int value);
Friedrich W. H. Kossebau's avatar
Friedrich W. H. Kossebau committed
73

74 75 76 77 78 79
   /**
    * Change status of "Use same aspect as pixels" button
    */
    void setAspectMode(bool status);
private:
    class Private;
Halla Rempt's avatar
Halla Rempt committed
80
    QScopedPointer<Private> const d;
81 82 83
};

#endif // KOZOOMWIDGET_H