VDBTabbingContainer.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 26 Jun 2018 13:19:02 +0100
changeset 80 7a9cf1d6be50
parent 49 2ec7f7ed9242
child 112 d293d117e978
permissions -rw-r--r--
UX: improvements in disasembly view (`VDBInstructionListApplication`) Namely: * when a branch instruction is selected, highlight target address, i.e, an address of next instruction if branch is taken. * highlight all instruction in basic block of currently selected instruction. This is not as cool as in Hexray IDA Pro but better than nothing. We'll get there, eventually.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
     1
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
     2
jv:vdb - Visual / VM Debugger
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
     4
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
     5
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
     6
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
     7
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
     8
"
1
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb' }"
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
40
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
    11
"{ NameSpace: Smalltalk }"
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
    12
1
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
VDBAbstractContainer subclass:#VDBTabbingContainer
5
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    14
	instanceVariableNames:'tabSelectionIndexHolder tabSelectionViewHolder'
1
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	classVariableNames:''
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	poolDictionaries:''
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	category:'VDB-UI-Containers'
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    20
!VDBTabbingContainer class methodsFor:'documentation'!
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    21
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    22
copyright
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    23
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    24
jv:vdb - Visual / VM Debugger
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    25
Copyright (C) 2015-now Jan Vrany
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    26
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    27
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    28
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    29
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    30
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    31
! !
21
80ad6d72b260 Added stx:libtool to prerequisites
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    32
1
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!VDBTabbingContainer class methodsFor:'interface specs'!
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
windowSpec
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    "This resource specification was automatically generated
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
     by the UIPainter of ST/X."
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    "Do not manually edit this!! If it is corrupted,
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
     the UIPainter may not be able to read the specification."
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    "
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
     UIPainter new openOnClass:VDBTabbingContainer andSelector:#windowSpec
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
     VDBTabbingContainer new openInterface:#windowSpec
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
     VDBTabbingContainer open
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    "
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    <resource: #canvas>
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    ^ 
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    #(FullSpec
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
       name: windowSpec
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
       window: 
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
      (WindowSpec
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
         label: 'Tabbed Dock'
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
         name: 'Tabbed Dock'
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
         min: (Point 10 10)
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
         bounds: (Rectangle 0 0 733 447)
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
       )
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
       component: 
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
      (SpecCollection
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
         collection: (
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
          (NoteBookViewSpec
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
             name: 'Tabs'
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
             model: tabSelectionIndexHolder
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
             menu: tabLabelList
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
             useIndex: true
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
             canvas: tabSelectionViewHolder
5
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    70
             keepCanvasAlive: true
1
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
           )
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
          )
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
        
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
       )
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
     )
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
! !
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
5
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    78
!VDBTabbingContainer class methodsFor:'plugIn spec'!
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    79
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    80
aspectSelectors
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    81
    "This resource specification was automatically generated
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    82
     by the UIPainter of ST/X."
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    83
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    84
    "Do not manually edit this. If it is corrupted,
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    85
     the UIPainter may not be able to read the specification."
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    86
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    87
    "Return a description of exported aspects;
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    88
     these can be connected to aspects of an embedding application
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    89
     (if this app is embedded in a subCanvas)."
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    90
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    91
    ^ #(
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    92
        #debuggerHolder
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    93
      ).
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    94
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    95
! !
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    96
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    97
!VDBTabbingContainer methodsFor:'aspects'!
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    98
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    99
tabLabelList
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   100
    <resource: #uiAspect>
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   101
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   102
    ^ labels
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   103
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   104
    "Modified: / 10-06-2014 / 17:00:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   105
!
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   106
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   107
tabSelectionIndexHolder
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   108
    "return/create the 'tabSelectionIndexHolder' value holder (automatically generated)"
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   109
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   110
    tabSelectionIndexHolder isNil ifTrue:[
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   111
        tabSelectionIndexHolder := ValueHolder new.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   112
        tabSelectionIndexHolder addDependent:self.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   113
    ].
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   114
    ^ tabSelectionIndexHolder
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   115
!
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   116
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   117
tabSelectionViewHolder
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   118
    <resource: #uiAspect>
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   119
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   120
    "automatically generated by UIPainter ..."
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   121
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   122
    "*** the code below creates a default model when invoked."
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   123
    "*** (which may not be the one you wanted)"
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   124
    "*** Please change as required and accept it in the browser."
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   125
    "*** (and replace this comment by something more useful ;-)"
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   126
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   127
    tabSelectionViewHolder isNil ifTrue:[
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   128
        tabSelectionViewHolder := ValueHolder new.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   129
"/ if your app needs to be notified of changes, uncomment one of the lines below:
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   130
"/       tabSelectionViewHolder addDependent:self.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   131
"/       tabSelectionViewHolder onChangeSend:#tabSelectionViewHolderChanged to:self.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   132
    ].
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   133
    ^ tabSelectionViewHolder.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   134
! !
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   135
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   136
!VDBTabbingContainer methodsFor:'change & update'!
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   137
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   138
update:aspect with:param from:changedObject
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   139
    "Invoked when an object that I depend upon sends a change notification."
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   140
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   141
    "stub code automatically generated - please change as required"
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   142
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   143
    changedObject == components ifTrue:[
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   144
        self tabSelectionIndexHolder value isNil ifTrue:[ 
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   145
            components notEmpty ifTrue:[ 
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   146
                self tabSelectionIndexHolder value: 1.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   147
            ].
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   148
        ].
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   149
        ^ self.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   150
    ].
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   151
    changedObject == tabSelectionIndexHolder ifTrue:[            
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   152
        | i v |
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   153
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   154
        components notEmpty ifTrue:[ 
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   155
            i := self tabSelectionIndexHolder value ? 0.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   156
            i := i max: 1.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   157
            i := i min: components size.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   158
            v := components at: i.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   159
        ] ifFalse:[ 
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   160
            v := nil.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   161
        ].
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   162
        self tabSelectionViewHolder value: v.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   163
        ^ self.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   164
    ].   
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   165
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   166
    super update:aspect with:param from:changedObject
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   167
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   168
    "Created: / 10-06-2014 / 15:53:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   169
    "Modified (format): / 10-06-2014 / 17:08:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   170
! !
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   171
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   172
!VDBTabbingContainer methodsFor:'initialization & release'!
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   173
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   174
initialize
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   175
    super initialize.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   176
    components addDependent: self.
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   177
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   178
    "Created: / 10-06-2014 / 17:01:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   179
! !
fac6e83fd5c0 Implemented VDBTabbingContainer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
   180
21
80ad6d72b260 Added stx:libtool to prerequisites
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   181
!VDBTabbingContainer class methodsFor:'documentation'!
80ad6d72b260 Added stx:libtool to prerequisites
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   182
80ad6d72b260 Added stx:libtool to prerequisites
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   183
version_HG
80ad6d72b260 Added stx:libtool to prerequisites
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   184
80ad6d72b260 Added stx:libtool to prerequisites
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   185
    ^ '$Changeset: <not expanded> $'
80ad6d72b260 Added stx:libtool to prerequisites
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   186
! !
80ad6d72b260 Added stx:libtool to prerequisites
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   187