void EditorViewWindow::Serialize(CfgList& cfg, bool store) { ViewWindow::Serialize (cfg, store); Camera::CtlMode& camCtlMode=cam.ctlmode; if (store) { CFG_STOREN(cfg,mode); CFG_STOREN(cfg,rendermode); cfg.AddNumeric ("camCtlMode", (int)camCtlMode); CFG_STORE(cfg, bDrawCenters); CFG_STORE(cfg, bCullFaces); CFG_STORE(cfg, bLighting); CFG_STORE(cfg, bHideGrid); CFG_STORE(cfg, bDrawRadius); } else { CFG_LOADN(cfg,mode); SetMode(mode); CFG_LOADN(cfg,rendermode); camCtlMode=(Camera::CtlMode)cfg.GetInt ("camCtlMode",0); CFG_LOAD(cfg, bDrawCenters); CFG_LOAD(cfg, bCullFaces); CFG_LOAD(cfg, bLighting); CFG_LOAD(cfg, bHideGrid); CFG_LOAD(cfg, bDrawRadius); } }
void EditorUI::LoadToolWindowSettings() { string path=applicationPath + ViewSettingsFile; CfgList *cfg = CfgValue::LoadFile (path.c_str()); if (cfg) { // tool window visibility bool showTimeline,showTrackEdit,showIK; CFG_LOAD(*cfg,showTimeline); CFG_LOAD(*cfg,showTrackEdit); CFG_LOAD(*cfg,showIK); if (showTrackEdit) uiAnimTrackEditor->Show(); if (showIK) uiIK->Show(); if (showTimeline) uiTimeline->Show(); delete cfg; } }
void EditorUI::SerializeConfig (CfgList& cfg, bool store) { // Serialize editor window properties int x=window->x(), y=window->y(), width=window->w(), height=window->h(); string& springTexDir = Texture::textureLoadDir; if (store) { CFG_STOREN(cfg,x); CFG_STOREN(cfg,y); CFG_STOREN(cfg,width); CFG_STOREN(cfg,height); CFG_STORE(cfg,springTexDir); CFG_STORE(cfg,optimizeOnLoad); bool showTimeline=uiTimeline->window->visible(); CFG_STORE(cfg,showTimeline); bool showTrackEdit=uiAnimTrackEditor->window->visible(); CFG_STORE(cfg,showTrackEdit); bool showIK=uiIK->window->visible(); CFG_STORE(cfg,showIK); } else { CFG_LOADN(cfg,x); CFG_LOADN(cfg,y); CFG_LOADN(cfg,width); CFG_LOADN(cfg,height); CFG_LOAD(cfg,springTexDir); CFG_LOAD(cfg,optimizeOnLoad); window->resize(x,y,width,height); } // Serialize views: first match the number of views specified in the config int numViews = viewsGroup->children(); if (store) { CFG_STOREN(cfg,numViews); } else { CFG_LOADN(cfg,numViews); int nv=numViews-viewsGroup->children(); if (nv > 0) { viewsGroup->begin(); for (int a=0;a<nv;a++) { EditorViewWindow *wnd = new EditorViewWindow (0,0,0,0,&callback); wnd->SetMode(a%4); } viewsGroup->end(); } else { for (int a=viewsGroup->children()-1;a>=numViews;a--) { EditorViewWindow *wnd = (EditorViewWindow *)viewsGroup->child(a); viewsGroup->remove (wnd); delete wnd; } } } // then serialize view settings for each view in the config int viewIndex = 0; char viewName[16]; for (int a=0;a<viewsGroup->children();++a) { sprintf (viewName, "View%d", viewIndex++); CfgList *viewcfg; if (store) { viewcfg = new CfgList; cfg.AddValue (viewName, viewcfg); }else viewcfg=dynamic_cast<CfgList*>(cfg.GetValue(viewName)); if (viewcfg) ((EditorViewWindow *)viewsGroup->child(a))->Serialize (*viewcfg,store); } }