|
From: Emilien K. <cur...@us...> - 2005-01-15 15:55:19
|
Update of /cvsroot/wxdevcenter/StdPlugin/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12717/src Modified Files: SimpleTextDocView.cpp Log Message: Status de la vue de texte. Enregistrement des controles Scintilla pour utilisation de vues multiples. Index: SimpleTextDocView.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/src/SimpleTextDocView.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SimpleTextDocView.cpp 14 Jan 2005 15:36:34 -0000 1.3 --- SimpleTextDocView.cpp 15 Jan 2005 15:55:08 -0000 1.4 *************** *** 643,647 **** SimpleTextDocument::SimpleTextDocument(): Document(), ! m_strText("") { m_strName = WXDC_SIMPLETEXT_EMPTYTEXT; --- 643,648 ---- SimpleTextDocument::SimpleTextDocument(): Document(), ! m_strText(""), ! m_pScintillaDoc(NULL) { m_strName = WXDC_SIMPLETEXT_EMPTYTEXT; *************** *** 708,711 **** --- 709,743 ---- } + // Enregistre un controle scintilla. + void SimpleTextDocument::RegisterScintillaCtrl(wxStyledTextCtrl* pCtrl) + { + // Rapporte le document ou enregistre le controle + if(m_pScintillaDoc==NULL) + m_pScintillaDoc = pCtrl->GetDocPointer(); + else + { + pCtrl->SetDocPointer(m_pScintillaDoc); + pCtrl->AddRefDocument(m_pScintillaDoc); + } + + // Fixe le texte si aucun controle n'était attaché. + if(m_arAttachedStyleTextCtrl.GetCount()==0) + pCtrl->SetText(m_strText); + // Enregistre le controle + m_arAttachedStyleTextCtrl.Add(pCtrl); + + } + + // Désenregistre un controle scintilla. + void SimpleTextDocument::UnregisterScintillaCtrl(wxStyledTextCtrl* pCtrl) + { + // Stockage du texte si plus de controle. + m_arAttachedStyleTextCtrl.Remove(pCtrl); + if(m_arAttachedStyleTextCtrl.GetCount()==0) + m_strText = pCtrl->GetText(); + + // Désinscrit le controle. + pCtrl->ReleaseDocument(m_pScintillaDoc); + } ////////////////////////////////////////////////////////////////////// *************** *** 880,883 **** --- 912,918 ---- SetStyle(strPath); + GetDocument()->RegisterScintillaCtrl(m_pText); + + m_pText->SetText(GetDocument()->GetText()); m_pText->SetSavePoint(); |