eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'SyncedMultiColumnTextView':

Home

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

Class: SyncedMultiColumnTextView


Inheritance:

   Object
   |
   +--GraphicsMedium
      |
      +--DisplaySurface
         |
         +--SimpleView
            |
            +--SyncedMultiColumnTextView
               |
               +--ThreeColumnTextView
               |
               +--TwoColumnTextView

Package:
stx:libwidg2
Category:
Views-Text
Version:
rev: 1.21 date: 2023/08/31 13:18:50
user: cg
file: SyncedMultiColumnTextView.st directory: libwidg2
module: stx stc-classLibrary: libwidg2

Description:


abstract superclass for multi-col textviews.
Scrolling is synced, by always scrolling all views.
This type of view is especially useful to show diff-lists,
code-versions, or other one-by-one viewable texts.

Usually, it does not make much sense, to put totally different
or unrelated texts into this kind of view.

See concrete examples in subclasses: TwoColumnTextView, DiffTextView etc.

copyright

COPYRIGHT (c) 1995 by Claus Gittinger 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  numberOfViews
return the number of the synced subViews.
Usually redefined in subclasses

o  textViewClass
return the type of the synced subViews.
Can be redefined in subclasses


Instance protocol:

accessing
o  textViewClass

o  textViewClass: aClass

o  textViews

change & update
o  update: something with: someArgument from: changedObject
(comment from inherited method)
an update request

initialization
o  initialize
https://expeccoalm.exept.de/D398735 - allow headless operation for DiffTextView regressinTests

queries
o  innerHeight
(comment from inherited method)
return the height of the view minus any 3D-shadow-borders

o  innerWidth
(comment from inherited method)
return the width of the view minus any 3D-shadow-borders

o  xOriginOfContents
(comment from inherited method)
return the x coordinate of the viewOrigin in pixels;
used by scrollBars to compute thumb position within the document.

o  yOriginOfContents
(comment from inherited method)
return the y coordinate of the viewOrigin in pixels;
used by scrollBars to compute thumb position within the document.

queries-contents
o  heightOfContents
(comment from inherited method)
return the height of the contents in logical units
- defaults to view's visible area here.
This method MUST be redefined in all view classess which are
going to be scrolled AND show data which has different size than
the view. For example, a view showing A4-size documents should return
the number of vertical pixels such a document has on this device.
A view showing a bitmap of height 1000 should return 1000.
If not redefined, scrollbars have no way of knowing the actual size
of the contents being shown. This is called by scrollBars to compute
the relative height of the document vs. the view's actual size.
The value returned here must be based on a scale of 1, since users
of this will scale as appropriate.

o  widthOfContents
(comment from inherited method)
return the width of the contents in logical units
- defaults to views visible area here.
This method MUST be redefined in all view classess which are
going to be scrolled AND show data which has different size than
the view. For example, a view showing A4-size documents should return
the number of horizontal pixels such a document has on this device.
A view showing a bitmap of width 500 should return 500.
If not redefined, scrollbars have no way of knowing the actual size
of the contents being shown. This is called by scrollBars to compute
the relative width of the document vs. the view's actual width.
The value returned here must be based on a scale of 1, since users
of this will scale as appropriate.

scrolling
o  scrollDown: nLines
scroll all of my views simultaneously
(forwarded from my scrollbar)

o  scrollDownLines: nLines
the others will follow magically

o  scrollHorizontalToPercent: p
since the percentage given is based on the widest text
of my subvies, scroll the view containing the widest first,
and take that scroll-offset for the others.

o  scrollLeft
the others will follow magically

o  scrollLeft: nPixels
the others will follow magically

o  scrollRight
the others will follow magically

o  scrollRight: nPixels
the others will follow magically

o  scrollToLine: lineNr
the others will follow magically

o  scrollUp: nLines
the others will follow magically

o  scrollUpLines: nLines
the others will follow magically

o  scrollVerticalToPercent: p
since the percentage given is based on the longest text
of my subvies, scroll the view containing the longest first,
and take that scroll-offset for the others.

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



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 21 Dec 2024 17:06:14 GMT