PSQt/include/GUIMain.h

Go to the documentation of this file.
00001 #ifndef GUIMAIN_H
00002 #define GUIMAIN_H
00003 
00004 #include "PSCalib/GeometryAccess.h"
00005 #include "PSQt/Frame.h"
00006 #include "PSQt/WdgGeoTree.h"
00007 #include "PSQt/WdgGeo.h"
00008 #include "PSQt/WdgFile.h"
00009 #include "PSQt/GeoImage.h"
00010 #include "PSQt/GUILogger.h"
00011 #include "PSQt/GUIImageViewer.h"
00012 //#include "PSQt/WdgImage.h"
00013 
00014 //#include <QVBox>
00015 //#include <QWidget>
00016 //#include <QLabel>
00017 //#include <QSlider>
00018 //#include <QPushButton>
00019 
00020 #include <Qt>
00021 #include <QtGui>
00022 #include <QtCore>
00023 
00024 namespace PSQt {
00025 
00026 /**
00027  *  @defgroup PSQt PSQt package
00028  *  @brief Package PSQt is created for graphical Qt applications
00029  */
00030 
00031 /// @addtogroup PSQt PSQt
00032 
00033 /**
00034  *  @ingroup PSQt
00035  * 
00036  *  @brief Main GUI of application for detector sensors alignment
00037  * 
00038  *
00039  *  This software was developed for the LCLS project.  If you use all or 
00040  *  part of it, please give an appropriate acknowledgment.
00041  *
00042  *  @see WdgFile, WdgGeoTree, WdgGeo
00043  *
00044  *  @version $Id: GUIMain.h 11039 2015-12-01 01:18:58Z dubrovin@SLAC.STANFORD.EDU $
00045  *
00046  *  @author Mikhail Dubrovin
00047  */
00048 
00049 //class GUIMain : public QWidget
00050 class GUIMain : public Frame
00051 {
00052  Q_OBJECT // macro is needed for connection of signals and slots
00053 
00054  public:
00055 
00056     GUIMain( QWidget *parent=0 
00057            , const LEVEL& level=DEBUG
00058            , const std::string& fgeo=std::string()
00059            , const std::string& fnda=std::string()
00060            , const unsigned& xcent=2000
00061            , const unsigned& ycent=2000
00062     );
00063 
00064     void resizeEvent     (QResizeEvent *event = 0) ;
00065     void closeEvent      (QCloseEvent  *event = 0) ;
00066     void moveEvent       (QMoveEvent   *event = 0) ;
00067     void mousePressEvent (QMouseEvent  *event = 0) ;
00068 
00069     PSCalib::GeometryAccess* geoacc(){return m_wgt->geoacc();}
00070 
00071 
00072  public slots:
00073 
00074     void onButExit();
00075     void onButSave();
00076     void onButImage();
00077 
00078  private:
00079 
00080     WdgGeoTree*  m_wgt;
00081     WdgGeo*      m_wge;
00082     QWidget*     m_wrp;
00083     QWidget*     m_wmbox;
00084 
00085     WdgFile*     m_file_geo;
00086     WdgFile*     m_file_nda;
00087 
00088     GUIImageViewer* m_guiimv;
00089     //WdgImage*       m_wimage;
00090     GeoImage*       m_geoimg;
00091 
00092     GUILogger*   m_guilogger;
00093 
00094     QHBoxLayout* m_bbox;
00095     QVBoxLayout* m_fbox;
00096     QVBoxLayout* m_rbox;
00097     QVBoxLayout* m_mbox;
00098     QVBoxLayout* m_vbox;
00099 
00100     QSplitter*   m_hsplit;
00101     QSplitter*   m_vsplit;
00102 
00103     QPushButton* m_but_image;
00104     QPushButton* m_but_save;
00105 
00106     inline const char* _name_(){return "GUIMain";}
00107     void showTips() ;
00108     void setStyle() ;
00109 };
00110 
00111 } // namespace PSQt
00112 
00113 #endif // GUIMAIN_H

Generated on 19 Dec 2016 for PSANAmodules by  doxygen 1.4.7