TabItem.st
author Claus Gittinger <cg@exept.de>
Sat, 02 May 2020 19:50:29 +0200
changeset 6244 2050c2ab251c
parent 6182 ff49f5c3a2e9
permissions -rw-r--r--
#REFACTORING by cg class: HierarchicalItem::Example changed: #children (send #label:icon: instead of #labeled:icon:, send #label: instead of #labeled:) class: HierarchicalItem::Example class added: #label: #label:icon: changed: #labeled: #labeled:icon:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5879
5b0a27e520cc #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5682
diff changeset
     1
"{ Encoding: utf8 }"
5b0a27e520cc #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5682
diff changeset
     2
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
     3
"
e065c08b2a69 initial checkin
ca
parents:
diff changeset
     4
 COPYRIGHT (c) 1997 by eXept Software AG
e065c08b2a69 initial checkin
ca
parents:
diff changeset
     5
              All Rights Reserved
e065c08b2a69 initial checkin
ca
parents:
diff changeset
     6
e065c08b2a69 initial checkin
ca
parents:
diff changeset
     7
 This software is furnished under a license and may be used
e065c08b2a69 initial checkin
ca
parents:
diff changeset
     8
 only in accordance with the terms of that license and with the
e065c08b2a69 initial checkin
ca
parents:
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    10
 be provided or otherwise made available to, or used by, any
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    11
 other person.  No title to or ownership of the software is
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    12
 hereby transferred.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    13
"
1777
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
    14
"{ Package: 'stx:libwidg2' }"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
    15
5153
32e47e338a49 #OTHER by mawalch
mawalch
parents: 4649
diff changeset
    16
"{ NameSpace: Smalltalk }"
32e47e338a49 #OTHER by mawalch
mawalch
parents: 4649
diff changeset
    17
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    18
Model subclass:#TabItem
3191
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
    19
	instanceVariableNames:'view rawLabel label enabled argument canvas activeHelpText
3416
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
    20
		translateLabel applicationProvidesLabel shortcutKey majorKey
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
    21
		minorKey miniScrollerVertical miniScrollerHorizontal
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
    22
		hasVerticalScrollBar hasHorizontalScrollBar foregroundColor
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
    23
		createNewBuilder autoHideScrollBars accessCharacterPosition
4159
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
    24
		activeHelpKey builder nameKey destroyTabButtonAction
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
    25
		destroyTabAction'
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    26
	classVariableNames:''
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    27
	poolDictionaries:''
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    28
	category:'Views-Support'
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    29
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    30
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    31
!TabItem class methodsFor:'documentation'!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    32
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    33
copyright
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    34
"
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    35
 COPYRIGHT (c) 1997 by eXept Software AG
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    36
              All Rights Reserved
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    37
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    38
 This software is furnished under a license and may be used
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    39
 only in accordance with the terms of that license and with the
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    40
 inclusion of the above copyright notice.   This software may not
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    41
 be provided or otherwise made available to, or used by, any
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    42
 other person.  No title to or ownership of the software is
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    43
 hereby transferred.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    44
"
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    45
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    46
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    47
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    48
documentation
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    49
"
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    50
    describes one tab entry; could be used for tabs instead of a string. Whenever
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    51
    a value changed, a change notification is raised
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    52
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    53
    [see also:]
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    54
        TabItemEditor
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    55
        TabView
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    56
        NoteBookView
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    57
        UIPainter
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    58
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    59
    [author:]
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    60
        Claus Atzkern
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    61
"
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    62
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    63
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    64
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    65
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    66
examples
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    67
"
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    68
    labels derived from item
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    69
                                                                                [exBegin]                                      
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    70
    |top tab|
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    71
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    72
    top := StandardSystemView new label:'tabs at top'; extent:250@100.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    73
    tab  := TabView origin:0.0 @ 0.0 corner:1.0 @ 0.5 in:top.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    74
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    75
    tab direction:#top.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    76
    tab list:(#( 'Foo' 'Bar' 'Baz' ) collect:[:l| TabItem label:l ]).
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    77
    tab action:[:aName|Transcript showCR:aName].
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    78
    top open.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    79
                                                                                [exEnd]
e065c08b2a69 initial checkin
ca
parents:
diff changeset
    80
3516
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    81
                                                                                [exBegin]                                      
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    82
    |top tab list item|
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    83
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    84
    top := StandardSystemView new label:'tabs at top'; extent:400@400.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    85
    tab  := NoteBookView origin:0.0 @ 0.0 corner:1.0 @ 1.0 in:top.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    86
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    87
    tab direction:#top.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    88
    list := #( 'Foo' 'Bar' 'Baz' ) collect:[:l| TabItem label:l ].
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    89
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    90
    item := list at:1.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    91
    item majorKey:ClockView.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    92
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    93
    item := list at:2.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    94
    item majorKey:CodingExamples_GUI::GUIDemoNoteBook.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    95
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    96
    item := list at:3.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    97
    item majorKey:CodingExamples_GUI::GUIDemoMenu.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    98
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
    99
    tab list:list.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
   100
    top open.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
   101
                                                                                [exEnd]
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   102
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   103
    testing tab configuration and change notifications
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   104
                                                                                [exBegin]                                      
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   105
    |top tab list idx label|
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   106
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   107
    top := StandardSystemView new label:'tabs at top'; extent:250@100.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   108
    tab  := TabView origin:0.0 @ 0.0 corner:1.0 @ 0.5 in:top.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   109
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   110
    tab direction:#top.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   111
    list := (#( 'Foo' 'Bar' 'Baz' ) collect:[:l| TabItem label:l ]).
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   112
    tab list:list.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   113
    tab action:[:aName|Transcript showCR:aName].
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   114
    top openAndWait.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   115
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   116
    [
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   117
        idx := 0.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   118
        label := LabelAndIcon icon:(Image fromFile:('xpmBitmaps/document_images/tiny_yellow_dir.xpm' ))
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   119
                            string:'Test Tab'.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   120
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   121
        [top shown] whileTrue:[
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   122
            |aTab lbl|
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   123
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   124
            (idx := idx + 1) > list size ifTrue:[idx := 1].
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   125
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   126
            aTab := list at:idx.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   127
            lbl  := aTab label.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   128
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   129
            Delay waitForSeconds:0.5. aTab label:label.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   130
            Delay waitForSeconds:0.5. aTab enabled:false.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   131
            Delay waitForSeconds:0.5. aTab enabled:true.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   132
            Delay waitForSeconds:0.5. aTab foregroundColor:(Color red).
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   133
            Delay waitForSeconds:0.5. aTab foregroundColor:nil.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   134
            aTab label:lbl.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   135
        ]
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   136
    ] forkAt:1.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   137
                                                                                [exEnd]
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   138
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   139
"
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   140
! !
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   141
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   142
!TabItem class methodsFor:'instance creation'!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   143
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   144
label:aLabel
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   145
    ^ self new label:aLabel
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   146
! !
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   147
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   148
!TabItem methodsFor:'accessing'!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   149
1671
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   150
accessCharacterPosition
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   151
    "get the index of the access character in the label text or string, or 0 if none"
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   152
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   153
    ^ accessCharacterPosition ? 0
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   154
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   155
    "Modified: / 06-09-2006 / 14:57:08 / cg"
1671
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   156
!
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   157
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   158
accessCharacterPosition:anIndex
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   159
    "set the index of the access character in the label"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   160
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   161
    accessCharacterPosition := anIndex
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   162
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   163
    "Modified: / 06-09-2006 / 14:57:44 / cg"
1671
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   164
!
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   165
716
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   166
argument
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   167
    "returns a user defined argument or nil
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   168
    "
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   169
    ^ argument
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   170
!
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   171
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   172
argument:anArgument
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   173
    "set a user defined argument
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   174
    "
1674
042a8f089e77 add inputGroup
ca
parents: 1671
diff changeset
   175
    (anArgument isString and:[anArgument isEmpty]) ifTrue:[
042a8f089e77 add inputGroup
ca
parents: 1671
diff changeset
   176
        argument := nil
042a8f089e77 add inputGroup
ca
parents: 1671
diff changeset
   177
    ] ifFalse:[
042a8f089e77 add inputGroup
ca
parents: 1671
diff changeset
   178
        argument := anArgument
042a8f089e77 add inputGroup
ca
parents: 1671
diff changeset
   179
    ].
716
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   180
    argument := anArgument
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   181
!
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   182
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   183
createNewBuilder
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   184
    "returns true if a new builder is used to create the canvas;
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   185
     the default is true"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   186
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   187
    ^ createNewBuilder ? true
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   188
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   189
    "Modified: / 06-09-2006 / 14:58:58 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   190
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   191
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   192
createNewBuilder:aBool
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   193
    "set/clear the flag which controls if a new ui-builder is used to create the canvas;
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   194
     the default is true. This affects if the bindings will be shared or not between tabs."
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   195
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   196
    createNewBuilder := aBool
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   197
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   198
    "Modified: / 06-09-2006 / 15:00:04 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   199
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   200
4159
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   201
destroyTabAction
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   202
    "if non-nil, this tab has its own private destroyButton.
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   203
     This can be used for individual tabs; for an overall tab-destroy capability,
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   204
     change the destroyTab: action of my owning tabView"
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   205
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   206
    ^ destroyTabAction
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   207
!
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   208
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   209
destroyTabAction:aBlock
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   210
    "if non-nil, this tab has its own private destroyButton.
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   211
     This can be used for individual tabs; for an overall tab-destroy capability,
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   212
     change the destroyTab: action of my owning tabView"
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   213
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   214
    destroyTabAction := aBlock
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   215
!
a4bd3b389805 allow for individual tabs to have a destroyButton
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   216
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   217
enabled
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   218
    "get the enabled state of the tab
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   219
    "
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   220
    ^ enabled ? true
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   221
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   222
5437
bf75c7e0d597 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5153
diff changeset
   223
enabled:aBoolean
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   224
    "set the enabled state of the tab
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   225
    "
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   226
    |s|
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   227
5437
bf75c7e0d597 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5153
diff changeset
   228
    s := aBoolean ? true.
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   229
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   230
    self enabled ~~ s ifTrue:[
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   231
        enabled := s.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   232
        self changed:#enabled
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   233
    ]
5437
bf75c7e0d597 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5153
diff changeset
   234
bf75c7e0d597 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5153
diff changeset
   235
    "Modified (format): / 04-02-2017 / 21:34:46 / cg"
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   236
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   237
3296
cbd5655f3905 added hasView
Claus Gittinger <cg@exept.de>
parents: 3268
diff changeset
   238
hasView
cbd5655f3905 added hasView
Claus Gittinger <cg@exept.de>
parents: 3268
diff changeset
   239
    ^ view notNil
cbd5655f3905 added hasView
Claus Gittinger <cg@exept.de>
parents: 3268
diff changeset
   240
!
cbd5655f3905 added hasView
Claus Gittinger <cg@exept.de>
parents: 3268
diff changeset
   241
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   242
label
6182
ff49f5c3a2e9 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 6062
diff changeset
   243
    "get the label or selector to access a label/bitmap. 
ff49f5c3a2e9 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 6062
diff changeset
   244
     To get the label to be shown use: #rawLabel
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   245
    "
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   246
    ^ label
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   247
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   248
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   249
label:aLabel
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   250
    "set the label or selector to access the label/bitmap"
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   251
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   252
    label := aLabel.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   253
1936
ce9aa6069889 in #label: treat label as different, if emphasis is.
Claus Gittinger <cg@exept.de>
parents: 1891
diff changeset
   254
    (aLabel ~= rawLabel
3346
ed88a5f2aaee *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3296
diff changeset
   255
    or:[aLabel class ~~ rawLabel class 
1936
ce9aa6069889 in #label: treat label as different, if emphasis is.
Claus Gittinger <cg@exept.de>
parents: 1891
diff changeset
   256
    or:[aLabel isString 
ce9aa6069889 in #label: treat label as different, if emphasis is.
Claus Gittinger <cg@exept.de>
parents: 1891
diff changeset
   257
        and:[rawLabel isString
3346
ed88a5f2aaee *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3296
diff changeset
   258
        and:[(aLabel sameStringAndEmphasisAs:rawLabel) not]]]])
1936
ce9aa6069889 in #label: treat label as different, if emphasis is.
Claus Gittinger <cg@exept.de>
parents: 1891
diff changeset
   259
ce9aa6069889 in #label: treat label as different, if emphasis is.
Claus Gittinger <cg@exept.de>
parents: 1891
diff changeset
   260
    ifTrue:[
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   261
        rawLabel := aLabel.
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   262
        self changed
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   263
    ]
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   264
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   265
    "Modified: / 06-09-2006 / 15:54:13 / cg"
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   266
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   267
3933
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   268
nameKey
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   269
    "an additional (untranslated) key (do not use the label to identify tabs)"
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   270
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   271
    ^ nameKey
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   272
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   273
    "Created: / 21-09-2010 / 16:57:54 / cg"
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   274
!
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   275
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   276
nameKey:aStringOrSymbol
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   277
    "an additional (untranslated) key (do not use the label to identify tabs)"
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   278
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   279
    nameKey := aStringOrSymbol
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   280
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   281
    "Created: / 21-09-2010 / 16:58:05 / cg"
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   282
!
95e42631bf60 +nameKey
Claus Gittinger <cg@exept.de>
parents: 3919
diff changeset
   283
6182
ff49f5c3a2e9 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 6062
diff changeset
   284
printableLabel
ff49f5c3a2e9 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 6062
diff changeset
   285
    ^ self rawLabel
ff49f5c3a2e9 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 6062
diff changeset
   286
!
ff49f5c3a2e9 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 6062
diff changeset
   287
1671
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   288
shortcutKey
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   289
    "get the key to press to select the tab item from the keyboard; a symbol or nil"
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   290
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   291
    ^ shortcutKey
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   292
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   293
    "Modified: / 06-09-2006 / 15:09:18 / cg"
1671
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   294
!
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   295
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   296
shortcutKey:aKeyOrNil
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   297
    "set the key to press to select the tab item from the keyboard; a symbol or nil"
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   298
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   299
    |key|
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   300
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   301
    aKeyOrNil size ~~ 0 ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   302
        key := aKeyOrNil asSymbol
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   303
    ].
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   304
    shortcutKey := key
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   305
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   306
    "Modified: / 06-09-2006 / 15:09:31 / cg"
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   307
!
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   308
3919
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   309
view
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   310
    ^ view
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   311
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   312
    "Created: / 25-07-2010 / 11:58:53 / cg"
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   313
!
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   314
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   315
view:aView
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   316
    aView isNil ifTrue:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   317
        view := aView.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   318
        ^ self.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   319
    ].
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   320
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   321
    view notNil ifTrue:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   322
        aView ~~ view ifTrue:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   323
            self error:'TabItems cannot be reused'.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   324
        ].
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   325
    ].
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   326
    view := aView.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   327
    self setAttributesWithBuilder:view application builder.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   328
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   329
    "Modified: / 06-09-2006 / 17:58:58 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   330
! !
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   331
2404
2b7591c982ac category change
Claus Gittinger <cg@exept.de>
parents: 1943
diff changeset
   332
!TabItem methodsFor:'accessing-canvas'!
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   333
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   334
canvas
3437
0913927ca309 FIXME: canvas: app vs. view
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
   335
    "returns the application or view. Creates one if not already present"
3358
54f70d1e57b7 comment
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   336
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   337
    |view cls wsel classNameKey oldBuilder usedBuilder appl|
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   338
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   339
    canvas notNil ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   340
        ^ canvas
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   341
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   342
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   343
    (classNameKey := majorKey) notNil ifTrue:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   344
        oldBuilder := builder.
1891
ab8801a1c22d subapps always got a new builder (even if one was already present)
tm
parents: 1777
diff changeset
   345
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   346
        (oldBuilder notNil
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   347
        and:[(appl := oldBuilder application) notNil]) ifTrue:[
2848
a6f481effd99 subApplicationFor
Claus Gittinger <cg@exept.de>
parents: 2794
diff changeset
   348
            canvas := appl subApplicationFor:majorKey.
a6f481effd99 subApplicationFor
Claus Gittinger <cg@exept.de>
parents: 2794
diff changeset
   349
            canvas isNil ifTrue:[
a6f481effd99 subApplicationFor
Claus Gittinger <cg@exept.de>
parents: 2794
diff changeset
   350
                cls := appl resolveName:classNameKey.
1777
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   351
            ]
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   352
        ] ifFalse:[
5565
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   353
            classNameKey isUppercaseFirst ifTrue:[
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   354
                "/ cls := Smalltalk resolveName:classNameKey inClass:self class.
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   355
                cls := Smalltalk classNamed:classNameKey.
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   356
                cls isNil ifTrue:[
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   357
                    ('TabItem: no canvas (i.e. class) for majorKey: ' , classNameKey) errorPrintCR.
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   358
                    ^ nil
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   359
                ].
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   360
            ].
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   361
        ].
1777
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   362
        canvas isNil ifTrue:[
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   363
            cls isNil ifTrue:[
5565
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   364
                ('TabItem: no canvas or class for majorKey: ' , classNameKey) errorPrintCR.
2491
10f86a3c5342 do NOT catch errors !!!!!
martin
parents: 2439
diff changeset
   365
                ^ nil
1777
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   366
            ].
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   367
            canvas := cls new.
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   368
        ].
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   369
2723
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   370
        self isCanvasApplicationModel ifTrue:[
2794
80afa90b592d *** empty log message ***
penk
parents: 2723
diff changeset
   371
            view := ApplicationSubView new.
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   372
            wsel := minorKey ? #windowSpec.
1777
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   373
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   374
            (usedBuilder := canvas builder) isNil ifTrue:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   375
                (usedBuilder := oldBuilder) isNil ifTrue:[
3516
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
   376
                    canvas createBuilder.
e3e28ac61a3b Fix example
Stefan Vogel <sv@exept.de>
parents: 3437
diff changeset
   377
                    usedBuilder := canvas builder.
1891
ab8801a1c22d subapps always got a new builder (even if one was already present)
tm
parents: 1777
diff changeset
   378
                ] ifFalse:[
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   379
                    canvas builder:usedBuilder.
1891
ab8801a1c22d subapps always got a new builder (even if one was already present)
tm
parents: 1777
diff changeset
   380
                ].
1777
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   381
            ].
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   382
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   383
            (appl notNil and:[canvas masterApplication isNil]) ifTrue:[
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   384
                canvas masterApplication:appl
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   385
            ].
1943
c90153998d43 set new application in builder if builder is created
martin
parents: 1936
diff changeset
   386
            self createNewBuilder ifTrue:[
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   387
                usedBuilder application:canvas
1943
c90153998d43 set new application in builder if builder is created
martin
parents: 1936
diff changeset
   388
            ].
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   389
            view client:canvas spec:wsel builder:usedBuilder.
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   390
            canvas window:(self setupCanvasView:view).
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   391
        ] ifFalse:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   392
            canvas := self setupCanvasView:canvas
1943
c90153998d43 set new application in builder if builder is created
martin
parents: 1936
diff changeset
   393
        ]
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   394
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   395
    ^ canvas
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   396
5565
cd44cc2a12f5 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 5437
diff changeset
   397
    "Modified: / 25-07-2017 / 15:28:21 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   398
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   399
3436
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   400
canvasApplication
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   401
    "returns the application the canvas is running"
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   402
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   403
    |canvas|
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   404
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   405
    (canvas := self canvas) isNil ifTrue:[^ nil].
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   406
    (canvas isKindOf:ApplicationModel) ifTrue:[ ^ canvas ].
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   407
    ^ canvas application
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   408
!
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   409
3347
b3cccb8303ae changed #canvasOrNil
Claus Gittinger <cg@exept.de>
parents: 3346
diff changeset
   410
canvasOrNil
b3cccb8303ae changed #canvasOrNil
Claus Gittinger <cg@exept.de>
parents: 3346
diff changeset
   411
    "returns the application or nil - does NOT create one"
b3cccb8303ae changed #canvasOrNil
Claus Gittinger <cg@exept.de>
parents: 3346
diff changeset
   412
b3cccb8303ae changed #canvasOrNil
Claus Gittinger <cg@exept.de>
parents: 3346
diff changeset
   413
    ^ canvas 
b3cccb8303ae changed #canvasOrNil
Claus Gittinger <cg@exept.de>
parents: 3346
diff changeset
   414
!
b3cccb8303ae changed #canvasOrNil
Claus Gittinger <cg@exept.de>
parents: 3346
diff changeset
   415
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   416
canvasView
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   417
    "returns the view the canvas is running in or nil if no canvas
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   418
     specified or not yet created
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   419
    "
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   420
    |canvas|
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   421
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   422
    (canvas := self canvas) notNil ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   423
        ^ canvas perform:#window ifNotUnderstood:[canvas]
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   424
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   425
    ^ nil
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   426
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   427
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   428
destroyCanvas
3268
cdc4a1749cb9 changed #destroyCanvas
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   429
    |canvasView|
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   430
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   431
    canvas notNil ifTrue:[
2723
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   432
        self isCanvasApplicationModel ifTrue:[
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   433
            canvas releaseAsSubCanvas.
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   434
        ].
3268
cdc4a1749cb9 changed #destroyCanvas
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   435
        (canvasView := self canvasView) notNil ifTrue:[
cdc4a1749cb9 changed #destroyCanvas
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   436
            canvasView destroy.
cdc4a1749cb9 changed #destroyCanvas
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   437
        ].
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   438
        canvas := nil
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   439
    ].
3268
cdc4a1749cb9 changed #destroyCanvas
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   440
cdc4a1749cb9 changed #destroyCanvas
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   441
    "Modified: / 02-11-2007 / 14:54:47 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   442
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   443
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   444
majorKey
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   445
    ^ majorKey
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   446
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   447
    "Modified: / 06-09-2006 / 15:01:14 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   448
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   449
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   450
majorKey:aMajorKey
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   451
    |key|
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   452
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   453
    aMajorKey notNil ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   454
        aMajorKey isBehavior ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   455
            key := aMajorKey name asSymbol
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   456
        ] ifFalse:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   457
            aMajorKey size ~~ 0 ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   458
                key := aMajorKey asSymbol
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   459
            ]
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   460
        ]
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   461
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   462
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   463
    self majorKey ~~ key ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   464
        self destroyCanvas
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   465
    ].
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   466
    majorKey := key.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   467
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   468
    "Modified: / 06-09-2006 / 15:01:22 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   469
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   470
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   471
minorKey
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   472
    ^ minorKey
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   473
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   474
    "Modified: / 06-09-2006 / 15:01:58 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   475
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   476
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   477
minorKey:aMinorKey
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   478
    minorKey := aMinorKey.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   479
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   480
    "Modified: / 06-09-2006 / 15:02:04 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   481
!
1671
0564c18a4ea4 support accelerator and accessCharacter
ca
parents: 716
diff changeset
   482
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   483
setupCanvasView:aView
3888
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   484
    |frame isV isH auto viewScroller|
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   485
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   486
    isH := self hasHorizontalScrollBar.
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   487
    isV := self hasVerticalScrollBar.
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   488
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   489
    (isH or:[isV]) ifFalse:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   490
        frame := aView
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   491
    ] ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   492
        frame := ScrollableView for:ViewScroller.
3888
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   493
        viewScroller := frame scrolledView.
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   494
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   495
        frame horizontalScrollable:isH.
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   496
        frame verticalScrollable:isV.
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   497
3888
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   498
        isH ifTrue:[
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   499
            frame horizontalMini:(self miniScrollerHorizontal)
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   500
        ] ifFalse:[
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   501
            "/ not horizontal scrollable - always set x to scrolled view x
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   502
            viewScroller resizeScrolledViewHorizontal:true.
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   503
        ].
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   504
        isV ifTrue:[
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   505
            frame verticalMini:(self miniScrollerVertical)
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   506
        ] ifFalse:[
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   507
            "/ not vertical scrollable - always set y to scrolled view y
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   508
            viewScroller resizeScrolledViewVertical:true.
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   509
        ].
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   510
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   511
        (auto := self autoHideScrollBars) notNil ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   512
            frame autoHideScrollBars:auto
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   513
        ].
3888
081ee04e3798 changed: #setupCanvasView:
ca
parents: 3887
diff changeset
   514
        viewScroller scrolledView:aView.
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   515
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   516
    frame objectAttributeAt:#isTabItem put:true.
3436
4ee5e836599e +canvasApplication
Claus Gittinger <cg@exept.de>
parents: 3416
diff changeset
   517
    ^ frame
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   518
! !
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   519
5648
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   520
!TabItem methodsFor:'accessing-color & font'!
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   521
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   522
foregroundColor
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   523
    "get the label color or nil"
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   524
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   525
    ^ foregroundColor
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   526
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   527
    "Modified: / 06-09-2006 / 15:14:46 / cg"
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   528
!
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   529
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   530
foregroundColor:aColor
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   531
    "set the label color or nil"
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   532
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   533
    foregroundColor ~= aColor ifTrue:[
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   534
        foregroundColor := aColor.
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   535
        self changed:#foregroundColor
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   536
    ].
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   537
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   538
    "Modified: / 06-09-2006 / 15:00:31 / cg"
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   539
!
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   540
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   541
labelForegroundColor
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   542
    "get the label color or nil
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   543
    "
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   544
    ^ self foregroundColor
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   545
!
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   546
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   547
labelForegroundColor:aColor
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   548
    "set the label color or nil
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   549
    "
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   550
    self foregroundColor:aColor
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   551
! !
6c8a99e81ce1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5565
diff changeset
   552
2404
2b7591c982ac category change
Claus Gittinger <cg@exept.de>
parents: 1943
diff changeset
   553
!TabItem methodsFor:'accessing-scrollbars'!
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   554
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   555
autoHideScrollBars
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   556
    ^ autoHideScrollBars
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   557
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   558
    "Modified: / 06-09-2006 / 14:58:38 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   559
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   560
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   561
autoHideScrollBars:aBoolOrNil
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   562
    autoHideScrollBars := aBoolOrNil
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   563
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   564
    "Modified: / 06-09-2006 / 14:58:45 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   565
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   566
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   567
hasHorizontalScrollBar
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   568
    ^ hasHorizontalScrollBar ? false
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   569
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   570
    "Modified: / 06-09-2006 / 15:00:39 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   571
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   572
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   573
hasHorizontalScrollBar:aBool
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   574
    |flag|
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   575
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   576
    aBool == true ifTrue:[flag := true]
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   577
                 ifFalse:[self miniScrollerHorizontal:false].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   578
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   579
    hasHorizontalScrollBar := flag
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   580
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   581
    "Modified: / 06-09-2006 / 15:00:58 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   582
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   583
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   584
hasVerticalScrollBar
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   585
    ^ hasVerticalScrollBar ? false
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   586
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   587
    "Modified: / 06-09-2006 / 15:01:03 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   588
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   589
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   590
hasVerticalScrollBar:aBool
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   591
    |flag|
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   592
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   593
    aBool == true ifTrue:[flag := true]
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   594
                 ifFalse:[self miniScrollerVertical:false].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   595
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   596
    hasVerticalScrollBar := flag
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   597
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   598
    "Modified: / 06-09-2006 / 15:01:10 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   599
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   600
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   601
miniScrollerHorizontal
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   602
    ^ miniScrollerHorizontal ? false
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   603
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   604
    "Modified: / 06-09-2006 / 15:01:29 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   605
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   606
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   607
miniScrollerHorizontal:aBool
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   608
    miniScrollerHorizontal := aBool
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   609
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   610
    "Modified: / 06-09-2006 / 15:01:40 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   611
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   612
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   613
miniScrollerVertical
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   614
    ^ miniScrollerVertical ? false
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   615
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   616
    "Modified: / 06-09-2006 / 15:01:45 / cg"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   617
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   618
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   619
miniScrollerVertical:aBool
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   620
    miniScrollerVertical := aBool
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   621
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   622
    "Modified: / 06-09-2006 / 15:01:55 / cg"
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   623
! !
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   624
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   625
!TabItem methodsFor:'building'!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   626
3416
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   627
applicationProvidesLabel
5153
32e47e338a49 #OTHER by mawalch
mawalch
parents: 4649
diff changeset
   628
    "returns true if the label is acquired from the application"
3416
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   629
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   630
    ^ applicationProvidesLabel ? false
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   631
!
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   632
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   633
applicationProvidesLabel:aBool
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   634
    "set/clear the flag which controls if the label is provided by the application"
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   635
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   636
    applicationProvidesLabel := aBool.
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   637
!
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   638
716
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   639
editAgument
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   640
    "used by TabItemEditor to get the argument
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   641
    "
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   642
    ^ argument isSymbol ifTrue:['#', argument] ifFalse:[argument]
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   643
!
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   644
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   645
editAgument:anArgument
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   646
    "used by TabItemEditor to set the argument
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   647
    "
2439
5bc545c13f51 Remove unused method vars
Stefan Vogel <sv@exept.de>
parents: 2438
diff changeset
   648
    |size|
716
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   649
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   650
    anArgument size ~~ 0 ifTrue:[
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   651
        argument := anArgument withoutSeparators.
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   652
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   653
        (size := argument size) == 0 ifTrue:[
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   654
            argument := nil
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   655
        ] ifFalse:[
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   656
            (argument startsWith:$#) ifTrue:[
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   657
                size > 1 ifTrue:[
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   658
                    argument := (argument copyFrom:2) asSymbol
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   659
                ] ifFalse:[
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   660
                    argument := nil
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   661
                ]
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   662
            ]
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   663
        ]
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   664
    ] ifFalse:[
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   665
        argument := nil
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   666
    ]
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   667
!
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   668
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   669
rawLabel
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   670
    "returns the label to be shown
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   671
    "
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   672
    ^ rawLabel ? ' '
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   673
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   674
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   675
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   676
702
cf639897acfd support of TabItemEditor
ca
parents: 701
diff changeset
   677
setAttributesFromClass:aClass
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   678
    "setup attributes from aClass 
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   679
     Ugly: used only with the tabListEditor."
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   680
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   681
    |spec cls|
1761
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   682
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   683
    rawLabel := nil.
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   684
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   685
    cls := aClass.
3887
fd554490f4e7 code deobfuscated:
Claus Gittinger <cg@exept.de>
parents: 3559
diff changeset
   686
    cls isBehavior ifFalse:[
3559
6354adc99709 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3516
diff changeset
   687
        self halt:'please pass a class, not its name as argument'.
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   688
        cls := Smalltalk classNamed:aClass
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   689
    ].
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   690
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   691
    cls notNil ifTrue:[
1761
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   692
        (self translateLabel and:[label isString]) ifTrue:[
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   693
            rawLabel := cls perform:(label asSymbol) ifNotUnderstood:nil
702
cf639897acfd support of TabItemEditor
ca
parents: 701
diff changeset
   694
        ].
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   695
        (majorKey isNil and:[minorKey notNil]) ifTrue:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   696
"/            Error handle:[:ex|
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   697
"/            ] do:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   698
                "/ spec := cls perform:(minorKey asSymbol) ifNotUnderstood:nil.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   699
                "/ spec notNil ifTrue:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   700
                    canvas := ApplicationSubView new.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   701
                    canvas client:nil spec:minorKey "spec" builder:(UIBuilder new).
1761
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   702
                    canvas := self setupCanvasView:canvas.
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   703
                "/ ].
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   704
"/            ]
1761
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   705
        ]        
702
cf639897acfd support of TabItemEditor
ca
parents: 701
diff changeset
   706
    ].
1761
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   707
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   708
    rawLabel isNil ifTrue:[
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   709
        rawLabel := label isNil ifTrue:[''] ifFalse:[label printString]
631af8bb3076 *** empty log message ***
ca
parents: 1760
diff changeset
   710
    ].
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   711
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   712
    "Modified: / 06-09-2006 / 17:48:37 / cg"
702
cf639897acfd support of TabItemEditor
ca
parents: 701
diff changeset
   713
!
cf639897acfd support of TabItemEditor
ca
parents: 701
diff changeset
   714
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   715
setAttributesWithBuilder:aBuilder
3919
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   716
    "setup attributes dependent on the builder"
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   717
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   718
    |appl usedBuilder |
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   719
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   720
    usedBuilder := self createNewBuilder ifTrue:[UIBuilder new] ifFalse:[aBuilder].
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   721
    builder := usedBuilder.
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   722
3416
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   723
    (self applicationProvidesLabel) ifTrue:[
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   724
        rawLabel := aBuilder labelFor:label.
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   725
    ] ifFalse:[
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   726
        (self translateLabel) ifTrue:[
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   727
            rawLabel := aBuilder application resources string:label.
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   728
        ].
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   729
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   730
    rawLabel isNil ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   731
        rawLabel := label printString.
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   732
    ].
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   733
3919
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   734
    (aBuilder notNil and:[aBuilder isEditing not]) ifTrue:[
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   735
        appl := aBuilder application.
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   736
    ].
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   737
    appl notNil ifTrue:[
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   738
        "/ now lazy - when actually asked for (to allow for more dynamics)
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   739
        "/        activeHelpKey notNil ifTrue:[
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   740
        "/            activeHelpText := appl helpTextForKey:activeHelpKey.
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   741
        "/        ].
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   742
        usedBuilder application isNil ifTrue:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   743
            usedBuilder application:appl
1777
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   744
        ].
1c09f7e0a18a set masterApplication ... in case of an ApplicationModel
tm
parents: 1761
diff changeset
   745
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   746
        (majorKey isNil and:[minorKey notNil]) ifTrue:[
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   747
            canvas := ApplicationSubView new.
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   748
            canvas client:appl spec:minorKey builder:usedBuilder.
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   749
            canvas := self setupCanvasView:canvas.
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   750
        ]
1891
ab8801a1c22d subapps always got a new builder (even if one was already present)
tm
parents: 1777
diff changeset
   751
    ].
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   752
3919
2e2273c596d0 added: #view
Claus Gittinger <cg@exept.de>
parents: 3888
diff changeset
   753
    "Modified: / 25-07-2010 / 11:26:23 / cg"
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   754
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   755
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   756
translateLabel
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   757
    "returns true if the label derives from the application"
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   758
4649
f1e3447d32fd class: TabItem
Claus Gittinger <cg@exept.de>
parents: 4159
diff changeset
   759
    ^ translateLabel ? true
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   760
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   761
    "Modified: / 06-09-2006 / 15:09:40 / cg"
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   762
!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   763
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   764
translateLabel:aBool
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   765
    "set/clear the flag which controls if the label is translated to a national language
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   766
     via the applications resources"
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   767
3416
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   768
    translateLabel := aBool.
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   769
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   770
    "Modified: / 06-09-2006 / 15:11:16 / cg"
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   771
! !
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   772
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   773
!TabItem methodsFor:'converting'!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   774
3191
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   775
skippedInLiteralEncoding
5879
5b0a27e520cc #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5682
diff changeset
   776
    "define the inst-slots which are skipped when generating a literalArrayEncoding;
5b0a27e520cc #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5682
diff changeset
   777
     (to skip the ones with default values.)"
5b0a27e520cc #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5682
diff changeset
   778
3191
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   779
    |skipped|
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   780
3191
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   781
    skipped := super skippedInLiteralEncoding asOrderedCollection.
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   782
3191
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   783
    skipped add:#view.
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   784
    skipped add:#rawLabel.
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   785
    skipped add:#canvas.
716
ed0ed44d8cfb add user defined argument
ca
parents: 702
diff changeset
   786
3191
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   787
    self enabled                      ifTrue:[ skipped add:#enabled ].
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   788
    self accessCharacterPosition == 0 ifTrue:[ skipped add:#accessCharacterPosition ].
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   789
    self createNewBuilder             ifTrue:[ skipped add:#createNewBuilder ].
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   790
    self miniScrollerVertical        ifFalse:[ skipped add:#miniScrollerVertical ].
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   791
    self miniScrollerHorizontal      ifFalse:[ skipped add:#miniScrollerHorizontal ].
4649
f1e3447d32fd class: TabItem
Claus Gittinger <cg@exept.de>
parents: 4159
diff changeset
   792
    "/ self translateLabel              ifFalse:[ skipped add:#translateLabel ].
3416
84641e5a108c confusion between applicationProvidesLabel and translateLabel fixed.
Claus Gittinger <cg@exept.de>
parents: 3393
diff changeset
   793
    self applicationProvidesLabel    ifFalse:[ skipped add:#applicationProvidesLabel ].
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   794
3191
a5bb500a135a literal encoding
ca
parents: 3068
diff changeset
   795
    ^ skipped
5879
5b0a27e520cc #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5682
diff changeset
   796
5b0a27e520cc #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5682
diff changeset
   797
    "Modified (comment): / 09-08-2018 / 17:17:13 / Claus Gittinger"
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   798
! !
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   799
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   800
!TabItem methodsFor:'displaying'!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   801
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   802
displayOn:aGC x:x y:y
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   803
    |s|
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   804
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   805
    (s := rawLabel ? label) isNil ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   806
        ^ self
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   807
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   808
    s isNumber ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   809
        s := s printString
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   810
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   811
    s displayOn:aGC x:x y:y
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   812
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   813
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   814
heightOn:aGC
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   815
    |s|
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   816
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   817
    (s := rawLabel ? label) isNil ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   818
        ^ aGC font height
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   819
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   820
    ^ s heightOn:aGC
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   821
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   822
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   823
widthOn:aGC
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   824
    |s|
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   825
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   826
    (s := rawLabel ? label) isNil ifTrue:[
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   827
        ^ 4
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   828
    ].
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   829
    ^ s widthOn:aGC
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   830
! !
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   831
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   832
!TabItem methodsFor:'help'!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   833
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   834
activeHelpKey
6060
5baf8c498848 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5879
diff changeset
   835
    "the key used to ask the application for the tooltip text (via helpTextFor:)"
5baf8c498848 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5879
diff changeset
   836
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   837
    ^ activeHelpKey
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   838
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   839
    "Modified: / 06-09-2006 / 14:58:11 / cg"
6060
5baf8c498848 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 5879
diff changeset
   840
    "Modified (comment): / 30-05-2019 / 09:35:40 / Claus Gittinger"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   841
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   842
6062
d8a85d6c38da #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6060
diff changeset
   843
activeHelpKey:aSymbolicKey
d8a85d6c38da #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6060
diff changeset
   844
    "the key used to ask the application for the tooltip text (via helpTextFor:)"
d8a85d6c38da #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6060
diff changeset
   845
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   846
    |key|
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   847
6062
d8a85d6c38da #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6060
diff changeset
   848
    aSymbolicKey size > 0 ifTrue:[key := aSymbolicKey asSymbol].
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   849
    activeHelpKey := key
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   850
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   851
    "Modified: / 06-09-2006 / 14:58:32 / cg"
6062
d8a85d6c38da #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 6060
diff changeset
   852
    "Modified (comment): / 30-05-2019 / 09:41:34 / Claus Gittinger"
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   853
!
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   854
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   855
activeHelpText
3393
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   856
    |appl|
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   857
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   858
    activeHelpText notNil ifTrue:[^ activeHelpText].
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   859
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   860
    activeHelpKey notNil ifTrue:[
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   861
        view notNil ifTrue:[
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   862
            appl := view application.
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   863
        ].
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   864
        appl isNil ifTrue:[
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   865
            builder notNil ifTrue:[
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   866
                appl := builder application.
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   867
            ].
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   868
        ].
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   869
        appl notNil ifTrue:[
5682
b2e0292a9697 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5648
diff changeset
   870
            ^ appl helpTextForKey:activeHelpKey.
3393
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   871
        ].
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   872
    ].
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   873
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   874
    ^ nil
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   875
!
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   876
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   877
activeHelpText:aString
8b665bfc7be0 active help etxt done dynamically (when being sked for)
Claus Gittinger <cg@exept.de>
parents: 3358
diff changeset
   878
    activeHelpText := aString
1759
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   879
! !
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   880
a8b1d1fad2f1 add more functionality; canvas and help
ca
parents: 1674
diff changeset
   881
!TabItem methodsFor:'queries'!
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   882
2723
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   883
isCanvasApplicationModel
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   884
    "returns true if the canvas is an application model"
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   885
2723
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   886
    canvas notNil ifTrue:[
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   887
        ^ canvas isKindOf:ApplicationModel.
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   888
    ].
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   889
    ^ false.
3068
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   890
ae56b8c3c7a6 that code sucked - it still does, but less so.
Claus Gittinger <cg@exept.de>
parents: 2848
diff changeset
   891
    "Modified: / 06-09-2006 / 15:11:50 / cg"
2723
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   892
!
8532bbba673b call #releaseAsSubCanvas on destroyed applications
ca
parents: 2491
diff changeset
   893
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   894
isEnabled
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   895
    ^ self enabled
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   896
! !
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   897
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   898
!TabItem class methodsFor:'documentation'!
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   899
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   900
version
5153
32e47e338a49 #OTHER by mawalch
mawalch
parents: 4649
diff changeset
   901
    ^ '$Header$'
3887
fd554490f4e7 code deobfuscated:
Claus Gittinger <cg@exept.de>
parents: 3559
diff changeset
   902
!
fd554490f4e7 code deobfuscated:
Claus Gittinger <cg@exept.de>
parents: 3559
diff changeset
   903
fd554490f4e7 code deobfuscated:
Claus Gittinger <cg@exept.de>
parents: 3559
diff changeset
   904
version_CVS
5153
32e47e338a49 #OTHER by mawalch
mawalch
parents: 4649
diff changeset
   905
    ^ '$Header$'
696
e065c08b2a69 initial checkin
ca
parents:
diff changeset
   906
! !
4649
f1e3447d32fd class: TabItem
Claus Gittinger <cg@exept.de>
parents: 4159
diff changeset
   907