wxWidgets/src/qt/dialog.cpp
Sean D'Epagnier 35bc8f449b Improve build and widget storage
There are no longer any qt headers included in wx/qt headers.
Applications do not need to link with qt librarys anymore, only wxqt libraries.
wxWindow and derived widgets only contain one pointer to their qtwidget, no longer
  carrying both base and derived pointers in parallel as was before.
2017-11-06 02:05:40 +01:00

95 lines
2.2 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: src/qt/dialog.cpp
// Author: Peter Most, Javier Torres, Mariano Reingart, Sean D'Epagnier
// Copyright: (c) 2010 wxWidgets dev team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#include "wx/dialog.h"
#include "wx/qt/private/utils.h"
#include "wx/qt/private/winevent.h"
#include <QtWidgets/QDialog>
class wxQtDialog : public wxQtEventSignalHandler< QDialog, wxDialog >
{
public:
wxQtDialog( wxWindow *parent, wxDialog *handler );
};
wxQtDialog::wxQtDialog( wxWindow *parent, wxDialog *handler )
: wxQtEventSignalHandler< QDialog, wxDialog >( parent, handler )
{
}
wxDialog::wxDialog()
{
}
wxDialog::wxDialog( wxWindow *parent, wxWindowID id,
const wxString &title,
const wxPoint &pos,
const wxSize &size,
long style,
const wxString &name)
{
Create( parent, id, title, pos, size, style, name );
}
wxDialog::~wxDialog()
{
}
bool wxDialog::Create( wxWindow *parent, wxWindowID id,
const wxString &title,
const wxPoint &pos,
const wxSize &size,
long style,
const wxString &name)
{
SetExtraStyle(GetExtraStyle() | wxTOPLEVEL_EX_DIALOG);
// all dialogs should have tab traversal enabled
style |= wxTAB_TRAVERSAL;
m_qtWindow = new wxQtDialog( parent, this );
PostCreation();
return wxTopLevelWindow::Create( parent, id, title, pos, size, style, name );
}
int wxDialog::ShowModal()
{
wxCHECK_MSG( GetHandle() != NULL, -1, "Invalid dialog" );
return GetDialogHandle()->exec() ? wxID_OK : wxID_CANCEL;
}
void wxDialog::EndModal(int retCode)
{
wxCHECK_RET( GetDialogHandle() != NULL, "Invalid dialog" );
SetReturnCode(retCode);
GetDialogHandle()->done( retCode );
}
bool wxDialog::IsModal() const
{
wxCHECK_MSG( GetDialogHandle() != NULL, false, "Invalid dialog" );
return GetDialogHandle()->isModal();
}
QDialog *wxDialog::GetDialogHandle() const
{
return static_cast<QDialog*>(m_qtWindow);
}