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 00011 00012 #ifndef PRODUCTWINDOW_H 00013 #define PRODUCTWINDOW_H 00014 00015 #include "WorkspaceWindow.h" 00016 00017 class ProductView; 00018 00019 /** 00020 * A window containing a product view. 00021 * 00022 * The product window is a type of workspace window that contains a product view. 00023 * The class is provided for convenience when creating and using product views. 00024 * 00025 * This subclass of Subject will notify upon the following conditions: 00026 * - Everything documented in WorkspaceWindow. 00027 * 00028 * @see WorkspaceWindow, ProductView 00029 */ 00030 class ProductWindow : public WorkspaceWindow 00031 { 00032 public: 00033 /** 00034 * Returns the product view contained in the window. 00035 * 00036 * @return A pointer to the product view displayed in the window. 00037 * 00038 * @see ProductView 00039 */ 00040 virtual ProductView* getProductView() const = 0; 00041 00042 protected: 00043 /** 00044 * This should be destroyed by calling DesktopServices::deleteWindow. 00045 */ 00046 virtual ~ProductWindow() {} 00047 }; 00048 00049 #endif