Add wxTopLevelWindow::SetRepresentedFilename().

This currently is only implemented under OS X and sets the proxy icon there
but could be implemented to do something useful under the other platforms too
in the future.

Closes #13797.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-01-08 14:52:47 +00:00
parent bc5bb77365
commit 6a0e4ead1e
8 changed files with 33 additions and 0 deletions

View File

@@ -544,6 +544,7 @@ All (GUI):
- Allow customization of the locations where persistent settings are stored. - Allow customization of the locations where persistent settings are stored.
- Restore support for reusing ids more than 254 times (Armel Asselin). - Restore support for reusing ids more than 254 times (Armel Asselin).
- Added wxIMAGE_OPTION_ORIGINAL_{WIDTH,HEIGHT} (Catalin Raceanu). - Added wxIMAGE_OPTION_ORIGINAL_{WIDTH,HEIGHT} (Catalin Raceanu).
- Add wxTopLevelWindow::SetRepresentedFilename() (Andrej Vodopivec).
OSX: OSX:

View File

@@ -239,6 +239,8 @@ public :
virtual void SetModified(bool modified); virtual void SetModified(bool modified);
virtual bool IsModified() const; virtual bool IsModified() const;
virtual void SetRepresentedFilename(const wxString& filename);
wxNonOwnedWindow* GetWXPeer() { return m_wxPeer; } wxNonOwnedWindow* GetWXPeer() { return m_wxPeer; }
CGWindowLevel GetWindowLevel() const { return m_macWindowLevel; } CGWindowLevel GetWindowLevel() const { return m_macWindowLevel; }

View File

@@ -863,6 +863,8 @@ public :
virtual void SetModified(bool WXUNUSED(modified)) { } virtual void SetModified(bool WXUNUSED(modified)) { }
virtual bool IsModified() const { return false; } virtual bool IsModified() const { return false; }
virtual void SetRepresentedFilename(const wxString& WXUNUSED(filename)) { }
#if wxOSX_USE_IPHONE #if wxOSX_USE_IPHONE
virtual CGFloat GetWindowLevel() const { return 0.0; } virtual CGFloat GetWindowLevel() const { return 0.0; }
#else #else

View File

@@ -77,6 +77,8 @@ public:
virtual void OSXSetModified(bool modified); virtual void OSXSetModified(bool modified);
virtual bool OSXIsModified() const; virtual bool OSXIsModified() const;
virtual void SetRepresentedFilename(const wxString& filename);
protected: protected:
// common part of all ctors // common part of all ctors
void Init(); void Init();

View File

@@ -301,6 +301,8 @@ public:
virtual void OSXSetModified(bool modified) { m_modified = modified; } virtual void OSXSetModified(bool modified) { m_modified = modified; }
virtual bool OSXIsModified() const { return m_modified; } virtual bool OSXIsModified() const { return m_modified; }
virtual void SetRepresentedFilename(const wxString& WXUNUSED(filename)) { }
protected: protected:
// the frame client to screen translation should take account of the // the frame client to screen translation should take account of the
// toolbar which may shift the origin of the client area // toolbar which may shift the origin of the client area

View File

@@ -503,6 +503,20 @@ public:
*/ */
virtual bool OSXIsModified() const; virtual bool OSXIsModified() const;
/**
Sets the file name represented by this wxTopLevelWindow.
Under OS X, this file name is used to set the "proxy icon", which
appears in the window title bar near its title, corresponding to this
file name. Under other platforms it currently doesn't do anything but
it is harmless to call it now and it might be implemented to do
something useful in the future so you're encouraged to use it for any
window representing a file-based document.
@since 2.9.4
*/
virtual void SetRepresentedFilename(const wxString& filename);
/** /**
Depending on the value of @a show parameter the window is either shown Depending on the value of @a show parameter the window is either shown
full screen or restored to its normal state. @a style is a bit list full screen or restored to its normal state. @a style is a bit list

View File

@@ -990,6 +990,11 @@ bool wxNonOwnedWindowCocoaImpl::IsModified() const
return [m_macWindow isDocumentEdited]; return [m_macWindow isDocumentEdited];
} }
void wxNonOwnedWindowCocoaImpl::SetRepresentedFilename(const wxString& filename)
{
[m_macWindow setRepresentedFilename:wxCFStringRef(filename).AsNSString()];
}
void wxNonOwnedWindowCocoaImpl::RestoreWindowLevel() void wxNonOwnedWindowCocoaImpl::RestoreWindowLevel()
{ {
if ( [m_macWindow level] != m_macWindowLevel ) if ( [m_macWindow level] != m_macWindowLevel )

View File

@@ -213,3 +213,8 @@ bool wxTopLevelWindowMac::OSXIsModified() const
{ {
return m_nowpeer->IsModified(); return m_nowpeer->IsModified();
} }
void wxTopLevelWindowMac::SetRepresentedFilename(const wxString& filename)
{
m_nowpeer->SetRepresentedFilename(filename);
}