第二人生的源码分析(八十四)保存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描述保存到文件里,就实现了把界面布局保存起来的任务。
#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描述保存到文件里,就实现了把界面布局保存起来的任务。
相关文章推荐
- 第二人生的源码分析(八十四)保存UI的界面布局
- Duilib源码分析(五)UI布局—Layout与各子控件
- Launcher3源码分析 — 主界面的UI结构
- 第二人生的源码分析(八十三)创建UI的菜单
- Jamendo开源在线音乐播放器源码分析播放界面布局
- 第二人生的源码分析(八十三)创建UI的菜单
- Android6.0锁屏源码分析之界面布局分析
- Android 4.0 Launcher2源码分析——Laucher界面元素分解(主布局文件内容介绍)
- WeifenLuo.WinFormsUI.Docking 自动保存界面布局!
- 第二人生的源码分析(七十九)UI控制的类工厂
- 界面布局控件-WeifenLuo.WinFormsUI.Docking_保存窗体布局
- 使用WeifenLuo.WinFormsUI.Docking界面布局中的保存配置
- Android布局优化之Merge、Include、ViewStub使用与源码分析
- android UI学习 -- 设置界面的布局(包括style的使用,selector的使用,Checkbox自定义样式,菜单项的样式)
- 第二人生的源码分析(八十)界面语言的选择
- 第二人生的源码分析(八十一)创建UI的显示板(Panel)
- 第二人生的源码分析(八十九)从XML里创建LLButton
- Android 4.0 Launcher2源码分析——主布局文件
- Android 4.0 Launcher2源码分析——主布局文件
- 嵌入式图形界面ugfx源码工程文件分析