|
|
1.1 ! root 1: /* ! 2: * Any View that responds to these messages can be a "ruler". ! 3: * This is a nice way to make an object which works in concert ! 4: * with another object, but isn't hardwired into the implementation ! 5: * of that object and, instead, publishes a minimal interface ! 6: * which it expects another object to respond to. ! 7: */ ! 8: ! 9: @protocol Ruler ! 10: - setFlipped:(BOOL)flag; /* if YES, coordinates go right->left or top->bottom */ ! 11: - hidePosition; /* hide any positioning markers */ ! 12: - showPosition:(NXCoord)p :(NXCoord)q; /* put the positioning markers at p and q */ ! 13: @end ! 14: ! 15: typedef enum { ! 16: LowerLeft = 0, LowerRight, UpperLeft, UpperRight ! 17: } RulerOrigin; ! 18: ! 19: @interface SyncScrollView : ScrollView ! 20: { ! 21: ClipView *hClipRuler; ! 22: ClipView *vClipRuler; ! 23: id rulerClass; ! 24: NXCoord horizontalRulerWidth; ! 25: NXCoord verticalRulerWidth; ! 26: RulerOrigin rulerOrigin; ! 27: BOOL verticalRulerIsVisible; ! 28: BOOL horizontalRulerIsVisible; ! 29: BOOL rulersMade; ! 30: } ! 31: ! 32: /* Setting up the rulers */ ! 33: ! 34: - (BOOL)bothRulersAreVisible; ! 35: - (BOOL)eitherRulerIsVisible; ! 36: - (BOOL)verticalRulerIsVisible; ! 37: - (BOOL)horizontalRulerIsVisible; ! 38: ! 39: - setRulerClass:factoryId; ! 40: - setRulerWidths:(NXCoord)horizontal :(NXCoord)vertical; ! 41: - setRulerOrigin:(RulerOrigin)origin; ! 42: ! 43: - showHorizontalRuler:(BOOL)flag; ! 44: - showVerticalRuler:(BOOL)flag; ! 45: ! 46: - updateRuler; ! 47: ! 48: /* Comes up the responder chain to us */ ! 49: ! 50: - updateRulers:(const NXRect *)rect; ! 51: - showHideRulers:sender; ! 52: ! 53: /* Overridden from superclass */ ! 54: ! 55: - reflectScroll:cView; ! 56: - tile; ! 57: - scrollClip:(ClipView *)aClipView to:(const NXPoint *)aPoint; ! 58: - descendantFrameChanged:sender; ! 59: ! 60: @end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.