Xojo Conferences

Platforms to show: All Mac Windows Linux Cross-Platform

NSClipViewMBS class

Super class: NSViewMBS

Type Topic Plugin Version macOS Windows Linux Console & Web iOS
class Cocoa Controls MBS MacControls Plugin 11.3 Yes No No Yes, macOS only No
Function: An NSClipView contains and scrolls the document view displayed by an NSScrollView.
You normally don't need to program with NSClipViews, as NSScrollView handles most of the details of their operation.

An NSClipView holds the document view of an NSScrollView, clipping the document view to its frame, handling the details of scrolling in an efficient manner, and updating the NSScrollView when the document view's size or position changes. You don't normally use the NSClipView class directly; it's provided primarily as the scrolling machinery for the NSScrollView class. However, you might use the NSClipView class to implement a class similar to NSScrollView.

Interaction With NSScrollView
When using an NSClipView within an NSScrollView (the usual configuration), you should issue messages that control background drawing state to the NSScrollView, rather than messaging the NSClipView directly. This recommendation applies to the following methods:

- backgroundColor
- drawsBackground

The NSClipView methods are intended for when the NSClipView is used independently of a containing NSScrollView. In the usual case, NSScrollView should be allowed to manage the background-drawing properties of its associated NSClipView.

There is only one background-drawing state per NSScrollView/NSClipView pair. The two objects do not maintain independent and distinct drawsBackground and backgroundColor properties; rather, NSScrollView's accessors for these properties largely defer to the associated NSClipView and allow the NSClipView to maintain the state. In Mac OS X v10.2 and earlier system versions, NSScrollView maintained a cache of the last state it set for its NSClipView. If the NSClipView was sent a setDrawsBackground: message directly, the cache might not reflect the state accurately. This caching of state has been removed in Mac OS X v10.3.

It is also important to note that sending a setDrawsBackground message with a parameter of false to an NSScrollView has the added effect of sending the NSClipView a setCopiesOnScroll message with a parameter of false. The side effect of sending the setDrawsBackground message directly to the NSClipView is the appearance of "trails" (vestiges of previous drawing) in the document view as it is scrolled.

You can embed this view in a CustomNSViewMBS to get more events for mouse and keyboard.
Subclass of the NSViewMBS class.

Feedback, Comments & Corrections

Findbar position constants.

Constant Value Description
NSClipViewFindBarPositionAboveContent 1 The find bar is displayed above the scroll view content.
Available in Mac OS X v10.7 and later.
NSClipViewFindBarPositionAboveHorizontalRuler 0 The find bar is displayed above the horizontal ruler, if visible.
Available in Mac OS X v10.7 and later.
NSClipViewFindBarPositionBelowContent 2 The find bar is displayed below the scroll view content.
Available in Mac OS X v10.7 and later.

Elasticity behavior constants.

Constant Value Description
NSScrollElasticityAllowed 2 Allow content to be scrolled past its bounds on this axis in an elastic fashion.
Available in Mac OS X v10.7 and later.
NSScrollElasticityAutomatic 0 Automatically determine whether to allow elasticity on this axis.
Available in Mac OS X v10.7 and later.
NSScrollElasticityNone 1 Disallow scrolling beyond document bounds on this axis.
Available in Mac OS X v10.7 and later.

Super class NSViewMBS

Window Order Constants

Constant Value Description
NSWindowAbove 1 Moves the window above the indicated window.
NSWindowBelow -1 Moves the window below the indicated window.
NSWindowOut 0 Moves the window off the screen.

Super class NSResponderMBS

This class has no sub classes.

Some methods using this class:

Some properties using for this class:

The items on this page are in the following plugins: MBS MacBase Plugin, MBS MacControls Plugin.

NSCharacterSetMBS   -   NSCoderMBS

MBS Xojo Plugins