2006年05月23日

ファイルをセーブする

 編集したテキストの、セーブ部分をつくる。
 テキストコントロールを使っているので残念ながら、ドキュメントクラスは編集データを保持できない。セーブする際にビューからデータを取得する。

 ロードするときは、ドキュメントクラスがデータを保持し、編集中のデータはビューが保持する。ちょっと変則的になる。

SWSDIDoc.h
class SWSDIDoc : public wxDocument
{
protected:
const SWSDIView& GetView() const;
private:
wxOutputStream& SaveObject(wxOutputStream& stream);
};

#endif//SWSDI_DOC_H


SWSDIDoc.cpp
const SWSDIView& SWSDIDoc::GetView() const
{
SWSDIView* view =
dynamic_cast<SWSDIView*>(wxDocument::GetFirstView());
wxASSERT(view);
return *view;
}

wxOutputStream& SWSDIDoc::SaveObject(wxOutputStream& stream)
{
m_text = GetView().GetText();
wxStringTokenizer tokenizer(m_text, wxT("\n"),wxTOKEN_RET_EMPTY_ALL);
wxTextOutputStream text_stream(stream);
for( ; ; ){
text_stream << tokenizer.GetNextToken();
if(!tokenizer.HasMoreTokens())break;
text_stream << endl;
}
return stream;
}
posted by ysfactory at 22:32| Comment(0) | TrackBack(0) | wxWidgets:単一ウインドウSDI | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。