您的位置:首页 > 产品设计 > UI/UE

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

2008-06-08 11:24 288 查看
前面介绍都是怎么样创建UI界面,这显然是在程序启动时需要做的工作,但是当用户改变了界面的布局之后,或者添加一些显示界面之后,就需要把它们保存起来,以便用户所有的变化在程序关闭之后仍然保存起来,然后在程序再次启动之后再从XML文件加载出来。下面就来看看第二人生里这段代码的实现,如下:
#001 S32 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描述保存到文件里,就实现了把界面布局保存起来的任务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: