public CatValue(ScalarCategory cat, string val) { if (cat[val] == -1) throw new Exception("Value: " + val + " is not part of the available options in the Category"); CategoryID = cat.CatId; Index = cat[val]; }
public OrderableCatValue(ScalarCategory cat, string val) { if (cat[val] == -1) { throw new Exception("Value: " + val + " is not part of the available options in the Category"); } CategoryID = cat.CatId; Index = cat[val]; }
public OrderableCatValue Previous() { var ret = ScalarCategory.Get(CategoryID).Before(Index); if (ret == null) { return(new OrderableCatValue(ValState.Err)); } return(new OrderableCatValue(ret.CategoryID, ret.Index)); }
public OrderableCatValue Next() { var ret = ScalarCategory.Get(CategoryID).After(Index); if (ret == null) { return(new OrderableCatValue(ValState.Err)); } return(new OrderableCatValue(ret.CategoryID, ret.Index)); }
private static void AddInstance(ScalarCategory inst) { lock (ClassMonitor) { if (NamedMap.ContainsKey(inst.Name)) return; int Idx = InnerMap.Count(); InnerMap.Add(Idx, inst); inst.CatId = Idx; NamedMap[inst.Name] = inst; } }
private static void AddInstance(ScalarCategory inst) { lock (ClassMonitor) { if (NamedMap.ContainsKey(inst.Name)) { return; } int Idx = InnerMap.Count(); InnerMap.Add(Idx, inst); inst.CatId = Idx; NamedMap[inst.Name] = inst; } }
public override string ToString() { if (Status == ValState.Err) { return("ERR"); } if (Status == ValState.Unk) { return("UNK"); } var Cat = ScalarCategory.Get(CategoryID); if (Cat == null) { return(CategoryID + "." + Index); } return(Cat.Name + "." + Cat[Index]); }
public static void TestVars() { dynamic Col = new ScalarCategory("Season"); Col += "Spring"; Col += "Spring"; Col += "Summer"; Col += "Fall"; Col += "Winter"; Console.Out.WriteLine(Col.Spring); Console.Out.WriteLine(Col["Summer"]); Console.Out.WriteLine(Col[0]); Console.Out.WriteLine(Col[1]); Console.Out.WriteLine(Col[2]); Console.Out.WriteLine(Col.CatId); List<OrderableCatValue> tmp = new List<OrderableCatValue>(); for (int i = 0; i < 100; i++) { tmp.Add(new OrderableCatValue(Col,"Spring")); tmp.Add(new OrderableCatValue(Col,"Summer")); tmp.Add(new OrderableCatValue(Col,"Fall")); } var x = tmp[0]; Console.Out.WriteLine(x); Console.Out.WriteLine(x.Next()); Console.Out.WriteLine(x.Next().Next()); x = x.Next().Next(); Console.Out.WriteLine(x.HasNext()); x = x.Next(); Console.Out.WriteLine(x); Console.Out.WriteLine(x.Previous()); Console.Out.WriteLine(x.Previous().Previous()); Console.Out.WriteLine(CatValue.Parse("Season.Spring").Index); }
public bool HasNext() { int c = ScalarCategory.Get(CategoryID).Count - 1; return(c > Index); }