第二人生的源码分析(八十四)保存UI的界面布局

前面介绍都是怎么样创建UI界面,这显然是在程序启动时需要做的工作,但是当用户改变了界面的布局之后,或者添加一些显示界面之后,就需要把它们保存起来,以便用户所有的变化在程序关闭之后仍然保存起来,然后在程序再次启动之后再从XML文件加载出来。下面就来看看第二人生里这段代码的实现,如下:
#001S32 LLUICtrlFactory::saveToXML(LLView* viewp, const LLString& filename)
#002{
下面创建一个流文件输出对象。
#003 llofstream out(filename.c_str());
判断这个流文件是否创建成功。
#004 if (!out.good())
#005 {
#006 llwarns << "Unable to open " << filename << " for output." << llendl;
#007 return 1;
#008 }
#009
向这个文件输出XML文件头。
#010 out << XML_HEADER;
#011
获取这个界面的XML节点类。
#012 LLXMLNodePtr xml_node = viewp->getXML();
#013
把界面布局和组件保存到流对象文件里。
#014 xml_node->writeToOstream(out);
#015
关闭流对象文件。
#016 out.close();
#017 return 0;
#018}
#019
上面的代码主要通过打开C++的流文件对象,然后把界面的XML描述保存到文件里,就实现了把界面布局保存起来的任务。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页