///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Nov  6 2013)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////

#ifndef __VISUALIZATORVIEWS_H__
#define __VISUALIZATORVIEWS_H__

#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h>
class BodyPanel;
class FooterPanel;
class SubTitledPanel;
class TitledPanelSinBorder;

#undef __DEPRECATED
#include <vtkRenderer.h>
#include <vtkSmartPointer.h>
#include <wxVTKRenderWindowInteractor.h>
#include <vtk/vtkginkgoimageviewer.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/string.h>
#include <wx/slider.h>
#include <wx/sizer.h>
#include <wx/panel.h>
#include <wx/checklst.h>
#include <wx/button.h>
#include <wx/dialog.h>
#include <wx/textctrl.h>
#include <wx/splitter.h>
#include <wx/combobox.h>

///////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////////////
/// Class VistaSimpleBase
///////////////////////////////////////////////////////////////////////////////
class VistaSimpleBase : public wxPanel 
{
	private:
	
	protected:
		wxSlider* m_pSliderTimeInstant;
		
		// Virtual event handlers, overide them in your derived class
		virtual void OnChar( wxKeyEvent& event ) { event.Skip(); }
		virtual void OnEraseBackground( wxEraseEvent& event ) { event.Skip(); }
		virtual void OnTimeInstantChanged( wxScrollEvent& event ) { event.Skip(); }
		
	
	public:
		vtkSmartPointer<wxVTKRenderWindowInteractor> ViewInteractor2D;
		vtkSmartPointer<vtkGinkgoImageViewer> ViewImage2D;
		
		VistaSimpleBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxCLIP_CHILDREN|wxFULL_REPAINT_ON_RESIZE|wxTAB_TRAVERSAL ); 
		~VistaSimpleBase();
	
};

///////////////////////////////////////////////////////////////////////////////
/// Class VistaComplejaBase
///////////////////////////////////////////////////////////////////////////////
class VistaComplejaBase : public wxPanel 
{
	private:
	
	protected:
		wxBoxSizer* m_pSizerTools;
		wxBoxSizer* m_pSizerView;
		wxGridSizer* m_pSizerSeries;
		wxPanel* m_panel7;
		wxPanel* m_pPanelManipulacion;
		wxBoxSizer* m_pSizerIzquierda;
		wxPanel* m_pPanelScroll;
		wxBoxSizer* m_pSizerScroll;
		wxBoxSizer* m_pSizerDerecho;
		
		// Virtual event handlers, overide them in your derived class
		virtual void OnPaint( wxPaintEvent& event ) { event.Skip(); }
		virtual void OnZSliderScroll( wxScrollEvent& event ) { event.Skip(); }
		
	
	public:
		wxSlider* m_pSliderSlice;
		
		VistaComplejaBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL ); 
		~VistaComplejaBase();
	
};

///////////////////////////////////////////////////////////////////////////////
/// Class DialogoSincronizacionBase
///////////////////////////////////////////////////////////////////////////////
class DialogoSincronizacionBase : public wxDialog 
{
	private:
	
	protected:
		BodyPanel* m_pBody;
		TitledPanelSinBorder* m_panel7;
		wxCheckListBox* m_pCheckListVistas;
		FooterPanel* m_pFooter;
		wxButton* m_button2;
		wxButton* m_button3;
		
		// Virtual event handlers, overide them in your derived class
		virtual void OnAceptarClick( wxCommandEvent& event ) { event.Skip(); }
		virtual void OnCancelarClick( wxCommandEvent& event ) { event.Skip(); }
		
	
	public:
		
		DialogoSincronizacionBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Synchronize..."), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 450,275 ), long style = wxDEFAULT_DIALOG_STYLE ); 
		~DialogoSincronizacionBase();
	
};

///////////////////////////////////////////////////////////////////////////////
/// Class GWaveformViewBase
///////////////////////////////////////////////////////////////////////////////
class GWaveformViewBase : public wxPanel 
{
	private:
	
	protected:
		wxBoxSizer* m_pSizerTools;
		wxSplitterWindow* m_pSplitterPanel;
		wxPanel* m_pPanelView;
		SubTitledPanel* m_pPanelMetadata;
		wxTextCtrl* m_pTextMeasurements;
		wxTextCtrl* m_pTextDiagnosis;
		wxPanel* m_panel7;
		wxPanel* m_pManipulationPanel;
		wxComboBox* m_pComboGroups;
		wxBoxSizer* m_pSizerRight;
		
		// Virtual event handlers, overide them in your derived class
		virtual void OnPaint( wxPaintEvent& event ) { event.Skip(); }
		virtual void OnComboGroup( wxCommandEvent& event ) { event.Skip(); }
		
	
	public:
		vtkSmartPointer<wxVTKRenderWindowInteractor> ViewInteractor2D;
		vtkSmartPointer<vtkGinkgoImageViewer> ViewImage2D;
		
		GWaveformViewBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL ); 
		~GWaveformViewBase();
		
		void m_pSplitterPanelOnIdle( wxIdleEvent& )
		{
			m_pSplitterPanel->SetSashPosition( 149 );
			m_pSplitterPanel->Disconnect( wxEVT_IDLE, wxIdleEventHandler( GWaveformViewBase::m_pSplitterPanelOnIdle ), NULL, this );
		}
	
};

#endif //__VISUALIZATORVIEWS_H__
