mercurial/HGBookmark.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 03 Dec 2021 11:40:55 +0000
changeset 934 84b7d3b8f3a6
parent 509 f92210d4585b
child 651 903162891d8f
permissions -rw-r--r--
Add comment `HGWorkingCopy >> statusesOf:` ...to ease debugging when assertion fails.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 405
diff changeset
     3
Copyright (C) 2012-2015 Jan Vrany
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
This library is free software; you can redistribute it and/or
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
modify it under the terms of the GNU Lesser General Public
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
License as published by the Free Software Foundation; either
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
version 2.1 of the License. 
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
This library is distributed in the hope that it will be useful,
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
but WITHOUT ANY WARRANTY; without even the implied warranty of
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
Lesser General Public License for more details.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
You should have received a copy of the GNU Lesser General Public
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
License along with this library; if not, write to the Free Software
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
"{ Package: 'stx:libscm/mercurial' }"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
HGTagOrBookmark subclass:#HGBookmark
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
	instanceVariableNames:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
	classVariableNames:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
	poolDictionaries:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	category:'SCM-Mercurial-Core'
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
!HGBookmark class methodsFor:'documentation'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
copyright
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 405
diff changeset
    33
Copyright (C) 2012-2015 Jan Vrany
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
This library is free software; you can redistribute it and/or
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
modify it under the terms of the GNU Lesser General Public
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
License as published by the Free Software Foundation; either
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
version 2.1 of the License. 
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
This library is distributed in the hope that it will be useful,
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
but WITHOUT ANY WARRANTY; without even the implied warranty of
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
Lesser General Public License for more details.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
You should have received a copy of the GNU Lesser General Public
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
License along with this library; if not, write to the Free Software
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
405
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    51
!HGBookmark methodsFor:'accessing-presentation'!
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    52
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    53
color
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    54
    "Return a color that should be maybe when displaying branch
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    55
     visual guide."     
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    56
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    57
    color isNil ifTrue:[ 
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    58
        "/ Should ask color library...
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    59
        color := Color orange lighter
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    60
    ].
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    61
    ^ color
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    62
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    63
    "Created: / 24-03-2014 / 09:29:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    64
! !
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    65
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
!HGBookmark methodsFor:'actionns'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
remove
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    repository bookmarkDelete: self.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    repository := nil.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    name := '** invalid bookmark **'.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    changeset := nil.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    "Created: / 21-03-2014 / 01:17:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
!HGBookmark methodsFor:'testing'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
isActive
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    ^ repository bookmark == self.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    "Created: / 20-03-2014 / 01:50:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    "Modified: / 20-03-2014 / 17:35:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
405
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    84
!
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    85
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    86
isBookmark
9906c030ae1d More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    87
    ^ true
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89