casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
pictureviewer.qo.h
Go to the documentation of this file.
00001 //# Copyright (C) 2005
00002 //# Associated Universities, Inc. Washington DC, USA.
00003 //#
00004 //# This library is free software; you can redistribute it and/or modifyit
00005 //# under the terms of the GNU Library General Public License as published by
00006 //# the Free Software Foundation; either version 2 of the License, or (at your
00007 //# option) any later version.
00008 //#
00009 //# This library is distributed in the hope that it will be useful, but WITHOUT
00010 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00011 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00012 //# License for more details.
00013 //#
00014 //# You should have received a copy of the GNU Library General Public License
00015 //# along with this library; if not, write to the Free Software Foundation,
00016 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00017 //#
00018 //# Correspondence concerning AIPS++ should be addressed as follows:
00019 //#        Internet email: aips2-request@nrao.edu.
00020 //#        Postal address: AIPS++ Project Office
00021 //#                        National Radio Astronomy Observatory
00022 //#                        520 Edgemont Road
00023 //#                        Charlottesville, VA 22903-2475 USA
00024 //#
00025 //# $Id$
00026 
00027 #ifndef PICTUREVIEWER_H
00028 #define PICTUREVIEWER_H
00029 
00030 #include <graphics/X11/X_enter.h>
00031 #include <QMainWindow>
00032 #include <QPrinter>
00033 
00034 class QAction;
00035 class QLabel;
00036 class QMenu;
00037 class QScrollArea;
00038 class QScrollBar;
00039 class QString;
00040 #include <graphics/X11/X_exit.h>
00041 
00042 namespace casa {
00043 
00044 class PictureViewer : public QMainWindow
00045 {
00046     Q_OBJECT
00047 
00048 public:
00049     PictureViewer(const QString = "");
00050 
00051 private slots:
00052     void open();
00053     void print();
00054     void zoomIn();
00055     void zoomOut();
00056     void normalSize();
00057     void fitToWindow();
00058 public slots:
00059     void open(const QString);
00060 private:
00061     void createActions();
00062     void createMenus();
00063     void updateActions();
00064     void scaleImage(double factor);
00065     void adjustScrollBar(QScrollBar *scrollBar, double factor);
00066 
00067     QLabel *imageLabel;
00068     QScrollArea *scrollArea;
00069     double scaleFactor;
00070 
00071     QPrinter printer;
00072 
00073     QAction *openAct;
00074     QAction *printAct;
00075     QAction *exitAct;
00076     QAction *zoomInAct;
00077     QAction *zoomOutAct;
00078     QAction *normalSizeAct;
00079     QAction *fitToWindowAct;
00080 
00081     QMenu *fileMenu;
00082     QMenu *viewMenu;
00083     QMenu *helpMenu;
00084 };
00085 }
00086 #endif