Platforms to show: All Mac Windows Linux Cross-Platform
NSSegmentedControlMBS class
Super class: NSControlMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
class | Cocoa Controls | MBS MacCocoa Plugin | 12.1 | ✅ Yes | ❌ No | ❌ No | ❌ No | Desktop only |
An NSSegmentedControl object implements a horizontal button made of multiple segments.
The NSSegmentedControl class uses an NSSegmentedCell class to implement much of the control's functionality. Most methods in NSSegmentedControl are simply "cover methods" that call the corresponding method in NSSegmentedCell. The methods of NSSegmentedCell that do not have covers relate to accessing and setting values for tags and tool tips; programatically setting the key segment; and establishing the mode of the control.
The features of a segmented control include:
- Each segment can have an image, text (label), menu, tooltip, and tag
- Either the whole control or individual segments can be enabled or disabled
- There are three tracking modes for segments: select one mode (also known as radio button mode and illustrated by Finder's view mode selection control), momentary mode (as illustrated by Safari's toolbar buttons), or select any mode (where any combination of buttons may be on or off)
- Each segment can be either a fixed width or autosized to fit the contents
- If a segment has text and is marked as autosizing, then the text may be truncated so that the control completely fits
- If an image is too large to fit in a segment, it is clipped
- Full keyboard control of the user interface
- 16 properties
- property cellTrackingMode as Integer
- property doubleValueForSelectedSegment as Double
- property segmentCount as Integer
- property segmentStyle as Integer
- property selectedSegment as Integer
- property springLoaded as Boolean
- property trackingMode as Integer
- property imageForSegment(segment as Integer) as NSImageMBS
- property imageScalingForSegment(segment as Integer) as Integer
- property isEnabledForSegment(segment as Integer) as Boolean
- property isSelectedForSegment(segment as Integer) as Boolean
- property labelForSegment(segment as Integer) as string
- property menuForSegment(segment as Integer) as NSMenuMBS
- property tagForSegment(segment as Integer) as Integer
- property ToolTipForSegment(segment as Integer) as string
- property widthForSegment(segment as Integer) as Double
- 6 methods
- method Constructor
- method Constructor(Handle as Integer)
- method Constructor(left as Double, top as Double, width as Double, height as Double)
- method makeNextSegmentKey
- method makePreviousSegmentKey
- method selectSegmentWithTag(Tag as Integer) as Boolean
- 13 constants
Scaling Modes
Constant | Value | Description |
---|---|---|
NSImageScaleAxesIndependently | 1 |
Scale each dimension to exactly fit destination. This setting does not preserve the aspect ratio of the image. Available in Mac OS X v10.5 and later. |
NSImageScaleNone | 2 |
Do not scale the image. Available in Mac OS X v10.5 and later. |
NSImageScaleProportionallyDown | 0 |
If it is too large for the destination, scale the image down while preserving the aspect ratio. Available in Mac OS X v10.5 and later. |
NSImageScaleProportionallyUpOrDown | 3 |
Scale the image to its maximum possible dimensions while both staying within the destination area and preserving its aspect ratio. Available in Mac OS X v10.5 and later. |
Style Constants
Constant | Value | Description |
---|---|---|
NSSegmentStyleAutomatic | 0 | The appearance of the segmented control is automatically determined based on the type of window in which the control is displayed and the position within the window. more |
NSSegmentStyleRounded | 1 |
The control is displayed using the rounded style. Available in Mac OS X v10.5 and later. |
NSSegmentStyleRoundRect | 2 |
The control is displayed using the round rect style. Available in Mac OS X v10.5 and later. |
NSSegmentStyleSmallSquare | 6 |
The control is displayed using the small square style. Available in Mac OS X v10.5 and later. |
NSSegmentStyleTexturedSquare | 4 |
The control is displayed using the textured square style. Available in Mac OS X v10.5 and later. |
Constants for the Switch Tracking
Constant | Value | Description |
---|---|---|
NSSegmentSwitchTrackingMomentary | 2 |
A segment is selected only when tracking. |
NSSegmentSwitchTrackingMomentaryAccelerator | 3 |
accelerator behavior, only selected while tracking. |
NSSegmentSwitchTrackingSelectAny | 1 |
Any segment can be selected. |
NSSegmentSwitchTrackingSelectOne | 0 |
Only one segment may be selected. |
Super class NSControlMBS
- 6 events
- event Action
- event TextDidBeginEditing(fieldEditor as NSTextMBS, notification as NSNotificationMBS)
- event TextDidChange(fieldEditor as NSTextMBS, notification as NSNotificationMBS)
- event TextDidEndEditing(fieldEditor as NSTextMBS, notification as NSNotificationMBS)
- event textShouldBeginEditing(fieldEditor as NSTextMBS) as boolean
- event textShouldEndEditing(fieldEditor as NSTextMBS) as boolean
- 19 properties
- property ActionSelector as String
- property alignment as Integer
- property attributedStringValue as NSAttributedStringMBS
- property baseWritingDirection as Integer
- property cell as Variant
- property controlSize as Integer
- property currentEditor as NSTextMBS
- property doubleValue as Double
- property font as NSFontMBS
- property ignoresMultiClick as boolean
- property integerValue as Integer
- property intValue as Integer
- property isContinuous as boolean
- property isEnabled as boolean
- property refusesFirstResponder as boolean
- property selectedCell as NSCellMBS
- property selectedTag as Integer
- property stringValue as string
- property tag as Integer
- 14 methods
- method abortEditing as Boolean New in 24.5
- method calcSize
- method ConnectActionEvent
- method Constructor
- method Constructor(Handle as Integer)
- method Constructor(left as Double, top as Double, width as Double, height as Double)
- method Destructor
- method EnableEvents
- method performClick
- method selectCell(Cell as NSCellMBS)
- method sendAction New in 24.5
- method setNeedsDisplay
- method sizeToFit
- method validateEditing
- 4 constants
Constants
Constant | Value | Description |
---|---|---|
ControlSizeLarge | 3 |
One of the constants to specify a cell’s size.
A size larger than the default control size. |
ControlSizeMini | 2 |
One of the constants to specify a cell’s size.
The smallest control size. |
ControlSizeRegular | 0 |
One of the constants to specify a cell’s size.
The default control size. |
ControlSizeSmall | 1 | One of the constants to specify a cell’s size. A size smaller than the default control size. more |
Super class NSViewMBS
- 43 properties
- property acceptsTouchEvents as boolean
- property allowsVibrancy as Boolean
- property alphaValue as Double
- property autoresizesSubviews as boolean
- property autoresizingMask as Integer
- property bounds as NSRectMBS
- property boundsRotation as Double
- property canBecomeKeyView as boolean
- property canDraw as boolean
- property canDrawConcurrently as boolean
- property className as string
- property classPath as string
- property clipsToBounds as Boolean
- property focusRingType as Integer
- property frame as NSRectMBS
- property frameCenterRotation as Double
- property frameHeight as Double
- property frameLeft as Double
- property frameRotation as Double
- property frameTop as Double
- property frameWidth as Double
- property identifier as string
- property isFlipped as Boolean
- property isHidden as Boolean
- property isHiddenOrHasHiddenAncestor as Boolean
- property isOpaque as Boolean
- property isRotatedFromBase as Boolean
- property isRotatedOrScaledFromBase as Boolean
- property layer as Variant
- property layerUsesCoreImageFilters as Boolean
- property needsDisplay as Boolean
- property nextKeyView as NSViewMBS
- property opaqueAncestor as NSViewMBS
- property RetainCount as Integer
- property superview as NSViewMBS
- property toolTip as string
- property userInteractionEnabled as Boolean
- property visibleRect as NSRectMBS
- property wantsDefaultClipping as boolean
- property wantsLayer as Boolean
- property wantsRestingTouches as boolean
- property window as NSWindowMBS
- property compositingFilter as variant
- 62 methods
- method addSubview(subview as NSViewMBS)
- method addSubview(subview as NSViewMBS, positioned as Integer, relativeToView as NSViewMBS)
- method addToolTipRect(rect as NSRectMBS, tooltip as NSViewTooltipMBS)
- method adjustScroll(rect as NSRectMBS) as NSRectMBS New in 24.5
- method ancestorSharedWithView(view as NSViewMBS) as NSViewMBS
- method animator as NSViewMBS
- method autoscroll(e as NSEventMBS) as Boolean New in 24.5
- method backgroundFilters as variant()
- method beginDraggingSessionWithItems(items() as Variant, e as NSEventMBS, source as NSViewMBS) as Variant
- method Constructor
- method Constructor(Handle as Integer)
- method Constructor(left as Double, top as Double, width as Double, height as Double)
- method contentFilters as variant()
- method convertPointFromView(point as NSPointMBS, View as NSViewMBS) as NSPointMBS
- method convertPointToView(point as NSPointMBS, View as NSViewMBS) as NSPointMBS
- method convertRectFromView(rect as NSRectMBS, View as NSViewMBS) as NSRectMBS
- method convertRectToView(rect as NSRectMBS, View as NSViewMBS) as NSRectMBS
- method convertSizeFromView(Size as NSSizeMBS, View as NSViewMBS) as NSSizeMBS
- method convertSizeToView(Size as NSSizeMBS, View as NSViewMBS) as NSSizeMBS
- method dataWithEPSInsideRect(left as Double, top as Double, width as Double, height as Double) as Memoryblock
- method dataWithPDFInsideRect(left as Double, top as Double, width as Double, height as Double) as Memoryblock
- method dataWithPDFInsideRect(r as NSRectMBS) as Memoryblock
- method dragImage(image as NSImageMBS, viewLocation as NSPointMBS, offset as NSSizeMBS, NSEvent as NSEventMBS, pboard as NSPasteboardMBS, source as NSViewMBS, slideFlag as boolean)
- method drawFocusRingMask
- method enclosingMenuItem as Variant
- method enclosingScrollView as Variant
- method focusRingMaskBounds as NSRectMBS
- method hitTest(x as double, y as double) as NSViewMBS
- method isDescendantOf(view as NSViewMBS) as boolean
- method makeBackingLayer as Variant
- method nextValidKeyView as NSViewMBS
- method noteFocusRingMaskChanged
- method pageFooter as NSAttributedStringMBS
- method pageHeader as NSAttributedStringMBS
- method previousKeyView as NSViewMBS
- method previousValidKeyView as NSViewMBS
- method print
- method registeredDraggedTypes as string()
- method registerForDraggedTypes(Types() as string)
- method removeAllToolTips
- method removeFromSuperview
- method removeFromSuperviewWithoutNeedingDisplay
- method RenderImage(subviews as boolean = false, flipped as boolean = false) as variant
- method replaceSubview(oldView as NSViewMBS, newView as NSViewMBS)
- method rotateByAngle(angle as Double)
- method scaleUnitSquareToSize(size as NSSizeMBS)
- method Screenshot as Picture
- method scrollPoint(x as double, y as double) New in 24.5
- method scrollRectToVisible(rect as NSRectMBS) as Boolean New in 24.5
- method setBackgroundFilters(Filters() as variant)
- method setBoundsOrigin(origin as NSPointMBS)
- method setBoundsOrigin(x as Double, y as Double)
- method setBoundsSize(size as NSSizeMBS)
- method setBoundsSize(width as Double, height as Double)
- method setContentFilters(Filters() as variant)
- method setFocus
- method setFrameOrigin(origin as NSPointMBS)
- method setFrameOrigin(x as Double, y as Double)
- method setFrameSize(size as NSSizeMBS)
- method setFrameSize(width as Double, height as Double)
- method subviews(recursive as boolean = false) as NSViewMBS()
- method unregisterDraggedTypes
- 5 shared methods
- shared method NSViewBoundsDidChangeNotification as string
- shared method NSViewDidUpdateTrackingAreasNotification as string
- shared method NSViewFocusDidChangeNotification as string
- shared method NSViewFrameDidChangeNotification as string
- shared method NSViewGlobalFrameDidChangeNotification as string
- 21 constants
Constants
Constant | Value | Description |
---|---|---|
NSBezelBorder | 2 |
One of the constants to specify the type of a view's border.
A concave border that makes the view look sunken. |
NSFocusRingTypeDefault | 0 |
One of the constants for the focusringtype property.
The default focus ring type for NSView or NSCell. |
NSFocusRingTypeExterior | 2 |
One of the constants for the focusringtype property.
The standard Aqua focus ring. |
NSFocusRingTypeNone | 1 |
One of the constants for the focusringtype property.
No focus ring. If you set the focus ring type to this value, NSView and NSCell will not draw any focus ring. |
NSGrooveBorder | 3 |
One of the constants to specify the type of a view's border.
A thin border that looks etched around the image. |
NSLineBorder | 1 |
One of the constants to specify the type of a view's border.
A black line border around the view. |
NSNoBorder | 0 |
One of the constants to specify the type of a view's border.
No border. |
NSViewHeightSizable | 16 |
One of the constants for the autoresizingMask property.
The receiver's height is flexible. |
NSViewLayerContentsRedrawBeforeViewResize | 3 | One of the view layer content redraw policy constants. |
NSViewLayerContentsRedrawDuringViewResize | 2 | One of the view layer content redraw policy constants. |
NSViewLayerContentsRedrawNever | 0 | One of the view layer content redraw policy constants. |
NSViewLayerContentsRedrawOnSetNeedsDisplay | 1 | One of the view layer content redraw policy constants. |
NSViewMaxXMargin | 4 |
One of the constants for the autoresizingMask property.
The right margin between the receiver and its superview is flexible. |
NSViewMaxYMargin | 32 |
One of the constants for the autoresizingMask property.
The top margin between the receiver and its superview is flexible. |
NSViewMinXMargin | 1 |
One of the constants for the autoresizingMask property.
The left margin between the receiver and its superview is flexible. |
NSViewMinYMargin | 8 |
One of the constants for the autoresizingMask property.
The bottom margin between the receiver and its superview is flexible. |
NSViewNotSizable | 0 |
One of the constants for the autoresizingMask property.
The receiver cannot be resized. |
NSViewWidthSizable | 2 |
One of the constants for the autoresizingMask property.
The receiver's width is flexible. |
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
- 3 properties
- property Handle as Integer
- property menu as NSMenuMBS
- property nextResponder as NSResponderMBS
- 124 methods
- method beginGestureWithEvent(e as NSEventMBS)
- method cancelOperation
- method capitalizeWord
- method centerSelectionInVisibleArea
- method changeCaseOfLetter
- method complete
- method Constructor Private
- method cursorUpdate(e as NSEventMBS)
- method deleteBackward
- method deleteBackwardByDecomposingPreviousCharacter
- method deleteForward
- method deleteToBeginningOfLine
- method deleteToBeginningOfParagraph
- method deleteToEndOfLine
- method deleteToEndOfParagraph
- method deleteToMark
- method deleteWordBackward
- method deleteWordForward
- method endGestureWithEvent(e as NSEventMBS)
- method flagsChanged(e as NSEventMBS)
- method flushBufferedKeyEvents
- method helpRequested(e as NSEventMBS)
- method indent
- method insertBacktab
- method insertContainerBreak
- method insertDoubleQuoteIgnoringSubstitution
- method insertLineBreak
- method insertNewline
- method insertNewlineIgnoringFieldEditor
- method insertParagraphSeparator
- method insertSingleQuoteIgnoringSubstitution
- method insertTab
- method insertTabIgnoringFieldEditor
- method keyDown(e as NSEventMBS)
- method keyUp(e as NSEventMBS)
- method lowercaseWord
- method magnifyWithEvent(e as NSEventMBS)
- method makeBaseWritingDirectionLeftToRight
- method makeBaseWritingDirectionNatural
- method makeBaseWritingDirectionRightToLeft
- method makeTextWritingDirectionLeftToRight
- method makeTextWritingDirectionNatural
- method makeTextWritingDirectionRightToLeft
- method mouseDown(e as NSEventMBS)
- method mouseDragged(e as NSEventMBS)
- method mouseEntered(e as NSEventMBS)
- method mouseExited(e as NSEventMBS)
- method mouseMoved(e as NSEventMBS)
- method mouseUp(e as NSEventMBS)
- method moveBackward
- method moveBackwardAndModifySelection
- method moveDown
- method moveDownAndModifySelection
- method moveForward
- method moveForwardAndModifySelection
- method moveLeft
- method moveLeftAndModifySelection
- method moveParagraphBackwardAndModifySelection
- method moveParagraphForwardAndModifySelection
- method moveRight
- method moveRightAndModifySelection
- method moveToBeginningOfDocument
- method moveToBeginningOfDocumentAndModifySelection
- method moveToBeginningOfLine
- method moveToBeginningOfLineAndModifySelection
- method moveToBeginningOfParagraph
- method moveToBeginningOfParagraphAndModifySelection
- method moveToEndOfDocument
- method moveToEndOfDocumentAndModifySelection
- method moveToEndOfLine
- method moveToEndOfLineAndModifySelection
- method moveToEndOfParagraph
- method moveToEndOfParagraphAndModifySelection
- method moveToLeftEndOfLine
- method moveToLeftEndOfLineAndModifySelection
- method moveToRightEndOfLine
- method moveToRightEndOfLineAndModifySelection
- method moveUp
- method moveUpAndModifySelection
- method moveWordBackward
- method moveWordBackwardAndModifySelection
- method moveWordForward
- method moveWordForwardAndModifySelection
- method moveWordLeft
- method moveWordLeftAndModifySelection
- method moveWordRight
- method moveWordRightAndModifySelection
- method otherMouseDown(e as NSEventMBS)
- method otherMouseDragged(e as NSEventMBS)
- method otherMouseUp(e as NSEventMBS)
- method pageDown
- method pageDownAndModifySelection
- method pageUp
- method pageUpAndModifySelection
- method performMnemonic(theString as string) as boolean
- method presentError(e as NSErrorMBS) as boolean
- method rightMouseDown(e as NSEventMBS)
- method rightMouseDragged(e as NSEventMBS)
- method rightMouseUp(e as NSEventMBS)
- method rotateWithEvent(e as NSEventMBS)
- method scrollLineDown
- method scrollLineUp
- method scrollPageDown
- method scrollPageUp
- method scrollToBeginningOfDocument
- method scrollToEndOfDocument
- method scrollWheel(e as NSEventMBS)
- method selectAll
- method selectLine
- method selectParagraph
- method selectToMark
- method selectWord
- method setMark
- method showContextHelp
- method showWritingTools New in 24.5
- method swapWithMark
- method swipeWithEvent(e as NSEventMBS)
- method tabletPoint(e as NSEventMBS)
- method tabletProximity(e as NSEventMBS)
- method transpose
- method transposeWords
- method undoManager as NSUndoManagerMBS
- method uppercaseWord
- method yank
This class has no sub classes.
Some methods using this class:
- DesktopSegmentedButton.NSSegmentedControlMBS as NSSegmentedControlMBS
- SegmentedControl.NSSegmentedControlMBS as NSSegmentedControlMBS
Some properties using for this class:
- DesktopNSSegmentedControlControlMBS.View as NSSegmentedControlMBS
- NSSegmentedControlControlMBS.View as NSSegmentedControlMBS
Some examples using this class:
- /MacBase/Custom NSWindows/NSWindow like AppStore/AppStore NSWindow
- /MacControls/NSSegmentedControl
- /MacControls/NSSegmentedControl control
- /MacControls/Toolbar/Toolbar buttons/Toolbar buttons
Blog Entries
- MBS Xojo Plugins, version 24.1pr4
- NSSegmentedControl and NSPathControl
- MBS Xojo / Real Studio Plugins, version 15.2pr4
- MBS Xojo / Real Studio Plugins, version 15.2pr3
- MonkeyBread Software releases MBS Real Studio plug-ins in version 12.1
- MBS Real Studio Plugins, version 12.1pr10
Xojo Developer Magazine
Release notes
- Version 24.1
- Fixed isSelectedForSegment method for NSSegmentedControlMBS to return correct value.
The items on this page are in the following plugins: MBS MacBase Plugin, MBS MacCocoa Plugin.
NSSecureTextFieldMBS - NSServiceProviderMBS