/////////////////////////////////////////////////////////////////////////////
// Name:        batchdownloaddlg.h
// Purpose:     wxPackageBatchDownloadDlg definition
// Author:      Francesco Montorsi
// Modified by:
// Created:     15/07/2006 12:43:10
// RCS-ID:      $Id: batchdownloaddlg.h,v 1.4 2007/01/31 13:00:50 frm Exp $
// Copyright:   (c) 2006 Francesco Montorsi
// Licence:     wxWidgets license
/////////////////////////////////////////////////////////////////////////////

#ifndef _PMBATCHDOWNLOAD_H_
#define _PMBATCHDOWNLOAD_H_


/*!
* Includes
*/

#include "wx/statline.h"
#include "wx/filepicker.h"

/*!
* Forward declarations
*/

class wxPackageArray;
class wxAnimationCtrl;

/*!
* Control identifiers
*/

////@begin control identifiers
#define ID_BATCHDOWNLOAD_LIST 10039
#define ID_BATCHDOWNLOAD_ANIMATION 10046
#define ID_BATCHDOWNLOAD_SIZE 10040
#define ID_BATCHDOWNLOAD_DESTINATION 10045
#define SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_TITLE _("Batch download")
#define SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_IDNAME wxID_ANY
#define SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_SIZE wxSize(400, 300)
#define SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_POSITION wxDefaultPosition
////@end control identifiers


// ----------------------------------------------------------------------------
// wxPackageBatchDownloadDlg
// ----------------------------------------------------------------------------

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

public:
    /// Constructors
    wxPackageBatchDownloadDlg( );
    wxPackageBatchDownloadDlg( wxWindow* parent, wxWindowID id = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_IDNAME, const wxString& caption = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_TITLE, const wxPoint& pos = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_POSITION, const wxSize& size = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_SIZE, long style = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_STYLE );

    /// Creation
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_IDNAME, const wxString& caption = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_TITLE, const wxPoint& pos = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_POSITION, const wxSize& size = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_SIZE, long style = SYMBOL_WXPACKAGEBATCHDOWNLOADDLG_STYLE );

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


public:     // setters

    void SetPackages(const wxPackageArray &arr);
    void SetDestination(const wxString &path)
        { m_pDestination->SetPath(path); }

public:     // getters

    wxString GetDestination() const
        { return m_pDestination->GetPath(); }

protected:
    wxListBox* m_pPackageList;
    wxStaticText* m_pTotalSize;
    wxDirPickerCtrl *m_pDestination;
    wxAnimationCtrl *m_pAnimation;
};


#endif
    // _PMBATCHDOWNLOAD_H_
