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

// Name:        dialog_freeroute_exchange.h
// Purpose:
// Author:      jean-pierre Charras
// Modified by:
// Created:     14/03/2008 09:19:27
// RCS-ID:
// Copyright:   kicad team
// Licence:
/////////////////////////////////////////////////////////////////////////////

// Generated by DialogBlocks (unregistered), 14/03/2008 09:19:27

#ifndef _DIALOG_FREEROUTE_EXCHANGE_H_
#define _DIALOG_FREEROUTE_EXCHANGE_H_


/*!
 * Includes
 */

////@begin includes
////@end includes

/*!
 * Forward declarations
 */

////@begin forward declarations
////@end forward declarations

/*!
 * Control identifiers
 */

////@begin control identifiers
#define ID_DIALOG_FREEROUTE_EXCHANGE              10000
#define ID_CREATE_EXPORT_DSN_FILE                 10001
#define ID_RUN_FREEROUTE                          10002
#define ID_IMPORT_FREEROUTE_DSN_FILE              10003
#define ID_GOTO_FREEROUTE_WEB_SITE                10004
#define ID_TEXT_EDIT_FR_URL                       10005
#define ID_TEXT_EDIT_FR_CMD                       10006
#define SYMBOL_DIALOG_FREEROUTE_EXCHANGE_STYLE    wxCAPTION | wxRESIZE_BORDER | wxTHICK_FRAME |\
    wxSYSTEM_MENU | wxCLOSE_BOX | wxTAB_TRAVERSAL
#define SYMBOL_DIALOG_FREEROUTE_EXCHANGE_TITLE    _( "dialog_freeroute_exchange" )
#define SYMBOL_DIALOG_FREEROUTE_EXCHANGE_IDNAME   ID_DIALOG_FREEROUTE_EXCHANGE
#define SYMBOL_DIALOG_FREEROUTE_EXCHANGE_SIZE     wxSize( 400, 300 )
#define SYMBOL_DIALOG_FREEROUTE_EXCHANGE_POSITION wxDefaultPosition

////@end control identifiers


/*!
 * dialog_freeroute_exchange class declaration
 */

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

public:

    /// Constructors
    dialog_freeroute_exchange();
    dialog_freeroute_exchange( WinEDA_PcbFrame* parent,
                               wxWindowID id = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_IDNAME,
                               const wxString& caption = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_TITLE,
                               const wxPoint& pos = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_POSITION,
                               const wxSize& size = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_SIZE,
                               long style = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_STYLE );

    /// Creation
    bool Create( wxWindow* parent,
                 wxWindowID id = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_IDNAME,
                 const wxString& caption = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_TITLE,
                 const wxPoint& pos = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_POSITION,
                 const wxSize& size = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_SIZE,
                 long style = SYMBOL_DIALOG_FREEROUTE_EXCHANGE_STYLE );

    /// Destructor
    ~dialog_freeroute_exchange();

    /// Initialises member variables
    void    Init();

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

////@begin dialog_freeroute_exchange event handler declarations

    /// wxEVT_CLOSE_WINDOW event handler for ID_DIALOG_FREEROUTE_EXCHANGE
    void    OnCloseWindow( wxCloseEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_CREATE_EXPORT_DSN_FILE
    void    OnCreateExportDsnFileClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RUN_FREEROUTE
    void    OnRunFreerouteClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_IMPORT_FREEROUTE_DSN_FILE
    void    OnImportFreerouteDsnFileClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CLOSE
    void    OnCloseClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_GOTO_FREEROUTE_WEB_SITE
    void    OnGotoFreerouteWebSiteClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_TEXT_EDIT_FR_URL
    void    OnTextEditFrUrlUpdated( wxCommandEvent& event );

    /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_TEXT_EDIT_FR_CMD
    void    OnTextEditFrCmdUpdated( wxCommandEvent& event );

////@end dialog_freeroute_exchange event handler declarations

////@begin dialog_freeroute_exchange member function declarations

    bool GetFreeRouteSetupChanged() const { return m_FreeRouteSetupChanged; }
    void SetFreeRouteSetupChanged( bool value ) { m_FreeRouteSetupChanged = value; }

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

    /// Retrieves icon resources
    wxIcon      GetIconResource( const wxString& name );

////@end dialog_freeroute_exchange member function declarations

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

////@begin dialog_freeroute_exchange member variables
    wxTextCtrl*      m_FreerouteURLName;
    wxTextCtrl*      m_FreerouteURLCommandString;
private:
    bool             m_FreeRouteSetupChanged; // Flag set to true if Freeroute config changed
////@end dialog_freeroute_exchange member variables

    WinEDA_PcbFrame* m_Parent;
};

#endif

// _DIALOG_FREEROUTE_EXCHANGE_H_
