USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::ZoomTool Class Reference

Handles zoom operations for Isis qt apps. More...

#include <ZoomTool.h>

Inherits Isis::Tool.

List of all members.

Public Slots

void activate (bool)
 Activates the tool.
void setCubeViewport (MdiCubeViewport *cvp)
 Sets the current viewport to the given cvp.

Signals

void clearWarningSignal ()
void viewportChanged ()

Public Member Functions

 ZoomTool (QWidget *parent)
 ZoomTool constructor.
void addTo (QMenu *menu)
 Adds the zoom action to the given menu.
void addTo (ViewportMainWindow *mw)
 Adds the tool to the application.
void addTo (ToolPad *toolpad)
 Adds the tool to the toolpad.
virtual void addTo (Workspace *ws)
 requires the programmer to have this member
virtual void addToPermanent (QToolBar *toolbar)
 requires the programmer to have this member
void addToActive (QToolBar *toolbar)
QString toolIconDir () const
 returns the path to the icon directory.
virtual void paintViewport (MdiCubeViewport *vp, QPainter *painter)
 requires the programmer to have this member

Protected Types

typedef QVector
< MdiCubeViewport * > 
CubeViewportList
 A list of cubeviewports.

Protected Slots

void rubberBandComplete ()
 This method is called when the RubberBandTool is complete.
virtual void screenPixelsChanged ()
 This is called when actions change which pixels from the cube are displayed.
virtual void mouseEnter ()
virtual void mouseMove (QPoint p)
virtual void mouseMove (QPoint p, Qt::MouseButton)
virtual void mouseLeave ()
virtual void mouseDoubleClick (QPoint p)
virtual void mouseButtonPress (QPoint p, Qt::MouseButton s)
virtual void mouseButtonRelease (QPoint p, Qt::MouseButton s)
 Resets the Warning to Nowarning when a different activity occurs on the application.
virtual void updateMeasure ()
virtual void scaleChanged ()
virtual void stretchRequested (MdiCubeViewport *, int)
void registerTool (MdiCubeViewport *viewport)
 Registers the tool to the viewport.

Protected Member Functions

QActiontoolPadAction (ToolPad *toolpad)
 Adds the action to the toolpad.
QString menuName () const
 Returns the name of the menu.
void updateTool ()
 This method updates the line edits text to the correct zoom value.
QWidgetcreateToolBarWidget (QStackedWidget *parent)
 Creates the widget to add to the tool bar.
void enableRubberBandTool ()
 This methods enables the RubberBandTool, it also sets the RubberBandTool to allow points and to allow all clicks.
MdiCubeViewportcubeViewport () const
 Return the current cubeviewport.
CubeViewportListcubeViewportList () const
 Return the list of cubeviewports.
virtual void addConnections (MdiCubeViewport *cvp)
 Anytime a tool is created, you must add the connections for it.
virtual void removeConnections (MdiCubeViewport *cvp)
 Anytime a tool is created, you must be able to remove it's connections.

Protected Attributes

MdiCubeViewportp_cvp
 current cubeviewport
Workspacep_workspace

Detailed Description

Handles zoom operations for Isis qt apps.

Author:
????-??-?? Jeff Anderson - ???

Member Typedef Documentation

typedef QVector< MdiCubeViewport * > Isis::Tool::CubeViewportList [protected, inherited]

A list of cubeviewports.


Constructor & Destructor Documentation

Isis::ZoomTool::ZoomTool ( QWidget parent  ) 

ZoomTool constructor.

Parameters:
parent Parent widget

References Isis::Tool::toolIconDir().


Member Function Documentation

void Tool::activate ( bool  on  )  [slot, inherited]
virtual void Isis::Tool::addConnections ( MdiCubeViewport cvp  )  [inline, protected, virtual, inherited]

Anytime a tool is created, you must add the connections for it.

Parameters:
cvp 

Reimplemented in Isis::TrackTool, and Isis::WindowTool.

void Tool::addTo ( Workspace ws  )  [virtual, inherited]

requires the programmer to have this member

Adds the given workspace to the cubeviewport list.

Parameters:
ws 

Reimplemented in Isis::FileTool, and Isis::WindowTool.

References Isis::Tool::p_workspace, Isis::Tool::registerTool(), and Isis::Tool::setCubeViewport().

void Tool::addTo ( ToolPad toolpad  )  [inherited]

Adds the tool to the toolpad.

Parameters:
toolpad 

References Isis::Tool::activate(), Isis::ToolPad::addAction(), and Isis::Tool::toolPadAction().

void Tool::addTo ( ViewportMainWindow pViewPortMnWin  )  [inherited]
void Isis::ZoomTool::addTo ( QMenu *  menu  )  [virtual]

Adds the zoom action to the given menu.

This will include the Zoom In (by factor of 2), Zoom Out (by factor of 1/2), Zoom Actual (1:1) and Zoom Fit actions.

Parameters:
menu Pointer to the QMenu

Reimplemented from Isis::Tool.

void Tool::addToActive ( QToolBar toolbar  )  [inherited]
Parameters:
toolbar 

References Isis::Tool::createToolBarWidget().

Referenced by Isis::Tool::addTo().

virtual void Isis::Tool::addToPermanent ( QToolBar toolbar  )  [inline, virtual, inherited]

requires the programmer to have this member

Parameters:
toolbar 

Reimplemented in Isis::AdvancedTrackTool, Isis::BlinkTool, Isis::FileTool, Isis::HelpTool, Isis::SpecialPixelTool, and Isis::WindowTool.

Referenced by Isis::Tool::addTo().

void Tool::clearWarningSignal (  )  [signal, inherited]
QWidget * Isis::ZoomTool::createToolBarWidget ( QStackedWidget *  parent  )  [protected, virtual]

Creates the widget to add to the tool bar.

For each button, this method assigns the icons, ToolTips, WhatsThis, and connects a slot to the clicked signal. The following buttons are included

  • Zoom In - uses the magnifying glass with "+" icon and shortcut +
  • Zoom Out - uses the magnifying glass with "-" icon and shortcut -
  • Zoom 1:1 - uses the magnifying glass with "1:1" icon and shortcut /
  • Fit in viewport - uses the magnifying glass with "dotted square" icon, shortcut * and drop down menu to choose to "Fit Width" or "Fit Height"
  • Scale - Text box to manually enter scale
Parameters:
parent Parent stacked widget
Returns:
QWidget* Horizontal box to which the zoom tools icons will be added

Reimplemented from Isis::Tool.

References Isis::Tool::toolIconDir().

MdiCubeViewport* Isis::Tool::cubeViewport (  )  const [inline, protected, inherited]
Tool::CubeViewportList * Tool::cubeViewportList (  )  const [protected, inherited]
void Isis::ZoomTool::enableRubberBandTool (  )  [protected, virtual]

This methods enables the RubberBandTool, it also sets the RubberBandTool to allow points and to allow all clicks.

Reimplemented from Isis::Tool.

References Isis::RubberBandTool::allowAllClicks(), Isis::RubberBandTool::allowPoints(), Isis::RubberBandTool::enable(), and Isis::RubberBandTool::Rectangle.

QString Isis::ZoomTool::menuName (  )  const [inline, protected, virtual]

Returns the name of the menu.

Reimplemented from Isis::Tool.

void Tool::mouseButtonPress ( QPoint  p,
Qt::MouseButton  s 
) [protected, virtual, slot, inherited]
Parameters:
p 
s 

Reimplemented in Isis::PanTool, and Isis::RubberBandTool.

References Isis::Tool::clearWarningSignal().

void Tool::mouseButtonRelease ( QPoint  p,
Qt::MouseButton  s 
) [protected, virtual, slot, inherited]

Resets the Warning to Nowarning when a different activity occurs on the application.

This is called by all the mouseButtonRelease events in all the tools.

Parameters:
p 
s 

Reimplemented in Isis::EditTool, Isis::FindTool, Isis::PanTool, Isis::RubberBandTool, Isis::StatisticsTool, and Isis::StretchTool.

References Isis::Tool::clearWarningSignal().

void Tool::mouseDoubleClick ( QPoint  p  )  [protected, virtual, slot, inherited]
Parameters:
p 

Reimplemented in Isis::RubberBandTool.

References Isis::Tool::clearWarningSignal().

virtual void Isis::Tool::mouseEnter (  )  [inline, protected, virtual, slot, inherited]
virtual void Isis::Tool::mouseLeave (  )  [inline, protected, virtual, slot, inherited]
virtual void Isis::Tool::mouseMove ( QPoint  p,
Qt::MouseButton   
) [inline, protected, virtual, slot, inherited]
void Tool::mouseMove ( QPoint  p  )  [protected, virtual, slot, inherited]
Parameters:
p 

Reimplemented in Isis::AdvancedTrackTool, Isis::PanTool, and Isis::TrackTool.

virtual void Isis::Tool::paintViewport ( MdiCubeViewport vp,
QPainter *  painter 
) [inline, virtual, inherited]

requires the programmer to have this member

Parameters:
vp 
painter 

Reimplemented in Isis::AbstractPlotTool, Isis::FindTool, Isis::RubberBandTool, and Isis::ScatterPlotTool.

void Tool::registerTool ( MdiCubeViewport viewport  )  [protected, slot, inherited]

Registers the tool to the viewport.

Parameters:
viewport 

References Isis::Tool::p_cvp, Isis::MdiCubeViewport::registerTool(), and Isis::Tool::stretchRequested().

Referenced by Isis::Tool::addTo().

virtual void Isis::Tool::removeConnections ( MdiCubeViewport cvp  )  [inline, protected, virtual, inherited]

Anytime a tool is created, you must be able to remove it's connections.

Parameters:
cvp 

Reimplemented in Isis::MeasureTool, Isis::TrackTool, and Isis::WindowTool.

void Isis::ZoomTool::rubberBandComplete (  )  [protected, virtual, slot]

This method is called when the RubberBandTool is complete.

It will either zoom the CubeViewport to the rectangle specified by the RubberBandTool or will handle different zoom methods specified by the last RubberBandTool's mouse button.

Reimplemented from Isis::Tool.

References Isis::Tool::cubeViewport(), Isis::Tool::cubeViewportList(), Isis::RubberBandTool::getVertices(), Isis::MdiCubeViewport::isLinked(), Isis::RubberBandTool::isPoint(), Isis::RubberBandTool::isValid(), Isis::RubberBandTool::mouseButton(), Isis::RubberBandTool::rectangle(), Isis::CubeViewport::scale(), updateTool(), x, and y.

virtual void Isis::Tool::scaleChanged (  )  [inline, protected, virtual, slot, inherited]

Reimplemented in Isis::RubberBandTool.

virtual void Isis::Tool::screenPixelsChanged (  )  [inline, protected, virtual, slot, inherited]

This is called when actions change which pixels from the cube are displayed.

Reimplemented in Isis::StretchTool.

void Tool::setCubeViewport ( MdiCubeViewport cvp  )  [slot, inherited]

Sets the current viewport to the given cvp.

Parameters:
cvp 

References Isis::Tool::p_cvp, Isis::Tool::updateTool(), and Isis::Tool::viewportChanged().

Referenced by Isis::Tool::addTo().

virtual void Isis::Tool::stretchRequested ( MdiCubeViewport ,
int   
) [inline, protected, virtual, slot, inherited]

Reimplemented in Isis::StretchTool.

Referenced by Isis::Tool::registerTool().

QString Isis::Tool::toolIconDir (  )  const [inline, inherited]
QAction * Isis::ZoomTool::toolPadAction ( ToolPad toolpad  )  [protected, virtual]

Adds the action to the toolpad.

The icon used will be the magnifying glass. The tool tip reads "Zoom (Z)" with shortcut key "Z".

Parameters:
toolpad Toolpad to which the zoom tool will be added
Returns:
QAction* ZoomTool action defined by the cursor, ToolTip,

Reimplemented from Isis::Tool.

References Isis::Tool::toolIconDir().

virtual void Isis::Tool::updateMeasure (  )  [inline, protected, virtual, slot, inherited]

Reimplemented in Isis::MeasureTool.

void Isis::ZoomTool::updateTool (  )  [protected, virtual]

This method updates the line edits text to the correct zoom value.

Reimplemented from Isis::Tool.

References Isis::Tool::cubeViewport(), and Isis::CubeViewport::scale().

Referenced by rubberBandComplete().

void Tool::viewportChanged (  )  [signal, inherited]

Member Data Documentation

MdiCubeViewport* Isis::Tool::p_cvp [protected, inherited]
Workspace* Isis::Tool::p_workspace [protected, inherited]

The documentation for this class was generated from the following files: