void HeaderCtrl::Serialize(Stream& s) { int version = 0x03; s / version; if(version < 0x01) { int n = col.GetCount(); s / n; for(int i = 0; i < n; i++) if(i < col.GetCount()) { int n; s / n; col[i].ratio = n; } else { int dummy = 0; s / dummy; } } else { int n = col.GetCount(); s / n; if(version < 0x02) for(int i = 0; i < n; i++) if(i < col.GetCount()) s % col[i].ratio; else { int dummy = 0; s % dummy; } else { int t = 0; for(int i = 0; i < n; i++) { if(n == col.GetCount()) { int ndx = col[i].index; double r = col[i].ratio; s % ndx; s % r; int q = FindIndex(ndx); if(q >= 0) { col[q].ratio = r; col.Swap(t++, q); } if(version >= 0x03) { bool visible = IsTabVisible(i); s % visible; if(i<GetCount()) ShowTab(i, visible); } } else { int dummy = 0; double dummy2 = 1.0; bool dummy3 = false; s % dummy; s % dummy2; if(version >= 0x03) s % dummy3; } } } } if(s.IsLoading()) { Refresh(); WhenLayout(); } }
Report message to a moderator