eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'TabItem':

Home

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

Class: TabItem


Inheritance:

   Object
   |
   +--Model
      |
      +--TabItem

Package:
stx:libwidg2
Category:
Views-Support
Version:
rev: 1.47 date: 2019/05/30 07:44:04
user: cg
file: TabItem.st directory: libwidg2
module: stx stc-classLibrary: libwidg2
Author:
Claus Atzkern

Description:


describes one tab entry; could be used for tabs instead of a string. Whenever
a value changed, a change notification is raised


Related information:

    TabItemEditor
    TabView
    NoteBookView
    UIPainter

Class protocol:

instance creation
o  label: aLabel


Instance protocol:

accessing
o  accessCharacterPosition
get the index of the access character in the label text or string, or 0 if none

o  accessCharacterPosition: anIndex
set the index of the access character in the label

o  argument
returns a user defined argument or nil

o  argument: anArgument
set a user defined argument

o  createNewBuilder
returns true if a new builder is used to create the canvas;
the default is true

o  createNewBuilder: aBool
set/clear the flag which controls if a new ui-builder is used to create the canvas;
the default is true. This affects if the bindings will be shared or not between tabs.

o  destroyTabAction
if non-nil, this tab has its own private destroyButton.
This can be used for individual tabs; for an overall tab-destroy capability,
change the destroyTab: action of my owning tabView

o  destroyTabAction: aBlock
if non-nil, this tab has its own private destroyButton.
This can be used for individual tabs; for an overall tab-destroy capability,
change the destroyTab: action of my owning tabView

o  enabled
get the enabled state of the tab

o  enabled: aBoolean
set the enabled state of the tab

o  hasView

o  label
get the label or selector to access a label/bitmap. To get the label to be shown
use: #rawLabel

o  label: aLabel
set the label or selector to access the label/bitmap

o  nameKey
an additional (untranslated) key (do not use the label to identify tabs)

o  nameKey: aStringOrSymbol
an additional (untranslated) key (do not use the label to identify tabs)

o  shortcutKey
get the key to press to select the tab item from the keyboard; a symbol or nil

o  shortcutKey: aKeyOrNil
set the key to press to select the tab item from the keyboard; a symbol or nil

o  view

o  view: aView

accessing-canvas
o  canvas
returns the application or view. Creates one if not already present

o  canvasApplication
returns the application the canvas is running

o  canvasOrNil
returns the application or nil - does NOT create one

o  canvasView
returns the view the canvas is running in or nil if no canvas
specified or not yet created

o  destroyCanvas

o  majorKey

o  majorKey: aMajorKey

o  minorKey

o  minorKey: aMinorKey

o  setupCanvasView: aView
not horizontal scrollable - always set x to scrolled view x

accessing-color & font
o  foregroundColor
get the label color or nil

o  foregroundColor: aColor
set the label color or nil

o  labelForegroundColor
get the label color or nil

o  labelForegroundColor: aColor
set the label color or nil

accessing-scrollbars
o  autoHideScrollBars

o  autoHideScrollBars: aBoolOrNil

o  hasHorizontalScrollBar

o  hasHorizontalScrollBar: aBool

o  hasVerticalScrollBar

o  hasVerticalScrollBar: aBool

o  miniScrollerHorizontal

o  miniScrollerHorizontal: aBool

o  miniScrollerVertical

o  miniScrollerVertical: aBool

building
o  applicationProvidesLabel
returns true if the label is acquired from the application

o  applicationProvidesLabel: aBool
set/clear the flag which controls if the label is provided by the application

o  editAgument
used by TabItemEditor to get the argument

o  editAgument: anArgument
used by TabItemEditor to set the argument

o  rawLabel
returns the label to be shown

o  setAttributesFromClass: aClass
setup attributes from aClass
Ugly: used only with the tabListEditor.

o  setAttributesWithBuilder: aBuilder
setup attributes dependent on the builder

o  translateLabel
returns true if the label derives from the application

o  translateLabel: aBool
set/clear the flag which controls if the label is translated to a national language
via the applications resources

converting
o  skippedInLiteralEncoding
define the inst-slots which are skipped when generating a literalArrayEncoding;
(to skip the ones with default values.)

displaying
o  displayOn: aGC x: x y: y

o  heightOn: aGC

o  widthOn: aGC

help
o  activeHelpKey
the key used to ask the application for the tooltip text (via helpTextFor:)

o  activeHelpKey: aSymbolicKey
the key used to ask the application for the tooltip text (via helpTextFor:)

o  activeHelpText

o  activeHelpText: aString

queries
o  isCanvasApplicationModel
returns true if the canvas is an application model

o  isEnabled


Examples:


labels derived from item
|top tab|

top := StandardSystemView new label:'tabs at top'; extent:250@100.
tab  := TabView origin:0.0 @ 0.0 corner:1.0 @ 0.5 in:top.

tab direction:#top.
tab list:(#( 'Foo' 'Bar' 'Baz' ) collect:[:l| TabItem label:l ]).
tab action:[:aName|Transcript showCR:aName].
top open.
|top tab list item|

top := StandardSystemView new label:'tabs at top'; extent:400@400.
tab  := NoteBookView origin:0.0 @ 0.0 corner:1.0 @ 1.0 in:top.

tab direction:#top.
list := #( 'Foo' 'Bar' 'Baz' ) collect:[:l| TabItem label:l ].

item := list at:1.
item majorKey:ClockView.

item := list at:2.
item majorKey:CodingExamples_GUI::GUIDemoNoteBook.

item := list at:3.
item majorKey:CodingExamples_GUI::GUIDemoMenu.

tab list:list.
top open.
testing tab configuration and change notifications
|top tab list idx label|

top := StandardSystemView new label:'tabs at top'; extent:250@100.
tab  := TabView origin:0.0 @ 0.0 corner:1.0 @ 0.5 in:top.

tab direction:#top.
list := (#( 'Foo' 'Bar' 'Baz' ) collect:[:l| TabItem label:l ]).
tab list:list.
tab action:[:aName|Transcript showCR:aName].
top openAndWait.

[
    idx := 0.
    label := LabelAndIcon icon:(Image fromFile:('xpmBitmaps/document_images/tiny_yellow_dir.xpm' ))
                        string:'Test Tab'.

    [top shown] whileTrue:[
        |aTab lbl|

        (idx := idx + 1) > list size ifTrue:[idx := 1].

        aTab := list at:idx.
        lbl  := aTab label.

        Delay waitForSeconds:0.5. aTab label:label.
        Delay waitForSeconds:0.5. aTab enabled:false.
        Delay waitForSeconds:0.5. aTab enabled:true.
        Delay waitForSeconds:0.5. aTab foregroundColor:(Color red).
        Delay waitForSeconds:0.5. aTab foregroundColor:nil.
        aTab label:lbl.
    ]
] forkAt:1.


ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Sat, 27 Apr 2024 05:03:27 GMT