/////////////////////////////////////////////////////////////////////////////
// Name:        setscreenplane.h
// Purpose:     
// Author:      Brett Bode
// Modified by: 
// Created:     Tue 11 Apr 15:33:38 2006
// RCS-ID:      
// Copyright:   (c) 2006 Iowa State University
// Licence:     
/////////////////////////////////////////////////////////////////////////////

// Generated by DialogBlockssssssssssss, Tue 11 Apr 15:33:38 2006

#ifndef _SETSCREENPLANE_H_
#define _SETSCREENPLANE_H_

#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "setscreenplane.h"
#endif

/*!
 * Includes
 */
#include <wx/textctrl.h>
////@begin includes
#include "wx/valtext.h"
////@end includes

/*!
 * Forward declarations
 */
typedef class MolDisplayWin MolDisplayWin;
////@begin forward declarations
////@end forward declarations

/*!
 * Control identifiers
 */

////@begin control identifiers
#define ID_SSPDIALOG 10000
#define ID_ATOM1 10001
#define ID_PT1X 10002
#define ID_PT1Y 10003
#define ID_PT1Z 10004
#define ID_ATOM2 10005
#define ID_PT2X 10006
#define ID_PT2Y 10007
#define ID_PT2Z 10008
#define ID_ATOM3 10009
#define ID_PT3X 10010
#define ID_PT3Y 10011
#define ID_PT3Z 10012
#define ID_XY 10013
#define ID_YX 10014
#define ID_XZ 10015
#define ID_ZX 10016
#define ID_YZ 10017
#define ID_ZY 10018
#define SYMBOL_SETSCREENPLANE_STYLE wxCAPTION|wxSYSTEM_MENU|wxSTAY_ON_TOP|wxCLOSE_BOX
#define SYMBOL_SETSCREENPLANE_TITLE _("Set Screen Plane")
#define SYMBOL_SETSCREENPLANE_IDNAME ID_SSPDIALOG
#define SYMBOL_SETSCREENPLANE_SIZE wxSize(400, 300)
#define SYMBOL_SETSCREENPLANE_POSITION wxDefaultPosition
////@end control identifiers

/*!
 * Compatibility
 */

#ifndef wxCLOSE_BOX
#define wxCLOSE_BOX 0x1000
#endif

/*!
 * SetScreenPlane class declaration
 */

class SetScreenPlane: public wxDialog
{    
    DECLARE_DYNAMIC_CLASS( SetScreenPlane )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    SetScreenPlane( );
    SetScreenPlane( MolDisplayWin* parent, wxWindowID id = SYMBOL_SETSCREENPLANE_IDNAME, const wxString& caption = SYMBOL_SETSCREENPLANE_TITLE, const wxPoint& pos = SYMBOL_SETSCREENPLANE_POSITION, const wxSize& size = SYMBOL_SETSCREENPLANE_SIZE, long style = SYMBOL_SETSCREENPLANE_STYLE );

    /// Creation
    bool Create( MolDisplayWin* parent, wxWindowID id = SYMBOL_SETSCREENPLANE_IDNAME, const wxString& caption = SYMBOL_SETSCREENPLANE_TITLE, const wxPoint& pos = SYMBOL_SETSCREENPLANE_POSITION, const wxSize& size = SYMBOL_SETSCREENPLANE_SIZE, long style = SYMBOL_SETSCREENPLANE_STYLE );

    /// Creates the controls and sizers
    void CreateControls();

////@begin SetScreenPlane event handler declarations

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_ATOM1
	void OnAtom1Updated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_PT1X
	void OnPt1xUpdated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_PT1Y
	void OnPt1yUpdated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_PT1Z
	void OnPt1zUpdated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_ATOM2
	void OnAtom2Updated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_PT2X
	void OnPt2xUpdated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_PT2Y
	void OnPt2yUpdated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_PT2Z
	void OnPt2zUpdated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_ATOM3
	void OnAtom3Updated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_PT3X
	void OnPt3xUpdated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_PT3Y
	void OnPt3yUpdated( wxCommandEvent& event );

	/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_PT3Z
	void OnPt3zUpdated( wxCommandEvent& event );

	/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_XY
	void OnXyClick( wxCommandEvent& event );

	/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_YX
	void OnYxClick( wxCommandEvent& event );

	/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_XZ
	void OnXzClick( wxCommandEvent& event );

	/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_ZX
	void OnZxClick( wxCommandEvent& event );

	/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_YZ
	void OnYzClick( wxCommandEvent& event );

	/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_ZY
	void OnZyClick( wxCommandEvent& event );

	/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
	void OnOkClick( wxCommandEvent& event );

////@end SetScreenPlane event handler declarations

////@begin SetScreenPlane member function declarations

	long GetAtom1() const { return atom1 ; }
	void SetAtom1(long value) { atom1 = value ; }

	long GetAtom2() const { return atom2 ; }
	void SetAtom2(long value) { atom2 = value ; }

	long GetAtom3() const { return atom3 ; }
	void SetAtom3(long value) { atom3 = value ; }

	MolDisplayWin * GetParent() const { return parent ; }
	void SetParent(MolDisplayWin * value) { parent = value ; }

	/// Retrieves bitmap resources
	wxBitmap GetBitmapResource( const wxString& name );

	/// Retrieves icon resources
	wxIcon GetIconResource( const wxString& name );
////@end SetScreenPlane member function declarations
	void setPlaneValues(void);

    /// Should we show tooltips?
    static bool ShowToolTips();

    CPoint3D PlanePts[3];
////@begin SetScreenPlane member variables
	wxTextCtrl* Atom1Ctl;
	wxTextCtrl* Pt1XCtl;
	wxTextCtrl* Pt1YCtl;
	wxTextCtrl* Pt1ZCtl;
	wxTextCtrl* Atom2Ctl;
	wxTextCtrl* Pt2XCtl;
	wxTextCtrl* Pt2YCtl;
	wxTextCtrl* Pt2ZCtl;
	wxTextCtrl* Atom3Ctl;
	wxTextCtrl* Pt3XCtl;
	wxTextCtrl* Pt3YCtl;
	wxTextCtrl* Pt3ZCtl;
	long atom1;
	long atom2;
	long atom3;
	MolDisplayWin * parent;
////@end SetScreenPlane member variables
};

#endif
    // _SETSCREENPLANE_H_
