/////////////////////////////////////////////////////////////////////////////
// Name:        newwizard.h
// Purpose:     wxPackageNewWizard definition
// Author:      Francesco Montorsi
// Modified by: 
// Created:     05/06/2006 00:14:19
// RCS-ID:      $Id: newwizard.h,v 1.1.1.1 2006/12/12 09:41:04 frm Exp $
// Copyright:   (c) 2006 Francesco Montorsi
// Licence:     wxWidgets license
/////////////////////////////////////////////////////////////////////////////

#ifndef _PMNEWWIZARD_H_
#define _PMNEWWIZARD_H_


/*!
 * Includes
 */

#include "wx/wizard.h"
#include "wx/choicebk.h"


/*!
 * Forward declarations
 */

class wxPackageWizardPageIntro;
class wxPackageWizardPageBuildSystem;
class wxPackageWizardPageAutodetect;
class wxPackageWizardPageFinish;


/*!
 * Control identifiers
 */

////@begin control identifiers
#define SYMBOL_WXPACKAGENEWWIZARD_IDNAME wxID_ANY
#define ID_RADIOBUTTON 10028
#define ID_RADIOBUTTON1 10029
#define ID_CHOICEBOOK1 10034
#define ID_PANEL1 10035
#define ID_CHOICE1 10041
#define ID_CHECKBOX5 10038
#define ID_CHECKBOX6 10039
#define ID_CHECKBOX4 10037
#define ID_CHECKBOX3 10036
#define ID_CHECKBOX7 10040
#define ID_CHECKBOX8 10042
#define ID_WINDOW 10044
#define ID_WINDOW1 10045
#define ID_START 10046
#define ID_LISTBOX2 10048
////@end control identifiers


// ----------------------------------------------------------------------------
// wxPackageNewWizard
// ----------------------------------------------------------------------------

class wxPackageNewWizard: public wxWizard
{    
    DECLARE_DYNAMIC_CLASS( wxPackageNewWizard )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    wxPackageNewWizard( );
    wxPackageNewWizard( wxWindow* parent, wxWindowID id = SYMBOL_WXPACKAGENEWWIZARD_IDNAME, const wxPoint& pos = wxDefaultPosition );

    /// Creation
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXPACKAGENEWWIZARD_IDNAME, const wxPoint& pos = wxDefaultPosition );

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

    /// Runs the wizard.
    bool Run();

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

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



// ----------------------------------------------------------------------------
// wxPackageWizardPageIntro
// ----------------------------------------------------------------------------

class wxPackageWizardPageIntro: public wxWizardPage
{    
    DECLARE_DYNAMIC_CLASS( wxPackageWizardPageIntro )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    wxPackageWizardPageIntro( );

    wxPackageWizardPageIntro( wxWizard* parent );

    /// Creation
    bool Create( wxWizard* parent );

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

    /// Gets the previous page.
    virtual wxWizardPage* GetPrev() const;

    /// Gets the next page.
    virtual wxWizardPage* GetNext() const;

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


// ----------------------------------------------------------------------------
// wxPackageWizardPageBuildSystem
// ----------------------------------------------------------------------------

class wxPackageWizardPageBuildSystem: public wxWizardPage
{    
    DECLARE_DYNAMIC_CLASS( wxPackageWizardPageBuildSystem )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    wxPackageWizardPageBuildSystem( );

    wxPackageWizardPageBuildSystem( wxWizard* parent );

    /// Creation
    bool Create( wxWizard* parent );

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

    /// Gets the previous page.
    virtual wxWizardPage* GetPrev() const;

    /// Gets the next page.
    virtual wxWizardPage* GetNext() const;

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


// ----------------------------------------------------------------------------
// wxPackageWizardPageAutodetect
// ----------------------------------------------------------------------------

class wxPackageWizardPageAutodetect: public wxWizardPage
{    
    DECLARE_DYNAMIC_CLASS( wxPackageWizardPageAutodetect )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    wxPackageWizardPageAutodetect( );

    wxPackageWizardPageAutodetect( wxWizard* parent );

    /// Creation
    bool Create( wxWizard* parent );

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

    /// Gets the previous page.
    virtual wxWizardPage* GetPrev() const;

    /// Gets the next page.
    virtual wxWizardPage* GetNext() const;

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


// ----------------------------------------------------------------------------
// wxPackageWizardPageFinish
// ----------------------------------------------------------------------------

class wxPackageWizardPageFinish: public wxWizardPage
{    
    DECLARE_DYNAMIC_CLASS( wxPackageWizardPageFinish )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    wxPackageWizardPageFinish( );

    wxPackageWizardPageFinish( wxWizard* parent );

    /// Creation
    bool Create( wxWizard* parent );

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

    /// Gets the previous page.
    virtual wxWizardPage* GetPrev() const;

    /// Gets the next page.
    virtual wxWizardPage* GetNext() const;

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

#endif
    // _PMNEWWIZARD_H_
