f58585c091
DoCreate()s in derived classes and removed DoDestroy() entirely because there was really no advantage in having it (it can't be called fom base class dtor) also made XmDoCreateTLW() pure virtual which required changing IMPLEMENT_DYNAMIC_CLASS into IMPLEMENT_ABSTRACT_CLASS for wxTopLevelWindow in common code but this made sense anyhow because wxTLW should be an ABC anyhow git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
108 lines
2.9 KiB
C++
108 lines
2.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: dialog.h
|
|
// Purpose: wxDialog class
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created: 17/09/98
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) Julian Smart
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_DIALOG_H_
|
|
#define _WX_DIALOG_H_
|
|
|
|
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
|
#pragma interface "dialog.h"
|
|
#endif
|
|
|
|
class WXDLLEXPORT wxEventLoop;
|
|
|
|
// Dialog boxes
|
|
class WXDLLEXPORT wxDialog : public wxDialogBase
|
|
{
|
|
DECLARE_DYNAMIC_CLASS(wxDialog)
|
|
|
|
public:
|
|
wxDialog();
|
|
|
|
// Constructor with no modal flag - the new convention.
|
|
wxDialog(wxWindow *parent, wxWindowID id,
|
|
const wxString& title,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = wxDEFAULT_DIALOG_STYLE,
|
|
const wxString& name = wxDialogNameStr)
|
|
{
|
|
Create(parent, id, title, pos, size, style, name);
|
|
}
|
|
|
|
bool Create(wxWindow *parent, wxWindowID id,
|
|
const wxString& title,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = wxDEFAULT_DIALOG_STYLE,
|
|
const wxString& name = wxDialogNameStr);
|
|
|
|
~wxDialog();
|
|
|
|
virtual bool Destroy();
|
|
|
|
virtual bool Show(bool show = true);
|
|
|
|
void SetTitle(const wxString& title);
|
|
|
|
void SetModal(bool flag);
|
|
|
|
virtual bool IsModal() const
|
|
{ return ((GetWindowStyleFlag() & wxDIALOG_MODAL) == wxDIALOG_MODAL); }
|
|
|
|
virtual int ShowModal();
|
|
virtual void EndModal(int retCode);
|
|
|
|
// Implementation
|
|
virtual void ChangeFont(bool keepOriginalSize = true);
|
|
virtual void ChangeBackgroundColour();
|
|
virtual void ChangeForegroundColour();
|
|
inline WXWidget GetTopWidget() const { return m_mainWidget; }
|
|
inline WXWidget GetClientWidget() const { return m_mainWidget; }
|
|
|
|
// Standard buttons
|
|
void OnOK(wxCommandEvent& event);
|
|
void OnApply(wxCommandEvent& event);
|
|
void OnCancel(wxCommandEvent& event);
|
|
|
|
// Responds to colour changes
|
|
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
|
|
|
void OnCharHook(wxKeyEvent& event);
|
|
void OnCloseWindow(wxCloseEvent& event);
|
|
|
|
private:
|
|
virtual bool XmDoCreateTLW(wxWindow* parent,
|
|
wxWindowID id,
|
|
const wxString& title,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
long style,
|
|
const wxString& name);
|
|
|
|
|
|
//// Motif-specific
|
|
bool m_modalShowing;
|
|
wxEventLoop* m_eventLoop;
|
|
|
|
protected:
|
|
virtual void DoSetSize(int x, int y,
|
|
int width, int height,
|
|
int sizeFlags = wxSIZE_AUTO);
|
|
|
|
virtual void DoSetClientSize(int width, int height);
|
|
|
|
private:
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#endif
|
|
// _WX_DIALOG_H_
|