FileBrowserV2PanelView.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 19 Jul 2017 09:42:32 +0200
branchjv
changeset 17619 edb119820fcb
parent 12431 9f0c59c742d5
permissions -rw-r--r--
Issue #154: Set window style using `#beToolWindow` to indicate that the minirunner window is kind of support tool rather than some X11 specific code (which does not work on Windows of course) See https://swing.fit.cvut.cz/projects/stx-jv/ticket/154
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
     1
"
321c1729db5b initial checkin
penk
parents:
diff changeset
     2
 COPYRIGHT (c) 2002 by eXept Software AG 
321c1729db5b initial checkin
penk
parents:
diff changeset
     3
	      All Rights Reserved
321c1729db5b initial checkin
penk
parents:
diff changeset
     4
321c1729db5b initial checkin
penk
parents:
diff changeset
     5
 This software is furnished under a license and may be used
321c1729db5b initial checkin
penk
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
321c1729db5b initial checkin
penk
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
321c1729db5b initial checkin
penk
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
321c1729db5b initial checkin
penk
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
321c1729db5b initial checkin
penk
parents:
diff changeset
    10
 hereby transferred.
321c1729db5b initial checkin
penk
parents:
diff changeset
    11
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
321c1729db5b initial checkin
penk
parents:
diff changeset
    13
321c1729db5b initial checkin
penk
parents:
diff changeset
    14
VariablePanel subclass:#FileBrowserV2PanelView
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    15
	instanceVariableNames:'whichView viewIsVisible visibilityHolder oldOrigin oldCorner'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    16
	classVariableNames:'BarHeight'
321c1729db5b initial checkin
penk
parents:
diff changeset
    17
	poolDictionaries:''
321c1729db5b initial checkin
penk
parents:
diff changeset
    18
	category:'Interface-Tools-File'
321c1729db5b initial checkin
penk
parents:
diff changeset
    19
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    20
321c1729db5b initial checkin
penk
parents:
diff changeset
    21
!FileBrowserV2PanelView class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    22
321c1729db5b initial checkin
penk
parents:
diff changeset
    23
copyright
321c1729db5b initial checkin
penk
parents:
diff changeset
    24
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    25
 COPYRIGHT (c) 2002 by eXept Software AG 
321c1729db5b initial checkin
penk
parents:
diff changeset
    26
	      All Rights Reserved
321c1729db5b initial checkin
penk
parents:
diff changeset
    27
321c1729db5b initial checkin
penk
parents:
diff changeset
    28
 This software is furnished under a license and may be used
321c1729db5b initial checkin
penk
parents:
diff changeset
    29
 only in accordance with the terms of that license and with the
321c1729db5b initial checkin
penk
parents:
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
321c1729db5b initial checkin
penk
parents:
diff changeset
    31
 be provided or otherwise made available to, or used by, any
321c1729db5b initial checkin
penk
parents:
diff changeset
    32
 other person.  No title to or ownership of the software is
321c1729db5b initial checkin
penk
parents:
diff changeset
    33
 hereby transferred.
321c1729db5b initial checkin
penk
parents:
diff changeset
    34
321c1729db5b initial checkin
penk
parents:
diff changeset
    35
321c1729db5b initial checkin
penk
parents:
diff changeset
    36
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    37
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    38
321c1729db5b initial checkin
penk
parents:
diff changeset
    39
documentation
321c1729db5b initial checkin
penk
parents:
diff changeset
    40
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    41
    copy of the Panel from CBrowser , if a better HorizontalPanel and VerticalPanel is available
321c1729db5b initial checkin
penk
parents:
diff changeset
    42
    the new version can be used here
5967
ff5e8356fcb7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4609
diff changeset
    43
ff5e8356fcb7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4609
diff changeset
    44
    [Author:]
ff5e8356fcb7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4609
diff changeset
    45
        Christian Penk
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    46
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    47
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    48
321c1729db5b initial checkin
penk
parents:
diff changeset
    49
!FileBrowserV2PanelView methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    50
321c1729db5b initial checkin
penk
parents:
diff changeset
    51
visible:aState
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    52
    |view1 view2 newVisible newOrigin1 newOrigin2 newCorner1 newCorner2|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    53
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    54
    newVisible := aState ? true.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    55
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    56
    ((newVisible == self isVisible) or:[subViews size ~~ 2]) ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    57
        ^ self
321c1729db5b initial checkin
penk
parents:
diff changeset
    58
    ].
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    59
    viewIsVisible := newVisible.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    60
321c1729db5b initial checkin
penk
parents:
diff changeset
    61
    view1 := subViews at:1.
321c1729db5b initial checkin
penk
parents:
diff changeset
    62
    view2 := subViews at:2.
321c1729db5b initial checkin
penk
parents:
diff changeset
    63
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    64
    viewIsVisible ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    65
        "
321c1729db5b initial checkin
penk
parents:
diff changeset
    66
        MAKE VISIBLE
321c1729db5b initial checkin
penk
parents:
diff changeset
    67
        "
321c1729db5b initial checkin
penk
parents:
diff changeset
    68
        view1 origin:0.0@0.0   corner:oldCorner.
321c1729db5b initial checkin
penk
parents:
diff changeset
    69
        view2 origin:oldOrigin corner:1.0@1.0.
321c1729db5b initial checkin
penk
parents:
diff changeset
    70
        self  resizeSubviews.
321c1729db5b initial checkin
penk
parents:
diff changeset
    71
    ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    72
        "
321c1729db5b initial checkin
penk
parents:
diff changeset
    73
        MAKE INVISIBLE
321c1729db5b initial checkin
penk
parents:
diff changeset
    74
        "
321c1729db5b initial checkin
penk
parents:
diff changeset
    75
        oldCorner := view1 relativeCorner.
321c1729db5b initial checkin
penk
parents:
diff changeset
    76
        oldOrigin := view2 relativeOrigin.
321c1729db5b initial checkin
penk
parents:
diff changeset
    77
321c1729db5b initial checkin
penk
parents:
diff changeset
    78
        orientation == #vertical ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    79
            whichView == #first ifTrue:[
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    80
                newOrigin1 := 0.0 @ 0.0. newCorner1 := 1.0 @ 0.0.
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    81
                newOrigin2 := 0.0 @ 0.0. newCorner2 := view2 corner.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    82
            ] ifFalse:[
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    83
                newOrigin1 := 0.0 @ 0.0. newCorner1 := 1.0 @ 1.0.
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    84
                newOrigin2 := 0.0 @ 1.0. newCorner2 := view2 corner.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    85
            ].
321c1729db5b initial checkin
penk
parents:
diff changeset
    86
        ] ifFalse:[
321c1729db5b initial checkin
penk
parents:
diff changeset
    87
            whichView == #first ifTrue:[
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    88
                newOrigin1 := 0.0 @ 0.0. newCorner1 := 0.0 @ 1.0.
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    89
                newOrigin2 := 0.0 @ 0.0. newCorner2 := 1.0 @ 1.0.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    90
            ] ifFalse:[
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    91
                newOrigin1 := 0.0 @ 0.0. newCorner1 := 1.0 @ 1.0.
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    92
                newOrigin2 := 1.0 @ 0.0. newCorner2 := 1.0 @ 1.0.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    93
            ]
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    94
        ].
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    95
        view1 origin:newOrigin1 corner:newCorner1.
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    96
        view2 origin:newOrigin2 corner:newCorner2.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    97
    ].
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
    98
    visibilityHolder notNil ifTrue:[visibilityHolder value:viewIsVisible]
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    99
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   100
321c1729db5b initial checkin
penk
parents:
diff changeset
   101
whichView
321c1729db5b initial checkin
penk
parents:
diff changeset
   102
    "return the value of the instance variable 'whichView' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
   103
321c1729db5b initial checkin
penk
parents:
diff changeset
   104
    ^ whichView
321c1729db5b initial checkin
penk
parents:
diff changeset
   105
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   106
321c1729db5b initial checkin
penk
parents:
diff changeset
   107
whichView:something
321c1729db5b initial checkin
penk
parents:
diff changeset
   108
    "set the value of the instance variable 'whichView' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
   109
321c1729db5b initial checkin
penk
parents:
diff changeset
   110
    whichView := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
   111
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   112
4360
959719f86629 category change
Claus Gittinger <cg@exept.de>
parents: 3892
diff changeset
   113
!FileBrowserV2PanelView methodsFor:'accessing-mvc'!
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   114
321c1729db5b initial checkin
penk
parents:
diff changeset
   115
visibilityHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
   116
    ^ visibilityHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
   117
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   118
321c1729db5b initial checkin
penk
parents:
diff changeset
   119
visibilityHolder:aHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
   120
    visibilityHolder removeDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
   121
321c1729db5b initial checkin
penk
parents:
diff changeset
   122
    (visibilityHolder := aHolder) notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   123
        visibilityHolder addDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
   124
321c1729db5b initial checkin
penk
parents:
diff changeset
   125
        realized ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   126
            self visible:(visibilityHolder value)
321c1729db5b initial checkin
penk
parents:
diff changeset
   127
        ]
321c1729db5b initial checkin
penk
parents:
diff changeset
   128
    ]
321c1729db5b initial checkin
penk
parents:
diff changeset
   129
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   130
321c1729db5b initial checkin
penk
parents:
diff changeset
   131
!FileBrowserV2PanelView methodsFor:'actions'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   132
321c1729db5b initial checkin
penk
parents:
diff changeset
   133
toggleVisibility
321c1729db5b initial checkin
penk
parents:
diff changeset
   134
321c1729db5b initial checkin
penk
parents:
diff changeset
   135
    self visible:(self isVisible not)
321c1729db5b initial checkin
penk
parents:
diff changeset
   136
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   137
321c1729db5b initial checkin
penk
parents:
diff changeset
   138
!FileBrowserV2PanelView methodsFor:'change & update'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   139
321c1729db5b initial checkin
penk
parents:
diff changeset
   140
update:what with:aPara from:chgObj
321c1729db5b initial checkin
penk
parents:
diff changeset
   141
321c1729db5b initial checkin
penk
parents:
diff changeset
   142
    chgObj == visibilityHolder ifTrue:[
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
   143
        self visible:(chgObj value).
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
   144
        ^ self.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   145
    ].
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
   146
    super update:what with:aPara from:chgObj
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   147
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   148
321c1729db5b initial checkin
penk
parents:
diff changeset
   149
!FileBrowserV2PanelView methodsFor:'initialization'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   150
321c1729db5b initial checkin
penk
parents:
diff changeset
   151
destroy
321c1729db5b initial checkin
penk
parents:
diff changeset
   152
    visibilityHolder removeDependent:self.
321c1729db5b initial checkin
penk
parents:
diff changeset
   153
    super destroy
321c1729db5b initial checkin
penk
parents:
diff changeset
   154
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   155
321c1729db5b initial checkin
penk
parents:
diff changeset
   156
initialize
321c1729db5b initial checkin
penk
parents:
diff changeset
   157
    orientation := #vertical.
321c1729db5b initial checkin
penk
parents:
diff changeset
   158
    whichView   := #first.
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
   159
    viewIsVisible := true.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   160
    super initialize
321c1729db5b initial checkin
penk
parents:
diff changeset
   161
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   162
321c1729db5b initial checkin
penk
parents:
diff changeset
   163
realize
321c1729db5b initial checkin
penk
parents:
diff changeset
   164
    super realize.
321c1729db5b initial checkin
penk
parents:
diff changeset
   165
321c1729db5b initial checkin
penk
parents:
diff changeset
   166
    visibilityHolder notNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   167
        self visible:(visibilityHolder value)
321c1729db5b initial checkin
penk
parents:
diff changeset
   168
    ]
321c1729db5b initial checkin
penk
parents:
diff changeset
   169
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   170
321c1729db5b initial checkin
penk
parents:
diff changeset
   171
!FileBrowserV2PanelView methodsFor:'queries'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   172
321c1729db5b initial checkin
penk
parents:
diff changeset
   173
anyNonRelativeSubviews
321c1729db5b initial checkin
penk
parents:
diff changeset
   174
    "return true, if any of my subviews has no relative origin/extent"
321c1729db5b initial checkin
penk
parents:
diff changeset
   175
321c1729db5b initial checkin
penk
parents:
diff changeset
   176
    "/ cg asking ca: "whats the reason for this ?"
321c1729db5b initial checkin
penk
parents:
diff changeset
   177
    "/ ^ subViews notNil
321c1729db5b initial checkin
penk
parents:
diff changeset
   178
    ^ super anyNonRelativeSubviews.
321c1729db5b initial checkin
penk
parents:
diff changeset
   179
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   180
321c1729db5b initial checkin
penk
parents:
diff changeset
   181
isVisible
4609
303b9b434cda do NOT misuse the barHeight variable as isVisible flag !
Claus Gittinger <cg@exept.de>
parents: 4360
diff changeset
   182
    ^ viewIsVisible 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   183
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   184
321c1729db5b initial checkin
penk
parents:
diff changeset
   185
specClass
321c1729db5b initial checkin
penk
parents:
diff changeset
   186
    ^ FileBrowserV2UISpecifications panelSpecClass
321c1729db5b initial checkin
penk
parents:
diff changeset
   187
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   188
321c1729db5b initial checkin
penk
parents:
diff changeset
   189
!FileBrowserV2PanelView class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   190
321c1729db5b initial checkin
penk
parents:
diff changeset
   191
version
12128
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   192
    ^ '$Id: FileBrowserV2PanelView.st 7854 2012-01-30 17:49:41Z vranyj1 $'
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   193
!
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   194
12431
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   195
version_HG
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   196
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   197
    ^ '$Changeset: <not expanded> $'
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   198
!
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   199
12128
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   200
version_SVN
a7ff7d66ee85 Improvements in LintHighlighter, few fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   201
    ^ '$Id: FileBrowserV2PanelView.st 7854 2012-01-30 17:49:41Z vranyj1 $'
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   202
! !
12431
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   203