virtual void WindowToScreen( int *x, int *y );
virtual bool IsActive();
+
+ virtual void SetModified(bool modified);
+ virtual bool GetModified() const;
wxNonOwnedWindow* GetWXPeer() { return m_wxPeer; }
protected :
static wxNonOwnedWindowImpl* CreateNonOwnedWindow( wxNonOwnedWindow* wxpeer, wxWindow* parent, const wxPoint& pos, const wxSize& size,
long style, long extraStyle, const wxString& name ) ;
+
+ virtual void SetModified(bool WXUNUSED(modified)) { }
+ virtual bool GetModified() const { return false; }
protected :
wxNonOwnedWindow* m_wxPeer;
virtual void SetTitle( const wxString& title);
virtual wxString GetTitle() const;
+ virtual void SetModified(bool modified);
+ virtual bool GetModified() const;
+
protected:
// common part of all ctors
void Init();
// a different API for SetSizeHints
virtual void SetMinSize(const wxSize& minSize);
virtual void SetMaxSize(const wxSize& maxSize);
+
+ virtual void SetModified(bool modified) { m_modified = modified; }
+ virtual bool GetModified() const { return m_modified; }
protected:
// the frame client to screen translation should take account of the
// a temporary override of m_winDefault, use the latter if NULL
wxWindowRef m_winTmpDefault;
+
+ bool m_modified;
wxDECLARE_NO_COPY_CLASS(wxTopLevelWindowBase);
DECLARE_EVENT_TABLE()
there are any open top level windows.
*/
virtual bool ShouldPreventAppExit() const;
+
+ /**
+ This function sets the wxTopLevelWindow's modified state, so that the
+ wxTopLevelWindow can change its GUI to reflect the current state. (e.g. on
+ Mac, the close button gets a black dot to reflect that there are unsaved changes)
+ */
+ virtual void SetModified(bool modified);
+
+ /**
+ Returns the current modified state of the wxTopLevelWindow.
+ */
+ virtual bool GetModified() const;
/**
Depending on the value of @a show parameter the window is either shown
return [m_macWindow isKeyWindow];
}
+void wxNonOwnedWindowCocoaImpl::SetModified(bool modified)
+{
+ [m_macWindow setDocumentEdited:modified];
+}
+
+bool wxNonOwnedWindowCocoaImpl::GetModified() const
+{
+ return [m_macWindow isDocumentEdited];
+}
+
wxNonOwnedWindowImpl* wxNonOwnedWindowImpl::CreateNonOwnedWindow( wxNonOwnedWindow* wxpeer, wxWindow* parent, const wxPoint& pos, const wxSize& size,
long style, long extraStyle, const wxString& name )
{
{
return m_nowpeer->IsActive();
}
+
+void wxTopLevelWindowMac::SetModified(bool modified)
+{
+ m_nowpeer->SetModified(modified);
+}
+
+bool wxTopLevelWindowMac::GetModified() const
+{
+ return m_nowpeer->GetModified();
+}
\ No newline at end of file