List of GUI classes:
Overviews | GUI

List of GUI classes

The most used GUI classes and their kit-specific equivalents

Kit-independent GUI classes

The following table contains classes that are independent of GUI implementation, but may use other GUI classes or be used with any of them.

GradientLinear gradient between two colors.
HiliteGradientRadial gradient between two colors
FlowLayoutA decorator that positions views in horizontal series, wrapping to a new line when meeting a border
ColorRepresentation of colors
FreqScopeViewA view based on ScopeView that displays frequency spectrum
FreqScopeA window containing a FreqScopeView and tools to control its display

Window and views

The following table contains generic classes and their corresponding classes in each GUI kit, for window and most views.

GenericCocoaGUISwingGUIQt GUIDescription
WindowSCWindowJSCWindowQWindowa frame that can contain gadgets
N/ASCModalWindowN/Aa modal window
N/ASCModalSheetN/Aa modal sheet to attach to windows
ViewSCViewJSCViewQViewThe base class for most view classes. Important help file.
CompositeViewSCCompositeViewJSCCompositeViewQViewcontainer view for nesting layouts
HLayoutViewSCHLayoutViewJSCHLayoutViewQHLayoutViewcontainer view with horizontal distribution of children
VLayoutViewSCVLayoutViewJSCVLayoutViewQVLayoutViewcontainer view with vertical distribution of children
ButtonSCButtonJSCButtonQButtona multiple state push button
PopUpMenuSCPopUpMenuJSCPopUpMenuQPopUpMenua collapsed multiple choice button
SliderSCSliderJSCSliderQSlidera horizontal or vertical slider
RangeSliderSCRangeSliderJSCRangeSliderQRangeSliderhorizontal or vertical interval slider
Slider2DSC2DSliderJSC2DSliderQSlider2Da horizontally and vertically moveable slider
TextFieldSCTextFieldJSCTextFieldQTextFieldan editable one line text field
ListViewSCListViewJSCListViewQListViewa list of text items
StaticTextSCStaticTextJSCStaticTextQStaticTexta text label
NumberBoxSCNumberBoxJSCNumberBoxQNumberBoxeditable number field
DragSourceSCDragSourceJSCDragSourceQDragSourceobject container acting as a source for drag-n-drop
DragSinkSCDragSinkJSCDragSinkQDragSinkobject container acting as a target for drag-n-drop
DragBothSCDragBothJSCDragBothQDragBothcombination of DragSource and DragSink
StethoscopeSCStethoscopeJStethoscopeQStethoscopeoscilloscope tool
ScopeViewSCScopeJSCScopeQScopeoscilloscope view
TabletViewSCTabletViewJSCTabletViewN/Aview for receiving graphic tablet data
TabletSlider2DSC2DTabletSliderN/AN/A2D slider with support for graphic tablet data
FreqScopeFreqScopeFreqScopeFreqScopespectrum tool
FreqScopeViewFreqScopeViewFreqScopeViewFreqScopeViewspectrum view
MultiSliderViewSCMultiSliderViewJSCMultiSliderViewQMultiSliderViewarray of sliders
EnvelopeViewSCEnvelopeViewJSCEnvelopeViewQEnvelopeViewbreakpoint envelope editor
UserViewSCUserViewJSCUserViewQUserViewview for user-defined drawing operations
SoundFileViewSCSoundFileViewJSCSoundFileViewQSoundFileViewwaveform view / editor for sound files
MovieViewSCMovieViewJSCMovieViewN/Acanvas for movie (QuickTime) and image display
TextViewSCTextViewJSCTextViewQTextViewmultiline text editor
N/ASCQuartzComposerViewN/AN/Aview for displaying QuartzComposer documents
N/ASCImageN/AN/Aan image component for the macOS
N/ASCImageFilterN/AN/Aa filter class to use with SCImage
N/ASCImageKernelN/AN/Aa kernel class to use with SCImage.
KnobSCKnobJKnobQKnoba knob view

Layout management

The following table contains classes used in layout management.

NOTE: This classes are only implemented in Qt GUI!
QLayoutThe abstract base class of all layouts.
QLineLayoutThe abstract base class of layouts that arrange items in a line.
HLayoutA layout that arranges items in horizontal line.
VLayoutA layout that arranges items in vertical line.
GridLayoutA layout that arranges items in a 2 dimensional grid.
StackLayoutA layout that stacks items on top of each other.

Other GUI classes

GenericCocoaGUISwingGUIQt GUIDescription
DialogCocoaDialogSwingDialogQDialogfile selection dialog management
FontSCFontJFontQFonta font typeface description.
PenSCPenJPenQPencustom drawing operations class
MouseXMouseXJMouseXMouseXUGen. JMouseX for backward compatiblility only.
MouseYMouseYJMouseYMouseYUGen. JMouseY for backward compatiblility only.
MouseButtonMouseButtonJMouseButtonMouseButtonUGen. JMouseButton for backward compatiblility only.
KeyStateKeyStateJKeyStateKeyStateUGen. JKeyState for backward compatiblility only.
use GUI.speechSpeechJSpeechN/Atext-to-speech synthesis management