extensions.st
changeset 239 eb8760523bed
parent 230 2e84ab798bb9
child 240 4f87d0e71d54
equal deleted inserted replaced
238:964a65133383 239:eb8760523bed
   630     "action to be added ..."
   630     "action to be added ..."
   631 
   631 
   632     Transcript showCR:self class name, ': action for #classMenuSubversionUpdate ...'.
   632     Transcript showCR:self class name, ': action for #classMenuSubversionUpdate ...'.
   633 ! !
   633 ! !
   634 
   634 
       
   635 !Tools::NewSystemBrowser methodsFor:'aspects-queries'!
       
   636 
       
   637 hasClassesSelectedAndSubversionRepositoryExists
       
   638 
       
   639     | classes |
       
   640     classes := self selectedClasses value.
       
   641     classes size = 0 ifTrue:[^false].
       
   642     ^classes
       
   643         allSatisfy:
       
   644             [:cls|self hasSubversionRepositoryFor: cls theNonMetaclass package]
       
   645 
       
   646     "Created: / 20-06-2009 / 12:10:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   647     "Modified: / 21-06-2009 / 00:31:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   648     "Modified: / 22-08-2009 / 11:19:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   649 ! !
       
   650 
       
   651 !Tools::NewSystemBrowser methodsFor:'aspects-queries'!
       
   652 
       
   653 hasProjectSelectedSubversionRepositoryExists
       
   654     ^ [ self hasProjectSelected 
       
   655             and:[self selectedProjects value size = 1 
       
   656                 and:[self hasSubversionRepositoryFor: self selectedProjects value anyOne]]]
       
   657 
       
   658     "Created: / 31-03-2008 / 15:07:52 / janfrog"
       
   659 ! !
       
   660 
       
   661 !Tools::NewSystemBrowser methodsFor:'aspects-queries'!
       
   662 
       
   663 hasSingleClassAndSubversionRepositoryExists
       
   664     ^ self hasSingleClassSelected
       
   665         and:[self hasSubversionRepositoryFor: self theSingleSelectedClass package]
       
   666 
       
   667     "Created: / 19-04-2008 / 17:40:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   668 ! !
       
   669 
       
   670 !Tools::NewSystemBrowser methodsFor:'aspects-queries'!
       
   671 
       
   672 hasSubversionRepositoryFor: package
       
   673 
       
   674     ^self hasSubversionSupport and:
       
   675         [SVN::RepositoryManager hasRepositoryForPackage: package]
       
   676 
       
   677     "Created: / 31-03-2008 / 15:08:13 / janfrog"
       
   678     "Modified: / 22-08-2009 / 10:49:33 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   679 ! !
       
   680 
   635 !Tools::NewSystemBrowser methodsFor:'menus-dynamic'!
   681 !Tools::NewSystemBrowser methodsFor:'menus-dynamic'!
   636 
   682 
   637 projectMenuSubversionBranches
   683 projectMenuSubversionBranches
   638 
   684 
   639     <resource: #programMenu >
   685     <resource: #programMenu >
   909 
   955 
   910     self selectedProjects value size ~= 1 ifTrue:[^nil].
   956     self selectedProjects value size ~= 1 ifTrue:[^nil].
   911     ^SVN::RepositoryManager repositoryForPackage: self selectedProjects value anyOne.
   957     ^SVN::RepositoryManager repositoryForPackage: self selectedProjects value anyOne.
   912 
   958 
   913     "Created: / 19-04-2008 / 11:09:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
   959     "Created: / 19-04-2008 / 11:09:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   960 ! !
       
   961 
       
   962 !Tools::NewSystemBrowser class methodsFor:'menu specs - subversion'!
       
   963 
       
   964 classMenuSubversion
       
   965     "This resource specification was automatically generated
       
   966      by the MenuEditor of ST/X."
       
   967 
       
   968     "Do not manually edit this!! If it is corrupted,
       
   969      the MenuEditor may not be able to read the specification."
       
   970 
       
   971     "
       
   972      MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classMenuSubversion
       
   973      (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classMenuSubversion)) startUp
       
   974     "
       
   975 
       
   976     <resource: #menu>
       
   977 
       
   978     ^ 
       
   979      #(Menu
       
   980         (
       
   981          (MenuItem
       
   982             label: 'Commit'
       
   983             itemValue: classMenuSubversionCommit
       
   984             translateLabel: true
       
   985             labelImage: (ResourceRetriever #'SVN::IconLibrary' commit 'Commit')
       
   986           )
       
   987          (MenuItem
       
   988             enabled: false
       
   989             label: 'Update'
       
   990             itemValue: classMenuSubversionUpdate
       
   991             translateLabel: true
       
   992             labelImage: (ResourceRetriever #'SVN::IconLibrary' update 'Update')
       
   993           )
       
   994          (MenuItem
       
   995             label: '-'
       
   996           )
       
   997          (MenuItem
       
   998             label: 'Compare with revision HEAD'
       
   999             itemValue: classMenuSubversionCompareImageWithRevisionHead
       
  1000             translateLabel: true
       
  1001             labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision HEAD')
       
  1002           )
       
  1003          (MenuItem
       
  1004             label: 'Compare with revision'
       
  1005             itemValue: classMenuSubversionCompareImageWithRevision
       
  1006             translateLabel: true
       
  1007             labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision')
       
  1008           )
       
  1009          )
       
  1010         nil
       
  1011         nil
       
  1012       )
       
  1013 ! !
       
  1014 
       
  1015 !Tools::NewSystemBrowser class methodsFor:'menu specs - subversion'!
       
  1016 
       
  1017 projectMenuSubversion
       
  1018     "This resource specification was automatically generated
       
  1019      by the MenuEditor of ST/X."
       
  1020 
       
  1021     "Do not manually edit this!! If it is corrupted,
       
  1022      the MenuEditor may not be able to read the specification."
       
  1023 
       
  1024     "
       
  1025      MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#projectMenuSubversion
       
  1026      (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser projectMenuSubversion)) startUp
       
  1027     "
       
  1028 
       
  1029     <resource: #menu>
       
  1030 
       
  1031     ^ 
       
  1032      #(Menu
       
  1033         (
       
  1034          (MenuItem
       
  1035             enabled: false
       
  1036             label: 'Branch'
       
  1037             translateLabel: true
       
  1038             submenuChannel: projectMenuSubversionBranches
       
  1039             labelImage: (ResourceRetriever #'SVN::IconLibrary' checkout 'Branch')
       
  1040             keepLinkedMenu: true
       
  1041           )
       
  1042          (MenuItem
       
  1043             label: 'Commit'
       
  1044             itemValue: projectMenuSubversionCommit
       
  1045             translateLabel: true
       
  1046             labelImage: (ResourceRetriever #'SVN::IconLibrary' commit 'Commit')
       
  1047           )
       
  1048          (MenuItem
       
  1049             label: 'Update'
       
  1050             itemValue: projectMenuSubversionUpdate
       
  1051             translateLabel: true
       
  1052             labelImage: (ResourceRetriever #'SVN::IconLibrary' update 'Update')
       
  1053           )
       
  1054          (MenuItem
       
  1055             label: '-'
       
  1056           )
       
  1057          (MenuItem
       
  1058             label: 'Browse revision log'
       
  1059             itemValue: projectMenuSubversionShowRevisionLog
       
  1060             translateLabel: true
       
  1061             labelImage: (ResourceRetriever #'SVN::IconLibrary' log 'Browse revision log')
       
  1062           )
       
  1063          (MenuItem
       
  1064             label: 'Browse working copy'
       
  1065             itemValue: projectMenuSubversionBrowseWorkingCopy
       
  1066             translateLabel: true
       
  1067           )
       
  1068          (MenuItem
       
  1069             label: '-'
       
  1070           )
       
  1071          (MenuItem
       
  1072             label: 'Compare with revision HEAD'
       
  1073             itemValue: projectMenuSubversionCompareImageWithRevisionHEAD
       
  1074             translateLabel: true
       
  1075             labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision HEAD')
       
  1076           )
       
  1077          (MenuItem
       
  1078             label: 'Compare with revision'
       
  1079             itemValue: projectMenuSubversionCompareImageWithRevision
       
  1080             translateLabel: true
       
  1081             labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision')
       
  1082           )
       
  1083          (MenuItem
       
  1084             label: '-'
       
  1085           )
       
  1086          (MenuItem
       
  1087             label: 'Merge with revision HEAD'
       
  1088             itemValue: projectMenuSubversionMergeImageWithRevisionHEAD
       
  1089             translateLabel: true
       
  1090             labelImage: (ResourceRetriever #'SVN::IconLibrary' merge 'Merge with revision HEAD')
       
  1091           )
       
  1092          (MenuItem
       
  1093             label: 'Merge with revision'
       
  1094             itemValue: projectMenuSubversionMergeImageWithRevision
       
  1095             translateLabel: true
       
  1096             labelImage: (ResourceRetriever #'SVN::IconLibrary' merge 'Merge with revision')
       
  1097           )
       
  1098          (MenuItem
       
  1099             label: '-'
       
  1100           )
       
  1101          (MenuItem
       
  1102             label: 'More'
       
  1103             translateLabel: true
       
  1104             submenu: 
       
  1105            (Menu
       
  1106               (
       
  1107                (MenuItem
       
  1108                   label: 'Load revision...'
       
  1109                   itemValue: projectMenuSubversionLoadRevision
       
  1110                   translateLabel: true
       
  1111                 )
       
  1112                (MenuItem
       
  1113                   label: '-'
       
  1114                 )
       
  1115                (MenuItem
       
  1116                   label: 'Remove working copy'
       
  1117                   itemValue: projectMenuSubversionRemoveWorkingCopy
       
  1118                   translateLabel: true
       
  1119                 )
       
  1120                (MenuItem
       
  1121                   label: '-'
       
  1122                 )
       
  1123                (MenuItem
       
  1124                   enabled: hasSingleProjectSelected
       
  1125                   label: 'Fast commit'
       
  1126                   translateLabel: true
       
  1127                   choice: projectMenuSubversionCommitMode
       
  1128                   choiceValue: fast
       
  1129                 )
       
  1130                (MenuItem
       
  1131                   enabled: hasSingleProjectSelected
       
  1132                   label: 'Full commit'
       
  1133                   translateLabel: true
       
  1134                   choice: projectMenuSubversionCommitMode
       
  1135                   choiceValue: full
       
  1136                 )
       
  1137                )
       
  1138               nil
       
  1139               nil
       
  1140             )
       
  1141           )
       
  1142          )
       
  1143         nil
       
  1144         nil
       
  1145       )
   914 ! !
  1146 ! !
   915 
  1147 
   916 !URL methodsFor:'queries'!
  1148 !URL methodsFor:'queries'!
   917 
  1149 
   918 isValidSvnRepositoryUrl
  1150 isValidSvnRepositoryUrl