Add wxDocument::Activate() method.
Make activating the first (and, in the vast majority of cases, the only) view of the document easier. Closes #15120. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -624,6 +624,7 @@ All (GUI):
|
|||||||
- Add wxAUI_TB_PLAIN_BACKGROUND wxAuiToolBar style (Allann Jones).
|
- Add wxAUI_TB_PLAIN_BACKGROUND wxAuiToolBar style (Allann Jones).
|
||||||
- Make wxGenericDataViewCtrl::SetFont() really work (Laurent Poujoulat).
|
- Make wxGenericDataViewCtrl::SetFont() really work (Laurent Poujoulat).
|
||||||
- Remove wxLogWindow::OnFrameCreate(), it was never called anyhow.
|
- Remove wxLogWindow::OnFrameCreate(), it was never called anyhow.
|
||||||
|
- Added wxDocument::Activate() (troelsk).
|
||||||
|
|
||||||
wxGTK:
|
wxGTK:
|
||||||
|
|
||||||
|
@@ -86,6 +86,9 @@ public:
|
|||||||
bool GetDocumentSaved() const { return m_savedYet; }
|
bool GetDocumentSaved() const { return m_savedYet; }
|
||||||
void SetDocumentSaved(bool saved = true) { m_savedYet = saved; }
|
void SetDocumentSaved(bool saved = true) { m_savedYet = saved; }
|
||||||
|
|
||||||
|
// activate the first view of the document if any
|
||||||
|
void Activate();
|
||||||
|
|
||||||
// return true if the document hasn't been modified since the last time it
|
// return true if the document hasn't been modified since the last time it
|
||||||
// was saved (implying that it returns false if it was never saved, even if
|
// was saved (implying that it returns false if it was never saved, even if
|
||||||
// the document is not modified)
|
// the document is not modified)
|
||||||
@@ -550,10 +553,6 @@ protected:
|
|||||||
// view and returns it then
|
// view and returns it then
|
||||||
wxView *GetActiveView() const;
|
wxView *GetActiveView() const;
|
||||||
|
|
||||||
// activate the first view of the given document if any
|
|
||||||
void ActivateDocument(wxDocument *doc);
|
|
||||||
|
|
||||||
|
|
||||||
int m_defaultDocumentNameCounter;
|
int m_defaultDocumentNameCounter;
|
||||||
int m_maxDocsOpen;
|
int m_maxDocsOpen;
|
||||||
wxList m_docs;
|
wxList m_docs;
|
||||||
|
@@ -1240,6 +1240,15 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool AlreadySaved() const;
|
bool AlreadySaved() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Activate the first view of the document if any.
|
||||||
|
|
||||||
|
@see GetFirstView()
|
||||||
|
|
||||||
|
@since 2.9.5
|
||||||
|
*/
|
||||||
|
void Activate() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Closes the document, by calling OnSaveModified() and then (if this
|
Closes the document, by calling OnSaveModified() and then (if this
|
||||||
returned @true) OnCloseDocument(). This does not normally delete the
|
returned @true) OnCloseDocument(). This does not normally delete the
|
||||||
|
@@ -1407,9 +1407,9 @@ wxDocTemplateVector GetVisibleTemplates(const wxList& allTemplates)
|
|||||||
|
|
||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
|
|
||||||
void wxDocManager::ActivateDocument(wxDocument *doc)
|
void wxDocument::Activate()
|
||||||
{
|
{
|
||||||
wxView * const view = doc->GetFirstView();
|
wxView * const view = GetFirstView();
|
||||||
if ( !view )
|
if ( !view )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -1472,7 +1472,7 @@ wxDocument *wxDocManager::CreateDocument(const wxString& pathOrig, long flags)
|
|||||||
if ( fn == doc->GetFilename() )
|
if ( fn == doc->GetFilename() )
|
||||||
{
|
{
|
||||||
// file already open, just activate it and return
|
// file already open, just activate it and return
|
||||||
ActivateDocument(doc);
|
doc->Activate();
|
||||||
return doc;
|
return doc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1523,7 +1523,7 @@ wxDocument *wxDocManager::CreateDocument(const wxString& pathOrig, long flags)
|
|||||||
// at least under Mac (where views are top level windows) it seems to be
|
// at least under Mac (where views are top level windows) it seems to be
|
||||||
// necessary to manually activate the new document to bring it to the
|
// necessary to manually activate the new document to bring it to the
|
||||||
// forefront -- and it shouldn't hurt doing this under the other platforms
|
// forefront -- and it shouldn't hurt doing this under the other platforms
|
||||||
ActivateDocument(docNew);
|
docNew->Activate();
|
||||||
|
|
||||||
return docNew;
|
return docNew;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user