2006-05-31 19:57:54 -04:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: src/generic/filepickerg.cpp
|
|
|
|
// Purpose: wxGenericFileDirButton class implementation
|
|
|
|
// Author: Francesco Montorsi
|
|
|
|
// Modified by:
|
|
|
|
// Created: 15/04/2006
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Copyright: (c) Francesco Montorsi
|
|
|
|
// Licence: wxWindows licence
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
// ============================================================================
|
|
|
|
// declarations
|
|
|
|
// ============================================================================
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// headers
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// For compilers that support precompilation, includes "wx.h".
|
|
|
|
#include "wx/wxprec.h"
|
|
|
|
|
|
|
|
#ifdef __BORLANDC__
|
|
|
|
#pragma hdrstop
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef WX_PRECOMP
|
|
|
|
#include "wx/window.h"
|
|
|
|
#endif //WX_PRECOMP
|
|
|
|
|
|
|
|
#include "wx/filepicker.h"
|
|
|
|
#include "wx/filedlg.h"
|
|
|
|
|
|
|
|
|
|
|
|
// ============================================================================
|
|
|
|
// implementation
|
|
|
|
// ============================================================================
|
|
|
|
|
|
|
|
#if wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS(wxGenericFileButton, wxButton)
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS(wxGenericDirButton, wxButton)
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxGenericFileButton
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
bool wxGenericFileDirButton::Create( wxWindow *parent, wxWindowID id,
|
|
|
|
const wxString &label, const wxString &path,
|
|
|
|
const wxString &message, const wxString &wildcard,
|
|
|
|
const wxPoint &pos, const wxSize &size, long style,
|
|
|
|
const wxValidator& validator, const wxString &name)
|
|
|
|
{
|
|
|
|
// create this button
|
|
|
|
if (!wxButton::Create(parent, id, label, pos, size, style,
|
|
|
|
validator, name))
|
|
|
|
{
|
|
|
|
wxFAIL_MSG( wxT("wxGenericFileButton creation failed") );
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
// and handle user clicks on it
|
|
|
|
Connect(wxEVT_COMMAND_BUTTON_CLICKED,
|
|
|
|
wxCommandEventHandler(wxGenericFileDirButton::OnButtonClick),
|
|
|
|
NULL, this);
|
|
|
|
|
|
|
|
// create the dialog associated with this button
|
|
|
|
m_path = path;
|
2006-06-02 06:20:13 -04:00
|
|
|
return CreateDialog(message, wildcard);
|
2006-05-31 19:57:54 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
void wxGenericFileDirButton::OnButtonClick(wxCommandEvent& WXUNUSED(ev))
|
|
|
|
{
|
|
|
|
if (m_dialog->ShowModal() == wxID_OK)
|
|
|
|
{
|
|
|
|
// save the path
|
|
|
|
UpdatePathFromDialog();
|
|
|
|
|
|
|
|
// fire an event
|
|
|
|
wxFileDirPickerEvent event(GetEventType(), this, GetId(), m_path);
|
|
|
|
GetEventHandler()->ProcessEvent(event);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL
|