eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'DSVColumnView':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: DSVColumnView


Inheritance:

   Object
   |
   +--GraphicsMedium
      |
      +--DisplaySurface
         |
         +--SimpleView
            |
            +--View
               |
               +--DSVColumnView

Package:
stx:libwidg2
Category:
Views-DataSet
Version:
rev: 1.391 date: 2023/11/26 19:10:23
user: cg
file: DSVColumnView.st directory: libwidg2
module: stx stc-classLibrary: libwidg2

Description:


ColumnView part of a DataSetView.
implements a scrollable selection view based on rows and columns.
Used as the contents-part of a DataSetView.

[Instance variables:]

    editValue               <Model>                 current editing model
    editView                <View>                  current editing component

    buttonReleaseAction     <Action or nil>         called if the mouse button is released
    buttonMotionAction      <Action or nil>         called during mouse motion with one
                                                    argument the point under the mouse.

    multipleSelectOk        <Boolean>               multiple selection enabled/disabled

    selectedColIndex        <Integer>               selected column index or 0
    selectedRowIndex        <Integer>               selected row    index or 0

    rowHeight               <Integer>               maximum height of any row
    minRowHeight            <Integer>               minimum height of all displayed labels

    columnDescriptors       <SequancableCollection> list of column descriptors

    viewOrigin              <Point>                 current view origin

    colorMap                <Dictionary>            store and register used colors on device

    rowFontAscent           <SmallInteger>          inset of a printable text in a row
                                                    including separator and font ascent.

    lockRowIndex            <SmallInteger>          internal used to indicate a row which has
                                                    changed its contents but no redraw should be
                                                    done( at:put: ).

    columnHolder            <ValueHolder>           holder which keeps the list of column descriptors.

    registererImages        <IdentityDictionary>    list of images registered on the device

    list                    <SequancableCollection> list of rows


    catchChangeEvents       <Boolean>               internal used to discard change notifications

    beDependentOfRows       <Boolean>               keep rows dependent; by default is disabled.
                                                    in case of enabled a row can raise a change
                                                    notification whithout a parameter which
                                                    will force a redraw of the row or the
                                                    readSelector of the column which will
                                                    redraw the cell in the row only.

    fgColor                 <Color>                 foreground color
    bgColor                 <Color>                 background color
    hgLgFgColor             <Color>                 highlight foreground color (selected)
    hgLgBgColor             <Color>                 highlight background color (selected)

    buttonLightColor        <Color>                 LightColor      ( drawing the edge of a button )
    buttonShadowColor       <Color>                 ShadowColor     ( drawing the edge of a button )
    buttonHalfLightColor    <Color>                 HalfLightColor  ( drawing the edge of a button )
    buttonHalfShadowColor   <Color>                 HalfShadowColor ( drawing the edge of a button )

    actionBlock             <a OneArgBlock>         action block performed on select
    doubleClickActionBlock  <a OneArgBlock>         action block performed on double click
    rowIfAbsentBlock        <a OneArgBlock>         this block is performed on an empty list entry
                                                    to retrive the item from the application. The
                                                    argument to the block is the index into the list.
                                                    The block should return the row instance which
                                                    is put to the list under the index.

    builder                 <UIBuilder>             builder set by application

    verticalSpacing         <SmallInteger>          vertical   row spacing( top  & bottom )
    horizontalSpacing       <SmallInteger>          horizontal row spacing( left & right )
    separatorSize           <SmallInteger>          line width of a vertical or horizontal separator

    rowSelectorForm         <Form>                  form used by a row selector

    checkToggleForm         <Form>                  form used by a checkToggle
    checkToggleExtent       <Point>                 extent of a checkToggle
    checkToggleLevel        <SmallInteger>          level used to draw a check toggle

    comboButtonForm         <Form>                  form used by a comboList or -Box
    comboButtonExtent       <Point>                 extent of a comboList or -Box
    comboButtonLevel        <SmallInteger>          level used to draw a comboList or -Box

    dropTarget              <DropTarget>            drag & drop target
    dropSource              <DropSource>            drag & drop source

copyright

COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred.

Class protocol:

defaults
o  defaultFont

o  horizontalSpacing
returns the default horizontal space between rows

o  preselectAllWhenOpeningEditor: aBoolean

o  updateStyleCache
extract values from the styleSheet and cache them in class variables

Usage example(s):

     self updateStyleCache.

o  verticalSpacing
returns the default vertical space between rows

image specs
o  dragIconMulti
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self dragIconMulti inspect
     ImageEditor openOnClass:self andSelector:#dragIconMulti
     Icon flushCachedIcons

o  dragIconSingle
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self dragIconSingle inspect
     ImageEditor openOnClass:self andSelector:#dragIconSingle
     Icon flushCachedIcons

o  rowSelectorImage
This resource specification was automatically generated
by the ImageEditor of ST/X.

Usage example(s):

     self rowSelectorImage inspect
     ImageEditor openOnClass:self andSelector:#rowSelectorImage
     Icon flushCachedIcons

signal constants
o  stopRedrawSignal
returns the signal which is raised during drawing if the
required label height is less than the current rowHeight


Instance protocol:

accessing
o  builder
get the builder (UIBuilder or nil)

o  builder: aBuilder
set the builder (UIBuilder or nil)

o  columnView
returns self

o  labelView

o  labelView: aView

o  level: aLevel
change the level and thus the level of the labelView

Usage example(s):

labelView level:aLevel.

o  preferredLabelViewHeight
+ (labelView margin + self verticalSpacing * 2).

o  rowFontAscent
returns the inset of a printable text in a row

o  selectedColIndex: newSelectedColIndex

o  selectedColIndexHolder

accessing-actions
o  action: aOneArgAction
set the action block to be performed on select

o  doubleClickAction: aOneArgAction
set the action block to be performed on doubleclick

o  rowIfAbsent: aOneArgAction
set the action block to be performed on each 'nil' entry into the
list. The argument to the block is the index into the list. The
block returns the row which is put to the list

o  selectConditionBlock
get the select-conditionBlock; this block is evaluated before
any selection change is performed (passing the to-be-changed row number
index as arg).
The change will not be done, if the block returns false.

o  selectConditionBlock: aOneArgBlockOrNil
set the select-conditionBlock; this block is evaluated before
any selection change is performed (passing the to-be-changed row number
index as arg).
The change will not be done, if the block returns false.

o  tabAtEndAction: aNoneArgAction
set the action, called without any argument at end of the list entering
tab next.
The default is to give the focus to the view after self in the focusSequence

o  tabAtStartAction: aNoneArgAction
set the action, called without any argument at start of the list entering
tab previous.
The default is to give the focus to the view before self in the focusSequence

accessing-behavior
o  autoScrollToColumn
return true, if I scroll to the column, when one is selected.

o  autoScrollToColumn: aBoolean
control, if I should scroll to the column, when one is selected.
The default is true

o  beDependentOfRows
make myself dependent of any row; in this case any change notification
raised by a row is catched and the cell identified by the 'readSelector'
is redrawn. In case of a nil readSelector, the whole raw is redrawn.
-> row changed:'what'
By default, the attribute is set to false (disabled).

o  beDependentOfRows: aBool
make myself dependent of any row; in this case any change notification
raised by a row is catched and the cell identified by the 'readSelector'
is redrawn. In case of a nil readSelector, the whole raw is redrawn.
-> row changed:'what'
By default, the attribute is set to false (disabled).

o  enableChannel: aChannel
(comment from inherited method)
set the valueHolder, which holds the enable boolean value

o  ignoreReselect
controls if clicking on an already selected item should
be ignored or should perform the select action again.
By default, these are ignored

o  ignoreReselect: aBoolean
controls if clicking on an already selected item should
be ignored or should perform the select action again.
By default, these are ignored

o  makeDependentOfRows
make myself dependent of any row

o  makeIndependentOfRows
make myself independent of any row

o  multipleSelectOk
allow/disallow multiple row selections; the default is false

o  multipleSelectOk: sBoolean
allow/disallow multiple row selections; the default is false

o  opaqueColumnResize

o  opaqueColumnResize: aBoolean

o  scrollWhenUpdating
return the scroll behavior, when I get a new text
(via the model or the #contents/#list)
Possible returnValues are:
#keep / nil -> no change
#endOfText -> scroll to the end
#beginOfText -> scroll to the top
The default is #beginOfText.
This may be useful for fields which get new values assigned from
the program (i.e. not from the user)

o  scrollWhenUpdating: aSymbolOrNil
define how to scroll, when I get a new text
(via the model or the #contents/#list)
Allowed arguments are:
#keep / nil -> no change
#endOfText -> scroll to the end
#beginOfText -> scroll to the top
The default is #beginOfText.
This may be useful for fields which get new values assigned from
the program (i.e. not from the user)

o  selectRowOnDefault
if true, in case of selecting a none selectable cell, the row is selected.
If false, nothing is selected. The default is true.

o  selectRowOnDefault: aBool
if true, in case of selecting a none selectable cell, the row is selected.
If false, nothing is selected. The default is true.

o  sortListInPlace
when false (default for backward compatibility):
if sorting, create a copy
of the list, which is wrong when useIndex is on,
as the application will get the index in the sorted
list, which is probably different from tha apps list mode.
When true (should be default, but that might break many
users), the passed in list is sorted in place (i.e. possibly
sorting the application's list).

o  sortListInPlace: aBoolean
when false (default for backward compatibility):
if sorting, create a copy
of the list, which is wrong when useIndex is on,
as the application will get the index in the sorted
list, which is probably different from tha apps list mode.
When true (should be default, but that might break many
users), the passed in list is sorted in place (i.e. possibly
sorting the application's list).

o  tabIntern
returns true if tabing is supported in the widget

o  tabIntern: aBool
returns true if tabing is supported in the widget

o  updateListHolderWhenSorting
return true if the the listHolder's value are be updated,
when I sort a list.
By default, this is false so it must be set explicitly
(for bug-backward compatibility,
and to avoid introducing new side effects).

o  updateListHolderWhenSorting: aBoolean
define if the the listHolder's value should be updated,
when I sort a list.
By default, this is false so it must be set explicitly
(for bug-backward compatibility,
and to avoid introducing new side effects).

o  useIndex
specify, if the selected components value or its index in the
list should be sent to the model. The default is its index.

o  useIndex: aBool
specify, if the selected components value or its index in the
list should be sent to the model. The default is its index.

accessing-channels
o  modifiedChannel

o  modifiedChannel: something

accessing-color & font
o  backgroundColor
get the background color of the rows

o  backgroundColor: aColor
set the background color of the rows

o  foregroundColor
return the foreground color of the rows

o  foregroundColor: aColor
set the foreground color of the rows

o  labelBackgroundColor
get the background color of the label row

o  labelForegroundColor
get the foreground color of the label row

o  selectionBackgroundColor
returns the background color of a selected row

o  selectionForegroundColor
returns the foreground color of a selected row

o  selectionFrameColor
returns the frame color of a selected row

o  separatorDarkColor
returns the dark color used for drawing a shadowed separator (3D)

o  separatorLightColor
returns the light color used for drawing a shadowed separator (3D)

o  separatorOneDColor
returns the color used for drawing a oneD separator

o  separatorOneDColor: aColorOrNil
set the color used for drawing a oneD separator; if the color
is nil, the current forgroundColor is used

accessing-columns
o  columnAt: anIndex
returns the column at an index

** This is an obsolete interface - do not use it (it may vanish in future versions) **

o  columnDescriptorAt: anIndex
returns the columnDescriptor at an index

o  columnDescriptors
returns list of column descriptors

o  columnDescriptors: aColumnDescriptionList
set the columnDescriptors;
scroll to top and deselect

o  columnDescriptors: aColumnDescriptionList deselect: deselect scrollToTop: scrollToTop
set the columnDescriptors;
if deselect is true, then deselect;
if scrollToTop is true, then scroll to top;
otherwise, take the current selection and try to make it visible

o  columnDescriptors: aColumnDescriptionList scrollToTop: scrollToTop
set the columnDescriptors and deselect;
if scrollToTop is true, then scroll to top;
otherwise, take the current selection and try to make it visible

o  dataSetColumns
returns the list of DataSetColumns; each column represents a DataSetColumnSpec

o  firstColumn
returns the first column

o  lastColumn
returns the last column

o  setColumnDescriptors: aColumnDescriptionList
set the columnDescriptors; don't deselect and do not scroll to top

accessing-interactors
o  checkToggleActiveImage

o  checkToggleExtent
returns the extent of a checkToggle

o  checkToggleForm
returns the form of a checkToggle

o  checkToggleLevel
returns the level of a checkToggle button

o  checkTogglePassiveImage

o  comboButtonExtent
returns the extent of a comboList or -Box

o  comboButtonForm
returns the form of a comboList or -Box

o  comboButtonLevel
returns the level of a comboList or -Box button

o  radioButtonExtent
returns the extent of a radio button

o  rowSelectorExtent
returns the bitmap of a selected row

o  rowSelectorForm
returns the (arrow-) image shown for a selected row.
(the arrow shown in the first column)

accessing-mvc
o  columnAdaptor
If non-nil, messages to fetch/store columns from a model-list's element
will be sent to the adapter (i.e. it can map or compute values).
Use #yourself to let the application itself access the columns.
Use nil or leave empty, to have messages been sent directly to the row element.
The per-column getter/setter messages are specified in the columnSpecification.

o  columnAdaptor: usuallyAnApplication
If non-nil, messages to fetch/store columns from a model-list's element
will be sent to the adapter (i.e. it can map or compute values).
Use #yourself to let the application itself access the columns.
Use nil or leave empty, to have messages been sent directly to the row element.
The per-column getter/setter messages are specified in the columnSpecification.

o  columnHolder
get the valueHolder, which keeps the list of column descriptions

o  columnHolder: aValueHolder
set the valueHolder, which keeps the list of column descriptions

o  listAt: index put: newElement
kludge callback, when an element hs to be replaced
due to a col-adaptor returning a new row element

o  listHolder
get the valueHolder which holds the list of rows

o  listHolder: aListHolder
set the valueHolder which holds the list of rows

o  model: aModel
set the valueHolder which holds the selection and maybe the list of rows

accessing-rows
o  at: aRowNr
return the row at an index, aRowNr

o  at: aRowNr ifAbsent: exceptionBlock
return the row at a aRowNr. If the index is invalid, return the
result of evaluating the exceptionblock

o  at: aRowNr put: aRow
change the row at an index. The added row is returned

o  first
return the first row

o  identityIndexOfRow: aRow
returns index of a row or 0

o  last
return the last row

o  list
get the list of rows

o  list: aRawList
set the list of rows

accessing-visibility
o  font: aFont
set the font for all shown rows.

o  has3Dseparators
returns true if shown in 3D mode

o  has3Dseparators: aBool
enable or disable 3D mode

o  horizontalSpacing
horizontal spacing used by columns

o  horizontalSpacing: aNumber
horizontal spacing used by columns

o  showLabels
control the labels view to be visible or unvisible

o  showLabels: aBoolean
control the labels view to be visible or unvisible

o  verticalSpacing
vertical spacing used by columns

o  verticalSpacing: aNumber
vertical spacing used by columns

adding & removing rows
o  add: aRow
insert aRow at the end (i.e. append)

o  add: aRow afterIndex: rowNrToInsertAfter
add a new row after slot aRowNr and redisplay; returns nil in case
of an invalid index or the row

o  add: aRow beforeIndex: rowNrToInsertBefore
add a new row before slot aRowNr and redisplay; returns nil in case
of an invalid index or the row

o  addAll: aCollectionOfRows beforeIndex: rowNrToInsertBefore
add a collection of rows before index rowIndexToInsertBefore and redisplay

o  addFirst: aRow
insert a row at start

o  remove: aRow
remove a row

o  removeFirst
remove first row; returns the removed row

o  removeFrom: startIndex to: stopIndex
remove rows from start to stop

o  removeIndex: aRowNr
remove row at an index.
Returns the removed row

o  removeLast
remove last row; the row is returned

o  replaceFrom: start to: stop with: aCollection startingAt: repStart
replace elements in the receiver between index start and stop,
with elements taken from aCollection starting at repStart.
Return the receiver.

change & update
o  changeWidthOfColumn: aColumn deltaX: aDeltaX

o  update: anAspect with: aParameter from: changedObject
one of my rows/cells changed its value

o  updateColumnFromEditValue
turn off the other column

o  updateEditorFromChangedRow

o  updateList

drag & drop
o  canDrag
returns true if dragging is enabled

o  canStartDragAt: aPoint clickedAt: clickPoint

o  dragAutoScroll: aDropContext
called by the DragAndDropManager to scroll during a drag/drop operation
if required (decided by the widget itself).
If a scroll is done, return true;
otherwise false (used to restore the background)

o  dropSource
returns the dropSource or nil

o  dropSource: aDropSourceOrNil
set the dropSource or nil

o  startDragAt: aPoint

drawing
o  colorOnDevice: aColor
returns color on device

o  forceRedraw
a redraw forced by any other component

o  invalidate
recompute extent before repair range

o  invalidateRowAt: aRowNr
redraw total row at an index

o  invalidateRowAt: aRowNr colAt: aColNr
redraw either a single column in a row,
or the complete visible row (in case of aColNr == 0).
If the row/column is hidden, no redraw is done

o  invalidateRows: aCollection
redraw some visible rows

o  invalidateRowsFrom: aStart to: aStop
redraw visible row from start to stop

o  invalidateSelection
invalidate (force async redraw) the current selection

o  invalidateVisibleRow: aRow
redraw row if visible

o  invalidateVisibleRow: aRow colAt: aColNr
redraw either a single column in a row,
or the complete visible row (in case of aColNr == 0).
If the row/column is hidden, no redraw is done

o  invalidateVisibleRow: aRow readSelector: aSelector
redraw a column identified by its read selector; if no column with
the specified read selector is detected, the whole line is drawn.

o  redrawX: x y: y width: w height: h
redraw part of myself immediately, given logical coordinates

drawing interactors
o  displayLabel: aLabel x: xLeft y: yTop
display the label at x y; test whether the height of the label matches to the current
rowHeight. If not, an exception is raised and the rowHeight is recomputed

o  drawCheckToggleAtX: xLeft y: yTop w: cellWidth state: cellValue
draw a check toggle button

o  drawComboButtonAtX: xTop y: yTop w: rowWidth
draw a combo button

o  drawEdgesAtX: x y: y width: w height: h level: aLevel on: aGC
draw edges for a cell or label

o  drawRadioButtonAtX: xLeft y: yTop w: cellWidth state: aBooleanOrNil
draw a radio button

enumerating columns
o  columnsDo: aOneArgBlock
evaluate the argument, aOneArgBlock for every columnDescriptor

o  columnsFrom: start to: stop do: aOneArgBlock
evaluate the argument, aOneArgBlock for the columns with index start to
stop in the collection of column descriptors

event handling
o  buttonControlPressAt: clickPoint rowNr: aRowNr colNr: aColNr

o  buttonMotion: buttonMask x: x y: y
mouse-move while button was pressed - handle multiple selection changes

o  buttonMultiPress: button x: x y: y
a button was pressed twice - handle doubleclick here

o  buttonPress: button x: x y: y
a button was pressed - handle selection here

o  buttonRelease: button x: x y: y
(comment from inherited method)
button was released - check my components for a hit.

o  buttonShiftPressAt: clickPoint rowNr: aRowNr colNr: aColNr
toggle column selection

o  characterPress: aChar x: x y: y
search row in column at x/y starting its printable label with character.

o  contentsChanged
size of contents changed - move origin up if possible

o  cursorKey: aKey rawKey: rawKey
aKey == #BeginOfLine or:[

o  doubleClicked
handle a double click

o  findMenuForSelection
find the middle button menu for the current selection; returns the menu or nil

o  keyPress: aKey x: x y: y
a key was pressed - handle page-keys here

o  keyboardZoom: largerBoolean
ALT+/- (was: CTRL+/-) zoom action

o  mouseWheelZoom: amount
CTRL-wheel action

o  originChanged: delta
this one is sent, after the origin of my contents has changed -
tell dependents (i.e. scrollers) about this

o  scrollToEnd

o  sizeChanged: how from: oldExtentOrNil
my view has changed the size (not the contents);
move origin up if possible
change the layout of the labelView dependent on my layout

o  visibilityChange: how
expeccoalm.exept.de/D521870
TableColumnView / DSV View: initiale ColumnWidth falsch

focus handling
o  canTab
(comment from inherited method)
returns true if the widget is tabable

o  showFocus: explicit
(comment from inherited method)
highlight myself somehow to tell user that I have the focus.
If explicit is true, the focus came via focusStepping (i.e. tabbing);
if false, it came via the window manager (i.e. pointer entering).
Only change my border, if this is an explicit focusChange.

o  showNoFocus: explicit
(comment from inherited method)
undo the effect of showFocus.
Explicit tells if the focus came via focusStepping (i.e. tabbing)
or via the window manager (i.e. pointer entering).
Only change my border, if this is an explicit focusChange.

o  wantsFocusWithPointerEnter
views which like to take the keyboard focus
when the pointer enters can do so by redefining this
to return true

gc operations
o  imageOnMyDevice: anImage
associate image to device and returns the new image.

o  registerImage: anImage key: aKey
any row can register an image with a unique identifier a key symbol

o  registeredImageAt: aKey
any row can register an image with a unique identifier

o  releaseAllRegisteredImages
release all registered images

help
o  helpTextAt: aPoint
return the helpText for aPoint (i.e. when mouse-pointer is moved over an item).

initialization & release
o  create
(comment from inherited method)
create (i.e. tell my device about me) if not already created.
This does not make the view visible (needs a #map for that)

o  initStyle
setup colors, etc.

o  initialize
set default attributes

o  mapped
set selection (if any) after mapping

o  realize
recompute contents and fit columns to view

o  release
remove dependencies

obsolete
o  has3Dsepartors
shouldn't be used any more

** This is an obsolete interface - do not use it (it may vanish in future versions) **

o  has3Dsepartors: aBool
shouldn't be used any more

** This is an obsolete interface - do not use it (it may vanish in future versions) **

private
o  anyColumnHasBackground

o  anyColumnHasPotentialNonConstantBackground
columnDescriptors do:[:eachCol | eachCol hasPotentialNonConstantBackground ifTrue:[^ true]].

o  destroyEditView
destroy the edit view; release KeyboardForwarder

o  detectViewAt: aPoint in: aView
returns the view at a point

o  fitColumns
fit columns to view;

Usage example(s):

have to invalidate unconditionally even if nothing has been changed here:
         #fitColumns is called from #changeWidthOfColumn:deltaX:
         after a manual resize

o  hasSelectables

o  maxViewOriginY
returns the maximum possible y of the view origin

o  updateEditViewOrigin
update origin of the editView

o  xVisibleOfColNr: aColNr
returns visible x assigned to a column number

o  xVisibleToColNr: x
returns the column number for a physical x position.
Returns nil if x is beyond the last column.

o  yVisibleOfRowNr: aRowNr
returns visible y assigned to the row number

o  yVisibleToRowNr: y
returns the row number assigned to a physical y or nil

queries
o  firstLineShown
for protocol-compat. with listviews

o  hasOpenEditor

o  indexOfFirstRowShown
returns the index of the first shown row

o  indexOfLastRowShown
returns the index of the last shown row

o  isEnabled
(comment from inherited method)
return true, if this view is enabled (i.e. accepts user interaction).
Most views are enabled - only a few (buttons, SelectionInList etc.) can
be disabled.
#isEnabled is ST-80's equivalent of #enabled

o  isRowSelectable: aRowNumber
returne true if a row number is selectable

o  numberOfColumns
returns number of columns

o  numberOfRows
returns number of rows

o  rowHeight
get the height of the highest row in pixels

o  separatorSize
returns vertical/horizontal size of a separator dependent on the
3D effect.

o  size
returns number of rows

o  yVisibleToLineNr: yVisible

queries-contents
o  heightOfContents
return the height of the contents in pixels

o  widthOfContents
return the width of the contents in pixels

recomputation
o  computePreferredExtent
return my preferred extent

o  computeRowHeight
to fix a double bug which compensated for not computing things correctly

o  hasPreferredExtent
returns true if preferred extent is accumulated

o  preferredExtentChanged
called if the preferred extent changed

o  recomputeHeightOfContents
recompute height of contents( scrolling )

scroller interface
o  innerHeight
returns the inner height of the contents shown

o  verticalScrollStep
return the amount to scroll when stepping up/down (also used for mouseWheel).

o  viewOrigin
return the viewOrigin;
that's the coordinate of the contents which is shown topLeft in the view.

o  xOriginOfContents
return the horizontal origin of the contents in pixels

o  yOriginOfContents
return the vertical origin of the contents in pixels

scrolling
o  scrollTo: anOrigin redraw: doRedraw
change origin to have newOrigin be visible at the top-left.

o  scrollToLine: aLineNr
for compat. with listViews

o  scrollToRowAt: aRowNr colAt: aColNr
make row at a row number in column at a column number visible

o  scrollToSelection
make selection visible

o  scrollVerticalTo: aPixelOffset
change origin to make aPixelOffset be the top line

o  startAutoScroll: aSelectorOrBlock distance: aDistance
setup for auto-scroll (when button-press-moving below/above view);
- timeDelta for scroll is computed from distance

o  stopAutoScroll
stop any autoScroll

searching
o  findFirstColumnWithStringFrom: start to: stop

o  findFirstRowFrom: start to: stop withString: aString inColumn: colNr

o  findFirstRowWithString: aString from: start to: stop by: step ignoreCase: ignoreCase
Return the rowNr from the first row that matches aString.
The search is performed between the start and stop row numbers and incrementing by a step

o  findFirstRowWithString: aString from: start to: stop ignoreCase: ignoreCase
Return the rowNr from the first row that matches aString.
The search is performed between the start and stop row numbers

o  findFirstRowWithString: aString inColumn: colNr

selection
o  addRowToSelection: aRowNr
add a row to the selection
if a column is selected, the column will be closed

o  deselect

o  firstIndexSelected
returns index of first row selected or 0

o  forceAcceptInEditor

o  hasRowSelection
returns true if a selection exists, and its a complete row
(as opposed to either no selection, or a columnSelection)

o  hasSelection
returns true if a selection exists

o  isInSelection: aRowNr
returns true, if row, aRowNr is in the selection

o  isRowSelected: aRowNr
returns true, if row is in the selection

o  isRowVisible: aRowNr

o  isSelected: aRowNr inColumn: aColNr
returns true if cell in a row; a row number, in a column, a column
number is selected.

o  isSelectionVisibleIn: anExtentPoint

o  lastIndexSelected
returns index of last selected row or 0

o  makeLineVisible: aLineNr
scroll to make aLineNr visible;
if it is already visible, do nothing

o  makeSelectionVisible
scroll to make the selection line visible;
cg@ca: not exactly clear, what happens, if it is already visible
does it scroll it to the top, the bottom, or does it not scroll at all?

o  maxIndexSelected
return the largest index selected or 0

o  minIndexSelected
return the smallest index selected or 0

o  numberOfSelections
return the number of selected rows

o  openEditorOnSelection
editorAndModel acceptAction value:nil.

o  processAllExposeEvents

o  removeRowFromSelection: aRowNr
remove a row from the selection

o  selectAllRows
select all

o  selectColIndex: aColNr rowIndex: aRowNr
change selection to a single column, possibly opening an editor there.
With notification

o  selectColIndex: aColNr rowIndex: aRowNr openEditor: openEditor
change selection to a single column, possibly opening an editor there.
With notification

o  selectRow: anInteger
select a row

o  selectRowAt: rowNr colAt: colNr atPoint: aPoint

o  selectRowAt: rowNr colAt: colNr atPoint: aPoint openEditor: openEditor
might be a reselection

o  selectRowFrom: start to: stop

o  selectRowIndex: anInteger
set the selected row (selected col remains unchanged)

o  selectedColIndex
returns selected column number or 0

o  selectedColumn
returns selected column or nil

o  selectedRow
returns the selected row (or collection if multiple selection) or nil

o  selectedRow: rowNr
select rowNr

o  selectedRowIndex
bad name: may return a collection (if multiSelect is enabled)
returns the selected row number or 0 (if singleSelect)
or a collection of selected row numbers or #() (if multiSelect)

o  selectedRowIndex: rowNrOrCollectionOfRowNrs
set the row selection (single or multiple rows);
does NOT change the selected column.

o  selectionChanged
selection has changed

o  selectionChanged: colNrOrNil
selection has changed

o  selectionIndicesDo: aOneArgBlock
evaluate block on each row selected; the argument to the row
is the index of the selected row

o  setSelectColIndex: colNrArg rowIndex: rowNrArg
change selection without notification

o  setSelectColIndex: colNrArg rowIndex: rowNrArg openEditor: openEditor
change selection without notification

o  updateColumnFromEditValueAndDestroyEditView
??? should we do ???:

o  validateSelection: aSelection
multiple selection



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Thu, 10 Oct 2024 10:47:20 GMT