fix sizing of extra control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -7,8 +7,8 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __GTKFILEDLGH__
|
#ifndef _WX_GTKFILEDLG_H_
|
||||||
#define __GTKFILEDLGH__
|
#define _WX_GTKFILEDLG_H_
|
||||||
|
|
||||||
#include "wx/gtk/filectrl.h" // for wxGtkFileChooser
|
#include "wx/gtk/filectrl.h" // for wxGtkFileChooser
|
||||||
|
|
||||||
@@ -60,11 +60,13 @@ protected:
|
|||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS(wxFileDialog)
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
void OnFakeOk( wxCommandEvent &event );
|
void OnFakeOk( wxCommandEvent &event );
|
||||||
|
void OnSize(wxSizeEvent&);
|
||||||
|
|
||||||
wxGtkFileChooser m_fc;
|
wxGtkFileChooser m_fc;
|
||||||
|
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxFileDialog)
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __GTKFILEDLGH__
|
#endif // _WX_GTKFILEDLG_H_
|
||||||
|
@@ -145,6 +145,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxFileDialogBase)
|
|||||||
|
|
||||||
BEGIN_EVENT_TABLE(wxFileDialog,wxFileDialogBase)
|
BEGIN_EVENT_TABLE(wxFileDialog,wxFileDialogBase)
|
||||||
EVT_BUTTON(wxID_OK, wxFileDialog::OnFakeOk)
|
EVT_BUTTON(wxID_OK, wxFileDialog::OnFakeOk)
|
||||||
|
EVT_SIZE(wxFileDialog::OnSize)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
|
wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
|
||||||
@@ -294,9 +295,7 @@ int wxFileDialog::ShowModal()
|
|||||||
{
|
{
|
||||||
GtkWidget *control = m_extraControl->m_widget;
|
GtkWidget *control = m_extraControl->m_widget;
|
||||||
|
|
||||||
// see wxNotebook::InsertPage() for explaination
|
wxASSERT(control->parent == NULL);
|
||||||
// why gtk_widget_unparent() is not used here
|
|
||||||
control->parent = NULL;
|
|
||||||
|
|
||||||
gtk_widget_show(control);
|
gtk_widget_show(control);
|
||||||
gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(m_widget), control);
|
gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(m_widget), control);
|
||||||
@@ -311,6 +310,12 @@ void wxFileDialog::DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxFileDialog::OnSize(wxSizeEvent&)
|
||||||
|
{
|
||||||
|
// avoid calling DoLayout(), which will set the (wrong) size of
|
||||||
|
// m_extraControl, its size is managed by GtkFileChooser
|
||||||
|
}
|
||||||
|
|
||||||
wxString wxFileDialog::GetPath() const
|
wxString wxFileDialog::GetPath() const
|
||||||
{
|
{
|
||||||
return m_fc.GetPath();
|
return m_fc.GetPath();
|
||||||
|
Reference in New Issue
Block a user