Beispiel #1
0
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);
	}
}
Beispiel #2
0
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;
	}
}
Beispiel #3
0
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);
	}
}