Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

MSMetaDataExplorer.h (Maintainer: Marc Sturm)

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // --------------------------------------------------------------------------
00005 //                   OpenMS Mass Spectrometry Framework
00006 // --------------------------------------------------------------------------
00007 //  Copyright (C) 2003-2008 -- Oliver Kohlbacher, Knut Reinert
00008 //
00009 //  This library is free software; you can redistribute it and/or
00010 //  modify it under the terms of the GNU Lesser General Public
00011 //  License as published by the Free Software Foundation; either
00012 //  version 2.1 of the License, or (at your option) any later version.
00013 //
00014 //  This library is distributed in the hope that it will be useful,
00015 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017 //  Lesser General Public License for more details.
00018 //
00019 //  You should have received a copy of the GNU Lesser General Public
00020 //  License along with this library; if not, write to the Free Software
00021 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 //
00023 // --------------------------------------------------------------------------
00024 // $Maintainer: Marc Sturm  $
00025 // --------------------------------------------------------------------------
00026 
00027 #ifndef OPENMS_VISUAL_MSMETADATAEXPLORER_H
00028 #define OPENMS_VISUAL_MSMETADATAEXPLORER_H
00029 
00030 #include <OpenMS/DATASTRUCTURES/String.h>
00031 
00032 //QT
00033 #include <QtGui/QDialog>
00034 #include <QtGui/QTreeWidget>
00035 class QTreeWidgetItem;
00036 class QPushButton;
00037 class QStackedWidget;
00038 class QHBoxLayout;
00039 class QVBoxLayout;
00040 class QGridLayout;
00041 
00042 namespace OpenMS 
00043 {
00044   class BaseVisualizer;
00045   class Acquisition;
00046   class AcquisitionInfo;
00047   class ContactPerson;
00048   class Digestion;
00049   class ExperimentalSettings;
00050   class Gradient;
00051   class HPLC;
00052   class PeptideIdentification;
00053   class Instrument;
00054   class InstrumentSettings;
00055   class IonDetector;
00056   class IonSource;
00057   class MassAnalyzer;
00058   class MetaInfo;
00059   class MetaInfoDescription;
00060   class MetaInfoInterface;
00061   class MetaInfoRegistry;
00062   class Modification;
00063   class PeptideHit;
00064   class Precursor;
00065   class ProcessingMethod;
00066   class ProteinHit;
00067   class ProteinIdentification;
00068   class Sample;
00069   class SampleTreatment;
00070   class Software;
00071   class SourceFile;
00072   class SpectrumSettings;
00073   class Tagging;
00074   
00085   class MSMetaDataExplorer 
00086     : public QDialog
00087   {
00088     Q_OBJECT
00089   
00090     public: 
00092       MSMetaDataExplorer(bool editable = FALSE, QWidget *parent = 0, bool modal = FALSE );
00093       
00094       
00095       
00102       template <class T> void visualize(T& class_reference) 
00103       {                
00104         visualize_(class_reference);
00105         treeview_->expandItem(  treeview_->findItems(QString::number(0),Qt::MatchExactly , 1).first() );
00106       }
00107       
00109       bool isEditable();  
00110         
00112       friend class ProteinIdentificationVisualizer;
00113       friend class PeptideIdentificationVisualizer;
00114       
00115     public slots:
00117       void setStatus(std::string status);
00118 
00119     private slots:
00121       void showDetails_(QTreeWidgetItem *item, int column);
00122       
00124       void saveAll_();
00125                
00126     private:
00128 
00129       void visualize_(ExperimentalSettings& meta, QTreeWidgetItem* parent=0); 
00130       void visualize_(SpectrumSettings& meta, QTreeWidgetItem* parent=0); 
00131       void visualize_(MetaInfoInterface& meta, QTreeWidgetItem* parent=0); 
00132       void visualize_(Sample& meta, QTreeWidgetItem* parent=0); 
00133       void visualize_(HPLC& meta, QTreeWidgetItem* parent=0); 
00134       void visualize_(Digestion& meta, QTreeWidgetItem* parent=0); 
00135       void visualize_(Modification& meta, QTreeWidgetItem* parent=0); 
00136       void visualize_(Tagging& meta, QTreeWidgetItem* parent=0); 
00137       void visualize_(Gradient& meta, QTreeWidgetItem* parent=0); 
00138       void visualize_(Software& meta, QTreeWidgetItem* parent=0); 
00139       void visualize_(SourceFile& meta, QTreeWidgetItem* parent=0); 
00140       void visualize_(ContactPerson& meta, QTreeWidgetItem* parent=0); 
00141       void visualize_(Instrument& meta, QTreeWidgetItem* parent=0); 
00142       void visualize_(IonSource& meta, QTreeWidgetItem* parent=0);
00143       void visualize_(IonDetector& meta, QTreeWidgetItem* parent=0);
00144       void visualize_(MassAnalyzer& meta, QTreeWidgetItem* parent=0);
00145       void visualize_(ProcessingMethod& meta, QTreeWidgetItem* parent=0);
00146       void visualize_(ProteinIdentification& meta, QTreeWidgetItem* parent=0);
00147       void visualize_(ProteinHit& meta, QTreeWidgetItem* parent=0);
00148       void visualize_(PeptideHit& meta, QTreeWidgetItem* parent=0);
00149       void visualize_(Acquisition& meta, QTreeWidgetItem* parent=0);
00150       void visualize_(AcquisitionInfo& meta, QTreeWidgetItem* parent=0);
00151       void visualize_(MetaInfoDescription& meta,  QTreeWidgetItem* parent=0, const String& key="");
00152       void visualize_(Precursor& meta, QTreeWidgetItem* parent=0);
00153       void visualize_(InstrumentSettings& meta, QTreeWidgetItem* parent=0);
00154       void visualize_(PeptideIdentification& meta, QTreeWidgetItem* parent=0);
00156       
00158       void connectVisualizer_(BaseVisualizer*);
00159 
00161       void filterHits_(DoubleReal threshold, bool higher_better, int tree_item_id);
00163       void showAllHits_(int tree_item_id);
00164       
00166       std::string status_list_;
00167       
00169       bool editable_;
00170       
00172       QStackedWidget* ws_;
00174       QPushButton* saveallbutton_;
00176       QPushButton* closebutton_;
00178       QPushButton* cancelbutton_;
00180       QPushButton* undobutton_;
00181       
00183       QTreeWidget* treeview_;
00184   };
00185 }
00186 #endif

Generated Tue Apr 1 15:36:36 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1