1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /*************************************************************************
- * Copyright (c) 2011 AT&T Intellectual Property
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Details at https://graphviz.org
- *************************************************************************/
- #pragma once
- #define QT_NO_PRINTER 1
- #include <QtWidgets>
- #include <QMainWindow>
- #include <QPrinter>
- QT_BEGIN_NAMESPACE
- class QAction;
- class QLabel;
- class QMenu;
- class QScrollArea;
- class QScrollBar;
- class MdiChild;
- QT_END_NAMESPACE
- class ImageViewer : public QMainWindow
- {
- Q_OBJECT
- public:
- ImageViewer();
- MdiChild* graphWindow;
- QMdiSubWindow* subWindowRef; //reference to its wrapping sub window
- public slots:
- bool open(const QString &fileName);
- void print();
- void zoomIn();
- void zoomOut();
- void normalSize();
- void fitToWindow();
- void about();
- private slots:
- private:
- void createActions();
- void createMenus();
- void updateActions();
- void scaleImage(double factor);
- void adjustScrollBar(QScrollBar *scrollBar, double factor);
- QLabel *imageLabel;
- QScrollArea *scrollArea;
- double scaleFactor;
- #ifndef QT_NO_PRINTER
- QPrinter printer;
- #endif
- QAction *openAct;
- QAction *printAct;
- QAction *exitAct;
- QAction *zoomInAct;
- QAction *zoomOutAct;
- QAction *normalSizeAct;
- QAction *fitToWindowAct;
- QAction *aboutAct;
- QAction *aboutQtAct;
- QMenu *viewMenu;
- protected:
- void closeEvent(QCloseEvent *event);
- };
|