/CPBox+CPCoding.j

http://github.com/rheimbuch/YED · Unknown · 49 lines · 37 code · 12 blank · 0 comment · 0 complexity · 6cbe1b6478fd56ebd5ddb88975e60e26 MD5 · raw file

  1. @import <AppKit/CPBox.j>
  2. @import <Foundation/CPCoder.j>
  3. var CPBoxBorderTypeKey = @"CPBoxBorderTypeKey",
  4. CPBoxBorderColorKey = @"CPBoxBorderColorKey",
  5. CPBoxFillColorKey = @"CPBoxFillColorKey",
  6. CPBoxCornerRadiusKey = @"CPBoxCornerRadiusKey",
  7. CPBoxBorderWidthKey = @"CPBoxBorderWidthKey",
  8. CPBoxContentMarginKey = @"CPBoxContentMarginKey",
  9. CPBoxContentViewKey = @"CPBoxContentViewKey";
  10. @implementation CPBox (CPCoding)
  11. - (id)initWithCoder:(CPCoder)coder
  12. {
  13. self = [super initWithCoder:coder];
  14. if(self)
  15. {
  16. _borderType = [coder decodeObjectForKey:CPBoxBorderTypeKey];
  17. _borderColor = [coder decodeObjectForKey:CPBoxBorderColorKey];
  18. _fillColor = [coder decodeObjectForKey:CPBoxFillColorKey];
  19. _cornerRadius = [coder decodeObjectForKey:CPBoxCornerRadiusKey];
  20. _borderWidth = [coder decodeObjectForKey:CPBoxBorderWidthKey];
  21. _contentMargin = [coder decodeObjectForKey:CPBoxContentMarginKey];
  22. _contentView = [coder decodeObjectForKey:CPBoxContentViewKey];
  23. }
  24. return self;
  25. }
  26. - (void)encodeWithCoder:(CPCoder)coder
  27. {
  28. [super encodeWithCoder:coder];
  29. [coder encodeInt:_borderType forKey:CPBoxBorderTypeKey];
  30. [coder encodeObject:_borderColor forKey:CPBoxBorderColorKey];
  31. [coder encodeObject:_fillColor forKey:CPBoxFillColorKey];
  32. [coder encodeFloat:_cornerRadius forKey:CPBoxCornerRadiusKey];
  33. [coder encodeFloat:_borderWidth forKey:CPBoxBorderWidthKey];
  34. [coder encodeSize:_contentMargin forKey:CPBoxContentMarginKey];
  35. [coder encodeObject:_contentView forKey:CPBoxContentViewKey];
  36. }
  37. @end