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