33 #ifndef __TERRALIB_LAYOUT_INTERNAL_VIEW_H
34 #define __TERRALIB_LAYOUT_INTERNAL_VIEW_H
37 #include "../../core/AbstractView.h"
38 #include "../../../geometry/Envelope.h"
39 #include "../../../geometry/Coord2D.h"
41 #include "../outside/PageSetupOutside.h"
42 #include "../outside/SystematicScaleOutside.h"
43 #include "../item/MovingItemGroup.h"
50 #include <QGraphicsView>
61 class QGraphicsItemGroup;
63 class QContextMenuEvent;
70 class VisualizationArea;
71 class AbstractViewTool;
72 class HorizontalRuler;
98 View(QWidget* widget = (QWidget*)0);
108 virtual void config();
113 virtual void closeOutsideWindows();
120 virtual QImage createImage();
125 virtual void resetView();
135 virtual void zoomArea();
140 virtual void zoomOut();
145 virtual void print();
150 virtual void recompose();
155 virtual void zoomPercentage();
162 virtual void changeZoomFactor(
double currentZoom);
167 virtual void exportToPDF();
174 virtual void onToolbarChangeContext(
bool change);
179 virtual void onMainMenuChangeContext(
bool change);
184 virtual void onChangeConfig();
186 virtual void onSystematicApply(
double scale, SystematicScaleType type);
191 virtual void onSelectionChanged();
193 virtual void onSelectionItem(std::string name);
202 void changeSceneCoordMouse(QPointF pos);
222 void reloadProperties();
227 void changeZoom(
double currentFactor);
232 void changeContext();
239 virtual void mousePressEvent(QMouseEvent * event);
244 virtual void mouseMoveEvent ( QMouseEvent * event );
249 virtual void mouseReleaseEvent ( QMouseEvent * event );
254 virtual void wheelEvent(QWheelEvent *event);
259 virtual void keyPressEvent(QKeyEvent* keyEvent);
264 virtual void resizeEvent(QResizeEvent * event);
269 virtual void hideEvent ( QHideEvent * event );
274 virtual void closeEvent ( QCloseEvent * event );
279 virtual void showEvent ( QShowEvent * event );
284 virtual void contextMenuEvent ( QContextMenuEvent * event );
289 virtual void drawForeground ( QPainter * painter,
const QRectF & rect );
294 virtual void createItemGroup();
299 virtual void destroyItemGroup();
301 virtual void resetDefaultConfig();
307 virtual void outsideAreaChangeContext(
bool change);
312 virtual void showPageSetup();
314 virtual void showSystematicScale();
316 virtual QCursor createCursor(std::string pathIcon);
325 virtual bool exportProperties(
EnumType* type);
332 virtual bool importTemplate(
EnumType* type);
337 virtual void exportItemsToImage();
339 virtual bool isExceededLimit(
double currentScale,
double factor,
double oldFactor);
This is the abstract view for View.
Class that represents a horizontal ruler with the coordinate system in mm.
#define TELAYOUTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Creates the viewing area. Ex.: creation of the sheet of paper.
SystematicScaleOutside * m_systematicOutside
VerticalRuler * m_verticalRuler
Class representing the scene. This scene is child of QGraphicsScene, part of Graphics View Framework...
An utility struct for representing 2D coordinates.
MenuBuilder * m_menuBuilder
te::gm::Coord2D m_coordSystematic
Class representing the view. This view is child of QGraphicsView, part of Graphics View Framework...
VisualizationArea * m_visualizationArea
HorizontalRuler * m_horizontalRuler
Class that represents the value of an enumeration. An enumeration is made of "1..n" objects EnumType...
Class that represents a vertical ruler with the coordinate system in mm.
AbstractViewTool * m_currentTool
PageSetupOutside * m_pageSetupOutside
te::layout::MovingItemGroup * m_movingItemGroup