Action ReadAction() { var action = new Action(); int index = ReadInt16(); DebugOutput.Dump("Index: " + index); action.ShiftKey = ReadByte(); action.CommandKey = ReadByte(); action.ColorIndex = ReadInt16(); action.Name = ReadUnicodeString(); action.Expanded = ReadByte(); action.NrOfChildren = ReadInt32(); DebugOutput.Dump("{0} ({1})", action.Name, action.NrOfChildren); for (int i = 0; i < action.NrOfChildren; i++) { DebugOutput.Level++; var actionEvent = ReadActionEvent(); if (actionEvent != null) { action.Add(actionEvent); } else { ParsingFailed++; break; } DebugOutput.Level--; } return(action); }
public override void Parse(ActionParser parser) { if (!parser.PreSix) { ClassID = parser.ReadTokenOrUnicodeString(); } ClassID2 = parser.ReadTokenOrString(); Key = parser.ReadTokenOrUnicodeString(); DebugOutput.Dump("Name: c = {ClassID}, c2 = {ClassID2}, k = {Key}"); }
public override void Parse(ActionParser parser) { if (!parser.PreSix) { ClassID = parser.ReadTokenOrUnicodeString(); } Key = parser.ReadTokenOrString(); Type = parser.ReadTokenOrString(); Value = parser.ReadTokenOrString(); DebugOutput.Dump($"Enmr: c = {ClassID}, k = {Key}, t = {Type}, v = {Value}"); }
public override void Parse(ActionParser parser) { if (!parser.PreSix) { ClassID = parser.ReadTokenOrUnicodeString(); } Key = parser.ReadTokenOrString(); Type = parser.ReadTokenOrString(); Value = parser.ReadTokenOrString(); DebugOutput.Dump("Enmr: c = {0}, k = {1}, t = {2}, v = {3}", ClassID, Key, Type, Value); }
public override void Parse(ActionParser parser) { int number = parser.ReadInt32(); DebugOutput.Dump("number: " + number); for (int i = 0; i < number; i++) { string type = parser.ReadFourByteString(); DebugOutput.Dump("type: " + type); Parameter parameter = null; switch (type) { case "Objc": parameter = new ObjcParameter(); break; case "long": parameter = new LongParameter(); break; case "obj": parameter = new ReferenceParameter(); break; default: Console.WriteLine("ReadVlLs: type {0} unknown!", type); return; } if (parameter != null) { DebugOutput.Level++; parameter.Parse(parser); DebugOutput.Level--; Set.Add(parameter); } } }
public override void Parse(ActionParser parser) { if (parser.PreSix) { _classID2 = parser.ReadFourByteString(); } else { _classID = parser.ReadUnicodeString(); DebugOutput.Dump("ClassID: " + _classID); _classID2 = parser.ReadTokenOrString(); } DebugOutput.Dump("ClassID2: " + _classID2); int numberOfItems = parser.ReadInt32(); DebugOutput.Dump("NumberOfItems: " + numberOfItems); DebugOutput.Level++; _children.Parse(parser, numberOfItems); DebugOutput.Level--; }
public override void Parse(ActionParser parser) { if (parser.PreSix) { _classID2 = parser.ReadTokenOrString(); DebugOutput.Dump("ClassID2: " + _classID2); int numberOfItems = parser.ReadInt32(); DebugOutput.Dump("NumberOfItems: " + numberOfItems); } else { int numberOfItems = parser.ReadInt32(); DebugOutput.Dump("NumberOfItems: " + numberOfItems); _classID = parser.ReadUnicodeString(); DebugOutput.Dump("ClassID: " + _classID); _classID2 = parser.ReadTokenOrString(); DebugOutput.Dump("ClassID2: " + _classID2); } int numberOfFields = parser.ReadInt32(); DebugOutput.Dump("NumberOfFields: " + numberOfFields); for (int i = 0; i < numberOfFields; i++) { string key = parser.ReadTokenOrString(); string type = parser.ReadFourByteString(); _units = parser.ReadFourByteString(); DebugOutput.Dump("key: {0} ({1}) {2}", key, type, _units); int numberOfItems = parser.ReadInt32(); DebugOutput.Dump("NumberOfItems2: " + numberOfItems); switch (type) { case "UnFl": for (int j = 0; j < numberOfItems; j++) { double val = parser.ReadDouble(); Coordinate <double> c; if (i == 0) { c = new Coordinate <double>(); _value.Add(c); c.X = val; } else { _value[j].Y = val; } } break; default: Console.WriteLine("ObAr:Unknown type: " + type); break; } } }
public Parameter ReadItem() { string key; if (PreSix) { key = ReadFourByteString(); } else { key = ReadTokenOrString(); } string type = ReadFourByteString(); DebugOutput.Dump($"key: {key} ({type})"); Parameter parameter = null; switch (type) { case "alis": parameter = new AliasParameter(); break; case "UntF": parameter = new DoubleParameter(true); break; case "bool": parameter = new BoolParameter(); break; case "doub": parameter = new DoubleParameter(false); break; case "enum": parameter = new EnumParameter(); break; case "obj": parameter = new ReferenceParameter(); break; case "VlLs": parameter = new ListParameter(); break; case "long": parameter = new LongParameter(); break; case "Pth": parameter = new PathParameter(); break; case "TEXT": parameter = new TextParameter(); break; case "ObAr": parameter = new ObArParameter(); break; case "Objc": parameter = new ObjcParameter(); break; case "tdta": parameter = new RawDataParameter(); break; case "type": parameter = new TypeParameter(); break; default: Console.WriteLine("ReadItem: type {0} unknown!", type); throw new GimpSharpException(); } DebugOutput.Level++; parameter.Parse(this); DebugOutput.Level--; parameter.Name = key; return(parameter); }
ActionEvent ReadActionEvent() { byte expanded = ReadByte(); byte enabled = ReadByte(); byte withDialog = ReadByte(); byte dialogOptions = ReadByte(); try { string text = ReadFourByteString(); string eventName; if (text == "TEXT") { eventName = ReadString(); } else if (text == "long") { eventName = ReadFourByteString(); } else { Console.WriteLine("Unknown text: " + text); return(null); } var actionEvent = _map.Lookup(eventName); // actionEvent.EventForDisplay = ReadString(); string tmp = ReadString(); actionEvent.EventForDisplay = Abbreviations.GetUppercased(eventName); DebugOutput.Dump("EventName: " + eventName); actionEvent.HasDescriptor = (ReadInt32() != 0); if (!actionEvent.HasDescriptor) { DebugOutput.Dump("HasDescriptor: " + actionEvent.HasDescriptor); actionEvent.IsEnabled = (enabled == 0) ? false : true; return(actionEvent); } if (PreSix == false) { string classID = ReadUnicodeString(); DebugOutput.Dump("ClassID: " + classID); string classID2 = ReadTokenOrString(); DebugOutput.Dump("ClassID2: " + classID2); } actionEvent.NumberOfItems = ReadInt32(); DebugOutput.Dump("NumberOfItems: " + actionEvent.NumberOfItems); actionEvent = actionEvent.Parse(this); actionEvent.IsEnabled = (enabled == 0) ? false : true; return(actionEvent); } catch (GimpSharpException e) { Console.WriteLine("-------------> Parsing failed"); return(null); } }