|
|
1.1 ! root 1: /* ! 2: * Please refer to external documentation about Draw ! 3: * with Undo for information about what ChangeDetails ! 4: * are and where they fit in. ! 5: * ! 6: * The ChangeDetail.h and ChangeDetail.m files contain ! 7: * the @interfaces and @implementations for the 11 ! 8: * subclasses of ChangeDetail, as well as for ChangeDetail ! 9: * itself. We grouped all the classes into one pair of ! 10: * files because the classes are so tiny and their behavior ! 11: * is so similar. ! 12: * ! 13: * ChangeDetail ! 14: * ArrowChangeDetail ! 15: * DimensionsChangeDetail ! 16: * FillColorChangeDetail ! 17: * FillModeChangeDetail ! 18: * LineCapChangeDetail ! 19: * LineColorChangeDetail ! 20: * LineJoinChangeDetail ! 21: * LineWidthChangeDetail ! 22: * MoveChangeDetail ! 23: * OrderChangeDetail ! 24: * ! 25: */ ! 26: ! 27: @interface ChangeDetail : Object ! 28: { ! 29: Graphic *graphic; /* the Graphic that we serve */ ! 30: id change; /* the Change object that we belong to */ ! 31: List *detailsDetails; /* If the Graphic that this ChangeDetail ! 32: * serves is a Group then detailsDetails ! 33: * is used to keep track of the ! 34: * ChangeDetails that serve the component ! 35: * Graphics of the Group. ! 36: */ ! 37: BOOL changeExpected; ! 38: } ! 39: ! 40: - initGraphic:aGraphic change:aChange; ! 41: - free; ! 42: - graphic; ! 43: - (BOOL)useNestedDetails; ! 44: - (BOOL)changeExpected; ! 45: - recordDetail; ! 46: - undoDetail; ! 47: - redoDetail; ! 48: - recordIt; ! 49: - undoIt; ! 50: - redoIt; ! 51: ! 52: @end ! 53: ! 54: @interface ArrowChangeDetail : ChangeDetail ! 55: { ! 56: int oldLineArrow; ! 57: } ! 58: ! 59: - recordIt; ! 60: - undoIt; ! 61: - redoIt; ! 62: ! 63: @end ! 64: ! 65: @interface DimensionsChangeDetail : ChangeDetail ! 66: { ! 67: NXRect oldBounds; ! 68: NXRect newBounds; ! 69: } ! 70: ! 71: - (BOOL)useNestedDetails; ! 72: - recordDetail; ! 73: - undoDetail; ! 74: - redoDetail; ! 75: ! 76: @end ! 77: ! 78: @interface FillChangeDetail : ChangeDetail ! 79: { ! 80: NXColor oldFillColor; ! 81: int oldFillMode; ! 82: NXColor newFillColor; ! 83: int newFillMode; ! 84: } ! 85: ! 86: - recordIt; ! 87: - undoIt; ! 88: - redoIt; ! 89: ! 90: @end ! 91: ! 92: @interface LineCapChangeDetail : ChangeDetail ! 93: { ! 94: int oldLineCap; ! 95: } ! 96: ! 97: - recordIt; ! 98: - undoIt; ! 99: - redoIt; ! 100: ! 101: @end ! 102: ! 103: @interface LineColorChangeDetail : ChangeDetail ! 104: { ! 105: NXColor oldColor; ! 106: BOOL oldIsOutlined; ! 107: } ! 108: ! 109: - recordIt; ! 110: - undoIt; ! 111: - redoIt; ! 112: ! 113: @end ! 114: ! 115: @interface LineJoinChangeDetail : ChangeDetail ! 116: { ! 117: int oldLineJoin; ! 118: } ! 119: ! 120: - recordIt; ! 121: - undoIt; ! 122: - redoIt; ! 123: ! 124: @end ! 125: ! 126: @interface LineWidthChangeDetail : ChangeDetail ! 127: { ! 128: float oldLineWidth; ! 129: } ! 130: ! 131: - recordIt; ! 132: - undoIt; ! 133: - redoIt; ! 134: ! 135: @end ! 136: ! 137: @interface MoveChangeDetail : ChangeDetail ! 138: { ! 139: } ! 140: ! 141: - (BOOL)useNestedDetails; ! 142: - undoDetail; ! 143: - redoDetail; ! 144: ! 145: @end ! 146: ! 147: @interface OrderChangeDetail : ChangeDetail ! 148: { ! 149: unsigned graphicPosition; ! 150: } ! 151: ! 152: - (BOOL)useNestedDetails; ! 153: - recordGraphicPositionIn:graphicList; ! 154: - (unsigned)graphicPosition; ! 155: ! 156: @end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.