|
Hormiga 1.0
|
00001 00002 /* 00003 # Hormiga - Software de cálculo programable. 00004 # 00005 # Copyright (C) 2008, 2009 Leonardo Román, Hugo J. Curti, Norma Ercoli, 00006 # Universidad Nacional del Centro de la Provincia de Buenos Aires 00007 # (UNCPBA) 00008 # 00009 # Este programa es parte de Hormiga. 00010 # 00011 # Hormiga es software libre. Puede redistribuirlo y/o modificarlo 00012 # bajo los términos de la Licencia Pública General de GNU según es 00013 # publicada por la Free Software Foundation, versión 2. Vea el archivo 00014 # COPIA (español, no oficial) o COPYING (inglés, oficial) en directorio 00015 # raíz. 00016 # 00017 # Hormiga se distribuye con la esperanza de que sea útil, pero SIN 00018 # NINGUNA GARANTÍA, incluso sin la garantía MERCANTIL implícita o sin 00019 # garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR. Véase la 00020 # Licencia Pública General de GNU para más detalles. 00021 # 00022 # Debería haber recibido una copia de la Licencia Pública General junto 00023 # con Hormiga. Si no ha sido así, escriba a la Free Software 00024 # Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU. 00025 # Añada también información sobre cómo contactar con usted mediante 00026 # correo electrónico y postal. 00027 # 00028 # This file is part of Hormiga. 00029 # 00030 # Hormiga is free software; you can redistribute it and/or modify 00031 # it under the terms of the GNU General Public License version 2 00032 # as published by the Free Software Foundation; see the file COPYING 00033 # in the top directory for details. 00034 # 00035 # Hormiga is distributed in the hope that it will be useful, 00036 # but WITHOUT ANY WARRANTY; without even the implied warranty of 00037 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00038 # GNU General Public License for more details. 00039 # 00040 # You should have received a copy of the GNU General Public License 00041 # along with Hormiga; if not, write to the Free Software 00042 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 00043 # USA 00044 */ 00045 00046 #ifndef CAPTURE_REPORT_H 00047 #define CAPTURE_REPORT_H 00048 00049 #include "capture.h" 00050 #include "report.h" 00051 #include "function/function.h" 00052 00058 class CR_Image : public Capture, public Report 00059 { 00060 public: 00061 CaptureType getCaptureType() { return Capture::CIMG ; } 00062 ReportType getReportType() { return Report::CIMG ; } 00063 T_STRING getLabel () { return ( Capture::getLabel() ) ; } 00064 T_STRING getSource () { return (source) ; } 00065 CR_Image ( T_STRING label , T_STRING source ) ; 00066 ~CR_Image () ; 00067 protected: 00068 T_STRING source ; 00069 }; 00070 00071 class CR_Select : public Capture, public ReportTXT 00072 { 00073 public: 00074 virtual CaptureType getCaptureType() { return Capture::CSEL ; } 00075 ReportType getReportType() { return Report::CSEL ; } 00076 bool setValue ( T_MAGNITUDE v ) ; 00077 T_STRING getSelectedText () ; 00078 T_STRING getLabel () { return ( Capture::getLabel() ) ; } 00079 T_STRING_LIST* getOptions () { return (opts) ; } 00080 CR_Select ( T_STRING label , VarValue *store , T_STRING_LIST *opts ) ; 00081 ~CR_Select () ; 00082 protected: 00083 T_STRING_LIST *opts ; 00084 }; 00085 00086 class CR_FunctionIterator : public Capture, public Report 00087 { 00088 public: 00089 virtual CaptureType getCaptureType() { return Capture::CPLOT ; } 00090 ReportType getReportType() { return Report::CPLOT ; } 00091 T_STRING getLabel () { return ( Capture::getLabel() ) ; } 00092 00093 FunctionInstanceIterator* getIterator () { return fi->getIterator() ; } 00094 CR_FunctionIterator ( T_STRING label , FunctionInstance* fi ) ; 00095 ~CR_FunctionIterator () ; 00096 protected: 00097 FunctionInstance* fi ; 00098 }; 00099 00100 #endif // CAPTURE_REPORT_H