SpatialDataWindow.h

Go to the documentation of this file.
00001 /*
00002  * The information in this file is
00003  * Copyright(c) 2007 Ball Aerospace & Technologies Corporation
00004  * and is subject to the terms and conditions of the
00005  * GNU Lesser General Public License Version 2.1
00006  * The license text is available from   
00007  * http://www.gnu.org/licenses/lgpl.html
00008  */
00009 
00010 #ifndef SPATIALDATAWINDOW_H
00011 #define SPATIALDATAWINDOW_H
00012 
00013 #include "ColorType.h"
00014 #include "WorkspaceWindow.h"
00015 
00016 #include <string>
00017 
00018 class SpatialDataView;
00019 
00020 /**
00021  *  A window containing a spatial data view.
00022  *
00023  *  The spatial data window is a type of workspace window that contains a spatial
00024  *  data view.  The class is provided for convenience when creating and using
00025  *  product views.  The window also provides a means to export a subset of the
00026  *  raster data in the view.
00027  *
00028  *  This subclass of Subject will notify upon the following conditions:
00029  *  - Everything documented in WorkspaceWindow.
00030  *
00031  *  @see     WorkspaceWindow, SpatialDataView
00032  */
00033 class SpatialDataWindow : public WorkspaceWindow
00034 {
00035 public:
00036    SETTING(OverviewTrailColor, SpatialDataWindow, ColorType, ColorType())
00037    SETTING(OverviewTrailThreshold, SpatialDataWindow, unsigned int, 100)
00038 
00039    /**
00040     *  Returns the spatial data view contained in the window.
00041     *
00042     *  @return  A pointer to the spatial data view displayed in the window.
00043     *
00044     *  @see     SpatialDataView
00045     */
00046    virtual SpatialDataView* getSpatialDataView() const = 0;
00047 
00048    /**
00049     *  Allows the user to export a subset of the raster element.
00050     *
00051     *  This method invokes a dialog in which the user can graphically select
00052     *  a subset area of the raster element in the view to export to either
00053     *  another spatial data window or to a file.
00054     */
00055    virtual void exportSubset() = 0;
00056 
00057    /**
00058     *  Toggles the display of the overview window.
00059     *
00060     *  The overview window contains a small thumbnail view of the view in this
00061     *  window.  A selection box in the overview illustrates the displayed area of
00062     *  this window.  The display in this window can be panned and zoomed by
00063     *  clicking a dragging the selection box in the overview.
00064     *
00065     *  @param   bShow
00066     *           Set this value to TRUE to show the overview window or to FALSE to
00067     *           hide the overview window.
00068     */
00069    virtual void showOverviewWindow(bool bShow) = 0;
00070 
00071    /**
00072     *  Queries whether the overview window is displayed.
00073     *
00074     *  @return  TRUE if the overview window is displayed or FALSE if the overview
00075     *           window is hidden.
00076     */
00077    virtual bool isOverviewWindowShown() const = 0;
00078 
00079 protected:
00080    /**
00081     * This should be destroyed by calling DesktopServices::deleteWindow.
00082     */
00083    virtual ~SpatialDataWindow() {}
00084 };
00085 
00086 #endif

Software Development Kit - Opticks 4.9.0 Build 16218