Tools_NavigatorModel.st
author Claus Gittinger <cg@exept.de>
Wed, 20 Jul 2011 18:30:28 +0200
changeset 10358 7ffd4e4a8346
parent 10248 3237dc7fbfb8
child 10359 cd93f3dff257
permissions -rw-r--r--
added: #nameListEntryForFullyCovered #nameListEntryForPartiallyCovered #nameListEntryForUncovered #nameListEntryForpartiallyCovered

"
 COPYRIGHT (c) 2000 by eXept Software AG
	      All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
"{ Package: 'stx:libtool' }"

"{ NameSpace: Tools }"

ApplicationModel subclass:#NavigatorModel
	instanceVariableNames:''
	classVariableNames:'AllEntry SuperSendEntry UncommentedEntry'
	poolDictionaries:''
	category:'Interface-Browsers-New'
!

!NavigatorModel class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 2000 by eXept Software AG
	      All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
! !

!NavigatorModel class methodsFor:'initialization'!

initialize
    AllEntry := '* all *'.

    "Created: / 24.2.2000 / 13:41:29 / cg"
! !

!NavigatorModel class methodsFor:'defaults'!

isPseudoCategory:cat
    ^ cat = self nameListEntryForChanged
    or:[ cat = self nameListEntryForUndocumented
    or:[ cat = self nameListEntryForUnloaded
    or:[ cat = self nameListEntryForALL ]]]
!

isPseudoProtocol:protocol
    ^ protocol = self nameListEntryForObsolete
    or:[ protocol = self nameListEntryForSuperSend
    or:[ protocol = self nameListEntryForUncommented ]]
!

markForBeingInChangeList
    ^ ' *'

    "Created: / 29-08-2006 / 10:26:05 / cg"
!

markForBeingManagedBySVN: package

    | repo branch mark |    
    self hasSubversionSupport ifFalse:[^''].
    package = PackageId noProjectID ifTrue:[^''].
    
    repo := (Smalltalk at:#SVN::RepositoryManager) current 
                repositoryForPackage: package onlyFromCache: true.
    repo ifNil:[^''].
    mark := ' [SVN]'.
    branch := repo workingCopy branchOrNil.
    branch ifNotNil:[mark := ' [SVN: ', branch path,']'].
    ^mark asText colorizeAllWith: Color gray

    "Created: / 06-04-2010 / 11:23:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

markForBeingManagedBySVN: package branch: branch

    | mark |
    mark := branch 
                ifNil:
                    [' [SVN]']
                ifNotNil:
                    [' [SVN: ',branch,']'].

    ^mark asText colorizeAllWith: Color gray.

    "Created: / 14-12-2010 / 15:56:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

nameListEntryForALL
    ^ AllEntry ? '* all *'

    "Created: / 24.2.2000 / 13:39:10 / cg"
    "Modified: / 25.2.2000 / 21:18:30 / cg"
!

nameListEntryForALLWithCount
    ^ '* all (%1) *'
!

nameListEntryForBookmarked
    ^ '* bookmarked (%1) *'
!

nameListEntryForChanged
    ^ '* changed *'
!

nameListEntryForChangedWithCount
    ^ '* changed (%1) *'
!

nameListEntryForDocumentation
    ^ '* documentation (%1) *'
!

nameListEntryForExtensions
    ^ '* extensions (%1) *'
!

nameListEntryForFailedTests
    ^ '* failed tests (%1) *'

    "Created: / 08-03-2010 / 18:26:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

nameListEntryForFullyCovered
    ^ '* covered (%1) *'

    "Created: / 20-07-2011 / 18:20:53 / cg"
!

nameListEntryForLong
    ^ '* long (%1) *'
!

nameListEntryForMustBeRedefinedInSubclass
    ^ '* must be redefined (%1) *'
!

nameListEntryForNILCategory
    ^ '* no category *'
!

nameListEntryForNonStatic
    ^ '* instance *'
!

nameListEntryForObsolete
    ^ '* obsolete (%1) *'
!

nameListEntryForOverride
    ^ '* override (%1) *'
!

nameListEntryForPartiallyCovered
    ^ '* partially covered (%1) *'

    "Created: / 20-07-2011 / 18:21:05 / cg"
!

nameListEntryForPassedTests
    ^ '* passed tests (%1) *'

    "Created: / 08-03-2010 / 18:26:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

nameListEntryForRedefined
    ^ '* redefined (%1) *'
!

nameListEntryForRequired
    ^ '* required (%1) *'
!

nameListEntryForStatic
    ^ '* static *'
!

nameListEntryForSuperSend
    ^ '* super (%1) *'
!

nameListEntryForUncommented
    ^ '* uncommented (%1) *'
!

nameListEntryForUncovered
    ^ '* not covered (%1) *'

    "Created: / 20-07-2011 / 18:20:44 / cg"
!

nameListEntryForUndocumented
    ^ '* undocumented *'
!

nameListEntryForUndocumentedWithCount
    ^ '* undocumented (%1) *'
!

nameListEntryForUnloaded
    ^ '* unloaded *'
!

nameListEntryForUnloadedWithCount
    ^ '* unloaded (%1) *'
!

nameListEntryForVisited
    ^ '* visited (%1) *'
!

pseudoEntryForegroundColor
    |bg|

    bg := SelectionInListView defaultBackgroundColor ? View defaultBackgroundColor.
    bg isNil ifTrue:[ bg := View defaultBackgroundColor ].
    (Color grey brightness - (bg brightness)) abs < 0.3 ifTrue:[
        (bg brightness) > 0.7 ifTrue:[
            ^ Color grey:20.
        ].
        ^ Color grey:80.
    ].
    ^ Color grey
! !

!NavigatorModel class methodsFor:'interface specs'!

metaSpec
    "This resource specification was automatically generated
     by the UIPainter of ST/X."

    "Do not manually edit this!! If it is corrupted,
     the UIPainter may not be able to read the specification."

    "
     UIPainter new openOnClass:Tools::NavigatorModel andSelector:#metaSpec
     Tools::NavigatorModel new openInterface:#metaSpec
    "

    <resource: #canvas>

    ^ 
     #(FullSpec
        name: metaSpec
        window: 
       (WindowSpec
          label: 'MetaToggles'
          name: 'MetaToggles'
          min: (Point 0 0)
          max: (Point 1024 721)
          bounds: (Rectangle 0 0 300 28)
        )
        component: 
       (SpecCollection
          collection: (
           (RadioButtonSpec
              label: 'Instance'
              name: 'InstanceToggle'
              layout: (LayoutFrame 0 0.0 0 0.0 0 0.5 25 0)
              translateLabel: true
              tabable: true
              model: notMetaToggle
              isTriggerOnDown: true
              select: true
              isToggle: true
            )
           (RadioButtonSpec
              label: 'Class'
              name: 'ClassToggle'
              layout: (LayoutFrame 0 0.5 0 0 0 1.0 25 0)
              translateLabel: true
              labelChannel: metaToggleLabelHolder
              tabable: false
              model: metaToggle
              isTriggerOnDown: true
              select: true
              isToggle: true
            )
           )
         
        )
      )
! !

!NavigatorModel class methodsFor:'misc'!

classResources
    ^ NewSystemBrowser classResources
! !

!NavigatorModel class methodsFor:'queries'!

hasSubversionSupport

    ^NewSystemBrowser hasSubversionSupport

    "Created: / 06-04-2010 / 11:09:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!NavigatorModel methodsFor:'misc'!

resources
    "answer the resources of my masterApp, if there is one"

    |m|

    (m := self masterApplication) notNil ifTrue:[
        ^ m resources
    ].
    ^ super resources
! !

!NavigatorModel methodsFor:'queries'!

hasSubversionSupport
    ^ self class hasSubversionSupport
! !

!NavigatorModel class methodsFor:'documentation'!

version_CVS
    ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigatorModel.st,v 1.18 2011-07-20 16:30:28 cg Exp $'
!

version_SVN
    ^ '§Id: Tools__NavigatorModel.st 7802 2011-07-05 18:33:36Z vranyj1 §'
! !

NavigatorModel initialize!