From aaa409b6ee774bf35da217f184514f817a1127c3 Mon Sep 17 00:00:00 2001 From: Gabriele Cosmo Date: Wed, 8 Jun 2016 15:09:25 +0200 Subject: [PATCH] Import Geant4 0.1.0 source tree --- CHANGELOG | 1 + ReleaseNotes/ReleaseNotes4.0.1.txt | 202 + config/G4ODBMS_BUILD.gmk | 2 +- config/G4UI_BUILD.gmk | 2 +- config/G4UI_USE.gmk | 2 +- config/G4VIS_BUILD.gmk | 8 +- config/G4VIS_USE.gmk | 11 +- config/History | 174 +- config/architecture.gmk | 322 +- config/binmake.gmk | 196 +- config/common.gmk | 2 +- config/globlib.gmk | 4 +- config/interactivity.gmk | 20 +- config/liblist.c | 512 + environments/History | 13 +- environments/Momo/.Momoext | 26 - environments/Momo/.Momorc | 5 - environments/Momo/G4UIGAG.history | 73 - environments/Momo/GGEmake/DrawDAWN.g4m | 10 - environments/Momo/GGEmake/DrawDAWNFILE.g4m | 10 - environments/Momo/GGEmake/DrawOGLIX.g4m | 10 - environments/Momo/GGEmake/GNUmakefile | 17 - environments/Momo/GGEmake/GNUmakefile.light | 37 - environments/Momo/GGEmake/History | 23 - environments/Momo/GGEmake/README | 433 - .../GGEmake/include/MyDetectorConstruction.hh | 31 - .../Momo/GGEmake/include/MyPhysicsList.hh | 47 - .../include/MyPrimaryGeneratorAction.hh | 35 - .../Momo/GGEmake/include/MyVisManager.hh | 50 - environments/Momo/GGEmake/myDetector.cc | 81 - .../GGEmake/src/MyDetectorConstruction.cc | 117 - .../Momo/GGEmake/src/MyPhysicsList.cc | 47 - .../GGEmake/src/MyPrimaryGeneratorAction.cc | 55 - environments/Momo/GGEmake/src/MyVisManager.cc | 140 - environments/Momo/README.GGE | 449 - environments/Momo/README.first | 194 - .../Momo/java/Momo/ExampleFileFilter.class | Bin 2844 -> 0 bytes .../Momo/java/Momo/ExampleFileFilter.java | 256 - environments/Momo/java/Momo/GAG.jar | Bin 60443 -> 0 bytes .../Momo/java/Momo/GAG/AboutDialog.class | Bin 1762 -> 0 bytes .../Momo/java/Momo/GAG/BooleanCombo.class | Bin 823 -> 0 bytes .../Momo/java/Momo/GAG/ErrStream.class | Bin 1834 -> 0 bytes .../java/Momo/GAG/ExampleFileFilter.class | Bin 2844 -> 0 bytes .../Momo/java/Momo/GAG/ExampleFileFilter.java | 256 - environments/Momo/java/Momo/GAG/GAG.jar | Bin 60443 -> 0 bytes .../Momo/java/Momo/GAG/GAG/AboutDialog.class | Bin 1762 -> 0 bytes .../Momo/java/Momo/GAG/GAG/BooleanCombo.class | Bin 823 -> 0 bytes .../Momo/java/Momo/GAG/GAG/ErrStream.class | Bin 1834 -> 0 bytes environments/Momo/java/Momo/GAG/GAG/GAG.class | Bin 14593 -> 0 bytes environments/Momo/java/Momo/GAG/GAG/GAG.java | 618 - .../java/Momo/GAG/GAG/GAGcommandItem.class | Bin 1731 -> 0 bytes .../java/Momo/GAG/GAG/GAGcommandItem.java | 61 - .../Momo/java/Momo/GAG/GAG/GAGpipe.class | Bin 2034 -> 0 bytes .../Momo/java/Momo/GAG/GAG/GAGpipe.java | 66 - .../java/Momo/GAG/GAG/GAGtextEditor.class | Bin 248 -> 0 bytes .../Momo/java/Momo/GAG/GAG/GAGtextEditor.java | 13 - .../Momo/java/Momo/GAG/GAG/HtmlFrame.class | Bin 1410 -> 0 bytes .../Momo/java/Momo/GAG/GAG/HtmlFrame.java | 31 - .../Momo/java/Momo/GAG/GAG/ParamPanel.class | Bin 9885 -> 0 bytes .../Momo/java/Momo/GAG/GAG/ParamPanel.java | 416 - environments/Momo/java/Momo/GAG/GAG/README | 24 - .../Momo/java/Momo/GAG/GAG/TextEditor.class | Bin 4895 -> 0 bytes .../Momo/java/Momo/GAG/GAG/TextEditor.java | 131 - .../Momo/java/Momo/GAG/GAGcommandItem.class | Bin 1731 -> 0 bytes .../Momo/java/Momo/GAG/GAGcommandItem.java | 61 - environments/Momo/java/Momo/GAG/GAGpipe.class | Bin 2034 -> 0 bytes environments/Momo/java/Momo/GAG/GAGpipe.java | 66 - .../Momo/java/Momo/GAG/GAGtextEditor.class | Bin 248 -> 0 bytes .../Momo/java/Momo/GAG/GAGtextEditor.java | 13 - .../Momo/java/Momo/GAG/HtmlFrame.class | Bin 1410 -> 0 bytes .../Momo/java/Momo/GAG/HtmlFrame.java | 31 - environments/Momo/java/Momo/GAG/NOTE.txt | 19 - .../Momo/java/Momo/GAG/ParamPanel.class | Bin 9885 -> 0 bytes .../Momo/java/Momo/GAG/ParamPanel.java | 416 - environments/Momo/java/Momo/GAG/README | 24 - .../java/Momo/GAG/TextEdit/AboutDialog.class | Bin 2094 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/EditMan.class | Bin 4818 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/EditMan.java | 444 - .../java/Momo/GAG/TextEdit/FindDialog.class | Bin 2867 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/FontMan.class | Bin 1021 -> 0 bytes .../java/Momo/GAG/TextEdit/NotFound.class | Bin 1821 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/Note.class | Bin 2183 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/Note.java | 118 - .../java/Momo/GAG/TextEdit/NoteListener.class | Bin 213 -> 0 bytes .../java/Momo/GAG/TextEdit/NoteListener.java | 34 - .../java/Momo/GAG/TextEdit/PrintMan.class | Bin 2827 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/PrintMan.java | 154 - .../java/Momo/GAG/TextEdit/Progress.class | Bin 1096 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/Progress.java | 67 - .../Momo/GAG/TextEdit/ReplaceDialog.class | Bin 3767 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/SizeMan.class | Bin 1109 -> 0 bytes .../java/Momo/GAG/TextEdit/TextCanvas.class | Bin 19373 -> 0 bytes .../java/Momo/GAG/TextEdit/TextCanvas.java | 1407 -- .../java/Momo/GAG/TextEdit/TextCursor.class | Bin 1548 -> 0 bytes .../java/Momo/GAG/TextEdit/TextCursor.java | 100 - .../java/Momo/GAG/TextEdit/TextEdit.class | Bin 5585 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/TextEdit.java | 308 - .../java/Momo/GAG/TextEdit/TextEdit.java.bak | 306 - .../java/Momo/GAG/TextEdit/TextJournal.class | Bin 5698 -> 0 bytes .../java/Momo/GAG/TextEdit/TextJournal.java | 463 - .../Momo/GAG/TextEdit/TextJournalItem.class | Bin 448 -> 0 bytes .../java/Momo/GAG/TextEdit/TextMenu.class | Bin 4060 -> 0 bytes .../Momo/java/Momo/GAG/TextEdit/TextMenu.java | 254 - .../java/Momo/GAG/TextEdit/TextPosition.class | Bin 339 -> 0 bytes .../java/Momo/GAG/TextEdit/TextPosition.java | 40 - .../java/Momo/GAG/TextEdit/TextScroller.class | Bin 582 -> 0 bytes .../java/Momo/GAG/TextEdit/TextScroller.java | 53 - .../Momo/java/Momo/GAG/TextEditor.class | Bin 4895 -> 0 bytes .../Momo/java/Momo/GAG/TextEditor.java | 131 - environments/Momo/java/Momo/GAG/g4.eps | 316 - environments/Momo/java/Momo/GAG/gag.class | Bin 411 -> 0 bytes environments/Momo/java/Momo/GAG/gag.java | 15 - .../Momo/java/Momo/GGE/AbstractGGEFrame.class | Bin 929 -> 0 bytes .../Momo/java/Momo/GGE/AbstractGGEFrame.java | 19 - .../Momo/java/Momo/GGE/AngUnitCombo.class | Bin 362 -> 0 bytes .../Momo/java/Momo/GGE/AngUnitCombo.java | 9 - .../Momo/java/Momo/GGE/BREPDialog.class | Bin 8114 -> 0 bytes .../Momo/java/Momo/GGE/BREPDialog.java | 241 - .../Momo/java/Momo/GGE/BREPItem.class | Bin 7689 -> 0 bytes environments/Momo/java/Momo/GGE/BREPItem.java | 293 - .../Momo/java/Momo/GGE/BooleanCombo.class | Bin 383 -> 0 bytes .../Momo/java/Momo/GGE/CSGDialog.class | Bin 4819 -> 0 bytes .../Momo/java/Momo/GGE/CSGDialog.java | 149 - environments/Momo/java/Momo/GGE/CSGItem.class | Bin 5675 -> 0 bytes environments/Momo/java/Momo/GGE/CSGItem.java | 194 - .../java/Momo/GGE/CreateLogicalDialog.class | Bin 2185 -> 0 bytes .../java/Momo/GGE/CreateMaterialCombi.class | Bin 2349 -> 0 bytes .../java/Momo/GGE/CreateMaterialCombi.java | 62 - .../java/Momo/GGE/CreateMaterialScratch.class | Bin 2358 -> 0 bytes .../java/Momo/GGE/CreateMaterialScratch.java | 67 - .../java/Momo/GGE/CreateRepeatDialog.class | Bin 2130 -> 0 bytes .../Momo/GGE/CreateRepeatRotateDialog.class | Bin 2172 -> 0 bytes .../java/Momo/GGE/CreateReplicaDialog.class | Bin 2127 -> 0 bytes .../java/Momo/GGE/CreateReplicaDialog.java | 61 - .../java/Momo/GGE/CreateSingleDialog.class | Bin 2133 -> 0 bytes .../java/Momo/GGE/CreateSlicingDialog.class | Bin 2154 -> 0 bytes .../java/Momo/GGE/CreateSlicingDialog.java | 61 - .../Momo/java/Momo/GGE/DAWNSourceFrame.class | Bin 3856 -> 0 bytes .../Momo/java/Momo/GGE/DAWNSourceFrame.java | 103 - .../Momo/java/Momo/GGE/DellCombiDialog.class | Bin 1911 -> 0 bytes .../Momo/java/Momo/GGE/DellCombiDialog.java | 51 - .../java/Momo/GGE/DellLogicalDialog.class | Bin 1879 -> 0 bytes .../Momo/java/Momo/GGE/DellLogicalDialog.java | 52 - .../Momo/java/Momo/GGE/DellRepeatDialog.class | Bin 1834 -> 0 bytes .../Momo/java/Momo/GGE/DellRepeatDialog.java | 55 - .../Momo/GGE/DellRepeatRotateDialog.class | Bin 1864 -> 0 bytes .../java/Momo/GGE/DellRepeatRotateDialog.java | 55 - .../java/Momo/GGE/DellReplicaDialog.class | Bin 1828 -> 0 bytes .../Momo/java/Momo/GGE/DellReplicaDialog.java | 52 - .../java/Momo/GGE/DellScratchDialog.class | Bin 1930 -> 0 bytes .../Momo/java/Momo/GGE/DellScratchDialog.java | 54 - .../Momo/java/Momo/GGE/DellSingleDialog.class | Bin 1837 -> 0 bytes .../Momo/java/Momo/GGE/DellSingleDialog.java | 56 - .../java/Momo/GGE/DellSlicingDialog.class | Bin 1846 -> 0 bytes .../Momo/java/Momo/GGE/DellSlicingDialog.java | 52 - .../Momo/java/Momo/GGE/DoubleCellEditor.class | Bin 1068 -> 0 bytes .../Momo/java/Momo/GGE/DoubleCellEditor.java | 35 - .../Momo/java/Momo/GGE/ElementCell.class | Bin 2085 -> 0 bytes .../Momo/java/Momo/GGE/ElementCell.java | 53 - .../Momo/java/Momo/GGE/ElementItem.class | Bin 1038 -> 0 bytes .../Momo/java/Momo/GGE/ElementItem.java | 23 - .../Momo/java/Momo/GGE/ElementsTable.class | Bin 11256 -> 0 bytes .../Momo/java/Momo/GGE/ElementsTable.java | 221 - .../java/Momo/GGE/ExampleFileFilter.class | Bin 2844 -> 0 bytes .../Momo/java/Momo/GGE/ExampleFileFilter.java | 256 - environments/Momo/java/Momo/GGE/GGE.jar | Bin 129504 -> 0 bytes environments/Momo/java/Momo/GGE/GGEItem.class | Bin 503 -> 0 bytes environments/Momo/java/Momo/GGE/GGEItem.java | 13 - .../java/Momo/GGE/InsertCombiDialog.class | Bin 1963 -> 0 bytes .../Momo/java/Momo/GGE/InsertCombiDialog.java | 54 - .../java/Momo/GGE/InsertLogicalDialog.class | Bin 2051 -> 0 bytes .../java/Momo/GGE/InsertLogicalDialog.java | 55 - .../java/Momo/GGE/InsertRepeatDialog.class | Bin 1996 -> 0 bytes .../java/Momo/GGE/InsertRepeatDialog.java | 59 - .../Momo/GGE/InsertRepeatRotateDialog.class | Bin 2026 -> 0 bytes .../Momo/GGE/InsertRepeatRotateDialog.java | 59 - .../java/Momo/GGE/InsertReplicaDialog.class | Bin 1990 -> 0 bytes .../java/Momo/GGE/InsertReplicaDialog.java | 55 - .../java/Momo/GGE/InsertScratchDialog.class | Bin 1964 -> 0 bytes .../java/Momo/GGE/InsertScratchDialog.java | 55 - .../java/Momo/GGE/InsertSingleDialog.class | Bin 1999 -> 0 bytes .../java/Momo/GGE/InsertSingleDialog.java | 61 - .../java/Momo/GGE/InsertSlicingDialog.class | Bin 2018 -> 0 bytes .../java/Momo/GGE/InsertSlicingDialog.java | 55 - .../Momo/java/Momo/GGE/IntCellEditor.class | Bin 1063 -> 0 bytes .../Momo/java/Momo/GGE/IntCellEditor.java | 35 - .../Momo/java/Momo/GGE/LenUnitCombo.class | Bin 495 -> 0 bytes .../Momo/java/Momo/GGE/LenUnitCombo.java | 14 - .../Momo/java/Momo/GGE/LogicalItem.class | Bin 3282 -> 0 bytes .../Momo/java/Momo/GGE/LogicalItem.java | 81 - .../Momo/java/Momo/GGE/LogicalPanel.class | Bin 8231 -> 0 bytes .../Momo/java/Momo/GGE/LogicalPanel.java | 254 - .../java/Momo/GGE/MaterialAbstTable.class | Bin 5669 -> 0 bytes .../Momo/java/Momo/GGE/MaterialAbstTable.java | 181 - .../java/Momo/GGE/MaterialCombiItem.class | Bin 964 -> 0 bytes .../Momo/java/Momo/GGE/MaterialCombiItem.java | 33 - .../java/Momo/GGE/MaterialCombiTable.class | Bin 1409 -> 0 bytes .../java/Momo/GGE/MaterialCombiTable.java | 52 - .../Momo/java/Momo/GGE/MaterialDB.g4mt | Bin 7256 -> 0 bytes .../Momo/java/Momo/GGE/MaterialFrame.class | Bin 11778 -> 0 bytes .../Momo/java/Momo/GGE/MaterialFrame.java | 494 - .../Momo/java/Momo/GGE/MaterialItem.class | Bin 1396 -> 0 bytes .../Momo/java/Momo/GGE/MaterialItem.java | 21 - .../java/Momo/GGE/MaterialScratchItem.class | Bin 660 -> 0 bytes .../java/Momo/GGE/MaterialScratchItem.java | 21 - .../java/Momo/GGE/MaterialScratchTable.class | Bin 1421 -> 0 bytes .../java/Momo/GGE/MaterialScratchTable.java | 46 - .../Momo/java/Momo/GGE/NameCellEditor.class | Bin 590 -> 0 bytes .../Momo/java/Momo/GGE/NameCellEditor.java | 21 - .../Momo/java/Momo/GGE/PhysicalItem.class | Bin 1194 -> 0 bytes .../Momo/java/Momo/GGE/PhysicalItem.java | 35 - .../Momo/java/Momo/GGE/PhysicalPanel.class | Bin 4009 -> 0 bytes .../Momo/java/Momo/GGE/PhysicalPanel.java | 152 - .../Momo/java/Momo/GGE/RatioCellEditor.class | Bin 2380 -> 0 bytes .../Momo/java/Momo/GGE/RatioCellEditor.java | 66 - .../Momo/java/Momo/GGE/RatioDialog.class | Bin 3148 -> 0 bytes .../Momo/java/Momo/GGE/RatioDialog.java | 95 - .../Momo/java/Momo/GGE/RatioItem.class | Bin 1558 -> 0 bytes .../Momo/java/Momo/GGE/RatioItem.java | 46 - .../java/Momo/GGE/RepeatedRotateVolume.class | Bin 14088 -> 0 bytes .../java/Momo/GGE/RepeatedRotateVolume.java | 424 - .../Momo/java/Momo/GGE/RepeatedVolume.class | Bin 11204 -> 0 bytes .../Momo/java/Momo/GGE/RepeatedVolume.java | 374 - .../Momo/java/Momo/GGE/ReplicasFrame.class | Bin 8017 -> 0 bytes .../Momo/java/Momo/GGE/ReplicasFrame.java | 252 - .../Momo/java/Momo/GGE/SingleVolume.class | Bin 10180 -> 0 bytes .../Momo/java/Momo/GGE/SingleVolume.java | 337 - .../java/Momo/GGE/SlicingAxialFrame.class | Bin 7925 -> 0 bytes .../Momo/java/Momo/GGE/SlicingAxialFrame.java | 248 - .../Momo/java/Momo/GGE/SolidCellEditor.class | Bin 2722 -> 0 bytes .../Momo/java/Momo/GGE/SolidCellEditor.java | 83 - .../Momo/java/Momo/GGE/SolidDialog.class | Bin 353 -> 0 bytes .../Momo/java/Momo/GGE/SolidDialog.java | 17 - .../Momo/java/Momo/GGE/SolidItem.class | Bin 464 -> 0 bytes .../Momo/java/Momo/GGE/SolidItem.java | 16 - .../Momo/java/Momo/GGE/SourceFrame.class | Bin 3840 -> 0 bytes .../Momo/java/Momo/GGE/SourceFrame.java | 104 - .../Momo/java/Momo/GGE/VisAtbDialog.class | Bin 4165 -> 0 bytes .../Momo/java/Momo/GGE/VisAtbDialog.java | 150 - .../Momo/java/Momo/GGE/VisAtbItem.class | Bin 1468 -> 0 bytes .../Momo/java/Momo/GGE/VisAtbItem.java | 33 - .../java/Momo/GGE/VisAtbPanel$editVis.class | Bin 1234 -> 0 bytes .../Momo/java/Momo/GGE/VisAtbPanel.class | Bin 4682 -> 0 bytes .../Momo/java/Momo/GGE/VisAtbPanel.java | 131 - .../Momo/GGE/VisCellRenderer$VisIcon.class | Bin 913 -> 0 bytes .../Momo/java/Momo/GGE/VisCellRenderer.class | Bin 763 -> 0 bytes .../Momo/java/Momo/GGE/VisMethodPanel.class | Bin 1946 -> 0 bytes .../Momo/java/Momo/GGE/VolumesFrame.class | Bin 13234 -> 0 bytes .../Momo/java/Momo/GGE/VolumesFrame.java | 594 - environments/Momo/java/Momo/GGE/gge.class | Bin 330 -> 0 bytes environments/Momo/java/Momo/GGE/gge.java | 5 - .../Momo/java/Momo/GGE/rotateallsolids.g4dt | Bin 11556 -> 0 bytes .../java/Momo/GGE/singleplacenadrotate.g4dt | Bin 11131 -> 0 bytes .../java/Momo/GGE/translateallsolids.g4dt | Bin 11245 -> 0 bytes .../Momo/java/Momo/Momo/ErrStream.class | Bin 2100 -> 0 bytes .../Momo/java/Momo/Momo/ErrStream.java | 71 - environments/Momo/java/Momo/Momo/Momo.jar | Bin 7372 -> 0 bytes .../Momo/java/Momo/Momo/editorFrame.class | Bin 1706 -> 0 bytes .../Momo/java/Momo/Momo/editorFrame.java | 60 - environments/Momo/java/Momo/Momo/momo.class | Bin 4137 -> 0 bytes environments/Momo/java/Momo/Momo/momo.java | 168 - .../Momo/java/Momo/Momo/momopipe.class | Bin 2006 -> 0 bytes .../Momo/java/Momo/Momo/momopipe.java | 61 - environments/Momo/java/Momo/NOTE.txt | 19 - .../Momo/java/Momo/TextEdit/AboutDialog.class | Bin 2094 -> 0 bytes .../Momo/java/Momo/TextEdit/EditMan.class | Bin 4818 -> 0 bytes .../Momo/java/Momo/TextEdit/EditMan.java | 444 - .../Momo/java/Momo/TextEdit/FindDialog.class | Bin 2867 -> 0 bytes .../Momo/java/Momo/TextEdit/FontMan.class | Bin 1021 -> 0 bytes .../Momo/java/Momo/TextEdit/NotFound.class | Bin 1821 -> 0 bytes .../Momo/java/Momo/TextEdit/Note.class | Bin 2183 -> 0 bytes .../Momo/java/Momo/TextEdit/Note.java | 118 - .../java/Momo/TextEdit/NoteListener.class | Bin 213 -> 0 bytes .../Momo/java/Momo/TextEdit/NoteListener.java | 34 - .../Momo/java/Momo/TextEdit/PrintMan.class | Bin 2827 -> 0 bytes .../Momo/java/Momo/TextEdit/PrintMan.java | 154 - .../Momo/java/Momo/TextEdit/Progress.class | Bin 1096 -> 0 bytes .../Momo/java/Momo/TextEdit/Progress.java | 67 - .../java/Momo/TextEdit/ReplaceDialog.class | Bin 3767 -> 0 bytes .../Momo/java/Momo/TextEdit/SizeMan.class | Bin 1109 -> 0 bytes .../Momo/java/Momo/TextEdit/TextCanvas.class | Bin 19373 -> 0 bytes .../Momo/java/Momo/TextEdit/TextCanvas.java | 1407 -- .../Momo/java/Momo/TextEdit/TextCursor.class | Bin 1548 -> 0 bytes .../Momo/java/Momo/TextEdit/TextCursor.java | 100 - .../Momo/java/Momo/TextEdit/TextEdit.class | Bin 5599 -> 0 bytes .../Momo/java/Momo/TextEdit/TextEdit.java | 308 - .../Momo/java/Momo/TextEdit/TextEdit.java.bak | 306 - .../Momo/java/Momo/TextEdit/TextJournal.class | Bin 5698 -> 0 bytes .../Momo/java/Momo/TextEdit/TextJournal.java | 463 - .../java/Momo/TextEdit/TextJournalItem.class | Bin 448 -> 0 bytes .../Momo/java/Momo/TextEdit/TextMenu.class | Bin 4060 -> 0 bytes .../Momo/java/Momo/TextEdit/TextMenu.java | 254 - .../java/Momo/TextEdit/TextPosition.class | Bin 339 -> 0 bytes .../Momo/java/Momo/TextEdit/TextPosition.java | 40 - .../java/Momo/TextEdit/TextScroller.class | Bin 582 -> 0 bytes .../Momo/java/Momo/TextEdit/TextScroller.java | 53 - environments/Momo/java/Momo/g4.eps | 316 - environments/Momo/java/Momo/gag.class | Bin 411 -> 0 bytes environments/Momo/java/Momo/gag.java | 15 - environments/Momo/java/README.JAVAGAG | 51 - environments/Momo/knownBugs_todoList | 33 - environments/Momo/tcltk/.Momo | 4 - environments/Momo/tcltk/.Momoext | 26 - environments/Momo/tcltk/.Momorc | 5 - environments/Momo/tcltk/DefineColor.proc | 382 - environments/Momo/tcltk/FBmain.proc | 149 - environments/Momo/tcltk/FBtext/FBclear.proc | 61 - environments/Momo/tcltk/FBtext/FBsavelog.proc | 287 - .../Momo/tcltk/FBtext/FBsearchstring.proc | 411 - environments/Momo/tcltk/FBtext/FBtext.tcl | 159 - environments/Momo/tcltk/FBtext/MEMO | 29 - environments/Momo/tcltk/FBtext/tclIndex | 19 - environments/Momo/tcltk/GAG/GAG.tcl | 256 - environments/Momo/tcltk/GAG/GAGclearlog.proc | 82 - environments/Momo/tcltk/GAG/GAGconnect.proc | 822 - environments/Momo/tcltk/GAG/GAGdirectory.proc | 138 - environments/Momo/tcltk/GAG/GAGhistory.proc | 763 - environments/Momo/tcltk/GAG/GAGparam.proc | 953 - environments/Momo/tcltk/GAG/GAGsavelog.proc | 303 - .../Momo/tcltk/GAG/GAGsearchstring.proc | 411 - environments/Momo/tcltk/GAG/MEMO | 73 - environments/Momo/tcltk/GAG/tclIndex | 45 - environments/Momo/tcltk/MEMO | 43 - environments/Momo/tcltk/Momo.tcl | 293 - environments/Momo/tcltk/Public.proc | 547 - environments/Momo/tcltk/README | 82 - environments/Momo/tcltk/SelectFont.proc | 146 - environments/Momo/tcltk/SetEnv.proc | 208 - environments/Momo/tcltk/tMomo.tcl | 305 - environments/Momo/tcltk/tclIndex | 30 - environments/Momo/tcltk/tmomo | 2 - environments/OPACS/History | 2 +- environments/OPACS/README | 50 +- environments/OPACS/app/EXPO.cc | 35 +- environments/OPACS/app/TEST.cc | 8 +- environments/OPACS/include/EXPO_Detector.icc | 4 +- .../OPACS/include/EXPO_PhysicsList.hh | 8 +- .../OPACS/include/EXPO_PhysicsList.icc | 9 +- environments/OPACS/include/EXPO_Primary.icc | 4 +- environments/OPACS/include/EXPO_Templates.hh | 142 + environments/OPACS/include/G4o.h | 4 +- environments/OPACS/include/G4oCommon.hh | 4 +- environments/OPACS/include/G4oCommon.icc | 4 +- environments/OPACS/include/G4oDrawer.hh | 4 +- environments/OPACS/include/G4oEXPO.h | 4 +- environments/OPACS/include/G4oScene.hh | 22 +- environments/OPACS/include/G4oState.hh | 4 +- environments/OPACS/include/WoG4o.h | 4 +- environments/OPACS/mgr/Config.mk | 391 +- environments/OPACS/mgr/Make.odb | 18 +- environments/OPACS/mgr/Makefile | 37 +- environments/OPACS/mgr/This.mk | 59 +- environments/OPACS/mgr/setup.csh | 47 +- environments/OPACS/src/G4o.cc | 24 +- environments/OPACS/src/G4oDrawer.cc | 4 +- environments/OPACS/src/G4oScene.cc | 32 +- environments/OPACS/src/G4oState.cc | 4 +- environments/OPACS/usr/EXPO.odb | 27 +- environments/XVT/G4UIxvt.readme.txt | 237 - environments/XVT/GNUmakefile | 34 - environments/XVT/HP_GUI/GUI.amf | 1 - environments/XVT/HP_GUI/GUI.h | 35 - environments/XVT/HP_GUI/GUI.uil | 3371 --- environments/XVT/HP_GUI/GUI.url | 120 - environments/XVT/HP_GUI/XResMgr.cxx | 68 - environments/XVT/HP_GUI/bitmaps/Floppy.bmp | Bin 378 -> 0 bytes environments/XVT/HP_GUI/bitmaps/execute.bmp | Bin 350 -> 0 bytes environments/XVT/HP_GUI/bitmaps/help.bmp | Bin 158 -> 0 bytes environments/XVT/HP_GUI/bitmaps/pause.bmp | Bin 466 -> 0 bytes environments/XVT/HP_GUI/bitmaps/print.bmp | Bin 354 -> 0 bytes environments/XVT/HP_GUI/bitmaps/quit.bmp | Bin 466 -> 0 bytes environments/XVT/HP_GUI/bitmaps/resume.bmp | Bin 466 -> 0 bytes environments/XVT/HP_GUI/bitmaps/runit.bmp | Bin 578 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/command.bmp | Bin 198 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/gtox.bmp | Bin 202 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/helpcom.bmp | Bin 202 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/parameter.bmp | Bin 198 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/smallpause3d.bmp | Bin 194 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/smallprint.bmp | Bin 202 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/smallquit3d.bmp | Bin 194 -> 0 bytes .../HP_GUI/bitmaps/small/smallresume3d.bmp | Bin 194 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/smallsave.bmp | Bin 194 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/smallsaveas.bmp | Bin 202 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/smallstart3d.bmp | Bin 194 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/smallstop3d.bmp | Bin 194 -> 0 bytes .../XVT/HP_GUI/bitmaps/small/xtog.bmp | Bin 202 -> 0 bytes environments/XVT/HP_GUI/bitmaps/start.bmp | Bin 466 -> 0 bytes environments/XVT/HP_GUI/bitmaps/stop.bmp | Bin 466 -> 0 bytes environments/XVT/HP_GUI/bitmaps/textHelp.bmp | Bin 254 -> 0 bytes environments/XVT/HP_GUI/cstartup.cxx | 60 - environments/XVT/HP_GUI/factory/AppDef.h | 24 - environments/XVT/HP_GUI/factory/_ctskdoc.h | 44 - environments/XVT/HP_GUI/factory/_ctskwin.h | 43 - environments/XVT/HP_GUI/factory/_g4xvtdc.h | 44 - environments/XVT/HP_GUI/factory/_g4xvtgu.h | 50 - environments/XVT/HP_GUI/factory/_g4xvtwn.h | 138 - environments/XVT/HP_GUI/factory/classes.cxx | 110 - environments/XVT/HP_GUI/factory/classes.h | 37 - environments/XVT/HP_GUI/factory/defines.h | 30 - environments/XVT/HP_GUI/factory/faccb.h | 35 - environments/XVT/HP_GUI/factory/faccb0.cxx | 171 - environments/XVT/HP_GUI/factory/faccb1.cxx | 186 - environments/XVT/HP_GUI/factory/faccb2.cxx | 201 - environments/XVT/HP_GUI/factory/faccb3.cxx | 185 - environments/XVT/HP_GUI/factory/faccb4.cxx | 151 - environments/XVT/HP_GUI/factory/faccmd.h | 206 - environments/XVT/HP_GUI/factory/facdec.h | 40 - environments/XVT/HP_GUI/factory/facdef.h | 40 - environments/XVT/HP_GUI/factory/facstr.h | 39 - environments/XVT/HP_GUI/factory/factory.bmp | Bin 632 -> 0 bytes environments/XVT/HP_GUI/factory/factory.cxx | 65 - environments/XVT/HP_GUI/factory/factory.h | 50 - environments/XVT/HP_GUI/factory/factory.url | 74 - environments/XVT/HP_GUI/factory/images.url | 18 - environments/XVT/HP_GUI/factory/strings.url | 12 - environments/XVT/HP_GUI/g4xvtdoc.cxx | 211 - environments/XVT/HP_GUI/g4xvtdoc.h | 82 - environments/XVT/HP_GUI/g4xvtgui.cxx | 265 - environments/XVT/HP_GUI/g4xvtgui.h | 90 - environments/XVT/HP_GUI/g4xvtwin.cxx | 1170 - environments/XVT/HP_GUI/g4xvtwin.h | 282 - environments/XVT/HP_GUI/makefile | 90 - environments/XVT/HP_GUI/oval.bmp | Bin 1334 -> 0 bytes environments/XVT/HP_GUI/readme.txt | 487 - environments/XVT/HP_GUI/red.bmp | Bin 1334 -> 0 bytes environments/XVT/HP_GUI/temp.bmp | Bin 1334 -> 0 bytes environments/XVT/HP_setup | 102 - environments/XVT/MyCalorimeterHit.cc | 74 - environments/XVT/MyCalorimeterHit.hh | 82 - .../XVT/MyCalorimeterHitsCollection.cc | 40 - .../XVT/MyCalorimeterHitsCollection.hh | 46 - environments/XVT/MyCalorimeterSD.cc | 91 - environments/XVT/MyCalorimeterSD.hh | 45 - environments/XVT/MyDetectorConstruction.cc | 145 - environments/XVT/MyDetectorConstruction.hh | 30 - environments/XVT/MyDetectorMessenger.cc | 61 - environments/XVT/MyDetectorMessenger.hh | 38 - environments/XVT/MyEventAction.cc | 95 - environments/XVT/MyEventAction.hh | 42 - environments/XVT/MyEventActionMessenger.cc | 44 - environments/XVT/MyEventActionMessenger.hh | 31 - environments/XVT/MyPrimaryGeneratorAction.cc | 48 - environments/XVT/MyPrimaryGeneratorAction.hh | 35 - environments/XVT/MyRunAction.cc | 44 - environments/XVT/MyRunAction.hh | 37 - environments/XVT/MySteppingAction.cc | 50 - environments/XVT/MySteppingAction.hh | 35 - environments/XVT/MySteppingActionMessenger.cc | 44 - environments/XVT/MySteppingActionMessenger.hh | 31 - environments/XVT/README | 14 - environments/XVT/XVT_G4_TUTORIAL.txt | 197 - environments/XVT/benchmark.readme.txt | 52 - environments/XVT/future_recommendations.txt | 95 - environments/XVT/oval.bmp | Bin 1334 -> 0 bytes environments/XVT/rect.bmp | Bin 1334 -> 0 bytes environments/XVT/red.bmp | Bin 1334 -> 0 bytes environments/XVT/temp.bmp | Bin 1334 -> 0 bytes environments/XVT/xvt.benchmark.cc | 79 - examples/GNUmakefile | 2 +- examples/History | 49 +- examples/README | 42 +- examples/advanced/GNUmakefile | 2 +- examples/advanced/README | 2 +- examples/extended/E01/GNUmakefile | 2 +- examples/extended/E01/History | 6 +- examples/extended/E01/README | 2 +- examples/extended/E01/exampleE01.cc | 2 +- .../extended/E01/include/ExE01PhysicsList.hh | 4 +- .../extended/E01/include/ExE01RunAction.hh | 12 +- .../E01/include/ExE01SteppingAction.hh | 6 +- examples/extended/E01/src/ExE01PhysicsList.cc | 5 +- examples/extended/E01/src/ExE01RunAction.cc | 8 +- .../extended/E01/src/ExE01SteppingAction.cc | 4 +- examples/extended/E02/GNUmakefile | 2 +- examples/extended/E02/History | 9 +- examples/extended/E02/README | 59 +- examples/extended/E02/exampleE02.cc | 4 +- examples/extended/E02/exampleE02run | 33 +- examples/extended/E02/g4odbms_setup.csh | 7 +- .../extended/E02/include/ExE02EventAction.hh | 6 +- .../extended/E02/include/ExE02PhysicsList.hh | 4 +- .../extended/E02/include/ExE02RunAction.hh | 7 +- .../E02/include/ExE02StackingAction.hh | 8 +- examples/extended/E02/src/ExE02EventAction.cc | 6 +- examples/extended/E02/src/ExE02PhysicsList.cc | 133 +- examples/extended/E02/src/ExE02RunAction.cc | 8 +- .../extended/E02/src/ExE02StackingAction.cc | 2 +- examples/extended/E03/GNUmakefile | 2 +- examples/extended/E03/History | 7 +- examples/extended/E03/README | 2 +- examples/extended/E03/exampleE03.cc | 2 +- .../extended/E03/include/ExE03PhysicsList.hh | 8 +- .../extended/E03/include/ExE03RunAction.hh | 7 +- examples/extended/E03/src/ExE03PhysicsList.cc | 137 +- examples/extended/E03/src/ExE03RunAction.cc | 7 +- examples/novice/GNUmakefile | 2 +- examples/novice/N01/GNUmakefile | 2 +- examples/novice/N01/GNUmakefile.light | 2 +- examples/novice/N01/History | 4 +- examples/novice/N01/README | 2 +- examples/novice/N01/exampleN01.cc | 4 +- examples/novice/N01/exampleN01.out | 2 +- .../N01/include/ExN01DetectorConstruction.hh | 4 +- .../novice/N01/include/ExN01PhysicsList.hh | 10 +- .../include/ExN01PrimaryGeneratorAction.hh | 4 +- .../N01/src/ExN01DetectorConstruction.cc | 4 +- examples/novice/N01/src/ExN01PhysicsList.cc | 28 +- .../N01/src/ExN01PrimaryGeneratorAction.cc | 4 +- examples/novice/N02/GNUmakefile | 2 +- examples/novice/N02/History | 5 +- examples/novice/N02/README | 2 +- examples/novice/N02/exampleN02.cc | 4 +- examples/novice/N02/exampleN02.in | 4 +- examples/novice/N02/exampleN02.out | 17767 ++-------------- .../include/ExN02ChamberParameterisation.hh | 4 +- .../N02/include/ExN02DetectorConstruction.hh | 4 +- .../N02/include/ExN02DetectorMessenger.hh | 4 +- .../novice/N02/include/ExN02EventAction.hh | 8 +- .../novice/N02/include/ExN02MagneticField.hh | 4 +- .../novice/N02/include/ExN02PhysicsList.hh | 9 +- .../include/ExN02PrimaryGeneratorAction.hh | 4 +- .../include/ExN02PrimaryGeneratorMessenger.hh | 4 +- examples/novice/N02/include/ExN02RunAction.hh | 14 +- .../novice/N02/include/ExN02SteppingAction.hh | 8 +- .../novice/N02/include/ExN02TrackerHit.hh | 4 +- examples/novice/N02/include/ExN02TrackerSD.hh | 4 +- .../novice/N02/include/ExN02VisManager.hh | 8 +- .../N02/src/ExN02ChamberParameterisation.cc | 4 +- .../N02/src/ExN02DetectorConstruction.cc | 4 +- .../novice/N02/src/ExN02DetectorMessenger.cc | 4 +- examples/novice/N02/src/ExN02EventAction.cc | 10 +- examples/novice/N02/src/ExN02MagneticField.cc | 4 +- examples/novice/N02/src/ExN02PhysicsList.cc | 44 +- .../N02/src/ExN02PrimaryGeneratorAction.cc | 4 +- .../N02/src/ExN02PrimaryGeneratorMessenger.cc | 4 +- examples/novice/N02/src/ExN02RunAction.cc | 13 +- .../novice/N02/src/ExN02SteppingAction.cc | 8 +- examples/novice/N02/src/ExN02TrackerHit.cc | 4 +- examples/novice/N02/src/ExN02TrackerSD.cc | 4 +- examples/novice/N02/src/ExN02VisManager.cc | 4 +- examples/novice/N03/GNUmakefile | 2 +- examples/novice/N03/History | 15 +- examples/novice/N03/README | 23 +- examples/novice/N03/exampleN03.cc | 34 +- examples/novice/N03/exampleN03.in | 1 - examples/novice/N03/exampleN03.out | 193 +- examples/novice/N03/include/ExN03CalorHit.hh | 4 +- .../novice/N03/include/ExN03CalorimeterSD.hh | 4 +- .../N03/include/ExN03DetectorConstruction.hh | 4 +- .../N03/include/ExN03DetectorMessenger.hh | 4 +- .../novice/N03/include/ExN03EventAction.hh | 18 +- .../N03/include/ExN03EventActionMessenger.hh | 6 +- .../novice/N03/include/ExN03PhysicsList.hh | 25 +- .../include/ExN03PrimaryGeneratorAction.hh | 4 +- .../include/ExN03PrimaryGeneratorMessenger.hh | 4 +- examples/novice/N03/include/ExN03RunAction.hh | 10 +- .../novice/N03/include/ExN03SteppingAction.hh | 8 +- .../novice/N03/include/ExN03VisManager.hh | 8 +- examples/novice/N03/prerunN03.mac | 20 +- examples/novice/N03/run1.mac | 2 +- examples/novice/N03/run2.mac | 3 +- examples/novice/N03/src/ExN03CalorHit.cc | 4 +- examples/novice/N03/src/ExN03CalorimeterSD.cc | 7 +- .../N03/src/ExN03DetectorConstruction.cc | 5 +- .../novice/N03/src/ExN03DetectorMessenger.cc | 4 +- examples/novice/N03/src/ExN03EventAction.cc | 31 +- .../N03/src/ExN03EventActionMessenger.cc | 16 +- examples/novice/N03/src/ExN03PhysicsList.cc | 77 +- .../N03/src/ExN03PrimaryGeneratorAction.cc | 4 +- .../N03/src/ExN03PrimaryGeneratorMessenger.cc | 4 +- examples/novice/N03/src/ExN03RunAction.cc | 19 +- .../novice/N03/src/ExN03SteppingAction.cc | 7 +- examples/novice/N03/src/ExN03VisManager.cc | 4 +- examples/novice/N04/GNUmakefile | 21 +- examples/novice/N04/History | 15 +- examples/novice/N04/README | 42 +- examples/novice/N04/exampleN04.EMtest.out | 126 +- examples/novice/N04/exampleN04.cc | 4 +- examples/novice/N04/exampleN04.out | 46 +- .../novice/N04/include/ExN04EventAction.hh | 4 +- .../novice/N04/include/ExN04PhysicsList.hh | 12 +- .../novice/N04/include/ExN04StackingAction.hh | 10 +- .../novice/N04/include/ExN04SteppingAction.hh | 4 +- .../novice/N04/include/ExN04TrackingAction.hh | 4 +- examples/novice/N04/src/ExN04EventAction.cc | 6 +- examples/novice/N04/src/ExN04PhysicsList.cc | 103 +- .../novice/N04/src/ExN04StackingAction.cc | 4 +- .../novice/N04/src/ExN04SteppingAction.cc | 5 +- .../novice/N04/src/ExN04TrackingAction.cc | 9 +- examples/novice/N05/GNUmakefile | 2 +- examples/novice/N05/History | 9 +- examples/novice/N05/README | 2 +- examples/novice/N05/exampleN05.cc | 20 +- examples/novice/N05/exampleN05.out | 305 +- .../novice/N05/include/ExN05CalorimeterHit.hh | 9 +- .../novice/N05/include/ExN05CalorimeterSD.hh | 4 +- .../N05/include/ExN05DetectorConstruction.hh | 4 +- .../N05/include/ExN05DetectorMessenger.hh | 4 +- .../novice/N05/include/ExN05EMShowerModel.hh | 4 +- .../novice/N05/include/ExN05EnergySpot.hh | 4 +- .../novice/N05/include/ExN05EventAction.hh | 10 +- .../N05/include/ExN05EventActionMessenger.hh | 4 +- .../novice/N05/include/ExN05MaxTimeCuts.hh | 6 +- .../novice/N05/include/ExN05MinEkineCuts.hh | 6 +- .../novice/N05/include/ExN05MinRangeCuts.hh | 6 +- .../novice/N05/include/ExN05PhysicsList.hh | 10 +- examples/novice/N05/include/ExN05PiModel.hh | 4 +- .../N05/include/ExN05PionShowerModel.hh | 4 +- .../include/ExN05PrimaryGeneratorAction.hh | 4 +- examples/novice/N05/include/ExN05RunAction.hh | 11 +- .../novice/N05/include/ExN05SpecialCuts.hh | 6 +- .../novice/N05/include/ExN05SteppingAction.hh | 8 +- .../include/ExN05SteppingActionMessenger.hh | 4 +- .../novice/N05/src/ExN05CalorimeterHit.cc | 4 +- examples/novice/N05/src/ExN05CalorimeterSD.cc | 4 +- .../N05/src/ExN05DetectorConstruction.cc | 4 +- .../novice/N05/src/ExN05DetectorMessenger.cc | 4 +- examples/novice/N05/src/ExN05EMShowerModel.cc | 4 +- examples/novice/N05/src/ExN05EnergySpot.cc | 4 +- examples/novice/N05/src/ExN05EventAction.cc | 12 +- .../N05/src/ExN05EventActionMessenger.cc | 4 +- examples/novice/N05/src/ExN05MaxTimeCuts.cc | 4 +- examples/novice/N05/src/ExN05MinEkineCuts.cc | 4 +- examples/novice/N05/src/ExN05MinRangeCuts.cc | 4 +- examples/novice/N05/src/ExN05PhysicsList.cc | 37 +- examples/novice/N05/src/ExN05PiModel.cc | 4 +- .../novice/N05/src/ExN05PionShowerModel.cc | 4 +- .../N05/src/ExN05PrimaryGeneratorAction.cc | 4 +- examples/novice/N05/src/ExN05RunAction.cc | 11 +- examples/novice/N05/src/ExN05SpecialCuts.cc | 8 +- .../novice/N05/src/ExN05SteppingAction.cc | 8 +- .../N05/src/ExN05SteppingActionMessenger.cc | 4 +- examples/novice/N06/GNUmakefile | 2 +- examples/novice/N06/History | 5 +- examples/novice/N06/README | 2 +- examples/novice/N06/exampleN06.cc | 13 +- examples/novice/N06/exampleN06.out | 4667 ++-- .../novice/N06/include/ExN06PhysicsList.hh | 3 +- examples/novice/N06/include/ExN06RunAction.hh | 9 +- examples/novice/N06/src/ExN06PhysicsList.cc | 28 +- examples/novice/N06/src/ExN06RunAction.cc | 10 +- examples/novice/README | 2 +- source/GNUmakefile | 69 +- source/digits+hits/GNUmakefile | 2 +- source/digits+hits/History | 2 +- source/digits+hits/detector/GNUmakefile | 2 +- source/digits+hits/detector/History | 2 +- .../digits+hits/detector/include/G4HCtable.hh | 4 +- .../detector/include/G4SDManager.hh | 4 +- .../detector/include/G4SDStructure.hh | 4 +- .../detector/include/G4SDmessenger.hh | 4 +- .../detector/include/G4SensitiveVolumeList.hh | 4 +- .../include/G4SensitiveVolumeList.icc | 4 +- .../detector/include/G4VReadOutGeometry.hh | 4 +- .../detector/include/G4VSensitiveDetector.hh | 4 +- source/digits+hits/detector/src/G4HCtable.cc | 4 +- .../digits+hits/detector/src/G4SDManager.cc | 4 +- .../digits+hits/detector/src/G4SDStructure.cc | 4 +- .../digits+hits/detector/src/G4SDmessenger.cc | 4 +- .../detector/src/G4SensitiveVolumeList.cc | 4 +- .../detector/src/G4VReadOutGeometry.cc | 4 +- .../detector/src/G4VSensitiveDetector.cc | 4 +- source/digits+hits/digits/GNUmakefile | 2 +- source/digits+hits/digits/History | 2 +- .../digits/include/G4DCofThisEvent.hh | 4 +- .../digits/include/G4TDigiCollection.hh | 4 +- source/digits+hits/digits/include/G4VDigi.hh | 4 +- .../digits/include/G4VDigiCollection.hh | 4 +- .../digits+hits/digits/src/G4DCofThisEvent.cc | 4 +- .../digits/src/G4TDigiCollection.cc | 4 +- source/digits+hits/digits/src/G4VDigi.cc | 4 +- .../digits/src/G4VDigiCollection.cc | 4 +- source/digits+hits/hits/GNUmakefile | 2 +- source/digits+hits/hits/History | 2 +- .../hits/include/G4HCofThisEvent.hh | 4 +- .../hits/include/G4THitsCollection.hh | 4 +- source/digits+hits/hits/include/G4VHit.hh | 4 +- .../hits/include/G4VHitsCollection.hh | 4 +- .../digits+hits/hits/src/G4HCofThisEvent.cc | 4 +- .../digits+hits/hits/src/G4THitsCollection.cc | 4 +- source/digits+hits/hits/src/G4VHit.cc | 4 +- .../digits+hits/hits/src/G4VHitsCollection.cc | 4 +- source/event/GNUmakefile | 2 +- source/event/History | 11 +- .../include/G4ClassificationOfNewTrack.hh | 4 +- source/event/include/G4EvManMessenger.hh | 4 +- source/event/include/G4Event.hh | 4 +- source/event/include/G4EventManager.hh | 6 +- source/event/include/G4HEPEvtInterface.hh | 4 +- source/event/include/G4HEPEvtParticle.hh | 4 +- source/event/include/G4ParticleGun.hh | 4 +- .../event/include/G4ParticleGunMessenger.hh | 4 +- source/event/include/G4PrimaryParticle.hh | 4 +- source/event/include/G4PrimaryTransformer.hh | 4 +- source/event/include/G4PrimaryVertex.hh | 4 +- source/event/include/G4StackManager.hh | 4 +- source/event/include/G4StackedTrack.hh | 4 +- source/event/include/G4StackingMessenger.hh | 4 +- source/event/include/G4TrackStack.hh | 4 +- source/event/include/G4TrajectoryContainer.hh | 8 +- source/event/include/G4UserEventAction.hh | 15 +- source/event/include/G4UserStackingAction.hh | 11 +- source/event/include/G4VPrimaryGenerator.hh | 4 +- source/event/include/eventgendefs.hh | 4 +- source/event/include/evmandefs.hh | 4 +- source/event/include/trajectoryControl.hh | 4 +- source/event/src/G4EvManMessenger.cc | 4 +- source/event/src/G4Event.cc | 4 +- source/event/src/G4EventManager.cc | 10 +- source/event/src/G4HEPEvtInterface.cc | 11 +- source/event/src/G4HEPEvtParticle.cc | 4 +- source/event/src/G4ParticleGun.cc | 4 +- source/event/src/G4ParticleGunMessenger.cc | 4 +- source/event/src/G4PrimaryParticle.cc | 4 +- source/event/src/G4PrimaryTransformer.cc | 4 +- source/event/src/G4PrimaryVertex.cc | 4 +- source/event/src/G4StackManager.cc | 4 +- source/event/src/G4StackedTrack.cc | 4 +- source/event/src/G4StackingMessenger.cc | 4 +- source/event/src/G4TrackStack.cc | 4 +- source/event/src/G4UserEventAction.cc | 10 +- source/event/src/G4UserStackingAction.cc | 9 +- source/event/src/G4VPrimaryGenerator.cc | 4 +- source/g3tog4/GNUmakefile | 40 +- source/g3tog4/History | 102 +- source/g3tog4/README | 94 +- source/g3tog4/include/G3CalcParams.hh | 4 +- source/g3tog4/include/G3DetTable.hh | 43 +- source/g3tog4/include/G3EleTable.hh | 37 + source/g3tog4/include/G3G4Interface.hh | 15 +- source/g3tog4/include/G3MatTable.hh | 31 +- source/g3tog4/include/G3MedTable.hh | 46 +- source/g3tog4/include/G3PartTable.hh | 21 +- source/g3tog4/include/G3Pos.hh | 36 + source/g3tog4/include/G3RotTable.hh | 31 +- source/g3tog4/include/G3VolTable.hh | 130 +- source/g3tog4/include/G3toG4.hh | 8 +- source/g3tog4/include/G3toG4.inc | 4 +- source/g3tog4/include/G3toG4BuildTree.hh | 5 + source/g3tog4/include/G3toG4MakeSolid.hh | 9 + source/g3tog4/include/G3toG4RotationMatrix.hh | 2 +- source/g3tog4/include/G3toG4SetRotation.hh | 56 - source/g3tog4/include/G4makevol.hh | 11 + source/g3tog4/include/VolTableEntry.hh | 82 + source/g3tog4/include/gcbank.inc | 4 +- source/g3tog4/src/G3CalcParams.cc | 4 +- source/g3tog4/src/G3DetTable.cc | 132 +- source/g3tog4/src/G3EleTable.cc | 187 + source/g3tog4/src/G3IsMany.cc | 28 - source/g3tog4/src/G3MatTable.cc | 66 +- source/g3tog4/src/G3MedTable.cc | 98 +- source/g3tog4/src/G3NegVolPars.cc | 64 - source/g3tog4/src/G3PartTable.cc | 80 +- source/g3tog4/src/G3Pos.cc | 63 + source/g3tog4/src/G3RotTable.cc | 69 +- source/g3tog4/src/G3VolTable.cc | 393 +- source/g3tog4/src/G3toG4BuildTree.cc | 43 + source/g3tog4/src/G3toG4MakeSolid.cc | 300 + source/g3tog4/src/G3toG4SetRotation.cc | 34 - source/g3tog4/src/G4BuildGeom.cc | 124 +- source/g3tog4/src/G4ggclos.cc | 21 +- source/g3tog4/src/G4gsatt.cc | 11 +- source/g3tog4/src/G4gsdet.cc | 4 +- source/g3tog4/src/G4gsdeta.cc | 6 +- source/g3tog4/src/G4gsdetd.cc | 8 +- source/g3tog4/src/G4gsdeth.cc | 8 +- source/g3tog4/src/G4gsdetu.cc | 4 +- source/g3tog4/src/G4gsdetv.cc | 26 +- source/g3tog4/src/G4gsdk.cc | 4 +- source/g3tog4/src/G4gsdvn.cc | 26 +- source/g3tog4/src/G4gsdvn2.cc | 125 +- source/g3tog4/src/G4gsdvt.cc | 17 +- source/g3tog4/src/G4gsdvt2.cc | 15 +- source/g3tog4/src/G4gsdvx.cc | 4 +- source/g3tog4/src/G4gsmate.cc | 119 +- source/g3tog4/src/G4gsmixt.cc | 105 +- source/g3tog4/src/G4gspart.cc | 4 +- source/g3tog4/src/G4gspos.cc | 92 +- source/g3tog4/src/G4gsposp.cc | 114 +- source/g3tog4/src/G4gsrotm.cc | 16 +- source/g3tog4/src/G4gstmed.cc | 14 +- source/g3tog4/src/G4gstpar.cc | 7 +- source/g3tog4/src/G4gsvolu.cc | 28 +- source/g3tog4/src/G4makevol.cc | 435 +- source/g3tog4/src/VolTableEntry.cc | 172 + source/g3tog4/src/clparse.cc | 73 +- source/g3tog4/src/g3routines.F | 19 +- source/g3tog4/src/g3test.F | 4 +- source/g3tog4/src/g3tog4.F | 12 +- source/g3tog4/src/jshape.F | 4 +- source/g3tog4/src/mztog4.F | 4 +- source/g3tog4/src/rztog4.F | 4 +- source/g3tog4/src/tog4.F | 76 +- source/geometry/GNUmakefile | 2 +- source/geometry/History | 92 +- source/geometry/benchmarks/BuildBoxWorld.hh | 43 + .../geometry/benchmarks/BuildCalorimeter.hh | 91 + source/geometry/benchmarks/GNUmakefile | 34 + source/geometry/benchmarks/Shoot.hh | 84 + source/geometry/benchmarks/calorimeter.cc | 102 + .../benchmarks/f77cppcomparison/G4Box.cc | 439 + .../benchmarks/f77cppcomparison/G4Box.hh | 93 + .../f77cppcomparison/G4Box_fastfabs.cc | 445 + .../f77cppcomparison/G4RotationMatrix.hh | 112 + .../f77cppcomparison/G4RotationMatrix.icc | 138 + .../f77cppcomparison/G4ThreeVector.hh | 162 + .../f77cppcomparison/G4ThreeVector.icc | 177 + .../f77cppcomparison/GNUmakefile.aix | 47 + .../f77cppcomparison/GNUmakefile.hp | 39 + .../benchmarks/f77cppcomparison/boxtoincpp.cc | 39 + .../benchmarks/f77cppcomparison/geomdefs.hh | 51 + .../benchmarks/f77cppcomparison/globals.hh | 49 + source/geometry/benchmarks/replicaCal.cc | 136 + source/geometry/benchmarks/shooter.cc | 55 + source/geometry/magneticfield/GNUmakefile | 5 +- source/geometry/magneticfield/History | 115 +- .../magneticfield/include/G4CashKarpRKF45.hh | 4 +- .../magneticfield/include/G4ChordFinder.hh | 4 +- .../magneticfield/include/G4ClassicalRK4.hh | 4 +- .../include/G4ElectroMagneticField.hh | 4 +- .../include/G4EqMagElectricField.hh | 4 +- .../include/G4EquationOfMotion.hh | 4 +- .../include/G4EquationOfMotion.icc | 4 +- .../magneticfield/include/G4ExplicitEuler.hh | 4 +- .../geometry/magneticfield/include/G4Field.hh | 4 +- .../magneticfield/include/G4FieldManager.hh | 4 +- .../magneticfield/include/G4FieldTrack.hh | 4 +- .../magneticfield/include/G4FieldTrack.icc | 4 +- .../include/G4HelixExplicitEuler.hh | 4 +- .../magneticfield/include/G4HelixHeum.hh | 4 +- .../include/G4HelixImplicitEuler.hh | 4 +- .../include/G4HelixSimpleRunge.hh | 4 +- .../magneticfield/include/G4ImplicitEuler.hh | 4 +- .../magneticfield/include/G4LineSection.hh | 4 +- .../include/G4MagErrorStepper.hh | 16 +- .../include/G4MagErrorStepper.icc | 23 +- .../include/G4MagHelicalStepper.hh | 4 +- .../include/G4MagHelicalStepper.icc | 4 +- .../include/G4MagIntegratorDriver.hh | 4 +- .../include/G4MagIntegratorDriver.icc | 4 +- .../include/G4MagIntegratorStepper.hh | 17 +- .../include/G4MagIntegratorStepper.icc | 15 +- .../magneticfield/include/G4Mag_EqRhs.hh | 6 +- .../magneticfield/include/G4Mag_SpinEqRhs.hh | 43 + .../magneticfield/include/G4Mag_UsualEqRhs.hh | 4 +- .../magneticfield/include/G4MagneticField.hh | 4 +- .../magneticfield/include/G4RKG3_Stepper.hh | 7 +- .../magneticfield/include/G4SimpleHeum.hh | 4 +- .../magneticfield/include/G4SimpleRunge.hh | 4 +- .../include/G4UniformElectricField.hh | 4 +- .../include/G4UniformMagField.hh | 4 +- .../magneticfield/src/G4CashKarpRKF45.cc | 22 +- .../magneticfield/src/G4ChordFinder.cc | 65 +- .../magneticfield/src/G4ClassicalRK4.cc | 4 +- .../magneticfield/src/G4EquationOfMotion.cc | 4 +- .../magneticfield/src/G4ExplicitEuler.cc | 4 +- .../magneticfield/src/G4FieldManager.cc | 4 +- .../magneticfield/src/G4FieldTrack.cc | 4 +- .../magneticfield/src/G4HelixExplicitEuler.cc | 4 +- .../geometry/magneticfield/src/G4HelixHeum.cc | 4 +- .../magneticfield/src/G4HelixImplicitEuler.cc | 4 +- .../magneticfield/src/G4HelixSimpleRunge.cc | 4 +- .../magneticfield/src/G4ImplicitEuler.cc | 4 +- .../magneticfield/src/G4LineSection.cc | 4 +- .../magneticfield/src/G4MagErrorStepper.cc | 43 +- .../magneticfield/src/G4MagHelicalStepper.cc | 7 +- .../src/G4MagIntegratorDriver.cc | 104 +- .../src/G4MagIntegratorStepper.cc | 15 +- .../geometry/magneticfield/src/G4Mag_EqRhs.cc | 4 +- .../magneticfield/src/G4Mag_SpinEqRhs.cc | 78 + .../magneticfield/src/G4Mag_UsualEqRhs.cc | 4 +- .../magneticfield/src/G4RKG3_Stepper.cc | 4 +- .../magneticfield/src/G4SimpleHeum.cc | 12 +- .../magneticfield/src/G4SimpleRunge.cc | 4 +- .../src/G4UniformElectricField.cc | 4 +- .../magneticfield/src/G4UniformMagField.cc | 4 +- source/geometry/management/GNUmakefile | 2 +- source/geometry/management/History | 29 + .../management/include/G4AffineTransform.hh | 4 +- .../management/include/G4AffineTransform.icc | 6 +- .../management/include/G4GeometryManager.hh | 4 +- .../management/include/G4LogicalSurface.hh | 4 +- .../management/include/G4LogicalSurface.icc | 4 +- .../management/include/G4LogicalVolume.hh | 16 +- .../management/include/G4LogicalVolume.icc | 15 +- .../include/G4LogicalVolumeStore.hh | 4 +- .../management/include/G4PVParameterised.hh | 4 +- .../management/include/G4PVPlacement.hh | 4 +- .../management/include/G4PVReplica.hh | 4 +- .../include/G4PhysicalVolumeStore.hh | 4 +- .../management/include/G4SmartVoxelHeader.hh | 4 +- .../management/include/G4SmartVoxelNode.hh | 4 +- .../management/include/G4SmartVoxelProxy.hh | 4 +- .../management/include/G4SolidStore.hh | 4 +- .../include/G4VPVParameterisation.hh | 4 +- .../management/include/G4VPhysicalVolume.hh | 4 +- .../management/include/G4VPhysicalVolume.icc | 4 +- .../geometry/management/include/G4VSolid.hh | 4 +- .../geometry/management/include/G4VSolid.icc | 4 +- .../management/include/G4VTouchable.hh | 4 +- .../management/include/G4VTouchable.icc | 4 +- .../management/include/G4VoxelLimits.hh | 4 +- .../geometry/management/include/meshdefs.hh | 4 +- .../geometry/management/include/voxeldefs.hh | 7 +- .../management/src/G4GeometryManager.cc | 4 +- .../management/src/G4LogicalVolume.cc | 7 +- .../management/src/G4LogicalVolumeStore.cc | 6 +- .../management/src/G4PVParameterised.cc | 4 +- .../geometry/management/src/G4PVPlacement.cc | 4 +- source/geometry/management/src/G4PVReplica.cc | 4 +- .../management/src/G4PhysicalVolumeStore.cc | 6 +- .../management/src/G4SmartVoxelHeader.cc | 55 +- .../management/src/G4SmartVoxelNode.cc | 4 +- .../geometry/management/src/G4SolidStore.cc | 6 +- .../management/src/G4VPVParameterisation.cc | 4 +- .../management/src/G4VPhysicalVolume.cc | 4 +- source/geometry/management/src/G4VSolid.cc | 4 +- .../geometry/management/src/G4VoxelLimits.cc | 4 +- source/geometry/solids/BREPS/GNUmakefile | 6 +- source/geometry/solids/BREPS/History | 119 + source/geometry/solids/BREPS/ToDo.txt | 321 + .../solids/BREPS/include/G4BREPSolid.hh | 6 +- .../solids/BREPS/include/G4BREPSolidBox.hh | 4 +- .../solids/BREPS/include/G4BREPSolidCone.hh | 4 +- .../BREPS/include/G4BREPSolidCylinder.hh | 4 +- .../solids/BREPS/include/G4BREPSolidPCone.hh | 12 +- .../BREPS/include/G4BREPSolidPolyhedra.hh | 14 +- .../solids/BREPS/include/G4BREPSolidSphere.hh | 4 +- .../solids/BREPS/include/G4BREPSolidTorus.hh | 4 +- .../solids/BREPS/include/G4BSplineCurve.hh | 12 +- .../solids/BREPS/include/G4BSplineCurve.icc | 9 +- .../BREPS/include/G4BSplineCurveWithKnots.hh | 4 +- .../solids/BREPS/include/G4BSplineSurface.hh | 6 +- .../solids/BREPS/include/G4BezierSurface.hh | 4 +- .../solids/BREPS/include/G4BoundedCurve.hh | 24 - .../solids/BREPS/include/G4BoundedSurface.hh | 29 - .../solids/BREPS/include/G4BoundingBox3D.hh | 4 + .../solids/BREPS/include/G4CircularCurve.hh | 9 +- .../solids/BREPS/include/G4CircularCurve.icc | 11 + .../solids/BREPS/include/G4CompositeCurve.hh | 3 +- .../solids/BREPS/include/G4ConicalSurface.hh | 4 +- .../solids/BREPS/include/G4ControlPoints.hh | 4 +- .../solids/BREPS/include/G4ConvexHull.hh | 4 +- .../geometry/solids/BREPS/include/G4Curve.hh | 7 +- .../BREPS/include/G4CylindricalSurface.hh | 4 +- .../BREPS/include/G4ElementarySurface.hh | 16 - .../solids/BREPS/include/G4Ellipse.hh | 9 +- .../solids/BREPS/include/G4Ellipse.icc | 44 + .../solids/BREPS/include/G4FConicalSurface.hh | 149 +- .../BREPS/include/G4FCylindricalSurface.hh | 88 +- .../geometry/solids/BREPS/include/G4FPlane.hh | 14 +- .../solids/BREPS/include/G4Globals.hh | 4 +- .../solids/BREPS/include/G4Hyperbola.hh | 7 +- .../solids/BREPS/include/G4Hyperbola.icc | 46 + .../solids/BREPS/include/G4KnotVector.hh | 4 +- .../geometry/solids/BREPS/include/G4Line.hh | 7 +- .../geometry/solids/BREPS/include/G4Line.icc | 47 + .../solids/BREPS/include/G4NISTStepReader.hh | 4 +- .../solids/BREPS/include/G4OsloMatrix.hh | 4 +- .../solids/BREPS/include/G4Parabola.hh | 7 +- .../solids/BREPS/include/G4Parabola.icc | 37 + .../solids/BREPS/include/G4PlacedSolid.hh | 4 +- .../geometry/solids/BREPS/include/G4Plane.hh | 4 +- .../solids/BREPS/include/G4Point3DVector.hh | 4 +- .../solids/BREPS/include/G4PointRat.hh | 10 +- .../BREPS/include/G4ProjectedSurface.hh | 4 +- source/geometry/solids/BREPS/include/G4Ray.hh | 4 +- .../include/G4RectangularTrimmedSurface.hh | 4 +- .../geometry/solids/BREPS/include/G4Sort.hh | 4 +- .../BREPS/include/G4SphericalSurface.hh | 4 +- .../solids/BREPS/include/G4StepFileReader.hh | 4 +- .../solids/BREPS/include/G4SurfaceBoundary.hh | 5 +- .../solids/BREPS/include/G4SurfaceList.hh | 4 +- .../solids/BREPS/include/G4ThreeMat.hh | 4 +- .../solids/BREPS/include/G4ToroidalSurface.hh | 4 +- .../geometry/solids/BREPS/include/G4UVHit.hh | 4 +- .../geometry/solids/BREPS/src/G4BREPSolid.cc | 771 +- .../solids/BREPS/src/G4BREPSolidBox.cc | 4 +- .../solids/BREPS/src/G4BREPSolidCone.cc | 4 +- .../solids/BREPS/src/G4BREPSolidCylinder.cc | 4 +- .../solids/BREPS/src/G4BREPSolidPCone.cc | 516 +- .../solids/BREPS/src/G4BREPSolidPolyhedra.cc | 557 +- .../solids/BREPS/src/G4BREPSolidSphere.cc | 4 +- .../solids/BREPS/src/G4BREPSolidTorus.cc | 4 +- .../solids/BREPS/src/G4BSplineCurve.cc | 4 +- .../BREPS/src/G4BSplineCurveWithKnots.cc | 4 +- .../solids/BREPS/src/G4BSplineSurface.cc | 6 +- .../solids/BREPS/src/G4BezierSurface.cc | 4 +- .../solids/BREPS/src/G4BoundedSurface.cc | 12 - .../solids/BREPS/src/G4BoundingBox3D.cc | 15 + .../solids/BREPS/src/G4CircularCurve.cc | 4 +- .../solids/BREPS/src/G4CompositeCurve.cc | 21 +- .../solids/BREPS/src/G4ConicalSurface.cc | 4 +- .../solids/BREPS/src/G4ControlPoints.cc | 4 +- source/geometry/solids/BREPS/src/G4Curve.cc | 4 +- .../solids/BREPS/src/G4CylindricalSurface.cc | 4 +- source/geometry/solids/BREPS/src/G4Ellipse.cc | 4 +- .../solids/BREPS/src/G4FConicalSurface.cc | 284 +- .../solids/BREPS/src/G4FCylindricalSurface.cc | 221 +- source/geometry/solids/BREPS/src/G4FPlane.cc | 166 +- .../geometry/solids/BREPS/src/G4Hyperbola.cc | 4 +- .../geometry/solids/BREPS/src/G4KnotVector.cc | 4 +- source/geometry/solids/BREPS/src/G4Line.cc | 17 +- .../solids/BREPS/src/G4NISTStepReader.cc | 4 +- .../geometry/solids/BREPS/src/G4OsloMatrix.cc | 4 +- .../geometry/solids/BREPS/src/G4Parabola.cc | 4 +- .../solids/BREPS/src/G4PlacedSolid.cc | 4 +- .../geometry/solids/BREPS/src/G4PointRat.cc | 4 +- .../solids/BREPS/src/G4ProjectedSurface.cc | 12 +- source/geometry/solids/BREPS/src/G4Ray.cc | 4 +- .../BREPS/src/G4RectangularTrimmedSurface.cc | 4 +- source/geometry/solids/BREPS/src/G4Sort.cc | 4 +- .../solids/BREPS/src/G4SphericalSurface.cc | 4 +- source/geometry/solids/BREPS/src/G4Surface.cc | 4 +- .../solids/BREPS/src/G4SurfaceBoundary.cc | 22 +- .../solids/BREPS/src/G4SurfaceList.cc | 4 +- .../geometry/solids/BREPS/src/G4ThreeMat.cc | 4 +- .../solids/BREPS/src/G4ToroidalSurface.cc | 4 +- source/geometry/solids/Boolean/GNUmakefile | 5 +- source/geometry/solids/Boolean/History | 2 +- source/geometry/solids/CSG/GNUmakefile | 5 +- source/geometry/solids/CSG/History | 71 + source/geometry/solids/CSG/include/G4Box.hh | 4 +- .../geometry/solids/CSG/include/G4CSGSolid.hh | 4 +- .../solids/CSG/include/G4ClippablePolygon.hh | 41 +- source/geometry/solids/CSG/include/G4Cons.hh | 4 +- .../solids/CSG/include/G4EnclosingCylinder.hh | 18 +- source/geometry/solids/CSG/include/G4Hype.hh | 4 +- source/geometry/solids/CSG/include/G4Para.hh | 4 +- .../solids/CSG/include/G4PolyPhiFace.hh | 39 +- .../solids/CSG/include/G4PolyPhiFace.icc | 44 + .../geometry/solids/CSG/include/G4Polycone.hh | 54 +- .../solids/CSG/include/G4PolyconeSide.hh | 31 +- .../solids/CSG/include/G4Polyhedra.hh | 38 +- .../solids/CSG/include/G4PolyhedraSide.hh | 29 +- .../solids/CSG/include/G4ReduciblePolygon.hh | 132 + .../solids/CSG/include/G4SolidExtentList.hh | 52 + .../geometry/solids/CSG/include/G4Sphere.hh | 4 +- source/geometry/solids/CSG/include/G4Torus.hh | 4 +- source/geometry/solids/CSG/include/G4Trap.hh | 4 +- source/geometry/solids/CSG/include/G4Trd.hh | 4 +- source/geometry/solids/CSG/include/G4Tubs.hh | 4 +- .../geometry/solids/CSG/include/G4VCSGface.hh | 52 +- .../solids/CSG/include/G4VCSGfaceted.hh | 7 +- source/geometry/solids/CSG/src/G4Box.cc | 16 +- source/geometry/solids/CSG/src/G4CSGSolid.cc | 4 +- .../solids/CSG/src/G4ClippablePolygon.cc | 377 +- source/geometry/solids/CSG/src/G4Cons.cc | 436 +- .../solids/CSG/src/G4EnclosingCylinder.cc | 43 +- source/geometry/solids/CSG/src/G4Hype.cc | 16 +- .../solids/CSG/src/G4IntersectingCone.cc | 12 +- source/geometry/solids/CSG/src/G4Para.cc | 16 +- .../geometry/solids/CSG/src/G4PolyPhiFace.cc | 448 +- source/geometry/solids/CSG/src/G4Polycone.cc | 317 +- .../geometry/solids/CSG/src/G4PolyconeSide.cc | 504 +- source/geometry/solids/CSG/src/G4Polyhedra.cc | 333 +- .../solids/CSG/src/G4PolyhedraSide.cc | 444 +- .../solids/CSG/src/G4ReduciblePolygon.cc | 462 + .../solids/CSG/src/G4SolidExtentList.cc | 156 + source/geometry/solids/CSG/src/G4Sphere.cc | 16 +- source/geometry/solids/CSG/src/G4Torus.cc | 16 +- source/geometry/solids/CSG/src/G4Trap.cc | 166 +- source/geometry/solids/CSG/src/G4Trd.cc | 16 +- source/geometry/solids/CSG/src/G4Tubs.cc | 18 +- .../geometry/solids/CSG/src/G4VCSGfaceted.cc | 155 +- source/geometry/solids/GNUmakefile | 2 +- source/geometry/solids/STEP/GNUmakefile | 2 +- .../geometry/solids/STEP/include/EntityInst.h | 14 +- .../solids/STEP/include/Enumeration.h | 14 +- source/geometry/solids/STEP/include/ExpDict.h | 14 +- .../geometry/solids/STEP/include/Registry.h | 14 +- .../solids/STEP/include/STEPaggregate.h | 14 +- .../solids/STEP/include/STEPattribute.h | 14 +- .../solids/STEP/include/STEPattributeList.h | 14 +- .../solids/STEP/include/STEPcomplex.h | 14 +- .../geometry/solids/STEP/include/STEPentity.h | 14 +- .../geometry/solids/STEP/include/STEPfile.h | 14 +- .../geometry/solids/STEP/include/STEPselect.h | 14 +- .../geometry/solids/STEP/include/STEPstring.h | 14 +- .../solids/STEP/include/STEPundefined.h | 14 +- .../geometry/solids/STEP/include/SdaiBinary.h | 14 +- .../STEP/include/SdaiCONFIG_CONTROL_DESIGN.h | 14 +- .../solids/STEP/include/SingleLinkList.h | 14 +- source/geometry/solids/STEP/include/Str.h | 14 +- .../geometry/solids/STEP/include/baseType.h | 14 +- source/geometry/solids/STEP/include/classes.h | 14 +- source/geometry/solids/STEP/include/cmdmgr.h | 14 +- source/geometry/solids/STEP/include/dir.h | 14 +- source/geometry/solids/STEP/include/dirobj.h | 14 +- .../geometry/solids/STEP/include/dispnode.h | 14 +- .../solids/STEP/include/dispnodelist.h | 14 +- .../solids/STEP/include/editordefines.h | 14 +- .../geometry/solids/STEP/include/errordesc.h | 14 +- source/geometry/solids/STEP/include/gennode.h | 14 +- .../solids/STEP/include/gennodearray.h | 14 +- .../solids/STEP/include/gennodelist.h | 14 +- source/geometry/solids/STEP/include/instmgr.h | 14 +- source/geometry/solids/STEP/include/mgrnode.h | 14 +- .../solids/STEP/include/mgrnodearray.h | 14 +- .../solids/STEP/include/mgrnodelist.h | 14 +- .../geometry/solids/STEP/include/read_func.h | 14 +- .../solids/STEP/include/s_HEADER_SCHEMA.h | 14 +- source/geometry/solids/STEP/include/schema.h | 14 +- .../geometry/solids/STEP/include/scl_hash.h | 20 +- .../geometry/solids/STEP/include/scl_string.h | 14 +- source/geometry/solids/STEP/include/sdai.h | 14 +- .../solids/STEP/include/seeinfodefault.h | 14 +- source/geometry/solids/STEP/include/stat.h | 14 +- .../geometry/solids/STEP/src/Enumeration.cc | 14 +- source/geometry/solids/STEP/src/ExpDict.cc | 14 +- .../solids/STEP/src/ExpDict_inline.cc | 14 +- .../solids/STEP/src/Registry_inline.cc | 14 +- .../geometry/solids/STEP/src/STEPaggregate.cc | 14 +- .../geometry/solids/STEP/src/STEPattribute.cc | 14 +- .../solids/STEP/src/STEPattributeList.cc | 14 +- .../solids/STEP/src/STEPattribute_inline.cc | 14 +- .../geometry/solids/STEP/src/STEPcomplex.cc | 14 +- source/geometry/solids/STEP/src/STEPentity.cc | 14 +- source/geometry/solids/STEP/src/STEPfile.cc | 11 +- .../solids/STEP/src/STEPfile_inline.cc | 14 +- source/geometry/solids/STEP/src/STEPselect.cc | 14 +- source/geometry/solids/STEP/src/STEPstring.cc | 14 +- .../geometry/solids/STEP/src/STEPundefined.cc | 14 +- source/geometry/solids/STEP/src/SdaiBinary.cc | 14 +- .../STEP/src/SdaiCONFIG_CONTROL_DESIGN.cc | 14 +- .../src/SdaiCONFIG_CONTROL_DESIGN_init.cc | 14 +- .../solids/STEP/src/SingleLinkList.cc | 14 +- .../solids/STEP/src/SingleLinkList_inline.cc | 14 +- source/geometry/solids/STEP/src/Str.cc | 14 +- source/geometry/solids/STEP/src/cmdmgr.cc | 14 +- source/geometry/solids/STEP/src/dirobj.cc | 14 +- source/geometry/solids/STEP/src/dispnode.cc | 14 +- .../geometry/solids/STEP/src/dispnodelist.cc | 14 +- source/geometry/solids/STEP/src/errordesc.cc | 14 +- .../solids/STEP/src/gennode_inline.cc | 14 +- .../geometry/solids/STEP/src/gennodearray.cc | 14 +- source/geometry/solids/STEP/src/instmgr.cc | 16 +- source/geometry/solids/STEP/src/mgrnode.cc | 14 +- .../geometry/solids/STEP/src/mgrnodearray.cc | 14 +- .../geometry/solids/STEP/src/mgrnodelist.cc | 14 +- source/geometry/solids/STEP/src/read_func.cc | 14 +- .../solids/STEP/src/s_HEADER_SCHEMA.cc | 14 +- .../solids/STEP/src/s_HEADER_SCHEMA_init.cc | 14 +- source/geometry/solids/STEP/src/schema.cc | 14 +- source/geometry/solids/STEP/src/scl_hash.cc | 14 +- source/geometry/solids/STEP/src/scl_string.cc | 14 +- .../geometry/solids/STEPinterface/GNUmakefile | 2 +- source/geometry/solids/STEPinterface/History | 5 + .../STEPinterface/src/G4AssemblyCreator.cc | 21 +- ...G4GeometricRepresentationContextCreator.cc | 3 - .../STEPinterface/src/G4GeometryTable.cc | 77 +- .../src/G4ProductDefinitionShapeCreator.cc | 3 - source/geometry/volumes/GNUmakefile | 5 +- source/geometry/volumes/History | 110 + .../volumes/include/G4AuxiliaryNavServices.hh | 4 +- .../volumes/include/G4BlockingList.hh | 4 +- .../volumes/include/G4BlockingList.icc | 4 +- source/geometry/volumes/include/G4GRSSolid.hh | 4 +- .../geometry/volumes/include/G4GRSSolid.icc | 4 +- .../geometry/volumes/include/G4GRSVolume.hh | 4 +- .../geometry/volumes/include/G4GRSVolume.icc | 12 +- .../volumes/include/G4LogicalBorderSurface.hh | 4 +- .../volumes/include/G4LogicalSkinSurface.hh | 4 +- .../volumes/include/G4NavigationHistory.hh | 4 +- .../volumes/include/G4NavigationHistory.icc | 4 +- .../volumes/include/G4NavigationLevel.hh | 18 +- .../volumes/include/G4NavigationLevel.icc | 28 +- .../volumes/include/G4NavigationLevelRep.hh | 4 +- .../volumes/include/G4NavigationLevelRep.icc | 4 +- .../geometry/volumes/include/G4Navigator.hh | 4 +- .../geometry/volumes/include/G4Navigator.icc | 4 +- .../volumes/include/G4NormalNavigation.hh | 4 +- .../volumes/include/G4NormalNavigation.icc | 4 +- .../include/G4ParameterisedNavigation.hh | 4 +- .../include/G4ParameterisedNavigation.icc | 4 +- .../include/G4PropagatorInField.hh | 5 +- .../include/G4PropagatorInField.icc | 4 +- .../volumes/include/G4ReplicaNavigation.hh | 4 +- .../volumes/include/G4ReplicaNavigation.icc | 4 +- .../volumes/include/G4TouchableHistory.hh | 4 +- .../volumes/include/G4TouchableHistory.icc | 4 +- .../geometry/volumes/include/G4Transform.hh | 4 +- .../include/G4TransportationManager.hh | 4 +- .../include/G4TransportationManager.icc | 4 +- .../volumes/include/G4VoxelNavigation.hh | 4 +- .../volumes/include/G4VoxelNavigation.icc | 4 +- source/geometry/volumes/src/G4BlockingList.cc | 4 +- source/geometry/volumes/src/G4GRSSolid.cc | 4 +- source/geometry/volumes/src/G4GRSVolume.cc | 4 +- .../volumes/src/G4LogicalBorderSurface.cc | 4 +- .../volumes/src/G4LogicalSkinSurface.cc | 4 +- .../volumes/src/G4NavigationHistory.cc | 4 +- .../geometry/volumes/src/G4NavigationLevel.cc | 14 - source/geometry/volumes/src/G4Navigator.cc | 163 +- .../volumes/src/G4NormalNavigation.cc | 4 +- .../volumes/src/G4ParameterisedNavigation.cc | 4 +- .../src/G4PropagatorInField.cc | 39 +- .../volumes/src/G4ReplicaNavigation.cc | 4 +- .../volumes/src/G4TouchableHistory.cc | 4 +- .../volumes/src/G4TransportationManager.cc | 10 +- .../geometry/volumes/src/G4VoxelNavigation.cc | 5 +- source/global/GNUmakefile | 2 +- source/global/HEPGeometry/GNUmakefile | 2 +- .../HEPGeometry/include/G4LorentzRotation.hh | 4 +- .../HEPGeometry/include/G4LorentzVector.hh | 4 +- .../global/HEPGeometry/include/G4Normal3D.hh | 4 +- .../global/HEPGeometry/include/G4Plane3D.hh | 4 +- .../global/HEPGeometry/include/G4Point3D.hh | 4 +- .../HEPGeometry/include/G4Transform3D.hh | 4 +- .../global/HEPGeometry/include/G4Vector3D.hh | 4 +- source/global/HEPGeometry/include/geomdefs.hh | 4 +- source/global/HEPNumerics/GNUmakefile | 2 +- .../include/G4ChebyshevApproximation.hh | 4 +- .../include/G4DataInterpolation.hh | 4 +- .../HEPNumerics/include/G4GaussChebyshevQ.hh | 4 +- .../HEPNumerics/include/G4GaussHermiteQ.hh | 4 +- .../HEPNumerics/include/G4GaussJacobiQ.hh | 4 +- .../HEPNumerics/include/G4GaussLaguerreQ.hh | 4 +- .../HEPNumerics/include/G4GaussLegendreQ.hh | 4 +- .../include/G4SimpleIntegration.hh | 4 +- .../include/G4VGaussianQuadrature.hh | 4 +- .../src/G4ChebyshevApproximation.cc | 4 +- .../HEPNumerics/src/G4DataInterpolation.cc | 4 +- .../HEPNumerics/src/G4GaussChebyshevQ.cc | 4 +- .../global/HEPNumerics/src/G4GaussHermiteQ.cc | 4 +- .../global/HEPNumerics/src/G4GaussJacobiQ.cc | 4 +- .../HEPNumerics/src/G4GaussLaguerreQ.cc | 4 +- .../HEPNumerics/src/G4GaussLegendreQ.cc | 4 +- .../HEPNumerics/src/G4SimpleIntegration.cc | 4 +- .../HEPNumerics/src/G4VGaussianQuadrature.cc | 4 +- source/global/HEPRandom/include/G4Poisson.hh | 62 + source/global/HEPRandom/include/Randomize.hh | 4 +- source/global/History | 60 +- source/global/STLInterface/History | 51 + source/global/STLInterface/rw/cstring.h | 443 + source/global/STLInterface/rw/ctoken.h | 61 + source/global/STLInterface/rw/defs.h | 115 + source/global/STLInterface/rw/rstream.h | 14 + source/global/STLInterface/rw/rw2stl_algo.h | 20 + source/global/STLInterface/rw/rwstlhash.h | 29 + source/global/STLInterface/rw/tphdict.h | 296 + source/global/STLInterface/rw/tpordvec.h | 378 + source/global/STLInterface/rw/tpsrtvec.h | 241 + source/global/STLInterface/rw/tpsrtvec.icc | 20 + source/global/STLInterface/rw/tpvector.h | 51 + source/global/STLInterface/rw/tpvector.icc | 16 + source/global/STLInterface/rw/tvhdict.h | 178 + source/global/STLInterface/rw/tvhdict.icc | 19 + source/global/STLInterface/rw/tvordvec.h | 297 + source/global/STLInterface/rw/tvvector.h | 101 + .../STLInterface/wrappers/AIX-xlC/cmath | 10 + .../STLInterface/wrappers/AIX-xlC/cstdio | 1 + .../STLInterface/wrappers/AIX-xlC/cstdlib | 8 + .../STLInterface/wrappers/AIX-xlC/cstring | 8 + .../STLInterface/wrappers/AIX-xlC/hash_map | 28 + .../STLInterface/wrappers/DEC-cxx/cmath | 10 + .../STLInterface/wrappers/DEC-cxx/cstdio | 1 + .../STLInterface/wrappers/DEC-cxx/cstdlib | 8 + .../STLInterface/wrappers/DEC-cxx/cstring | 1 + .../STLInterface/wrappers/DEC-cxx/hash_map | 28 + .../STLInterface/wrappers/HP-aCC/hash_map | 28 + .../global/STLInterface/wrappers/SUN-CC/cmath | 10 + .../STLInterface/wrappers/SUN-CC/cstdio | 1 + .../STLInterface/wrappers/SUN-CC/cstdlib | 8 + .../STLInterface/wrappers/SUN-CC/cstring | 1 + .../STLInterface/wrappers/SUN-CC/hash_map | 28 + source/global/management/GNUmakefile | 2 +- .../global/management/include/G4Allocator.hh | 4 +- .../management/include/G4AllocatorPage.hh | 4 +- .../management/include/G4AllocatorUnit.hh | 4 +- .../global/management/include/G4DataVector.hh | 4 +- .../global/management/include/G4FastVector.hh | 4 +- .../include/G4LPhysicsFreeVector.hh | 4 +- .../management/include/G4OrderedTable.hh | 4 +- .../management/include/G4PhysicsFreeVector.hh | 4 +- .../include/G4PhysicsLinearVector.hh | 4 +- .../management/include/G4PhysicsLogVector.hh | 4 +- .../include/G4PhysicsOrderedFreeVector.hh | 4 +- .../management/include/G4PhysicsTable.hh | 4 +- .../management/include/G4PhysicsVector.hh | 4 +- .../management/include/G4RotationMatrix.hh | 4 +- .../management/include/G4ThreeVector.hh | 4 +- source/global/management/include/G4Timer.hh | 11 +- source/global/management/include/G4Types.hh | 35 + .../global/management/include/G4UnitsTable.hh | 10 +- .../global/management/include/G4UnitsTest.hh | 278 + .../global/management/include/G4UserLimits.hh | 4 +- .../management/include/G4UserLimits.icc | 4 +- .../management/include/PhysicalConstants.h | 4 +- .../global/management/include/SystemOfUnits.h | 4 +- source/global/management/include/globals.hh | 36 +- source/global/management/include/templates.hh | 24 +- source/global/management/src/G4Exception.cc | 24 +- .../management/src/G4LPhysicsFreeVector.cc | 4 +- .../management/src/G4PhysicsFreeVector.cc | 4 +- .../management/src/G4PhysicsLinearVector.cc | 4 +- .../management/src/G4PhysicsLogVector.cc | 4 +- .../src/G4PhysicsOrderedFreeVector.cc | 4 +- .../global/management/src/G4PhysicsVector.cc | 4 +- source/global/management/src/G4Timer.cc | 17 +- source/global/management/src/G4UnitsTable.cc | 68 +- source/graphics_reps/GNUmakefile | 2 +- source/graphics_reps/History | 29 +- source/graphics_reps/README | 2 +- source/graphics_reps/doc/G4NURBS.txt | 2 +- source/graphics_reps/include/G4Circle.hh | 17 +- source/graphics_reps/include/G4Circle.icc | 4 +- source/graphics_reps/include/G4Color.hh | 4 +- source/graphics_reps/include/G4Colour.hh | 6 +- source/graphics_reps/include/G4NURBS.hh | 16 +- source/graphics_reps/include/G4NURBSbox.hh | 15 +- .../graphics_reps/include/G4NURBScylinder.hh | 15 +- .../include/G4NURBShexahedron.hh | 11 +- source/graphics_reps/include/G4NURBStube.hh | 15 +- .../include/G4NURBStubesector.hh | 13 +- source/graphics_reps/include/G4Point3DList.hh | 7 +- .../graphics_reps/include/G4Point3DList.icc | 14 - source/graphics_reps/include/G4Polyhedron.hh | 32 +- source/graphics_reps/include/G4Polyline.hh | 7 +- source/graphics_reps/include/G4Polymarker.hh | 8 +- source/graphics_reps/include/G4Polymarker.icc | 4 +- source/graphics_reps/include/G4Square.hh | 15 +- source/graphics_reps/include/G4Square.icc | 4 +- source/graphics_reps/include/G4Text.hh | 12 +- source/graphics_reps/include/G4Text.icc | 4 +- source/graphics_reps/include/G4VMarker.hh | 30 +- source/graphics_reps/include/G4VMarker.icc | 16 +- source/graphics_reps/include/G4VVisPrim.hh | 13 +- source/graphics_reps/include/G4VVisPrim.icc | 13 +- .../graphics_reps/include/G4VisAttributes.hh | 9 +- .../graphics_reps/include/G4VisAttributes.icc | 4 +- source/graphics_reps/include/G4VisExtent.hh | 6 +- source/graphics_reps/include/G4Visible.hh | 12 +- source/graphics_reps/include/G4Visible.icc | 9 +- source/graphics_reps/src/G4Circle.cc | 35 + source/graphics_reps/src/G4Colour.cc | 14 +- source/graphics_reps/src/G4NURBS.cc | 10 +- source/graphics_reps/src/G4NURBSbox.cc | 12 +- source/graphics_reps/src/G4NURBScylinder.cc | 12 +- source/graphics_reps/src/G4NURBShexahedron.cc | 12 +- source/graphics_reps/src/G4NURBStube.cc | 12 +- source/graphics_reps/src/G4NURBStubesector.cc | 14 +- source/graphics_reps/src/G4Point3DList.cc | 6 +- source/graphics_reps/src/G4Polyhedron.cc | 117 +- source/graphics_reps/src/G4Polyline.cc | 18 +- source/graphics_reps/src/G4Polymarker.cc | 30 +- source/graphics_reps/src/G4Square.cc | 35 + source/graphics_reps/src/G4Text.cc | 26 +- source/graphics_reps/src/G4VMarker.cc | 41 +- source/graphics_reps/src/G4VVisPrim.cc | 24 +- source/graphics_reps/src/G4VisAttributes.cc | 76 +- source/graphics_reps/src/G4VisExtent.cc | 20 +- source/graphics_reps/src/G4Visible.cc | 16 +- source/intercoms/GNUmakefile | 2 +- source/intercoms/History | 18 +- .../intercoms/include/G4ApplicationState.hh | 4 +- source/intercoms/include/G4StateManager.hh | 4 +- source/intercoms/include/G4UIbatch.hh | 4 +- .../intercoms/include/G4UIcmdWith3Vector.hh | 4 +- .../include/G4UIcmdWith3VectorAndUnit.hh | 4 +- source/intercoms/include/G4UIcmdWithABool.hh | 4 +- .../intercoms/include/G4UIcmdWithADouble.hh | 4 +- .../include/G4UIcmdWithADoubleAndUnit.hh | 4 +- .../intercoms/include/G4UIcmdWithAString.hh | 4 +- .../intercoms/include/G4UIcmdWithAnInteger.hh | 4 +- .../include/G4UIcmdWithoutParameter.hh | 4 +- source/intercoms/include/G4UIcommand.hh | 9 +- source/intercoms/include/G4UIcommandStatus.hh | 4 +- source/intercoms/include/G4UIcommandTree.hh | 4 +- .../intercoms/include/G4UIcontrolMessenger.hh | 4 +- source/intercoms/include/G4UIdirectory.hh | 4 +- source/intercoms/include/G4UImanager.hh | 4 +- source/intercoms/include/G4UImessenger.hh | 4 +- source/intercoms/include/G4UIparameter.hh | 4 +- source/intercoms/include/G4UIsession.hh | 4 +- source/intercoms/include/G4UItokenNum.hh | 4 +- source/intercoms/include/G4UnitsMessenger.hh | 4 +- .../include/G4VFlavoredParallelWorld.hh | 30 + .../include/G4VGlobalFastSimulationManager.hh | 66 + .../include/G4VGraphicsScene.hh | 26 +- source/intercoms/include/G4VStateDependent.hh | 4 +- .../include/G4VVisManager.hh | 6 +- source/intercoms/src/G4StateManager.cc | 4 +- source/intercoms/src/G4UIbatch.cc | 4 +- source/intercoms/src/G4UIcmdWith3Vector.cc | 4 +- .../src/G4UIcmdWith3VectorAndUnit.cc | 4 +- source/intercoms/src/G4UIcmdWithABool.cc | 4 +- source/intercoms/src/G4UIcmdWithADouble.cc | 4 +- .../src/G4UIcmdWithADoubleAndUnit.cc | 4 +- source/intercoms/src/G4UIcmdWithAString.cc | 4 +- source/intercoms/src/G4UIcmdWithAnInteger.cc | 4 +- .../intercoms/src/G4UIcmdWithoutParameter.cc | 4 +- source/intercoms/src/G4UIcommand.cc | 6 +- source/intercoms/src/G4UIcommandTree.cc | 4 +- source/intercoms/src/G4UIcontrolMessenger.cc | 4 +- source/intercoms/src/G4UIdirectory.cc | 4 +- source/intercoms/src/G4UImanager.cc | 4 +- source/intercoms/src/G4UImessenger.cc | 4 +- source/intercoms/src/G4UIparameter.cc | 4 +- source/intercoms/src/G4UIsession.cc | 4 +- source/intercoms/src/G4UnitsMessenger.cc | 4 +- .../src/G4VGlobalFastSimulationManager.cc | 18 + source/intercoms/src/G4VStateDependent.cc | 4 +- .../src/G4VVisManager.cc | 6 +- source/interfaces/GAG/GNUmakefile | 2 +- source/interfaces/GAG/include/G4UIGAG.hh | 4 +- source/interfaces/GAG/src/G4UIGAG.cc | 9 +- source/interfaces/GNUmakefile | 2 +- source/interfaces/History | 30 +- source/interfaces/OPACS/GNUmakefile | 2 +- source/interfaces/OPACS/include/G4UIWo.hh | 4 +- .../interfaces/OPACS/include/G4WoMessenger.hh | 4 +- source/interfaces/OPACS/include/G4oCommon.hh | 4 +- source/interfaces/OPACS/include/G4oCommon.icc | 4 +- source/interfaces/OPACS/src/G4UIWo.cc | 4 +- source/interfaces/OPACS/src/G4WoMessenger.cc | 4 +- source/interfaces/XVT/GNUmakefile | 2 +- source/interfaces/XVT/include/G4UIxvt.hh | 4 +- .../XVT/include/G4UIxvtMessenger.hh | 4 +- source/interfaces/XVT/src/G4UIxvt.cc | 4 +- source/interfaces/XVT/src/G4UIxvtMessenger.cc | 4 +- source/interfaces/basic/GNUmakefile | 2 +- source/interfaces/basic/include/G4UIWin32.hh | 17 +- source/interfaces/basic/include/G4UIXaw.hh | 42 +- source/interfaces/basic/include/G4UIXm.hh | 19 +- .../interfaces/basic/include/G4UIterminal.hh | 10 +- source/interfaces/basic/src/G4UIWin32.cc | 367 +- source/interfaces/basic/src/G4UIXaw.cc | 255 +- source/interfaces/basic/src/G4UIXm.cc | 270 +- source/interfaces/basic/src/G4UIterminal.cc | 128 +- source/interfaces/common/GNUmakefile | 2 +- .../common/include/G4InteractorMessenger.hh | 2 +- .../common/include/G4VBasicShell.hh | 20 +- .../common/include/G4VInteractorManager.hh | 17 +- source/interfaces/common/include/G4Win32.hh | 5 +- source/interfaces/common/include/G4Xt.hh | 4 +- .../common/src/G4InteractorMessenger.cc | 10 +- source/interfaces/common/src/G4VBasicShell.cc | 373 +- .../common/src/G4VInteractorManager.cc | 117 +- source/interfaces/common/src/G4Win32.cc | 22 +- source/interfaces/common/src/G4Xt.cc | 4 +- source/materials/GNUmakefile | 2 +- source/materials/History | 2 +- source/materials/include/G4AtomicShells.hh | 4 +- source/materials/include/G4Element.hh | 25 +- source/materials/include/G4ElementTable.hh | 4 +- source/materials/include/G4ElementVector.hh | 4 +- source/materials/include/G4IonisParamElm.hh | 10 +- source/materials/include/G4IonisParamMat.hh | 4 +- source/materials/include/G4Isotope.hh | 4 +- source/materials/include/G4IsotopeVector.hh | 4 +- source/materials/include/G4MPVEntry.hh | 4 +- source/materials/include/G4Material.hh | 7 +- .../include/G4MaterialPropertiesTable.hh | 4 +- .../include/G4MaterialPropertyVector.hh | 4 +- source/materials/include/G4MaterialTable.hh | 4 +- source/materials/include/G4OpticalSurface.hh | 4 +- source/materials/include/G4SandiaTable.hh | 94 +- .../materials/include/G4StaticSandiaData.hh | 15 +- source/materials/src/G4AtomicShells.cc | 4 +- source/materials/src/G4Element.cc | 31 +- source/materials/src/G4IonisParamElm.cc | 25 +- source/materials/src/G4IonisParamMat.cc | 29 +- source/materials/src/G4Isotope.cc | 4 +- source/materials/src/G4MPVEntry.cc | 9 +- source/materials/src/G4Material.cc | 43 +- .../src/G4MaterialPropertiesTable.cc | 8 +- .../materials/src/G4MaterialPropertyVector.cc | 8 +- source/materials/src/G4OpticalSurface.cc | 20 +- source/materials/src/G4SandiaTable.cc | 189 +- source/particles/GNUmakefile | 2 +- source/particles/History | 80 +- source/particles/bosons/GNUmakefile | 2 +- .../bosons/include/G4BosonConstructor.hh | 4 +- .../bosons/include/G4ChargedGeantino.hh | 8 +- source/particles/bosons/include/G4Gamma.hh | 8 +- source/particles/bosons/include/G4Geantino.hh | 12 +- .../bosons/include/G4OpticalPhoton.hh | 11 +- source/particles/bosons/include/G4VBoson.hh | 4 +- .../bosons/src/G4BosonConstructor.cc | 4 +- .../particles/bosons/src/G4ChargedGeantino.cc | 4 +- source/particles/bosons/src/G4Gamma.cc | 4 +- source/particles/bosons/src/G4Geantino.cc | 4 +- .../particles/bosons/src/G4OpticalPhoton.cc | 4 +- source/particles/bosons/src/G4VBoson.cc | 4 +- source/particles/hadrons/GNUmakefile | 2 +- source/particles/hadrons/barions/GNUmakefile | 2 +- .../hadrons/barions/include/G4AntiLambda.hh | 8 +- .../barions/include/G4AntiLambdacPlus.hh | 8 +- .../hadrons/barions/include/G4AntiNeutron.hh | 8 +- .../barions/include/G4AntiOmegaMinus.hh | 8 +- .../barions/include/G4AntiOmegacZero.hh | 8 +- .../hadrons/barions/include/G4AntiProton.hh | 8 +- .../barions/include/G4AntiSigmaMinus.hh | 8 +- .../barions/include/G4AntiSigmaPlus.hh | 8 +- .../barions/include/G4AntiSigmaZero.hh | 8 +- .../barions/include/G4AntiSigmacPlus.hh | 8 +- .../barions/include/G4AntiSigmacPlusPlus.hh | 8 +- .../barions/include/G4AntiSigmacZero.hh | 8 +- .../hadrons/barions/include/G4AntiXiMinus.hh | 8 +- .../hadrons/barions/include/G4AntiXiZero.hh | 8 +- .../hadrons/barions/include/G4AntiXicPlus.hh | 8 +- .../hadrons/barions/include/G4AntiXicZero.hh | 8 +- .../barions/include/G4BarionConstructor.hh | 4 +- .../hadrons/barions/include/G4Lambda.hh | 8 +- .../hadrons/barions/include/G4LambdacPlus.hh | 8 +- .../hadrons/barions/include/G4Neutron.hh | 14 +- .../hadrons/barions/include/G4OmegaMinus.hh | 8 +- .../hadrons/barions/include/G4OmegacZero.hh | 8 +- .../hadrons/barions/include/G4Proton.hh | 10 +- .../hadrons/barions/include/G4SigmaMinus.hh | 8 +- .../hadrons/barions/include/G4SigmaPlus.hh | 8 +- .../hadrons/barions/include/G4SigmaZero.hh | 8 +- .../hadrons/barions/include/G4SigmacPlus.hh | 8 +- .../barions/include/G4SigmacPlusPlus.hh | 8 +- .../hadrons/barions/include/G4SigmacZero.hh | 8 +- .../hadrons/barions/include/G4VBarion.hh | 4 +- .../hadrons/barions/include/G4XiMinus.hh | 8 +- .../hadrons/barions/include/G4XiZero.hh | 8 +- .../hadrons/barions/include/G4XicPlus.hh | 8 +- .../hadrons/barions/include/G4XicZero.hh | 8 +- .../hadrons/barions/src/G4AntiLambda.cc | 6 +- .../hadrons/barions/src/G4AntiLambdacPlus.cc | 6 +- .../hadrons/barions/src/G4AntiNeutron.cc | 4 +- .../hadrons/barions/src/G4AntiOmegaMinus.cc | 6 +- .../hadrons/barions/src/G4AntiOmegacZero.cc | 6 +- .../hadrons/barions/src/G4AntiProton.cc | 4 +- .../hadrons/barions/src/G4AntiSigmaMinus.cc | 6 +- .../hadrons/barions/src/G4AntiSigmaPlus.cc | 6 +- .../hadrons/barions/src/G4AntiSigmaZero.cc | 6 +- .../hadrons/barions/src/G4AntiSigmacPlus.cc | 4 +- .../barions/src/G4AntiSigmacPlusPlus.cc | 4 +- .../hadrons/barions/src/G4AntiSigmacZero.cc | 4 +- .../hadrons/barions/src/G4AntiXiMinus.cc | 6 +- .../hadrons/barions/src/G4AntiXiZero.cc | 6 +- .../hadrons/barions/src/G4AntiXicPlus.cc | 6 +- .../hadrons/barions/src/G4AntiXicZero.cc | 6 +- .../barions/src/G4BarionConstructor.cc | 4 +- .../particles/hadrons/barions/src/G4Lambda.cc | 6 +- .../hadrons/barions/src/G4LambdacPlus.cc | 6 +- .../hadrons/barions/src/G4Neutron.cc | 4 +- .../hadrons/barions/src/G4OmegaMinus.cc | 6 +- .../hadrons/barions/src/G4OmegacZero.cc | 6 +- .../particles/hadrons/barions/src/G4Proton.cc | 4 +- .../hadrons/barions/src/G4SigmaMinus.cc | 6 +- .../hadrons/barions/src/G4SigmaPlus.cc | 6 +- .../hadrons/barions/src/G4SigmaZero.cc | 6 +- .../hadrons/barions/src/G4SigmacPlus.cc | 4 +- .../hadrons/barions/src/G4SigmacPlusPlus.cc | 4 +- .../hadrons/barions/src/G4SigmacZero.cc | 4 +- .../hadrons/barions/src/G4VBarion.cc | 4 +- .../hadrons/barions/src/G4XiMinus.cc | 6 +- .../particles/hadrons/barions/src/G4XiZero.cc | 6 +- .../hadrons/barions/src/G4XicPlus.cc | 6 +- .../hadrons/barions/src/G4XicZero.cc | 6 +- source/particles/hadrons/ions/GNUmakefile | 2 +- .../particles/hadrons/ions/include/G4Alpha.hh | 6 +- .../hadrons/ions/include/G4Deuteron.hh | 12 +- .../hadrons/ions/include/G4GenericIon.hh | 6 +- .../particles/hadrons/ions/include/G4He3.hh | 6 +- .../hadrons/ions/include/G4IonConstructor.hh | 4 +- .../hadrons/ions/include/G4Triton.hh | 7 +- .../particles/hadrons/ions/include/G4VIon.hh | 4 +- source/particles/hadrons/ions/src/G4Alpha.cc | 8 +- .../particles/hadrons/ions/src/G4Deuteron.cc | 8 +- .../hadrons/ions/src/G4GenericIon.cc | 9 +- source/particles/hadrons/ions/src/G4He3.cc | 9 +- .../hadrons/ions/src/G4IonConstructor.cc | 4 +- source/particles/hadrons/ions/src/G4Triton.cc | 8 +- source/particles/hadrons/ions/src/G4VIon.cc | 4 +- source/particles/hadrons/mesons/GNUmakefile | 2 +- .../mesons/include/G4AntiBMesonZero.hh | 8 +- .../mesons/include/G4AntiBsMesonZero.hh | 8 +- .../mesons/include/G4AntiDMesonZero.hh | 8 +- .../hadrons/mesons/include/G4AntiKaonZero.hh | 10 +- .../hadrons/mesons/include/G4BMesonMinus.hh | 8 +- .../hadrons/mesons/include/G4BMesonPlus.hh | 8 +- .../hadrons/mesons/include/G4BMesonZero.hh | 8 +- .../hadrons/mesons/include/G4BsMesonZero.hh | 8 +- .../hadrons/mesons/include/G4DMesonMinus.hh | 8 +- .../hadrons/mesons/include/G4DMesonPlus.hh | 8 +- .../hadrons/mesons/include/G4DMesonZero.hh | 8 +- .../hadrons/mesons/include/G4DsMesonMinus.hh | 8 +- .../hadrons/mesons/include/G4DsMesonPlus.hh | 8 +- .../particles/hadrons/mesons/include/G4Eta.hh | 8 +- .../hadrons/mesons/include/G4EtaPrime.hh | 8 +- .../hadrons/mesons/include/G4JPsi.hh | 8 +- .../hadrons/mesons/include/G4KaonMinus.hh | 8 +- .../hadrons/mesons/include/G4KaonPlus.hh | 9 +- .../hadrons/mesons/include/G4KaonZero.hh | 10 +- .../hadrons/mesons/include/G4KaonZeroLong.hh | 8 +- .../hadrons/mesons/include/G4KaonZeroShort.hh | 7 +- .../mesons/include/G4MesonConstructor.hh | 4 +- .../hadrons/mesons/include/G4PionMinus.hh | 7 +- .../hadrons/mesons/include/G4PionPlus.hh | 6 +- .../hadrons/mesons/include/G4PionZero.hh | 8 +- .../hadrons/mesons/include/G4RhoMinus.hh | 8 +- .../hadrons/mesons/include/G4RhoPlus.hh | 9 +- .../hadrons/mesons/include/G4RhoZero.hh | 8 +- .../hadrons/mesons/include/G4VMeson.hh | 4 +- .../hadrons/mesons/src/G4AntiBMesonZero.cc | 6 +- .../hadrons/mesons/src/G4AntiBsMesonZero.cc | 6 +- .../hadrons/mesons/src/G4AntiDMesonZero.cc | 6 +- .../hadrons/mesons/src/G4AntiKaonZero.cc | 4 +- .../hadrons/mesons/src/G4BMesonMinus.cc | 6 +- .../hadrons/mesons/src/G4BMesonPlus.cc | 6 +- .../hadrons/mesons/src/G4BMesonZero.cc | 6 +- .../hadrons/mesons/src/G4BsMesonZero.cc | 6 +- .../hadrons/mesons/src/G4DMesonMinus.cc | 6 +- .../hadrons/mesons/src/G4DMesonPlus.cc | 6 +- .../hadrons/mesons/src/G4DMesonZero.cc | 6 +- .../hadrons/mesons/src/G4DsMesonMinus.cc | 6 +- .../hadrons/mesons/src/G4DsMesonPlus.cc | 6 +- source/particles/hadrons/mesons/src/G4Eta.cc | 6 +- .../hadrons/mesons/src/G4EtaPrime.cc | 6 +- source/particles/hadrons/mesons/src/G4JPsi.cc | 6 +- .../hadrons/mesons/src/G4KaonMinus.cc | 6 +- .../hadrons/mesons/src/G4KaonPlus.cc | 6 +- .../hadrons/mesons/src/G4KaonZero.cc | 4 +- .../hadrons/mesons/src/G4KaonZeroLong.cc | 6 +- .../hadrons/mesons/src/G4KaonZeroShort.cc | 6 +- .../hadrons/mesons/src/G4MesonConstructor.cc | 4 +- .../hadrons/mesons/src/G4PionMinus.cc | 6 +- .../hadrons/mesons/src/G4PionPlus.cc | 6 +- .../hadrons/mesons/src/G4PionZero.cc | 6 +- .../hadrons/mesons/src/G4RhoMinus.cc | 4 +- .../particles/hadrons/mesons/src/G4RhoPlus.cc | 4 +- .../particles/hadrons/mesons/src/G4RhoZero.cc | 6 +- .../particles/hadrons/mesons/src/G4VMeson.cc | 4 +- source/particles/leptons/GNUmakefile | 2 +- .../leptons/include/G4AntiNeutrinoE.hh | 8 +- .../leptons/include/G4AntiNeutrinoMu.hh | 9 +- .../leptons/include/G4AntiNeutrinoTau.hh | 8 +- .../particles/leptons/include/G4Electron.hh | 8 +- .../leptons/include/G4LeptonConstructor.hh | 4 +- .../particles/leptons/include/G4MuonMinus.hh | 8 +- .../particles/leptons/include/G4MuonPlus.hh | 8 +- .../particles/leptons/include/G4NeutrinoE.hh | 8 +- .../particles/leptons/include/G4NeutrinoMu.hh | 8 +- .../leptons/include/G4NeutrinoTau.hh | 8 +- .../particles/leptons/include/G4Positron.hh | 8 +- .../particles/leptons/include/G4TauMinus.hh | 8 +- source/particles/leptons/include/G4TauPlus.hh | 8 +- source/particles/leptons/include/G4VLepton.hh | 4 +- .../particles/leptons/src/G4AntiNeutrinoE.cc | 4 +- .../particles/leptons/src/G4AntiNeutrinoMu.cc | 4 +- .../leptons/src/G4AntiNeutrinoTau.cc | 4 +- source/particles/leptons/src/G4Electron.cc | 4 +- .../leptons/src/G4LeptonConstructor.cc | 4 +- source/particles/leptons/src/G4MuonMinus.cc | 6 +- source/particles/leptons/src/G4MuonPlus.cc | 6 +- source/particles/leptons/src/G4NeutrinoE.cc | 4 +- source/particles/leptons/src/G4NeutrinoMu.cc | 4 +- source/particles/leptons/src/G4NeutrinoTau.cc | 4 +- source/particles/leptons/src/G4Positron.cc | 4 +- source/particles/leptons/src/G4TauMinus.cc | 6 +- source/particles/leptons/src/G4TauPlus.cc | 6 +- source/particles/leptons/src/G4VLepton.cc | 4 +- source/particles/management/GNUmakefile | 2 +- .../include/G4DalitzDecayChannel.hh | 4 +- .../management/include/G4DecayProducts.hh | 8 +- .../management/include/G4DecayTable.hh | 8 +- .../include/G4DecayTableMessenger.hh | 12 +- .../management/include/G4DynamicParticle.hh | 26 +- .../include/G4DynamicParticleFastVector.hh | 4 +- .../management/include/G4IonTable.hh | 19 +- source/particles/management/include/G4Ions.hh | 16 +- .../management/include/G4KL3DecayChannel.hh | 4 +- .../management/include/G4MuonDecayChannel.hh | 4 +- .../management/include/G4NucleiProperties.hh | 106 +- .../include/G4NucleiPropertiesTable.hh | 120 +- .../include/G4ParticleDefinition.hh | 77 +- .../management/include/G4ParticleMessenger.hh | 6 +- .../management/include/G4ParticleMomentum.hh | 20 +- .../include/G4ParticlePropertyMessenger.hh | 13 +- .../management/include/G4ParticleTable.hh | 141 +- .../management/include/G4ParticleWithCuts.hh | 28 +- .../include/G4PhaseSpaceDecayChannel.hh | 4 +- .../management/include/G4ShortLivedTable.hh | 4 +- .../management/include/G4VDecayChannel.hh | 25 +- .../management/src/G4DalitzDecayChannel.cc | 17 +- .../management/src/G4DecayProducts.cc | 32 +- .../particles/management/src/G4DecayTable.cc | 15 +- .../management/src/G4DecayTableMessenger.cc | 34 +- .../management/src/G4DynamicParticle.cc | 55 +- source/particles/management/src/G4IonTable.cc | 124 +- source/particles/management/src/G4Ions.cc | 4 +- .../management/src/G4KL3DecayChannel.cc | 12 +- .../management/src/G4MuonDecayChannel.cc | 37 +- .../management/src/G4NucleiProperties.cc | 243 +- ...esTable.cc => G4NucleiPropertiesTableA.cc} | 1149 +- .../src/G4NucleiPropertiesTableB.cc | 1156 + .../management/src/G4ParticleDefinition.cc | 209 +- .../management/src/G4ParticleMessenger.cc | 19 +- .../src/G4ParticlePropertyMessenger.cc | 20 +- .../management/src/G4ParticleTable.cc | 147 +- .../management/src/G4ParticleWithCuts.cc | 177 +- .../src/G4PhaseSpaceDecayChannel.cc | 30 +- .../management/src/G4ShortLivedTable.cc | 12 +- .../management/src/G4VDecayChannel.cc | 150 +- source/particles/shortlived/GNUmakefile | 2 +- .../shortlived/include/G4DiQuarks.hh | 5 +- .../include/G4ExcitedBaryonConstructor.hh | 4 +- .../shortlived/include/G4ExcitedBaryons.hh | 4 +- .../include/G4ExcitedDeltaConstructor.hh | 4 +- .../include/G4ExcitedLambdaConstructor.hh | 4 +- .../include/G4ExcitedMesonConstructor.hh | 6 +- .../shortlived/include/G4ExcitedMesons.hh | 4 +- .../include/G4ExcitedNucleonConstructor.hh | 4 +- .../include/G4ExcitedSigmaConstructor.hh | 4 +- .../include/G4ExcitedXiConstructor.hh | 4 +- .../particles/shortlived/include/G4Gluons.hh | 28 +- .../particles/shortlived/include/G4Quarks.hh | 15 +- .../include/G4ShortLivedConstructor.hh | 4 +- .../include/G4VShortLivedParticle.hh | 16 +- source/particles/shortlived/src/G4DiQuarks.cc | 4 +- .../src/G4ExcitedBaryonConstructor.cc | 4 +- .../shortlived/src/G4ExcitedBaryons.cc | 4 +- .../src/G4ExcitedDeltaConstructor.cc | 12 +- .../src/G4ExcitedLambdaConstructor.cc | 4 +- .../src/G4ExcitedMesonConstructor.cc | 55 +- .../shortlived/src/G4ExcitedMesons.cc | 4 +- .../src/G4ExcitedNucleonConstructor.cc | 10 +- .../src/G4ExcitedSigmaConstructor.cc | 6 +- .../shortlived/src/G4ExcitedXiConstructor.cc | 4 +- source/particles/shortlived/src/G4Gluons.cc | 4 +- source/particles/shortlived/src/G4Quarks.cc | 4 +- .../shortlived/src/G4ShortLivedConstructor.cc | 12 +- .../shortlived/src/G4VShortLivedParticle.cc | 33 +- source/persistency/History | 5 + .../persistency/digits+hits/hits/GNUmakefile | 2 +- .../hits/include/G4PHCofThisEvent.ddl | 4 +- .../digits+hits/hits/include/G4PVHit.ddl | 4 +- .../hits/include/G4PVHitsCollection.ddl | 4 +- .../digits+hits/hits/src/G4PVHit.cc | 4 +- source/persistency/events/GNUmakefile | 2 +- .../persistency/events/include/G4PEvent.ddl | 4 +- .../events/include/G4PPrimaryVertex.ddl | 4 +- source/persistency/events/src/G4PEvent.cc | 4 +- .../events/src/G4PPrimaryVertex.cc | 4 +- .../geometry/management/GNUmakefile | 2 +- .../management/include/G4PPVParameterised.ddl | 4 +- .../management/include/G4PPVPlacement.ddl | 4 +- .../management/include/G4PPVReplica.ddl | 4 +- .../management/include/G4PVPhysicalVolume.ddl | 4 +- .../geometry/management/include/G4PVSolid.ddl | 4 +- .../management/src/G4PPVParameterised.cc | 4 +- .../geometry/management/src/G4PPVPlacement.cc | 4 +- .../geometry/management/src/G4PPVReplica.cc | 4 +- .../management/src/G4PVPhysicalVolume.cc | 4 +- .../geometry/management/src/G4PVSolid.cc | 4 +- .../geometry/solids/CSG/GNUmakefile | 2 +- .../geometry/solids/CSG/include/G4PBox.ddl | 4 +- .../solids/CSG/include/G4PCSGSolid.ddl | 4 +- .../geometry/solids/CSG/include/G4PCons.ddl | 4 +- .../geometry/solids/CSG/include/G4PHype.ddl | 4 +- .../geometry/solids/CSG/include/G4PPara.ddl | 4 +- .../geometry/solids/CSG/include/G4PSphere.ddl | 4 +- .../geometry/solids/CSG/include/G4PTorus.ddl | 4 +- .../geometry/solids/CSG/include/G4PTrap.ddl | 4 +- .../geometry/solids/CSG/include/G4PTrd.ddl | 4 +- .../geometry/solids/CSG/include/G4PTubs.ddl | 4 +- .../geometry/solids/CSG/src/G4PBox.cc | 4 +- .../geometry/solids/CSG/src/G4PCSGSolid.cc | 4 +- .../geometry/solids/CSG/src/G4PCons.cc | 4 +- .../geometry/solids/CSG/src/G4PHype.cc | 4 +- .../geometry/solids/CSG/src/G4PPara.cc | 4 +- .../geometry/solids/CSG/src/G4PSphere.cc | 4 +- .../geometry/solids/CSG/src/G4PTorus.cc | 4 +- .../geometry/solids/CSG/src/G4PTrap.cc | 4 +- .../geometry/solids/CSG/src/G4PTrd.cc | 4 +- .../geometry/solids/CSG/src/G4PTubs.cc | 4 +- .../volumes/include/G4PLogicalVolume.ddl | 4 +- .../geometry/volumes/src/G4PLogicalVolume.cc | 4 +- source/persistency/management/GNUmakefile | 2 +- .../include/G4PGeometryObjectMap.ddl | 4 +- .../include/G4PersistencyManager.hh | 4 +- .../include/G4PersistentEventMan.hh | 4 +- .../management/include/G4PersistentGeomMan.hh | 4 +- .../management/include/G4PersistentRunMan.hh | 4 +- .../management/include/G4PersistentTypes.hh | 4 +- .../management/src/G4PGeometryObjectMap.cc | 7 +- .../management/src/G4PersistencyManager.cc | 4 +- .../management/src/G4PersistentEventMan.cc | 4 +- .../management/src/G4PersistentGeomMan.cc | 6 +- .../management/src/G4PersistentRunMan.cc | 4 +- source/persistency/run/GNUmakefile | 2 +- source/persistency/run/include/G4PRun.ddl | 4 +- source/persistency/run/src/G4PRun.cc | 4 +- source/processes/GNUmakefile | 4 +- source/processes/History | 10 +- source/processes/decay/GNUmakefile | 2 +- source/processes/decay/include/G4Decay.hh | 12 +- source/processes/decay/src/G4Decay.cc | 10 +- source/processes/electromagnetic/GNUmakefile | 6 +- source/processes/electromagnetic/History | 32 + .../electromagnetic/lowenergy/GNUmakefile | 34 + .../lowenergy/include/G4Data.hh | 49 + .../lowenergy/include/G4Epdl89File.hh | 69 + .../lowenergy/include/G4Epdl97File.hh | 68 + .../lowenergy/include/G4EpdlTables.hh | 89 + .../lowenergy/include/G4FirstLevel.hh | 53 + .../include/G4LowEnergyBremsstrahlung.hh | 138 + .../include/G4LowEnergyBremsstrahlung.icc | 111 + .../lowenergy/include/G4LowEnergyCompton.hh | 100 + .../lowenergy/include/G4LowEnergyCompton.icc | 60 + .../include/G4LowEnergyGammaConversion.hh | 103 + .../include/G4LowEnergyGammaConversion.icc | 90 + .../include/G4LowEnergyIonisation.hh | 142 + .../include/G4LowEnergyIonisation.icc | 83 + .../include/G4LowEnergyPhotoElectric.hh | 125 + .../include/G4LowEnergyPhotoElectric.icc | 87 + .../lowenergy/include/G4LowEnergyRayleigh.hh | 108 + .../lowenergy/include/G4LowEnergyRayleigh.icc | 61 + .../lowenergy/include/G4LowEnergyUtilities.hh | 198 + .../lowenergy/include/G4SecondLevel.hh | 50 + .../lowenergy/include/G4ThirdLevel.hh | 50 + .../lowenergy/include/G4VDataFile.hh | 95 + .../lowenergy/include/G4VTables.hh | 61 + .../electromagnetic/lowenergy/src/G4Data.cc | 46 + .../lowenergy/src/G4Epdl89File.cc | 177 + .../lowenergy/src/G4Epdl97File.cc | 188 + .../lowenergy/src/G4EpdlTables.cc | 337 + .../lowenergy/src/G4FirstLevel.cc | 45 + .../src/G4LowEnergyBremsstrahlung.cc | 870 + .../lowenergy/src/G4LowEnergyCompton.cc | 421 + .../src/G4LowEnergyGammaConversion.cc | 425 + .../lowenergy/src/G4LowEnergyIonisation.cc | 983 + .../lowenergy/src/G4LowEnergyPhotoElectric.cc | 683 + .../lowenergy/src/G4LowEnergyRayleigh.cc | 366 + .../lowenergy/src/G4LowEnergyUtilities.cc | 212 + .../lowenergy/src/G4SecondLevel.cc | 45 + .../lowenergy/src/G4ThirdLevel.cc | 49 + .../lowenergy/src/G4VDataFile.cc | 134 + .../lowenergy/src/G4VTables.cc | 46 + .../electromagnetic/muons/GNUmakefile | 14 +- .../muons/include/G4IMuBremsstrahlung.hh | 4 +- .../muons/include/G4IMuBremsstrahlung.icc | 4 +- .../muons/include/G4IMuEnergyLoss.hh | 5 +- .../muons/include/G4IMuEnergyLoss.icc | 4 +- .../muons/include/G4IMuIonisation.hh | 4 +- .../muons/include/G4IMuIonisation.icc | 4 +- .../muons/include/G4IMuPairProduction.hh | 4 +- .../muons/include/G4IMuPairProduction.icc | 4 +- .../muons/include/G4MuBremsstrahlung.hh | 20 +- .../muons/include/G4MuBremsstrahlung.icc | 5 +- .../muons/include/G4MuEnergyLoss.hh | 27 +- .../muons/include/G4MuEnergyLoss.icc | 4 +- .../muons/include/G4MuIonisation.hh | 16 +- .../muons/include/G4MuIonisation.icc | 4 +- .../muons/include/G4MuNuclearInteraction.hh | 125 - .../muons/include/G4MuNuclearInteraction.icc | 80 - .../muons/include/G4MuPairProduction.hh | 22 +- .../muons/include/G4MuPairProduction.icc | 4 +- .../muons/src/G4IMuBremsstrahlung.cc | 6 +- .../muons/src/G4IMuEnergyLoss.cc | 4 +- .../muons/src/G4IMuIonisation.cc | 25 +- .../muons/src/G4IMuPairProduction.cc | 6 +- .../muons/src/G4MuBremsstrahlung.cc | 44 +- .../muons/src/G4MuEnergyLoss.cc | 184 +- .../muons/src/G4MuIonisation.cc | 77 +- .../muons/src/G4MuPairProduction.cc | 63 +- .../electromagnetic/standard/GNUmakefile | 23 +- .../standard/include/G4ComptonScattering.hh | 4 +- .../standard/include/G4ComptonScattering.icc | 4 +- .../standard/include/G4EnergyLossMessenger.hh | 4 +- .../standard/include/G4GammaConversion.hh | 4 +- .../standard/include/G4GammaConversion.icc | 4 +- .../standard/include/G4IMultipleScattering.hh | 4 +- .../include/G4IMultipleScattering.icc | 4 +- .../standard/include/G4IeBremsstrahlung.hh | 7 +- .../standard/include/G4IeBremsstrahlung.icc | 19 +- .../standard/include/G4IeEnergyLoss.hh | 4 +- .../standard/include/G4IeEnergyLoss.icc | 4 +- .../standard/include/G4IeIonisation.hh | 7 +- .../standard/include/G4IeIonisation.icc | 19 +- .../standard/include/G4IeplusAnnihilation.hh | 4 +- .../standard/include/G4IeplusAnnihilation.icc | 4 +- .../standard/include/G4IhEnergyLoss.hh | 4 +- .../standard/include/G4IhEnergyLoss.icc | 4 +- .../standard/include/G4IhIonisation.hh | 4 +- .../standard/include/G4IhIonisation.icc | 4 +- .../standard/include/G4MultipleScattering.hh | 24 +- .../standard/include/G4MultipleScattering.icc | 171 +- .../standard/include/G4PAIenergyLoss.hh | 300 + .../standard/include/G4PAIenergyLoss.icc | 70 + .../standard/include/G4PAIonisation.hh | 179 + .../standard/include/G4PAIonisation.icc | 131 + .../standard/include/G4PAIxSection.hh | 192 + .../standard/include/G4PhotoAbsorption.hh | 119 - .../standard/include/G4PhotoAbsorption.icc | 182 - .../standard/include/G4PhotoElectricEffect.hh | 19 +- .../include/G4PhotoElectricEffect.icc | 42 +- .../include/G4PolarizedComptonScattering.hh | 4 +- .../include/G4SynchrotronRadiation.hh | 4 +- .../standard/include/G4eBremsstrahlung.hh | 4 +- .../standard/include/G4eBremsstrahlung.icc | 4 +- .../standard/include/G4eBremsstrahlungPlus.hh | 4 +- .../include/G4eBremsstrahlungPlus.icc | 4 +- .../standard/include/G4eEnergyLoss.hh | 34 +- .../standard/include/G4eEnergyLoss.icc | 54 +- .../standard/include/G4eEnergyLossPlus.hh | 47 +- .../standard/include/G4eEnergyLossPlus.icc | 56 +- .../standard/include/G4eIonisation.hh | 4 +- .../standard/include/G4eIonisation.icc | 5 +- .../standard/include/G4eIonisationPlus.hh | 4 +- .../standard/include/G4eIonisationPlus.icc | 4 +- .../standard/include/G4eplusAnnihilation.hh | 4 +- .../standard/include/G4eplusAnnihilation.icc | 4 +- .../standard/include/G4hEnergyLoss.hh | 26 +- .../standard/include/G4hEnergyLoss.icc | 4 +- .../standard/include/G4hEnergyLossPlus.hh | 313 + .../standard/include/G4hEnergyLossPlus.icc | 49 + .../standard/include/G4hIonisation.hh | 7 +- .../standard/include/G4hIonisation.icc | 4 +- .../standard/include/G4hIonisationPlus.hh | 121 + .../standard/include/G4hIonisationPlus.icc | 61 + .../standard/include/G4ionIonisation.hh | 25 +- .../standard/include/G4ionIonisation.icc | 20 +- .../standard/src/G4ComptonScattering.cc | 6 +- .../standard/src/G4EnergyLossMessenger.cc | 4 +- .../standard/src/G4GammaConversion.cc | 6 +- .../standard/src/G4IMultipleScattering.cc | 6 +- .../standard/src/G4IeBremsstrahlung.cc | 20 +- .../standard/src/G4IeEnergyLoss.cc | 9 +- .../standard/src/G4IeIonisation.cc | 40 +- .../standard/src/G4IeplusAnnihilation.cc | 25 +- .../standard/src/G4IhEnergyLoss.cc | 8 +- .../standard/src/G4IhIonisation.cc | 48 +- .../standard/src/G4MultipleScattering.cc | 196 +- .../standard/src/G4PAIenergyLoss.cc | 845 + .../standard/src/G4PAIonisation.cc | 845 + .../standard/src/G4PAIxSection.cc | 827 + .../standard/src/G4PhotoAbsorption.cc | 308 - .../standard/src/G4PhotoElectricEffect.cc | 52 +- .../src/G4PolarizedComptonScattering.cc | 4 +- .../standard/src/G4SynchrotronRadiation.cc | 4 +- .../standard/src/G4eBremsstrahlung.cc | 38 +- .../standard/src/G4eBremsstrahlungPlus.cc | 42 +- .../standard/src/G4eEnergyLoss.cc | 239 +- .../standard/src/G4eEnergyLossPlus.cc | 788 +- .../standard/src/G4eIonisation.cc | 33 +- .../standard/src/G4eIonisationPlus.cc | 41 +- .../standard/src/G4eplusAnnihilation.cc | 4 +- .../standard/src/G4hEnergyLoss.cc | 259 +- .../standard/src/G4hEnergyLossPlus.cc | 1559 ++ .../standard/src/G4hIonisation.cc | 82 +- .../standard/src/G4hIonisationPlus.cc | 556 + .../standard/src/G4ionIonisation.cc | 220 +- .../electromagnetic/utils/GNUmakefile | 2 +- .../utils/include/G4EnergyLossTables.hh | 13 +- .../utils/include/G4EnergyLossTables.icc | 119 +- .../utils/src/G4EnergyLossTables.cc | 120 +- .../electromagnetic/xrays/GNUmakefile | 2 +- .../xrays/include/G4Cerenkov.hh | 4 +- .../xrays/include/G4ForwardXrayTR.hh | 35 +- .../xrays/include/G4Scintillation.hh | 4 +- .../xrays/include/G4TransitionRadiation.hh | 7 +- .../electromagnetic/xrays/src/G4Cerenkov.cc | 4 +- .../xrays/src/G4ForwardXrayTR.cc | 260 +- .../xrays/src/G4Scintillation.cc | 6 +- .../xrays/src/G4TransitionRadiation.cc | 4 +- source/processes/hadronic/GNUmakefile | 2 +- .../hadronic/cross_sections/GNUmakefile | 2 +- .../include/G4CrossSectionDataStore.hh | 4 +- .../include/G4HadronCaptureDataSet.hh | 4 +- .../include/G4HadronCrossSections.hh | 4 +- .../include/G4HadronElasticDataSet.hh | 4 +- .../include/G4HadronFissionDataSet.hh | 4 +- .../include/G4HadronInelasticDataSet.hh | 4 +- .../include/G4VCrossSectionDataSet.hh | 4 +- .../src/G4CrossSectionDataStore.cc | 4 +- .../src/G4HadronCaptureDataSet.cc | 4 +- .../src/G4HadronCrossSections.cc | 4 +- .../src/G4HadronElasticDataSet.cc | 4 +- .../src/G4HadronFissionDataSet.cc | 4 +- .../src/G4HadronInelasticDataSet.cc | 4 +- .../src/G4VCrossSectionDataSet.cc | 4 +- .../processes/hadronic/management/GNUmakefile | 2 +- .../include/G4EnergyRangeManager.hh | 4 +- .../include/G4HadronInelasticProcess.hh | 4 +- .../include/G4HadronicInteraction.hh | 12 +- .../include/G4HadronicInteractionRegistry.hh | 35 + .../management/include/G4HadronicProcess.hh | 4 +- .../include/G4InelasticInteraction.hh | 4 +- .../management/src/G4EnergyRangeManager.cc | 12 +- .../src/G4HadronInelasticProcess.cc | 4 +- .../management/src/G4HadronicInteraction.cc | 4 +- .../src/G4HadronicInteractionRegistry.cc | 39 + .../management/src/G4HadronicProcess.cc | 4 +- source/processes/hadronic/models/GNUmakefile | 2 +- .../hadronic/models/generator/GNUmakefile | 2 +- .../hadronic/models/generator/History | 21 - .../generator/de_excitation/GNUmakefile | 12 +- .../include/G4ContinuumGammaDeexcitation.hh | 4 +- .../include/G4ContinuumGammaTransition.hh | 19 +- .../include/G4DiscreteGammaDeexcitation.hh | 4 +- .../include/G4DiscreteGammaTransition.hh | 11 +- .../de_excitation/include/G4DummyMF.hh | 4 +- .../include/G4ExcitationHandler.hh | 11 +- .../include/G4FermiConfiguration.hh | 2 + .../de_excitation/include/G4FissionBarrier.hh | 4 +- .../include/G4MultiFragmentation.hh | 4 +- .../de_excitation/include/G4NuclearLevel.hh | 17 +- .../include/G4NuclearLevelManager.hh | 12 +- .../include/G4VFissionBarrier.hh | 4 +- .../include/G4VGammaDeexcitation.hh | 5 +- .../include/G4VGammaTransition.hh | 11 +- .../de_excitation/src/G4Be8FermiFragment.cc | 2 +- .../src/G4ContinuumGammaDeexcitation.cc | 8 +- .../src/G4ContinuumGammaTransition.cc | 99 +- .../src/G4DiscreteGammaDeexcitation.cc | 8 +- .../src/G4DiscreteGammaTransition.cc | 102 +- .../generator/de_excitation/src/G4DummyMF.cc | 4 +- .../de_excitation/src/G4EvaporationChannel.cc | 15 +- .../de_excitation/src/G4ExcitationHandler.cc | 34 +- .../de_excitation/src/G4FermiBreakUp.cc | 50 +- .../de_excitation/src/G4FermiConfiguration.cc | 170 +- .../src/G4FermiConfigurationList.cc | 84 +- .../de_excitation/src/G4FissionBarrier.cc | 4 +- .../de_excitation/src/G4MultiFragmentation.cc | 4 +- .../de_excitation/src/G4NuclearLevel.cc | 35 +- .../src/G4NuclearLevelManager.cc | 103 +- .../src/G4StatMFMicrocanonical.cc | 2 +- .../de_excitation/src/G4VFissionBarrier.cc | 4 +- .../de_excitation/src/G4VGammaDeexcitation.cc | 110 +- .../generator/diffractive_string/GNUmakefile | 2 +- .../include/G4DiffractiveHHScatterer.hh | 2 +- .../include/G4DiffractiveSplitableHadron.hh | 7 +- .../diffractive_string/include/G4FTFModel.hh | 4 +- .../include/G4FTFParticipants.hh | 4 +- .../src/G4DiffractiveSplitableHadron.cc | 4 +- .../diffractive_string/src/G4FTFModel.cc | 4 +- .../src/G4FTFParticipants.cc | 4 +- .../models/generator/high_energy/GNUmakefile | 2 +- .../high_energy/include/G4TheoFSGenerator.hh | 6 +- .../high_energy/src/G4TheoFSGenerator.cc | 18 +- .../generator/kinetic_model/GNUmakefile | 2 +- .../models/generator/kinetic_model/README | 5 - .../G4GeneratorPrecompoundInterface.hh | 5 +- .../src/G4GeneratorPrecompoundInterface.cc | 25 +- .../models/generator/management/GNUmakefile | 2 +- .../management/include/G4V3DNucleus.hh | 6 +- .../management/include/G4VAnnihilator.hh | 3 +- .../management/include/G4VElasticScatterer.hh | 3 +- .../include/G4VHighEnergyGenerator.hh | 6 +- .../include/G4VInElasticScatterer.hh | 3 +- .../include/G4VIntraNuclearTransportModel.hh | 11 +- .../include/G4VKineticNucleon.hh | 4 +- .../management/include/G4VNuclearDensity.hh | 4 +- .../management/include/G4VPreCompoundModel.hh | 9 +- .../generator/management/src/G4V3DNucleus.cc | 4 +- .../management/src/G4VHighEnergyGenerator.cc | 4 +- .../src/G4VIntraNuclearTransportModel.cc | 9 +- .../src/G4VKineticNucleon.cc | 4 +- .../management/src/G4VNuclearDensity.cc | 4 +- .../management/src/G4VPreCompoundModel.cc | 4 +- .../generator/pre_equilibrium/GNUmakefile | 2 +- .../include/G4PreCompoundModel.hh | 14 +- .../pre_equilibrium/src/G4PreCompoundModel.cc | 300 +- .../pre_equilibrium/src/G4VPreCompoundIon.cc | 30 +- .../generator/string_common/GNUmakefile | 2 +- .../include/G4DiffractiveExcitation.hh | 6 +- .../string_common/include/G4EventGenerator.hh | 4 +- .../include/G4InteractionCode.hh | 4 +- .../include/G4InteractionContent.hh | 4 +- .../include/G4PomeronCrossSection.hh | 13 +- .../string_common/include/G4StringModel.hh | 5 +- .../include/G4VParticipants.hh | 4 +- .../include/G4VPartonStringModel.hh | 5 +- .../include/G4VSplitableHadron.hh | 10 +- .../include/G4VStringFragmentation.hh | 6 +- .../string_common/include/G4VertexCode.hh | 4 +- .../src/G4DiffractiveExcitation.cc | 3 +- .../string_common/src/G4EventGenerator.cc | 4 +- .../string_common/src/G4InteractionContent.cc | 4 +- .../src/G4PomeronCrossSection.cc | 13 +- .../string_common/src/G4StringModel.cc | 4 +- .../src/G4VParticipants.cc | 4 +- .../string_common/src/G4VPartonStringModel.cc | 16 +- .../src/G4VSplitableHadron.cc | 6 +- .../src/G4VStringFragmentation.cc | 4 +- .../string_fragmentation/GNUmakefile | 3 +- .../include/G4ExcitedStringDecay.hh | 4 +- .../include/G4LundStringFragmentation.hh | 4 +- .../include/G4QGSMFragmentation.hh | 16 +- .../include/G4VKinkyStringDecay.hh | 4 +- .../include/G4VLongitudinalStringDecay.hh | 98 +- .../src/G4ExcitedStringDecay.cc | 4 +- .../src/G4LundStringFragmentation.cc | 4 +- .../src/G4QGSMFragmentation.cc | 122 +- .../src/G4VKinkyStringDecay.cc | 7 +- .../src/G4VLongitudinalStringDecay.cc | 625 +- .../models/generator/util/GNUmakefile | 2 +- .../generator/util/include/G4ExcitedString.hh | 6 +- .../util/include/G4ExcitedStringVector.hh | 4 +- .../util/include/G4Fancy3DNucleus.hh | 6 +- .../generator/util/include/G4FermiMomentum.hh | 4 +- .../generator/util/include/G4Fragment.hh | 93 +- .../util/include/G4FragmentVector.hh | 4 +- .../util/include/G4GeneralPhaseSpaceDecay.hh | 4 +- .../generator/util/include/G4KineticTrack.hh | 4 +- .../util/include/G4KineticTrackVector.hh | 4 +- .../util/include/G4NuclearFermiDensity.hh | 4 +- .../include/G4NuclearShellModelDensity.hh | 4 +- .../generator/util/include/G4Nucleon.hh | 7 +- .../models/generator/util/include/G4Parton.hh | 37 +- .../generator/util/include/G4PartonVector.hh | 4 +- .../generator/util/src/G4ExcitedString.cc | 4 +- .../generator/util/src/G4Fancy3DNucleus.cc | 237 +- .../generator/util/src/G4FermiMomentum.cc | 4 +- .../models/generator/util/src/G4Fragment.cc | 116 +- .../util/src/G4GeneralPhaseSpaceDecay.cc | 4 +- .../generator/util/src/G4KineticTrack.cc | 18 +- .../util/src/G4NuclearFermiDensity.cc | 4 +- .../util/src/G4NuclearShellModelDensity.cc | 4 +- .../models/generator/util/src/G4Nucleon.cc | 15 +- .../models/generator/util/src/G4Parton.cc | 42 +- .../hadronic/models/high_energy/GNUmakefile | 2 +- .../include/G4HEAntiKaonZeroInelastic.hh | 11 + .../include/G4HEAntiLambdaInelastic.hh | 11 + .../include/G4HEAntiNeutronInelastic.hh | 11 + .../include/G4HEAntiOmegaMinusInelastic.hh | 11 + .../include/G4HEAntiProtonInelastic.hh | 11 + .../include/G4HEAntiSigmaMinusInelastic.hh | 11 + .../include/G4HEAntiSigmaPlusInelastic.hh | 11 + .../include/G4HEAntiSigmaZeroInelastic.hh | 11 + .../include/G4HEAntiXiMinusInelastic.hh | 11 + .../include/G4HEAntiXiZeroInelastic.hh | 11 + .../high_energy/include/G4HEInelastic.hh | 11 + .../include/G4HEKaonMinusInelastic.hh | 11 + .../include/G4HEKaonPlusInelastic.hh | 11 + .../include/G4HEKaonZeroInelastic.hh | 11 + .../include/G4HEKaonZeroLongInelastic.hh | 11 + .../include/G4HEKaonZeroShortInelastic.hh | 11 + .../include/G4HELambdaInelastic.hh | 11 + .../include/G4HENeutronInelastic.hh | 11 + .../include/G4HEOmegaMinusInelastic.hh | 11 + .../include/G4HEPionMinusInelastic.hh | 11 + .../include/G4HEPionPlusInelastic.hh | 11 + .../models/high_energy/include/G4HEPlot.hh | 11 + .../include/G4HEProtonInelastic.hh | 11 + .../include/G4HESigmaMinusInelastic.hh | 11 + .../include/G4HESigmaPlusInelastic.hh | 11 + .../include/G4HESigmaZeroInelastic.hh | 11 + .../models/high_energy/include/G4HEVector.hh | 68 +- .../include/G4HEXiMinusInelastic.hh | 11 + .../include/G4HEXiZeroInelastic.hh | 11 + .../src/G4HEAntiKaonZeroInelastic.cc | 44 +- .../src/G4HEAntiLambdaInelastic.cc | 44 +- .../src/G4HEAntiNeutronInelastic.cc | 44 +- .../src/G4HEAntiOmegaMinusInelastic.cc | 44 +- .../src/G4HEAntiProtonInelastic.cc | 44 +- .../src/G4HEAntiSigmaMinusInelastic.cc | 44 +- .../src/G4HEAntiSigmaPlusInelastic.cc | 44 +- .../src/G4HEAntiSigmaZeroInelastic.cc | 16 + .../src/G4HEAntiXiMinusInelastic.cc | 44 +- .../src/G4HEAntiXiZeroInelastic.cc | 44 +- .../models/high_energy/src/G4HEInelastic.cc | 222 +- .../high_energy/src/G4HEKaonMinusInelastic.cc | 44 +- .../high_energy/src/G4HEKaonPlusInelastic.cc | 44 +- .../high_energy/src/G4HEKaonZeroInelastic.cc | 44 +- .../src/G4HEKaonZeroLongInelastic.cc | 16 + .../src/G4HEKaonZeroShortInelastic.cc | 16 + .../high_energy/src/G4HELambdaInelastic.cc | 44 +- .../high_energy/src/G4HENeutronInelastic.cc | 44 +- .../src/G4HEOmegaMinusInelastic.cc | 44 +- .../high_energy/src/G4HEPionMinusInelastic.cc | 44 +- .../high_energy/src/G4HEPionPlusInelastic.cc | 44 +- .../models/high_energy/src/G4HEPlot.cc | 60 +- .../high_energy/src/G4HEProtonInelastic.cc | 46 +- .../src/G4HESigmaMinusInelastic.cc | 44 +- .../high_energy/src/G4HESigmaPlusInelastic.cc | 44 +- .../high_energy/src/G4HESigmaZeroInelastic.cc | 16 + .../models/high_energy/src/G4HEVector.cc | 52 +- .../high_energy/src/G4HEXiMinusInelastic.cc | 44 +- .../high_energy/src/G4HEXiZeroInelastic.cc | 44 +- .../hadronic/models/low_energy/GNUmakefile | 2 +- .../models/low_energy/include/G4LCapture.hh | 4 +- .../low_energy/include/G4LEAlphaInelastic.hh | 4 +- .../include/G4LEAntiLambdaInelastic.hh | 4 +- .../include/G4LEAntiNeutronInelastic.hh | 4 +- .../include/G4LEAntiOmegaMinusInelastic.hh | 4 +- .../include/G4LEAntiProtonInelastic.hh | 4 +- .../include/G4LEAntiSigmaMinusInelastic.hh | 4 +- .../include/G4LEAntiSigmaPlusInelastic.hh | 4 +- .../include/G4LEAntiXiMinusInelastic.hh | 4 +- .../include/G4LEAntiXiZeroInelastic.hh | 4 +- .../include/G4LEDeuteronInelastic.hh | 4 +- .../include/G4LEKaonMinusInelastic.hh | 4 +- .../include/G4LEKaonPlusInelastic.hh | 4 +- .../include/G4LEKaonZeroLInelastic.hh | 4 +- .../include/G4LEKaonZeroSInelastic.hh | 4 +- .../low_energy/include/G4LELambdaInelastic.hh | 4 +- .../include/G4LEOmegaMinusInelastic.hh | 4 +- .../include/G4LEPionMinusInelastic.hh | 4 +- .../include/G4LEPionPlusInelastic.hh | 4 +- .../low_energy/include/G4LEProtonInelastic.hh | 4 +- .../include/G4LESigmaMinusInelastic.hh | 4 +- .../include/G4LESigmaPlusInelastic.hh | 4 +- .../low_energy/include/G4LETritonInelastic.hh | 4 +- .../include/G4LEXiMinusInelastic.hh | 4 +- .../low_energy/include/G4LEXiZeroInelastic.hh | 4 +- .../models/low_energy/include/G4LElastic.hh | 4 +- .../models/low_energy/include/G4LFission.hh | 4 +- .../models/low_energy/src/G4LCapture.cc | 4 +- .../low_energy/src/G4LEAlphaInelastic.cc | 4 +- .../low_energy/src/G4LEAntiLambdaInelastic.cc | 4 +- .../src/G4LEAntiNeutronInelastic.cc | 4 +- .../src/G4LEAntiOmegaMinusInelastic.cc | 4 +- .../low_energy/src/G4LEAntiProtonInelastic.cc | 4 +- .../src/G4LEAntiSigmaMinusInelastic.cc | 4 +- .../src/G4LEAntiSigmaPlusInelastic.cc | 4 +- .../src/G4LEAntiXiMinusInelastic.cc | 4 +- .../low_energy/src/G4LEAntiXiZeroInelastic.cc | 4 +- .../low_energy/src/G4LEDeuteronInelastic.cc | 4 +- .../low_energy/src/G4LEKaonMinusInelastic.cc | 4 +- .../low_energy/src/G4LEKaonPlusInelastic.cc | 4 +- .../low_energy/src/G4LEKaonZeroLInelastic.cc | 4 +- .../low_energy/src/G4LEKaonZeroSInelastic.cc | 4 +- .../low_energy/src/G4LELambdaInelastic.cc | 4 +- .../low_energy/src/G4LENeutronInelastic.cc | 6 +- .../low_energy/src/G4LEOmegaMinusInelastic.cc | 4 +- .../low_energy/src/G4LEPionMinusInelastic.cc | 4 +- .../low_energy/src/G4LEPionPlusInelastic.cc | 4 +- .../low_energy/src/G4LEProtonInelastic.cc | 4 +- .../low_energy/src/G4LESigmaMinusInelastic.cc | 4 +- .../low_energy/src/G4LESigmaPlusInelastic.cc | 4 +- .../low_energy/src/G4LETritonInelastic.cc | 4 +- .../low_energy/src/G4LEXiMinusInelastic.cc | 4 +- .../low_energy/src/G4LEXiZeroInelastic.cc | 4 +- .../models/low_energy/src/G4LElastic.cc | 4 +- .../models/low_energy/src/G4LFission.cc | 4 +- .../hadronic/models/neutron_hp/GNUmakefile | 2 +- .../include/G4InterpolationIterator.hh | 4 +- .../include/G4InterpolationManager.hh | 4 +- .../include/G4InterpolationScheme.hh | 4 +- .../include/G4NeutronHP2AInelasticFS.hh | 4 +- .../include/G4NeutronHP2N2AInelasticFS.hh | 4 +- .../include/G4NeutronHP2NAInelasticFS.hh | 4 +- .../include/G4NeutronHP2NDInelasticFS.hh | 4 +- .../include/G4NeutronHP2NInelasticFS.hh | 4 +- .../include/G4NeutronHP2NPInelasticFS.hh | 4 +- .../include/G4NeutronHP2PInelasticFS.hh | 4 +- .../include/G4NeutronHP3AInelasticFS.hh | 4 +- .../include/G4NeutronHP3NAInelasticFS.hh | 4 +- .../include/G4NeutronHP3NInelasticFS.hh | 4 +- .../include/G4NeutronHP3NPInelasticFS.hh | 4 +- .../include/G4NeutronHP4NInelasticFS.hh | 4 +- .../include/G4NeutronHPAInelasticFS.hh | 4 +- .../neutron_hp/include/G4NeutronHPAngular.hh | 4 +- .../neutron_hp/include/G4NeutronHPAngularP.hh | 4 +- .../include/G4NeutronHPArbitaryTab.hh | 4 +- .../neutron_hp/include/G4NeutronHPCapture.hh | 4 +- .../include/G4NeutronHPCaptureData.hh | 4 +- .../include/G4NeutronHPCaptureFS.hh | 5 +- .../neutron_hp/include/G4NeutronHPChannel.hh | 32 +- .../include/G4NeutronHPChannelList.hh | 4 +- .../include/G4NeutronHPContAngularPar.hh | 4 +- .../include/G4NeutronHPContEnergyAngular.hh | 4 +- .../include/G4NeutronHPD2AInelasticFS.hh | 4 +- .../include/G4NeutronHPDAInelasticFS.hh | 4 +- .../include/G4NeutronHPDInelasticFS.hh | 4 +- .../neutron_hp/include/G4NeutronHPData.hh | 4 +- .../include/G4NeutronHPDataPoint.hh | 4 +- .../include/G4NeutronHPDeExGammas.hh | 4 +- .../include/G4NeutronHPDiscreteTwoBody.hh | 4 +- .../neutron_hp/include/G4NeutronHPElastic.hh | 4 +- .../include/G4NeutronHPElasticData.hh | 4 +- .../include/G4NeutronHPElasticFS.hh | 4 +- .../include/G4NeutronHPElementData.hh | 4 +- .../include/G4NeutronHPEnAngCorrelation.hh | 4 +- .../include/G4NeutronHPEnergyDistribution.hh | 4 +- .../include/G4NeutronHPEvapSpectrum.hh | 4 +- .../include/G4NeutronHPFCFissionFS.hh | 4 +- .../include/G4NeutronHPFSFissionFS.hh | 4 +- .../include/G4NeutronHPFastLegendre.hh | 4 +- .../neutron_hp/include/G4NeutronHPField.hh | 4 +- .../include/G4NeutronHPFieldPoint.hh | 4 +- .../include/G4NeutronHPFinalState.hh | 4 +- .../neutron_hp/include/G4NeutronHPFission.hh | 4 +- .../include/G4NeutronHPFissionBaseFS.hh | 4 +- .../include/G4NeutronHPFissionData.hh | 4 +- .../include/G4NeutronHPFissionERelease.hh | 4 +- .../include/G4NeutronHPFissionFS.hh | 4 +- .../include/G4NeutronHPFissionSpectrum.hh | 4 +- .../neutron_hp/include/G4NeutronHPGamma.hh | 4 +- .../include/G4NeutronHPHe3InelasticFS.hh | 4 +- .../include/G4NeutronHPInelastic.hh | 4 +- .../include/G4NeutronHPInelasticBaseFS.hh | 4 +- .../include/G4NeutronHPInelasticCompFS.hh | 4 +- .../include/G4NeutronHPInelasticData.hh | 4 +- .../include/G4NeutronHPInterpolator.hh | 4 +- .../neutron_hp/include/G4NeutronHPIsoData.hh | 4 +- .../include/G4NeutronHPIsotropic.hh | 4 +- .../include/G4NeutronHPKallbachMannSyst.hh | 4 +- .../include/G4NeutronHPLCFissionFS.hh | 4 +- .../include/G4NeutronHPLabAngularEnergy.hh | 4 +- .../include/G4NeutronHPLegendreStore.hh | 4 +- .../include/G4NeutronHPLegendreTable.hh | 4 +- .../neutron_hp/include/G4NeutronHPLevel.hh | 4 +- .../neutron_hp/include/G4NeutronHPList.hh | 4 +- .../include/G4NeutronHPMadlandNixSpectrum.hh | 4 +- .../include/G4NeutronHPN2AInelasticFS.hh | 4 +- .../include/G4NeutronHPN2PInelasticFS.hh | 4 +- .../include/G4NeutronHPN3AInelasticFS.hh | 4 +- .../include/G4NeutronHPNAInelasticFS.hh | 4 +- .../include/G4NeutronHPNBodyPhaseSpace.hh | 4 +- .../include/G4NeutronHPND2AInelasticFS.hh | 4 +- .../include/G4NeutronHPNDInelasticFS.hh | 4 +- .../include/G4NeutronHPNHe3InelasticFS.hh | 4 +- .../include/G4NeutronHPNInelasticFS.hh | 4 +- .../include/G4NeutronHPNPAInelasticFS.hh | 4 +- .../include/G4NeutronHPNPInelasticFS.hh | 4 +- .../include/G4NeutronHPNT2AInelasticFS.hh | 4 +- .../include/G4NeutronHPNTInelasticFS.hh | 4 +- .../include/G4NeutronHPNXInelasticFS.hh | 4 +- .../neutron_hp/include/G4NeutronHPNames.hh | 9 +- .../include/G4NeutronHPNeutronYield.hh | 4 +- .../include/G4NeutronHPPAInelasticFS.hh | 4 +- .../include/G4NeutronHPPDInelasticFS.hh | 4 +- .../include/G4NeutronHPPInelasticFS.hh | 4 +- .../include/G4NeutronHPPTInelasticFS.hh | 4 +- .../neutron_hp/include/G4NeutronHPPartial.hh | 4 +- .../include/G4NeutronHPPhotonDist.hh | 4 +- .../include/G4NeutronHPPhotonXSection.hh | 4 +- .../include/G4NeutronHPPolynomExpansion.hh | 4 +- .../neutron_hp/include/G4NeutronHPProduct.hh | 4 +- .../include/G4NeutronHPSCFissionFS.hh | 4 +- .../include/G4NeutronHPSimpleEvapSpectrum.hh | 4 +- .../include/G4NeutronHPT2AInelasticFS.hh | 4 +- .../include/G4NeutronHPTCFissionFS.hh | 4 +- .../include/G4NeutronHPTInelasticFS.hh | 4 +- .../neutron_hp/include/G4NeutronHPVector.hh | 7 +- .../include/G4NeutronHPWattSpectrum.hh | 4 +- .../neutron_hp/include/G4VNeutronHPEDis.hh | 4 +- .../include/G4VNeutronHPEnergyAngular.hh | 4 +- .../neutron_hp/src/G4NeutronHPCapture.cc | 4 +- .../neutron_hp/src/G4NeutronHPElastic.cc | 4 +- .../neutron_hp/src/G4NeutronHPElementData.cc | 9 - .../neutron_hp/src/G4NeutronHPFission.cc | 4 +- .../neutron_hp/src/G4NeutronHPInelastic.cc | 6 +- .../src/G4NeutronHPInelasticBaseFS.cc | 2 + .../src/G4NeutronHPInelasticCompFS.cc | 2 + .../neutron_hp/src/G4NeutronHPIsoData.cc | 6 + .../src/G4NeutronHPLegendreStore.cc | 14 +- .../models/neutron_hp/src/G4NeutronHPList.cc | 3 +- .../src/G4NeutronHPNBodyPhaseSpace.cc | 4 +- .../models/neutron_hp/src/G4NeutronHPNames.cc | 4 +- .../neutron_hp/src/G4NeutronHPVector.cc | 4 +- .../processes/hadronic/processes/GNUmakefile | 2 +- .../include/G4AlphaInelasticProcess.hh | 4 +- .../include/G4AntiLambdaInelasticProcess.hh | 4 +- .../include/G4AntiNeutronInelasticProcess.hh | 4 +- .../G4AntiOmegaMinusInelasticProcess.hh | 4 +- .../include/G4AntiProtonInelasticProcess.hh | 4 +- .../G4AntiSigmaMinusInelasticProcess.hh | 4 +- .../G4AntiSigmaPlusInelasticProcess.hh | 4 +- .../include/G4AntiXiMinusInelasticProcess.hh | 4 +- .../include/G4AntiXiZeroInelasticProcess.hh | 4 +- .../include/G4DeuteronInelasticProcess.hh | 4 +- .../include/G4HadronCaptureProcess.hh | 4 +- .../include/G4HadronElasticProcess.hh | 4 +- .../include/G4HadronFissionProcess.hh | 4 +- .../include/G4KaonMinusInelasticProcess.hh | 4 +- .../include/G4KaonPlusInelasticProcess.hh | 4 +- .../include/G4KaonZeroLInelasticProcess.hh | 4 +- .../include/G4KaonZeroSInelasticProcess.hh | 4 +- .../include/G4LambdaInelasticProcess.hh | 4 +- .../include/G4NeutronInelasticProcess.hh | 4 +- .../include/G4OmegaMinusInelasticProcess.hh | 4 +- .../include/G4PionMinusInelasticProcess.hh | 4 +- .../include/G4PionPlusInelasticProcess.hh | 4 +- .../include/G4ProtonInelasticProcess.hh | 4 +- .../include/G4SigmaMinusInelasticProcess.hh | 4 +- .../include/G4SigmaPlusInelasticProcess.hh | 4 +- .../include/G4TritonInelasticProcess.hh | 4 +- .../include/G4XiMinusInelasticProcess.hh | 4 +- .../include/G4XiZeroInelasticProcess.hh | 4 +- .../processes/src/G4HadronCaptureProcess.cc | 4 +- .../processes/src/G4HadronElasticProcess.cc | 4 +- .../processes/src/G4HadronFissionProcess.cc | 4 +- .../processes/hadronic/stopping/GNUmakefile | 2 +- .../G4AntiNeutronAnnihilationAtRest.hh | 4 +- .../include/G4AntiProtonAnnihilationAtRest.hh | 4 +- .../include/G4DistributionGenerator.hh | 4 +- .../stopping/include/G4KaonMinusAbsorption.hh | 4 +- .../include/G4KaonMinusAbsorptionAtRest.hh | 4 +- .../include/G4MuonMinusCaptureAtRest.hh | 4 +- .../include/G4NeutronCaptureAtRest.hh | 4 +- .../include/G4PiMinusAbsorptionAtRest.hh | 4 +- .../include/G4PiMinusStopAbsorption.hh | 8 +- .../stopping/include/G4PiMinusStopAl.hh | 4 +- .../stopping/include/G4PiMinusStopC.hh | 4 +- .../stopping/include/G4PiMinusStopCo.hh | 4 +- .../stopping/include/G4PiMinusStopCu.hh | 4 +- .../stopping/include/G4PiMinusStopLi.hh | 4 +- .../stopping/include/G4PiMinusStopMaterial.hh | 4 +- .../stopping/include/G4PiMinusStopN.hh | 4 +- .../stopping/include/G4PiMinusStopO.hh | 4 +- .../stopping/include/G4PiMinusStopPb.hh | 4 +- .../stopping/include/G4PiMinusStopTa.hh | 4 +- .../include/G4PionMinusAbsorptionAtRest.hh | 4 +- .../stopping/include/G4StopDeexcitation.hh | 10 +- .../include/G4StopDeexcitationAlgorithm.hh | 10 +- .../include/G4StopDummyDeexcitation.hh | 12 +- .../include/G4StopTheoDeexcitation.hh | 6 +- .../src/G4AntiNeutronAnnihilationAtRest.cc | 4 +- .../src/G4AntiProtonAnnihilationAtRest.cc | 4 +- .../stopping/src/G4DistributionGenerator.cc | 6 +- .../stopping/src/G4KaonMinusAbsorption.cc | 4 +- .../src/G4KaonMinusAbsorptionAtRest.cc | 18 +- .../stopping/src/G4MuonMinusCaptureAtRest.cc | 4 +- .../stopping/src/G4NeutronCaptureAtRest.cc | 4 +- .../stopping/src/G4PiMinusAbsorptionAtRest.cc | 20 +- .../stopping/src/G4PiMinusStopAbsorption.cc | 27 +- .../hadronic/stopping/src/G4PiMinusStopAl.cc | 4 +- .../hadronic/stopping/src/G4PiMinusStopC.cc | 4 +- .../hadronic/stopping/src/G4PiMinusStopCo.cc | 4 +- .../hadronic/stopping/src/G4PiMinusStopCu.cc | 4 +- .../hadronic/stopping/src/G4PiMinusStopLi.cc | 4 +- .../stopping/src/G4PiMinusStopMaterial.cc | 4 +- .../hadronic/stopping/src/G4PiMinusStopN.cc | 4 +- .../hadronic/stopping/src/G4PiMinusStopO.cc | 4 +- .../hadronic/stopping/src/G4PiMinusStopPb.cc | 4 +- .../hadronic/stopping/src/G4PiMinusStopTa.cc | 4 +- .../src/G4PionMinusAbsorptionAtRest.cc | 4 +- .../stopping/src/G4StopDeexcitation.cc | 7 +- .../stopping/src/G4StopDummyDeexcitation.cc | 6 +- .../stopping/src/G4StopTheoDeexcitation.cc | 7 +- source/processes/hadronic/util/GNUmakefile | 43 +- .../util/include/G4DynamicParticleVector.hh | 4 +- .../util/include/G4GHEKinematicsVector.hh | 4 +- .../hadronic/util/include/G4LightMedia.hh | 4 +- .../hadronic/util/include/G4Nucleus.hh | 4 +- .../hadronic/util/include/G4ParticleVector.hh | 4 +- .../util/include/G4ReactionDynamics.hh | 4 +- .../util/include/G4ReactionKinematics.hh | 4 +- .../util/include/G4ReactionProduct.hh | 4 +- .../util/include/G4ReactionProductVector.hh | 4 +- .../hadronic/util/include/G4StableIsotopes.hh | 4 +- .../hadronic/util/src/G4LightMedia.cc | 4 +- .../processes/hadronic/util/src/G4Nucleus.cc | 18 +- .../hadronic/util/src/G4ReactionDynamics.cc | 90 +- .../hadronic/util/src/G4ReactionKinematics.cc | 4 +- .../hadronic/util/src/G4ReactionProduct.cc | 4 +- .../hadronic/util/src/G4StableIsotopes.cc | 4 +- source/processes/management/GNUmakefile | 2 +- source/processes/management/History | 48 + .../include/G4IVContinuousDiscreteProcess.hh | 114 +- .../include/G4IVRestDiscreteProcess.hh | 129 +- .../management/include/G4ParticleTypes.hh | 4 +- .../management/include/G4ProcTblElement.hh | 26 +- .../management/include/G4ProcTblElement.icc | 22 +- .../management/include/G4ProcessAttribute.hh | 7 +- .../management/include/G4ProcessManager.hh | 39 +- .../include/G4ProcessManagerMessenger.hh | 12 +- .../management/include/G4ProcessTable.hh | 10 +- .../management/include/G4ProcessTable.icc | 8 +- .../include/G4ProcessTableMessenger.hh | 10 +- .../management/include/G4ProcessType.hh | 4 +- .../management/include/G4ProcessVector.hh | 4 +- .../include/G4VContinuousDiscreteProcess.hh | 20 +- .../include/G4VContinuousProcess.hh | 22 +- .../management/include/G4VDiscreteProcess.hh | 22 +- .../management/include/G4VProcess.hh | 40 +- .../G4VRestContinuousDiscreteProcess.hh | 18 +- .../include/G4VRestContinuousProcess.hh | 20 +- .../include/G4VRestDiscreteProcess.hh | 20 +- .../management/include/G4VRestProcess.hh | 22 +- .../src/G4IVContinuousDiscreteProcess.cc | 27 +- .../management/src/G4IVRestDiscreteProcess.cc | 29 +- .../management/src/G4ProcTblElement.cc | 12 +- .../management/src/G4ProcessAttribute.cc | 7 +- .../management/src/G4ProcessManager.cc | 428 +- .../src/G4ProcessManagerMessenger.cc | 36 +- .../management/src/G4ProcessTable.cc | 137 +- .../management/src/G4ProcessTableMessenger.cc | 39 +- .../src/G4VContinuousDiscreteProcess.cc | 4 +- .../management/src/G4VContinuousProcess.cc | 4 +- .../management/src/G4VDiscreteProcess.cc | 4 +- source/processes/management/src/G4VProcess.cc | 57 +- .../src/G4VRestContinuousDiscreteProcess.cc | 4 +- .../src/G4VRestContinuousProcess.cc | 4 +- .../management/src/G4VRestDiscreteProcess.cc | 4 +- .../management/src/G4VRestProcess.cc | 4 +- source/processes/optical/GNUmakefile | 2 +- .../optical/include/G4OpAbsorption.hh | 4 +- .../optical/include/G4OpBoundaryProcess.hh | 4 +- .../processes/optical/include/G4OpRayleigh.hh | 4 +- .../processes/optical/src/G4OpAbsorption.cc | 4 +- source/processes/optical/src/G4OpRayleigh.cc | 4 +- source/processes/parameterisation/GNUmakefile | 2 +- source/processes/parameterisation/History | 270 +- .../include/G4FastSimulationManager.hh | 24 +- .../include/G4FastSimulationManagerProcess.hh | 7 +- .../include/G4FastSimulationMessenger.hh | 6 +- .../parameterisation/include/G4FastStep.hh | 7 +- .../parameterisation/include/G4FastStep.icc | 4 +- .../parameterisation/include/G4FastTrack.hh | 6 +- .../include/G4FlavoredParallelWorld.hh | 26 +- .../include/G4GlobalFastSimulationManager.hh | 10 +- .../include/G4VFastSimulationModel.hh | 4 +- .../src/G4FastSimulationManager.cc | 22 +- .../src/G4FastSimulationManagerProcess.cc | 27 +- .../src/G4FastSimulationMessenger.cc | 10 +- .../parameterisation/src/G4FastStep.cc | 124 +- .../parameterisation/src/G4FastTrack.cc | 7 +- .../src/G4GlobalFastSimulationManager.cc | 10 +- .../src/G4VFastSimulationModel.cc | 10 +- .../processes/photolepton_hadron/GNUmakefile | 2 +- .../include/G4MuNuclearInteraction.hh | 4 +- .../include/G4MuNuclearInteraction.icc | 4 +- .../src/G4MuNuclearInteraction.cc | 14 +- source/processes/transportation/GNUmakefile | 2 +- source/processes/transportation/History | 2 +- .../include/G4Transportation.hh | 4 +- .../include/G4Transportation.icc | 4 +- .../include/G4UserSpecialCuts.hh | 4 +- .../transportation/src/G4Transportation.cc | 115 +- .../transportation/src/G4UserSpecialCuts.cc | 4 +- source/readout/GNUmakefile | 2 +- source/readout/History | 2 +- source/readout/include/G4DCtable.hh | 4 +- source/readout/include/G4DMmessenger.hh | 4 +- source/readout/include/G4DigiManager.hh | 4 +- source/readout/include/G4VDigitizerModule.hh | 4 +- source/readout/src/G4DCtable.cc | 4 +- source/readout/src/G4DMmessenger.cc | 4 +- source/readout/src/G4DigiManager.cc | 4 +- source/readout/src/G4VDigitizerModule.cc | 4 +- source/run/GNUmakefile | 2 +- source/run/History | 25 +- source/run/README.TXT | 2 +- source/run/include/G4Run.hh | 4 +- source/run/include/G4RunManager.hh | 7 +- source/run/include/G4RunMessenger.hh | 4 +- .../run/include/G4UserPhysicsListMessenger.hh | 18 +- source/run/include/G4UserRunAction.hh | 8 +- source/run/include/G4VPersistencyManager.hh | 4 +- .../include/G4VUserDetectorConstruction.hh | 4 +- source/run/include/G4VUserPhysicsList.hh | 53 +- .../include/G4VUserPrimaryGeneratorAction.hh | 4 +- source/run/src/G4Run.cc | 4 +- source/run/src/G4RunManager.cc | 16 +- source/run/src/G4RunMessenger.cc | 4 +- source/run/src/G4UserPhysicsListMessenger.cc | 55 +- source/run/src/G4UserRunAction.cc | 8 +- source/run/src/G4VPersistencyManager.cc | 4 +- source/run/src/G4VUserDetectorConstruction.cc | 4 +- source/run/src/G4VUserPhysicsList.cc | 355 +- .../run/src/G4VUserPrimaryGeneratorAction.cc | 4 +- source/track/GNUmakefile | 2 +- source/track/History | 26 +- source/track/include/G4EvtBiasMechanism.hh | 30 +- source/track/include/G4ForceCondition.hh | 4 +- source/track/include/G4GPILSelection.hh | 4 +- source/track/include/G4Mars5GeVMechanism.hh | 12 +- source/track/include/G4ParticleChange.hh | 21 +- source/track/include/G4ParticleChange.icc | 41 +- .../track/include/G4ParticleChangeForDecay.hh | 12 +- .../track/include/G4ParticleChangeForLoss.hh | 7 +- .../track/include/G4ParticleChangeForMSC.hh | 22 +- .../track/include/G4ParticleChangeForMSC.icc | 38 +- .../include/G4ParticleChangeForTransport.hh | 4 +- .../include/G4ParticleChangeForTransport.icc | 4 +- source/track/include/G4Step.hh | 9 +- source/track/include/G4StepPoint.hh | 6 +- source/track/include/G4StepStatus.hh | 4 +- source/track/include/G4SteppingControl.hh | 4 +- source/track/include/G4Track.hh | 22 +- source/track/include/G4TrackFastVector.hh | 11 +- source/track/include/G4TrackStatus.hh | 4 +- source/track/include/G4VEvtBiasMechanism.hh | 30 +- source/track/include/G4VParticleChange.hh | 36 +- source/track/include/G4VParticleChange.icc | 26 +- source/track/src/G4EvtBiasMechanism.cc | 8 +- source/track/src/G4Mars5GeVMechanism.cc | 7 +- source/track/src/G4ParticleChange.cc | 155 +- source/track/src/G4ParticleChangeForDecay.cc | 59 +- source/track/src/G4ParticleChangeForLoss.cc | 57 +- source/track/src/G4ParticleChangeForMSC.cc | 92 +- .../track/src/G4ParticleChangeForTransport.cc | 25 +- source/track/src/G4Step.cc | 142 +- source/track/src/G4StepPoint.cc | 4 +- source/track/src/G4Track.cc | 4 +- source/track/src/G4VEvtBiasMechanism.cc | 49 + source/track/src/G4VParticleChange.cc | 109 +- source/tracking/GNUmakefile | 2 +- source/tracking/History | 11 +- source/tracking/include/G4SteppingManager.hh | 11 +- source/tracking/include/G4SteppingManager.icc | 4 +- source/tracking/include/G4SteppingVerbose.hh | 33 +- source/tracking/include/G4TrackVector.hh | 4 +- source/tracking/include/G4TrackingManager.hh | 14 +- .../tracking/include/G4TrackingMessenger.hh | 4 +- source/tracking/include/G4Trajectory.hh | 50 +- source/tracking/include/G4TrajectoryPoint.hh | 11 +- .../tracking/include/G4UserSteppingAction.hh | 31 +- .../tracking/include/G4UserTrackingAction.hh | 25 +- source/tracking/include/G4VSteppingVerbose.hh | 57 + source/tracking/include/G4VTrajectory.hh | 60 + source/tracking/include/G4VTrajectoryPoint.hh | 28 + source/tracking/src/G4SteppingManager.cc | 13 +- source/tracking/src/G4SteppingVerbose.cc | 259 +- source/tracking/src/G4TrackingManager.cc | 25 +- source/tracking/src/G4TrackingMessenger.cc | 4 +- source/tracking/src/G4Trajectory.cc | 68 +- source/tracking/src/G4TrajectoryPoint.cc | 4 +- source/tracking/src/G4UserSteppingAction.cc | 4 +- source/tracking/src/G4UserTrackingAction.cc | 4 +- source/tracking/src/G4VSteppingVerbose.cc | 31 + .../visualization/FukuiRenderer/GNUmakefile | 3 +- .../FukuiRenderer/include/G4DAWNFILE.hh | 12 +- ...FILEScene.hh => G4DAWNFILESceneHandler.hh} | 20 +- ...{G4DAWNFILEView.hh => G4DAWNFILEViewer.hh} | 22 +- .../FukuiRenderer/include/G4FRClientServer.hh | 4 +- .../FukuiRenderer/include/G4FRConst.hh | 4 +- .../FukuiRenderer/include/G4FRFeatures.hh | 4 +- .../FukuiRenderer/include/G4FRSocketConfig.hh | 4 +- .../FukuiRenderer/include/G4FRSocketMacro.hh | 4 +- .../FukuiRenderer/include/G4FRofstream.hh | 4 +- .../FukuiRenderer/include/G4FukuiRenderer.hh | 12 +- ...cene.hh => G4FukuiRendererSceneHandler.hh} | 28 +- ...ndererView.hh => G4FukuiRendererViewer.hh} | 22 +- .../FukuiRenderer/src/G4DAWNFILE.cc | 26 +- ...FILEScene.cc => G4DAWNFILESceneHandler.cc} | 34 +- ...{G4DAWNFILEView.cc => G4DAWNFILEViewer.cc} | 106 +- .../FukuiRenderer/src/G4FRClientServer.cc | 4 +- .../FukuiRenderer/src/G4FRSceneFunc.icc | 40 +- .../FukuiRenderer/src/G4FukuiRenderer.cc | 26 +- ...cene.cc => G4FukuiRendererSceneHandler.cc} | 28 +- ...ndererView.cc => G4FukuiRendererViewer.cc} | 150 +- source/visualization/G4Ray/GNUmakefile | 37 - .../G4Ray/include/G4OwnColormapXView.hh | 72 - .../G4Ray/include/G4RayMessenger.hh | 43 - .../G4Ray/include/G4RayMessenger.icc | 20 - .../include/G4RayPrimaryGeneratorAction.hh | 36 - .../visualization/G4Ray/include/G4RayScene.hh | 52 - .../G4Ray/include/G4RayScene.icc | 53 - .../G4Ray/include/G4RaySteppingAction.hh | 40 - .../visualization/G4Ray/include/G4RayView.hh | 168 - .../visualization/G4Ray/include/G4RayView.icc | 31 - source/visualization/G4Ray/include/G4RayX.hh | 37 - .../G4Ray/include/G4RayXMessenger.hh | 36 - .../visualization/G4Ray/include/G4RayXView.hh | 46 - .../G4Ray/src/G4OwnColormapXView.cc | 245 - .../visualization/G4Ray/src/G4RayMessenger.cc | 85 - .../G4Ray/src/G4RayPrimaryGeneratorAction.cc | 60 - source/visualization/G4Ray/src/G4RayScene.cc | 101 - .../G4Ray/src/G4RaySteppingAction.cc | 109 - source/visualization/G4Ray/src/G4RayView.cc | 783 - source/visualization/G4Ray/src/G4RayX.cc | 72 - .../G4Ray/src/G4RayXMessenger.cc | 49 - source/visualization/G4Ray/src/G4RayXView.cc | 196 - source/visualization/GNUmakefile | 6 +- source/visualization/History | 101 +- source/visualization/OPACS/GNUmakefile | 3 +- .../{G4GoScene.hh => G4GoSceneHandler.hh} | 25 +- source/visualization/OPACS/include/G4Wo.hh | 10 +- .../include/{G4WoView.hh => G4WoViewer.hh} | 22 +- source/visualization/OPACS/include/G4Xo.hh | 10 +- .../include/{G4XoView.hh => G4XoViewer.hh} | 22 +- .../src/{G4GoScene.cc => G4GoSceneHandler.cc} | 191 +- source/visualization/OPACS/src/G4Wo.cc | 20 +- .../OPACS/src/{G4WoView.cc => G4WoViewer.cc} | 48 +- source/visualization/OPACS/src/G4Xo.cc | 20 +- .../OPACS/src/{G4XoView.cc => G4XoViewer.cc} | 49 +- source/visualization/OpenGL/GNUmakefile | 2 +- ...ne.hh => G4OpenGLImmediateSceneHandler.hh} | 24 +- .../OpenGL/include/G4OpenGLImmediateView.hh | 44 - .../OpenGL/include/G4OpenGLImmediateViewer.hh | 44 + .../OpenGL/include/G4OpenGLImmediateWin32.hh | 8 +- .../include/G4OpenGLImmediateWin32View.hh | 39 - .../include/G4OpenGLImmediateWin32Viewer.hh | 39 + .../OpenGL/include/G4OpenGLImmediateX.hh | 9 +- .../OpenGL/include/G4OpenGLImmediateXView.hh | 41 - .../include/G4OpenGLImmediateXViewer.hh | 42 + .../OpenGL/include/G4OpenGLImmediateXm.hh | 8 +- ...XmView.hh => G4OpenGLImmediateXmViewer.hh} | 24 +- .../OpenGL/include/G4OpenGLScene.icc | 53 - ...OpenGLScene.hh => G4OpenGLSceneHandler.hh} | 26 +- .../OpenGL/include/G4OpenGLSceneHandler.icc | 53 + ...Scene.hh => G4OpenGLStoredSceneHandler.hh} | 29 +- .../OpenGL/include/G4OpenGLStoredView.hh | 45 - .../OpenGL/include/G4OpenGLStoredViewer.hh | 46 + .../OpenGL/include/G4OpenGLStoredWin32.hh | 8 +- .../OpenGL/include/G4OpenGLStoredWin32View.hh | 37 - .../include/G4OpenGLStoredWin32Viewer.hh | 37 + .../OpenGL/include/G4OpenGLStoredX.hh | 9 +- .../OpenGL/include/G4OpenGLStoredXView.hh | 38 - .../OpenGL/include/G4OpenGLStoredXViewer.hh | 39 + .../OpenGL/include/G4OpenGLStoredXm.hh | 8 +- .../OpenGL/include/G4OpenGLStoredXmView.hh | 38 - .../OpenGL/include/G4OpenGLStoredXmViewer.hh | 38 + .../OpenGL/include/G4OpenGLTransform3D.hh | 4 +- .../{G4OpenGLView.hh => G4OpenGLViewer.hh} | 27 +- ...nGLWin32View.hh => G4OpenGLWin32Viewer.hh} | 24 +- .../{G4OpenGLXView.hh => G4OpenGLXViewer.hh} | 28 +- .../OpenGL/include/G4OpenGLXmBox.hh | 4 +- .../include/G4OpenGLXmConvenienceRoutines.hh | 22 +- .../include/G4OpenGLXmFourArrowButtons.hh | 4 +- .../OpenGL/include/G4OpenGLXmFramedBox.hh | 4 +- .../include/G4OpenGLXmMainMenubarCallbacks.hh | 6 +- .../include/G4OpenGLXmPanningCallbacks.hh | 6 +- .../OpenGL/include/G4OpenGLXmPushButton.hh | 4 +- .../OpenGL/include/G4OpenGLXmRadioButton.hh | 4 +- .../OpenGL/include/G4OpenGLXmResources.hh | 4 +- .../include/G4OpenGLXmRotationCallbacks.hh | 6 +- .../OpenGL/include/G4OpenGLXmSeparator.hh | 4 +- .../OpenGL/include/G4OpenGLXmSliderBar.hh | 4 +- .../include/G4OpenGLXmStyleCallbacks.hh | 6 +- .../OpenGL/include/G4OpenGLXmTextField.hh | 4 +- .../OpenGL/include/G4OpenGLXmTopLevelShell.hh | 6 +- .../include/G4OpenGLXmVWidgetComponent.hh | 4 +- .../include/G4OpenGLXmVWidgetContainer.hh | 4 +- .../OpenGL/include/G4OpenGLXmVWidgetObject.hh | 10 +- .../OpenGL/include/G4OpenGLXmVWidgetShell.hh | 4 +- ...{G4OpenGLXmView.hh => G4OpenGLXmViewer.hh} | 30 +- .../G4OpenGLXmWindowHandlingCallbacks.hh | 6 +- ...ne.cc => G4OpenGLImmediateSceneHandler.cc} | 42 +- ...iateView.cc => G4OpenGLImmediateViewer.cc} | 16 +- .../OpenGL/src/G4OpenGLImmediateWin32.cc | 32 +- ...iew.cc => G4OpenGLImmediateWin32Viewer.cc} | 22 +- .../OpenGL/src/G4OpenGLImmediateX.cc | 34 +- ...teXView.cc => G4OpenGLImmediateXViewer.cc} | 28 +- .../OpenGL/src/G4OpenGLImmediateXm.cc | 32 +- ...XmView.cc => G4OpenGLImmediateXmViewer.cc} | 30 +- ...OpenGLScene.cc => G4OpenGLSceneHandler.cc} | 51 +- ...Scene.cc => G4OpenGLStoredSceneHandler.cc} | 52 +- ...LStoredView.cc => G4OpenGLStoredViewer.cc} | 32 +- .../OpenGL/src/G4OpenGLStoredWin32.cc | 32 +- ...32View.cc => G4OpenGLStoredWin32Viewer.cc} | 24 +- .../OpenGL/src/G4OpenGLStoredX.cc | 34 +- ...toredXView.cc => G4OpenGLStoredXViewer.cc} | 28 +- .../OpenGL/src/G4OpenGLStoredXm.cc | 32 +- ...redXmView.cc => G4OpenGLStoredXmViewer.cc} | 26 +- .../OpenGL/src/G4OpenGLTransform3D.cc | 4 +- .../{G4OpenGLView.cc => G4OpenGLViewer.cc} | 40 +- ...nGLWin32View.cc => G4OpenGLWin32Viewer.cc} | 24 +- .../{G4OpenGLXView.cc => G4OpenGLXViewer.cc} | 67 +- .../visualization/OpenGL/src/G4OpenGLXmBox.cc | 4 +- .../src/G4OpenGLXmConvenienceRoutines.cc | 30 +- .../OpenGL/src/G4OpenGLXmFourArrowButtons.cc | 4 +- .../OpenGL/src/G4OpenGLXmFramedBox.cc | 4 +- .../src/G4OpenGLXmMainMenubarCallbacks.cc | 74 +- .../OpenGL/src/G4OpenGLXmPanningCallbacks.cc | 38 +- .../OpenGL/src/G4OpenGLXmPushButton.cc | 4 +- .../OpenGL/src/G4OpenGLXmRadioButton.cc | 4 +- .../OpenGL/src/G4OpenGLXmRotationCallbacks.cc | 76 +- .../OpenGL/src/G4OpenGLXmSeparator.cc | 4 +- .../OpenGL/src/G4OpenGLXmSliderBar.cc | 4 +- .../OpenGL/src/G4OpenGLXmStyleCallbacks.cc | 36 +- .../OpenGL/src/G4OpenGLXmTextField.cc | 8 +- .../OpenGL/src/G4OpenGLXmTopLevelShell.cc | 6 +- .../OpenGL/src/G4OpenGLXmVWidgetComponent.cc | 4 +- .../OpenGL/src/G4OpenGLXmVWidgetContainer.cc | 4 +- .../OpenGL/src/G4OpenGLXmVWidgetObject.cc | 6 +- .../OpenGL/src/G4OpenGLXmVWidgetShell.cc | 4 +- ...{G4OpenGLXmView.cc => G4OpenGLXmViewer.cc} | 68 +- .../src/G4OpenGLXmWindowHandlingCallbacks.cc | 30 +- source/visualization/OpenInventor/GNUmakefile | 3 +- .../OpenInventor/include/G4OpenInventor.hh | 9 +- .../include/G4OpenInventorScene.icc | 38 - ...Scene.hh => G4OpenInventorSceneHandler.hh} | 27 +- .../include/G4OpenInventorSceneHandler.icc | 38 + .../include/G4OpenInventorTransform3D.hh | 4 +- .../include/G4OpenInventorView.hh | 67 - .../include/G4OpenInventorViewer.hh | 61 + .../include/G4OpenInventorWin32.hh | 5 +- .../OpenInventor/include/G4OpenInventorX.hh | 5 +- .../OpenInventor/src/G4OpenInventor.cc | 29 +- ...Scene.cc => G4OpenInventorSceneHandler.cc} | 133 +- .../src/G4OpenInventorTransform3D.cc | 4 +- .../OpenInventor/src/G4OpenInventorView.cc | 235 - .../OpenInventor/src/G4OpenInventorViewer.cc | 222 + .../OpenInventor/src/G4OpenInventorWin32.cc | 10 +- .../OpenInventor/src/G4OpenInventorX.cc | 10 +- source/visualization/README | 437 +- source/visualization/VRML/GNUmakefile | 3 +- .../visualization/VRML/g4vrmlview/g4mini.java | 4 +- .../VRML/g4vrmlview/g4vrmlview.java | 4 +- source/visualization/VRML/include/FRClient.h | 4 +- .../visualization/VRML/include/G4FRClient.hh | 4 +- source/visualization/VRML/include/G4VRML1.hh | 14 +- .../visualization/VRML/include/G4VRML1File.hh | 14 +- ...ileScene.hh => G4VRML1FileSceneHandler.hh} | 20 +- ...4VRML1FileView.hh => G4VRML1FileViewer.hh} | 22 +- ...G4VRML1Scene.hh => G4VRML1SceneHandler.hh} | 20 +- .../{G4VRML1View.hh => G4VRML1Viewer.hh} | 22 +- source/visualization/VRML/include/G4VRML2.hh | 14 +- .../visualization/VRML/include/G4VRML2File.hh | 14 +- ...ileScene.hh => G4VRML2FileSceneHandler.hh} | 20 +- ...4VRML2FileView.hh => G4VRML2FileViewer.hh} | 22 +- ...G4VRML2Scene.hh => G4VRML2SceneHandler.hh} | 20 +- .../{G4VRML2View.hh => G4VRML2Viewer.hh} | 22 +- .../VRML/include/G4VRMLNetConfig.hh | 4 +- source/visualization/VRML/src/FRClient.cc | 4 +- source/visualization/VRML/src/G4FRClient.cc | 4 +- source/visualization/VRML/src/G4VRML1.cc | 26 +- source/visualization/VRML/src/G4VRML1File.cc | 26 +- ...ileScene.cc => G4VRML1FileSceneHandler.cc} | 30 +- .../visualization/VRML/src/G4VRML1FileView.cc | 78 - .../VRML/src/G4VRML1FileViewer.cc | 78 + ...G4VRML1Scene.cc => G4VRML1SceneHandler.cc} | 30 +- ...neFunc.icc => G4VRML1SceneHandlerFunc.icc} | 24 +- source/visualization/VRML/src/G4VRML1View.cc | 78 - .../visualization/VRML/src/G4VRML1Viewer.cc | 78 + source/visualization/VRML/src/G4VRML2.cc | 26 +- source/visualization/VRML/src/G4VRML2File.cc | 26 +- ...ileScene.cc => G4VRML2FileSceneHandler.cc} | 30 +- ...4VRML2FileView.cc => G4VRML2FileViewer.cc} | 52 +- ...G4VRML2Scene.cc => G4VRML2SceneHandler.cc} | 30 +- ...neFunc.icc => G4VRML2SceneHandlerFunc.icc} | 44 +- .../src/{G4VRML2View.cc => G4VRML2Viewer.cc} | 58 +- source/visualization/management/GNUmakefile | 3 +- .../include/G4GraphicsSystemList.hh | 4 +- .../include/{G4SceneData.hh => G4Scene.hh} | 38 +- .../include/{G4SceneData.icc => G4Scene.icc} | 26 +- .../include/G4SceneDataObjectList.hh | 41 - .../management/include/G4SceneHandlerList.hh | 23 + .../management/include/G4SceneList.hh | 11 +- .../management/include/G4VGraphicsSystem.hh | 13 +- .../management/include/G4VGraphicsSystem.icc | 6 +- .../management/include/G4VScene.icc | 148 - .../{G4VScene.hh => G4VSceneHandler.hh} | 96 +- .../management/include/G4VSceneHandler.icc | 102 + .../management/include/G4VView.icc | 42 - .../include/{G4VView.hh => G4VViewer.hh} | 30 +- .../management/include/G4VViewer.icc | 42 + .../management/include/G4VVisCommand.hh | 7 +- .../management/include/G4VVisCommand.icc | 4 +- .../management/include/G4ViewParameters.hh | 9 +- .../management/include/G4ViewParameters.icc | 4 +- .../{G4VViewList.hh => G4ViewerList.hh} | 12 +- .../include/G4VisCommandTemplates.hh | 4 +- .../include/G4VisCommandTemplates.icc | 4 +- .../management/include/G4VisCommandsCamera.hh | 4 +- .../include/G4VisCommandsCameraMessengers.hh | 4 +- .../management/include/G4VisCommandsClear.hh | 8 +- .../management/include/G4VisCommandsCopy.hh | 10 +- .../include/G4VisCommandsCreateScene.hh | 4 +- .../include/G4VisCommandsCreateView.hh | 10 +- .../management/include/G4VisCommandsDelete.hh | 8 +- .../management/include/G4VisCommandsDraw.hh | 4 +- .../management/include/G4VisCommandsLights.hh | 6 +- .../management/include/G4VisCommandsPrint.hh | 4 +- .../include/G4VisCommandsRefresh.hh | 4 +- .../management/include/G4VisCommandsScene.hh | 12 +- .../include/G4VisCommandsSceneAdd.hh | 4 +- .../include/G4VisCommandsSceneHandler.hh | 7 +- .../include/G4VisCommandsSceneInclude.hh | 4 +- .../management/include/G4VisCommandsSet.hh | 10 +- .../management/include/G4VisCommandsShow.hh | 4 +- .../management/include/G4VisCommandsViewer.hh | 5 +- .../include/G4VisFeaturesOfDAWNFILE.hh | 4 +- .../include/G4VisFeaturesOfFukuiRenderer.hh | 4 +- .../include/G4VisFeaturesOfOpenGL.hh | 4 +- .../include/G4VisFeaturesOfOpenInventor.hh | 4 +- .../management/include/G4VisFeaturesOfRay.hh | 4 +- .../management/include/G4VisManMessenger.hh | 4 +- .../management/include/G4VisManager.hh | 210 +- .../management/include/G4VisManager.icc | 46 +- .../include/G4VisToOldVisCommands.hh | 4 +- .../management/include/MyVisManager.cc | 4 +- .../management/include/MyVisManager.hh | 4 +- .../src/{G4SceneData.cc => G4Scene.cc} | 61 +- .../management/src/G4SceneDataObjectList.cc | 27 - .../management/src/G4VGraphicsSystem.cc | 8 +- .../src/{G4VScene.cc => G4VSceneHandler.cc} | 219 +- .../src/{G4VView.cc => G4VViewer.cc} | 61 +- .../management/src/G4VVisCommand.cc | 6 +- .../management/src/G4ViewParameters.cc | 91 +- .../management/src/G4VisCommandTemplates.cc | 4 +- .../management/src/G4VisCommandsCamera.cc | 12 +- .../src/G4VisCommandsCameraMessengers.cc | 4 +- .../management/src/G4VisCommandsScene.cc | 155 +- .../management/src/G4VisCommandsSceneAdd.cc | 66 +- .../src/G4VisCommandsSceneHandler.cc | 142 +- .../src/G4VisCommandsSceneInclude.cc | 30 +- .../management/src/G4VisCommandsViewer.cc | 142 +- .../management/src/G4VisFeaturesOfDAWNFILE.cc | 4 +- .../src/G4VisFeaturesOfFukuiRenderer.cc | 4 +- .../management/src/G4VisFeaturesOfOpenGL.cc | 4 +- .../src/G4VisFeaturesOfOpenInventor.cc | 4 +- .../management/src/G4VisFeaturesOfRay.cc | 4 +- .../management/src/G4VisManMessCamera.cc | 28 +- .../management/src/G4VisManMessCreateView.cc | 6 +- .../management/src/G4VisManMessDraw.cc | 24 +- .../management/src/G4VisManMessExpert.cc | 6 +- .../management/src/G4VisManMessLights.cc | 6 +- .../management/src/G4VisManMessSet.cc | 32 +- .../management/src/G4VisManMessenger.cc | 4 +- .../management/src/G4VisManager.cc | 664 +- .../src/G4VisManagerRegisterMessengers.cc | 41 +- .../management/src/G4VisToOldVisCommands.cc | 6 +- source/visualization/modeling/GNUmakefile | 3 +- source/visualization/modeling/History | 7 +- .../modeling/include/G4BoundingSphereScene.hh | 26 +- .../include/G4FlavoredParallelWorldModel.hh | 10 +- .../modeling/include/G4HitsModel.hh | 4 +- .../modeling/include/G4HitsModel.icc | 6 +- .../modeling/include/G4ModelingParameters.hh | 38 +- .../modeling/include/G4ModelingParameters.icc | 40 +- .../modeling/include/G4NullModel.hh | 10 +- .../modeling/include/G4PhysicalVolumeModel.hh | 14 +- .../include/G4PhysicalVolumeModel.icc | 4 +- .../include/G4PhysicalVolumeSearchScene.hh | 10 +- .../include/G4PhysicalVolumeSearchScene.icc | 4 +- .../modeling/include/G4TrajectoriesModel.hh | 4 +- .../modeling/include/G4TrajectoriesModel.icc | 6 +- .../modeling/include/G4VModel.hh | 4 +- .../modeling/include/G4VModel.icc | 4 +- .../modeling/src/G4BoundingSphereScene.cc | 4 +- .../src/G4FlavoredParallelWorldModel.cc | 8 +- .../visualization/modeling/src/G4HitsModel.cc | 25 +- .../modeling/src/G4ModelingParameters.cc | 87 +- .../visualization/modeling/src/G4NullModel.cc | 4 +- .../modeling/src/G4PhysicalVolumeModel.cc | 72 +- .../src/G4PhysicalVolumeSearchScene.cc | 18 +- .../modeling/src/G4TrajectoriesModel.cc | 12 +- source/visualization/modeling/src/G4VModel.cc | 4 +- 2922 files changed, 55107 insertions(+), 81674 deletions(-) create mode 120000 CHANGELOG create mode 100644 ReleaseNotes/ReleaseNotes4.0.1.txt create mode 100644 config/liblist.c delete mode 100644 environments/Momo/.Momoext delete mode 100644 environments/Momo/.Momorc delete mode 100644 environments/Momo/G4UIGAG.history delete mode 100644 environments/Momo/GGEmake/DrawDAWN.g4m delete mode 100644 environments/Momo/GGEmake/DrawDAWNFILE.g4m delete mode 100644 environments/Momo/GGEmake/DrawOGLIX.g4m delete mode 100644 environments/Momo/GGEmake/GNUmakefile delete mode 100644 environments/Momo/GGEmake/GNUmakefile.light delete mode 100644 environments/Momo/GGEmake/History delete mode 100644 environments/Momo/GGEmake/README delete mode 100644 environments/Momo/GGEmake/include/MyDetectorConstruction.hh delete mode 100644 environments/Momo/GGEmake/include/MyPhysicsList.hh delete mode 100644 environments/Momo/GGEmake/include/MyPrimaryGeneratorAction.hh delete mode 100644 environments/Momo/GGEmake/include/MyVisManager.hh delete mode 100644 environments/Momo/GGEmake/myDetector.cc delete mode 100644 environments/Momo/GGEmake/src/MyDetectorConstruction.cc delete mode 100644 environments/Momo/GGEmake/src/MyPhysicsList.cc delete mode 100644 environments/Momo/GGEmake/src/MyPrimaryGeneratorAction.cc delete mode 100644 environments/Momo/GGEmake/src/MyVisManager.cc delete mode 100644 environments/Momo/README.GGE delete mode 100644 environments/Momo/README.first delete mode 100644 environments/Momo/java/Momo/ExampleFileFilter.class delete mode 100644 environments/Momo/java/Momo/ExampleFileFilter.java delete mode 100644 environments/Momo/java/Momo/GAG.jar delete mode 100644 environments/Momo/java/Momo/GAG/AboutDialog.class delete mode 100644 environments/Momo/java/Momo/GAG/BooleanCombo.class delete mode 100644 environments/Momo/java/Momo/GAG/ErrStream.class delete mode 100644 environments/Momo/java/Momo/GAG/ExampleFileFilter.class delete mode 100644 environments/Momo/java/Momo/GAG/ExampleFileFilter.java delete mode 100644 environments/Momo/java/Momo/GAG/GAG.jar delete mode 100644 environments/Momo/java/Momo/GAG/GAG/AboutDialog.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/BooleanCombo.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/ErrStream.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/GAG.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/GAG.java delete mode 100644 environments/Momo/java/Momo/GAG/GAG/GAGcommandItem.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/GAGcommandItem.java delete mode 100644 environments/Momo/java/Momo/GAG/GAG/GAGpipe.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/GAGpipe.java delete mode 100644 environments/Momo/java/Momo/GAG/GAG/GAGtextEditor.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/GAGtextEditor.java delete mode 100644 environments/Momo/java/Momo/GAG/GAG/HtmlFrame.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/HtmlFrame.java delete mode 100644 environments/Momo/java/Momo/GAG/GAG/ParamPanel.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/ParamPanel.java delete mode 100644 environments/Momo/java/Momo/GAG/GAG/README delete mode 100644 environments/Momo/java/Momo/GAG/GAG/TextEditor.class delete mode 100644 environments/Momo/java/Momo/GAG/GAG/TextEditor.java delete mode 100644 environments/Momo/java/Momo/GAG/GAGcommandItem.class delete mode 100644 environments/Momo/java/Momo/GAG/GAGcommandItem.java delete mode 100644 environments/Momo/java/Momo/GAG/GAGpipe.class delete mode 100644 environments/Momo/java/Momo/GAG/GAGpipe.java delete mode 100644 environments/Momo/java/Momo/GAG/GAGtextEditor.class delete mode 100644 environments/Momo/java/Momo/GAG/GAGtextEditor.java delete mode 100644 environments/Momo/java/Momo/GAG/HtmlFrame.class delete mode 100644 environments/Momo/java/Momo/GAG/HtmlFrame.java delete mode 100644 environments/Momo/java/Momo/GAG/NOTE.txt delete mode 100644 environments/Momo/java/Momo/GAG/ParamPanel.class delete mode 100644 environments/Momo/java/Momo/GAG/ParamPanel.java delete mode 100644 environments/Momo/java/Momo/GAG/README delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/AboutDialog.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/EditMan.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/EditMan.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/FindDialog.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/FontMan.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/NotFound.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/Note.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/Note.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/NoteListener.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/NoteListener.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/PrintMan.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/PrintMan.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/Progress.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/Progress.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/ReplaceDialog.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/SizeMan.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextCanvas.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextCanvas.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextCursor.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextCursor.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextEdit.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextEdit.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextEdit.java.bak delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextJournal.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextJournal.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextJournalItem.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextMenu.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextMenu.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextPosition.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextPosition.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextScroller.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEdit/TextScroller.java delete mode 100644 environments/Momo/java/Momo/GAG/TextEditor.class delete mode 100644 environments/Momo/java/Momo/GAG/TextEditor.java delete mode 100644 environments/Momo/java/Momo/GAG/g4.eps delete mode 100644 environments/Momo/java/Momo/GAG/gag.class delete mode 100644 environments/Momo/java/Momo/GAG/gag.java delete mode 100644 environments/Momo/java/Momo/GGE/AbstractGGEFrame.class delete mode 100644 environments/Momo/java/Momo/GGE/AbstractGGEFrame.java delete mode 100644 environments/Momo/java/Momo/GGE/AngUnitCombo.class delete mode 100644 environments/Momo/java/Momo/GGE/AngUnitCombo.java delete mode 100644 environments/Momo/java/Momo/GGE/BREPDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/BREPDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/BREPItem.class delete mode 100644 environments/Momo/java/Momo/GGE/BREPItem.java delete mode 100644 environments/Momo/java/Momo/GGE/BooleanCombo.class delete mode 100644 environments/Momo/java/Momo/GGE/CSGDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/CSGDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/CSGItem.class delete mode 100644 environments/Momo/java/Momo/GGE/CSGItem.java delete mode 100644 environments/Momo/java/Momo/GGE/CreateLogicalDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/CreateMaterialCombi.class delete mode 100644 environments/Momo/java/Momo/GGE/CreateMaterialCombi.java delete mode 100644 environments/Momo/java/Momo/GGE/CreateMaterialScratch.class delete mode 100644 environments/Momo/java/Momo/GGE/CreateMaterialScratch.java delete mode 100644 environments/Momo/java/Momo/GGE/CreateRepeatDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/CreateRepeatRotateDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/CreateReplicaDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/CreateReplicaDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/CreateSingleDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/CreateSlicingDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/CreateSlicingDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/DAWNSourceFrame.class delete mode 100644 environments/Momo/java/Momo/GGE/DAWNSourceFrame.java delete mode 100644 environments/Momo/java/Momo/GGE/DellCombiDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/DellCombiDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/DellLogicalDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/DellLogicalDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/DellRepeatDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/DellRepeatDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/DellRepeatRotateDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/DellRepeatRotateDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/DellReplicaDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/DellReplicaDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/DellScratchDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/DellScratchDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/DellSingleDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/DellSingleDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/DellSlicingDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/DellSlicingDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/DoubleCellEditor.class delete mode 100644 environments/Momo/java/Momo/GGE/DoubleCellEditor.java delete mode 100644 environments/Momo/java/Momo/GGE/ElementCell.class delete mode 100644 environments/Momo/java/Momo/GGE/ElementCell.java delete mode 100644 environments/Momo/java/Momo/GGE/ElementItem.class delete mode 100644 environments/Momo/java/Momo/GGE/ElementItem.java delete mode 100644 environments/Momo/java/Momo/GGE/ElementsTable.class delete mode 100644 environments/Momo/java/Momo/GGE/ElementsTable.java delete mode 100644 environments/Momo/java/Momo/GGE/ExampleFileFilter.class delete mode 100644 environments/Momo/java/Momo/GGE/ExampleFileFilter.java delete mode 100644 environments/Momo/java/Momo/GGE/GGE.jar delete mode 100644 environments/Momo/java/Momo/GGE/GGEItem.class delete mode 100644 environments/Momo/java/Momo/GGE/GGEItem.java delete mode 100644 environments/Momo/java/Momo/GGE/InsertCombiDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/InsertCombiDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/InsertLogicalDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/InsertLogicalDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/InsertRepeatDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/InsertRepeatDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/InsertRepeatRotateDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/InsertRepeatRotateDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/InsertReplicaDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/InsertReplicaDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/InsertScratchDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/InsertScratchDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/InsertSingleDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/InsertSingleDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/InsertSlicingDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/InsertSlicingDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/IntCellEditor.class delete mode 100644 environments/Momo/java/Momo/GGE/IntCellEditor.java delete mode 100644 environments/Momo/java/Momo/GGE/LenUnitCombo.class delete mode 100644 environments/Momo/java/Momo/GGE/LenUnitCombo.java delete mode 100644 environments/Momo/java/Momo/GGE/LogicalItem.class delete mode 100644 environments/Momo/java/Momo/GGE/LogicalItem.java delete mode 100644 environments/Momo/java/Momo/GGE/LogicalPanel.class delete mode 100644 environments/Momo/java/Momo/GGE/LogicalPanel.java delete mode 100644 environments/Momo/java/Momo/GGE/MaterialAbstTable.class delete mode 100644 environments/Momo/java/Momo/GGE/MaterialAbstTable.java delete mode 100644 environments/Momo/java/Momo/GGE/MaterialCombiItem.class delete mode 100644 environments/Momo/java/Momo/GGE/MaterialCombiItem.java delete mode 100644 environments/Momo/java/Momo/GGE/MaterialCombiTable.class delete mode 100644 environments/Momo/java/Momo/GGE/MaterialCombiTable.java delete mode 100644 environments/Momo/java/Momo/GGE/MaterialDB.g4mt delete mode 100644 environments/Momo/java/Momo/GGE/MaterialFrame.class delete mode 100644 environments/Momo/java/Momo/GGE/MaterialFrame.java delete mode 100644 environments/Momo/java/Momo/GGE/MaterialItem.class delete mode 100644 environments/Momo/java/Momo/GGE/MaterialItem.java delete mode 100644 environments/Momo/java/Momo/GGE/MaterialScratchItem.class delete mode 100644 environments/Momo/java/Momo/GGE/MaterialScratchItem.java delete mode 100644 environments/Momo/java/Momo/GGE/MaterialScratchTable.class delete mode 100644 environments/Momo/java/Momo/GGE/MaterialScratchTable.java delete mode 100644 environments/Momo/java/Momo/GGE/NameCellEditor.class delete mode 100644 environments/Momo/java/Momo/GGE/NameCellEditor.java delete mode 100644 environments/Momo/java/Momo/GGE/PhysicalItem.class delete mode 100644 environments/Momo/java/Momo/GGE/PhysicalItem.java delete mode 100644 environments/Momo/java/Momo/GGE/PhysicalPanel.class delete mode 100644 environments/Momo/java/Momo/GGE/PhysicalPanel.java delete mode 100644 environments/Momo/java/Momo/GGE/RatioCellEditor.class delete mode 100644 environments/Momo/java/Momo/GGE/RatioCellEditor.java delete mode 100644 environments/Momo/java/Momo/GGE/RatioDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/RatioDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/RatioItem.class delete mode 100644 environments/Momo/java/Momo/GGE/RatioItem.java delete mode 100644 environments/Momo/java/Momo/GGE/RepeatedRotateVolume.class delete mode 100644 environments/Momo/java/Momo/GGE/RepeatedRotateVolume.java delete mode 100644 environments/Momo/java/Momo/GGE/RepeatedVolume.class delete mode 100644 environments/Momo/java/Momo/GGE/RepeatedVolume.java delete mode 100644 environments/Momo/java/Momo/GGE/ReplicasFrame.class delete mode 100644 environments/Momo/java/Momo/GGE/ReplicasFrame.java delete mode 100644 environments/Momo/java/Momo/GGE/SingleVolume.class delete mode 100644 environments/Momo/java/Momo/GGE/SingleVolume.java delete mode 100644 environments/Momo/java/Momo/GGE/SlicingAxialFrame.class delete mode 100644 environments/Momo/java/Momo/GGE/SlicingAxialFrame.java delete mode 100644 environments/Momo/java/Momo/GGE/SolidCellEditor.class delete mode 100644 environments/Momo/java/Momo/GGE/SolidCellEditor.java delete mode 100644 environments/Momo/java/Momo/GGE/SolidDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/SolidDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/SolidItem.class delete mode 100644 environments/Momo/java/Momo/GGE/SolidItem.java delete mode 100644 environments/Momo/java/Momo/GGE/SourceFrame.class delete mode 100644 environments/Momo/java/Momo/GGE/SourceFrame.java delete mode 100644 environments/Momo/java/Momo/GGE/VisAtbDialog.class delete mode 100644 environments/Momo/java/Momo/GGE/VisAtbDialog.java delete mode 100644 environments/Momo/java/Momo/GGE/VisAtbItem.class delete mode 100644 environments/Momo/java/Momo/GGE/VisAtbItem.java delete mode 100644 environments/Momo/java/Momo/GGE/VisAtbPanel$editVis.class delete mode 100644 environments/Momo/java/Momo/GGE/VisAtbPanel.class delete mode 100644 environments/Momo/java/Momo/GGE/VisAtbPanel.java delete mode 100644 environments/Momo/java/Momo/GGE/VisCellRenderer$VisIcon.class delete mode 100644 environments/Momo/java/Momo/GGE/VisCellRenderer.class delete mode 100644 environments/Momo/java/Momo/GGE/VisMethodPanel.class delete mode 100644 environments/Momo/java/Momo/GGE/VolumesFrame.class delete mode 100644 environments/Momo/java/Momo/GGE/VolumesFrame.java delete mode 100644 environments/Momo/java/Momo/GGE/gge.class delete mode 100644 environments/Momo/java/Momo/GGE/gge.java delete mode 100644 environments/Momo/java/Momo/GGE/rotateallsolids.g4dt delete mode 100644 environments/Momo/java/Momo/GGE/singleplacenadrotate.g4dt delete mode 100644 environments/Momo/java/Momo/GGE/translateallsolids.g4dt delete mode 100644 environments/Momo/java/Momo/Momo/ErrStream.class delete mode 100644 environments/Momo/java/Momo/Momo/ErrStream.java delete mode 100644 environments/Momo/java/Momo/Momo/Momo.jar delete mode 100644 environments/Momo/java/Momo/Momo/editorFrame.class delete mode 100644 environments/Momo/java/Momo/Momo/editorFrame.java delete mode 100644 environments/Momo/java/Momo/Momo/momo.class delete mode 100644 environments/Momo/java/Momo/Momo/momo.java delete mode 100644 environments/Momo/java/Momo/Momo/momopipe.class delete mode 100644 environments/Momo/java/Momo/Momo/momopipe.java delete mode 100644 environments/Momo/java/Momo/NOTE.txt delete mode 100644 environments/Momo/java/Momo/TextEdit/AboutDialog.class delete mode 100644 environments/Momo/java/Momo/TextEdit/EditMan.class delete mode 100644 environments/Momo/java/Momo/TextEdit/EditMan.java delete mode 100644 environments/Momo/java/Momo/TextEdit/FindDialog.class delete mode 100644 environments/Momo/java/Momo/TextEdit/FontMan.class delete mode 100644 environments/Momo/java/Momo/TextEdit/NotFound.class delete mode 100644 environments/Momo/java/Momo/TextEdit/Note.class delete mode 100644 environments/Momo/java/Momo/TextEdit/Note.java delete mode 100644 environments/Momo/java/Momo/TextEdit/NoteListener.class delete mode 100644 environments/Momo/java/Momo/TextEdit/NoteListener.java delete mode 100644 environments/Momo/java/Momo/TextEdit/PrintMan.class delete mode 100644 environments/Momo/java/Momo/TextEdit/PrintMan.java delete mode 100644 environments/Momo/java/Momo/TextEdit/Progress.class delete mode 100644 environments/Momo/java/Momo/TextEdit/Progress.java delete mode 100644 environments/Momo/java/Momo/TextEdit/ReplaceDialog.class delete mode 100644 environments/Momo/java/Momo/TextEdit/SizeMan.class delete mode 100644 environments/Momo/java/Momo/TextEdit/TextCanvas.class delete mode 100644 environments/Momo/java/Momo/TextEdit/TextCanvas.java delete mode 100644 environments/Momo/java/Momo/TextEdit/TextCursor.class delete mode 100644 environments/Momo/java/Momo/TextEdit/TextCursor.java delete mode 100644 environments/Momo/java/Momo/TextEdit/TextEdit.class delete mode 100644 environments/Momo/java/Momo/TextEdit/TextEdit.java delete mode 100644 environments/Momo/java/Momo/TextEdit/TextEdit.java.bak delete mode 100644 environments/Momo/java/Momo/TextEdit/TextJournal.class delete mode 100644 environments/Momo/java/Momo/TextEdit/TextJournal.java delete mode 100644 environments/Momo/java/Momo/TextEdit/TextJournalItem.class delete mode 100644 environments/Momo/java/Momo/TextEdit/TextMenu.class delete mode 100644 environments/Momo/java/Momo/TextEdit/TextMenu.java delete mode 100644 environments/Momo/java/Momo/TextEdit/TextPosition.class delete mode 100644 environments/Momo/java/Momo/TextEdit/TextPosition.java delete mode 100644 environments/Momo/java/Momo/TextEdit/TextScroller.class delete mode 100644 environments/Momo/java/Momo/TextEdit/TextScroller.java delete mode 100644 environments/Momo/java/Momo/g4.eps delete mode 100644 environments/Momo/java/Momo/gag.class delete mode 100644 environments/Momo/java/Momo/gag.java delete mode 100644 environments/Momo/java/README.JAVAGAG delete mode 100644 environments/Momo/knownBugs_todoList delete mode 100644 environments/Momo/tcltk/.Momo delete mode 100644 environments/Momo/tcltk/.Momoext delete mode 100644 environments/Momo/tcltk/.Momorc delete mode 100644 environments/Momo/tcltk/DefineColor.proc delete mode 100644 environments/Momo/tcltk/FBmain.proc delete mode 100644 environments/Momo/tcltk/FBtext/FBclear.proc delete mode 100644 environments/Momo/tcltk/FBtext/FBsavelog.proc delete mode 100644 environments/Momo/tcltk/FBtext/FBsearchstring.proc delete mode 100644 environments/Momo/tcltk/FBtext/FBtext.tcl delete mode 100644 environments/Momo/tcltk/FBtext/MEMO delete mode 100644 environments/Momo/tcltk/FBtext/tclIndex delete mode 100644 environments/Momo/tcltk/GAG/GAG.tcl delete mode 100644 environments/Momo/tcltk/GAG/GAGclearlog.proc delete mode 100644 environments/Momo/tcltk/GAG/GAGconnect.proc delete mode 100644 environments/Momo/tcltk/GAG/GAGdirectory.proc delete mode 100644 environments/Momo/tcltk/GAG/GAGhistory.proc delete mode 100644 environments/Momo/tcltk/GAG/GAGparam.proc delete mode 100644 environments/Momo/tcltk/GAG/GAGsavelog.proc delete mode 100644 environments/Momo/tcltk/GAG/GAGsearchstring.proc delete mode 100644 environments/Momo/tcltk/GAG/MEMO delete mode 100644 environments/Momo/tcltk/GAG/tclIndex delete mode 100644 environments/Momo/tcltk/MEMO delete mode 100644 environments/Momo/tcltk/Momo.tcl delete mode 100644 environments/Momo/tcltk/Public.proc delete mode 100644 environments/Momo/tcltk/README delete mode 100644 environments/Momo/tcltk/SelectFont.proc delete mode 100644 environments/Momo/tcltk/SetEnv.proc delete mode 100644 environments/Momo/tcltk/tMomo.tcl delete mode 100644 environments/Momo/tcltk/tclIndex delete mode 100755 environments/Momo/tcltk/tmomo create mode 100644 environments/OPACS/include/EXPO_Templates.hh delete mode 100644 environments/XVT/G4UIxvt.readme.txt delete mode 100644 environments/XVT/GNUmakefile delete mode 100644 environments/XVT/HP_GUI/GUI.amf delete mode 100644 environments/XVT/HP_GUI/GUI.h delete mode 100644 environments/XVT/HP_GUI/GUI.uil delete mode 100644 environments/XVT/HP_GUI/GUI.url delete mode 100644 environments/XVT/HP_GUI/XResMgr.cxx delete mode 100644 environments/XVT/HP_GUI/bitmaps/Floppy.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/execute.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/help.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/pause.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/print.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/quit.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/resume.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/runit.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/command.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/gtox.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/helpcom.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/parameter.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/smallpause3d.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/smallprint.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/smallquit3d.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/smallresume3d.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/smallsave.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/smallsaveas.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/smallstart3d.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/smallstop3d.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/small/xtog.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/start.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/stop.bmp delete mode 100644 environments/XVT/HP_GUI/bitmaps/textHelp.bmp delete mode 100644 environments/XVT/HP_GUI/cstartup.cxx delete mode 100644 environments/XVT/HP_GUI/factory/AppDef.h delete mode 100644 environments/XVT/HP_GUI/factory/_ctskdoc.h delete mode 100644 environments/XVT/HP_GUI/factory/_ctskwin.h delete mode 100644 environments/XVT/HP_GUI/factory/_g4xvtdc.h delete mode 100644 environments/XVT/HP_GUI/factory/_g4xvtgu.h delete mode 100644 environments/XVT/HP_GUI/factory/_g4xvtwn.h delete mode 100644 environments/XVT/HP_GUI/factory/classes.cxx delete mode 100644 environments/XVT/HP_GUI/factory/classes.h delete mode 100644 environments/XVT/HP_GUI/factory/defines.h delete mode 100644 environments/XVT/HP_GUI/factory/faccb.h delete mode 100644 environments/XVT/HP_GUI/factory/faccb0.cxx delete mode 100644 environments/XVT/HP_GUI/factory/faccb1.cxx delete mode 100644 environments/XVT/HP_GUI/factory/faccb2.cxx delete mode 100644 environments/XVT/HP_GUI/factory/faccb3.cxx delete mode 100644 environments/XVT/HP_GUI/factory/faccb4.cxx delete mode 100644 environments/XVT/HP_GUI/factory/faccmd.h delete mode 100644 environments/XVT/HP_GUI/factory/facdec.h delete mode 100644 environments/XVT/HP_GUI/factory/facdef.h delete mode 100644 environments/XVT/HP_GUI/factory/facstr.h delete mode 100644 environments/XVT/HP_GUI/factory/factory.bmp delete mode 100644 environments/XVT/HP_GUI/factory/factory.cxx delete mode 100644 environments/XVT/HP_GUI/factory/factory.h delete mode 100644 environments/XVT/HP_GUI/factory/factory.url delete mode 100644 environments/XVT/HP_GUI/factory/images.url delete mode 100644 environments/XVT/HP_GUI/factory/strings.url delete mode 100644 environments/XVT/HP_GUI/g4xvtdoc.cxx delete mode 100644 environments/XVT/HP_GUI/g4xvtdoc.h delete mode 100644 environments/XVT/HP_GUI/g4xvtgui.cxx delete mode 100644 environments/XVT/HP_GUI/g4xvtgui.h delete mode 100644 environments/XVT/HP_GUI/g4xvtwin.cxx delete mode 100644 environments/XVT/HP_GUI/g4xvtwin.h delete mode 100644 environments/XVT/HP_GUI/makefile delete mode 100644 environments/XVT/HP_GUI/oval.bmp delete mode 100644 environments/XVT/HP_GUI/readme.txt delete mode 100644 environments/XVT/HP_GUI/red.bmp delete mode 100644 environments/XVT/HP_GUI/temp.bmp delete mode 100755 environments/XVT/HP_setup delete mode 100644 environments/XVT/MyCalorimeterHit.cc delete mode 100644 environments/XVT/MyCalorimeterHit.hh delete mode 100644 environments/XVT/MyCalorimeterHitsCollection.cc delete mode 100644 environments/XVT/MyCalorimeterHitsCollection.hh delete mode 100644 environments/XVT/MyCalorimeterSD.cc delete mode 100644 environments/XVT/MyCalorimeterSD.hh delete mode 100644 environments/XVT/MyDetectorConstruction.cc delete mode 100644 environments/XVT/MyDetectorConstruction.hh delete mode 100644 environments/XVT/MyDetectorMessenger.cc delete mode 100644 environments/XVT/MyDetectorMessenger.hh delete mode 100644 environments/XVT/MyEventAction.cc delete mode 100644 environments/XVT/MyEventAction.hh delete mode 100644 environments/XVT/MyEventActionMessenger.cc delete mode 100644 environments/XVT/MyEventActionMessenger.hh delete mode 100644 environments/XVT/MyPrimaryGeneratorAction.cc delete mode 100644 environments/XVT/MyPrimaryGeneratorAction.hh delete mode 100644 environments/XVT/MyRunAction.cc delete mode 100644 environments/XVT/MyRunAction.hh delete mode 100644 environments/XVT/MySteppingAction.cc delete mode 100644 environments/XVT/MySteppingAction.hh delete mode 100644 environments/XVT/MySteppingActionMessenger.cc delete mode 100644 environments/XVT/MySteppingActionMessenger.hh delete mode 100644 environments/XVT/README delete mode 100644 environments/XVT/XVT_G4_TUTORIAL.txt delete mode 100644 environments/XVT/benchmark.readme.txt delete mode 100644 environments/XVT/future_recommendations.txt delete mode 100644 environments/XVT/oval.bmp delete mode 100644 environments/XVT/rect.bmp delete mode 100644 environments/XVT/red.bmp delete mode 100644 environments/XVT/temp.bmp delete mode 100644 environments/XVT/xvt.benchmark.cc create mode 100644 source/g3tog4/include/G3EleTable.hh create mode 100644 source/g3tog4/include/G3Pos.hh create mode 100644 source/g3tog4/include/G3toG4BuildTree.hh create mode 100644 source/g3tog4/include/G3toG4MakeSolid.hh delete mode 100644 source/g3tog4/include/G3toG4SetRotation.hh create mode 100644 source/g3tog4/include/G4makevol.hh create mode 100644 source/g3tog4/include/VolTableEntry.hh create mode 100644 source/g3tog4/src/G3EleTable.cc delete mode 100644 source/g3tog4/src/G3IsMany.cc delete mode 100644 source/g3tog4/src/G3NegVolPars.cc create mode 100644 source/g3tog4/src/G3Pos.cc create mode 100644 source/g3tog4/src/G3toG4BuildTree.cc create mode 100644 source/g3tog4/src/G3toG4MakeSolid.cc delete mode 100644 source/g3tog4/src/G3toG4SetRotation.cc create mode 100644 source/g3tog4/src/VolTableEntry.cc create mode 100644 source/geometry/benchmarks/BuildBoxWorld.hh create mode 100644 source/geometry/benchmarks/BuildCalorimeter.hh create mode 100644 source/geometry/benchmarks/GNUmakefile create mode 100644 source/geometry/benchmarks/Shoot.hh create mode 100644 source/geometry/benchmarks/calorimeter.cc create mode 100644 source/geometry/benchmarks/f77cppcomparison/G4Box.cc create mode 100644 source/geometry/benchmarks/f77cppcomparison/G4Box.hh create mode 100644 source/geometry/benchmarks/f77cppcomparison/G4Box_fastfabs.cc create mode 100644 source/geometry/benchmarks/f77cppcomparison/G4RotationMatrix.hh create mode 100644 source/geometry/benchmarks/f77cppcomparison/G4RotationMatrix.icc create mode 100644 source/geometry/benchmarks/f77cppcomparison/G4ThreeVector.hh create mode 100644 source/geometry/benchmarks/f77cppcomparison/G4ThreeVector.icc create mode 100644 source/geometry/benchmarks/f77cppcomparison/GNUmakefile.aix create mode 100644 source/geometry/benchmarks/f77cppcomparison/GNUmakefile.hp create mode 100644 source/geometry/benchmarks/f77cppcomparison/boxtoincpp.cc create mode 100644 source/geometry/benchmarks/f77cppcomparison/geomdefs.hh create mode 100644 source/geometry/benchmarks/f77cppcomparison/globals.hh create mode 100644 source/geometry/benchmarks/replicaCal.cc create mode 100644 source/geometry/benchmarks/shooter.cc create mode 100644 source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh create mode 100644 source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc create mode 100644 source/geometry/management/History create mode 100644 source/geometry/solids/BREPS/ToDo.txt delete mode 100644 source/geometry/solids/BREPS/include/G4BoundedCurve.hh delete mode 100644 source/geometry/solids/BREPS/include/G4BoundedSurface.hh delete mode 100644 source/geometry/solids/BREPS/include/G4ElementarySurface.hh delete mode 100644 source/geometry/solids/BREPS/src/G4BoundedSurface.cc create mode 100644 source/geometry/solids/CSG/History create mode 100644 source/geometry/solids/CSG/include/G4PolyPhiFace.icc create mode 100644 source/geometry/solids/CSG/include/G4ReduciblePolygon.hh create mode 100644 source/geometry/solids/CSG/include/G4SolidExtentList.hh create mode 100644 source/geometry/solids/CSG/src/G4ReduciblePolygon.cc create mode 100644 source/geometry/solids/CSG/src/G4SolidExtentList.cc create mode 100644 source/geometry/volumes/History rename source/geometry/{magneticfield => volumes}/include/G4PropagatorInField.hh (97%) rename source/geometry/{magneticfield => volumes}/include/G4PropagatorInField.icc (96%) delete mode 100644 source/geometry/volumes/src/G4NavigationLevel.cc rename source/geometry/{magneticfield => volumes}/src/G4PropagatorInField.cc (92%) create mode 100644 source/global/HEPRandom/include/G4Poisson.hh create mode 100644 source/global/STLInterface/History create mode 100644 source/global/STLInterface/rw/cstring.h create mode 100644 source/global/STLInterface/rw/ctoken.h create mode 100644 source/global/STLInterface/rw/defs.h create mode 100644 source/global/STLInterface/rw/rstream.h create mode 100644 source/global/STLInterface/rw/rw2stl_algo.h create mode 100644 source/global/STLInterface/rw/rwstlhash.h create mode 100644 source/global/STLInterface/rw/tphdict.h create mode 100644 source/global/STLInterface/rw/tpordvec.h create mode 100644 source/global/STLInterface/rw/tpsrtvec.h create mode 100644 source/global/STLInterface/rw/tpsrtvec.icc create mode 100644 source/global/STLInterface/rw/tpvector.h create mode 100644 source/global/STLInterface/rw/tpvector.icc create mode 100644 source/global/STLInterface/rw/tvhdict.h create mode 100644 source/global/STLInterface/rw/tvhdict.icc create mode 100644 source/global/STLInterface/rw/tvordvec.h create mode 100644 source/global/STLInterface/rw/tvvector.h create mode 100644 source/global/STLInterface/wrappers/AIX-xlC/cmath create mode 100644 source/global/STLInterface/wrappers/AIX-xlC/cstdio create mode 100644 source/global/STLInterface/wrappers/AIX-xlC/cstdlib create mode 100644 source/global/STLInterface/wrappers/AIX-xlC/cstring create mode 100644 source/global/STLInterface/wrappers/AIX-xlC/hash_map create mode 100644 source/global/STLInterface/wrappers/DEC-cxx/cmath create mode 100644 source/global/STLInterface/wrappers/DEC-cxx/cstdio create mode 100644 source/global/STLInterface/wrappers/DEC-cxx/cstdlib create mode 100644 source/global/STLInterface/wrappers/DEC-cxx/cstring create mode 100644 source/global/STLInterface/wrappers/DEC-cxx/hash_map create mode 100644 source/global/STLInterface/wrappers/HP-aCC/hash_map create mode 100644 source/global/STLInterface/wrappers/SUN-CC/cmath create mode 100644 source/global/STLInterface/wrappers/SUN-CC/cstdio create mode 100644 source/global/STLInterface/wrappers/SUN-CC/cstdlib create mode 100644 source/global/STLInterface/wrappers/SUN-CC/cstring create mode 100644 source/global/STLInterface/wrappers/SUN-CC/hash_map create mode 100644 source/global/management/include/G4Types.hh create mode 100644 source/global/management/include/G4UnitsTest.hh delete mode 100644 source/graphics_reps/include/G4Point3DList.icc create mode 100644 source/graphics_reps/src/G4Circle.cc create mode 100644 source/graphics_reps/src/G4Square.cc create mode 100644 source/intercoms/include/G4VFlavoredParallelWorld.hh create mode 100644 source/intercoms/include/G4VGlobalFastSimulationManager.hh rename source/{graphics_reps => intercoms}/include/G4VGraphicsScene.hh (74%) rename source/{graphics_reps => intercoms}/include/G4VVisManager.hh (96%) create mode 100644 source/intercoms/src/G4VGlobalFastSimulationManager.cc rename source/{graphics_reps => intercoms}/src/G4VVisManager.cc (76%) mode change 100755 => 100644 source/materials/include/G4ElementTable.hh mode change 100755 => 100644 source/materials/include/G4ElementVector.hh mode change 100755 => 100644 source/materials/include/G4IsotopeVector.hh mode change 100755 => 100644 source/materials/include/G4MaterialTable.hh rename source/particles/management/src/{G4NucleiPropertiesTable.cc => G4NucleiPropertiesTableA.cc} (54%) create mode 100644 source/particles/management/src/G4NucleiPropertiesTableB.cc create mode 100644 source/processes/electromagnetic/History create mode 100644 source/processes/electromagnetic/lowenergy/GNUmakefile create mode 100644 source/processes/electromagnetic/lowenergy/include/G4Data.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4Epdl89File.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4Epdl97File.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4EpdlTables.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4FirstLevel.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.icc create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.icc create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.icc create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.icc create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.icc create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.icc create mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyUtilities.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4SecondLevel.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4ThirdLevel.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4VDataFile.hh create mode 100644 source/processes/electromagnetic/lowenergy/include/G4VTables.hh create mode 100644 source/processes/electromagnetic/lowenergy/src/G4Data.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4Epdl89File.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4Epdl97File.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4EpdlTables.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4FirstLevel.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4LowEnergyBremsstrahlung.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4LowEnergyCompton.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4LowEnergyGammaConversion.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4LowEnergyIonisation.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4LowEnergyPhotoElectric.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4LowEnergyRayleigh.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4LowEnergyUtilities.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4SecondLevel.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4ThirdLevel.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4VDataFile.cc create mode 100644 source/processes/electromagnetic/lowenergy/src/G4VTables.cc delete mode 100644 source/processes/electromagnetic/muons/include/G4MuNuclearInteraction.hh delete mode 100644 source/processes/electromagnetic/muons/include/G4MuNuclearInteraction.icc create mode 100644 source/processes/electromagnetic/standard/include/G4PAIenergyLoss.hh create mode 100644 source/processes/electromagnetic/standard/include/G4PAIenergyLoss.icc create mode 100644 source/processes/electromagnetic/standard/include/G4PAIonisation.hh create mode 100644 source/processes/electromagnetic/standard/include/G4PAIonisation.icc create mode 100644 source/processes/electromagnetic/standard/include/G4PAIxSection.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4PhotoAbsorption.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4PhotoAbsorption.icc create mode 100644 source/processes/electromagnetic/standard/include/G4hEnergyLossPlus.hh create mode 100644 source/processes/electromagnetic/standard/include/G4hEnergyLossPlus.icc create mode 100644 source/processes/electromagnetic/standard/include/G4hIonisationPlus.hh create mode 100644 source/processes/electromagnetic/standard/include/G4hIonisationPlus.icc create mode 100644 source/processes/electromagnetic/standard/src/G4PAIenergyLoss.cc create mode 100644 source/processes/electromagnetic/standard/src/G4PAIonisation.cc create mode 100644 source/processes/electromagnetic/standard/src/G4PAIxSection.cc delete mode 100644 source/processes/electromagnetic/standard/src/G4PhotoAbsorption.cc create mode 100644 source/processes/electromagnetic/standard/src/G4hEnergyLossPlus.cc create mode 100644 source/processes/electromagnetic/standard/src/G4hIonisationPlus.cc create mode 100644 source/processes/hadronic/management/include/G4HadronicInteractionRegistry.hh create mode 100644 source/processes/hadronic/management/src/G4HadronicInteractionRegistry.cc delete mode 100644 source/processes/hadronic/models/generator/History delete mode 100644 source/processes/hadronic/models/generator/kinetic_model/README rename source/processes/hadronic/models/generator/{util => management}/include/G4VKineticNucleon.hh (92%) rename source/processes/hadronic/models/generator/{util => management}/src/G4VKineticNucleon.cc (88%) rename source/processes/hadronic/models/generator/{management => string_common}/include/G4VParticipants.hh (94%) rename source/processes/hadronic/models/generator/{management => string_common}/include/G4VSplitableHadron.hh (94%) rename source/processes/hadronic/models/generator/{management => string_common}/include/G4VStringFragmentation.hh (88%) rename source/processes/hadronic/models/generator/{management => string_common}/src/G4VParticipants.cc (90%) rename source/processes/hadronic/models/generator/{management => string_common}/src/G4VSplitableHadron.cc (93%) rename source/processes/hadronic/models/generator/{management => string_common}/src/G4VStringFragmentation.cc (89%) rename source/processes/hadronic/models/generator/{management => string_fragmentation}/include/G4VLongitudinalStringDecay.hh (50%) rename source/processes/hadronic/models/generator/{management => string_fragmentation}/src/G4VLongitudinalStringDecay.cc (54%) create mode 100644 source/processes/management/History rename source/{particles => processes}/management/include/G4ParticleTypes.hh (97%) create mode 100644 source/track/src/G4VEvtBiasMechanism.cc create mode 100644 source/tracking/include/G4VSteppingVerbose.hh create mode 100644 source/tracking/include/G4VTrajectory.hh create mode 100644 source/tracking/include/G4VTrajectoryPoint.hh create mode 100644 source/tracking/src/G4VSteppingVerbose.cc rename source/visualization/FukuiRenderer/include/{G4DAWNFILEScene.hh => G4DAWNFILESceneHandler.hh} (91%) rename source/visualization/FukuiRenderer/include/{G4DAWNFILEView.hh => G4DAWNFILEViewer.hh} (71%) rename source/visualization/FukuiRenderer/include/{G4FukuiRendererScene.hh => G4FukuiRendererSceneHandler.hh} (90%) rename source/visualization/FukuiRenderer/include/{G4FukuiRendererView.hh => G4FukuiRendererViewer.hh} (64%) rename source/visualization/FukuiRenderer/src/{G4DAWNFILEScene.cc => G4DAWNFILESceneHandler.cc} (84%) rename source/visualization/FukuiRenderer/src/{G4DAWNFILEView.cc => G4DAWNFILEViewer.cc} (75%) rename source/visualization/FukuiRenderer/src/{G4FukuiRendererScene.cc => G4FukuiRendererSceneHandler.cc} (77%) rename source/visualization/FukuiRenderer/src/{G4FukuiRendererView.cc => G4FukuiRendererViewer.cc} (61%) delete mode 100644 source/visualization/G4Ray/GNUmakefile delete mode 100644 source/visualization/G4Ray/include/G4OwnColormapXView.hh delete mode 100644 source/visualization/G4Ray/include/G4RayMessenger.hh delete mode 100644 source/visualization/G4Ray/include/G4RayMessenger.icc delete mode 100644 source/visualization/G4Ray/include/G4RayPrimaryGeneratorAction.hh delete mode 100644 source/visualization/G4Ray/include/G4RayScene.hh delete mode 100644 source/visualization/G4Ray/include/G4RayScene.icc delete mode 100644 source/visualization/G4Ray/include/G4RaySteppingAction.hh delete mode 100644 source/visualization/G4Ray/include/G4RayView.hh delete mode 100644 source/visualization/G4Ray/include/G4RayView.icc delete mode 100644 source/visualization/G4Ray/include/G4RayX.hh delete mode 100644 source/visualization/G4Ray/include/G4RayXMessenger.hh delete mode 100644 source/visualization/G4Ray/include/G4RayXView.hh delete mode 100644 source/visualization/G4Ray/src/G4OwnColormapXView.cc delete mode 100644 source/visualization/G4Ray/src/G4RayMessenger.cc delete mode 100644 source/visualization/G4Ray/src/G4RayPrimaryGeneratorAction.cc delete mode 100644 source/visualization/G4Ray/src/G4RayScene.cc delete mode 100644 source/visualization/G4Ray/src/G4RaySteppingAction.cc delete mode 100644 source/visualization/G4Ray/src/G4RayView.cc delete mode 100644 source/visualization/G4Ray/src/G4RayX.cc delete mode 100644 source/visualization/G4Ray/src/G4RayXMessenger.cc delete mode 100644 source/visualization/G4Ray/src/G4RayXView.cc rename source/visualization/OPACS/include/{G4GoScene.hh => G4GoSceneHandler.hh} (75%) rename source/visualization/OPACS/include/{G4WoView.hh => G4WoViewer.hh} (62%) rename source/visualization/OPACS/include/{G4XoView.hh => G4XoViewer.hh} (63%) rename source/visualization/OPACS/src/{G4GoScene.cc => G4GoSceneHandler.cc} (72%) rename source/visualization/OPACS/src/{G4WoView.cc => G4WoViewer.cc} (80%) rename source/visualization/OPACS/src/{G4XoView.cc => G4XoViewer.cc} (85%) rename source/visualization/OpenGL/include/{G4OpenGLImmediateScene.hh => G4OpenGLImmediateSceneHandler.hh} (57%) delete mode 100644 source/visualization/OpenGL/include/G4OpenGLImmediateView.hh create mode 100644 source/visualization/OpenGL/include/G4OpenGLImmediateViewer.hh delete mode 100644 source/visualization/OpenGL/include/G4OpenGLImmediateWin32View.hh create mode 100644 source/visualization/OpenGL/include/G4OpenGLImmediateWin32Viewer.hh delete mode 100644 source/visualization/OpenGL/include/G4OpenGLImmediateXView.hh create mode 100644 source/visualization/OpenGL/include/G4OpenGLImmediateXViewer.hh rename source/visualization/OpenGL/include/{G4OpenGLImmediateXmView.hh => G4OpenGLImmediateXmViewer.hh} (50%) delete mode 100644 source/visualization/OpenGL/include/G4OpenGLScene.icc rename source/visualization/OpenGL/include/{G4OpenGLScene.hh => G4OpenGLSceneHandler.hh} (70%) create mode 100644 source/visualization/OpenGL/include/G4OpenGLSceneHandler.icc rename source/visualization/OpenGL/include/{G4OpenGLStoredScene.hh => G4OpenGLStoredSceneHandler.hh} (69%) delete mode 100644 source/visualization/OpenGL/include/G4OpenGLStoredView.hh create mode 100644 source/visualization/OpenGL/include/G4OpenGLStoredViewer.hh delete mode 100644 source/visualization/OpenGL/include/G4OpenGLStoredWin32View.hh create mode 100644 source/visualization/OpenGL/include/G4OpenGLStoredWin32Viewer.hh delete mode 100644 source/visualization/OpenGL/include/G4OpenGLStoredXView.hh create mode 100644 source/visualization/OpenGL/include/G4OpenGLStoredXViewer.hh delete mode 100644 source/visualization/OpenGL/include/G4OpenGLStoredXmView.hh create mode 100644 source/visualization/OpenGL/include/G4OpenGLStoredXmViewer.hh rename source/visualization/OpenGL/include/{G4OpenGLView.hh => G4OpenGLViewer.hh} (62%) rename source/visualization/OpenGL/include/{G4OpenGLWin32View.hh => G4OpenGLWin32Viewer.hh} (54%) rename source/visualization/OpenGL/include/{G4OpenGLXView.hh => G4OpenGLXViewer.hh} (89%) rename source/visualization/OpenGL/include/{G4OpenGLXmView.hh => G4OpenGLXmViewer.hh} (94%) rename source/visualization/OpenGL/src/{G4OpenGLImmediateScene.cc => G4OpenGLImmediateSceneHandler.cc} (62%) rename source/visualization/OpenGL/src/{G4OpenGLImmediateView.cc => G4OpenGLImmediateViewer.cc} (61%) rename source/visualization/OpenGL/src/{G4OpenGLImmediateWin32View.cc => G4OpenGLImmediateWin32Viewer.cc} (75%) rename source/visualization/OpenGL/src/{G4OpenGLImmediateXView.cc => G4OpenGLImmediateXViewer.cc} (72%) rename source/visualization/OpenGL/src/{G4OpenGLImmediateXmView.cc => G4OpenGLImmediateXmViewer.cc} (78%) rename source/visualization/OpenGL/src/{G4OpenGLScene.cc => G4OpenGLSceneHandler.cc} (91%) rename source/visualization/OpenGL/src/{G4OpenGLStoredScene.cc => G4OpenGLStoredSceneHandler.cc} (77%) rename source/visualization/OpenGL/src/{G4OpenGLStoredView.cc => G4OpenGLStoredViewer.cc} (73%) rename source/visualization/OpenGL/src/{G4OpenGLStoredWin32View.cc => G4OpenGLStoredWin32Viewer.cc} (68%) rename source/visualization/OpenGL/src/{G4OpenGLStoredXView.cc => G4OpenGLStoredXViewer.cc} (69%) rename source/visualization/OpenGL/src/{G4OpenGLStoredXmView.cc => G4OpenGLStoredXmViewer.cc} (71%) rename source/visualization/OpenGL/src/{G4OpenGLView.cc => G4OpenGLViewer.cc} (89%) rename source/visualization/OpenGL/src/{G4OpenGLWin32View.cc => G4OpenGLWin32Viewer.cc} (71%) rename source/visualization/OpenGL/src/{G4OpenGLXView.cc => G4OpenGLXViewer.cc} (92%) rename source/visualization/OpenGL/src/{G4OpenGLXmView.cc => G4OpenGLXmViewer.cc} (90%) delete mode 100644 source/visualization/OpenInventor/include/G4OpenInventorScene.icc rename source/visualization/OpenInventor/include/{G4OpenInventorScene.hh => G4OpenInventorSceneHandler.hh} (76%) create mode 100644 source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.icc delete mode 100644 source/visualization/OpenInventor/include/G4OpenInventorView.hh create mode 100644 source/visualization/OpenInventor/include/G4OpenInventorViewer.hh rename source/visualization/OpenInventor/src/{G4OpenInventorScene.cc => G4OpenInventorSceneHandler.cc} (84%) delete mode 100644 source/visualization/OpenInventor/src/G4OpenInventorView.cc create mode 100644 source/visualization/OpenInventor/src/G4OpenInventorViewer.cc rename source/visualization/VRML/include/{G4VRML1FileScene.hh => G4VRML1FileSceneHandler.hh} (83%) rename source/visualization/VRML/include/{G4VRML1FileView.hh => G4VRML1FileViewer.hh} (53%) rename source/visualization/VRML/include/{G4VRML1Scene.hh => G4VRML1SceneHandler.hh} (83%) rename source/visualization/VRML/include/{G4VRML1View.hh => G4VRML1Viewer.hh} (54%) rename source/visualization/VRML/include/{G4VRML2FileScene.hh => G4VRML2FileSceneHandler.hh} (85%) rename source/visualization/VRML/include/{G4VRML2FileView.hh => G4VRML2FileViewer.hh} (61%) rename source/visualization/VRML/include/{G4VRML2Scene.hh => G4VRML2SceneHandler.hh} (85%) rename source/visualization/VRML/include/{G4VRML2View.hh => G4VRML2Viewer.hh} (62%) rename source/visualization/VRML/src/{G4VRML1FileScene.cc => G4VRML1FileSceneHandler.cc} (86%) delete mode 100644 source/visualization/VRML/src/G4VRML1FileView.cc create mode 100644 source/visualization/VRML/src/G4VRML1FileViewer.cc rename source/visualization/VRML/src/{G4VRML1Scene.cc => G4VRML1SceneHandler.cc} (74%) rename source/visualization/VRML/src/{G4VRML1SceneFunc.icc => G4VRML1SceneHandlerFunc.icc} (95%) delete mode 100644 source/visualization/VRML/src/G4VRML1View.cc create mode 100644 source/visualization/VRML/src/G4VRML1Viewer.cc rename source/visualization/VRML/src/{G4VRML2FileScene.cc => G4VRML2FileSceneHandler.cc} (87%) rename source/visualization/VRML/src/{G4VRML2FileView.cc => G4VRML2FileViewer.cc} (63%) rename source/visualization/VRML/src/{G4VRML2Scene.cc => G4VRML2SceneHandler.cc} (77%) rename source/visualization/VRML/src/{G4VRML2SceneFunc.icc => G4VRML2SceneHandlerFunc.icc} (93%) rename source/visualization/VRML/src/{G4VRML2View.cc => G4VRML2Viewer.cc} (60%) rename source/visualization/management/include/{G4SceneData.hh => G4Scene.hh} (74%) rename source/visualization/management/include/{G4SceneData.icc => G4Scene.icc} (50%) delete mode 100644 source/visualization/management/include/G4SceneDataObjectList.hh create mode 100644 source/visualization/management/include/G4SceneHandlerList.hh delete mode 100644 source/visualization/management/include/G4VScene.icc rename source/visualization/management/include/{G4VScene.hh => G4VSceneHandler.hh} (75%) create mode 100644 source/visualization/management/include/G4VSceneHandler.icc delete mode 100644 source/visualization/management/include/G4VView.icc rename source/visualization/management/include/{G4VView.hh => G4VViewer.hh} (84%) create mode 100644 source/visualization/management/include/G4VViewer.icc rename source/visualization/management/include/{G4VViewList.hh => G4ViewerList.hh} (58%) rename source/visualization/management/src/{G4SceneData.cc => G4Scene.cc} (53%) delete mode 100644 source/visualization/management/src/G4SceneDataObjectList.cc rename source/visualization/management/src/{G4VScene.cc => G4VSceneHandler.cc} (58%) rename source/visualization/management/src/{G4VView.cc => G4VViewer.cc} (52%) diff --git a/CHANGELOG b/CHANGELOG new file mode 120000 index 0000000000..d5888ead85 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1 @@ +ReleaseNotes \ No newline at end of file diff --git a/ReleaseNotes/ReleaseNotes4.0.1.txt b/ReleaseNotes/ReleaseNotes4.0.1.txt new file mode 100644 index 0000000000..0b944faea4 --- /dev/null +++ b/ReleaseNotes/ReleaseNotes4.0.1.txt @@ -0,0 +1,202 @@ + Geant4.0.1 Release Notes + ------------------------ + + 14th July 1999 + +This version of Geant4 is a "consolidation" of the first public +release. Its main characteristics are: + + o improved reliability and robustness. + o the possibility of using granular (sub-category) libraries. We + recommend this mode of installation and use. + o the possibility of using either the Standard Template Library + (STL) or RogueWave tools.h++, selectable at installation and use + time. + o new low energy electromagnetic processes (first version). + o extension of nuclear photon-evaporation to include the calculation + of time to production for gammas. + o improvements in design of the User Action classes - see below. + +Note that the next release, Geant4.1.0, will be offered only in the +STL version. + +This code and some binary libraries are available through our "Source +Code" Web page - see our Geant4 Home +Page. + +Please refer to Geant4 +User Documentation for further information about using Geant4. +Updates to the documentation for Geant4.0.1 are still in preparation +and are expected to be published within three weeks. + + +Contents +-------- + + 1. Supported and Tested Platforms + 2. CLHEP 1.4 + 3. Using the Standard Template Library + 4. Compiler Specific Problems + 5. Known Run-Time Problems + 6. Compilation Warnings + 7. Known Run-Time Warnings + 8. Changes of the Signatures of Methods of the User Action Classes + + +1. Supported and Tested Platforms +--------------------------------- + + o SUN Solaris 5.6, C++ 4.2 patch 104631-04. + o HP 10.20, aCC C++ B3910B A.01.18. + o Linux 2.0.35, gcc C++ egcs-2.91.60. There is a bug in an egcs + include file which affects compilation with STL - see comments + below. This configuration was tested in the RedHat 5.1 + distribution, but versions of Geant4 have also been compiled + successfully in Debian and Suse distributions. + +Platforms also tested but giving rise to some problems - see below: + + o AIX 4.3, xlC compiler. + o DEC V4.0, cxx C++ V6.1-027. + o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: + Visual C++ 6.0 Service Pack 2 for either STL or RogueWave, or + Visual C++ 5.0 Service Pack 3 for the RogueWave version only. + + +2. CLHEP 1.4 +------------ + +Geant4.0.1 requires the installation of CLHEP +1.4. The following platform specific instructions apply: + + DEC: Do *not* use the compiler option "-std strict_ansi". + + NT: After configure, edit the file config/CLHEP-x86-cygnus-win32 and + comment out "#define HEP-USE-STD 1". + + + +3. Using the Standard Template Library +-------------------------------------- + +The following versions of STL have been tested: + + ObjectSpace STL on: AIX, + DEC, HP, NT and SUN. + + STLPORT STL on: NT + + "Native" STL on: Linux. + +This is selected at installation/compile time by environment variables +- see documentation. Be aware that this is the first implementation +of "The STL Interface" for which the emphasis has been on correct +behaviour, not on performance. Also, the size of libraries and +executables is considerably larger. These issues will be addressed in +the next release. + + +4. Compiler Specific Problems +----------------------------- + + o Linux with egcs-1.1.1 and 1.1.2 + + In order to compile with STL it is necessary to edit + stl_hash_fun.h in /usr/include/g++/ or /usr/local/include/g++/. + Lines 65-67 must be removed or commented out. These are the + lines in question: + + __STL_TEMPLATE_NULL struct hash { + size_t operator()(unsigned char x) const { return x; } + }; + + o AIX 4.3, xlC compiler. + + Geant4 does compile and link on AIX... eventually. The compiler + is very slow and the executables in debug mode are very large. + On rsplus at CERN we had to revert to a version of the archiver + corresponding to AIX 4.1 in order to have templates treated + correctly. This has limited our ability to test Geant4. + + o DEC V4.0, cxx C++ V6.1-027. + + We have found cases of mis-compilation of min and max templates + on DEC. We have traced those which cause serious malfunction + but there is no guarantee that there are no other cases. + Detailed inspection of assembler output suggests that this + problem might not be confined to min and max. This has been + reported to DEC/Compaq. We understand a new version 6.1A of the + compiler is on its way. However we cannot guarantee correct + execution of Geant4 on DEC with the current version of the + compiler. + + o NT + + - Note that the G4SYSTEM environment variable used for compiling + Geant4 on NT has changed from WIN32-VC-NICE to WIN32-VC. + Please check documentation on setting the environment. + - Testing was done using the debuggable version only. + - g3tog4 has not been ported to NT. + - During the making of dependency files during compilation there + are repeated warnings ("strstrea.h not found") - this is an + artefact of using g++ for this purpose. + - Ignore linker warnings: "conflicts with use of other libs". + - Ignore linker errors: "unresolved external symbol + __imp__MessageBoxA@16". + - There is a known problem reading the data files for neutron + scattering processes. A patch resolving this problem will + be issued soon. + + + +5. Known Run-Time Problems +-------------------------- + + o Reading STEP files on DEC with optimised libraries causes a Memory + fault - but see notes on DEC above. + o exampleN04 loops on DEC with optimised libraries - but see notes + on DEC above. + o On HP, an executable which uses "integral approach" + electromagnetic processes - G4IMultipleScattering, + G4IeIonisation, G4IeBremsstrahlung, G4IeplusAnnihilation, + G4IhIonisation - has intermittently given Bus error(coredump). + + +6. Compilation Warnings +----------------------- + +There are compilation warnings om some platforms. We do not believe +that any will lead to incorrect run-time behaviour, but we are working +on reducing them. + + +7. Known Run-Time Warnings +-------------------------- + +The following messages are written to error output while tracking. We +believe none give rise to incorrect behaviour. + + o G4PropagatorInField::LocateIntersectionPoint: Warning: Integration + inaccuracy requires an adjustment in the step's endpoint Two + mid-points are further apart than their curve length difference: + Dist = xxx curve length = yyy + o Stepsize underflow in Stepper. + o Warning G4Navigator::ComputeStep found slightly inaccurate + position... + o Warning in G4Navigator::ComputeStep: The Step's starting point has + moved... + + +8. Changes of the Signatures of Methods of the User Action Classes +------------------------------------------------------------------ + +The signatures of all methods of all of the optional user action +classes have been changed. Now every method takes a constant pointer +to an appropriate G4 object. To cope with this change the user code +must be modified. The examples and documents are updated and the user +is requested to consult to them. We are sorry for this inconvenience +but we concluded that this change will provide the user with a better +and more robust code. diff --git a/config/G4ODBMS_BUILD.gmk b/config/G4ODBMS_BUILD.gmk index 85e0b944c9..44bf7fb042 100644 --- a/config/G4ODBMS_BUILD.gmk +++ b/config/G4ODBMS_BUILD.gmk @@ -1,4 +1,4 @@ -# $Id: G4ODBMS_BUILD.gmk,v 2.1 1998/07/09 13:00:42 morita Exp $ +# $Id: G4ODBMS_BUILD.gmk,v 1.1 1999/01/07 15:58:31 gunter Exp $ # ---------------------------------------------------------------- # GNUmakefile for CPPFLAGS for HepODBMS and Objectivity/DB. # Youhei Morita, 9th July 1998. diff --git a/config/G4UI_BUILD.gmk b/config/G4UI_BUILD.gmk index a875f04080..75c0a40741 100644 --- a/config/G4UI_BUILD.gmk +++ b/config/G4UI_BUILD.gmk @@ -1,4 +1,4 @@ -# $Id: G4UI_BUILD.gmk,v 2.7 1998/10/23 15:14:36 barrand Exp $ +# $Id: G4UI_BUILD.gmk,v 1.1 1999/01/07 15:58:31 gunter Exp $ # ------------------------------------------------------------- # Interfaces-specific CPPFLAGS for BUILD phase. # John Allison, 6th July 1998. diff --git a/config/G4UI_USE.gmk b/config/G4UI_USE.gmk index 4c8ec5ba7f..3ab00c06a9 100644 --- a/config/G4UI_USE.gmk +++ b/config/G4UI_USE.gmk @@ -1,4 +1,4 @@ -# $Id: G4UI_USE.gmk,v 2.7 1998/08/26 11:05:37 allison Exp $ +# $Id: G4UI_USE.gmk,v 1.1 1999/01/07 15:58:31 gunter Exp $ # ------------------------------------------------------------- # GNUmakefile for CPPFLAGS for interfaces USE phase. # John Allison, 6th July 1998. diff --git a/config/G4VIS_BUILD.gmk b/config/G4VIS_BUILD.gmk index f46e838814..90e50ee836 100644 --- a/config/G4VIS_BUILD.gmk +++ b/config/G4VIS_BUILD.gmk @@ -1,4 +1,4 @@ -# $Id: G4VIS_BUILD.gmk,v 1.2 1998/07/07 15:10:33 allison Exp $ +# $Id: G4VIS_BUILD.gmk,v 1.2 1999/06/19 15:20:38 johna Exp $ # ------------------------------------------------------------- # Visualization-specific CPPFLAGS for BUILD phase. # John Allison, 24th January 1998. @@ -62,12 +62,6 @@ ifdef G4VIS_BUILD_OI_DRIVER CPPFLAGS += -DG4VIS_BUILD_OI_DRIVER endif -ifdef G4VIS_BUILD_RAYX_DRIVER - G4VIS_BUILD = 1 - INC_X11 = 1 - CPPFLAGS += -DG4VIS_BUILD_RAYX_DRIVER -endif - # For VRML and VRMLFILE drivers ifdef G4VIS_BUILD_VRML_DRIVER G4VIS_BUILD = 1 diff --git a/config/G4VIS_USE.gmk b/config/G4VIS_USE.gmk index 95dd9a443c..0e2bb45cd1 100644 --- a/config/G4VIS_USE.gmk +++ b/config/G4VIS_USE.gmk @@ -1,4 +1,4 @@ -# $Id: G4VIS_USE.gmk,v 1.7 1998/12/07 03:48:44 stanaka Exp $ +# $Id: G4VIS_USE.gmk,v 1.2 1999/06/19 15:20:40 johna Exp $ # ------------------------------------------------------------- # GNUmakefile for CPPFLAGS for visualization USE phase. # John Allison, 24th January 1998. @@ -70,15 +70,6 @@ ifdef G4VIS_USE_OI LOAD_IV = 1 endif -ifdef G4VIS_USE_RAYX - G4VIS_USE = 1 - CPPFLAGS += -DG4VIS_USE_RAYX - CPPFLAGS += -I$(G4BASE)/visualization/G4Ray/include - VISLIBS += -lG4Ray - INC_X11 = 1 - LOAD_X11 = 1 -endif - ifdef G4VIS_USE_VRML G4VIS_USE_VRML_OR_VRMLFILE = 1 CPPFLAGS += -DG4VIS_USE_VRML diff --git a/config/History b/config/History index 2187dd50d7..e98befc05e 100644 --- a/config/History +++ b/config/History @@ -1,5 +1,5 @@ -$Id: History,v 2.65 1998/12/15 19:29:12 gcosmo Exp $ -$Name: geant4-00 $ +$Id: History,v 1.50 1999/07/06 17:54:47 johna Exp $ +$Name: geant4-00-01 $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,176 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +6th July 1999 John Allison (config-01-00-10) +- Changed -L/usr/X11/lib to -L/usr/X11R6/lib for Linux. + +6th July 1999 Gunter Folger (config-01-00-09) +- Adapt architecture.gmk for use of STL with WIN32-VC + Remove NICE from G4SYSTEM name WIN32-VC in architecture, globlib and + binmake.gmk + +3rd July 1999 John Allison (config-01-00-08a) +- Added full-stop after i.e in binmake.gmk. + +2nd July 1999 John Allison (config-01-00-08) +- Protected liblist against duplicate library names. + +29th June 1999 Gabriele Cosmo (config-01-00-07) +- architecture.gmk: fixed bug in SUN-CC setup concerning XMLIBS and XMFLAGS. + -lXm was missing. + +25th June 1999 Gabriele Cosmo +- Use $G4LIB/$G4SYSTEM instead of $G4LIBDIR in binmake.gmk for invoking + liblist and search for libname.map (granular libraries setup). + +24th June 1999 John Allison +- Use liblist and libname.map in $G4LIBDIR. + +19th June 1999 John Allison +- Removed references to G4Ray in G4VIS_BUILD.gmk and G4VIS_USE.gmk. + +9th June 1999 Gunter Folger +- Adapt liblist.c for Windows, all changes contained withing #ifdef WIN32 blocks. + +4th June 1999 John Allison +- Corrected USER_DEFINED_LDLIBS action. +- Changed `export G4TMP=$(G4TMP);' to `G4TMP=$(G4TMP); export G4TMP;' +- Added -I$(G4BASE)/geometry/solids/Boolean/include. +- Introduced LDLIBS_PREFINAL (Gunter). + +2nd June 1999 John Allison +- Changed more occurrences of := to = to fix crash of liblist at startup. + +1st June 1999 John Allison +- Changed LDLIBS2 := to LDLIBS2 = in binmake.gmk. +- Reverted $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(G4TARGET) to $(G4TMPDIR). +- Added /$(G4TARGET) to liblist -d $(G4WORKDIR)/tmp/$(G4SYSTEM) in binmake.gmk. + +31st May 1999 John Allison +- Added -I$(G4BASE)/processes/electromagnetic/lowenergy/include. + +27th May 1999 Gabriele Cosmo (config-01-00-06) +- architecture.gmk: set default $G4INSTALL path to $HOME/geant4 (was still referring + to geant4beta...). +- Restored default CLHEP_BASE_DIR to /afs/cern.ch/sw/geant4/dev/CLHEP/$G4SYSTEM/pro. +- architecture.gmk: added -DG4NOT_ISO_DELETES for NT setup (G.Folger). + +25th May 1999 Gabriele Cosmo +- architecture.gmk: fixed bug in SUN-CC setup. Replaced VISLIBS with LOADLIBS to + specify inclusion of socket libraries -lsocket -lnsl. +- binmake.gmk: fixed path to libname.map in the definition of LDLIBS2 for the + granular libs setup. + +19th May 1999 John Allison +- Force linking of static library, libCLHEP.a. + +18th May 1999 John Allison +- Specify -DG4NOT_ISO_DELETES in any case (not just G4USE_STL) and only + for HP, Sun and AIX. + +17th May 1999 Gabriele Cosmo +- Added -DG4NOT_ISO_DELETES for DEC and AIX and moved inside G4USE_STL or + G4USE_OSPACE scope for all platforms which need it. +- Added path to wrappers for AIX. + +17th May 1999 John Allison +- Added -DG4NOT_ISO_DELETES for Sun and HP. +- Changed order of -I$(OSPACEDIR)/ospace/std and -I$(OSPACEDIR)/ospace/stl. + +13th May 1999 Gabriele Cosmo (config-01-00-05) +- architecture.gmk: G4USE_OSPACE setup is now independent from G4USE_STL which + is now devoted for generic STL setup. Added -DOS_NO_TYPEDEF_5 option to HP-aCC + for ObjectSpace. + +12th May 1999 Gabriele Cosmo +- architecture.gmk: modified path to STL wrapper files directory to point to + $RWINC/wrappers/$G4SYSTEM. Wrappers are now differenciated according to + the architecture type. + +11th May 1999 Gabriele Cosmo +- architecture.gmk: merged Isidro's OSPACE setup for HP-aCC. + Reorganised OSPACE options by introducing OSPACEINC variable. + +10th May 1999 Guy Barrand +- interactivity.gmk ; put OpenGL things after OPACS things to have + correct link order. + +10th May 1999 John Allison +- Added -I$(OSPACEDIR)/ospace/stl for Sun. + +7th May 1999 John Allison +- Added GREP := grep except for SUN. +- Introduced STLInterface/wrappers directory. Testing on OSF+ObjectSpace (G.Cosmo). + +6th May 1999 Gabriele Cosmo +- Introduced G4USE_OSPACE for ObjectSpace STL. If defined G4USE_STL is + set as well. Modified architecture.gmk and binmake.gmk. + +6th May 1999 John Allison +- Removed extra library for circular dependencies. Now all solved! + +5th May 1999 Gabriele Cosmo +- Fixed typo in architecture.gmk and defined OSPACEDIR to point to the G4 + dev area where links to the ObjectSpace installations at CERN have been + created for all platforms. "pro" version points to ObjectSpace 2.1. + +5th May 1999 John Allison +- Eliminated all references to RW in the case of G4USE_STL. +- Added OSPACE variables. + +28th April 1999 Gabriele Cosmo (config-01-00-04) +- architecture.gmk: moved link for CLHEP to "new" to test the new version + 1.4 of CLHEP. It will become "pro" again as soon as the new CLHEP will be + validated. NOTE: for DEC-cxx a custom CLHEP installation is used in order + to deactivate the ISO-ANSI options now set by default in CLHEP. + +19th April 1999 Gabriele Cosmo (config-01-00-03) +- architecture.gmk: introduced CCFLAGS for all platforms. Set CCFLAGS to + "-Ae +DAportable" for HP-aCC to overcome compilation problems on liblist.c + +18th April 1999 Youhei Morita +- architecture.gmk, binmake.gmk: introduced OBJY_LDLIB variable for + defining Objectivity library within G4ODBMS. + +13th April 1999 Gabriele Cosmo +- architecture.gmk: added the following options in compilation: + o HP-aCC, SGI-CC: +Onolimit, -Olimit 5000 respectively. + Not suppress any optimization specifying a high or unlimited memory + limitation. + o DEC-cxx: -timplicit_local. + Get rid of the template repository by generating explicit template + instantiations used in the code with internal linkage. + +13th April 1999 John Allison +- In binmake.gmk: - moved libmap target to source/GNUmakefile. + - extensive tidying. + +12th April 1999 John Allison +- In liblist.c: - fixed bug to distinguish, e.g., track from tracking. + - improved printing. + - improved "Usage" comments. + - improved protection against bad input format. +- In binmake.gmk, used $(ECHO) to solve platform dependency of echo. +- In binmake.gmk for granular libraries: + - fully implemented -d option. + - Gave /tmp files a unique name. + - Removed repeated libraries - no longer necessary, all circular + dependencies seem solved. + +9th April 1999 Frank Behner +- Fixed bug in liblist in -d option +- Changed binmake.gmk to use liblist -d + +18th February 1999 John Allison +- Added G4USE_STL flag. +- Added code for linking granular libraries. + +1st January 1999 Gunter Folger (config-01-00-02) +- Add FCLIBS for SUN. + +January 29th 1999 - John Allison (config-01-00-01) +- Changed rd44 to sw/geant4. + December 15th, 1998 - G.Cosmo (config-00-04-11) - Added G4_HAVE_BOOL to DEC-cxx. - Cosmetic changes. diff --git a/config/architecture.gmk b/config/architecture.gmk index c39456cd84..db6b726b64 100644 --- a/config/architecture.gmk +++ b/config/architecture.gmk @@ -1,4 +1,4 @@ -# $Id: architecture.gmk,v 2.40 1998/12/15 19:29:13 gcosmo Exp $ +# $Id: architecture.gmk,v 1.36 1999/07/06 17:54:49 johna Exp $ # ------------------------------------------------------------------------ # GEANT 4 - Architecture configuration script for GNU Make # @@ -25,10 +25,12 @@ # # Linux-g++ Linux (Red Hat 5.1), egcs 1.1 # -# WIN32-VC-NICE NiceNT and Microsoft Visual C++ 5.0 installed -# locally as CD-ROM intallation -# ex. NiceNT at CERN (but CYGWIN32 installed -# locally, because not full installation on NICE) +# WIN32-VC NT and Microsoft Visual C++ 5.0 or Microsoft Visual C++ 6.0 +# and using CYGWIN32 tools ( make, g++ as "makedepend", sh...) +# ( Note: you will need to set your environment, see installation +# guide.) +# +# WIN32-VC-NICE alias for the above, although NICE is not used anymore. # # WIN32-G++-NICE NiceNT and CYGWIN32 with g++ as base compiler # ex. NiceNT at CERN (but CYGWIN32 and RogueWave @@ -38,6 +40,13 @@ MAKEFLAGS= --no-print-directory +# Specify G4USE_STL when using STL, even for using our "temporary" +# STLinterface to RogueWave. +# +ifdef G4USE_STL + CPPFLAGS += -DG4USE_STL +endif + # If not specified, the default platform for G4SYSTEM is IBM-AIX ... # ifndef G4SYSTEM @@ -45,10 +54,10 @@ ifndef G4SYSTEM endif # If not specified, the default path for G4 installation G4INSTALL is -# set to $HOME/geant4beta ... +# set to $HOME/geant4 ... # ifndef G4INSTALL - G4INSTALL := $(HOME)/geant4beta + G4INSTALL := $(HOME)/geant4 endif # If not specified, the default path for G4 source G4BASE is @@ -80,6 +89,7 @@ ifndef G4LIB G4LIB := $(G4INSTALL)/lib endif G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4LIB) ] && mkdir -p $(G4LIB) ) +G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4LIB)/$(G4SYSTEM) ] && mkdir -p $(G4LIB)/$(G4SYSTEM) ) # If not specified, the default path for G4 binaries G4BIN is # set to $G4WORKDIR/bin/$G4SYSTEM ... @@ -118,11 +128,11 @@ ifndef G4DEBUG endif # -# CLHEP path +# CLHEP path, etc. # ifndef CLHEP_BASE_DIR - CLHEP_BASE_DIR := /afs/cern.ch/rd44/dev/CLHEP/$(G4SYSTEM)/pro + CLHEP_BASE_DIR := /afs/cern.ch/sw/geant4/dev/CLHEP/$(G4SYSTEM)/pro endif CLHEP_INCLUDE_DIR := $(CLHEP_BASE_DIR)/include CLHEP_LIB_DIR := $(CLHEP_BASE_DIR)/lib @@ -131,33 +141,102 @@ ifndef CLHEP_LIB endif ifeq ($(G4SYSTEM),WIN32-VC-NICE) -# -# NiceNT policy for letter drive mapping -# -ifndef CLHEP_BASE_DIR - CLHEP_BASE_DIR := "z:\p32\lhcpp\clhep\1.1" +G4SYSTEM:=WIN32-VC endif -CLHEP_INCLUDE_DIR := $(CLHEP_BASE_DIR)/include -CLHEP_LIB_DIR := $(CLHEP_BASE_DIR)/lib -CLHEP_LIB := libCLHEP-cl.a + +ifeq ($(G4SYSTEM),WIN32-VC) +# CLHEP_BASE_DIR must be defined in the environment + CLHEP_INCLUDE_DIR := $(CLHEP_BASE_DIR)/include + CLHEP_LIB_DIR := $(CLHEP_BASE_DIR)/lib + CLHEP_LIB := CLHEP.lib endif # -# Rogue Wave Tools.h++ path +# Rogue Wave Tools.h++ path & ObjectSpace STL # -ifndef RWBASE - RWBASE := /afs/cern.ch/rd44/dev/rogue/$(G4SYSTEM) -endif -RWINC := $(RWBASE) -RWLIBDIR := $(RWBASE)/lib -RWLIB := rwtool - -ifeq ($(G4SYSTEM),HP-aCC) - RWBASE := /opt/aCC - RWINC := $(RWBASE)/include - RWLIBDIR := /usr/lib -endif +ifdef G4USE_OSPACE + +#Object Space STL implementation + + RWINC := $(G4BASE)/global/STLInterface + OSPACEDIR := /afs/cern.ch/sw/geant4/dev/ObjectSpace/$(G4SYSTEM)/pro/ToolKit + OSPACEINC := -I$(OSPACEDIR)/ospace/std -I$(OSPACEDIR)/ospace/stl + OSPACELIBS := -L$(OSPACEDIR)/lib -lospace + CPPFLAGS += -DG4USE_STL + + ifeq ($(G4SYSTEM),WIN32-VC) + OSPACEDIR := $(OBJECT_SPACE_BASE) + OSPACEINC := -I$(OSPACEDIR)/ospace/std -I$(OSPACEDIR)/ospace/stl -I$(OSPACEDIR) + OSPACELIBS := '-libpath:c:\dev\ospace\lib std-2.1-vc5.0-mt.lib' + CPPFLAGS += -DG4USE_STL -DG4USE_OLDSTL + CPPFLAGS += -DOS_WIN_NT_4_0 -DOS_MULTI_THREADED -D_WIN32_WINNT $(OSPACEINC) + endif +else +ifdef G4USE_STL + +# Native STL implemetation + + RWINC := $(G4BASE)/global/STLInterface + +else +ifdef G4USE_STLPORT + +# STLport STL implementation (free) ( derived from SGI implementaion) + ifeq ($(G4SYSTEM),WIN32-VC) + + RWINC := $(G4BASE)/global/STLInterface + STLPORTDIR := $(STLPORT_BASE) + OSPACEINC := -I$(STLPORTDIR)/stl + CPPFLAGS += -DG4USE_STL -DG4USE_OLDSTL + CPPFLAGS += -D_NOTHREADS -D__STL_NO_NEW_IOSTREAMS -D__STL_NO_NAMESPACES -D__STL_NO_NEW_STYLE_HEADERS + + endif + +endif #STLport +endif #STL +endif #OPSPACE + +# default to RW if RWINC is not set... +ifndef RWINC + ifndef RWBASE + RWBASE := /afs/cern.ch/sw/geant4/dev/rogue/$(G4SYSTEM) + endif + RWINC := $(RWBASE) + RWLIBDIR := $(RWBASE)/lib + RWLIB := rwtool + + ifeq ($(G4SYSTEM),HP-aCC) + RWBASE := /opt/aCC + RWINC := $(RWBASE)/include + RWLIBDIR := /usr/lib + endif + + ifeq ($(G4SYSTEM),WIN32-VC) +# RWBASE must be defined in the environment + + RWINC := $(RWBASE) + RWLIBDIR := $(RWBASE)"\lib" + RWLIB := mtlmt.lib + endif + + ifeq ($(G4SYSTEM),WIN32-G++-NICE) + # + # locally installed RogueWave for g++ (mount mapping) + # + RWBASE := /rogue + RWINC := $(RWBASE) + RWLIBDIR := $(RWBASE)/lib + RWLIB := rwtool + endif + + # + # Make dependencies files by g++ then need right RW include + # + ifdef RWINCGPP + RWINCGPP := -I$(RWINCGPP) + endif +endif # ifndef RWINC # # Paths for G4 data @@ -172,33 +251,10 @@ ifndef G4LEVELGAMMADATA G4LEVELGAMMADATA := $(G4DATA)/PhotonEvaporation endif -ifeq ($(G4SYSTEM),WIN32-VC-NICE) -# -# NiceNT policy for letter drive mapping -# -ifndef RWBASE - RWBASE := "z:\p32\lhcpp\rw\tools\7.0.2\rogue" -endif - RWINC := $(RWBASE) - RWLIBDIR := $(RWBASE)"\lib" - RWLIB := mtldmt.lib - RWINCGPP := /rogue -endif - -ifeq ($(G4SYSTEM),WIN32-G++-NICE) -# -# locally installed RogueWave for g++ (mount mapping) -# - RWBASE := /rogue - RWINC := $(RWBASE) - RWLIBDIR := $(RWBASE)/lib - RWLIB := rwtool -endif - # # Toggle variables (positional qualifiers) between WIN32-VC and UNIX... # -ifeq ($(G4SYSTEM),WIN32-VC-NICE) +ifeq ($(G4SYSTEM),WIN32-VC) OUT_OBJ := -TP '-Fo' FOR_OBJ := '-Fo' OUT_LIB := '-out:' @@ -226,29 +282,37 @@ else FLIB_PATT := $(LIB_PATT) endif -# -# Make dependencies files by g++ then need right RW include -# -ifdef RWINCGPP - RWINCGPP := -I$(RWINCGPP) -endif - # # Variables for implicit rules, etc., as suggested in GNU Make manual... # -CPPFLAGS += -Iinclude \ - -I$(CLHEP_INCLUDE_DIR) \ - -I$(RWINC) +CPPFLAGS += -Iinclude -I$(RWINC) +CPPFLAGS += -I$(CLHEP_INCLUDE_DIR) + # # Positional qualifiers in action... # -ifeq ($(G4SYSTEM),WIN32-VC-NICE) - LDFLAGS := -link $(LIB_PATH)$(CLHEP_LIB_DIR) $(LIB_PATH)$(RWLIBDIR) - LOADLIBS := $(CLHEP_LIB) $(RWLIB) +ifeq ($(G4SYSTEM),WIN32-VC) + LDFLAGS := -link $(LIB_PATH)$(CLHEP_LIB_DIR) + ifdef RWLIBDIR + LDFLAGS += $(LIB_PATH)$(RWLIBDIR) + endif + LOADLIBS := $(CLHEP_LIB) + ifdef RWLIB + LOADLIBS += $(RWLIB) + endif else - LDFLAGS := -L$(CLHEP_LIB_DIR) -L$(RWLIBDIR) - LOADLIBS := -l$(CLHEP_LIB) -l$(RWLIB) -lm +## LDFLAGS := -L$(CLHEP_LIB_DIR) + LDFLAGS := + ifdef RWLIBDIR + LDFLAGS += -L$(RWLIBDIR) + endif +## LOADLIBS := -l$(CLHEP_LIB) + LOADLIBS := $(CLHEP_LIB_DIR)/lib$(CLHEP_LIB).a + ifdef RWLIB + LOADLIBS += -l$(RWLIB) + endif + LOADLIBS += -lm endif # @@ -310,6 +374,9 @@ AR := ar r # Default echo used with makedepend. Changed for SUN-CC, Linux-g++. ECHO:= echo +# Default grep used with source/GNUmakfile. Changed for SUN-CC. +GREP := grep + # # Architecture dependent variables... @@ -324,6 +391,7 @@ ifeq ($(G4SYSTEM),AIX-xlC) else CXXFLAGS := -g -qdbxextra -qcheck=all -qfullpath -qtwolink -+ FCFLAGS := -g + CCFLAGS := -g endif FC := xlf FCFLAGS += -qextname @@ -340,6 +408,19 @@ ifeq ($(G4SYSTEM),AIX-xlC) ifndef OGLLIBS OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL endif + ifdef G4ODBMS + ifeq ($(OBJY_VERS),4.0.2) + OBJY_LDLIB := oo_shar.4.02 + endif + endif + CPPFLAGS += -DG4NOT_ISO_DELETES + ifdef G4USE_STL + CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) + endif + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_AIX_4 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR) + endif endif # -------- SUN --------- @@ -351,6 +432,7 @@ ifeq ($(G4SYSTEM),SUN-CC) else CXXFLAGS := -g FCFLAGS := -g + CCFLAGS := -g endif # CXXFLAGS += -fnonstd CFRONT_G4TEMPLATE_REPOSITORY := true @@ -358,11 +440,11 @@ ifeq ($(G4SYSTEM),SUN-CC) SHEXT := so AR := $(CXX) -xar -ptr$(G4TREP) -o ECHO := /bin/echo + GREP := /usr/xpg4/bin/grep + FCLIBS := -lM77 -lF77 -lsunmath X11FLAGS := -I/usr/openwin/include/X11/extensions -I/usr/openwin/include/X11 -I/usr/openwin/include X11LIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXmu -lX11 -lXext - - XMFLAGS := -I/usr/include/Motif1.2 - XMLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXt -lX11 + XMLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXt -lXm -lX11 XAWFLAGS := -I/usr/openwin/include/X11 XAWLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXaw -lXmu -lXt -lX11 -lXext ifndef OGLFLAGS @@ -371,8 +453,21 @@ ifeq ($(G4SYSTEM),SUN-CC) ifndef OGLLIBS OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL endif + ifdef G4ODBMS + ifeq ($(OBJY_VERS),4.0.2) + OBJY_LDLIB := oo + endif + endif CPPFLAGS += -DSOCKET_IRIX_SOLARIS - VISLIBS += -L/usr/lib -lsocket -lnsl + LOADLIBS += -L/usr/lib -lsocket -lnsl + CPPFLAGS += -DG4NOT_ISO_DELETES + ifdef G4USE_STL + CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) + endif + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_SOLARIS_2_5 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR) + endif endif # -------- HP --------- @@ -380,10 +475,11 @@ endif ifeq ($(G4SYSTEM),HP-aCC) CXX := aCC ifdef G4OPTIMISE - CXXFLAGS := +O2 + CXXFLAGS := +O2 +Onolimit else - CXXFLAGS := -g + CXXFLAGS := -g FCFLAGS := -g + CCFLAGS := -g endif CXXFLAGS += +DAportable CPPFLAGS += -I/usr @@ -393,6 +489,7 @@ ifeq ($(G4SYSTEM),HP-aCC) G4_HAVE_BOOL := yes FC := f77 FCFLAGS += +E6 +ppu + CCFLAGS += -Ae +DAportable X11FLAGS := -I/usr/include/X11/extensions -I/usr/contrib/X11R6/include -I/usr/contrib/X11R6/include/X11 X11LIBS := -L/usr/contrib/X11R6/lib -lXmu -L/usr/lib -lXt -lXext -lX11 XMFLAGS := -I/usr/include/Motif1.2 @@ -406,6 +503,20 @@ ifeq ($(G4SYSTEM),HP-aCC) OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL OGLLIBS += -L/opt/graphics/common/lib -lXwindow -lhpgfx -lXhp11 -ldld endif + ifdef G4ODBMS + ifeq ($(OBJY_VERS),4.0.2) + OBJY_LDLIB := oo + endif + endif + CPPFLAGS += -DG4NOT_ISO_DELETES + ifdef G4USE_STL + CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) -DG4USE_EXPLICIT_TYPES_IN_TEMPLATES + endif + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_HPUX_10_20 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += -DOS_NO_TYPEDEF_5 -D__HPACC_NOEH -DG4USE_EXPLICIT_TYPES_IN_TEMPLATES + CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR) + endif endif # -------- SGI --------- @@ -413,11 +524,13 @@ endif ifeq ($(G4SYSTEM),SGI-CC) CXX := CC ifdef G4OPTIMISE - CXXFLAGS := -O -ptused + CXXFLAGS := -O -Olimit 5000 else - CXXFLAGS := -g -ptused - FCFLAGS := -g + CXXFLAGS := -g + FCFLAGS := -g + CCFLAGS := -g endif + CXXFLAGS += -ptused FC := f77 FCLIBS := -lftn SHEXT := so @@ -431,6 +544,10 @@ ifeq ($(G4SYSTEM),SGI-CC) OGLLIBS := -L/usr/lib -lGLU -lGL endif CPPFLAGS += -DSOCKET_IRIX_SOLARIS + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_IRIX_6_2 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += $(OSPACEINC) -I$(OSPACEDIR) + endif endif # -------- DEC --------- @@ -442,11 +559,12 @@ ifeq ($(G4SYSTEM),DEC-cxx) else CXXFLAGS := -gall FCFLAGS := -g + CCFLAGS := -g endif CFRONT_G4TEMPLATE_REPOSITORY := true G4_HAVE_BOOL := yes LDFLAGS += -taso - CXXFLAGS += -ieee + CXXFLAGS += -ieee -timplicit_local FC := f77 FCLIBS := -lUfor -lfor -lFutil -lots X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 @@ -458,6 +576,15 @@ ifeq ($(G4SYSTEM),DEC-cxx) OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL # OGLLIBS := -lMesaGLU -lMesaGL endif + ifdef G4USE_STL + CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) + CXXFLAGS += -nostdnew + endif + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_OSF1_4 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS -D__NO_EDG_EXCEPTION_CLASSES + CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR) + CXXFLAGS += -nostdnew + endif endif # ------ GNU/LINUX ------ @@ -470,14 +597,15 @@ ifeq ($(G4SYSTEM),Linux-g++) CXXFLAGS += -O else CXXFLAGS += -g - FCFLAGS := -g + FCFLAGS := -g + CCFLAGS := -g endif FC := g77 FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore FCLIBS := -lf2c ECHO := /bin/echo X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 - X11LIBS := -L/usr/X11/lib -lXmu -lXt -lXext -lX11 -lSM -lICE + X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lSM -lICE XMFLAGS := -I/usr/X11R6/include XMLIBS := -lXm -lXpm ifndef OGLFLAGS @@ -487,29 +615,41 @@ ifeq ($(G4SYSTEM),Linux-g++) OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL endif OIVFLAGS += -I$(OIHOME)/include + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_LINUX_2 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += -I$(OSPACEDIR)/ospace/std -I$(OSPACEDIR) + endif endif -# ------ WIN32/VC/NICE ------ +# ------ WIN32/VC ------ # -ifeq ($(G4SYSTEM),WIN32-VC-NICE) +ifeq ($(G4SYSTEM),WIN32-VC) CXX := CL G4_HAVE_BOOL := yes G4_NO_CBRT := yes ifdef G4OPTIMISE CXXFLAGS += -Ox else - CXXFLAGS += -Od + CXXFLAGS += -Od -Zi -Fd$(G4LIBDIR)/lib$(name) endif - CXXFLAGS += -GX -Zm200 -DWIN32 # -TP + CXXFLAGS += -MD -GX -Zm200 -nologo -DWIN32 -D_CONSOLE + CXXFLAGS += -D_WIN32 -DOS -DG4NOT_ISO_DELETES + CPPFLAGS += -DWIN32 -DRW_NO_XMSG # # Should set $INCLUDE environment, if not set as below # -# CXXFLAGS += -I'\\srv1_info\v2\vc50pro1\DEVSTUDIO\VC\INCLUDE' +ifdef G4USE_OSPACE + CXXFLAGS += $(OSPACEINC) +else +ifdef G4USE_STLPORT + CXXFLAGS += $(OSPACEINC) +endif #stlport +endif #ospace - LDFLAGS += -FORCE + LDFLAGS += -FORCE /NODEFAULTLIB:MSVCRT.dll # -# Should set $LIB environment, if not set as below +# Should set $LIB environment to include VC++ Studio lib directories, e.g. # # $(LIB_PATH)"c:\ProgramFiles\DevStudio\vc\lib" \ # $(LIB_PATH)'\\srv1_info\v2\vc50pro1\DEVSTUDIO\VC\LIB' \ @@ -561,7 +701,11 @@ ifdef G4_NO_CBRT endif # Standard Template Library (STL) not installed -CPPFLAGS += -DRW_NO_STL +ifndef G4USE_STL + ifndef G4USE_OSPACE + CPPFLAGS += -DRW_NO_STL + endif +endif # Verbosity code can be left out (for better performance) # by defining G4_NO_VERBOSE. diff --git a/config/binmake.gmk b/config/binmake.gmk index 43a77879ed..c88cb22b89 100644 --- a/config/binmake.gmk +++ b/config/binmake.gmk @@ -1,4 +1,4 @@ -# $Id: binmake.gmk,v 2.22 1998/12/01 22:59:47 gcosmo Exp $ +# $Id: binmake.gmk,v 1.29 1999/07/06 15:19:42 gunter Exp $ # ---------------------------------------------------------- # Script defining rules and paths for making binaries. # Gabriele Cosmo, 25/06/1998. @@ -27,6 +27,7 @@ ifndef INCFLAGS -I$(G4BASE)/particles/hadrons/barions/include \ -I$(G4BASE)/particles/hadrons/ions/include \ -I$(G4BASE)/particles/hadrons/mesons/include \ + -I$(G4BASE)/particles/shortlived/include \ -I$(G4BASE)/processes/management/include \ -I$(G4BASE)/processes/general/include \ -I$(G4BASE)/processes/decay/include \ @@ -37,6 +38,7 @@ ifndef INCFLAGS -I$(G4BASE)/processes/electromagnetic/muons/include \ -I$(G4BASE)/processes/electromagnetic/utils/include \ -I$(G4BASE)/processes/electromagnetic/xrays/include \ + -I$(G4BASE)/processes/electromagnetic/lowenergy/include \ -I$(G4BASE)/processes/hadronic/management/include \ -I$(G4BASE)/processes/hadronic/processes/include \ -I$(G4BASE)/processes/hadronic/util/include \ @@ -58,6 +60,7 @@ ifndef INCFLAGS -I$(G4BASE)/geometry/management/include \ -I$(G4BASE)/geometry/solids/CSG/include \ -I$(G4BASE)/geometry/solids/BREPS/include \ + -I$(G4BASE)/geometry/solids/Boolean/include \ -I$(G4BASE)/geometry/solids/STEP/include \ -I$(G4BASE)/geometry/solids/STEPinterface/include \ -I$(G4BASE)/geometry/volumes/include \ @@ -92,84 +95,162 @@ ifdef G4ODBMS -DHep_HAS_BUILDIN_BOOL_CONSTANTS endif -ifndef LDLIBS - -ifdef G4EXLIB - LDLIBS := -l$(G4TARGET) $(VISLIBS) $(UILIBS) -else - LDLIBS := $(VISLIBS) $(UILIBS) -endif - -ifdef G4ODBMS - LDLIBS += -lG4persistency -endif - - LDLIBS += \ - -lG4readout \ - -lG4run \ - -lG4event \ - -lG4tracking \ - -lG4processes \ - -lG4particles \ - -lG4digits+hits \ - -lG4track \ - -lG4materials \ - -lG4geometry \ - -lG4graphics_reps \ - -lG4intercoms \ - -lG4global \ - $(INTYLIBS) -endif - -ifdef G4ODBMS - LDFLAGS += -L$(OBJY_DIR)/lib \ - -L$(HEP_ODBMS_DIR)/lib - -# Note: -loo_sahr.4.02 and -lHepODBMS should be placed -# _before_ -l$(CLHEP_LIB) -l$(RWLIB) - - LDLIBS += -loo_shar.4.02 -lHepODBMS -endif - CPPFLAGS += $(INCFLAGS) LDFLAGS += -L$(G4LIBDIR) -LDLIBS += $(LOADLIBS) G4TMPDIR := $(G4TMP)/$(G4SYSTEM)/$(G4TARGET) G4BINDIR := $(G4BIN)/$(G4SYSTEM) ifdef G4EXLIB -G4LIBDIR := $(G4TMPDIR) -LDFLAGS += -L$(G4LIBDIR) -include $(G4INSTALL)/config/common.gmk + G4LIBDIR := $(G4TMPDIR) + LDFLAGS += -L$(G4LIBDIR) + include $(G4INSTALL)/config/common.gmk +endif + +GLOBALLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.a && echo yes) + +ifdef LDLIBS + USER_DEFINED_LDLIBS := 1 +endif + +# Because of the script for granular libraries which replaces part of LDLIBS +# and because of the way user defined LDLIBS was augmented historically I +# have split LDLIBS into 4 parts... +# +ifndef USER_DEFINED_LDLIBS + +# LDLIBS1 contains the very high level libraries... +# +ifdef G4EXLIB + LDLIBS1 := -l$(G4TARGET) +endif + +# VISLIBS and UILIBS are now handles by the granular library script... +# +ifdef GLOBALLIBS + LDLIBS1 += $(VISLIBS) $(UILIBS) +endif + +ifdef G4ODBMS + LDLIBS1 += -lG4persistency +endif + +ifdef GLOBALLIBS + LDLIBS2 := -lG4readout \ + -lG4run \ + -lG4event \ + -lG4tracking \ + -lG4processes \ + -lG4particles \ + -lG4digits+hits \ + -lG4track \ + -lG4materials \ + -lG4geometry \ + -lG4graphics_reps \ + -lG4intercoms \ + -lG4global +else +# The next line specifically should read LDLIBS2 = , not LDLIBS2 :=, so +# that it is not expanded until the directory G4TMPDIR is created. + LDLIBS2 = $(shell \ + G4TMP=$(G4TMP); export G4TMP; \ + if [ \( -f $(G4LIB)/$(G4SYSTEM)/liblist \ + -a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \ + $(G4LIB)/$(G4SYSTEM)/liblist \ + -d $(G4TMPDIR) \ + < $(G4LIB)/$(G4SYSTEM)/libname.map; fi) +# Extra libraries to resolve remaining circular dependencies... +# LDLIBS2 += +endif + +# LDLIBS3 contains the first set of low level libraries... +# +LDLIBS3 += $(INTYLIBS) + +endif # ifndef USER_DEFINED_LDLIBS + +# LDLIBS4 contains the next set of low level libraries which historically +# (why?) the user is not supposed to be able to define... +# +ifdef G4ODBMS + LDFLAGS += -L$(OBJY_DIR)/lib \ + -L$(HEP_ODBMS_DIR)/lib + +# Note: -l$(OBJY_LDLIB) and -lHepODBMS should be placed +# _before_ -l$(CLHEP_LIB) -l$(RWLIB) + + LDLIBS4 += -l$(OBJY_LDLIB) -lHepODBMS +endif +ifdef G4USE_OSPACE + LDLIBS4 += $(OSPACELIBS) +endif + +LDLIBS4 += $(EXTRALIBS) +LDLIBS4 += $(LOADLIBS) + +# Finally assemble libraries... +# +ifdef USER_DEFINED_LDLIBS + LDLIBS_PREFINAL := $(LDLIBS) +else + LDLIBS_PREFINAL = $(LDLIBS1) $(LDLIBS2) $(LDLIBS3) +endif +LDLIBS_PREFINAL += $(LDLIBS4) + +ifeq ($(G4SYSTEM),WIN32-VC) + WIN32TMP := $(patsubst -L%,$(LIB_PATH)%,$(LDFLAGS)) + LDFLAGS = $(patsubst /,$(PATH_DEL),$(WIN32TMP)) + LDLIBS = $(patsubst -l%,lib%.a,$(LDLIBS_PREFINAL)) +else + LDLIBS = $(LDLIBS_PREFINAL) endif -LDLIBS += $(EXTRALIBS) sources := $(wildcard $(G4TARGET).cc) objects := $(patsubst %.cc,$(G4TMPDIR)/exe/%.o,$(sources)) dependencies := $(patsubst %.cc,$(G4TMPDIR)/exe/%.d,$(sources)) -.PHONY: bin clean clean_bin +LINK_DEPENDENCIES := $(G4TMPDIR)/exe/obj.last + +.PHONY: bin clean clean_bin debug # Make $(G4TARGET) executable. bin: $(G4BINDIR)/$(G4TARGET) -ifeq ($(G4SYSTEM),WIN32-VC-NICE) - WIN32TMP := $(patsubst -L%,$(LIB_PATH)%,$(LDFLAGS)) - LDFLAGS = $(patsubst /,$(PATH_DEL),$(WIN32TMP)) - LDLIBS := $(patsubst -l%,lib%.a,$(LDLIBS)) +$(G4BINDIR)/$(G4TARGET): $(LINK_DEPENDENCIES) +ifndef USER_DEFINED_LDLIBS + ifndef GLOBALLIBS + @echo "WARNING: This assumes you are using granular libraries!" + @echo "WARNING: It looked for your global library G4global and," + @echo " not finding it, assumes you are using granular" + @echo " libraries." + @echo "WARNING: If you did not intend this, interrupt now (CTRL-C)," + @echo " and go back and make global libraries, i.e.," + @echo ' cd $$G4INSTALL/source' + @echo " gmake global" + @if [ ! \( -f $(G4LIB)/$(G4SYSTEM)/liblist \ + -a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \ + echo "ERROR: No liblist program or library map file."; \ + echo " These are needed for building with granular"; \ + echo " libraries."; \ + echo ' cd $$G4INSTALL/source'; \ + echo " gmake"; \ + echo " or if you are sure you have already made all the"; \ + echo " granular libraries:"; \ + echo " gmake libmap"; \ + exit 1; fi + endif endif - -$(G4BINDIR)/$(G4TARGET): $(G4TMPDIR)/exe/obj.last @if [ ! -d $(G4BINDIR) ] ; then mkdir $(G4BINDIR) ;fi ifdef CPPVERBOSE $(CXX) $(CXXFLAGS) $(CPPFLAGS) \ - -o $(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) $(LDLIBS) + -o $(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) \ + $(LDLIBS) else @echo Linking $(G4TARGET) ... @$(CXX) $(CXXFLAGS) $(CPPFLAGS) \ - -o $(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) $(LDLIBS) + -o $(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) \ + $(LDLIBS) endif # Touch the versioning file @@ -197,13 +278,8 @@ $(G4TMPDIR)/exe/$(G4TARGET).d: $(G4TARGET).cc @if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi @if [ ! -d $(G4TMPDIR)/exe ] ; then mkdir $(G4TMPDIR)/exe ;fi @echo Making dependency for file $<... -ifeq ($(G4SYSTEM),Linux-g++) - @($(ECHO) -n $(G4TMPDIR)/exe/ ; \ + @($(ECHO) $(G4TMPDIR)/exe/\\c ; \ g++ -MM $(RWINCGPP) $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/exe/$*.o!& $@!' >$@ -else - @($(ECHO) $(G4TMPDIR)/\\c ; \ - g++ -MM $(RWINCGPP) $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/exe/$*.o!& $@!' >$@ -endif -include $(dependencies) clean: diff --git a/config/common.gmk b/config/common.gmk index 1f0fa55212..b291703031 100644 --- a/config/common.gmk +++ b/config/common.gmk @@ -1,4 +1,4 @@ -# $Id: common.gmk,v 2.7 1998/07/29 00:53:08 gcosmo Exp $ +# $Id: common.gmk,v 1.1 1999/01/07 15:58:32 gunter Exp $ # ---------------------------------------------------------------- # Common part of GNUmakefile for libraries. John Allison, 5/7/95. # ---------------------------------------------------------------- diff --git a/config/globlib.gmk b/config/globlib.gmk index 8e3a07f611..2bd8055f84 100644 --- a/config/globlib.gmk +++ b/config/globlib.gmk @@ -1,4 +1,4 @@ -# $Id: globlib.gmk,v 2.15 1998/12/11 00:40:21 gcosmo Exp $ +# $Id: globlib.gmk,v 1.2 1999/07/06 15:19:44 gunter Exp $ # -------------------------------------------------------------- # Script for compound libraries. Gabriele Cosmo, 25/6/98. # -------------------------------------------------------------- @@ -36,7 +36,7 @@ $(G4LIBDIR)/lib$(name).a: \ # # # - @if [ X$(G4SYSTEM) = XWIN32-VC-NICE ] ; i=NO; \ + @if [ X$(G4SYSTEM) = XWIN32-VC ] ; i=NO; \ then \ (( for lib in $(SUBLIBS); \ do ( if [ $$i = NO ]; \ diff --git a/config/interactivity.gmk b/config/interactivity.gmk index 709d5d1988..39fc6d38a5 100644 --- a/config/interactivity.gmk +++ b/config/interactivity.gmk @@ -11,7 +11,7 @@ # Other libraries -########################### OpenGL, Inventor ############ +########################### Inventor ############ # Should be before OpenGL. ifdef INC_IV @@ -23,15 +23,8 @@ ifdef LOAD_IV INTYLIBS += $(OIVLIBS) endif -ifdef INC_GL - CPPFLAGS += $(OGLFLAGS) -endif -ifdef LOAD_GL - INTYLIBS += $(OGLLIBS) -endif - ########################### OPACS ####################### -# X11 things must come after. +# OpenGL, X11 things must come after. ifdef INC_OPACS CPPFLAGS += -I$(COROOT)/include -I$(XXROOT)/include -I$(WOROOT)/include @@ -70,6 +63,15 @@ endif endif +########################### OpenGL ############################### + +ifdef INC_GL + CPPFLAGS += $(OGLFLAGS) +endif +ifdef LOAD_GL + INTYLIBS += $(OGLLIBS) +endif + ########################### Motif, Athena, X11 ################### # Motif raise X11 flags. diff --git a/config/liblist.c b/config/liblist.c new file mode 100644 index 0000000000..d6591c115a --- /dev/null +++ b/config/liblist.c @@ -0,0 +1,512 @@ +/* $Id: liblist.c,v 1.7 1999/07/02 12:27:38 stesting Exp $ */ + +/* +Given a "libname.map" file on standard input and a list or directory +of .d dependency files liblist produces: + a) without -l option, a library list ordered according to the libname.map, + giving a warning if conflicting dependencies are found in the .d files. + b) with -l option, another libname.map, ordered according firstly to the + original libname.map file, then reordered according to the dependencies + found in the .d files. This option is used for compiling the file + libname.map from all the dependencies. +The .d files are specfied in the argument(s). +The libname.map is on standard input. + +Usage: + liblist *.d < libname.map + liblist -d < libname.map + liblist -l *.d < libname.map + liblist -ld < libname.map + liblist -l -d < libname.map +where is a directory name of a directory which is recursively +searched for dependency files. + +Frank Behner, John Allison 13th February 1999. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define BUFSIZE 1000000 +#define TRIGSIZE 1000 +#define NLIBMAX 200 + +extern char *optarg; +extern int optind, opterr, optopt; + +char** parsedir(char *directory,int *argc) +{ + DIR *actualdir; + FILE *actualfile; + struct dirent *entry; + char *buffer=0; + struct stat status; + char **targv=0,**ptr,**phelp; + int len,targc,s; + + /*Open the actual directory*/ + actualdir=opendir(directory); + + /*Loop over all entries */ + for(entry=readdir(actualdir);entry!=NULL;entry=readdir(actualdir)) + { + /* Throw away . and .. */ + if(strcmp(entry->d_name,".")==0 || + strcmp(entry->d_name,"..")==0) continue; + /* Obtain the status information of that entry */ + if(buffer) free(buffer); + buffer=(char*) malloc((strlen(directory)+ + strlen(entry->d_name)+2)*sizeof(char)); + strcpy(buffer,directory); + strcat(buffer,"/"); + strcat(buffer,entry->d_name); + s=stat(buffer,&status); + if(s==0) + { + if(S_ISDIR(status.st_mode)) + { + /* a directory, so we are going recursive*/ + targc=0; + ptr=parsedir(buffer,&targc); + if(targc) + { + phelp=targv; + targv=(char**) malloc((*argc+targc)*sizeof(char*)); + memcpy(targv,phelp,*argc*sizeof(char*)); + memcpy(&targv[*argc],ptr,targc*sizeof(char*)); + *argc+=targc; + free(phelp); + free(ptr); + } + } + else if(S_ISREG(status.st_mode)) + { + /* a regular file is it .d? */ + len=strlen(entry->d_name); + if(entry->d_name[len-2]=='.' && entry->d_name[len-1]=='d') + { + phelp=targv; + targv=(char**) malloc((*argc+1)*sizeof(char*)); + memcpy(targv,phelp,*argc*sizeof(char*)); + targv[*argc]=strdup(buffer); + (*argc)++; + free(phelp); + } + } + } + else + perror(" No status"); + } + + if(buffer) free(buffer); + closedir(actualdir); + + return targv; +} + + +int main (int argc, char** argv) { + + char buffer[BUFSIZE],*bufferPtr,workbuf[256]; + char *ptr,*p,**pp,**pp1,**pp2,*directory=0; + char **rargv; + int i,optl=0,swapping,c,rargc; + FILE *fp; + +#ifdef _WIN32 + char *ntg4tmp=0,*ntg4tmp1=0; + int nti; +#endif + + struct libmap_ + { + char *lib; + char *trigger; + int used; + char **uses; + struct libmap_ *next; + }; + + struct libmap_ *libmap=0,*libmapPtr=0,*libmapPtr1=0,*libmapPtr2=0, + *prevPtr1,*prevPtr2,*tmpp,*userLibmapPtr; + + while((c=getopt(argc,argv,"ld:"))!=EOF) + { + switch(c) + { + case 'l': + optl=1; + break; + case 'd': + directory=strdup(optarg); + break; + } + } + + /*Adjust parameters after parsing options */ + + if(optindnext) + { + if(strcmp(libmapPtr1->lib,ptr)==0) + { + fprintf(stderr," ERROR: Duplicate library name: %s\n",ptr); + fprintf(stderr, + " Perhaps a duplicate subdirectory with" + " a GNUmakefile with the same library name.\n" + ); + exit(1); + } + } + + if(libmap) + { + libmapPtr->next=(struct libmap_*) malloc(sizeof(struct libmap_)); + libmapPtr=libmapPtr->next; + } + else /* First time through anchor libmapPtr to libmap. */ + { + libmap=(struct libmap_*) malloc(sizeof(struct libmap_)); + libmapPtr=libmap; + } + libmapPtr->next=0; + libmapPtr->lib=strdup(ptr); + libmapPtr->used=0; + libmapPtr->uses=(char**)calloc(NLIBMAX,sizeof(char*)); + + /* If option -l not specified, fill uses list... */ + if(!optl) + { + pp=libmapPtr->uses; + if(ptr) + { + ptr=strtok(NULL," \n"); + while (ptr) + { + *pp=strdup(ptr); + pp++; + ptr=strtok(NULL," \n"); + } + } + } + + /* Get directory name... */ + gets(buffer); + ptr=strtok(buffer,"/"); + if(!ptr) + { + fprintf(stderr," ERROR: \"/\" before \"source\" expected.\n"); + exit(1); + } + while(ptr&&strcmp (ptr,"source"))ptr=strtok(NULL,"/"); + ptr=strtok(NULL,"/"); + if(!ptr) + { + fprintf(stderr," ERROR: \"source\" expected.\n"); + exit(1); + } + libmapPtr->trigger=(char*)malloc(TRIGSIZE); + strcpy(libmapPtr->trigger,ptr); + ptr=strtok(NULL,"/"); + while(ptr&&strcmp(ptr,"GNUmakefile")) + { + strcat(libmapPtr->trigger,"/"); + strcat(libmapPtr->trigger,ptr); + ptr=strtok(NULL,"/"); + } + if(!ptr) + { + fprintf(stderr," ERROR: \"source//GNUmakefile\" expected.\n"); + exit(1); + } + } + + if(optl)fprintf(stderr," Reading dependency files...\n"); + +#ifdef _WIN32 + ntg4tmp=getenv("G4TMP"); + if ( ! ntg4tmp ) + { + fprintf(stderr," ERROR: Cannot find environment variable G4TMP\n"); + exit(1); + } + ntg4tmp1=strdup(ntg4tmp); +#endif + + for(i=0;inext) + { + strcpy(workbuf,libmapPtr->lib); + /* Add trailing "/" to distinguish track/ and tracking/, etc. */ + strcat(workbuf,"/"); + if(strstr(ptr,workbuf)) break; + } + if(libmapPtr) + { + userLibmapPtr=libmapPtr; + } + else + { + userLibmapPtr=0; + } + + /* Look for a "used" library and add it to the "user" uses list... */ + do + { + for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next) + { + strcpy(workbuf,libmapPtr->trigger); + strcat(workbuf,"/include"); + ptr=strstr(buffer,workbuf); + if(ptr) + { + libmapPtr->used=1; + if(userLibmapPtr) + { + for(pp=userLibmapPtr->uses;*pp;pp++) + { + if(strcmp(*pp,libmapPtr->lib)==0)break; + } + if(!*pp)*pp=libmapPtr->lib; + } + } + } + fgets(buffer,BUFSIZE,fp); + +#ifdef _WIN32 + while ( ptr=strchr(buffer,'\\') ) *ptr='/'; + + while (ntg4tmp1 && (ptr=strstr(buffer,ntg4tmp1)) ) + { + for(nti=0;ntinext) + { + for(pp=libmapPtr->uses;*pp;pp++) + { + for(libmapPtr1=libmap;libmapPtr1!=libmapPtr; + libmapPtr1=libmapPtr1->next) + { + if(strcmp(libmapPtr1->lib,*pp)==0) + { + for(pp1=libmapPtr1->uses;*pp1;pp1++) + { + if(strcmp(*pp1,libmapPtr->lib)==0)break; + } + if(*pp1) + { + fprintf + (stderr, + " WARNING: %s and %s use each other.\n", + libmapPtr->lib, + libmapPtr1->lib); + } + } + else + { + /* Not right yet... + for(pp1=libmapPtr1->uses;*pp1;pp1++) + { + for(libmapPtr0=libmap;libmapPtr0!=libmapPtr1; + libmapPtr0=libmapPtr0->next) + { + if(libmapPtr0==*pp) + { + fprintf + (stderr, + " WARNING: triangular dependecy:\n" + " %s uses %s uses %s uses %s.\n", + libmapPtr->lib, + libmapPtr1->lib, + libmapPtr0->lib, + libmapPtr->lib); + } + } + } + */ + } + } + } + } + + fprintf(stderr," Reordering according to dependencies...\n"); + do + { + swapping=0; + prevPtr2=0; + for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next) + { + for(pp=libmapPtr->uses;*pp;pp++) + { + prevPtr1=0; + for(libmapPtr1=libmap;libmapPtr1!=libmapPtr; + libmapPtr1=libmapPtr1->next) + { + if(strcmp(libmapPtr1->lib,*pp)==0) + { + /* Check that 1st doesn't use 2nd... */ + for(pp1=libmapPtr1->uses;*pp1;pp1++) + { + if(strcmp(*pp1,libmapPtr->lib)==0)break; + } + if(!*pp1) /* If not... */ + { + swapping=1; + /* Make previous of 1st now point to 2nd... */ + if(prevPtr1) + { + prevPtr1->next=libmapPtr; + } + else + { + libmap=libmapPtr; + } + /* Make 2nd now point to what 1st did, unless + it's adjacent, in which case make it point + to 1st itself... */ + tmpp=libmapPtr->next; + if(libmapPtr1->next==libmapPtr) + { + libmapPtr->next=libmapPtr1; + } + else + { + libmapPtr->next=libmapPtr1->next; + } + /* Make previous of 2nd point to 1st, unless + it's adjacent, in which case leave it... */ + if(libmapPtr1->next!=libmapPtr) + { + prevPtr2->next=libmapPtr1; + } + /* Make 1st now point to what 2nd did... */ + libmapPtr1->next=tmpp; + break; + } + } + prevPtr1=libmapPtr1; + } + if(swapping)break; + } + prevPtr2=libmapPtr; + if(swapping)break; + } + }while(swapping); + + fprintf(stderr," Writing new library map file...\n"); + for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next) + { + printf("%s:",libmapPtr->lib); + for(pp=libmapPtr->uses;*pp;pp++) + { + printf(" %s",*pp); + } + printf("\n"); + printf("source/%s/GNUmakefile\n",libmapPtr->trigger); + } + } + else + { + /* Add dependent libraries... */ + for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next) + { + if(libmapPtr->used) + { + for(pp=libmapPtr->uses;*pp;pp++) + { + for(libmapPtr1=libmap;libmapPtr1;libmapPtr1=libmapPtr1->next) + { + if(strcmp(libmapPtr1->lib,*pp)==0) + { + libmapPtr1->used=1; + } + } + } + } + } + + /* Write out library list... */ + for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next) + { + if(libmapPtr->used) + { + printf("-l%s ",libmapPtr->lib); + } + } + } + + exit(0); + +} diff --git a/environments/History b/environments/History index d7588cd849..a114858804 100644 --- a/environments/History +++ b/environments/History @@ -1,4 +1,4 @@ -$Id: History,v 2.10 1998/12/11 20:26:05 allison Exp $ +$Id: History,v 1.3 1999/05/20 10:13:46 johna Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,17 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +envs-01-00-02 20th May 1999 John Allison +- Only OPACS and History tagged. +- Archived Momo (cvs remove) which puts it in the Attic. Can be retrieved + with cvs update -D 990519 environmants/Momo. +- OPACS development (Guy). +- XVT not currently under development. + +envs-00-04-01 7th January 1999 hajime Yoshida +- New Momo with make capabilities along with library selection +- GGEmake updated for the latest g++ (egcs-1.1) envs-00-04-01 11th December 1998 Hajime Yoshida Masayasu Nagamatu - The latest version of GGE, the whole *.java, *.class and example files committed diff --git a/environments/Momo/.Momoext b/environments/Momo/.Momoext deleted file mode 100644 index fb5fc7e208..0000000000 --- a/environments/Momo/.Momoext +++ /dev/null @@ -1,26 +0,0 @@ -#Momo Plug-in example -# An example of Momo/Tcl Plug-in -#1998 July 20 H Yoshida - -# A line starting with # is a comment line. -# An empty line is ignored. -# Momoseparator is a separation line between menu items. -# Any Unix X-window applications can be invoked by describing -# the command name and associated arguments. -# See the example below. -# Commands are executed in the background. -# But & is not necessary at the end of a line. - -java gge -#java gag - -xclock - -Momoseparator -xterm - -Momoseparator -netscape - - - diff --git a/environments/Momo/.Momorc b/environments/Momo/.Momorc deleted file mode 100644 index 5462655b19..0000000000 --- a/environments/Momo/.Momorc +++ /dev/null @@ -1,5 +0,0 @@ -FONT -adobe-courier-bold-r-normal--14-100-100-100-m-90-iso8859-1 -GUI_STYLE horizontal -GUI_POSITION left -FORE_GROUND_COLOR #000000000 -BACK_GROUND_COLOR #b5bfffa3c diff --git a/environments/Momo/G4UIGAG.history b/environments/Momo/G4UIGAG.history deleted file mode 100644 index 0159abd76d..0000000000 --- a/environments/Momo/G4UIGAG.history +++ /dev/null @@ -1,73 +0,0 @@ - History file for the G4UIGAG class - - -4 Dec 1998 -- ready for release - - java GAG and Tcl/tk GAG are protected against G4binary with - G4UIterminal session. They terminate the execution of - the G4binary and become ready to run other G4binaries - with G4UIGAG session. - - - The above is associated with minor modification (only one line) - in G4UIterminal.cc - - - many cosmetic changes, specially for Java GAG - - - JDK1.2 version is yet to come. - - - G4UIGAG is now completely equivalent with G4UIterminal in - the terminal mode. Including Help functions. - -20 Aug -- Beta-01 - -6 July 1998 -- ready for beta - -July , 1998 --@@Ask is introduced. G4UIGAG does nothing and simply passes it to -GAG. - -July, 1998 - -- bug fixed. (uiMode == terminal_mode) - -Apr 15, 98 -- sendDisableList() is fully implemented. Now the command is properly - disabled when the state transition occurs. - The state transition is detected only when entering the interaction loop - such as {preInit, Idle} state. This limitation comes from our design - choice to avoid any overhead when the beam is on. -- modified the showCurrent() to open an error message window if the - current value is not properly set. The "@@ErrResult" protocol is used. - -Apr 14, 98 -- fixed the "hang" bug when the current value is asked. The showCurrent() - is modified to handle the embedded null string of the current value. - -Apr 06, 98 -- renamed getRangeString() to getRange() - -March 26, 98 -- minor bug fix for the help command, terminalHelp() is modified. - -March 16, 98 -- bug fix for the Disable list. -- This is the stable version because the functionality is tested using a - check list. - -March 13, 98 -- handles the parameter update of each command, such as "on the fly" - updation of the candidate list -- handles the dynamic menu reconfigration using /test/installVis command - -March 12, 98 -- change the specification of @@PROMPT and @@State -- added internal routines such as "sendATclParamProperty()" -- send the range string of G4UIcommand - -March 10, 98 -- modify to send the protocol version string (@@Version) of GAG -- send the disable list (ad hoc version to test GUI) -- send the attributes of command/parameter even if it is not defined - diff --git a/environments/Momo/GGEmake/DrawDAWN.g4m b/environments/Momo/GGEmake/DrawDAWN.g4m deleted file mode 100644 index 7884e1a237..0000000000 --- a/environments/Momo/GGEmake/DrawDAWN.g4m +++ /dev/null @@ -1,10 +0,0 @@ -#GGE draw macro -/vis~/create_view/new_graphics_system DAWN -/vis~/camera/viewpoint 60. 30. -/vis~/camera/zoom 2 -/vis~/set/drawing_style 2 -/vis~/set culling on -/vis~/set/cull_by_density on 0.01 -/vis~/draw/current -/vis~/draw/axes 0 0 0 10000 mm -/vis~/show/view diff --git a/environments/Momo/GGEmake/DrawDAWNFILE.g4m b/environments/Momo/GGEmake/DrawDAWNFILE.g4m deleted file mode 100644 index ee492a932a..0000000000 --- a/environments/Momo/GGEmake/DrawDAWNFILE.g4m +++ /dev/null @@ -1,10 +0,0 @@ -#GGE draw macro -/vis~/create_view/new_graphics_system DAWNFILE -/vis~/camera/viewpoint 60. 30. -/vis~/camera/zoom 2 -/vis~/set/drawing_style 2 -/vis~/set culling on -/vis~/set/cull_by_density on 0.01 -/vis~/draw/current -/vis~/draw/axes 0 0 0 10000 mm -/vis~/show/view diff --git a/environments/Momo/GGEmake/DrawOGLIX.g4m b/environments/Momo/GGEmake/DrawOGLIX.g4m deleted file mode 100644 index 87d7da70f7..0000000000 --- a/environments/Momo/GGEmake/DrawOGLIX.g4m +++ /dev/null @@ -1,10 +0,0 @@ -#GGE draw macro -/vis~/create_view/new_graphics_system OGLIX -/vis~/camera/viewpoint 60. 30. -/vis~/camera/zoom 2 -/vis~/set/drawing_style 2 -/vis~/set culling on -/vis~/set/cull_by_density on 0.01 -/vis~/draw/current -/vis~/draw/axes 0 0 0 10000 mm - diff --git a/environments/Momo/GGEmake/GNUmakefile b/environments/Momo/GGEmake/GNUmakefile deleted file mode 100644 index 3616105383..0000000000 --- a/environments/Momo/GGEmake/GNUmakefile +++ /dev/null @@ -1,17 +0,0 @@ -# $Id: GNUmakefile,v 1.2 1998/11/12 10:49:50 yhajime Exp $ -# -------------------------------------------------------------- -# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. -# -------------------------------------------------------------- - -name := myDetector -G4TARGET := $(name) -G4EXLIB := true - -ifndef G4INSTALL - G4INSTALL = ../../.. -endif - -.PHONY: all -all: lib bin - -include $(G4INSTALL)/config/binmake.gmk diff --git a/environments/Momo/GGEmake/GNUmakefile.light b/environments/Momo/GGEmake/GNUmakefile.light deleted file mode 100644 index 8e15abd0d2..0000000000 --- a/environments/Momo/GGEmake/GNUmakefile.light +++ /dev/null @@ -1,37 +0,0 @@ -# $Id: GNUmakefile.light,v 1.2 1998/11/12 10:49:52 yhajime Exp $ -# -------------------------------------------------------------- -# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. -# -------------------------------------------------------------- - -name := exampleN01 -G4TARGET := $(name) -G4EXLIB := true - -ifndef G4INSTALL - G4INSTALL = ../../.. -endif - -LDLIBS := \ - -l$(G4TARGET) \ - -lG4run \ - -lG4event \ - -lG4tracking \ - -lG4bosons \ - -lG4partman \ - -lG4transportation \ - -lG4procman \ - -lG4track \ - -lG4materials \ - -lG4digits+hits \ - -lG4csg \ - -lG4geometrymng \ - -lG4volumes \ - -lG4magneticfield \ - -lG4graphics_reps \ - -lG4intercoms \ - -lG4global - -.PHONY: all -all: lib bin - -include $(G4INSTALL)/config/binmake.gmk diff --git a/environments/Momo/GGEmake/History b/environments/Momo/GGEmake/History deleted file mode 100644 index cb47307881..0000000000 --- a/environments/Momo/GGEmake/History +++ /dev/null @@ -1,23 +0,0 @@ -$Id: History,v 1.2 1998/11/12 10:49:54 yhajime Exp $ -------------------------------------------------------------------- - - ========================================================= - Geant4 - an Object-Oriented Toolkit for Simulation in HEP - ========================================================= - - Example N01 History file - ------------------------ -This file should be used by the G4 example coordinator to briefly -summarize all major modifications introduced in the code and keep -track of all tags. - - ---------------------------------------------------------- - * Reverse chronological order (last date on top), please * - ---------------------------------------------------------- - -May 07, 98 M.Asai -- First commitment of all classes. - -April 09, 98 G. Cosmo - -- Created. diff --git a/environments/Momo/GGEmake/README b/environments/Momo/GGEmake/README deleted file mode 100644 index d12b580674..0000000000 --- a/environments/Momo/GGEmake/README +++ /dev/null @@ -1,433 +0,0 @@ - README of GGE; GEANT4 Geometry Editor - - 1998 Oct. 15 - 1998 Sep. 24 - 1998 Sep. 10 - 1998 Aug. 31 - Hajime YOSHIDA - Naruto University of Education - -1) Introduction - - GGE, GEANT4 Geometry Editor, is a visual tool to "create" a -detector geometry after GEANT4's. - -It provides users with tables -into which users can fill with their detector parameters. After the -data in the tables, GGE creates C++ source codes for a detector. -When a user uses default functions of GGE, C++ codes generated by GGE is a complete -description of a detector, including the definition of atoms, materials, solids, color attributes, -logical volumes and physical volumes with rotations and translations. -The C++ source codes are saved into files and can be compiled to make a GEANT4 executable. -A minimum set of files for the GEANT4 managers to visualise the detector as well as -a GNUMakefile are provided for that. - -GAG is helpful to have a visualization of the whole detector. -Simple macro files are associated, too, for visualisation. - - GGE consists of two editors (material and volume) which are -interrelated upon users' request. Volume editor provides Single -Positioned Volume, Repeated Volumes with incremental copy numbers -(translational arrangement or axially symmetric arrangement), Replicas (in any axis) -and Parametrized volumes(not yet). - -GGE is based on Java's MVC model, or Swing so that any change or input to the tables by a user -are automatically reflected to the internal data structure of GGE and C++ codes. - -2) Functions of GGE - - 2.1) Material Editor - a) implemented in this version - - + append, insert, edit and delete a material - + material from scratch - + material by combination (number or fractional ratios) - + periodic table of atoms automatically popped up to create a material - + default states are provided (material state, temperature, pressure) - + canonical physical units in GEANT4 selectable from a combobox - - + "in Use" mark for materials used in user's detector - + materials used in the logical volumes are automatically made "in Use". - + user can add any materials "in Use" to have C++ constructors - - + persistent material file - + load, append or save a material file - + an exemplary persistent material database file "MaterialDB.g4mt" from the PDG - - b)not yet implemented - - - material from materials (coming soon) - - isotope (planned) - - protection from duplicated "in Use" instances of the same materials. - - 2.2) Volume Editor ; logical and physical volumes - - a)implemented - - + G4Solids - + CSG solids - + G4box, G4tubs, G4cons, G4trd - + parameters and canonical units - + preview with DAWN (automatically chosen world size) - + BREPs - + Pcone, Pgon - + any number of nodes and facets with parameters and canonical units - + preview with DAWN (automatically chosen world size) - + G4LogicalVolume - + create, delete a logical volume - + Its name, G4Solid, material, visualization attributes - + selectable G4Solid among the above candidates - + type-in materials name (drag and drop is planned) - + Color Chooser to specify visualization attribute (color and its name) - + Used materials link to material DB - - + G4PVPlacement ; arrangement of physical volumes - + Type 1 constructor = rotation of the frame, physical mother volume - + Type 2 constructor = rotation of a body, physical mother volume - + Type 3 constructor = rotation of the frame, logical mother volume - + Type 4 constructor = rotation of a body, logical mother volume - - + Single Positioned Volume (SPV) - + mother volume is either - null(Master Reference System), logical or physical - + MARS is constructed first in C++ code. - + translation in the X, Y or Z direction (default is no translation) - + rotation around X, Y or Z axis with an angle (frame or body) - - + Repeated Volumes with incremental copy numbers (RVArrangement) - + translational arrangement of any number of copies of a logical volume - + placements in the X, Y or Z direction - + the position of the first copy and incremental step size - + with respect to a logical or physical mother volume - + axially symmetric arrangement - + rotational axis is parallel to X, Y or Z axis - + rotation of the frames or a body - + position of the center of axial symmetry - + radius of axially symmetric arrangement - + starting angle and incremental step angle with number of copies - + logical or physical mother volume - - + Replica - + replication in the X, Y or Z direction - + replication in rho, phi or Z direction - + width (in length or angle) and number of replicas - + offset (in length or angle) - + logical or physical mother volume - - b)to be implemented - - - other CSG solids - - - paremetrised volumes - - linear scaling - - linear rotation - - 2.3) Generation of C++ code ; "MyDetectorConstruction.cc" - - a) implemented - + C++ code is output to a editor widget - + necessary header files are automatically included - + save the file with a file chooser - + order of creating instances; - G4Elements, G4Material, G4VisAttributes, G4Solids, G4LogicalVolume, - Single Positioned Volumes, Repeated Volumes, Replicas - x order of instantiation inside each section is decided by GGE user, - except MARS - + return the instance name of the MARS - - b)not implemented - - automatic correct ordering of constructors of volumes - - - 2.4) GGEmake; a directory containing the GEANT4 codes to compile and visualize the detector - a) implemented - + GNUmakefile - + myDetector.cc ; main() with GAG session and visualization manager - + src/ directory contains - + MyDetectorConstruction.cc - + MyPhysicsList.cc - + MyPrimaryGeneratorAction.cc - + MyVisManager.cc - + include/ directory - - 2.5) compile and visualize with Momo and GAG - - a) implemented - - + canonical scheme of GEANT4 to compile - + make G4TARGET=myDetector - + the binary is created as $G4INSTALL/bin/G4SYSTEM/myDetector - - + Momo (GAG, Compile and GGE buttons) - + rapid cycling of GGE and GAG to edit and view the geometry - + a macro file for visualization (OGLIX default) "DrawDAWN.g4m", etc.. - - b) not implemented - - automatic "calibration" of the detector with geantino - - 2.6) exemplary persistent detector files with *.g4dt suffix - + 3D array of lead plates using translational RVArrangement - + BREP Pcones trumpetss using axially symmetric RVArrangement - + Replicas to form cylinders - -------------------------------------------------------------------------- - -3) Installation - -The minimum set to get C++ source code - 1) GGE.jar file - 2) Java interpreter ; java -Additional set to compile - 3) GEANT4 toolkit with compiled libraries - 4) GGEmake directory -Additional set to visualise and use GUI - 4) DAWN (plus Ghostview) or OGLIX or VRML - 5) GAG (Java version) or GAG.jar file -Additional too to make life easy - 6) Momo to use all the above ingredients; Momo.jar file - (without Momo, you have to invoke GGE, compile and GAG respectively in windows.) - -3.1) Java and Swing -We have tested GGE on Unix-en (Linux and Solaris) and Windows (95/NT). - - 3.1.1) Unix: - - + Linux: jdk1.1.3 or later(i.,e., jdk-1.1.6) + Swing-1.0.2 - 1) jdk1.1.5 may have bugs, while jdk1.1.6 works - 2) GGE co-works with Swing-1.0.2 and not with 1.0.1 (or maybe not - with 1.0.3). - 3) we are testing the current GGE with JRE1.2-beta04. The present source can be - compiled but doesn't execute correctly. In any case - Sun has announced on 17 August that JDK1.2 will be delayed - till November!! - + Solaris: jdk1.1.6 + swing-1.0.2 - - - We assume that you have - 1)jdk1.1.6/bin/java (Java interpreter) to which paths are set - 2)Swing-1.0.2 which is defreezed and placed in $HOME/swing/swingall.jar - - 3.1.2) Windows: - - We use JBuilder2 with Swing-1.0.2. Note that you have to - eliminate all other libraries than swing-1.0.2, after having - copied it into JBuilder2. - - We are trying JDK1.2beta4 + JRE1.2 with JBuilder2. - - NOTE! At present we have not Momo/GAG for Windows. So, - you can only create C++ code under the Windows. - -3.2) GGE and related files -The latest product of GGE is that of Sep. 24. -All *.java, *.class and GGE.jar files are placed in - geant4beta/environments/Momo/java/Momo/GGE - -Only "GGE.jar" file is necessary to run GGE. - - GGE/*.java GGE source files - GGE/*.class GGE byte code files - GGE/GGE.jar jar archive file to which CLASSPATH must be set - GGE/*.g4mt material database after PDG data - GGE/*.g4dt exampleN0x detector file -C++ source codes and GNUmakefiles to compile with GEANT4 are placed in - geant4beta/environments/Momo/GGEmake. - -Only geantino is instantiated in the initialization of GEANT4, so that it is quite -rapid to have a visualization of the geometry. You can choose DAWN, OpenGL or VRML system. - - GGEmake/myGGEdetector.cc main() program - /GNUmakefile - /src - /src/MyDetectorConstruction.cc C++ generated by GGE - /src/MyPrimaryGeneratorAction.cc geantino gun - /src/MyVisManager.cc DAWN, DAWNFILE, OGLIX, OGLSX, VRML1, VRML1FILE - /src/MyPhysicsList.cc geantino definition - /include/*.hh - /GGEdraw.g4m default macro file to visualize with OGLIX - -3.3) install, setenv and run - - %set path=($path jdk1.1.6/bin) <=== add the path to java and javac - %setenv CLASSPATH .:$HOME/swing/swingall.jar:$HOME/geant4beta/environments/Momo/java/Momo/GGE/GGE.jar - - - Then in any directory, you can invoke GGE. - - %java gge - - -3.4) DAWN, Tcl/Tk and Postscript for the preview of CSG or BREP solids - If you don't use GGE's preview button, these are not necessary. - - If you want to preview G4Solids, you have to install -DAWN, Fukui renderer as well as Tcl/Tk wish (Tcl/Tk 8.0) for its GUI. -DAWN uses also Postscript to draw *.prim files. - -For the visualization of the whole detector, DAWN or Mesa (for OGLIX) -are necessary. - -3.5) GEANT4 toolkit and its environments -The visualization manager instantiates DAWN, DAWNFILE, OPENGLIX, -OPENGLSX, VRML, VRMLFILE. So, you have to setenv accordingly. - -4) A First Lesson; how to use GGE. - -Here is a walk-through of how to use GGE. - -4.1) Visualize the prefabricated detector sample - 1) In a xterm, type %java gge - 2) In the "Volume window", select "Load a Volume file" menu - and double click on "trumpetBREP.g4dt" - 3) Click "Makesource" and select "Make C++ code". Have a look of the generated C++ code. - 4) Save the C++ code (overwrite the existing one) - in .../GGEmake/src/MyDetectorConstruction.cc" using the file chooser. - 5) In another xterm, go to the directory GGEmake/ and type - %make G4TARGET=myGGEdetector - - Watch if there is any compilation error. At present, - GGE is made so that it generates correct C++ codes, - if a user uses GGE correctly. - - In the example of "trumpetBREP.g4dt", a few warnings are shown on BREP. - 6) Check that you have "myGGEdetector" executable, in $(G4INSTALL)/bin/$(G4SYSTEM) - 7) In another xterm, type - %java gag - - and with the "Run GEANT4" button, choose and run "myGGEdetector". - 8) Use /control/execute command and double click on "GGEdraw.g4m". - To have a better view, use vis~ commands (camera/viewpoint, zoom etc). - You can select DAWNFILE to draw and have a PS hardcopy. - -4.2) Modify the prefabricated detector - Now let's change the detector configuration. Go to the "Volume" window - and change any part of it, including material. - -4.2.1) Changing materials - - 1) First, you have to "Clear Material" in the Material editor. - 2) Then, select "Load material" and double click on "MaterialDB.g4mt". - Now you have a list of materials. - 3) Then, in the "Logical Volume" panel, double click the box you want to change - and type in the name of the material in the material editor. - 4) Change as many materials as you like and push "Used Material" button. - You see that materials you have typed in are marked "Used" in red. - If not, you might have mistyped the name of a material. - 5) If you want to use additional materials, select "Use" in the material - editor (the leftmost column). - 6) Push "Makesource" and see your change has been realized in the C++ code. - - NOTE!! Be careful that there are no duplicated "Used" materials, when - you load the material DB without "Clear Material". - -4.2.2) Modifying the size parameters of solids - - To change the sizes of G4 solids - 1) click a "solid" box of the logical volume of your choice. - 2) You have a pop-up window to edit the parameters. Change a parameter - or its unit, as you like. - 3) Push "Makesource" and see if your changes have been correctly applied - to C++ code. - 4) In case of BREP solids, the pop-up window has variable number of columns - to accept any number of nodes. - 5) For complicated solids like BREPs, preview may be useful. Click "View" - button and you have a view with the DAWN renderer. Its g4.prim file - is also shown in an edit-able widget. - -4.2.3) Changing the type of solid of an existing logical volume - You may want to replace the current G4Solid with another one. In the - present GGE you can't do so directly. You have to "Create" a new logical - volume with the type of solid you want and then delete the unnecessary volume. - - 1) Choose your new solid with "Select Solid" combo-box. - 2) Push "Create" button and you have a pop-up window to input parameters. - 3) Type in numbers and select their units. - 4) Preview if you like and then push "OK". - 5) Check the C++ code. - -4.2.4) Changing visualization attributes (Color). - 1) You have to "Create" a new VisAttributes - 2) Upon the "Create" button, you have a Color Chooser. - 3) Select RGB (not HSV). Set your color with slide-bars. - 4) Give it a name, and push "OK". Then you have a color circle and name in the - VisAttrib panel. - 5) Edit the VisAtb box in the LogicalVolume panel. - 6) See the C++ code. - -4.2.5) Changing Repeated Volumes - - - - -"exampleN01.g4dt" contains three "single positioned volumes" - and one "repeated volumes" in the X direction. - Change the parameter of repetition such as the number - or width, or you can add another "repeated volumes" - in another direction. - - In "trumpetBREP.g4dt" you can edit BREPs, adding new faces etc.. - - b) making C++ code "MyDetectorConstruction.cc" and compile. - - Finally, back to the step 3 and recompile. - - - Opening GGE, compile, GAG simultaneously, you can - test and improve the geometry, just like creating - HTML or TeX documents. - - -4) Naming conventions in GGE - - Knowledge of GGE's naming convention is helpful to read the generated C++ code as -well as using GGE correctly. - - 4-1) Elements and materials - - a) Elements are named "elementXXX", where XXX stands for the - element's symbol in the periodic table. - b) materials are named just as you have typed in the second column - of the material window. - - 4-2) solids and logical volumes - The "Name" typed in the first (leftmost) column of the "Logical Volume" - is used to name the corresponding solid. If the name "world" is given - to a logical volume of a Box, the G4Solid has an instance "solidworld". - 4-3) logical and physical volumes - The instance of a physical volume defined by "pName" has a name prefixed - with "physical", i.,e., instance's name is "physical" + pName ( + => - string concatenation). "logical" is added to the instance of a logical - volume. - In case of SPV (single positioned volume), the columns "pName" (instance of - physical volume) and "pLogical" may have the same strings. - - In case of RVA (repeated volumes arrangement), "pName" is different from - "pLogical" whose copies are repeatedly placed. - - 4-4) All variables are named after their proper instances. - See for example, the control variable used in the for loop in the - RVA. - - Another examples are arrays to define BREP geometry. -5) Default values and combo-boxes - - -5.1) Default optional values of materials - GGE provides default values in a pre-filled columns or with the - combo-boxes. "Use", "State" and "Unit" columns are equipped with - combo-boxes. Temperature and pressure column are pre-filled with - 273.15 * kelvin and 1 * atmosphere. -5.2) Default values in volumes - "Mother Type" is either NULL (mother of all), logical (type 2, 4 constructors) - or physical (type 2 or 4 constructors) in G4PVPlacement. - - - - - - - - - - - diff --git a/environments/Momo/GGEmake/include/MyDetectorConstruction.hh b/environments/Momo/GGEmake/include/MyDetectorConstruction.hh deleted file mode 100644 index dc76b9431a..0000000000 --- a/environments/Momo/GGEmake/include/MyDetectorConstruction.hh +++ /dev/null @@ -1,31 +0,0 @@ -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// $Id: MyDetectorConstruction.hh,v 1.2 1998/11/12 10:50:05 yhajime Exp $ -// GEANT4 tag $Name: geant4-00 $ -// - -#ifndef MyDetectorConstruction_H -#define MyDetectorConstruction_H 1 - -class G4VPhysicalVolume; - -#include "G4VUserDetectorConstruction.hh" - -class MyDetectorConstruction : public G4VUserDetectorConstruction -{ - public: - MyDetectorConstruction(); - ~MyDetectorConstruction(); - - public: - G4VPhysicalVolume* Construct(); - -}; - -#endif - diff --git a/environments/Momo/GGEmake/include/MyPhysicsList.hh b/environments/Momo/GGEmake/include/MyPhysicsList.hh deleted file mode 100644 index 7a72b813a3..0000000000 --- a/environments/Momo/GGEmake/include/MyPhysicsList.hh +++ /dev/null @@ -1,47 +0,0 @@ -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// $Id: MyPhysicsList.hh,v 1.2 1998/11/12 10:50:06 yhajime Exp $ -// GEANT4 tag $Name: geant4-00 $ -// -// -// -// ExN01PhysicsList -// Construct/define particles and physics processes -// -// Particle defined in ExampleN01 -// geantino -// -// Process defined in ExampleN01 -// transportation -// - -#ifndef MyPhysicsList_h -#define MyPhysicsList_h 1 - -#include "G4VUserPhysicsList.hh" -#include "globals.hh" - -class MyPhysicsList: public G4VUserPhysicsList -{ - public: - MyPhysicsList(); - ~MyPhysicsList(); - - protected: - // Construct particle and physics process - void ConstructParticle(); - void ConstructProcess(); - void SetCuts(G4double cut); - -}; - -#endif - - - - diff --git a/environments/Momo/GGEmake/include/MyPrimaryGeneratorAction.hh b/environments/Momo/GGEmake/include/MyPrimaryGeneratorAction.hh deleted file mode 100644 index bc97da0fb7..0000000000 --- a/environments/Momo/GGEmake/include/MyPrimaryGeneratorAction.hh +++ /dev/null @@ -1,35 +0,0 @@ -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// $Id: MyPrimaryGeneratorAction.hh,v 1.2 1998/11/12 10:50:06 yhajime Exp $ -// GEANT4 tag $Name: geant4-00 $ -// - -#ifndef MyPrimaryGeneratorAction_h -#define MyPrimaryGeneratorAction_h 1 - -#include "G4VUserPrimaryGeneratorAction.hh" - -class G4ParticleGun; -class G4Event; - -class MyPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction -{ - public: - MyPrimaryGeneratorAction(); - ~MyPrimaryGeneratorAction(); - - public: - void GeneratePrimaries(G4Event* anEvent); - - private: - G4ParticleGun* particleGun; -}; - -#endif - - diff --git a/environments/Momo/GGEmake/include/MyVisManager.hh b/environments/Momo/GGEmake/include/MyVisManager.hh deleted file mode 100644 index 2363375e84..0000000000 --- a/environments/Momo/GGEmake/include/MyVisManager.hh +++ /dev/null @@ -1,50 +0,0 @@ -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// $Id: MyVisManager.hh,v 1.2 1998/11/12 10:50:07 yhajime Exp $ -// GEANT4 tag $Name: geant4-00 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -// Example Visualization Manager implementing virtual function -// RegisterGraphicsSystems. Exploits C-pre-processor variables -// G4VIS_USE_DAWN, etc., which are set by the GNUmakefiles if -// environment variables of the same name are set. - -// So all you have to do is set environment variables and compile and -// instantiate this in your main(). - -// Alternatively, you can implement an empty function here and just -// register the systems you want in your main(), e.g.: -// G4VisManager* myVisManager = new MyVisManager; -// myVisManager -> RegisterGraphicsSystem (new MyGraphicsSystem); - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef MyVisManager_h -#define MyVisManager_h 1 - -#include "G4VisManager.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class MyVisManager: public G4VisManager { - -public: - - MyVisManager (); - -private: - - void RegisterGraphicsSystems (); - -}; - -#endif diff --git a/environments/Momo/GGEmake/myDetector.cc b/environments/Momo/GGEmake/myDetector.cc deleted file mode 100644 index 2c438af50f..0000000000 --- a/environments/Momo/GGEmake/myDetector.cc +++ /dev/null @@ -1,81 +0,0 @@ -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// $Id: myDetector.cc,v 1.1 1998/11/12 10:50:01 yhajime Exp $ -// GEANT4 tag $Name: geant4-00 $ -// -// -// -------------------------------------------------------------- -// GEANT 4 - GGEVis.cc -// -// For information related to this code contact: -// CERN, IT Division, ASD Group -// -------------------------------------------------------------- -// Comments -// -// -// -------------------------------------------------------------- - -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4UIGAG.hh" -#include "MyDetectorConstruction.hh" -#include "MyPhysicsList.hh" -#include "MyPrimaryGeneratorAction.hh" - -#ifdef G4VIS_USE -#include "MyVisManager.hh" -#endif - - -#include "g4templates.hh" - -int main() -{ - // Construct the default run manager - G4RunManager* runManager = new G4RunManager; - - // set mandatory initialization classes - runManager->SetUserInitialization(new MyDetectorConstruction); - runManager->SetUserInitialization(new MyPhysicsList); - -#ifdef G4VIS_USE - // visualization manager - G4VisManager* visManager = new MyVisManager; - visManager->Initialize(); -#endif - - // set mandatory user action class - runManager->SetUserAction(new MyPrimaryGeneratorAction); - - // Initialize G4 kernel - runManager->Initialize(); - - // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - - G4UIsession * session = new G4UIGAG; - session->SessionStart(); - delete session; - - - // job termination -#ifdef G4VIS_USE - delete visManager; -#endif - - delete runManager; - return 0; -} - - - - - - - - diff --git a/environments/Momo/GGEmake/src/MyDetectorConstruction.cc b/environments/Momo/GGEmake/src/MyDetectorConstruction.cc deleted file mode 100644 index 81ba0ae9eb..0000000000 --- a/environments/Momo/GGEmake/src/MyDetectorConstruction.cc +++ /dev/null @@ -1,117 +0,0 @@ -//------HeaderFile- - #include "MyDetectorConstruction.hh" - -#include "G4UnitsTable.hh" - -#include "G4VUserDetectorConstruction.hh" - -#include "globals.hh" -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "G4PVReplica.hh" -#include "G4SDManager.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -MyDetectorConstruction::MyDetectorConstruction( ) -{ ; } -MyDetectorConstruction::~MyDetectorConstruction( ) -{ ; } -G4VPhysicalVolume* MyDetectorConstruction::Construct( ) -{ -// Elements -G4Element* elementN = new G4Element( "Nitrogen", "N", 7. , 14.00674*g/mole ); -G4Element* elementO = new G4Element( "Oxygen", "O", 8. , 15.9994*g/mole ); -G4Element* elementH = new G4Element( "Hydrogen", "H", 1. , 1.00794*g/mole ); -G4Element* elementC = new G4Element( "Carbon", "C", 6. , 12.011*g/mole ); - -// Materials from Combination - -G4Material* Air = new G4Material("Air", 1.205*g/cm3, 2, kStateGas, 293.0*kelvin, 1.0*atmosphere ); -Air->AddElement( elementN, 3 ); -Air->AddElement( elementO, 1 ); -G4Material* Methane = new G4Material("Methane", 0.4241*g/cm3, 2, kStateLiquid, 111.7*kelvin, 1.0*atmosphere ); -Methane->AddElement( elementH, 4 ); -Methane->AddElement( elementC, 1 ); - -// Materials from Scratch - -G4Material* Cu = new G4Material("Cu", 29, 63.546*g/mole, 8.96*g/cm3,kStateSolid, 293.0*kelvin, 1.0*pascal ); -G4Material* Xeliquid = new G4Material("Xeliquid", 54, 131.29*g/mole, 3.52*g/cm3,kStateLiquid, 165.0*kelvin, 1.0*atmosphere ); - -// Visualization attributes - - -G4VisAttributes * blue= new G4VisAttributes( G4Colour(133,255,255 )); - -G4VisAttributes * darkgray= new G4VisAttributes( G4Colour(75,84,87 )); - -G4VisAttributes * trackred= new G4VisAttributes( G4Colour(234,84,87 )); - -G4VisAttributes * calred= new G4VisAttributes( G4Colour(234,178,87 )); - -// Logical Volumes - -G4Box *solidexpHall= new G4Box("solidexpHall", 5.0*m, 2.0*m, 2.0*m ); -G4LogicalVolume * logicalexpHall = new G4LogicalVolume(solidexpHall, Air, "logicalexpHall" ,0,0,0); -logicalexpHall->SetVisAttributes(blue); -G4Box *solidcalblock= new G4Box("solidcalblock", 60.0*cm, 11.0*cm, 11.0*cm ); -G4LogicalVolume * logicalcalblock = new G4LogicalVolume(solidcalblock, Xeliquid, "logicalcalblock" ,0,0,0); -logicalcalblock->SetVisAttributes(darkgray); -G4Tubs *solidtracker= new G4Tubs("solidtracker", 0.0*cm, 60.0*cm, 50.0*cm, 0.0*deg, 360.0*deg ); -G4LogicalVolume * logicaltracker = new G4LogicalVolume(solidtracker, Methane, "logicaltracker" ,0,0,0); -logicaltracker->SetVisAttributes(trackred); -G4Box *solidcallayer= new G4Box("solidcallayer", 1.0*cm, 10.0*cm, 10.0*cm ); -G4LogicalVolume * logicalcallayer = new G4LogicalVolume(solidcallayer, Cu, "logicalcallayer" ,0,0,0); -logicalcallayer->SetVisAttributes(calred); -G4Box *solidcalstack= new G4Box("solidcalstack", 60.0*cm, 11.0*cm, 68.0*cm ); -G4LogicalVolume * logicalcalstack = new G4LogicalVolume(solidcalstack, Xeliquid, "logicalcalstack" ,0,0,0); -logicalcalstack->SetVisAttributes(darkgray); - -// Physical Volumes -------Single Positioned Volume, Repeated Volumes, Replicas--------------------------- - - -// Single Positioned Volumes - -G4VPhysicalVolume * physicalexpHall= new G4PVPlacement(0,G4ThreeVector(0.0*m,0.0*mm,0.0*cm), "physicalexpHall",logicalexpHall,NULL,false, 0); - -G4VPhysicalVolume * physicaltracker= new G4PVPlacement(0,G4ThreeVector(-1.0*m,0.0*mm,0.0*cm), "physicaltracker",logicaltracker,physicalexpHall,false, 0); - - -// Repeated Volumes - -G4int copycallayerx; -copycallayerx=0; -for (G4int callayerx=1; callayerx<=20; callayerx++){ - G4double transcallayerx =-55.0*cm+5.0*cm*(callayerx-1); - G4VPhysicalVolume * physicalcallayerx = new G4PVPlacement(0,G4ThreeVector(transcallayerx,0.0*cm,0.0*cm), logicalcallayer,"physicalcallayerx",logicalcalblock,false,copycallayerx++); -} - -G4int copystacky; -copystacky=0; -for (G4int stacky=1; stacky<=6; stacky++){ - G4double transstacky =-66.0*cm+22.0*cm*(stacky-1); - G4VPhysicalVolume * physicalstacky = new G4PVPlacement(0,G4ThreeVector(0.0*cm, transstacky, 0.0*mm), logicalcalblock,"physicalstacky",logicalcalstack,false,copystacky++); -} -G4int copystackz; -copystackz=0; -for (G4int stackz=1; stackz<=6; stackz++){ - G4double transstackz =-68.0*cm+22.0*cm*(stackz-1); - G4VPhysicalVolume * physicalstackz = new G4PVPlacement(0,G4ThreeVector(80.0*cm,0.0*cm,transstackz), "physicalstackz", logicalcalstack, physicalexpHall,false,copystackz++); -} - -// Replicas - - -// return the physical World - - - return physicalexpHall; -} diff --git a/environments/Momo/GGEmake/src/MyPhysicsList.cc b/environments/Momo/GGEmake/src/MyPhysicsList.cc deleted file mode 100644 index aeab1572f6..0000000000 --- a/environments/Momo/GGEmake/src/MyPhysicsList.cc +++ /dev/null @@ -1,47 +0,0 @@ -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// $Id: MyPhysicsList.cc,v 1.1 1998/09/02 12:10:38 masayasu Exp $ -// GEANT4 tag $Name: geant4-00 $ -// -// - -#include "MyPhysicsList.hh" -#include "G4ParticleTypes.hh" - - -MyPhysicsList::MyPhysicsList() -{;} - -MyPhysicsList::~MyPhysicsList() -{;} - -void MyPhysicsList::ConstructParticle() -{ - // In this method, static member functions should be called - // for all particles which you want to use. - // This ensures that objects of these particle types will be - // created in the program. - - G4Geantino::GeantinoDefinition(); -} - -void MyPhysicsList::ConstructProcess() -{ - // Define transportation process - - AddTransportation(); -} - -void MyPhysicsList::SetCuts(G4double cut) -{ - // set a cut value to all particles - - SetCutValueForOthers(cut); -} - - diff --git a/environments/Momo/GGEmake/src/MyPrimaryGeneratorAction.cc b/environments/Momo/GGEmake/src/MyPrimaryGeneratorAction.cc deleted file mode 100644 index e09cdc0e4d..0000000000 --- a/environments/Momo/GGEmake/src/MyPrimaryGeneratorAction.cc +++ /dev/null @@ -1,55 +0,0 @@ -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// $Id: MyPrimaryGeneratorAction.cc,v 1.1 1998/09/02 12:10:39 masayasu Exp $ -// GEANT4 tag $Name: geant4-00 $ -// - -#include "MyPrimaryGeneratorAction.hh" - -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4UImanager.hh" -#include "globals.hh" - -MyPrimaryGeneratorAction::MyPrimaryGeneratorAction() -{ - G4int n_particle = 1; - particleGun = new G4ParticleGun(n_particle); - - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/gun/particle geantino"); - UI->ApplyCommand("/gun/energy 1.0 GeV"); - UI->ApplyCommand("/gun/position -2.0 0.0 0.0 m"); -} - -MyPrimaryGeneratorAction::~MyPrimaryGeneratorAction() -{ - delete particleGun; -} - -void MyPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) -{ - G4UImanager* UI = G4UImanager::GetUIpointer(); - G4int i = anEvent->GetEventID() % 3; - switch(i) - { - case 0: - UI->ApplyCommand("/gun/direction 1.0 0.0 0.0"); - break; - case 1: - UI->ApplyCommand("/gun/direction 1.0 0.1 0.0"); - break; - case 2: - UI->ApplyCommand("/gun/direction 1.0 0.0 0.1"); - break; - } - - particleGun->GeneratePrimaryVertex(anEvent); -} - - diff --git a/environments/Momo/GGEmake/src/MyVisManager.cc b/environments/Momo/GGEmake/src/MyVisManager.cc deleted file mode 100644 index 84a56a296c..0000000000 --- a/environments/Momo/GGEmake/src/MyVisManager.cc +++ /dev/null @@ -1,140 +0,0 @@ -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// $Id: MyVisManager.cc,v 1.1 1998/09/02 12:10:40 masayasu Exp $ -// GEANT4 tag $Name: geant4-00 $ -// -// -// John Allison 24th January 1998. - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifdef G4VIS_USE - -#include "MyVisManager.hh" - -// Supported drivers... - -#ifdef G4VIS_USE_DAWN -#include "G4FukuiRenderer.hh" -#endif - -#ifdef G4VIS_USE_DAWNFILE -#include "G4DAWNFILE.hh" -#endif - -#ifdef G4VIS_USE_OPENGLX -#include "G4OpenGLImmediateX.hh" -#include "G4OpenGLStoredX.hh" -#endif - - -#ifdef G4VIS_USE_VRML -#include "G4VRML1.hh" -// #include "G4VRML2.hh" -#endif - -#ifdef G4VIS_USE_VRMLFILE -#include "G4VRML1File.hh" -//#include "G4VRML2File.hh" -#endif - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -MyVisManager::MyVisManager () {} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void MyVisManager::RegisterGraphicsSystems () { - -#ifdef G4VIS_USE_DAWN - RegisterGraphicsSystem (new G4FukuiRenderer); -#endif - -#ifdef G4VIS_USE_DAWNFILE - RegisterGraphicsSystem (new G4DAWNFILE); -#endif - - -#ifdef G4VIS_USE_OPENGLX - RegisterGraphicsSystem (new G4OpenGLImmediateX); - RegisterGraphicsSystem (new G4OpenGLStoredX); -#endif - - -#ifdef G4VIS_USE_VRML - RegisterGraphicsSystem (new G4VRML1); -// RegisterGraphicsSystem (new G4VRML2); -#endif - -#ifdef G4VIS_USE_VRMLFILE - RegisterGraphicsSystem (new G4VRML1File); -// RegisterGraphicsSystem (new G4VRML2File); -#endif - - if (fVerbose > 0) { - G4cout << - "\nYou have successfully chosen to use the following graphics systems." - << endl; - PrintAvailableGraphicsSystems (); - } -} - -#endif - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/environments/Momo/README.GGE b/environments/Momo/README.GGE deleted file mode 100644 index 39f86a1d9c..0000000000 --- a/environments/Momo/README.GGE +++ /dev/null @@ -1,449 +0,0 @@ - README of GGE; GEANT4 Geometry Editor - - 1998 Dec. 11 - 1998 Oct. 15 - 1998 Sep. 24 - 1998 Sep. 10 - 1998 Aug. 31 - Hajime YOSHIDA - Naruto University of Education -0) Reference - GGE is changing day-by-day. It will be adapted to the new Java2 (ex JDK1.2). -So, after this release, we will keep the latest versions and related information in our URL; - - http://erpc1.naruto-u.ac.jp/~geant4 - - -1) Introduction - - GGE, GEANT4 Geometry Editor, is a visual tool to "create" a C++ source code which -implements a detector geometry after GEANT4's norm. - -It provides users with tables which users fill with their detector parameters, -such as its materials, solid shapes, visualisation attributes and placement. After the -data in the tables, GGE creates C++ source codes for a detector. The C++ codes is a complete -description of a detector, including the definition of atoms, materials, solids, color attributes, -logical volumes and physical volumes with rotations and translations. -The C++ source code is saved into a file and can be compiled to make a GEANT4 executable. -A minimum set of files for the GEANT4 managers to visualise the detector as well as -a GNUMakefile are provided for that. - -GAG is helpful to have a visualization of the whole detector. -Simple macro files are associated, too, for visualisation. - - GGE consists of two editors (material and volume) which are -interrelated upon users' request. Volume editor has two main functions; -first is to define logical volumes, while the second is to position or relocate them. -GGE provides users a variety of relocation; Single Placement, Multiple Copies - with incremental copy numbers (translational arrangement or axially symmetric arrangement), -Replicas (in any axis or phi direction) and Parametrized volumes(not yet). - -GGE is based on Java's MVC model so that any change or input to the tables by a user -are automatically reflected to the internal data structure of GGE and C++ codes. - -2) Functions of GGE - - 2.1) Material Editor - a) implemented in this version - - + append, insert, edit and delete a material - + material from scratch - + material by combination (number or fractional ratios) - + periodic table of atoms automatically popped up to create a material - + default states are provided (material state, temperature, pressure) - + canonical physical units in GEANT4 selectable from a combobox - - + "in Use" mark for materials used in user's detector - + materials used in the logical volumes are automatically made "in Use". - + user can add any materials "in Use" to have C++ constructors - - + persistent material file - + load, append or save a material file - + an exemplary persistent material database file "MaterialDB.g4mt" from the PDG - - b)not yet implemented - - - material from materials (coming) - - isotope (planned) - - protection from duplicated "in Use" instances of the same materials. - - 2.2) Volume Editor ; logical and physical volumes - - a)implemented - - + G4Solids - + CSG solids - + Box, Tube segment, Cone segment, Sphere segment, Torus segment, Parallelepiped, - Symmetric Trapezoid, HYPE - + parameters and canonical units - + preview with DAWN (automatically chosen world size) - + BREPs - + Polycone segment, Polyhedra - + any number of nodes and facets with parameters and canonical units - + preview with DAWN (automatically chosen world size) - + G4LogicalVolume - + create, delete a logical volume - + Its name, G4Solid, material, visualization attributes - + selectable G4Solid among the above candidates (CSGs, BREPs) - + type-in materials name (drag and drop is planned) - + Color Chooser to specify visualization attribute (color and its name) - + Used materials link to material DB - - + G4PVPlacement ; Placement of physical volumes - + Type 1 constructor = rotation of the frame, physical mother volume - + Type 2 constructor = rotation of a body, physical mother volume - + Type 3 constructor = rotation of the frame, logical mother volume - + Type 4 constructor = rotation of a body, logical mother volume - - + Single Placement of a Volume (SPV) - + mother volume is either - null(Master Reference System), logical or physical - + MARS is constructed first in C++ code. - + logical mother is for nested volumes - + translation in the X, Y or Z direction (default is no translation) - + rotation around X, Y or Z axis with an angle (frame or body) - - + Repeated Placement of a Volume with incremental copy numbers (RPV) - + translational arrangement of any number of copies of a logical volume - + placements in the X, Y or Z direction - + the position of the first copy and incremental step size - + with respect to a logical or physical mother volume - + axially symmetric arrangement - + rotational axis is parallel to X, Y or Z axis - + rotation of the frames or a body - + position of the center of axial symmetry can be set - + radius of axially symmetric arrangement - + starting angle and incremental step angle with number of copies - + logical or physical mother volume - - + Slicing or Replica - + replication in the X, Y or Z direction (cartesian coordinates) - + replication in rho or phi direction (cylindrical coordinates) - + width (in length or angle) and number of replicas - + offset (in length or angle) - + logical or physical mother volume - - b)to be implemented - - - - - paremetrised volumes (coming soon) - - linear scaling - - linear rotation - - 2.3) Generation of C++ code ; "MyDetectorConstruction.cc" (default naming) - - a) implemented - + C++ code is output to a editor widget - + all necessary header files are automatically included - + save the file with a file chooser; "GGEmake/MyDetectorConstruction.cc" (default naming) - + order of creating instances; - G4Elements, G4Material, G4VisAttributes, G4Solids, G4LogicalVolume, - Single Positioned Volumes, Repeated Volumes, Replicas - x order of instantiation inside each section is decided by GGE user, - except MARS - + return the instance name of the MARS - - b)not implemented - - automatic correct ordering of constructors of volumes - - - 2.4) GGEmake; a directory containing the GEANT4 codes to compile and visualize the detector - a) implemented - + GNUmakefile - + myDetector.cc ; main() with GAG session and visualization manager - + src/ directory contains - + MyDetectorConstruction.cc - + MyPhysicsList.cc - + MyPrimaryGeneratorAction.cc - + MyVisManager.cc - + include/ directory - - 2.5) compile and visualize with Momo and GAG - - a) implemented - - + canonical scheme of GEANT4 to compile - + make G4TARGET=myDetector - + the binary is created as $G4INSTALL/bin/$G4SYSTEM/myDetector - - + Momo (GAG, Compile and GGE buttons) - + rapid cycling of GGE and GAG to edit and view the geometry - + a macro file for visualization (OGLIX default) "DrawDAWN.g4m", etc.. - - b) not implemented - - automatic "calibration" of the detector with geantino - - 2.6) exemplary persistent detector files with *.g4dt suffix - + rotateallsolids.g4dt; all CSG except HYPE and two BREPs are placed in an axially symmetric manner - + translateallsolids.g4dt - - -------------------------------------------------------------------------- - -3) Installation - -The minimum set to run GGE and to create the C++ source code - 1) GGE.jar file - 2) Java interpreter ; java -Additional set to compile and get the executable - 3) GEANT4 toolkit with compiled libraries - 4) GGEmake directory -Additional set to visualise and use GUI - 4) DAWN (plus Ghostview) or OGLIX or VRML - 5) GAG (Java version) or GAG.jar file -Additional too to make life easy - 6) Momo to use all the above ingredients; Momo.jar file - (without Momo, you have to invoke GGE, compile and GAG respectively in windows.) - -3.1) Java and Swing -We have tested GGE on Unix-en (Linux and Solaris) and Windows (95/NT). - - 3.1.1) Unix: - - + Linux: jdk1.1.3 or later(i.,e., jdk-1.1.6 or jdk-1.1.7) + Swing-1.0.2 - - 1) GGE co-works with Swing-1.0.2 and not with 1.0.1 (or maybe not - with 1.0.3). - 2) we are testing the current GGE with JRE1.2-beta04. The present source can be - compiled but doesn't execute correctly. In any case - Sun has announced on 17 August that JDK1.2 will be delayed - till November!! - + Solaris: jdk1.1.6 + swing-1.0.2 - - - We assume that you have - 1)$JAVAHOME/jdk1.1.6/bin/java (Java interpreter) to which paths are set - 2)Swing-1.0.2 which is defreezed and placed in $JAVAHOME/swing/swingall.jar - - 3.1.2) Windows: - - We use JBuilder2 with Swing-1.0.2. Note that you have to - eliminate all other libraries other than swing-1.0.2, after having - copied it into JBuilder2. - - We are trying JDK1.2beta4 + JRE1.2 with JBuilder2. - - NOTE! At present you can only create C++ code under the Windows. - -3.2) GGE and related files - -The latest product of GGE is that of 11th December 1998. -All *.java, *.class and GGE.jar files are placed in - $G4INSTALL/environments/Momo/java/Momo/GGE - -Only "GGE.jar" file is necessary to run GGE. The following files are included for -completeness. - - GGE/*.java GGE source files - GGE/*.class GGE byte code files - GGE/GGE.jar jar archive file to which CLASSPATH must be set - GGE/*.g4mt material database after PDG data - GGE/*.g4dt exampleN0x detector file - -A set of C++ source codes and GNUmakefiles necessary to compile with GEANT4 are placed in - $G4INSTALL/environments/Momo/GGEmake. - -Only geantino is instantiated in the initialization of GEANT4, so that it is quite -rapid to have a visualization of the geometry. You can choose DAWN, OpenGL or VRML system. - - GGEmake/myDetector.cc main() program - /GNUmakefile - /src - /src/MyDetectorConstruction.cc C++ generated by GGE - /src/MyPrimaryGeneratorAction.cc geantino gun - /src/MyVisManager.cc DAWN, DAWNFILE, OGLIX, OGLSX, VRML1, VRML1FILE - /src/MyPhysicsList.cc geantino definition - /include/*.hh - /DrawOGLIX.g4m macro file to visualize with OGLIX - /DrawDAWN.g4m macro file for DAWN - /DrawDAWNFILE.g4m macro file for DAWN with Postscript file - -3.3) install, setenv and run - - %set path=($path $JAVAHOME/jdk1.1.6/bin) <=== add the path to java and javac - %setenv CLASSPATH .:$JAVAHOME/swing/swingall.jar:$G4INSTALL/environments/Momo/java/Momo/GGE/GGE.jar - - - In any directory, you can invoke GGE. - - %java gge -Then, the material window appears, followed by the volume window. - -3.4) DAWN, Tcl/Tk and Postscript for the preview of CSG or BREP solids - - - If you want to preview G4Solids, you have to install -DAWN, Fukui renderer as well as Tcl/Tk wish (Tcl/Tk 8.0) for its GUI. -DAWN uses also Postscript to draw *.prim files. - If you don't use GGE's preview button, these are not necessary. - -For the visualization of the whole detector, DAWN or Mesa (for OGLIX) -are necessary. - -3.5) GEANT4 toolkit and its environments -The visualization manager instantiates DAWN, DAWNFILE, OPENGLIX, -OPENGLSX, VRML, VRMLFILE. So, you have to setenv accordingly. - -4) A First Lesson; how to use GGE. - -Here is a walk-through of how to use GGE. - -4.1) Visualize the prefabricated detector sample - 1) In a xterm, type %java gge - 2) In the "Volume window", select "Load a Volume file" menu - and double click on "rotateallsolids.g4dt" - 3) Click "Makesource" and select "Make C++ code". Have a look of the generated C++ code. - 4) Save the C++ code (overwrite the existing one) - in .../GGEmake/src/MyDetectorConstruction.cc" using the file chooser. - 5) In another xterm, go to the directory GGEmake/ and type - %make G4TARGET=myDetector - - Watch if there is any compilation error. At present, - GGE is made so that it generates correct C++ codes, - if a user uses GGE correctly. - - - 6) Check that you have "myDetector" executable, in $(G4INSTALL)/bin/$(G4SYSTEM) - 7) In another xterm, type - %java gag - - and with the "Run GEANT4" button, choose and run "myDetector". - 8) Use /control/execute command and double click on "DrawOGLIX.g4m". - To have a better view, use vis commands (camera/viewpoint, zoom etc). - You can select DrawDAWNFILE to draw and have a PS hardcopy. - -4.2) Modify the prefabricated detector - Now let's change the detector configuration. Go to the "Volume" window - and change any part of it, including material. - -4.2.1) Changing materials - - 1) First, you have to "Clear Material" in the Material editor. - 2) Then, select "Load material" and double click on "MaterialDB.g4mt". - Now you have a list of materials. - 3) Then, in the "Logical Volume" panel, double click the box you want to change - and type in the name of the material in the material editor. - 4) Change as many materials as you like and push "Used Material" button. - You see that materials you have typed in are marked "Used" in red. - If not, you might have mistyped the name of a material. - 5) If you want to use additional materials, select "Use" in the material - editor (the leftmost column). - 6) Push "Makesource" and see your change has been realized in the C++ code. - - NOTE!! Be careful that there are no duplicated "Used" materials, when - you load the material DB without "Clear Material". - -4.2.2) Modifying the size parameters of solids - - To change the sizes of G4 solids - 1) click a "solid" box of the logical volume of your choice. - 2) You have a pop-up window to edit the parameters. Change a parameter - or its unit, as you like. - 3) Push "Makesource" and see if your changes have been correctly applied - to C++ code. - 4) In case of BREP solids, the pop-up window has variable number of columns - to accept any number of nodes. - 5) For complicated solids like BREPs, preview may be useful. Click "View" - button and you have a view with the DAWN renderer. Its g4.prim file - is also shown in an edit-able widget. - -4.2.3) Changing the type of solid of an existing logical volume - You may want to replace the current G4Solid with another one. In the - present GGE you can't do so directly. You have to "Create" a new logical - volume with the type of solid you want and then delete the unnecessary volume. - - 1) Choose your new solid with "Select Solid" combo-box. - 2) Push "Create" button and you have a pop-up window to input parameters. - 3) Type in numbers and select their units. - 4) Preview if you like and then push "OK". - 5) Check the C++ code. - -4.2.4) Changing visualization attributes (Color). - 1) You have to "Create" a new VisAttributes - 2) Upon the "Create" button, you have a Color Chooser. - 3) Select RGB (not HSV). Set your color with slide-bars. - 4) Give it a name, and push "OK". Then you have a color circle and name in the - VisAttrib panel. - 5) Edit the VisAtb box in the LogicalVolume panel. - 6) See the C++ code. - -4.2.5) Changing Repeated Volumes - - - a) "edit" the physical volumes - - "translateallsolids.g4dt" contains all except HYPE CSG and two BREP volumes which are - positioned in "Pepeated Placement Volumes" in threee directions. - Change the parameter of repetition such as the number or width, or you can - add another "repeated volumes" in another direction. - - - - b) making C++ code "MyDetectorConstruction.cc" and compile. - - Finally, back to the step 3 and recompile. - If you have any compiler errors, in most cases, it is due to unfilled table, misspelled name - etc.. GGE is not yet wise enough to correct such simple mistakes. - - - - - Opening GGE, compile, GAG simultaneously, you can - test and improve the geometry, just like creating - HTML or TeX documents. - - -4) Naming conventions in GGE - - Knowledge of GGE's naming convention is helpful to read the generated C++ code as -well as using GGE correctly. - - 4-1) Elements and materials - - a) Elements are named "elementXXX", where XXX stands for the - element's symbol in the periodic table. - b) materials are named just as you have typed in the second column - of the material window. - - 4-2) solids and logical volumes - The "Name" typed in the first (leftmost) column of the "Logical Volume" - is used to name the corresponding solid. If, for example, the name "world" is given - to a logical volume of a Box, the G4Box has an instance "solidworld". - 4-3) logical and physical volumes - The instance of a physical volume defined by "pName" has a name prefixed - with "physical", i.,e., instance's name is "physical" + pName ( the plus sign means - string concatenation). "logical" is added to the instance of a logical - volume. - In case of SPV (single placement of a volume), the columns "pName" (instance of - physical volume) and "pLogical" may have the same strings. - - In case of RPV (repeated placement of a volume ), "pName" must be different from - "pLogical" whose copies are repeatedly placed. - - 4-4) All variables are named after their proper instances. - See for example, the control variable used in the for loop in the - RPV. Another examples are seen in the arrays to define BREP geometry. - -5) Default values and combo-boxes - - -5.1) Default optional values of materials - GGE provides default values in a pre-filled columns or with the - combo-boxes. "Use", "State" and "Unit" columns are equipped with - combo-boxes. Temperature and pressure column are pre-filled with - 273.15 * kelvin and 1 * atmosphere. -5.2) Default values in volumes - "Mother Type" is either NULL (mother of all), logical (type 2, 4 constructors) - or physical (type 2 or 4 constructors) in G4PVPlacement. - - - - - - - - - - - diff --git a/environments/Momo/README.first b/environments/Momo/README.first deleted file mode 100644 index bee9dd1f8d..0000000000 --- a/environments/Momo/README.first +++ /dev/null @@ -1,194 +0,0 @@ -How to Install and Use GAG and Momo - - 1998 December 4 revised for release - 1998 July 6 written for beta - - Hajime YOSHIDA - -1) Necessary Toolkits for GAG, GGE and Momo - -1.1) Tcl/Tk and JAVA - -GAG, GGE and Momo are implemented, using the popular "Open Source -Programs", or free software; Tcl/tk 8.0a or later and -JDK 1.1.3 or later and JAVA Foundation Class Swing-1.0.2. -Both are supported and freely distributed by Sun Microsystems. - -As of July 6, JAVA GAG is tested on Linux with JDK-1.1.3 + Swing-1.0.2 and on -Solaris with JDK-1.1.6 + Swing-1.0.2. Tcl/Tk GAG is tested on -Linux and Solaris with Tcl8.0p2/Tk8.0p2. - -As of December 4, Java GAG is running on Linux (RedHat 5.2) with JDK-1.1.7 + -Swing-1.0.2. So, replace JDK-1.1.3 below with the latest JDK-1.1.7. -JDK1.2 version is not yet delivered. - -1.2) Installation -If the required toolkits as well as GAG, GGE and Momo have been installed -in your computer system by your system administrator or by your collegues, -you have only to set PATH and environment variables which -will be explained later. Such lucky few can skip the next section of -installation. - -1.2.1) Installation of Tcl/tk - -If you are using free Unix like Linux, the latest version (8.0a or -later) of Tcl/tk is already included. If it is installed by root to -the default destination, /usr/local/bin and /uar/local/lib, -and if you can locate wish (version 8.0) in your path, everuthing is -good. - -To verify this, do as follows; - - [yoshidah@ermac1 G++-Linux]$ wish - % info tclversion - 8.0 - % exit - [yoshidah@ermac1 G++-Linux]$ - - -Tk command "wish" pops up a small white window. You delete it with "exit". - - -If not, you can install it under your home directory without root's permission. -You can get the latest version of Tcl/tk from many mirror sites world-wide. -It is easy to compile and install them. -Be careful that tcl8.0.tar.gz and tk8.0.tar.gz files are placed in the same -directory. - -First attack the Tcl package. You do " ./configure" then "make" - and finally "make install". -Then, you repeat the same procedure for Tk package. - -If Tcl/Tk is installed in an arbitrary destination, you have to set -path and environmental variables. - - : Verify that {\tt wish} is in in your PATH and its version is correct. - : setenv TCL_LIBRARY to the directory where "libtcl.a" is placed - : setenv TK_LIBRARY to the directory where "libtk.a" is placed - -1.2.2 Installation of JAVA - -GAG, GGE and Momo use JDK 1.1.3 or later and Java Foundation Class, -or Swing-1.0.2 (early access version). -Note that older or newer versions of Swing are imcompatible with -the current Java GAG. - -GAG, GGE anf Momo is going to be updated to JDK1.2 which has not been -released yet. JAVA Foundation Class will follow important -modifications in the JDK1.2. Thus present GUI may not work -correctly with other than Swing-1.0.2 on which it is implemented. -(Swing-1.0.2 still contains "preview" classes!! -July 1998-) - -Swing is available from JAVA Developer Connection. You are requested to -register yourself as a JDC member. Please read carefully licence agreement -to use it on your computer. -For general information on JAVA, visit JavaSoft Home Page. - -You may put Swing package in any directory, but you have to make the -environment variable CLASSPATH include "swingall.jar". - - %setenv CLASSPATH .:/home/foo/swing1.0.2/swingall.jar: - -You are recommended to check sample programs associated with it. - - % cd ~foo/swing1.0.2/examples/SwingSet/classes - % java SwingSet - -Wait a moment while loading many classes. If it works well, though -very slowly, you can use GAG of JAVA version. - - -JAVA GAG uses TextWidget, a free software which is includes as is in the -current GAG distribution. Please read and respect the copyleft written -there. - - -2) Install and Run GAG, GGE and Momo - -After unpacking GEANT4 package you have the Momo files under the -"geant4alpha/environments/Momo/" directory. - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !!!!! Important!!!!! - Keep the following directory hierarchy. Tcl/tk -products assume that all relevant files are found under $MOMOPATH, while -JAVA products assume that all relevant classes are found in $CLASSPATH. -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -2.1) JAVA GUIs -2.1.1 Files - - ../Momo/java/Momo/ necessary hierarchy for JAVA's name space. - /Momo/GAG/ Java source codes; *.java - /Momo/GGE/ Java source codes; *.java (to come) - /Momo/GAG/GAG.jar JAVA binary archive - -2.1.2) CLASSPATH - -JAVA's CLASSPATH must contain the following; - - JDK's class file : The path to "classes.zip" is set by default. - Otherwise let's assume /home/foo/jdk1.1.6/lib/classes.zip. - - Swing-1.0: As was explained above, "swingall.jar" is the only file necessary - for Swing-1.0.2. Let us assume that you have Swing-1.0.2 in your - $HOME/swing1.0.2/swingall.jar. - - GAG.jar: In the GEANT4 distribution, it is placed in - geant4alpha/environments/Momo/java/Momo/GAG/GAG.jar. So, let's - assume that it is at - $HOME/geant4alpha/environments/Momo/java/Momo/GAG/GAG.jar. - -Assuming you have everything in your $HOME, CLASSPATH example for Unix -is like; - - %setenv CLASSPATH .:$HOME/swing1.0.2/swingall.jar:\ - $HOME/geant4alpha/environments/Momo/java/Momo/GAG/GAG.jar: - $HOME/jdk1.1.6/lib/classes.zip - -2.1.3) Run JAVA GAG - -To run JAVA GAG without Momo, type the following line at any directory. - - % java gag - -Then, choose a GEANT4 executable file. - -2.2) Tcl/Tk GUIs - -2.2.1) Files - - ../Momo/tcltk/ This is the MOMOPATH. - /tcltk/tMomo.tcl Momo script file - /tcltk/tmomo* Momo executable file - /tcltk/GAG/ GAG procedures script files - /tcltk/GAG/GAG.tcl GAG script file - /tcltk/XXXXX Other directories containing procedures used - in GAG.tcl - -2.2.2) MOMOPATH - -You have to setenv MOMOPATH which specifies the position of Momo/tcltk/. -For example, like; - - %setenv MOMOPATH $HOME/geant4alpha/environments/Momo/tcltk - -2.2.3) Run Tcl/Tk Momo and GAG - -Then you can run Momo - - %$MOMOPATH/tmomo - -Or without using Momo, GAG can be directly invoked by - - %wish $MOMOPATH/GAG/GAG.tcl - -Good luck! - - - - - - - - - diff --git a/environments/Momo/java/Momo/ExampleFileFilter.class b/environments/Momo/java/Momo/ExampleFileFilter.class deleted file mode 100644 index 716d8188297830d1e88283f580e5a367730d8f09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2844 zcmai0*>h7>82_C%G$FlRC~Kj`vZqNQfEx-{mZnnZg0hqr6mFB-_Ck6Sb8l$tu7J4f zlL|9BBQLyw1A_z=1ze^GqvMR@tNItH559xH?c=4haFM08@7q576*bg5qPp9AAYn7c~qq9g||VZ8-=$? zNSk<$h`)B(KBhrOmypMW>=x1|WUq!H9ME71Nr}KluZFa258JkgF9Llr;qu z$^*?E3Nr%Dod@(odN{6IL*br*14h(YTg=|>q)cmw?E2fE5uqdOy zT`uic@B})<`AjYa-t%rmOx=Zntk6t^+s(MKwxsT~VkNp?n&TDbTxgsxEx= zHM1F7niSLu1>d@8+_X%mRiR>C?!&Vw5i=C3HYF_E(Jg0}9#3;WEi$H$B;$r08~+_6 z#eDAKt&ql2@JGg?MpC-OR;b+E(bg8}-q+sI8IheCiy2mv_))0oG%ce$Ju+aVcIX4b zsk=LEBA8{mEx1{?haJ%+veli5s2<;?r%YimmVbL9or=0iDrh_Uwng^s?B3el)7vfE z@ubnT(>iD+MlIIQuBy7!-<4#q}*n{jY?(Au%ju{EnmS)HG;+5Y6jEscw3>Ye8^zzYSKH{8W{!2 zc)9J?M+B{5-R?@Hj7Z!VF)T;0HSIPt#S5HBjVm;mcHXYjw4Dy?PQPvuxvQs8J2?ch zt;Pc_W@USr2jB{dM}WfgNq+uZ*sceSaY-(&OAaw(tY?sz#tm!887A8@#++OUoF2)v zU|<(v&`8FA)iTvi57_REqC+RqnHV)vn{=BX`JBY0$>_T~%>c=!jb3SN|87tkEMgsQ&K<%_7ffH~!@r%)9PHLlKJ=8n)=5@79U`FsW%yD-a%$*QX`Dtor0iMqj1P(LS5kAC6S^qIi=c~Ask79t&p_1n` z7pIp|q_hy@1n9k?tEF~D1`ApnKgOI!*09hMJBjL+M$i5XmS(W*tU8+yG?z#L@6*8t zEb2ql;yC8x1e);?-Sb7y1?i@Soa|D``Wk9n^n6+HgvGeaf*CCC4XO*Mp9F0d4;VPZ zaz14NXVHXnSc22^I*zSb->MHxzCi=N#bSJqR!pEB*LWd*VB=ip52qW%{yI+LCwxWSEBKkx zUx*QZ2jxy7#50gns0@ZKV0IDI)o!=_PQd@*1^taCZ=nA!!+FyBcb-w!@GlzvO~XHF z!rx^%!$z($0;aI2=E?r7aG5uGBlhQ~Mabnbxw?w;m{B+7Jf=_fK{m!}#<-U;R#J6@ IUdv$o3pcKa?EnA( diff --git a/environments/Momo/java/Momo/ExampleFileFilter.java b/environments/Momo/java/Momo/ExampleFileFilter.java deleted file mode 100644 index c559e85ba8..0000000000 --- a/environments/Momo/java/Momo/ExampleFileFilter.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * @(#)ExampleFileFilter.java 1.4 98/04/14 - * - * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved. - * - * This software is the confidential and proprietary information of Sun - * Microsystems, Inc. ("Confidential Information"). You shall not - * disclose such Confidential Information and shall use it only in - * accordance with the terms of the license agreement you entered into - * with Sun. - * - * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE - * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE - * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES - * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING - * THIS SOFTWARE OR ITS DERIVATIVES. - * - */ - - -import java.io.File; -import java.util.Hashtable; -import java.util.Enumeration; -import com.sun.java.swing.*; -import com.sun.java.swing.preview.filechooser.*; -import com.sun.java.swing.preview.*; - -/** - * A convenience implementation of FileFilter that filters out - * all files except for those type extensions that it knows about. - * - * Extensions are of the type ".foo", which is typically found on - * Windows and Unix boxes, but not on Macinthosh. Case is ignored. - * - * Example - create a new filter that filerts out all files - * but gif and jpg image files: - * - * JFileChooser chooser = new JFileChooser(); - * ExampleFileFilter filter = new ExampleFileFilter( - * new String{"gif", "jpg"}, "JPEG & GIF Images") - * chooser.addChoosableFileFilter(filter); - * chooser.showOpenDialog(this); - * - * @version 1.4 04/14/98 - * @author Jeff Dinkins - */ -public class ExampleFileFilter extends FileFilter { - - private static String TYPE_UNKNOWN = "Type Unknown"; - private static String HIDDEN_FILE = "Hidden File"; - - private Hashtable filters = null; - private String description = null; - private String fullDescription = null; - private boolean useExtensionsInDescription = true; - - /** - * Creates a file filter. If no filters are added, then all - * files are accepted. - * - * @see #addExtension - */ - public ExampleFileFilter() { - this((String) null, (String) null); - } - - /** - * Creates a file filter that accepts files with the given extension. - * Example: new ExampleFileFilter("jpg"); - * - * @see #addExtension - */ - public ExampleFileFilter(String extension) { - this(extension,null); - } - - /** - * Creates a file filter that accepts the given file type. - * Example: new ExampleFileFilter("jpg", "JPEG Image Images"); - * - * Note that the "." before the extension is not needed. If - * provided, it will be ignored. - * - * @see #addExtension - */ - public ExampleFileFilter(String extension, String description) { - this(new String[] {extension}, description); - } - - /** - * Creates a file filter from the given string array. - * Example: new ExampleFileFilter(String {"gif", "jpg"}); - * - * Note that the "." before the extension is not needed adn - * will be ignored. - * - * @see #addExtension - */ - public ExampleFileFilter(String[] filters) { - this(filters, null); - } - - /** - * Creates a file filter from the given string array and description. - * Example: new ExampleFileFilter(String {"gif", "jpg"}, "Gif and JPG Images"); - * - * Note that the "." before the extension is not needed and will be ignored. - * - * @see #addExtension - */ - public ExampleFileFilter(String[] filters, String description) { - this.filters = new Hashtable(filters.length); - for (int i = 0; i < filters.length; i++) { - // add filters one by one - addExtension(filters[i]); - } - setDescription(description); - } - - /** - * Return true if this file should be shown in the directory pane, - * false if it shouldn't. - * - * Files that begin with "." are ignored. - * - * @see #getExtension - * @see FileFilter#accepts - */ - public boolean accept(File f) { - if(f != null) { - if(f.isDirectory()) { - return true; - } - String extension = getExtension(f); - if(extension != null && filters.get(getExtension(f)) != null) { - return true; - }; - } - return false; - } - - /** - * Return the extension portion of the file's name . - * - * @see #getExtension - * @see FileFilter#accept - */ - public String getExtension(File f) { - if(f != null) { - String filename = f.getName(); - int i = filename.lastIndexOf('.'); - if(i>0 && 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 diff --git a/environments/Momo/java/Momo/GAG/AboutDialog.class b/environments/Momo/java/Momo/GAG/AboutDialog.class deleted file mode 100644 index be64e4887dafeb2aafcc3cf66b40d186494cb19c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1762 zcma)7ZBrXn6n^%SuuE9pf>dLz4OMFh&{RdMfGDIPrcDbL2!+1hB$u#|?2Wq{sx$rp zKl<6PPRB1gqoc`;%=iQRQ610S4P;R|<1l-&=Q;1sJ$w24#h-tn53@KjaN9u9z`B7i z4eT0tXyB2K4IP_0wsZ&`dpc@5_H|e~4s;yqsOxCxuysfs%^2cH$1sZN7)CIo)Y%vY zaV>^1B_@;@Mn;M2%J81T-XDO84`LX{TnrcR;Q$PLq|_TR4B=xXK2d)2CT`(VC6<&} zQ6j5E-oz7puEZB6o+4+0W7R|%_f1q(L=_7rzQVQ%N2xA8GvT3NqJ>2bucW4m2mFX< z>fEkn*2)K>;w}6e-tZjDt`Xdqnks3CrV0i1JDv(c`72@$X(@lG2~d}-^iAChugd+f^IK|tm23|%`8_u zOWHa0?$2}OB_2h~^@QC`Gt+hQS?u;5CN_XpT6=pGpkd-Xcj|TV96ZeN32`rBGm`Qr z?q9TQ%UjYguw15bllkSmhW;!KBpeNqtgH$RLs@CN9=E*`ueV5#<-V?nrW)PVFq)s+ zDo|LmBpjEZqz3b>YLI$OEsll}dd>KiZd$x9Ym{3dIme-?1#f83l}-=&7A;%cZ8gfm z+2rLq)g9~2x6<-FX%ju8JuKKO4Z}rQ;q?-CEEPsAvb95MdPBCHideN&rYI@izJ|$7 z>F!(n&`RExRo>t;$$W14?&e%Fzg0-)@2zdEQy<(v<#plgNv9#IwA#E%a*SlK04K*w z%<*PZ*kp{B>%2l$^{VAIrAs9TYQhUzpp^b+q!v7wgL*zi{3$fVLqPW^&w{qci61(o zUa}KT$4_JPj#Uj7Ib5R1%c33z*14^KUZ!o!uF7W`E}doyFMMy_3%)(H$-&yv*7}B) zXVo+Q=Mmf%bQF?Ei8Os~hFsyTN=MWj*;1UvNH1Bg<)5|T$>2jklCHTC&^<#B)a^u) z(fchdle|OP3-r?;@Jo6+u0=XXq<_PeHr_o(eCHUWJAH(`*1_xZkwoMeV}woY#0k4J z)5c^QQysj~#+%zAV;>o3&oRdJu5UWd5|K78Z>t&|ygDCEA7gMQ9_`@bA9yGIJ3VbA z6H)c1lBeVSiKq%7_-dL$Q@>Kj8cHOWXg;t_7;Fn8tb|FnjU{#;57-V4*e+c55Z|&# z_>Mis_v{INU{CQQ4TO<0o1$it7T$1cn5L1&7o}HStr+wd5(#!bO zl27Q=p?Mj|>b&%nOX$iup32v&B^4~llFR8jbADO6MHx8S>y&vyBtOUO--%;-_guQ* z*MqW}ar8u5;3Y2HU*yWP#LZaB76>s}soV-xl`vTLt9GsK*^S24o^s3V+l^&S`)j;Q z^|&rwF4ujqv0S*O!h&+Sk!n9#N9ZrEuBsp-YYIb1@VV)S4~Ng~6o1dK89;=u1h8v< zNB6ls^xn0M$R3PsBrKza#TE=xM|wcw GF!l#iU$a*L diff --git a/environments/Momo/java/Momo/GAG/ErrStream.class b/environments/Momo/java/Momo/GAG/ErrStream.class deleted file mode 100644 index a4961dac2eac4a37c7361e644562dd8eea29db91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1834 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 IUdv$o3pcKa?EnA( diff --git a/environments/Momo/java/Momo/GAG/ExampleFileFilter.java b/environments/Momo/java/Momo/GAG/ExampleFileFilter.java deleted file mode 100644 index c559e85ba8..0000000000 --- a/environments/Momo/java/Momo/GAG/ExampleFileFilter.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * @(#)ExampleFileFilter.java 1.4 98/04/14 - * - * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved. - * - * This software is the confidential and proprietary information of Sun - * Microsystems, Inc. ("Confidential Information"). You shall not - * disclose such Confidential Information and shall use it only in - * accordance with the terms of the license agreement you entered into - * with Sun. - * - * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE - * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE - * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES - * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING - * THIS SOFTWARE OR ITS DERIVATIVES. - * - */ - - -import java.io.File; -import java.util.Hashtable; -import java.util.Enumeration; -import com.sun.java.swing.*; -import com.sun.java.swing.preview.filechooser.*; -import com.sun.java.swing.preview.*; - -/** - * A convenience implementation of FileFilter that filters out - * all files except for those type extensions that it knows about. - * - * Extensions are of the type ".foo", which is typically found on - * Windows and Unix boxes, but not on Macinthosh. Case is ignored. - * - * Example - create a new filter that filerts out all files - * but gif and jpg image files: - * - * JFileChooser chooser = new JFileChooser(); - * ExampleFileFilter filter = new ExampleFileFilter( - * new String{"gif", "jpg"}, "JPEG & GIF Images") - * chooser.addChoosableFileFilter(filter); - * chooser.showOpenDialog(this); - * - * @version 1.4 04/14/98 - * @author Jeff Dinkins - */ -public class ExampleFileFilter extends FileFilter { - - private static String TYPE_UNKNOWN = "Type Unknown"; - private static String HIDDEN_FILE = "Hidden File"; - - private Hashtable filters = null; - private String description = null; - private String fullDescription = null; - private boolean useExtensionsInDescription = true; - - /** - * Creates a file filter. If no filters are added, then all - * files are accepted. - * - * @see #addExtension - */ - public ExampleFileFilter() { - this((String) null, (String) null); - } - - /** - * Creates a file filter that accepts files with the given extension. - * Example: new ExampleFileFilter("jpg"); - * - * @see #addExtension - */ - public ExampleFileFilter(String extension) { - this(extension,null); - } - - /** - * Creates a file filter that accepts the given file type. - * Example: new ExampleFileFilter("jpg", "JPEG Image Images"); - * - * Note that the "." before the extension is not needed. If - * provided, it will be ignored. - * - * @see #addExtension - */ - public ExampleFileFilter(String extension, String description) { - this(new String[] {extension}, description); - } - - /** - * Creates a file filter from the given string array. - * Example: new ExampleFileFilter(String {"gif", "jpg"}); - * - * Note that the "." before the extension is not needed adn - * will be ignored. - * - * @see #addExtension - */ - public ExampleFileFilter(String[] filters) { - this(filters, null); - } - - /** - * Creates a file filter from the given string array and description. - * Example: new ExampleFileFilter(String {"gif", "jpg"}, "Gif and JPG Images"); - * - * Note that the "." before the extension is not needed and will be ignored. - * - * @see #addExtension - */ - public ExampleFileFilter(String[] filters, String description) { - this.filters = new Hashtable(filters.length); - for (int i = 0; i < filters.length; i++) { - // add filters one by one - addExtension(filters[i]); - } - setDescription(description); - } - - /** - * Return true if this file should be shown in the directory pane, - * false if it shouldn't. - * - * Files that begin with "." are ignored. - * - * @see #getExtension - * @see FileFilter#accepts - */ - public boolean accept(File f) { - if(f != null) { - if(f.isDirectory()) { - return true; - } - String extension = getExtension(f); - if(extension != null && filters.get(getExtension(f)) != null) { - return true; - }; - } - return false; - } - - /** - * Return the extension portion of the file's name . - * - * @see #getExtension - * @see FileFilter#accept - */ - public String getExtension(File f) { - if(f != null) { - String filename = f.getName(); - int i = filename.lastIndexOf('.'); - if(i>0 && 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 diff --git a/environments/Momo/java/Momo/GAG/GAG/AboutDialog.class b/environments/Momo/java/Momo/GAG/GAG/AboutDialog.class deleted file mode 100644 index be64e4887dafeb2aafcc3cf66b40d186494cb19c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1762 zcma)7ZBrXn6n^%SuuE9pf>dLz4OMFh&{RdMfGDIPrcDbL2!+1hB$u#|?2Wq{sx$rp zKl<6PPRB1gqoc`;%=iQRQ610S4P;R|<1l-&=Q;1sJ$w24#h-tn53@KjaN9u9z`B7i z4eT0tXyB2K4IP_0wsZ&`dpc@5_H|e~4s;yqsOxCxuysfs%^2cH$1sZN7)CIo)Y%vY zaV>^1B_@;@Mn;M2%J81T-XDO84`LX{TnrcR;Q$PLq|_TR4B=xXK2d)2CT`(VC6<&} zQ6j5E-oz7puEZB6o+4+0W7R|%_f1q(L=_7rzQVQ%N2xA8GvT3NqJ>2bucW4m2mFX< z>fEkn*2)K>;w}6e-tZjDt`Xdqnks3CrV0i1JDv(c`72@$X(@lG2~d}-^iAChugd+f^IK|tm23|%`8_u zOWHa0?$2}OB_2h~^@QC`Gt+hQS?u;5CN_XpT6=pGpkd-Xcj|TV96ZeN32`rBGm`Qr z?q9TQ%UjYguw15bllkSmhW;!KBpeNqtgH$RLs@CN9=E*`ueV5#<-V?nrW)PVFq)s+ zDo|LmBpjEZqz3b>YLI$OEsll}dd>KiZd$x9Ym{3dIme-?1#f83l}-=&7A;%cZ8gfm z+2rLq)g9~2x6<-FX%ju8JuKKO4Z}rQ;q?-CEEPsAvb95MdPBCHideN&rYI@izJ|$7 z>F!(n&`RExRo>t;$$W14?&e%Fzg0-)@2zdEQy<(v<#plgNv9#IwA#E%a*SlK04K*w z%<*PZ*kp{B>%2l$^{VAIrAs9TYQhUzpp^b+q!v7wgL*zi{3$fVLqPW^&w{qci61(o zUa}KT$4_JPj#Uj7Ib5R1%c33z*14^KUZ!o!uF7W`E}doyFMMy_3%)(H$-&yv*7}B) zXVo+Q=Mmf%bQF?Ei8Os~hFsyTN=MWj*;1UvNH1Bg<)5|T$>2jklCHTC&^<#B)a^u) z(fchdle|OP3-r?;@Jo6+u0=XXq<_PeHr_o(eCHUWJAH(`*1_xZkwoMeV}woY#0k4J z)5c^QQysj~#+%zAV;>o3&oRdJu5UWd5|K78Z>t&|ygDCEA7gMQ9_`@bA9yGIJ3VbA z6H)c1lBeVSiKq%7_-dL$Q@>Kj8cHOWXg;t_7;Fn8tb|FnjU{#;57-V4*e+c55Z|&# z_>Mis_v{INU{CQQ4TO<0o1$it7T$1cn5L1&7o}HStr+wd5(#!bO zl27Q=p?Mj|>b&%nOX$iup32v&B^4~llFR8jbADO6MHx8S>y&vyBtOUO--%;-_guQ* z*MqW}ar8u5;3Y2HU*yWP#LZaB76>s}soV-xl`vTLt9GsK*^S24o^s3V+l^&S`)j;Q z^|&rwF4ujqv0S*O!h&+Sk!n9#N9ZrEuBsp-YYIb1@VV)S4~Ng~6o1dK89;=u1h8v< zNB6ls^xn0M$R3PsBrKza#TE=xM|wcw GF!l#iU$a*L diff --git a/environments/Momo/java/Momo/GAG/GAG/ErrStream.class b/environments/Momo/java/Momo/GAG/GAG/ErrStream.class deleted file mode 100644 index a4961dac2eac4a37c7361e644562dd8eea29db91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1834 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

^#QA8`ObKG1w4``tbOSB{CEDPCzNZz5`% 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%0DJ-uVT_n0DHd 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 diff --git a/environments/Momo/java/Momo/GAG/GAG/GAG.java b/environments/Momo/java/Momo/GAG/GAG/GAG.java deleted file mode 100644 index 2d46b7ae0a..0000000000 --- a/environments/Momo/java/Momo/GAG/GAG/GAG.java +++ /dev/null @@ -1,618 +0,0 @@ -// GAG (Geant4 Adaptive GUI) -// Requires : JDK 1.1.3 (or later) + swing-1.0.2 -// Version : alpha 1998/Mar/31 -// GEANT4 GUI Group, Toshiaki Kodama -// H Yoshida 1998 June , for Beta release -// Now, use swing 1.0.2 JFileChooser to select by file extensions -// Now displayed labels change color to notify busy state. -// July 1, add @@Ask to accept users key-in with showInputDialog (imcomplete) -// July 5 now use more readable fonts. - -package GAG; - -import TextEdit.TextEdit; -// Swing 1.0.2 ExampleFileFilter.class is in the same dir as gag.class -import ExampleFileFilter; - -import com.sun.java.swing.preview.*; -import com.sun.java.swing.preview.filechooser.*; -// now use Swing-1.0.2 FileChooser, yet in the preview stage !! - -import java.awt.*; -//import java.awt.Cursor.*; -import java.awt.event.*; -import java.util.*; -import java.io.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import com.sun.java.swing.tree.*; - -public class GAG extends JFrame implements TreeSelectionListener, ActionListener { - static final String gagVer = "J1.0a"; - private String g4Ver, command; - private GAGpipe geant4; - private ErrStream errStream; - private GAGtextEditor textEdit; - private Hashtable paramsHash; - private Vector disableCommands; - private ParamPanel paramPanel; - private JPanel geantPanel; - private JSplitPane splitPane; - private JFileChooser geant4Chooser, historyChooser; - private JMenuItem execG4, exitG4, killG4, exitGAG, clearOneHist, clearAllHist, saveHist, htmlHelp, about; - private JTextField directField; - private JLabel promptLabel; - private String fileName; - private CardLayout cardLayout; - private boolean endGAG; -//use p1' background color to show GEANT4's busy states. Not Yet! - private JPanel p1; - -// FileFilter in Swing-1.0.2 test - private ExampleFileFilter exeFilter, outFilter, g4hFilter, - g4histFilter, txtFilter, histFilter; - - public GAG(){ - super("GAG"); - getContentPane().setLayout(cardLayout = new CardLayout()); - geantPanel = new JPanel(new BorderLayout()); - - JMenu geantMenu = new JMenu("GEANT4"); - - geantMenu.setBackground(Color.orange); - geantMenu.setFont(new Font("Serif", Font.BOLD, 12)); - - execG4 = new JMenuItem("Exec GEANT4"); - exitG4 = new JMenuItem("Exit GEANT4"); - killG4 = new JMenuItem("Kill GEANT4"); - exitGAG = new JMenuItem("Exit GAG"); - execG4.setBackground(Color.green); - exitG4.setBackground(Color.green); - killG4.setBackground(Color.orange); - exitGAG.setFont(new Font("Serif", Font.BOLD, 12)); - execG4.setFont(new Font("Serif", Font.BOLD, 12)); - exitG4.setFont(new Font("Serif", Font.BOLD, 12)); - killG4.setFont(new Font("Serif", Font.BOLD, 12)); - exitGAG.setFont(new Font("Serif", Font.BOLD, 12)); - - geantMenu.add(execG4); - geantMenu.add(exitG4); - geantMenu.add(killG4); - geantMenu.addSeparator(); - geantMenu.add(exitGAG); - - JMenu histMenu = new JMenu("History"); - - histMenu.setBackground(Color.yellow); - histMenu.setFont(new Font("Serif", Font.BOLD, 12)); - - clearOneHist = new JMenuItem("Clear One"); - clearAllHist = new JMenuItem("Clear All"); - saveHist = new JMenuItem("Save history"); - clearOneHist.setBackground(Color.yellow); - clearAllHist.setBackground(Color.yellow); - saveHist.setBackground(Color.green); - clearOneHist.setFont(new Font("Serif", Font.BOLD, 12)); - clearAllHist.setFont(new Font("Serif", Font.BOLD, 12)); - saveHist.setFont(new Font("Serif", Font.BOLD, 12)); - - - histMenu.add(clearOneHist); - histMenu.add(clearAllHist); - histMenu.add(saveHist); - - JMenu helpMenu = new JMenu("Help"); - helpMenu.setBackground(Color.white); - helpMenu.setFont(new Font("Serif", Font.BOLD, 12)); - helpMenu.add(htmlHelp = new JMenuItem("Help")); - helpMenu.add(about = new JMenuItem("About")); - - execG4.addActionListener(this); - exitG4.addActionListener(this); - killG4.addActionListener(this); - exitGAG.addActionListener(this); - clearOneHist.addActionListener(this); - clearAllHist.addActionListener(this); - saveHist.addActionListener(this); - htmlHelp.addActionListener(this); - about.addActionListener(this);; - - JMenuBar mb = new JMenuBar(); - mb.add(geantMenu); - mb.add(histMenu); - mb.add(helpMenu); // mb.setHelpMenu(helpMenu); - -//to the last position executingMenu(false); - setJMenuBar(mb); - directField = new JTextField(); - directField.setFont(new Font("Serif", Font.BOLD, 12)); - directField.addActionListener(this); - - p1 = new JPanel(new BorderLayout()); - promptLabel = new JLabel("****** PROMPT ******", JLabel.CENTER); - promptLabel.setForeground(Color.black); - promptLabel.setFont(new Font("Serif", Font.BOLD, 12)); - p1.add("Center", directField); - p1.add("West", promptLabel); - - geantPanel.add("South", p1); - JLabel idleLabel =new JLabel("Welcome to GEANT4",JLabel.CENTER); - idleLabel.setFont(new Font("Serif", Font.BOLD, 18)); - getContentPane().add("idle", idleLabel); - JLabel treeLabel = new JLabel("Making command tree"); - treeLabel.setFont(new Font("Serif", Font.BOLD, 18)); - getContentPane().add("tree", treeLabel); - getContentPane().add("geant",geantPanel); - - cardLayout.show(getContentPane(), "idle"); - setSize(600,400); - setVisible(true); - geant4Chooser = new JFileChooser("."); -// Swing 1.0.2 FileFilter OK!! 1998 June 25 - geant4Chooser.setDialogTitle("GEANT4 Executable"); - - exeFilter = new ExampleFileFilter("exe", "DOS executable"); - outFilter = new ExampleFileFilter("out", "Unix executable"); - - geant4Chooser.addChoosableFileFilter(exeFilter); - geant4Chooser.addChoosableFileFilter(outFilter); -// - - historyChooser = new JFileChooser("."); - -// Swing 1.0.2 FileFilter OK!! 1998 June 25 - historyChooser.setDialogTitle("Command History"); - g4hFilter = new ExampleFileFilter("g4h", "Geant4 History"); - g4histFilter = new ExampleFileFilter("g4hist", "Geant4 History"); - txtFilter = new ExampleFileFilter("txt", "Geant4 History"); - histFilter = new ExampleFileFilter("hist", "Geant4 History"); - - historyChooser.addChoosableFileFilter(g4hFilter); - historyChooser.addChoosableFileFilter(g4histFilter); - historyChooser.addChoosableFileFilter(txtFilter); - historyChooser.addChoosableFileFilter(histFilter); - -// end of Swing test - - executingMenu(false); - - } - private void executingMenu(boolean b){ - execG4.setEnabled(!b); -//originally exitG4.setEnabled(b); - exitG4.setEnabled(!b); - killG4.setEnabled(b); -//yoshida -// exitGAG.setEnabled(b); - clearOneHist.setEnabled(b); - clearAllHist.setEnabled(b); - saveHist.setEnabled(b); - -// -//this hide allthe time p1.setVisible(!b); - if (!b) { - p1.setBackground(Color.green); repaint(); - }else{ - p1.setBackground(Color.red); repaint(); - } - } - - public void mainLoop(String args[]){ - endGAG = false; - if (args.length > 0) { - fileName = args[0]; - geantStart(args); - } - String[] fn = new String[1]; - while(!endGAG){ - waiting(); - if (endGAG) return; - fn[0] = fileName; - geantStart(fn); - } - } - private synchronized void waiting(){ - try{ - wait(); - }catch(InterruptedException e){ - } - } - private synchronized void resume(){ - notify(); - } - private void geantStart(String[] args){ - String line, prompt = "G4"; - geant4 = new GAGpipe(args); - boolean paramChanged = false; - if (geant4.isError()){ - JOptionPane.showMessageDialog(this, geant4.getErrorMsg(), - "Warning", JOptionPane.WARNING_MESSAGE); - geant4 = null; - return; - } - executingMenu(true); - if (textEdit == null) textEdit = new TextEdit(); - errStream = new ErrStream(geant4); - errStream.start(); - geant4.writeLine("@@GAGmodeJAVA"); - while ((line = geant4.readStdLine()) != null){ - if (line.startsWith("@@")){ - if (line.equals("@@JTreeBegin")){ - if (makeCommandTree()) break; - continue; - } - if (line.equals("@@JParamBegin")){ - if (receiveParams()) break; - paramChanged = true; - continue; - } - if (line.equals("@@JDirGuideBegin")){ - if (receiveCascade()) break; - continue; - } - if (line.equals("@@DisableListBegin")){ - if (receiveDisables()) break; - paramChanged = true; - continue; - } - if (line.equals("@@Ready")){ -//yoshida effective even if paramPanel is null. But PROMPT case is enough. - p1.setVisible(true); - - p1.setBackground(Color.green); repaint(); - if (paramPanel != null) { - paramPanel.toReady(); - if (paramChanged && !command.equals("")) setParamPanel(command); - } - paramChanged = false; - textEdit.writeString(prompt + ">"); - exitG4.setEnabled(true); - continue; - } - if (line.startsWith("@@PROMPT")){ - prompt = line.substring(line.indexOf("\"")+1, line.lastIndexOf("\"")); - promptLabel.setText(prompt); -//yoshida effective even if paramPanel is null - p1.setVisible(true); - p1.setBackground(Color.green); repaint(); - setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); - show(); - - continue; - } - if (line.startsWith("@@State")){ - continue; - } -// direct interaction with users - if (line.startsWith("@@Ask")){ - String answer = JOptionPane.showInputDialog(this,line); - geant4.writeLine(answer); - continue; - } -//direct questionnaire - - if (line.startsWith("@@CurrentValue")){ - paramPanel.loadCurrentValues(line); - textEdit.writeLine(line.substring(line.indexOf(" ")+1)); - continue; - } - if (line.startsWith("@@Version")){ - StringTokenizer st = new StringTokenizer( line ); - st.nextToken(); - g4Ver = st.nextToken(); - continue; - } - if (line.startsWith("@@ErrResult")){ - JOptionPane.showMessageDialog(this, - line.substring(line.indexOf("\"")+1, line.lastIndexOf("\"")), - "Warning", JOptionPane.WARNING_MESSAGE); - continue; - } - } - textEdit.writeLine(line); - } - geantTerminate(); - } - private void geantTerminate(){ - executingMenu(false); - if (geant4 != null){ - geant4.processKill(); - geant4 = null; - } - paramsHash = null; - if (errStream != null){ - errStream.close(); - errStream = null; - } - cardLayout.show(getContentPane(), "idle"); - paramPanel = null; - } - private boolean makeCommandTree() { - String pLine, label; - command = ""; - DefaultMutableTreeNode topTree, nowTree, childTree; - boolean found; - cardLayout.show(getContentPane(), "tree"); - if (splitPane != null) geantPanel.remove(splitPane); - int lastIndex = fileName.lastIndexOf("/"); - topTree = new DefaultMutableTreeNode( (lastIndex<0) ? fileName : fileName.substring(lastIndex+1) ); - while( !(pLine = geant4.readStdLine()).equals("@@JTreeEnd") ){ - if (pLine == null){ return true;} - nowTree = topTree; childTree = null; found = true; - StringTokenizer stCo = new StringTokenizer(pLine,"/"); - while(stCo.hasMoreTokens()){ - label = stCo.nextToken(); - if (found){ - found = false; - for (int i=0; i 1) { - for (int i=1; i 0 ){ - DefaultMutableTreeNode tempNode; - if (path.length > 1) { - dirHelp = (String)paramsHash.get(command+"/"); - }else{ - dirHelp = new String(path[0].toString()); - } - JLabel[][] helpLabel = new JLabel[2][childCount]; - for (int i=0; childCount > i; i++){ - tempNode = (DefaultMutableTreeNode)nowNode.getChildAt(i); - tempPath = command + "/" + tempNode; - if (tempNode.getChildCount() == 0){ - helpLabel[0][i] = new JLabel(tempNode+" "); - helpLabel[0][i].setForeground(isEnableCommand(tempPath) ? Color.red : Color.lightGray); - helpLabel[1][i] = new JLabel(((GAGcommandItem)(paramsHash.get(tempPath))).getTitle()); - }else{ - helpLabel[0][i] = new JLabel(tempNode+"/ "); - helpLabel[0][i].setForeground(isEnableCommand(tempPath+"/") ? Color.blue : Color.lightGray); - helpLabel[1][i] = new JLabel((String)paramsHash.get(tempPath +"/")); - } - } - paramPanel.setTreeHelp(dirHelp, helpLabel); - }else{ - GAGcommandItem ci = (GAGcommandItem)paramsHash.get(command); - if (ci == null) return; - paramPanel.setParamBox(ci, isEnableCommand(command)); - } - return; - } - boolean isEnableCommand(String command){ - return !disableCommands.contains(command); - } - public void actionPerformed(ActionEvent ae){ - - - Object o = ae.getSource(); - if ( o == directField){ - sendCommand(directField.getText()); - paramPanel.addHistory(directField.getText()); - directField.setText(""); - return; - } - if (o == exitGAG){ - if (geant4 != null) { - if(JOptionPane.showConfirmDialog(this, "Kill GEANT4 automatically.", "Exit GAG", JOptionPane.YES_NO_OPTION) == 1) {return;} - geantTerminate(); - endGAG = true; - }else{ - resume(); - endGAG = true; - } - return; - } - if (o == exitG4){ - sendCommand("exit"); - return; - } - if (o == execG4){ - if (geant4Chooser.showOpenDialog(this) == -1 )return; -// Swing1.0.2 - File f = geant4Chooser.getSelectedFile(); - if (f.isFile()) { - fileName = f.getPath(); - resume(); - } - return; - } - if (o == killG4){ - geantTerminate(); - return; - } - if (o == htmlHelp){ - return; - } - if (o == about){ - new AboutDialog(this, gagVer, g4Ver); - return; - } - if (o == clearAllHist){ - paramPanel.clearAllHistory(); - return; - } - if (o == clearOneHist){ - paramPanel.clearOneHistory(); - return; - } - if (o == saveHist){ - if (historyChooser.showSaveDialog(this) == -1 ) return; -// Swing1.0.2 - try{ - FileOutputStream fo = new FileOutputStream(historyChooser.getSelectedFile()); - PrintWriter outf = new PrintWriter(new DataOutputStream(fo)); - String[] items = paramPanel.getHistoryItems(); - for (int i=0; ilStus0!f^ZW>K1x(wvg!w2mt{r{iZV>Da(+9glHc#}lmS zXyJ~IO~kNP{-uw(A@m_IwMQy|?Mbj{wjIkY8-<)WL$OG<1Tn@p70+H7_@#-kSJ z>NBI=;Fx?q7!AADhAnd{onN2Qmz!}aysB3--7)L;k=bLZxjoCR`nzh3YlU^ zI+Pp41@?o^E=pk$KVS_41)>PYMfTtUju77p;VAKsA*>J=Ls%ug8NxB*$Y(sBkV{(M-P1+RyS8$06uX1Mc3!!pcEqy?`bZw0J(#jZ_QeGJ&n^*oO zF8zyaM*ECokuh?m)iD( zs7yNlo)bS!%yXV1uHZc9QdyXqIZQoELVc3;ym#RIlrd{2T0Ts^K=Qo_Ih=RlF!d6t z4{>IOgzP&mh1D(-KjQuSYA;ekgq{Q? 0) { - params = new String[paramEnts][MAX]; - } - this.range = range; - return; - } - String getCommandName(){ - return name; - } - String[] getCommandGuide(){ - return guide; - } - String getTitle(){ - return guide[0]; - } - String getCommandRange(){ - return range; - } - int getParamEntries(){ - return paramEnts; - } - String getParamName(int pos){ - return params[pos][NAME]; - } - String getParamGuide(int pos){ - return params[pos][GUIDE]; - } - String getParamType(int pos){ - return params[pos][TYPE]; - } - boolean isOmittable(int ent){ - return params[ent][OMITTABLE].equals("1"); - } - String getParamDefault(int pos){ - return params[pos][DEFAULT]; - } - String getParamRange(int pos){ - return params[pos][RANGE]; - } - String getParamCandidate(int pos){ - return params[pos][CANDIDATE]; - } -} diff --git a/environments/Momo/java/Momo/GAG/GAG/GAGpipe.class b/environments/Momo/java/Momo/GAG/GAG/GAGpipe.class deleted file mode 100644 index fed20fe65bb576bd571880453706e8378d15f021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2034 zcmZ`(TT|Os5dLI?WrVmHFi=9mEdgx6Y1)vaP)GuVFg1bVl$4}tD{NszjO5BPm%q|K zke5C{CpMjCrmvmJkIM8rl6+(6gZ7-W-|qQ#_pJ8Q=fD3!5HmOn;~N=C8T&G_G7e-I zG7e?DlaZ5gB*Tbk2?b#xf|wM$DFq5*El?3}K>*W2%qVEZtN;>1 z+*QzqFU9Vj0KO6?UkhyVz3k z8YvZTu&LrFJX7&A=2iS6#IIOXpY?5Wl+(;?V!LQM#*t2!o(4T{GR!R1!O5u| zSH2dvUP~to25L|PpTN3n*tV`^bbDTCdws1NhEMmudXi60zVX-_9O_hCww2Zk1;!k` z)|8x~1;aEP7O!d9%IFf>mMyd3Xr{BH<%&EjtEXu_?-H!BJ* zp(AOS`itVxo^HR?_Hs1nuh!;iaerU8^^Bh^Q>{Wwqd*2m z&MDgfECTr8gK5dKjD&&9crlbyje6R?TB}Z+m%QTPI%IG+F#@S%$pmjGW2Z=e<7u&dB8? z1oC{-R+c@(YKfkc5EdtI>jEjqKee2Q1`-H{Igwfb&c1*c8QcZLIB{1_9(UzXaaWEb zcjctvD)W1eHBOgx?*8QsL9QpUOSH$N5~8tS3AbW@VJKcke+gsn5!r|}3EgxVgEY8^ zeME5gBSO2e4;U-si%WD|B2vQ5E5JYn=pzuON0aYy;}V^h=qh3Of?>2{05{Og-3taX z$B_&~IM2I@^ziE?-b0HhhR}ym^dm-19D`V)_ARx?v}X!f^po0UF+@^BQj#IwEMq+R z9$k%D#LsCQ;OK9wQjc=f!>#NHkx^nJM8_DyID@%O!U^KVDoxg>nQ&?PJet8qnm^IY z5Ta#_Ttj%reZm;8iSwH#VVs0BB%CE-f`oTTdygTVV%5)Wnw9~E(aCFv`9z~)Eu;Gn z>bwdnE`FcM%+a%eCEs(Lt3<0XJ@{-r7gszUu{9o2r{l5jG30wR)8kf+Amm=NK-0I? fTEucL0V<9WNIh8g-X;usymc#Cyd_wM_?2Bsj>R2`p&iAsk{_UFLi|~Gv!V2!fI_@7-Jp`R!yb(nH`YNP diff --git a/environments/Momo/java/Momo/GAG/GAG/GAGtextEditor.java b/environments/Momo/java/Momo/GAG/GAG/GAGtextEditor.java deleted file mode 100644 index b88680b99f..0000000000 --- a/environments/Momo/java/Momo/GAG/GAG/GAGtextEditor.java +++ /dev/null @@ -1,13 +0,0 @@ -// GAG (Geant4 Adaptive GUI) -// Requires : JDK 1.1.3 (or later) + swing-1.0.2 -// Version : alpha 1998/Mar/31 -// Toshiaki Kodama GEANT4 GUI Group -// 1998 July 6 GEANT4 Beta-01 -// This is an junction to better TextEditor in future. - -package GAG; - -public interface GAGtextEditor { - public void writeString(String str); - public void writeLine(String str); -} diff --git a/environments/Momo/java/Momo/GAG/GAG/HtmlFrame.class b/environments/Momo/java/Momo/GAG/GAG/HtmlFrame.class deleted file mode 100644 index a1001bf160da1c97ea53bda91284096b7728e6d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1410 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 diff --git a/environments/Momo/java/Momo/GAG/GAG/ParamPanel.java b/environments/Momo/java/Momo/GAG/GAG/ParamPanel.java deleted file mode 100644 index 7be3a5d3d3..0000000000 --- a/environments/Momo/java/Momo/GAG/GAG/ParamPanel.java +++ /dev/null @@ -1,416 +0,0 @@ -// GAG (Geant4 Adaptive GUI) -// Requires : JDK 1.1.3 (or later) + swing-1.0.2 -// Version : alpha 1998/Mar/31 -// GEANT4 GUI Group, Toshiaki Kodama -// modified by H Yoshida, 1998 June 25 -// use of FileFilter of Swing 1.0.2, to select after file extensions -// improvement of notification method of GEANT4 states -// by using setVisible and setBackground of relevant buttons -// specially "ok" button. - -package GAG; - -import com.sun.java.swing.preview.*; -//FileFilter of Swing1.0.2 -import ExampleFileFilter; - -import java.util.*; -import java.awt.*; -import java.io.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.preview.filechooser.*; -// for Swing-1.0.2 FileChooser - -class ParamPanel extends JPanel implements ActionListener, ItemListener { - private GAG gag; - private GridBagLayout gbl; GridBagConstraints gbc; - private JPanel paramArea; - private JButton def, current, clear, ok, fileBrowser; - private JComboBox history; - private int posY; - private GAGcommandItem ci; - private Component paraBox[]; - private boolean isExecuting; - private JFileChooser fileChooser; -// FileFilter in Swing-1.0.2 test - private ExampleFileFilter g4mFilter, macroFilter, g4macroFilter, - txtFilter; - - - - ParamPanel(GAG gag){ - isExecuting = false; - this.gag = gag; - setLayout( new BorderLayout() ); - - gbc = new GridBagConstraints(); - gbl = new GridBagLayout(); - - paramArea = new JPanel(); - paramArea.setLayout(gbl); - paramArea.setBackground(new Color(255, 250, 230)); - add("Center", new JScrollPane(paramArea)); - - JPanel buttons = new JPanel(); - buttons.setLayout(new GridLayout( 1, 0, 2, 2)); -// Yoshida color - def = new JButton("Default"); - current = new JButton("Current"); - clear = new JButton("Clear"); - ok = new JButton("OK"); - ok.setBackground(Color.green); -//no good?? ok.setFont(new Font("OK",1,12)); - def.setBackground(Color.blue); - current.setBackground(Color.orange); - clear.setBackground(SystemColor.white); -// ok.setBackground(SystemColor.control); -// color - - buttons.add( def ); - buttons.add( current ); - buttons.add( clear ); - buttons.add( ok ); - add("South", buttons); - - history = new JComboBox(); - history.addItem("# GEANT4 history macro."); - history.addItemListener(this); - add("North", history); -//yoshida setinvisible and setdisable - def.setVisible(false); - def.setEnabled(false); - def.setMargin(new Insets(1,3,1,3)); - def.addActionListener(this); - -//yoshida - current.setVisible(false); - current.setEnabled(false); - current.setMargin(new Insets(1,3,1,3)); - current.addActionListener(this); -//yoshida - clear.setVisible(false); - clear.setEnabled(false); - clear.setMargin(new Insets(1,3,1,3)); - clear.addActionListener(this); - -//yoshida - ok.setVisible(false); - ok.setEnabled(false); - ok.setMargin(new Insets(1,3,1,3)); - ok.addActionListener(this); - - fileBrowser = new JButton("Open a Macro File"); - fileBrowser.addActionListener(this); - fileChooser = new JFileChooser("."); -// Swing 1.0.2 FileFilter OK!! 1998 June 25 - fileChooser.setDialogTitle("Macro File"); - g4mFilter = new ExampleFileFilter("g4m", "Geant4 macro"); - g4macroFilter = new ExampleFileFilter("g4macro", "Geant4 macro"); - txtFilter = new ExampleFileFilter("txt", "Geant4 macro"); - macroFilter = new ExampleFileFilter("macro", "Geant4 macro"); - - fileChooser.addChoosableFileFilter(g4mFilter); - fileChooser.addChoosableFileFilter(g4macroFilter); - fileChooser.addChoosableFileFilter(txtFilter); - fileChooser.addChoosableFileFilter(macroFilter); - -// end of Swing-1.0.2 FileChooser - - - } - void setParamBox(GAGcommandItem ci, boolean enable){ - paramArea.removeAll(); - this.ci = ci; - posY = 0; - JLabel l; - if (!enable){ - l = new JLabel("This command is not available."); - l.setForeground(Color.red); - addComponent(l); - } - addComponent(new JLabel(ci.getCommandName())); - String guide[] = ci.getCommandGuide(); - for (int i=0; i 0){ - def.setEnabled(true); -//yoshida - def.setVisible(true); - current.setEnabled(!isExecuting && enable); -//yoshida - current.setVisible(!isExecuting && enable); - clear.setEnabled(true); -//yoshida - clear.setVisible(true); - paraBox = new JComponent[ci.getParamEntries()]; - String candidateList; - for (int i=0; i 0){ - String val; - for (int i=0; i= 0){ - JOptionPane.showMessageDialog(this, ci.getParamName(i)+"\nThis parameter cannot include SPACE character", "Error", JOptionPane.WARNING_MESSAGE); - return null; - } - }else{ - val = (String)((JComboBox)paraBox[i]).getSelectedItem(); - } - param.append(" "+val); - } -//yoshida - current.setVisible(false); - current.setEnabled(false); - } -//yoshida - ok.setVisible(false); - ok.setEnabled(false); - history.addItem(param.toString()); - return param.toString(); - } - private void addComponent(Component compo){ - gbc.gridx = 0; gbc.gridy = posY++; - gbc.gridwidth = 3; gbc.gridheight = 1; - gbc.weightx = 1.0; gbc.weighty = 0.0; - gbc.anchor = GridBagConstraints.WEST; - gbl.setConstraints(compo, gbc); - paramArea.add(compo); - } - private void addComponent(Component compo1, Component compo2){ - gbc.gridx = 0; gbc.gridy = posY; - gbc.gridwidth = 1; gbc.gridheight = 1; - gbc.weightx = 0.0; gbc.weighty = 0.0; - gbc.anchor = GridBagConstraints.EAST; - gbl.setConstraints(compo1, gbc); - paramArea.add(compo1); - gbc.gridx = 1; - gbc.anchor = GridBagConstraints.WEST; - gbl.setConstraints(compo2, gbc); - paramArea.add(compo2); - posY++; - } - private void addComponent(Component title, Component compo1, Component compo2){ - gbc.gridx = 0; gbc.gridy = posY; - gbc.gridwidth = 1; gbc.gridheight = 1; - gbc.weightx = 0.0; gbc.weighty = 0.0; - gbc.fill = GridBagConstraints.NONE; - gbc.anchor = GridBagConstraints.EAST; - gbl.setConstraints(title, gbc); - paramArea.add(title); - gbc.gridx = 1; - gbc.fill = GridBagConstraints.HORIZONTAL; - gbl.setConstraints(compo1, gbc); - paramArea.add(compo1); - gbc.gridx = 2; - gbc.fill = GridBagConstraints.NONE; - gbc.anchor = GridBagConstraints.WEST; - gbl.setConstraints(compo2, gbc); - paramArea.add(compo2); - posY++; - } - private void loadValue(int i, String str){ - if (paraBox[i] instanceof JTextField){ - ((JTextField)paraBox[i]).setText(str); - } - if (paraBox[i] instanceof JComboBox){ - ((JComboBox)paraBox[i]).setSelectedItem(str); - } - } - void addHistory(String line){ - if (line.startsWith("/")) history.addItem(line); - } - void clearAllHistory(){ - history.removeAllItems(); - } - void clearOneHistory(){ - int ix = history.getSelectedIndex(); - if (ix >= 0) history.removeItemAt(ix); - } - String[] getHistoryItems(){ - String[] item = new String[history.getItemCount()]; - for (int i=0; i>history.getItemCount(); i++){ - item[i] = (String)history.getItemAt(i); - } - return item; - } - void loadCurrentValues(String line){ - StringTokenizer st = new StringTokenizer( line ); - st.nextToken(); - int i=0; - while(st.hasMoreTokens()){ - loadValue(i++, st.nextToken()); - } - } - public void itemStateChanged(ItemEvent ie){ - if (isExecuting) return; - if (ie.getStateChange() != ItemEvent.SELECTED) return; - String str = (String)ie.getItem(); - if ( !str.startsWith("/") ) return; - StringTokenizer st = new StringTokenizer( str ); - if (!gag.setParamPanel(st.nextToken())) return; - int i=0; - while(st.hasMoreTokens()){ - loadValue(i++, st.nextToken()); - if (i >= ci.getParamEntries()) return; - } - } - public void actionPerformed(ActionEvent ev){ - Object source = ev.getSource(); - if ( source == ok ){ - String p = makeCommandLine(); - if (p == null) return; - isExecuting = true; - gag.sendCommand(p); -//yoshida instead of sandwatch, ok button becomes invisible - ok.setVisible(false); - ok.setEnabled(false); -// Be careful! mouse may freeze, if setinvisible but not setdisabled!! - return; - }else if (source == def){ - for (int i=0; ci.getParamEntries()>i; i++){ - loadValue(i, ci.getParamDefault(i)); - } - return; - }else if (source == current){ - gag.reqCurrent(ci.getCommandName()); - return; - }else if (source == clear){ - for (int i=0; ci.getParamEntries()>i; i++){ - if (paraBox[i] instanceof JTextField){ - ((JTextField)paraBox[i]).setText(""); - } - } - return; - }else if (source == fileBrowser){ -//swing102 filechooser showDialog(this, null) or the next - if (fileChooser.showOpenDialog(this) == -1 ) return; - File f = fileChooser.getSelectedFile(); - if (f.isFile()) { - if (paraBox[0] instanceof JTextField){ - ((JTextField)paraBox[0]).setText(f.getPath()); - } - } - return; - } - } - void toReady(){ - isExecuting = false; - if (ci == null) return; - ok.setEnabled(true); -//yoshida setenable then setvisible - ok.setVisible(true); - if (ci.getParamEntries() == 0) return; - current.setEnabled(true); -//yoshida - current.setVisible(true); - } -} - -class BooleanCombo extends JComboBox { - BooleanCombo(String str){ - String def = str.toUpperCase(); - if (def.equals("0") || def.equals("1")){ - addItem("0"); - addItem("1"); - }else if (def.equals("Y") || def.equals("N")){ - addItem("Y"); - addItem("N"); - }else if (def.equals("YES") || def.equals("NO")){ - addItem("YES"); - addItem("NO"); - }else if (def.equals("T") || def.equals("F")){ - addItem("T"); - addItem("F"); - } else { - addItem("FALSE"); - addItem("TRUE"); - } - if (!def.equals("")){ - setSelectedItem(def); - } - } -} diff --git a/environments/Momo/java/Momo/GAG/GAG/README b/environments/Momo/java/Momo/GAG/GAG/README deleted file mode 100644 index 6e6c9f899b..0000000000 --- a/environments/Momo/java/Momo/GAG/GAG/README +++ /dev/null @@ -1,24 +0,0 @@ -1998 June 25 Yoshida - - Improve look-and-feel of GAG by KOdama (as of 31/March/1998). - - -Swing-1.0.1 is used. -Swing-1.0.2 is desirable, but wait a moment. Swing-1.0.2 has -not yet frozen classes and interfaces, among them JColorChooser -and JFileChooser. -They are left as before in swing.preview package!! - - -Swing-1.0.2 JFileChooser is good for us since it allows file filtering, - free label on buttons etc.. - -But it is better to wait JDK1.2!! - - -So there is only minor improvements. - -Font is one of the most iportant improvement. -Current fonts are too small or not beautiful. - - diff --git a/environments/Momo/java/Momo/GAG/GAG/TextEditor.class b/environments/Momo/java/Momo/GAG/GAG/TextEditor.class deleted file mode 100644 index bc84f4b9f96314e2fad8af26fbe8aa96fa04ea36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4895 zcmb7Id3an^76092X5QrWwb`1sq5Gark`8N&X(?vul8~is+J;Gi@-lg8r=83TGjEzM zEX93AK~TXBQ9)6W7CM6jK|w_kKlO9h4{_gjz+Lcn-kYs;;`jN-oO|!N=bm%VxxaJX zz4O$I4?l`Zw5s!i_-GJM2l164z8b{Wg7|t6-w5KFAbt?UvqAhYh#zVAriNc>__c=L zX!xy$-)Z>0hCgWdqlQ0e__L;zrYba5sVSeP{F(}AO4C$OQ&pPMH8n$1hNfm}YL=#| zHC3ajT20kys$NsGHPxW0IXY${rK46zy^z^L<_ei7BqU@3939J%*0Dm!QXJN?T1Yh} zb<_x{6A}`#5Jz+@!%-b;a7;8G7m;gqoP+CxT(4smZV=%UV(msz^$Hzx@X9LgsX9;h{!vIce{>NxI>JSG~r#sd$-8FM@IwRD{}9X{oN_n-Y*-!ORRlBMp+&OQv5a?um^}(~ERF z*7*O>?@lYMEUUn=jyT~iJDMK15{_#q)KnU!@d-QO&Xi*+)RhQtVMtvK^`*?DIc~Y! z`6b+5^QfJ6`pks6pC=&hEiRe04%1?|J?g~l#AfNc63eEM=#8ZuOAb=h)aHa@c6duH z?ip?@@&?k*MB3p|S|%e#`Bk~O(v#1j#AOvuy`@wz$Ng`?j`Y}=3#o>3;YW@XY%YdfsL_5%-N(6=;U!& zNowh|M=gb!%%hZJCY(KHJk2rL6GxdHooR=I&7(0k`sO21YeEh)MV=gs!mO?BTbJx2 z_C&;{K4FAQ8H=V(r5v8i3y6w#9xsz>VOb5kY&-6ijOt$Ie}8&>#7gcmM`TwG#emB; zyJBYCmXy!&399WZ0(ty!)4g`ojPEg%Fr-9ZJUBn&!Dj4SAI{?v6@|Axq@hEU)A%l*%4u-V^m+ zP~GLb4kYc#T#<1#q@7qi?0($5`vx&LP6!eK32V~JbF$cH#qil~J<+8pOih^4LrnY$ zuf}K-Qkddg?;~Vc5qv4P=;+eq*UU*-P6wCq9y3T3TALHHBMQ&pL=pTNNAfNA`1v~) zcSe35Ya-LTf4p~7>zCPk3;{m2fK;eX%c3om!Okhni)3*@2C>i-X0vgAnNKWD9|;;?v37&@)-iT>U+-cX6>h&z|&Kx<<`R7aZRKyki~}HX8KYWsS9SYariWbGw2w~v8p`Q z-V)Xfj};Y`tHMtebkSAe^CtUbGRLa)SUn{y-DB+&Rx1P0KGfPGlwlgC^PAc3&9%{7 z+m~y5a_v58TkoeoUX*(Hf&?F9LB7T6_gBaEAHE^ftn zxPvjg3m4#CT!>S+2oGZ&9>;n-#Z^$};fWjsRuV!L)LbP;$gOTI9*pizY@o?DE;+Zb zWIe+yOXkaxDTE@;45Wc?qi2T-x`bx124XS z9q%iQuR2-W#xlAMY$m3*Fy32K;oL7qY0YANo4>XOkNDdH z_n@KCH-$Bk#z18QE5OTnfJ2Rbjv51xW-t<2r&Zkf(zExVrpguf_rd=!T;#ysDT6KroG|2D*k=!3YAGpDeF!Q*q=3m%@~IR$9(I*G*p6FfJd zX9jM$#Asa`bkf_ko{rW;8U)ca%V IslZSE1EH!9NdN!< diff --git a/environments/Momo/java/Momo/GAG/GAG/TextEditor.java b/environments/Momo/java/Momo/GAG/GAG/TextEditor.java deleted file mode 100644 index a5ee95e058..0000000000 --- a/environments/Momo/java/Momo/GAG/GAG/TextEditor.java +++ /dev/null @@ -1,131 +0,0 @@ -// jdk-1.1.3 (or later) + swing-1.0.2 -// JFileChooser is to be used soon. -// -package GAG; - -import java.awt.*; -import java.awt.event.*; -import java.io.*; -import java.net.URL; -import java.util.*; - -import com.sun.java.swing.text.*; -import com.sun.java.swing.*; - -class TextEditor extends JFrame implements ActionListener { - private JMenuItem newf, open, save, cut, copy, paste; - private JTextArea editor; - private JToolBar toolbar; - protected FileDialog fileDialog; - - TextEditor() { - super("GAG TextEditor"); - getContentPane().setLayout(new BorderLayout()); - editor = new JTextArea(); - editor.setFont(new Font("Serif", Font.BOLD, 12)); - JScrollPane scroller = new JScrollPane(); - //scroller.setVerticalScrollBarPolicy(JScrollPane.SCROLLBARS_ALWAYS); - JViewport port = scroller.getViewport(); - port.add(editor); - port.setBackingStoreEnabled(false); - setJMenuBar( createMenubar() ); - getContentPane().add("Center", scroller); - pack(); - setSize(500, 600); - show(); - } - JMenuBar createMenubar(){ - JMenu file, edit; - JMenuBar mb = new JMenuBar(); - file = new JMenu("File"); - file.add(newf = new JMenuItem("New")); - file.add(open = new JMenuItem("Open")); - file.add(save = new JMenuItem("Save")); - edit = new JMenu("Edit"); - edit.add(cut = new JMenuItem("Cut")); - edit.add(copy = new JMenuItem("Copy")); - edit.add(paste = new JMenuItem("Paste")); - mb.add(file); - mb.add(edit); - newf.addActionListener(this); - open.addActionListener(this); - save.addActionListener(this); - cut.addActionListener(this); - copy.addActionListener(this); - paste.addActionListener(this); - return mb; - } - void writeString(String s){ - editor.append(s); - } - void writeLine(String s){ - editor.append(s+"\n"); - } - - public static void main(String[] args) { - new TextEditor(); - } - public void actionPerformed(ActionEvent e) { - Object o = e.getSource(); - if (o == newf){newAction(); return;} - if (o == open){openAction(); return;} - if (o == save){saveAction(); return;} - if (o == cut){editor.cut(); return;} - if (o == copy){editor.copy(); return;} - if (o == paste){editor.paste(); return;} - } - void newAction(){ - editor.setDocument(new PlainDocument()); - validate(); - } - void openAction(){ - if (fileDialog == null) { - fileDialog = new FileDialog(this); - } - fileDialog.setMode(FileDialog.LOAD); - fileDialog.show(); - - String file = fileDialog.getFile(); - if (file == null) { - return; - } - newAction(); - String directory = fileDialog.getDirectory(); - File f = new File(directory, file); - StringBuffer sb = new StringBuffer(); - if (f.exists()) { - setTitle(file); - try{ - Reader in = new FileReader(f); - char[] buff = new char[4096]; - int nch; - while ((nch = in.read(buff, 0, buff.length)) != -1) { - sb.append(new String(buff, 0, nch)); - } - }catch(IOException e){ System.err.println(e.getMessage()); } - editor.setText(sb.toString()); - validate(); - } - } - void saveAction(){ - String saveText; - if (fileDialog == null) { - fileDialog = new FileDialog(this); - } - fileDialog.setMode(FileDialog.LOAD); - fileDialog.show(); - - String file = fileDialog.getFile(); - if (file == null) { - return; - } - String directory = fileDialog.getDirectory(); - File f = new File(directory, file); - try{ - FileOutputStream fo = new FileOutputStream(f); - PrintWriter outf = new PrintWriter(new DataOutputStream(fo)); - outf.println(editor.getText()); - outf.close(); - }catch(IOException e){ System.err.println(e.getMessage()); } - } -} diff --git a/environments/Momo/java/Momo/GAG/GAGcommandItem.class b/environments/Momo/java/Momo/GAG/GAGcommandItem.class deleted file mode 100644 index c773bac20f82c39d5d651d7afabed13b470dc1e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1731 zcmZ`(+j0_F6kP|pX~2dM2paDiH3H_M%sA@ctp&oMgjk9xXMF0AHq{n18EmFzerCSF z2d8Qnt9lStus0!f^ZW>K1x(wvg!w2mt{r{iZV>Da(+9glHc#}lmS zXyJ~IO~kNP{-uw(A@m_IwMQy|?Mbj{wjIkY8-<)WL$OG<1Tn@p70+H7_@#-kSJ z>NBI=;Fx?q7!AADhAnd{onN2Qmz!}aysB3--7)L;k=bLZxjoCR`nzh3YlU^ zI+Pp41@?o^E=pk$KVS_41)>PYMfTtUju77p;VAKsA*>J=Ls%ug8NxB*$Y(sBkV{(M-P1+RyS8$06uX1Mc3!!pcEqy?`bZw0J(#jZ_QeGJ&n^*oO zF8zyaM*ECokuh?m)iD( zs7yNlo)bS!%yXV1uHZc9QdyXqIZQoELVc3;ym#RIlrd{2T0Ts^K=Qo_Ih=RlF!d6t z4{>IOgzP&mh1D(-KjQuSYA;ekgq{Q? 0) { - params = new String[paramEnts][MAX]; - } - this.range = range; - return; - } - String getCommandName(){ - return name; - } - String[] getCommandGuide(){ - return guide; - } - String getTitle(){ - return guide[0]; - } - String getCommandRange(){ - return range; - } - int getParamEntries(){ - return paramEnts; - } - String getParamName(int pos){ - return params[pos][NAME]; - } - String getParamGuide(int pos){ - return params[pos][GUIDE]; - } - String getParamType(int pos){ - return params[pos][TYPE]; - } - boolean isOmittable(int ent){ - return params[ent][OMITTABLE].equals("1"); - } - String getParamDefault(int pos){ - return params[pos][DEFAULT]; - } - String getParamRange(int pos){ - return params[pos][RANGE]; - } - String getParamCandidate(int pos){ - return params[pos][CANDIDATE]; - } -} diff --git a/environments/Momo/java/Momo/GAG/GAGpipe.class b/environments/Momo/java/Momo/GAG/GAGpipe.class deleted file mode 100644 index fed20fe65bb576bd571880453706e8378d15f021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2034 zcmZ`(TT|Os5dLI?WrVmHFi=9mEdgx6Y1)vaP)GuVFg1bVl$4}tD{NszjO5BPm%q|K zke5C{CpMjCrmvmJkIM8rl6+(6gZ7-W-|qQ#_pJ8Q=fD3!5HmOn;~N=C8T&G_G7e-I zG7e?DlaZ5gB*Tbk2?b#xf|wM$DFq5*El?3}K>*W2%qVEZtN;>1 z+*QzqFU9Vj0KO6?UkhyVz3k z8YvZTu&LrFJX7&A=2iS6#IIOXpY?5Wl+(;?V!LQM#*t2!o(4T{GR!R1!O5u| zSH2dvUP~to25L|PpTN3n*tV`^bbDTCdws1NhEMmudXi60zVX-_9O_hCww2Zk1;!k` z)|8x~1;aEP7O!d9%IFf>mMyd3Xr{BH<%&EjtEXu_?-H!BJ* zp(AOS`itVxo^HR?_Hs1nuh!;iaerU8^^Bh^Q>{Wwqd*2m z&MDgfECTr8gK5dKjD&&9crlbyje6R?TB}Z+m%QTPI%IG+F#@S%$pmjGW2Z=e<7u&dB8? z1oC{-R+c@(YKfkc5EdtI>jEjqKee2Q1`-H{Igwfb&c1*c8QcZLIB{1_9(UzXaaWEb zcjctvD)W1eHBOgx?*8QsL9QpUOSH$N5~8tS3AbW@VJKcke+gsn5!r|}3EgxVgEY8^ zeME5gBSO2e4;U-si%WD|B2vQ5E5JYn=pzuON0aYy;}V^h=qh3Of?>2{05{Og-3taX z$B_&~IM2I@^ziE?-b0HhhR}ym^dm-19D`V)_ARx?v}X!f^po0UF+@^BQj#IwEMq+R z9$k%D#LsCQ;OK9wQjc=f!>#NHkx^nJM8_DyID@%O!U^KVDoxg>nQ&?PJet8qnm^IY z5Ta#_Ttj%reZm;8iSwH#VVs0BB%CE-f`oTTdygTVV%5)Wnw9~E(aCFv`9z~)Eu;Gn z>bwdnE`FcM%+a%eCEs(Lt3<0XJ@{-r7gszUu{9o2r{l5jG30wR)8kf+Amm=NK-0I? fTEucL0V<9WNIh8g-X;usymc#Cyd_wM_?2Bsj>R2`p&iAsk{_UFLi|~Gv!V2!fI_@7-Jp`R!yb(nH`YNP diff --git a/environments/Momo/java/Momo/GAG/GAGtextEditor.java b/environments/Momo/java/Momo/GAG/GAGtextEditor.java deleted file mode 100644 index b88680b99f..0000000000 --- a/environments/Momo/java/Momo/GAG/GAGtextEditor.java +++ /dev/null @@ -1,13 +0,0 @@ -// GAG (Geant4 Adaptive GUI) -// Requires : JDK 1.1.3 (or later) + swing-1.0.2 -// Version : alpha 1998/Mar/31 -// Toshiaki Kodama GEANT4 GUI Group -// 1998 July 6 GEANT4 Beta-01 -// This is an junction to better TextEditor in future. - -package GAG; - -public interface GAGtextEditor { - public void writeString(String str); - public void writeLine(String str); -} diff --git a/environments/Momo/java/Momo/GAG/HtmlFrame.class b/environments/Momo/java/Momo/GAG/HtmlFrame.class deleted file mode 100644 index a1001bf160da1c97ea53bda91284096b7728e6d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1410 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 diff --git a/environments/Momo/java/Momo/GAG/ParamPanel.java b/environments/Momo/java/Momo/GAG/ParamPanel.java deleted file mode 100644 index 7be3a5d3d3..0000000000 --- a/environments/Momo/java/Momo/GAG/ParamPanel.java +++ /dev/null @@ -1,416 +0,0 @@ -// GAG (Geant4 Adaptive GUI) -// Requires : JDK 1.1.3 (or later) + swing-1.0.2 -// Version : alpha 1998/Mar/31 -// GEANT4 GUI Group, Toshiaki Kodama -// modified by H Yoshida, 1998 June 25 -// use of FileFilter of Swing 1.0.2, to select after file extensions -// improvement of notification method of GEANT4 states -// by using setVisible and setBackground of relevant buttons -// specially "ok" button. - -package GAG; - -import com.sun.java.swing.preview.*; -//FileFilter of Swing1.0.2 -import ExampleFileFilter; - -import java.util.*; -import java.awt.*; -import java.io.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.preview.filechooser.*; -// for Swing-1.0.2 FileChooser - -class ParamPanel extends JPanel implements ActionListener, ItemListener { - private GAG gag; - private GridBagLayout gbl; GridBagConstraints gbc; - private JPanel paramArea; - private JButton def, current, clear, ok, fileBrowser; - private JComboBox history; - private int posY; - private GAGcommandItem ci; - private Component paraBox[]; - private boolean isExecuting; - private JFileChooser fileChooser; -// FileFilter in Swing-1.0.2 test - private ExampleFileFilter g4mFilter, macroFilter, g4macroFilter, - txtFilter; - - - - ParamPanel(GAG gag){ - isExecuting = false; - this.gag = gag; - setLayout( new BorderLayout() ); - - gbc = new GridBagConstraints(); - gbl = new GridBagLayout(); - - paramArea = new JPanel(); - paramArea.setLayout(gbl); - paramArea.setBackground(new Color(255, 250, 230)); - add("Center", new JScrollPane(paramArea)); - - JPanel buttons = new JPanel(); - buttons.setLayout(new GridLayout( 1, 0, 2, 2)); -// Yoshida color - def = new JButton("Default"); - current = new JButton("Current"); - clear = new JButton("Clear"); - ok = new JButton("OK"); - ok.setBackground(Color.green); -//no good?? ok.setFont(new Font("OK",1,12)); - def.setBackground(Color.blue); - current.setBackground(Color.orange); - clear.setBackground(SystemColor.white); -// ok.setBackground(SystemColor.control); -// color - - buttons.add( def ); - buttons.add( current ); - buttons.add( clear ); - buttons.add( ok ); - add("South", buttons); - - history = new JComboBox(); - history.addItem("# GEANT4 history macro."); - history.addItemListener(this); - add("North", history); -//yoshida setinvisible and setdisable - def.setVisible(false); - def.setEnabled(false); - def.setMargin(new Insets(1,3,1,3)); - def.addActionListener(this); - -//yoshida - current.setVisible(false); - current.setEnabled(false); - current.setMargin(new Insets(1,3,1,3)); - current.addActionListener(this); -//yoshida - clear.setVisible(false); - clear.setEnabled(false); - clear.setMargin(new Insets(1,3,1,3)); - clear.addActionListener(this); - -//yoshida - ok.setVisible(false); - ok.setEnabled(false); - ok.setMargin(new Insets(1,3,1,3)); - ok.addActionListener(this); - - fileBrowser = new JButton("Open a Macro File"); - fileBrowser.addActionListener(this); - fileChooser = new JFileChooser("."); -// Swing 1.0.2 FileFilter OK!! 1998 June 25 - fileChooser.setDialogTitle("Macro File"); - g4mFilter = new ExampleFileFilter("g4m", "Geant4 macro"); - g4macroFilter = new ExampleFileFilter("g4macro", "Geant4 macro"); - txtFilter = new ExampleFileFilter("txt", "Geant4 macro"); - macroFilter = new ExampleFileFilter("macro", "Geant4 macro"); - - fileChooser.addChoosableFileFilter(g4mFilter); - fileChooser.addChoosableFileFilter(g4macroFilter); - fileChooser.addChoosableFileFilter(txtFilter); - fileChooser.addChoosableFileFilter(macroFilter); - -// end of Swing-1.0.2 FileChooser - - - } - void setParamBox(GAGcommandItem ci, boolean enable){ - paramArea.removeAll(); - this.ci = ci; - posY = 0; - JLabel l; - if (!enable){ - l = new JLabel("This command is not available."); - l.setForeground(Color.red); - addComponent(l); - } - addComponent(new JLabel(ci.getCommandName())); - String guide[] = ci.getCommandGuide(); - for (int i=0; i 0){ - def.setEnabled(true); -//yoshida - def.setVisible(true); - current.setEnabled(!isExecuting && enable); -//yoshida - current.setVisible(!isExecuting && enable); - clear.setEnabled(true); -//yoshida - clear.setVisible(true); - paraBox = new JComponent[ci.getParamEntries()]; - String candidateList; - for (int i=0; i 0){ - String val; - for (int i=0; i= 0){ - JOptionPane.showMessageDialog(this, ci.getParamName(i)+"\nThis parameter cannot include SPACE character", "Error", JOptionPane.WARNING_MESSAGE); - return null; - } - }else{ - val = (String)((JComboBox)paraBox[i]).getSelectedItem(); - } - param.append(" "+val); - } -//yoshida - current.setVisible(false); - current.setEnabled(false); - } -//yoshida - ok.setVisible(false); - ok.setEnabled(false); - history.addItem(param.toString()); - return param.toString(); - } - private void addComponent(Component compo){ - gbc.gridx = 0; gbc.gridy = posY++; - gbc.gridwidth = 3; gbc.gridheight = 1; - gbc.weightx = 1.0; gbc.weighty = 0.0; - gbc.anchor = GridBagConstraints.WEST; - gbl.setConstraints(compo, gbc); - paramArea.add(compo); - } - private void addComponent(Component compo1, Component compo2){ - gbc.gridx = 0; gbc.gridy = posY; - gbc.gridwidth = 1; gbc.gridheight = 1; - gbc.weightx = 0.0; gbc.weighty = 0.0; - gbc.anchor = GridBagConstraints.EAST; - gbl.setConstraints(compo1, gbc); - paramArea.add(compo1); - gbc.gridx = 1; - gbc.anchor = GridBagConstraints.WEST; - gbl.setConstraints(compo2, gbc); - paramArea.add(compo2); - posY++; - } - private void addComponent(Component title, Component compo1, Component compo2){ - gbc.gridx = 0; gbc.gridy = posY; - gbc.gridwidth = 1; gbc.gridheight = 1; - gbc.weightx = 0.0; gbc.weighty = 0.0; - gbc.fill = GridBagConstraints.NONE; - gbc.anchor = GridBagConstraints.EAST; - gbl.setConstraints(title, gbc); - paramArea.add(title); - gbc.gridx = 1; - gbc.fill = GridBagConstraints.HORIZONTAL; - gbl.setConstraints(compo1, gbc); - paramArea.add(compo1); - gbc.gridx = 2; - gbc.fill = GridBagConstraints.NONE; - gbc.anchor = GridBagConstraints.WEST; - gbl.setConstraints(compo2, gbc); - paramArea.add(compo2); - posY++; - } - private void loadValue(int i, String str){ - if (paraBox[i] instanceof JTextField){ - ((JTextField)paraBox[i]).setText(str); - } - if (paraBox[i] instanceof JComboBox){ - ((JComboBox)paraBox[i]).setSelectedItem(str); - } - } - void addHistory(String line){ - if (line.startsWith("/")) history.addItem(line); - } - void clearAllHistory(){ - history.removeAllItems(); - } - void clearOneHistory(){ - int ix = history.getSelectedIndex(); - if (ix >= 0) history.removeItemAt(ix); - } - String[] getHistoryItems(){ - String[] item = new String[history.getItemCount()]; - for (int i=0; i>history.getItemCount(); i++){ - item[i] = (String)history.getItemAt(i); - } - return item; - } - void loadCurrentValues(String line){ - StringTokenizer st = new StringTokenizer( line ); - st.nextToken(); - int i=0; - while(st.hasMoreTokens()){ - loadValue(i++, st.nextToken()); - } - } - public void itemStateChanged(ItemEvent ie){ - if (isExecuting) return; - if (ie.getStateChange() != ItemEvent.SELECTED) return; - String str = (String)ie.getItem(); - if ( !str.startsWith("/") ) return; - StringTokenizer st = new StringTokenizer( str ); - if (!gag.setParamPanel(st.nextToken())) return; - int i=0; - while(st.hasMoreTokens()){ - loadValue(i++, st.nextToken()); - if (i >= ci.getParamEntries()) return; - } - } - public void actionPerformed(ActionEvent ev){ - Object source = ev.getSource(); - if ( source == ok ){ - String p = makeCommandLine(); - if (p == null) return; - isExecuting = true; - gag.sendCommand(p); -//yoshida instead of sandwatch, ok button becomes invisible - ok.setVisible(false); - ok.setEnabled(false); -// Be careful! mouse may freeze, if setinvisible but not setdisabled!! - return; - }else if (source == def){ - for (int i=0; ci.getParamEntries()>i; i++){ - loadValue(i, ci.getParamDefault(i)); - } - return; - }else if (source == current){ - gag.reqCurrent(ci.getCommandName()); - return; - }else if (source == clear){ - for (int i=0; ci.getParamEntries()>i; i++){ - if (paraBox[i] instanceof JTextField){ - ((JTextField)paraBox[i]).setText(""); - } - } - return; - }else if (source == fileBrowser){ -//swing102 filechooser showDialog(this, null) or the next - if (fileChooser.showOpenDialog(this) == -1 ) return; - File f = fileChooser.getSelectedFile(); - if (f.isFile()) { - if (paraBox[0] instanceof JTextField){ - ((JTextField)paraBox[0]).setText(f.getPath()); - } - } - return; - } - } - void toReady(){ - isExecuting = false; - if (ci == null) return; - ok.setEnabled(true); -//yoshida setenable then setvisible - ok.setVisible(true); - if (ci.getParamEntries() == 0) return; - current.setEnabled(true); -//yoshida - current.setVisible(true); - } -} - -class BooleanCombo extends JComboBox { - BooleanCombo(String str){ - String def = str.toUpperCase(); - if (def.equals("0") || def.equals("1")){ - addItem("0"); - addItem("1"); - }else if (def.equals("Y") || def.equals("N")){ - addItem("Y"); - addItem("N"); - }else if (def.equals("YES") || def.equals("NO")){ - addItem("YES"); - addItem("NO"); - }else if (def.equals("T") || def.equals("F")){ - addItem("T"); - addItem("F"); - } else { - addItem("FALSE"); - addItem("TRUE"); - } - if (!def.equals("")){ - setSelectedItem(def); - } - } -} diff --git a/environments/Momo/java/Momo/GAG/README b/environments/Momo/java/Momo/GAG/README deleted file mode 100644 index 6e6c9f899b..0000000000 --- a/environments/Momo/java/Momo/GAG/README +++ /dev/null @@ -1,24 +0,0 @@ -1998 June 25 Yoshida - - Improve look-and-feel of GAG by KOdama (as of 31/March/1998). - - -Swing-1.0.1 is used. -Swing-1.0.2 is desirable, but wait a moment. Swing-1.0.2 has -not yet frozen classes and interfaces, among them JColorChooser -and JFileChooser. -They are left as before in swing.preview package!! - - -Swing-1.0.2 JFileChooser is good for us since it allows file filtering, - free label on buttons etc.. - -But it is better to wait JDK1.2!! - - -So there is only minor improvements. - -Font is one of the most iportant improvement. -Current fonts are too small or not beautiful. - - diff --git a/environments/Momo/java/Momo/GAG/TextEdit/AboutDialog.class b/environments/Momo/java/Momo/GAG/TextEdit/AboutDialog.class deleted file mode 100644 index 4a625698efbe80090813bec3a8071f74ee842225..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2094 zcmb7FTUT2}6#fpk6Jof9QpH+(idsW}1k|=t5DVcVG+ZnQQm>PfAsIM1lXWtI)+Zl* z@I`+_U0#>f3Tuh_;9Y-)Kg8vpb3zhoE6a!MGvA(X?>+mQOaA=(+aJ(~ArwPMg)kk$ zTnI0Pun@vh2rD71n|Rs8brY*5)=a!%;!P88nRwd-Gm$Z2o5-5rCbq(e;zAgmcsh&@ z#5C*=qYd#ex&kv0Mmq+z8PXGpFuIY{W;l$~7->Z-p3(5x2&QmRn@ie^YI8-K7qz(> z!K=8e&13|d7?0ovCL(xEN4$>bBFG^fK^_+koQn0Qx7jXBI?T-_mowYkR$~SlWBuy} znq%|x`Wuf09JZ&DDOo5=m%D1L5_sHcpu3Jd>#+hK(>$Ut4L1TN=SD`k9|hp0~l#hQrvxDnhoJ*<=%g#2^h!H^i*p3 z+Etp+J)FLe-xqTHJ`?{#+Lm$Q3N>M%eKJGBSZn;In#l@fpe059bI(9iN@lr%wv=>B zin(f?Ic35YVa059#Zt1A7i>pdb(vRIa;ThOc4E6|pf4qhw>*){D=TLATO*^Rm#wu5 z*}5jPtiTL}XKvcOs1+|!k-5n^Yj-#?!kl8BCOgu?0;90sWEK9bFY;YEjj!57;erybwSy3v=5_Q>{<0|Nyvif&WU!_1N1JSC--#Sv3 zcDF`5(xSUcoAX3AxGDd8 z*C=>PXnQ4XZ&Q)k^y%31ubI|qmnkh?B=Dphl7wJe4bqE13I=$ZYt<_uRiCh>E4GA= zt0bPUc`AvQi*)I;u;}6JKm&Sk3I?DbK(ehgp2G8FX9)d;7BtcK!}vhdXgWaeA)=dy z=-g~1@W=rkT^u|_*JiYt;MsjVz7aq|kJV7)F%+txc(h?~ALll7#sfUO6hB1UX0+u1 zXTHIc@w@cfhc%=JI#WDq4rw+ypNf+?e}`6O;2PNp>H_!(A$*Kpe1aH0#U*@(X?%|B z_=4W~FOk6=NPLAoe2sT;7w=&o@8bX;;5KF1z*wc^{Y*6HWZEx8lPA-DCEE7M fwBLxfQ>C3Jq&sasE>75Y{y|6PcOoqNa=h{nE&>98 diff --git a/environments/Momo/java/Momo/GAG/TextEdit/EditMan.class b/environments/Momo/java/Momo/GAG/TextEdit/EditMan.class deleted file mode 100644 index b5fc8311e78a8bd344823e5f14183aef8139dffc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4818 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 S0G*;1U4pB#gLYAZ?f(HY)7y#w diff --git a/environments/Momo/java/Momo/GAG/TextEdit/FontMan.class b/environments/Momo/java/Momo/GAG/TextEdit/FontMan.class deleted file mode 100644 index d959f5471d9953cad90c2c00b5ffc0e829a7f89b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1021 zcmaJ=TTc@~6#j-b9lI*rk!HrzcSI9 z_+WVQ!9RnEm&8kqXSM|jX?&S;<~!$nb8hqb?}v|wU;*nK^BfBtiySV;631G{*|&Y^>sVgkN)?m3L)DuP{WMxow7Vr?4ekdZVhed!(!w!;I4j60fwI z-;tFU<)BrRe)EZzd!fU0kAvKozIKgi!)T#B-L;3WmULbDwGfXw&kcWURryMqjG5z3J4lO#i;pnUnXxmT9;Em8I;DD$738HNi%MR?ny zu8cR)TBV>_ugFbhVpB)uyN}92Q$JS13u+7_$M9z0>!R>`p^|znLumBa>qucZjhWt2 zmBwt;MKciwUX$9ijUi52Cmnh~5meGb%lr<_Oja2t!wL2q2E)X$?aUmgA$?2*)zH$H zb$TbX_N>Jzs53K$bm-O8%5%f%b~cD|_e4We;~CD?<(@QSAh02|X%vB^g*A|>yDNqz zTHQDZAvs{y6Cg>eOEN$NWLMI!J%`Qe1Svy5MPMxkWkwD zZrpM=E}eag#3u|I5ou%0P$W($#wZy0M*r+P68M1>z7oMLT8cybg!fb0JN6ZH8? diff --git a/environments/Momo/java/Momo/GAG/TextEdit/NotFound.class b/environments/Momo/java/Momo/GAG/TextEdit/NotFound.class deleted file mode 100644 index 83245f7533030ce4b2841a8eaaed3927404243fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1821 zcmb7FYi}Dx6g}hEU1z(o9k&S-Xqy%Yj+4}d@+fktXq^~B9Vav)A%y~CdlI&6X07!& zsrV%b0RoB&5^n(x5Q)!-ABDKHyI$MnVIj-cJ7>;)ojW`J+aNWR~fpr6~7}zkdY2Z~8X-t_I!xW&)X#q2 zv;V@V*exZb@O;wW!))5J;qL!en1C@5W+Kex3lx^AtGx6N`2SGj$R%6a>M}#T0%9S+3 zRK=}xXM=mT=8#*W>U!#JhS#_^>Xk2y?ssi{%vJD1^<`^FC;_KeW%-!(V~X!cd7OCzJH#zUVB_= z5v>3zIV24&$9hY8xk$-iy&$yup-Y6>bywQkw)P7HFZGZx@Jf^3t_G&)>KQ`}S&Y*a z64N&dfKhtBhyvMXY4thc^a1Mm*({46VB!$ztpglio;yTpE1NjLeI4Atna{@NIykYJ zKZLoJ9XY_{PdJtTk-i-~5V}<7H4w1l^FDhVzh`6zr}IR6@Ow(b@EqAE=&}TRA4&EB zGVDW~Vjp3eeT)n26BOB}D6u=Ju+Om0?&2o<0yXv?dA^A!!=g`6jF^tr3weaLz`i8= z)^OTaM0;&G?Q5dFF`V`d(fDxMw?un=IPE*4-Hd2wXr((%kbn>Mx-~V(en6ZQU|1qS ngK3^8T+=hN9h}tDxC>*@Gev)ZU_aw1`vqy%A-}7>n8m*Ui=ncV diff --git a/environments/Momo/java/Momo/GAG/TextEdit/Note.class b/environments/Momo/java/Momo/GAG/TextEdit/Note.class deleted file mode 100644 index df5398cb77a632c32db4cd0c51d6faca43f67e85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2183 zcmb7F-BTM?6#w0ju*>uTL&Tg6|)rw9g=iYP9?|k3A_m4lH|ArP^!-0xf6>}=` zDwb5-SFxhtQw6IEzEbc&!9xX7!KQ+u0#kvdU`xTahEBY#LC27WHeA)vfvas$kk-(S zVI~GEMl_tmD3fa%lDN*0OgmJ(!@C>o;9U(GZZf&WvfDal@E(&1CQ~}ru%Kfd<4mS? zY+zEy=eVci3&wqkJ34mou?`z|b?l;`V-GnUC5-7P^UlG7z=ia1VOJi=Oi4Q1nZ?ar ztLSG1TGGR-0`YX7mqa=rtVTM7%0oYsbIbd#V>y1dZr>~v7&-->^JLk|o{F>Vd$zNk z4ZQvr;0C90`IJZNfI?@cioWeSv%JqTV&D~sf?e?~$MOQu-`%X)j_Dr$o0|~PtP3-lCLtjGSWY5SQ4*S8vV2%Ia}jS{kXyfHNA0L6(;vPj_cB@{|nzPwcf*5~?GHnVj(A~tp zNQNqqMNZo?DJ>aHcFFR#T(8WM7HJagA{q`oGGkfud;}EJuI#%NPI24v!=%V-aM1an zhLs5<8O2f7wH+e#lU`aYGh-||A1bQ1brw?#c%gg$g z>*@~dtG->z1jjY}Ua9X64I*qzoe6yk=&XqXs1?hfcTGvzDYRX-zos5(v|F_+b})bS za7X%-9oKvqd>HKafMnEvJ(T21)LUXZB9=a98c)d2SUkSENke8AUB}+CgYkyAd?cwm zUfie8)I>jBcsgR}!g<62zQ>4yZ?Rydt1npT2BWnNf^Nht(GLMJL>8?ieQt~-Yvb`$`~)5AqsO>d!|Q8CGM0+hkXn18PxStP8RG

&cd5 zbRVI|cuM~oE~OH@3ycD_2-Jfl9BiluS^YBxLI;UgA&g{eD#1~WE-`xEtdRk^c;i>f zUSOW+1}+l4N$cky%<1YFzhEa@@WCD})o5npXVv3%FX-MSgR-eHEX7LT_zC|A2 z;Uj!c{ri!6^$V8p6!-BAHz>kqct7kJJqIy*^nkIE8hYnPxxgp5WVF=q7LzL^=%;_* zGhB`#Q2&H>UI(8*p_Jc@QXZgWLGMt4UZ4&cP@`nl6$O6G>C)+dTLHA0=)s;vQz1*_mbc z{dvA%0((dzm_;yW5N=Pqnp$RBWU$DL?j6^z=4v1w=cB;8lcX|O7E)t5+#0kMZxoG_ z!U(QvZl&jBS(nCPA$x}!?V;ljPCG7UumX?LCpHz1E^nnv|D6n0-kU0}uj#qzP&mrz V->v|F0Ra^Y=}LORD=}dJ(=UvVIEVlM diff --git a/environments/Momo/java/Momo/GAG/TextEdit/NoteListener.java b/environments/Momo/java/Momo/GAG/TextEdit/NoteListener.java deleted file mode 100644 index 7e43eae3b3..0000000000 --- a/environments/Momo/java/Momo/GAG/TextEdit/NoteListener.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -interface NoteListener -{ - public void noteListen(int action); -} - diff --git a/environments/Momo/java/Momo/GAG/TextEdit/PrintMan.class b/environments/Momo/java/Momo/GAG/TextEdit/PrintMan.class deleted file mode 100644 index a0d7fea37cea2ce8e9d5a6f6d91c24603a338444..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2827 zcmb7G`*Raj6#kYxHd&SuiVH?S>I2#)eF$olR?DN5QfO(VwOAF)CfO!i(rnyp0r9Q% z{ZUY3sKJ&ff@l*9?P7YLSh!yy)}bJZtqN4pM6peXY*(OQhtTL$5W!Bd&?T^4V%jZ6 zyA>=&k5Jnag^azzUa!#T6Qg}%)GwL=q5FV>F!l?}g8~~8&4a>?Vd3Nfq4AIk3!|dR ziY6zTf{G_mR`EOzt9Sv2RJ;gX#S|t~yd;EQMp4Bp$f$T#OkcyKir4Y5iZ@`WcoUDR zcuP#*#v>};L0-kXIH=-1Vf1~ZReXkHDn1t?XK_TuIUH5-CB{^o7xumq3m5Q&ifN(o zH6By(jqvYVj7xxoKtp4XgjEfVz2o{3y;VQzwC*$~jAGfeitQ3K|3bH|m-1$&O#B8v zK4e*i!=~eh3wklvI_TJDF-Mr23`d?DRT1q;ckXg5 zS_f>aWY~^rl>Pn;kOXIsm8SRI|IgkqW47$7Zz3~ps4f8;tCsxi_z9b*Ui&vehPDXz zg*?ZsFGcN(QZa9Nwcm0T?Qxw8-)9z0r-Rw*w6cbTWt~>B?C3>jST9U+u5=yC7$t`l zR+b)>}Xs2^cT*Of$0>oQj9iMp1S zmO6$sXieG~W0xtMUom7HbGovo!-}9B)fZz{&Nj;2PSLa3u7bg@&5;n+OC_V24&_A7kEpr-)v#a%A3z zRL>P2AM@ZM$5zb43+^po3tq(L<>q}^*!TdQv5qnpSIAceOyA!j@AO$DJCwH#os@g( zzJg&E#;x=|o)(O}U=(vso`aHZyCeroTx1sPNhVt^dyMl7DCdPQ!LoUrY9S`kDsY{7 z^^k~T%_TEDS<31TrQ{>xGwC10Excov1H7A-faf|#OT=03_Pi+Eo`=5M^BQn_9`o#L z#jV5B{c#st!kbv)Wn{7~@z8JNjkT03mlCsBkyue5o589?at2L_rWqs>@!$;V5?W{m zo0}`RBPA!UA~vGQv#6cHCQXhhg;X?VrTth^dTziR5OK{kZA%q2W%f!Cj;+g?ik>(Y&AdTjea?&)Vq&but0xc(f*7PJsFEu z(0Cf5}k;y!vC6or?!A(i^Y3cCem+XXxLv ztgaWZim$dfBU{gx+6G3~#3$Nj)=V4UX50BROLK1UId&W$kb_tFJ4s8=(8dxx^%pb# Bvkw3O diff --git a/environments/Momo/java/Momo/GAG/TextEdit/PrintMan.java b/environments/Momo/java/Momo/GAG/TextEdit/PrintMan.java deleted file mode 100644 index a1da10de32..0000000000 --- a/environments/Momo/java/Momo/GAG/TextEdit/PrintMan.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.util.*; - -public class PrintMan extends Thread -{ - - private PrintJob pjob; - private Vector spool; - private Font font; - private Frame parent; - private String jobName; - private int tabsize; - - private final int PRINT_PROGRESS = 10000; - - public PrintMan(Frame p, String n, Vector lines, Font f, int t) - { - int i,max,part,tens; - - parent = p; - jobName = n; - font = f; - tabsize = t; - - max = lines.size(); - spool = new Vector(max); - tens = max / 10; - part = 0; - - Progress spoolProgress = null; - - if (max > PRINT_PROGRESS) - { - spoolProgress = new Progress(parent,"Saving print copy ... "); - spoolProgress.show(); - } - - for (i=0;i PRINT_PROGRESS) - part++; - if (part > tens) - { - spoolProgress.update( (int)(100 * i / max) ); - part = 0; - } - } - - if (spoolProgress != null) - spoolProgress.dispose(); - } - - public void run() - { - pjob = parent.getToolkit().getPrintJob(parent, jobName, null); - - if (pjob == null) - return; - - Graphics pg = pjob.getGraphics(); - - if (pg != null) - { - String nextLine; - int pageHeight = pjob.getPageDimension().height; - pg.setFont(font); - FontMetrics fm = pg.getFontMetrics(font); - int fontHeight = fm.getHeight(); - int fontDescent = fm.getDescent(); - int curHeight = 0; - - for (int i = 0; i < spool.size(); i++ ) - { - curHeight += fontHeight; - if (curHeight > pageHeight) - { - pg.dispose(); - pg = pjob.getGraphics(); - if (pg == null) - return; - pg.setFont(font); - curHeight = fontHeight; - } - nextLine = detabbed((String)spool.elementAt(i),tabsize); - pg.drawString(nextLine, 0, curHeight - fontDescent); - } - - pg.dispose(); - } - - pjob.end(); - } - - private String detabbed(String s, int tabSize) - { - if (s.indexOf('\t') < 0) - return s; - - char c; - String t = new String(""); - int j=0; - int tabs; - int max = s.length(); - - for (int i=0; i 0) t = t + ' '; - } - else - { - t = t + c; - j++; - } - } - - return t; - } - -} diff --git a/environments/Momo/java/Momo/GAG/TextEdit/Progress.class b/environments/Momo/java/Momo/GAG/TextEdit/Progress.class deleted file mode 100644 index 545f68268887427f344e0fbe4a8d323462c51338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1096 zcmb7DYg5xe6g>-V(}n=0SVZuFC|W`vjvyjM6w1SD?J&Z?@Xe)Jn>cCGNw>iGubja$ zBQyR0f0W}*ThsdZ;)mS3dvo^OvwQFT{^RR63?hR!QRJd{s$f;YhJsB61qE9QwiWCs z*j1t8x{3%URm5;ZMHo}QnU2xvn<}EXr6PpezPS^Ff*F5x*I&(Q$YRbnx^L1N@|gEc zM#CDOXn2m4hIQQ6@B;TVyu_l0S9qx5H5M5rQuC#c{FLYTnapijHQ_WY*U2*^`+w|u zylz^R2E_+c^M?$fRMB_gRI%+9@|~5Q>d_V4THSSoBlCSZdO?QqKJbpmYa;KH&ixhb zP})2oOb%O@H;5a)8+uw?ERiYmbkgH%?!Dx)7P+kPi1l3}PS$b&j^uO~y8CE=+_JdsR{LQ=yO6#B*2_B*#7g``*mU(E z(0&Y3)(Dg}>jsx3F??nj(!>n)eFOlbkGh!b0IjoFAp3}Rr_}x-@|*g?CA2H3$Cnr? zXRZ)CPG4fUg^?pYF_39t^hodi{erljVEP5(?dTXw$Bh<}pNWNGiR>(m8IY#2%VHQg zOi`v;Jf`Vg#0qKHfKJFF9&|OlC#0`&slz$`w&N4!^aUoO_Hu~)wTQhO&Ll(0a55Az mr_H!wC&Mj_^|DU2IaVom9&sAhNt)Fee@ZDQ!!zO^z{*dVz5SX1 diff --git a/environments/Momo/java/Momo/GAG/TextEdit/Progress.java b/environments/Momo/java/Momo/GAG/TextEdit/Progress.java deleted file mode 100644 index b7a4b71af8..0000000000 --- a/environments/Momo/java/Momo/GAG/TextEdit/Progress.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.awt.event.*; - -// This extension of Dialog implements modal dialogs with a callback interface -// to work around the "modal dialog problem" on Windows. The "NoteListener" -// interface is used to return an action code to the parent when "continue" is -// pressed. - -class Progress extends Dialog -{ - Panel center; - - public Progress(Frame parent, String s) - { - super(parent); - - Panel north = new Panel(); - north.add(new Label(s)); - add("North", north); - - center = new Panel(); - add("Center", center); - - setSize(300, 100); - } - - public void update( int percent ) - { - Dimension d = center.getSize(); - Graphics g = center.getGraphics(); - - int fifth = d.width / 5; - int third = d.height / 3; - - g.fillRect( fifth, third, (fifth * 3 * percent) / 100, third); - } - -} diff --git a/environments/Momo/java/Momo/GAG/TextEdit/ReplaceDialog.class b/environments/Momo/java/Momo/GAG/TextEdit/ReplaceDialog.class deleted file mode 100644 index 8e5b0fa5991ca35125c684a6c5d39ce58016016d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3767 zcmai1TX+-K5&j2XR$edI76u{+jYCLc3)_MKh1%Ew8ynmRn_yxvxvr(Pyddw&(#jWT zNU$si)UPwUl2!t{e(*VSX8yVC z%$(8jNB@2I8Y<9+zX$L{08a++`2a2k@Js+N1@LkJuPXSGf-fuhih|b^TvG5=1#c>N zOTkYRysh9J1wU1ARl&T1oPq@fKU45?1@9_YRPYN0?_1VKm;Q~olvm` zCso{rQ57Ma65R)DP>+WM@~}W2k>ycY9#hc(T>=`D_+sKWE<8hY$5pIFLU0or&Lb&{ zEz4OA7x1`-uOltXXEb~R(;B{sSqSajdV7d3n!K7NT8HT+66el65*Fs0$QnAC6`84bUKqv1nX z8h$U}kHpa*@CCw#=9cJjW7g@5n@&WCUfr73Go6G+mYmk7^+-~;5|N>?(?-m>i9PJ3 zO)J6disqIPLS^%SY*ozz?!Lac+_pIB6hL$-fsYm35#8!6@t=2eGe^v=ZT9&3j1%d# zlXlv55-#ITrfkcw*nKIqz$ENi66|9SrOkMcp6Io$jFZ+)%gMMtHkGJF^*K8$aq9`g zi{Q2rsWHvoBL`xRXe4DjPmlM>!*_e@%@?;1#{hZ;Z zLB0=!dY9JuoVUvjF02j$4Y13b`<6S>XBKW3Uy{10X&Hmr$uT2+Tpvqv3=MvV^<*8# zwis3K^Sox}yXdpTT)$}~ue4H^pHUADjtx zQV1)O&jQC>WXabRlGjk=4%$w?oweeG^+nzdnf6Tx!W$+0kwtic;LLF&)#>hSIBKNF z?ewI0RGgA@{zq{H(QPUkyLldQS#Fei6R9+)s6Hn5#W#FZw}j!V zx`nfsh*Sh_y`Q^J&eq$-?UHy^)z~jedWgRmaaR;6E3&iIugYhxPIgjm`Wp98oa$_! z8HL0tOb?r9#RF4b{VOvQ_6#B5a6aVja5`qVjqDj|*=gO8KGr;rJB;|a+CTEIB{#Eo zK4{1V$g322X3VzCaZ}9X4G;L7yy2k~|2V|a#IKD;tiop8iU9BYU;udMXMnr&%fj9H zZQ$=g}6b z4l$X-f$$n^KakVS%VrExS+~teO6}Pjvy(n(?+yz3axC=MXi}kZP z^oAMG`Zkw{@I0^A5MgpFs;LRJbQgluj1AO+TPch?sTJ+ihCS4dZrY9k+JU2V4@PMh z;`Sg|0q3333`a8=wUibkI+-} z7+s_-{1t!2jMrxTaF&MU&+$L6nnj=(uOF`ri!nMp3nQZ54$nwe;lj~l= zR}=VPTMm1qdoE-1@+R}3otLpG%&7hxKFOQ-&S4i{=_`okAzhbol0~~OVQU_Eq_rZ4 z$ROXzV7RTQb&m`J#=VBdJdQW-D>|2SA>d0`yNKFRQCPs%Bds~~`CogChZtyzdpUz9 zav8jIj(VB=eWUfn`55i z4#!=N1&(_h83P868;D}a0LQQa6DRa`BuW~i2AMGfoftRJg_9baFk$12HkOGQoHlVw zn^~MPv4~41vN&&I31>~*N7}>#Ofy8RbdDimrSqHaw(EGVUv?fAH$_R!hU6MUrj2#LP+rn3lrn1@#`DBw1 ze_l`(>6b&i(|V%yyXK@X)jS;}6RZn{o=o6ZmFufD*Q?Rq$nKQHGbIUS7(C*T41Ia& zi5Z$2ow-kMvHI+|pSLQt!e#FEsxiPrU1{rH->?ih0`o_3a_H{1(y27kAOS lLfWaRI{NEK94M!7jPkxCh94NjPmJOhseU8f%Y=8}<{wap4G;hT diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextCanvas.class b/environments/Momo/java/Momo/GAG/TextEdit/TextCanvas.class deleted file mode 100644 index f2ec6edbd93149a874a27148ffdaacee1451a5bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19373 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 z 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 OA0FU7p`U?y0rWqnJV62g diff --git a/environments/Momo/java/Momo/GGE/GGEItem.class b/environments/Momo/java/Momo/GGE/GGEItem.class deleted file mode 100644 index d12d551407784a947386130ec4cc273a4a531f25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 503 zcmZWm+fKqj5IswQ+FC9e(0B*q1Jo!Vpz(zuA!+ad!h>&1S;>-iOKLI3Z}P>&OX7nc z;71v!rBM^JnVHV%nKL`HpI`4E&~So79TgpWI`(xOm;@OnvM>!Wtj5l=P)5PRE=m?^ z*tAf`HiOn^j_7B@>2^E4Ncd;X9z(U^%=jH|d0b6fgD8}0n&A0!sbqA)kZlJO!BA)i z>Nesk8gXwyx!JjQ#XORPGU%xysi$A3u_!~ykxKLz{#b-VKK7_?{eL@#q7%5>8}U%a zBoZ_S!6J0UrHo71HO=J){+x%R&wWCSG#dsCmE`&|Xbl9Fd-7q~r~EtB)p#b{h~W>k z9F&GriJlpX8xacSib=Lc3)ILmbXdGSfFdoBVvOvdNPdm7ql5!k_A~TjvRC9E6ZQuA pJh1?ijNT%xuoDGB?Kk9X?FB1OKl~zf1#oTa;%|{Ra1LWdZ;I diff --git a/environments/Momo/java/Momo/GGE/GGEItem.java b/environments/Momo/java/Momo/GGE/GGEItem.java deleted file mode 100644 index f4f8ad16ac..0000000000 --- a/environments/Momo/java/Momo/GGE/GGEItem.java +++ /dev/null @@ -1,13 +0,0 @@ -//GGE (GEANT4 Geometry Editor) -//GGE Item -//Tetsuya Yamada - -abstract class GGEItem implements java.io.Serializable { - public String name; - public boolean referenced = false; - - public int compareName(GGEItem gi) { - return name.compareTo(gi.name); - } - -} \ No newline at end of file diff --git a/environments/Momo/java/Momo/GGE/InsertCombiDialog.class b/environments/Momo/java/Momo/GGE/InsertCombiDialog.class deleted file mode 100644 index 161b4d175886636db4ade775c5aada179cc89cf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1963 zcmZ`)T~ixX7=8`}c3C%kL|V#MS!lr|B#o`#rB)#Yg@(YCio#g+Bsqkon_b+TKwHN@ z;D7M8UNcjIBQsuj>3Hp}{tho3-?N*)6ooK*vKJk92&Y<4X;nX!u;io`$l9eGRsT0}ZYQPs5>xuQm7@ss;uzZ(vA~exwXU zkv1@($S`ggcoi7~CSLD@ft!llQgUw?xQsUqyn?qB_O>GLDDtk-eNU;~HW0&tB6m!z zV^NV6Mb;F#Z=!&ECW=@!QNm{?gd&gefe8m6ny4rZi5(L)MUL>PiDN9Ac!G~iJjIfU zXUH+kS(cS`?BZif?h9+3OX1tx$@7Y^_#XXO$NP41-(nae!KYr$;=ZuTp6!+`=~=d0 z6~1J+98cs9_z}RckDsYaYDf z)5!}8OvKwQRt`N^xN;%H+Kn{~v`$~4(*px@Z3aTKZOU8Hrw|r)mG*d>V2)Faa-F-p zO#UnGR2x?ukq?>0qO?7CS?vRfnU_f9?5Y$h4a&@=hEU*o<8+0Obil)`MB;&Wy?1Qa zmUkI?vy1ucGL@`1OD7ATA(HhtGiysV zDLt3UJ>HR>;|1XmcOXa2lCMWpq2G_IHW33@r z^8AwU!)B)WYT;S0F-RA|#=KIVTas#wsBK#R?XCZB=E4(e(snYzJcI*IE$XP+QdYwa zWmd0n8B8IARuwWd-$%QqlM3CkpHXxM?Y8ZzO{K>)-HH96(9i>@i;gJNT^Fo$zXdB@ zakO@+TP|1`-H=(*+5}h*y@(L{XL3H)+kJ-7V`msY#dVUqevaXtSYKq&Ji|mCuaQ0C zcLn@e;?Fku(U6~3Ix($|Nwu4eMQE2w2SAE|sSu!@73(1uc`=;|u;dW_8Z6b3IH4FB zc8TuN+X8x)bb6Jd^nP5T*TkaNC{4TD#9P7$)^G(6Fp5VQ!vV(eEhg|CChpAog hXt{V5no^|qFG&v0lS2t|C`AXQ5vPygE8=%y`yT>`>;(V- diff --git a/environments/Momo/java/Momo/GGE/InsertCombiDialog.java b/environments/Momo/java/Momo/GGE/InsertCombiDialog.java deleted file mode 100644 index 7d27f9d86c..0000000000 --- a/environments/Momo/java/Momo/GGE/InsertCombiDialog.java +++ /dev/null @@ -1,54 +0,0 @@ - -//example -//8.5 - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -public class InsertCombiDialog extends JDialog implements ActionListener{ - JButton b1, b2; - JLabel label1, label2; - private MaterialFrame matFrame; - public InsertCombiDialog(MaterialFrame matFrame){ - super(matFrame,"Insert Material (Combination)",false); - this.matFrame = matFrame; - JPanel createMaterialPanel = new JPanel(); - createMaterialPanel.setLayout(new BorderLayout()); - b1 = new JButton("OK"); - b2 = new JButton("CANCEL"); - b1.addActionListener(this); - b2.addActionListener(this); - JPanel labelPanel = new JPanel(); - labelPanel.setLayout(new BorderLayout()); - label1 = new JLabel(" Click the MaterialName after which "); - label1.setFont(new Font("Serif",Font.BOLD, 12)); - label2 = new JLabel(" you are going to insert"); - label2.setFont(new Font("Serif",Font.BOLD, 13)); - labelPanel.add(label1, BorderLayout.NORTH); - labelPanel.add(label2, BorderLayout.CENTER); - createMaterialPanel.add(labelPanel, BorderLayout.NORTH); - createMaterialPanel.add(b1, BorderLayout.CENTER); - createMaterialPanel.add(b2, BorderLayout.EAST); - getContentPane().add(createMaterialPanel, BorderLayout.CENTER); -// pack(); - setSize(250, 100); - - } - public void actionPerformed(ActionEvent e){ - if(e.getSource() == b1){ - matFrame.insertMC(); - this.setVisible(false); - }else if(e.getSource() == b2){ - this.setVisible(false); - } - } - -} - - - - - diff --git a/environments/Momo/java/Momo/GGE/InsertLogicalDialog.class b/environments/Momo/java/Momo/GGE/InsertLogicalDialog.class deleted file mode 100644 index a67179060a34323bae87451485b4db88351af480..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2051 zcmZ`)NmCm~6#fPTGbqC*o7gNi1CBuw$g-W?I8H!@1UxJ;4k?^6M-_VL2e$X(Zp`c+^ z!yOIpYgpG%(y*aHsJN@5sG_W*qQX_-sn}8RnTlN%dn)d$c%b5;iqDhi#ib-tl5``V zL>De6(IZJ8t|W09SCi<(iycVfB}rbEdaopL2CpXZ9A1;;bt$+e$y5h)T$cvkkY{fs zaSCrr@|KiN>$r_MNp4B9EXj%v8}mB0v83Z3KGxw#;^U@{0JAzmd7>)G7x+ZSmy&#i z4|RNv1s&hO)bTCe*6|(Q)$u((QZQ^7M!~U5_l$5$7&}W=MHtp*D12jY%Pwsh3I?e0 zz^fXTFO0HhyJaKv4BHKaA1Zi0oiVqqT`O|o&Mbl!4;iBbQWx6k=!wpigOCR#nrO@`=S;+lH~0DlGu^12E2YgDwJV*WxHfKMx1U1r((Pg-?S~qD=RqL1id87tDwuQ>#kU? za9GK%r%R_`$Sir4d{A}sQ9}fKOmu!>rW%HxOZ~y7V$&){*1Aph%~G{e6#gBn=rEct z)1$*{mT${FL(v-@U=J;Mez>KeW%(92tHQT88T+bN^-E&TmKOBJ-crzQMfF<|{-)sj^ktRV+7lY8JwKz6TNE4lU;Li{qC%nJe$tWiZn#!W= zGdX1u%4uUmNJK#gfjD*s6b~oURdBpOFg67}Czx!5+uj~q<794UJby#@@d$9JPVj

S&eV3hPIQBrYL?D*w~Kj0%kmBn01ZqSPxYVL>Qaz zAb0GfL|5&Hj66wh%?|9SX|!F>iJlUS@Coe(A1Jh;MZT2)S3Z}~%GWVk`9MZ1pTcNW z_{hG)Q||$aiFPE2{*#?ZwYMH(AUkn@+!1=$4{>&J@(3w1{WWB>N9bBlX@?j*fDvz~ z&do^nF@YL}xsJ%Set3yi8V>iYr<6ks9bk-lV@K#)Pjw`E^h2DhAwzqVw?y)B%Eyo8 zov}P8&!p5E&P#4Ql^{2ni-1W2MhuV}NwrZ#FGeRLEZd8Jdp2sA*k_CiJ|(@&Y=PgA z#(%Dp-&`O6B7;9uj@&iMX84gU;4E|0&wLH=8ye&nGlU;;4nN^Me#S8NdEysl|96by zPh7xXxQM@_N^D^<&MYieqJ=kInW*7{bn+3pxa1xqUBkuwIy&+QscdTvGK^UC!V_1| fL#2TX|I;j;%h0(=UYf%gF5xoLyl9j17JTqOAbbY} diff --git a/environments/Momo/java/Momo/GGE/InsertLogicalDialog.java b/environments/Momo/java/Momo/GGE/InsertLogicalDialog.java deleted file mode 100644 index 4365b6f3bf..0000000000 --- a/environments/Momo/java/Momo/GGE/InsertLogicalDialog.java +++ /dev/null @@ -1,55 +0,0 @@ - -//example -//8.5 - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -public class InsertLogicalDialog extends JDialog implements ActionListener{ - private JButton b1, b2; - private JLabel label1, label2; - private VolumesFrame volFrame; - public InsertLogicalDialog(VolumesFrame volFrame){ - super(volFrame,"Insert Logical Volume",false); - this.volFrame = volFrame; - JPanel createLogPanel = new JPanel(); - createLogPanel.setLayout(new BorderLayout()); - b1 = new JButton("OK"); - b2 = new JButton("CANCEL"); - b1.addActionListener(this); - b2.addActionListener(this); - JPanel labelPanel = new JPanel(); - labelPanel.setLayout(new BorderLayout()); - label1 = new JLabel(" Click the pName after which "); - label1.setFont(new Font("Serif",Font.BOLD, 12)); - label2 = new JLabel(" you are going to insert"); - label2.setFont(new Font("Serif",Font.BOLD, 13)); - labelPanel.add(label1, BorderLayout.NORTH); - labelPanel.add(label2, BorderLayout.CENTER); - createLogPanel.add(labelPanel, BorderLayout.NORTH); - createLogPanel.add(b1, BorderLayout.CENTER); - createLogPanel.add(b2, BorderLayout.EAST); - getContentPane().add(createLogPanel, BorderLayout.CENTER); -// pack(); - setSize(250, 100); - - } - public void actionPerformed(ActionEvent e){ - if(e.getSource() == b1){ - volFrame.logPanel.insertLogicalRow(); -// this.setVisible(false); - }else if(e.getSource() == b2){ - this.setVisible(false); - volFrame.logPanel.insertLogCloseAct(); - } - } - -} - - - - - diff --git a/environments/Momo/java/Momo/GGE/InsertRepeatDialog.class b/environments/Momo/java/Momo/GGE/InsertRepeatDialog.class deleted file mode 100644 index b89c189c10eea913bb29f108a8c1b80d51639364..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1996 zcmZ`)TT|Os5dH)P86$2E3E?hCA-1t`liov`7940vj7dYrE%Yke2O}a&RF)x0FF&CF zp|9yPGsSeuOdtB#>2qJ(-_eIoza!biX`Ru`p4GRz=j`R|+28*8`4@B|g>S=nCyaN) zxEIC;VLS*UAI4{4d>)3O;zJc*sMu3ss@PZYP=%%9OBJq)stQj$NnTVI#! zg;@5!I1q*>N_oesRm74+qs#!Lbh#qw1i^5cilHl+w^WJ=*}$XGOJn1@MPgC2xXj-P|(MWS3Se_@`hF8e`wXHvM7<& zM@4ZUU9GZ0>wc;9W}@{V(@b3;2=LpcVL4?w^?z_t)>pyce@mrcB3pDS>1xeR`&XcP z#KflWtkgWuv03Z!w&JW&5Ei8aS>BXftx^!~1EXNk`~Iv`G_1Vgn)08ncjX+{+f&f7 zd6&{=08Rh9wuEc$GTJSt<`%`8DfbvK{1V+0?ylojM2R=fD3K142GwiUhT9gdNpfAm zOq)2C3sukMZb3L~gEl&iSYIG)=5(~3rJn``ZDsciTUd;^EIip#thq!K^biPwRiFhO z7$k-5*7}>VoT^~7ynE-px#GAb;RctSwLix*PNTt|2OEvdD|W6a+e^XZ`G0FmJWFbD zV$CzHwBIK|=kw}XvhGZHz%c2(uHX7=vOyK7RpA9E^pI=%DbX$S3FQ%Td9!NrW?+V| zWj`1ly3iq?K!7V>L4W0==dXPC{FP6izbbq?S7~)0P_pPoi0EI5g=lx@DMk|uC%Afs z!R=FwY$VSxMCNiG@x&SWwxi)wjGbUQ_@O#~^u&(@>X_oH%e7&gOFd^iupL!SF@AzM z>dl>Dcstq?8q`iPQAdpXQQqOp=P93W%KHL&O4>x#IwmDI9}SU9rhFhtU^)QE>CrBV z=*3LZ#}Y&Md$3eT;+Qci_=I$aqX(Q?VGgZ6PL_+DGdhP=irfv#RxpA)xXkQ~;!})a zALASl6Zj63_#RXE0n<39#ZS!sub9Q}xPm`0hd(*A6clOeXO=nd;0G)$)G;fae2QK! xSL?WP+<^3_7)W&1u@K-dJ#%sjDox{@jS0FKr;AA*o#Ii8L}EOmKzRo~`WM0t_iO+F diff --git a/environments/Momo/java/Momo/GGE/InsertRepeatDialog.java b/environments/Momo/java/Momo/GGE/InsertRepeatDialog.java deleted file mode 100644 index cf713b69aa..0000000000 --- a/environments/Momo/java/Momo/GGE/InsertRepeatDialog.java +++ /dev/null @@ -1,59 +0,0 @@ - -//example -//8.5 - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -public class InsertRepeatDialog extends JDialog implements ActionListener{ - private JButton b1, b2; - private JLabel label1, label2; - private RepeatedVolume repeatFrame; - public InsertRepeatDialog(RepeatedVolume repeatFrame){ - super(repeatFrame,"Insert Repeated Volume",false); - this.repeatFrame = repeatFrame; - JPanel createRepeatPanel = new JPanel(); - createRepeatPanel.setLayout(new BorderLayout()); - b1 = new JButton("OK"); - b2 = new JButton("CANCEL"); - b1.addActionListener(this); - b2.addActionListener(this); - JPanel labelPanel = new JPanel(); - labelPanel.setLayout(new BorderLayout()); - label1 = new JLabel(" Click the pName after which "); - label1.setFont(new Font("Serif",Font.BOLD, 12)); - label2 = new JLabel(" you are going to insert"); - label2.setFont(new Font("Serif",Font.BOLD, 13)); - labelPanel.add(label1, BorderLayout.NORTH); - labelPanel.add(label2, BorderLayout.CENTER); - createRepeatPanel.add(labelPanel, BorderLayout.NORTH); - createRepeatPanel.add(b1, BorderLayout.CENTER); - createRepeatPanel.add(b2, BorderLayout.EAST); - getContentPane().add(createRepeatPanel, BorderLayout.CENTER); -// pack(); - setSize(250, 100); - - } - public void actionPerformed(ActionEvent e){ - if(e.getSource() == b1){ - repeatFrame.insertRepeat(); -// this.setVisible(false); - }else if(e.getSource() == b2){ - this.setVisible(false); - repeatFrame.insertRepeatCloseAct(); - } - } - -} - - - - - - - - - diff --git a/environments/Momo/java/Momo/GGE/InsertRepeatRotateDialog.class b/environments/Momo/java/Momo/GGE/InsertRepeatRotateDialog.class deleted file mode 100644 index c37d8dd77acc022a9cda0dd9d91611a2325a235b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2026 zcmZ`)SyS6q6#m2}W5ni?u!A6l7=v+>?jcPJ4zwg@DP(A&t88D4h%8b08j^JR0sRko zO`n-5rc-A6(8o@n``Z4FK6LtB$tKQ>GnzT)=xq0__x|zUufL%gN&FDO`w@H)!Da*> zNAMtmod~{+;HwBM9iQmHx+nY>AexfRlFHR2i{WPZ6$a|fp-U38aMBre$p6N5MdgE>BGn0iq zWj$P{n6a3uT(exOz%-O}yiO{P8AEC@CvDGNR&<~-`4WwcU6MjoL%F$9RSH6{p04=) z4ftVkTH--;ZMSXLmUlF?r5D%J%Na%RWZ`RQNqc#rp_6qlNz0WxmQ&_`%d%BsYog1K za^gsZT4JA8gNB*4a+_hLH4KD;kRLYTu5CG9LBr_FMDwcS^x3$18b&fXub3*8-Bd6d zr4yDqb#JLGrRQ=6h8v1AR#rHac4s(2>*Zor_z$eC!+g3jUe0oMEZWV4tpNuS=rq_`vvbgCJ@L|CixU?a<*7~GFWvQ5hs4y#fSQY{>3L2)#+lMyDX z!3g&=EDdW^|C@Hal3=!+$;-`M^8CE;!{O&TUGmdjb@5(gR@a=Pcd4n?jw5sVU%x8P ziyEF-mbQ}$_9wg-IMR;lJ_{ZaEP96@TnsB}aW&{AA;S~eN!8+1+->^_^ zV1jpP7nmJd(WEX&fS7k=fO#bbn73kpc`*i9lf(RJxBlA+y#0`3{)_axIpJ_EOL&aGmM8nROgSG_?e6f#)wUYtH$fe7mT}iW7;`} z&oD*3sSEV&#@btYjB|`s5T`%Nn*#YX<0b`Dg@sL5v zjI~n4C?@6tUZNNO_T(!_oH9oZpA+u!VFKT@2%of0zB^a=3YmP$lB8}?wuFA%!vL!@ zh%YdNLk#oz7{QMi#Z!#oCye8i7Qe9izhe@A;u`+K6#nLurXfe$pt7ua6F*>fwt`6& z-U9aHUX_aL@LwBONg4vM&>hmDSpwo1QFK2=w&M?F|9-ZV-^W?;NM3(Xb_@kocQ<7*wB4qr#0qpaf~j!sO)(WOW`GI6wF zI*txSx{;0JGG2|tz>QYKaZ{1k)V|l_xQaL8xP&(qc}of2R^%N;ZYcvZO80gg3B0Sw z9Rm-LQ{+QM@`@}O*usJViTeh&v1y>B$R1`5IG8iwDvfac0frhKeRDM?+h^#mavN_iYgyl$YMnm_Rz!pv^`=GEZivi)rWNKYQb8>M}t%+p* zq1>l;;V*dfJfpx=vex3>zUxRQn2E4jV^ss^-WTXSG%!(PATnE{yc&2+VP;cl57cbT z3+5Os2}hI|zmksBNaX=z$j%l6%XQ`zAMO}?$&S3`2U3+mnYmKk6oy{)uJE2ZcvO|9 zWEfq`ZOgHOI~rPYv&*^pykh8CdK#K??v~Wh#)A8SaDsJVm-*i`FMReSKL5BV_f@Dq zySEs2%3NiYRqxh3;rO;tQVo|QVYLT$En&MQ4ZU^HX;o$o9slc>hQWN%-OKuACmS}x zKctiFy}5D_xDNY0P*_byF7Fkjw8GEz&O1sDo$yq1D0-MQ&;s zt&_%V!4EuIi?U%Y>+Gqf`V!$;N&D()hE>o|SGFP?X|o(98K|jZ-xZ>vl|Ym%`Dh4P z6DD`g=WN%P%#$bYd^F}|6y<;(@;j*WzNf`Ma|iWtS{ zREVX!@K5Jf1?eN^sNplxO+Gr{dllnz)y6mF3SStL&s2uoEz0K5gL~*@b^7o*`mu`v zJ`IET0Yi9(Vf=^@98u$ER{uAQ;SXHHpBTqqe6BPUsT)?7HE-YtOiorXrh7qb+13vi=ne_Ca diff --git a/environments/Momo/java/Momo/GGE/InsertReplicaDialog.java b/environments/Momo/java/Momo/GGE/InsertReplicaDialog.java deleted file mode 100644 index 18eb220c93..0000000000 --- a/environments/Momo/java/Momo/GGE/InsertReplicaDialog.java +++ /dev/null @@ -1,55 +0,0 @@ - -//example -//8.5 - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -public class InsertReplicaDialog extends JDialog implements ActionListener{ - private JButton b1, b2; - private JLabel label1, label2; - private ReplicasFrame repFrame; - public InsertReplicaDialog(ReplicasFrame repFrame){ - super(repFrame,"Insert Slicing Translation",false); - this.repFrame = repFrame; - JPanel createReplicasPanel = new JPanel(); - createReplicasPanel.setLayout(new BorderLayout()); - b1 = new JButton("OK"); - b2 = new JButton("CANCEL"); - b1.addActionListener(this); - b2.addActionListener(this); - JPanel labelPanel = new JPanel(); - labelPanel.setLayout(new BorderLayout()); - label1 = new JLabel(" Click the pName after which "); - label1.setFont(new Font("Serif",Font.BOLD, 12)); - label2 = new JLabel(" you are going to insert"); - label2.setFont(new Font("Serif",Font.BOLD, 13)); - labelPanel.add(label1, BorderLayout.NORTH); - labelPanel.add(label2, BorderLayout.CENTER); - createReplicasPanel.add(labelPanel, BorderLayout.NORTH); - createReplicasPanel.add(b1, BorderLayout.CENTER); - createReplicasPanel.add(b2, BorderLayout.EAST); - getContentPane().add(createReplicasPanel, BorderLayout.CENTER); -// pack(); - setSize(250, 100); - - } - public void actionPerformed(ActionEvent e){ - if(e.getSource() == b1){ - repFrame.insertRep(); -// this.setVisible(false); - }else if(e.getSource() == b2){ - this.setVisible(false); - repFrame.insertRepCloseAct(); - } - } - -} - - - - - diff --git a/environments/Momo/java/Momo/GGE/InsertScratchDialog.class b/environments/Momo/java/Momo/GGE/InsertScratchDialog.class deleted file mode 100644 index d839c5976178c632fcbce77cd0a9bb8d24264800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1964 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 y&%9^RGw{qgk}-bsX^X@NW)Q{h_*&no;-;YSKD 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 C&&vP+ diff --git a/environments/Momo/java/Momo/GGE/LogicalPanel.java b/environments/Momo/java/Momo/GGE/LogicalPanel.java deleted file mode 100644 index aa9b4fe358..0000000000 --- a/environments/Momo/java/Momo/GGE/LogicalPanel.java +++ /dev/null @@ -1,254 +0,0 @@ -// 9.17 C++ source code add coment -/* - * - */ - -import com.sun.java.swing.*; -import com.sun.java.swing.table.*; -import com.sun.java.swing.event.*; -import com.sun.java.swing.border.*; -import java.awt.*; -import java.awt.event.*; -import java.util.*; - -class LogicalPanel extends JPanel implements ActionListener { - private JButton ok, app, ins, del; - private JComboBox solidSelect; - private JFrame messageFrame, frame1; - JTable logTable; - MaterialScratchTable msTable; - MaterialCombiTable mcTable; - // CreateLogicalDialog createLogDialog; - DellLogicalDialog dellDialog; - InsertLogicalDialog insertLogDialog; - - DefaultTableModel logDataModel; - String tableIdent[] = {"Name","Solid","Material","VisAtb"}; - VolumesFrame volFrame; - LogicalPanel(VolumesFrame volFrame){ - this.volFrame = volFrame; - // createLogDialog = new CreateLogicalDialog(volFrame); - insertLogDialog = new InsertLogicalDialog(volFrame); - setLayout(new BorderLayout(2,2)); - - logTable = new JTable(logDataModel = new DefaultTableModel(tableIdent,0)); - logTable.setAutoCreateColumnsFromModel(false); - logTable.setColumnSelectionAllowed(false); - logTable.setRowSelectionAllowed(true); - logTable.getTableHeader().setReorderingAllowed(false); - logTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - TableColumn columns[] = new TableColumn[tableIdent.length]; - for (int i=0; iSetVisAttributes("+ - rowData.elementAt(3)+");\n\n"); - } - } - } - return cpp.toString(); - } -} - - - - - - - - - diff --git a/environments/Momo/java/Momo/GGE/MaterialAbstTable.class b/environments/Momo/java/Momo/GGE/MaterialAbstTable.class deleted file mode 100644 index b657a43538989a7471bc5446389d1b72db6e08f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5669 zcma)A349z?8UMd#H#6Bzn`C>jz32()CLz5jkRFicXp<(PZF-nOfk`q=x82anK8+$&s}3E9bR5?4s*WG&cumLaI)0+#w>o~W;}1IisN*diZ|nH8j=$*mtB$|v z_`8nxb^KFT<8)Q6tCMt9qpP{Pny0Jzx>~5KQ#Jfp!>={`PQ!mR1x+bUjnGt)rUIG@ zYN}XMnx=G3m1ruYsgas8G&M?7qct@{Q!_O+OH;Eob%Lf&)KrD0=4dLasY*>%g)kKt zhA>UQYylMlss+pyFb@}naI%1z_-F`GTpYq2ToS@8d@O_$1uVj)AuPmYAxy{RqUGZy zn2#$;$h=o1t_Ch3f^}5W)$#Q3#(5p%ypE=w>0@ zBC@y2^fnpYUV_uGPeymhLZ1rZRNN_}PlvDocgY%`5$3yPANR;U?iKJ^!F^6_zE24I zg_&R>?w55R5b$6KHTb+RKP1c#3wT8M9u?eU0v;cU88{$|9~9~r47`G;1UxI?%L2Y8 z-~|ES74SU+@8TN<-otkc`~xo=_!oX*;NN(|zz397r2@+FGed=CG!{=AYCK*t)C3F| z>NsQ#6%jBIPZ(;ljHcj8LrujO4Rt)eWT$_YHMAzHX>9@Kr62=Y^ z;wE*U*|p8;cJk2~Cl;^SK%^~dXxIi9Zc-Rm(d_FSE*c=7Ou>p~_dC6!;3n$rM3=qX z-nCeG=N9C#c34TLrZtv!I;=P?puvrTaz&OE6!G@nU~MroamV#Qo83cawYHg#m5Q11 zrj(hmTm{wtLxC$+k9KJgOI;x+4NJ z;}{$gM=R;8sr8wL*;*)1ynuS~u;ZD8r0lpt!raagdDgT=gsp6#$Rscx$&7N=CO z!*OF1SZ5{rsLN}mLHV$?7OhW{CqUT4&qhlEQ);@oyV^=^u~P{l6q!AQ<%C{Z4<;=G zO^OgsD9kIseROGwV+R{M3+zM5_~sNc+gl+2d{!tF zR*%o!KaT{qKDM21zyFkb1J+S}+)i6eR;D5kID957DlMew;VOQfa4|huSU$gY#B)G=EygDeG~Il}cGX9kD%(U@1{v z!dpFlDd%C<+B>}ky{ct}km&Bu`Ibu-&XEV8t-@4AZy-lF7A7~+t*f@^nu}xTVv;EV(e2Ry=jLX zm)U4!%2w$fLAkX-_c$A4 zJ#vhVrYg%Fud|!v_kL;GvHJ!c;AZ$p!Q}Ei?Qvpf5-ti3uM$)dG7e4Gm>xNtn7Pp=I`0^uo~^E1}_ zjLD-0Bf;=wK?lR*yw9XOYH_4EJTY&sMYOOIHZ5H4qN{1b8MS&uKZu?z5(DrMC6SVY z=*nX20OpdTt~L}6mu0c8HWUdBU}k4T>qkQtu}CPQXR$33(z4hY4Rh?XOrz9NkD

Q zH&L9^K$B>GC`T+PTbd(NHZV-~0JA~iO@a`Xb3C4zGyx$Thf++$SWH3$llk&7g_r)R zsN~zm0zPP*#piD~2;!79FTtYa3QMQRt{AYyznNb$L1H(v-Y;XA-yzKq_8MNO*Q(7}r!1^jDQr-?u~A)&PPG@C)J-@`-Hx->T{uVW z$GPed&Qk;EQqQ4Vy@Ve13M}%c4q#4av>#2a zl><1rv%JVC$NT-L&*FR!fm_SwyYs#QR4_kIZ>t)>yiT3LTAqbHfD=2Thp?v~E8D9F zu&6UUGEippqdALsbrv6~4OB;%2|Ik@TGoe%7Z-WrkzjQ=oJC7?0JA#74C0Ez*c=H` z9CUQ$vrN>5o7V|2~t&wllieF)fFYfp4PT3k}}G|8qz)5weJ?La4YrR zO!=~c@-)_$-&{a`ALZ|${OtkAs};L4(yQ{eD*a{jBo`=*9=Rbv{q!Ei-~#bL5=3fYCd99|8yX-EgP(-6-FKIFG1quDE5$ o`l-+;_%IiFgwcAGJ9v!ksNdN!< diff --git a/environments/Momo/java/Momo/GGE/MaterialAbstTable.java b/environments/Momo/java/Momo/GGE/MaterialAbstTable.java deleted file mode 100644 index df844a4281..0000000000 --- a/environments/Momo/java/Momo/GGE/MaterialAbstTable.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * - */ -//7.3 - -import com.sun.java.swing.*; -import com.sun.java.swing.table.*; -import com.sun.java.swing.event.*; - -import java.util.*; -import java.awt.*; -import java.awt.event.*; - -abstract public class MaterialAbstTable extends JTable implements ActionListener { - protected JButton ins, del; - protected String tableTitle; - MaterialFrame parent; - protected DefaultTableModel model; - - MaterialAbstTable(DefaultTableModel model, MaterialFrame parent){ - - super(model); - this.model = model; - this.parent = parent; - - setAutoCreateColumnsFromModel(false); - setColumnSelectionAllowed(false); - setRowSelectionAllowed(true); - getTableHeader().setReorderingAllowed(false); - setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - -//Jccombobox items don't corresponds to the GEANT4 units. -//They shall be translated into correct ones in making C++ source codes - - JComboBox stateCombo = new JComboBox(); - stateCombo.addItem("kStateUndefind"); - stateCombo.addItem("kStateSolid"); - stateCombo.addItem("kStateLiquid"); - stateCombo.addItem("kStateGas"); -// stateCombo.addItem("Vaccum"); //deleted 8.13 - JComboBox pressUnitCombo = new JComboBox(); - pressUnitCombo.addItem("pascal"); - pressUnitCombo.addItem("bar"); - pressUnitCombo.addItem("atmosphere"); - JComboBox denl = new JComboBox(); - denl.addItem("mg/cm3"); - denl.addItem("g/cm3"); - denl.addItem("kg/m3"); - JComboBox kl = new JComboBox(); - kl.addItem("kelvin"); - -//Only used materials have C++ codes - JComboBox use = new JComboBox(); - use.addItem(" "); - use.addItem("Used"); - - DefaultTableCellRenderer useCellRenderer = new DefaultTableCellRenderer(); - useCellRenderer.setForeground(Color.red); - - DefaultTableCellRenderer nameCellRenderer = new DefaultTableCellRenderer(); - nameCellRenderer.setBackground(Color.pink); - - TableColumn column = new TableColumn(); - column = getColumn("Use"); - column.setCellEditor(new DefaultCellEditor(use)); - column.setCellRenderer(useCellRenderer); - column.setWidth(4); - - column = getColumn("Name"); - column.setCellEditor(new NameCellEditor()); - column.setCellRenderer(nameCellRenderer); - column.sizeWidthToFit(); - column.setResizable(true); - - column = getColumn("Density"); - column.setCellEditor( new DoubleCellEditor()); - column.sizeWidthToFit(); - column.setResizable(true); - - column = getColumn("Unit"); - column.setWidth(5); - column.setCellEditor( new DefaultCellEditor(denl)); - - column = getColumn("State"); - column.setCellEditor(new DefaultCellEditor(stateCombo)); - column.setWidth(8); - column.setResizable(true); - - column = getColumn("Temp"); - column.setCellEditor(new DoubleCellEditor()); - column.sizeWidthToFit(); - column.setResizable(true); - - column = getColumn(" Unit"); - column.setCellEditor(new DefaultCellEditor(kl)); - column.setWidth(6); - - column = getColumn("Press"); - column.setCellEditor(new DoubleCellEditor()); - column.sizeWidthToFit(); - column.setResizable(true); - - column = getColumn("Unit "); - column.setCellEditor(new DefaultCellEditor(pressUnitCombo)); - column.setWidth(6); - } - public JPanel makeMaterialPanel(){ - JScrollPane scrollpane = new JScrollPane(this); - scrollpane.setPreferredSize(new Dimension(780, 250)); - scrollpane.setMinimumSize(new Dimension(150, 50)); - JPanel tab = new JPanel(); - tab.setLayout(new BorderLayout(5,3)); - - JLabel mtitle = new JLabel(tableTitle); - mtitle.setFont(new Font("Serif", Font.BOLD, 12)); - Dimension tsize = mtitle.getPreferredSize(); - mtitle.setSize(tsize); - -//this method seems not working as intentioned 8.13 - JPanel buttonPanel = new JPanel(); - buttonPanel.setLayout(new BorderLayout(3,0)); - buttonPanel.add(mtitle, "West"); - ins = new JButton("Create"); - buttonPanel.add(ins, "Center"); - del = new JButton("Delete"); - buttonPanel.add(del, "East"); - tab.add(buttonPanel,"North"); - tab.add(scrollpane, "Center"); - - ins.addActionListener(this); - del.addActionListener(this); - return tab; - - } - public void actionPerformed(ActionEvent ae){ - Object o = ae.getSource(); - if (o == ins) { - create(); - ins.setForeground(Color.red); - return; - } - if (o == del){ - delete(); - del.setForeground(Color.red); - return; - } - } - public void dellMatCloseAct(){ - del.setForeground(Color.black); - del.repaint(); - } - public void createMatCloseAct(){ - ins.setForeground(Color.black); - ins.repaint(); - } - - abstract void create(); - abstract void delete(); - - void stopEditing(){ - if (isEditing()) cellEditor.stopCellEditing(); - clearSelection(); - } - Object getSelectedName(){ - if (isEditing()) cellEditor.stopCellEditing(); - Vector data = model.getDataVector(); - int row = getSelectedRow(); - if (row < 0) return null; - return ((Vector)data.elementAt(row)).elementAt(0); - } - public void valueChanged(ListSelectionEvent lse){ - super.valueChanged(lse); - if (lse.getValueIsAdjusting()) return; - if (lse.getFirstIndex() < 0) return; - if (lse.getLastIndex() < 0) return; - - System.out.println(lse); - selected(); - } - protected abstract void selected(); -} diff --git a/environments/Momo/java/Momo/GGE/MaterialCombiItem.class b/environments/Momo/java/Momo/GGE/MaterialCombiItem.class deleted file mode 100644 index 0cdabae36873b99e7d28b70df436a219137b9f13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 964 zcmZuv+fEZv6kVs#PG>q4T4+nZ@Pi zUtq#SVhkVPM;X`Y)EI<^*_U+)i4vwvJj9BLRg_Jv!7}j(4@|6M-o%E&p5nfV zO?B{0rO#FL0@KRO2=tX_cLj1~d$#t`IdK*nj(4=U6Zo!ow65^#jre@|dbM4x+EshM zw$+eL=>^q5HrMy|ZAG6cUxgKx*l;~J*c9lmv<{`fK&9oi1IG(?okoYbvGwUd9tSQ_ z0bvVh+uK`;lv!0^u;zO5b*EXE{yV4M;DzjUNdoCw>%eL3I=-ul$dq~I1d>^!(rVV- zh%bK)TTrtQF#jGzb;eGs;~z-dRqe!{Ky077(pTRm5U-z77zH0nuk8k>0;yi~o-YYTZfPAUKslS4{$i1(`2*cu`k>0j?XaRt9sszb6Np`IA?N9uXlaaLOW4I zeDeX*+@C(6`*ANAK`lhrb8YC=X$iNvad#PgW_^l&)B29MH5bCLN+C3BB1F>4^@kX+ z3h@wWE0+i{Xce>&DXW+ap<6jUM8YZ>ADwm|k#GUj>vF=l!k8$FJ3 q>l}%%)P4?gZ0XAdGG|eEfuS=pM2gehiHt$RICV`DUFKN~i+=!n5xnjI diff --git a/environments/Momo/java/Momo/GGE/MaterialCombiItem.java b/environments/Momo/java/Momo/GGE/MaterialCombiItem.java deleted file mode 100644 index 9667d2a99c..0000000000 --- a/environments/Momo/java/Momo/GGE/MaterialCombiItem.java +++ /dev/null @@ -1,33 +0,0 @@ -// GGE (Geant4 Geometry Editor) -// Material Combination Items -// Toshiaki Kodama - -class MaterialCombiItem extends MaterialItem { - ElementItem elements[]; - float ratios[]; - boolean byNum; - MaterialCombiItem(String name, float density, int densityUnit,int state, float tempe,int tempeUnit, float pressure, ElementItem[] elements, boolean byNum, float[] ratios){ - this.name = name; - this.density = density; - this.densityUnit = densityUnit; - this.state = state; -// this.tempeOmit = tempeOmit; - this.tempe = tempe; - this.tempeUnit = tempeUnit; - this.pressure = pressure; - this.elements = elements; - this.byNum = byNum; - this.ratios = ratios; - } - MaterialCombiItem(ElementItem[] elements){ - ratios = new float[elements.length]; - this.elements = elements; - } - public String getRatioNum(int pos){ - if (byNum){ - return ""+(int)ratios[pos]; - } - return ""+ratios[pos]; - } - -} diff --git a/environments/Momo/java/Momo/GGE/MaterialCombiTable.class b/environments/Momo/java/Momo/GGE/MaterialCombiTable.class deleted file mode 100644 index a084ce415027a36c725312762a1ed2e4909b2f79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1409 zcmaJ>`%e==5dIFT*PaJR3nD(NJS@dp-$v^rT0p^q53oLdyIxmZbG;+Its4ESOr$27 z__OhkGJd;#5EV_+-I>{$`DVV^y&pfne8V6Lc%H;u5?5?ovT@nQZ5wxNEZA7IanHuG zjYkgs4m(KbWe<)xNaAP;dvVNxjpJI%rYN0okiy9nU8Wp3n0BxaGg_L}%PD=3b8#N0 z^-|DF(ZyX{b+LlHiwdr}SVPIh1Dtj77&lyO;EanWIOn2@c^6N$-!t5@Fp|w?%Tc2y zLr=*l%vu=C%~dTVa?5&4=PIk75>4p^OHHpKO4@icSMj4pF>Zy$*WMei7{8U_W>I;y zKol3mORp8E4Xvz3brF(WZsuVjvnKRIvqT@trTWG?`S!E4w5h{AlHm6ts<0dPz*Fv}F3+8L(v~8pf|z zPKOH}DMPW=YScv2gmP{j!VER*s>%5 ze;d!}iIA|~iK&I9Jl6MUXMW^kJ!&<5u_OcXIp{Zh3zPoe*Jq^*HNDH3GFQtul+6H% zOShU_7Xha(>KvqR21SIruT|bWp$Ir2l!er$P`$u}B#Ugbf1%jtRupn}jN0;=Mo7l} z#6vM-``3}}P_N2Zl0lB0%2QcauSjkz-wPveL`#y%98>j%RDr+=KJ7gKpFi*r*SSJJ zShMrFa!>Hj#|#S>D1D%=E#>_D>CYI>r>$)q%74Y+bE@t(_ES!1d1xEye0rdbv9-ci zB(-UzjRS=?CJUqZ-p0X?Ov5M3b(UWhV4S5KfQtzn-~^vLTb>Y25Vz<2dEP<%WvciJ(lP*fbuWx>`Rvb diff --git a/environments/Momo/java/Momo/GGE/MaterialCombiTable.java b/environments/Momo/java/Momo/GGE/MaterialCombiTable.java deleted file mode 100644 index d944ffc7ab..0000000000 --- a/environments/Momo/java/Momo/GGE/MaterialCombiTable.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * - */ -//7.3 - - -import com.sun.java.swing.*; -//import com.sun.java.swing.event.*; -import com.sun.java.swing.table.*; - -import java.util.*; -import java.awt.*; -//import java.awt.event.*; - -public class MaterialCombiTable extends MaterialAbstTable { - MaterialCombiItem item; - CreateMaterialCombi cmc; - DellCombiDialog dcd; - - MaterialCombiTable(DefaultTableModel model, MaterialFrame parent) { - super(model, parent); - tableTitle = " Combination "; - cmc = new CreateMaterialCombi(parent); - dcd = new DellCombiDialog(parent); - TableColumn column = getColumn("Elements"); - column.setCellEditor(new RatioCellEditor(parent)); - column.sizeWidthToFit(); - column.setWidth(200); - } - void create(){ - cmc.setVisible(true); - parent.et.setVisible(true); - } - void delete(){ - dcd.setVisible(true); - } - protected void selected(){ - parent.combiSelected(); - } -} - - - - - - - - - - - - diff --git a/environments/Momo/java/Momo/GGE/MaterialDB.g4mt b/environments/Momo/java/Momo/GGE/MaterialDB.g4mt deleted file mode 100644 index 1359a1825f0f0081195229a2377d50029ad1a78b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7256 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 diff --git a/environments/Momo/java/Momo/GGE/MaterialItem.java b/environments/Momo/java/Momo/GGE/MaterialItem.java deleted file mode 100644 index 8e01dfd8d2..0000000000 --- a/environments/Momo/java/Momo/GGE/MaterialItem.java +++ /dev/null @@ -1,21 +0,0 @@ -// GGE (Geant4 Geometry Editor) -// List Items -// Toshiaki Kodama - -import java.io.*; - -abstract class MaterialItem extends GGEItem { - static final int G=0, KG=1; - static final String densityUnitName[] = {"g/cm3","kg/m3"}; - static final int UNDEFIND=0, SOLID=1, LIQUID=2, GAS=3, VACUUM=4; - static final String stateName[] = {"Undefind","Solid","Liquid","Gas","Vacuum"}; - static final String stateCode[] = {"kStateUndefind","kStateSolid","kStateLiquid","kStateGas","kVacuum"}; - static final int K=0; - static final String tempUnitName[] = {"kelvin"}; - static final int PASCAL=0, BAR=1, ATOM=2; - static final String pressName[] = {"pasc","bar","atm"}; - static final String pressCode[] = {"pascal","bar","atmosphere"}; - int state = SOLID, pressUnit = PASCAL, densityUnit = G, tempeUnit = K; - float density, tempe, pressure; - -} diff --git a/environments/Momo/java/Momo/GGE/MaterialScratchItem.class b/environments/Momo/java/Momo/GGE/MaterialScratchItem.class deleted file mode 100644 index 5f4b63a03aa259c882fed8ab64212d7b24240865..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmZuuO>fgc6r4?+I8L0TO$bQ~r2!F0H;{lh@gXi%U0DiTQgYwAR%;a7k-b5{ze2)7 z;=m8!MU)< zbgr`~xp?V&p6`3UXVxpPq9oF<1+1g=JQQdgrAe+;q8Dnprmh`-48oO;=n4o=z&<%S z_H`Ij`2ww3l!R~B@mZLis(43`#S}s%;nN6(ZzEL`)T3(gv{E_n@Q#!c3 za{K>rCuSP9HBZ-B5PFe0(pEZ+*#y~nnBHU(SmpUYf}?h5Iq-SCK(5i03wQRP*y_}fkvZ2plh$%WW@l zmG`DBFj`sa2$U+VO;^dpcZ0RW4P{+B?^jx09M;lqRD0|G;nvc3ezaFp?oJ?UP5IjG z25MUyoAIs;>O%mQzXM?YY{(#3-St(Rn1pvKEt4p4ndiyQTj{C#(ziMEAmX4KMsf0Ftg{( zJu^=#yogc}esnk86&R69ptvVhKQQOBacqORW$rswYsBGx9I^WXg)r^UJiqTI#y64n z_M}Z%Pf0=+(t$db5_oWdSs(3=pZaVf4MTI=SAoO=*SY|3;ejW(O9}jrd*^TYwBs2|h%CurIACN+**YsG z9Ad6o8qGX;ddBJbi(p)9%8PtefD&J$DLyUJIE5K3;v`eg;s&jIn8RaCGG+ry8J+7G zp$4YJt1kUO=jo94Jw79g4J=!jwlHU5-a^eL%C?cgr~$`D4g~{62jeIks5)4{ zn1e-B94w*4Fz(iaD}KX0#iO=&(!3I(-u_FU>O@9uqO)$j!7%Ci{-EkRz2pXA-0`|; zS`Y823IM?_WoTcuC*kVVJwi5 zI8HlFk(}|SqI5BcL#`S;ktU{+;xX?CUnsTTk~&Tps=tX%GYYjmjngC)2hucI`De^M zamiDq2RqIEQ}%NkhDuuu)PK!i`dR1aVi>GMTq_>Z!8zJw2Q@G<$UFwg8;U3B%OwLD zy`9x3WY7B;>LdR^F~bz0F%>9a6b>=u(DwB9mcgC+EC#-`(=w&7Z$Nej|$OcpU|Q0*XLH#f*xgidhv8RXkErR`FEDauS6k z?k4d#i6<#&7)v3IQ$6UzX@N5WX9dm)j0;Q%oENyDA%{x>mo+S4TEimdG(5vi4bMfs z5V?X|8eWO4VNStNZnFA8-_{G3Zf_K7o@?40GYX=)$-07At|FusTb5~?9^DhgU=b-T zalhoO8w&bLj@|Ke+pFtVms*)ukSg!Aj4jXP4h;(ml8cMwif6Q`Dhkq7(>9j7?WWP?G5+2h&>j9t&P3U#C9IWBwauR1N=s_U*Pk&>RRM3xBJ%I0pzO+;F3I{sd_It(#Ak4~qnpvQ7H>WW{qBV9;x`%6;&(fwB|nFhallJl^O=L}Gbh+*&biOk zfI02Ho)5SZ@M^$o0oMaA17?KWG0PBOn3%yJMtHQt+*!iKAmtgdq>SgkW9Z9aSi(1sLB*BB>P5w4OZLT8d3+tkTb$OtR{I I_7K6ne_m?D761SM diff --git a/environments/Momo/java/Momo/GGE/PhysicalItem.java b/environments/Momo/java/Momo/GGE/PhysicalItem.java deleted file mode 100644 index a7b73a1440..0000000000 --- a/environments/Momo/java/Momo/GGE/PhysicalItem.java +++ /dev/null @@ -1,35 +0,0 @@ -// GGE (Geant4 Geometry Editor) -// 7.9 -import java.awt.*; -import java.io.Serializable; -import java.util.*; - -class PhysicalItem extends GGEItem { -//Object implements Serializable - static final int X=0, Y=1, Z=2; - static final String vectorComboName[] = {"X", "Y", "Z"}; - static final int T=0, F=1; - static final String manyComboName[] = {"true","false"}; - static final int MM=0, CM=1, M=2; - static final String widthUnitName[] = {"mm", "cm", "m"}; - double width; - int narabi = Y, widthUnit = MM, many = F; - int pInt; - String name, logVolume, mother, x0, y0, z0, kosu; - Vector vt; - - PhysicalItem(){ - vt = new Vector(11); - } - - public String toString(){ - return name; - } - -} - - - - - - diff --git a/environments/Momo/java/Momo/GGE/PhysicalPanel.class b/environments/Momo/java/Momo/GGE/PhysicalPanel.class deleted file mode 100644 index b42d016ab46ac7bf5be118c3884fd4b9d3acbc46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4009 zcma)9X>=Ra75?5>*2rTejs-R-4nbLQ96KsFKoZ*l+wr1QaTMD)F@!cFX>5-pY0PL8 z+aZ*+1=>;yoGvtU-$?gDQfvcm=|Y!4OINzmKmF04J^j;jditlQ_r4h^vXM{gb9~=j z-@WhMMQ>jF&r2_(3T^mH08Rjf0L}z38^Bxu9}M8J0GdVEX7!wfuUgoCODQ!R-R&)CS%hqJyobRDg7_jH3F1q*5X3hzAH=ut;UJ#F*&r@4cA3Gq z8N7^-1@V2}?+5s35IDq}xm<)1Tn9S;Wa3%oaoU*g?C{0a{R z@oNs~H!OXFm4C-(zh~?ZxIc(Lvfxh){){JrcoRUMbZ;pGn({Jlpql0-nn*X;~*1P@x z&?^hfi-0Y!X?FSgtP}0EGL|j^3q3BnOR()w+hY?J*Q6^ZUi@$NsTk)J=&e(8tG$P+HYM$BW~s$Bj;_?;3>&` zlpVXV0$*mKvx4C2QF^W7vDdf@f2Wx8jN+*5EI zD@XcG6~%EqX=F%R7dLapP$8Q%>`^_Lp4jg{U-aX9kumbKI7R3%lm*F=rZ#O!=AA0 ztdXY1(bEL$3A#m5OgY_PQeNhk3ccE$3% zsZ3qO%d_TEM`sMGdDfu@7f@%W=DAA+0)%<0RW_HcY8x{=|ETy0qnx;=8(d=8awtnK zYn{t7(w==S(e#_8yV8J1QLXrGX+@#A2>-HCKh@+7rfQOcriMbJ8r3NsO@-?X>#=}8y^00YC=m``8^&UOY6n+8jni|DyTAK#?4~b?RxFd{6-4QY ze>47yTkv=6#lLWypm(OI#XhkC`$Yo|h)w7a+t4LiaZv2T9ikt1iUhjFN%RT>heRIz z;yeb#V~B~TaacTqxOf%`@gk0iS1>HDU_`u*QSk=u5^v(T_!~}$e_&kv6L*V$;~vG2 zlS&=#Rp^^biQtsd0$tgQq|%9$atLW<2!?V36Ur$}D$|%!Y?#V9Oe+uJwDLHz$_2U? zfzRV%x2@@eMv;wf?p{Rnh-|@&sH1${x`;z`)wf?_-rz;ly1ado?kv&!B^@i#9g^-U z(fyKczX;8>-&;x(hUrrixR2(FP2YWaq8v(=O{pqSQqE8U3Y36Zy6`zl*(~;B9^E*L zL0V(DAIESGCukkV1JG$sO<{)idzLtIVo~C%=x{*YGB%Hg#1d|b(;)|*BbKZaXj1$z Ot&b4rGsIW$>Hh)a%~u zCtrNfwFH)SEmxoY3;q}N+cT3)7LB@m$Ud2U_P4)%JLmlV=dZt^4YR1~c&OvCjt_Ng z>DbosiH=Wo?CRLlVd>aUp&b(`q(pRyNZ?WmNxUJSms8L%DPpRV;)?91yU>A*h^*+Q z#coD6X618EL{4<`BCZPdP0?L5kjG6Cw?*7D@R5j3(S0o9Gprf-T>gE5I|jZKVWMDQ z2e%9;TsQC)9vHCkt^o(j1}a!E@HO5t;Ng7@ZRyOKhVFEx@Wk{jcgv-adS+P#TILr-E!vQ3xyZsfF>W}rXs(@bx74$eqmg~hx9nWtCMtM_o5>~1 zvHZIl+VgHnu~T{1srshlZH>vimD<3RJj>e`o3k_?k)?|Td*AUuvXqtUQk^& zHV(eIl6|o{%v8fbsA^84p$sD3;7qW&8hQ$D(X=;A&yo%@jNV|B;tr7Zgl0}ksG%!R zhv91IY)l~2T6b$+QLS1wbL=&P3O`ofGuJDt5=&{8O0oZXhY6#8#a3muP(y#wbc)KZ z+i}QfP&BK4KG178B_Hd)ThVZ~)kGG|9cA;dw%7|hUw7?#aR`_H**cyt4e1tUzSJ)l zbSn0&p@XIsm*FZNr!d@J`OAdDOr#<`kw*3_4MlTcohmHMGD|bCtNfTE8l^ERPmt&9 zr;Xj=ZeYj;_gK|BT0+)vzU7gKi!v1KTW)S$aY}6KMF{H))J-F%AyhRD7>_{3^n!+V zd2&V7$7RG*W%oeU18GjRJKSnaLSJ>yt=Xk@R-hQ<&Er(HUdU)wS+BZ_U_v?$or(;eFiJ9R<4kHmeSxakGn+Q=fC&pA;I-x_88sS=|hZV zU!rU47(Is=;oo-tH4ZWK6KynF1EWB&+twJ8|5kv6YW1VD3XDr z3zTld?rKmXV3H8`aUS*$k-9izCyxc=R`hT^*zV diff --git a/environments/Momo/java/Momo/GGE/RatioCellEditor.java b/environments/Momo/java/Momo/GGE/RatioCellEditor.java deleted file mode 100644 index f7d4adf6f1..0000000000 --- a/environments/Momo/java/Momo/GGE/RatioCellEditor.java +++ /dev/null @@ -1,66 +0,0 @@ -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import com.sun.java.swing.table.*; - -import java.util.*; -import java.awt.*; -import java.awt.event.*; -import java.io.Serializable; - -public class RatioCellEditor extends Object implements TableCellEditor, ActionListener, java.io.Serializable { - private Component compo; - private Vector editorListener; - private Object value; - private RatioDialog ratioDialog; - Frame parent; - RatioCellEditor(Frame parent){ - this.parent = parent; - editorListener = new Vector(); - compo = new JLabel(); - } - public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int rowIndex, int columnIndex){ - this.value = value; - return compo; - } - public Object getCellEditorValue(){ - ratioDialog.getValues(); - return value; - } - public boolean isCellEditable(EventObject ev){ - return true; - } - public boolean shouldSelectCell(EventObject ev){ - ratioDialog = new RatioDialog(this, (RatioItem)value ); - return true; - } - public boolean stopCellEditing(){ - ratioDialog.editStop(); - castStop(); - return true; - } - public void cancelCellEditing(){ - ratioDialog.editStop(); - castCancel(); - } - private void castStop(){ - for (int i=0; ivvRF75|-NCUoTJYIULFtJStX@KKA8qGGjZW>Onlt$yj!PjxMq%P;!HcQ!m}Y<3*pltd`81(HC)&5c?~aVcv-_&HGECO*EM`Y z!wn6$HT+b=>l%Kh;pZCO&~Qgb1CHuw7P4MQBaZ1X(5FL3zm7FR!a~;JxQ==Zh{s?( zJx=J@fJcQJ5|fkSc1lMGaUrLL42$s@9c%HJ*gY=ftdJ2QqxCd7CuB@Qjn_lN6ZNRW zgvidz@`8{jrL?D{f{#eNrzPG+oeEP&6DB28LP*lUEUpO22>Gax83QlCHSlHR415Ki zffw;H1K$+8ZwvPwTr%(qYy;m#+Q6$w8MrCj_k{aCE*tov*u5s?mXIF_`7yp|;3vZU zLPGr#&l_04rwrurB?AR~!oVV)Gw>#+4g3mO18+%HOH$CU#p7*UHSileW8k-VMj_C8 z=2WXfZQJfapAIRkY1>g?qTZY+f~E=ByX%cOB2P9V<)4hO#1UI;q%* zm$jV~#f&wk5N;bPxvkU&D5rXBTQNt!l}-;NZO_g2R3#OQXj^sG%(UxRj@PrIl(JCa zz^cZ}0ZwG?WS^O0^*Jxg`n_C_Yd5c3wVpy|!a}N4V~HlNOuf zZ^3lDF*7~GwK}e#56mU3X~~#V2yq{NcIw#7`gs4yiBcmQst{J#5>L39SZ>CN`OVGE zvU{X=O*v$uyHSEdyFaOQA9DCd~AhnYG1)`Rh;HbFKdP zu=t|4La-!Q>wlMfuF&91j@xG1O)){$YOj>Vc)mz>z>SW$GuebSXiG8byh6Tf;@%a#G$D`$*pJ6i1kS zOSkZ zS0q@#!;wI39(#Qniv$9B?D1(wB+!`05uZNdYj;EfO>6SlzJxUs&A~-%9*zWQTfjpS zYfk}N$9+%6T3h8A%wtD%2@OnpZypDu3pm(Jr)@q{Lnaawwh~Ad604(tw(h!UxbAJR zkgnQp?G|1s7aP_B7xVbv>+J|@1w8Qo)x3bNu(pK8iKfsZHjemZQqoynsjQ{gYnlpc z;kuh2nw1LcN)>Yd6-29XA?kvt?jx#CG^<5yIuwcoBcV!yNXQ2@)LuYqbP>J8xid=a z4&PzZ6+TJ&CmbMM$LCrz-$fg6AKzlza1Wy7x)DJiHewhp7{w-Bz-Cz3f(*9eDo5;D zT3*L?j@SLTfgODF?8I&C;``+R{0_VE9;3XEcKih$_$MEn|H58;fS3wkpK8E<6+x%k zhAtJw0ksbgs$O)fJ{(kM@sPTRhn0(VHIE*39lh#h99FO5h56{y? zbC~FzL5$zSI7RsnFjdNXn|6}-X$is~M>v|teo59Pq6IwIvV`yic_uEPeGyv<*!lP^ ztQ#-u8@Q@nQOJ9u;-Ktf=kFK(4W?Vq0y^2^;sA8|_rwTa?xWP4<8O@mbF>&o7oK3D Y=Wvv|VYYt^PvShDqURS_Y7IX3Z$)PYJ^%m! diff --git a/environments/Momo/java/Momo/GGE/RatioDialog.java b/environments/Momo/java/Momo/GGE/RatioDialog.java deleted file mode 100644 index 2948f7de95..0000000000 --- a/environments/Momo/java/Momo/GGE/RatioDialog.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * - */ - -import java.awt.*; -import java.awt.event.*; - -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; - -class RatioDialog extends JDialog { - private JTextField paramField[]; - private JComboBox ratioType; - private CSGItem solid; - private RatioItem ratioItem; - RatioDialog(RatioCellEditor parent, RatioItem ratioItem){ - super(parent.parent, "Mix Ratio"); - this.ratioItem = ratioItem; - JLabel lbl; - GridBagConstraints gbc = new GridBagConstraints(); - GridBagLayout gbl = new GridBagLayout(); - getContentPane().setLayout(gbl); - - gbc.gridx = 0; gbc.gridy = 0; - gbc.gridwidth = 1; gbc.gridheight = 1; - gbc.weightx = 0.0; gbc.weighty = 0.0; - gbc.fill = GridBagConstraints.NONE; - gbc.anchor = GridBagConstraints.EAST; - lbl = new JLabel("Ratio"); - gbl.setConstraints(lbl, gbc); - getContentPane().add(lbl); - gbc.gridx = 1; - gbc.weightx = 1.0; gbc.weighty = 0.0; - gbc.fill = GridBagConstraints.HORIZONTAL; - ratioType = new JComboBox(); - ratioType.addItem("Number"); - ratioType.addItem("Fraction"); - gbl.setConstraints(ratioType, gbc); - getContentPane().add(ratioType); - - int paraCount = ratioItem.getLength(); - paramField = new JTextField[paraCount]; - for (int i=0; id3N~v* zS~G%4bLa<3TeE%F&sqo23oDPDx?lQ#U|72^uy`=ze*$lI*4CUh*{A!#spp8bT%B$> zO~>_3~mX&q7820RnLj0=hxqg}5sI*ocg=D4WZThz7*X%}z z^PvM774+%v>&}Mn62ovd?@-nCocT_3#cAKQR~ig34|L~E!&B8(-EP$EwksgU4&Jeu zMQAFd-uUO`tXO5K)oItA8CUYD2UM{Y&W$syl{`$Jb)s&|p* zY)N*wx6r)?Z!LATD~$9|-KFk1vf*ApZ=fxmpon&>BVyv4Pns*OhC;$`z0RRMmcv+B zLzb^<2-JiaAn%11@;ri(4<;D-dN{`UFXIZ)*Xi9vgg;;`zl&79unjYxe*ts<&-gZu z=40C!{*Ai|pU{qAfYxA*BrBybj6)dZ9QYg;!hFX$Dz3zXEWgt0#>RtHlk-JfqA#^i zg|&6Tj$eF%k>~%yr-|gN4)H&-a+HYWKajk?%R3gmwuMSTq9+(Vx`QM4I2ryKX9@x_ zUt>R1kAddElement( element" + elems[i].symbol + ", "); - cpp.append(getRatioStr(i)+" );\n"); - } - return cpp.toString(); - } -} diff --git a/environments/Momo/java/Momo/GGE/RepeatedRotateVolume.class b/environments/Momo/java/Momo/GGE/RepeatedRotateVolume.class deleted file mode 100644 index 96b48f28944f64ee5ba777a67d2d90805b7ac576..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14088 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 GFaIx=L|20V diff --git a/environments/Momo/java/Momo/GGE/RepeatedVolume.java b/environments/Momo/java/Momo/GGE/RepeatedVolume.java deleted file mode 100644 index 0cc1ec10da..0000000000 --- a/environments/Momo/java/Momo/GGE/RepeatedVolume.java +++ /dev/null @@ -1,374 +0,0 @@ -/* - * - */ - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.table.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -class RepeatedVolume extends JFrame implements ActionListener { - PhysicalItem phyItem; - JTable pTable; - private JFrame frame1, frame2; - private JMenuItem close; - private JButton create, ins, dell; - DefaultTableModel pDataModel; - // private CreateRepeatDialog createRepeatDialog; - private DellRepeatDialog dellRepeat; - private InsertRepeatDialog insertRepeatDialog; - private String name, log, type, many, x0, y0, z0, dir, step, elem; - private String pValue; - private String tableIdent[] = { "pName","pLogical","MomType","pMother", - "pMany","X0","Y0","Z0","lengthUnit","Dir Of Tlate","StepSize", - "Unit","nElem" }; - RepeatedVolume(){ - super("Repeated Placement Translation"); - // createRepeatDialog =new CreateRepeatDialog(this); - insertRepeatDialog =new InsertRepeatDialog(this); - dellRepeat =new DellRepeatDialog(this); - - JPanel panel = new JPanel(); -// phyPanel = new PhysicalPanel(parent); - panel.setLayout(new BorderLayout(2, 1)); - pTable = new JTable(pDataModel = new DefaultTableModel(tableIdent,0)); - pTable.setAutoCreateColumnsFromModel(false); - pTable.setColumnSelectionAllowed(false); - pTable.setRowSelectionAllowed(true); - pTable.getTableHeader().setReorderingAllowed(false); - pTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - JComboBox manyCombo = new JComboBox(); - manyCombo.addItem("true"); - manyCombo.addItem("false"); - JComboBox vectorCombo = new JComboBox(); - vectorCombo.addItem("X"); - vectorCombo.addItem("Y"); - vectorCombo.addItem("Z"); - JComboBox motherCombo = new JComboBox(); - motherCombo.addItem("logical"); - motherCombo.addItem("physical"); - LenUnitCombo widthCombo = new LenUnitCombo(); - TableColumn columns[] = new TableColumn[tableIdent.length]; - for (int i=0; idVQ)f&&z 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 W0sbDepXgJM#gpNs^Wh(j&-)*cZWWCH diff --git a/environments/Momo/java/Momo/GGE/SingleVolume.java b/environments/Momo/java/Momo/GGE/SingleVolume.java deleted file mode 100644 index 27c833ec6d..0000000000 --- a/environments/Momo/java/Momo/GGE/SingleVolume.java +++ /dev/null @@ -1,337 +0,0 @@ -/* GGE Single Positioned Volume - * - */ -// 1998 Sep 29 frame rotation, defaults setting -// 1998 Sep 20 corrected for type 2 and 4 constructors. Yet imcomplete for any inputs (rot axis, mother etc.) -// add Insert Button - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.table.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -class SingleVolume extends JFrame implements ActionListener { - JTable singleTable; - private JFrame frame1, frame2; - private JMenuItem close; - private JButton create, insert, dell; - DefaultTableModel singleDataModel; -// private CreateSingleDialog createSingleDialog; - private DellSingleDialog dellSingle; - private InsertSingleDialog insertSingleDialog; - private String move, name, type, log, many, x0, y0, z0, rotAxis, angle; - private String pValue; - private String tableIdent[] = { "Move","pName","pLogic","MomType", - "pMother","pMany","X0","Y0", - "Z0","lengthUnit","RotAxis","Angle","Unit"}; - SingleVolume(){ - super("Single Positioned Placement"); -// createSingleDialog =new CreateSingleDialog(this); - dellSingle =new DellSingleDialog(this); - insertSingleDialog = new InsertSingleDialog(this); - - JPanel panel = new JPanel(); - panel.setLayout(new BorderLayout(2, 1)); - singleTable = new JTable(singleDataModel = - new DefaultTableModel(tableIdent,0)); - singleTable.setAutoCreateColumnsFromModel(false); - singleTable.setColumnSelectionAllowed(false); - singleTable.setRowSelectionAllowed(true); - singleTable.getTableHeader().setReorderingAllowed(false); - singleTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - - JComboBox moveCombo = new JComboBox(); - moveCombo.addItem("Frame"); - moveCombo.addItem("Body"); - JComboBox motherCombo = new JComboBox(); - motherCombo.addItem("logical"); - motherCombo.addItem("physical"); - motherCombo.addItem("NULL"); - motherCombo.addActionListener(this); - JComboBox manyCombo = new JComboBox(); - manyCombo.addItem("true"); - manyCombo.addItem("false"); - JComboBox vectorCombo = new JComboBox(); - vectorCombo.addItem("X"); - vectorCombo.addItem("Y"); - vectorCombo.addItem("Z"); - //vectorCombo.addItem(" "); // this is removed - LenUnitCombo widthCombo = new LenUnitCombo(); - AngUnitCombo angCombo = new AngUnitCombo(); - angCombo.addItem(" "); - TableColumn columns[] = new TableColumn[tableIdent.length]; - for (int i=0; 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 diff --git a/environments/Momo/java/Momo/GGE/SlicingAxialFrame.java b/environments/Momo/java/Momo/GGE/SlicingAxialFrame.java deleted file mode 100644 index b3a303f5e3..0000000000 --- a/environments/Momo/java/Momo/GGE/SlicingAxialFrame.java +++ /dev/null @@ -1,248 +0,0 @@ -//1998 10 26 -//GGE -//Tetsuya Yamada - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.table.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -class SlicingAxialFrame extends JFrame implements ActionListener{ - private JButton create, ins, dell; - private JFrame frame1, frame2; - private JMenuItem close; - private JComboBox motherCombo; - JTable slicingTable; - DefaultTableModel slicingDataModel; - private CreateSlicingDialog createSlicingDialog; - private DellSlicingDialog dellSlicing; - private InsertSlicingDialog insertSlicingDialog; - private String pValue; - private String mother; - private String tableIdent[] = { "pName", "pLogic", "MomType", "pMother", "EAxis", "nReplicas", "Width", "WidthUnit", "Offset", "OffsetUnit" }; - - SlicingAxialFrame(){ - super("Slicing Axial Symmetric"); - createSlicingDialog = new CreateSlicingDialog(this); - dellSlicing = new DellSlicingDialog(this); - insertSlicingDialog = new InsertSlicingDialog(this); - - JPanel panel = new JPanel(); -// phyPanel = new PhysicalPanel(parent); - panel.setLayout(new BorderLayout(2, 1)); - slicingTable = new JTable(slicingDataModel = - new DefaultTableModel(tableIdent,0)); - slicingTable.setAutoCreateColumnsFromModel(false); - slicingTable.setColumnSelectionAllowed(false); - slicingTable.setRowSelectionAllowed(true); - slicingTable.getTableHeader().setReorderingAllowed(false); - slicingTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - - JComboBox motherCombo = new JComboBox(); - motherCombo.addItem("logical"); - motherCombo.addItem("physical"); -// motherCombo.addItem("NULL"); -// motherCombo.addActionListener(this); - JComboBox eAxisCombo = new JComboBox(); -// eAxisCombo.addItem("kXAxis"); -// eAxisCombo.addItem("kYAxis"); -// eAxisCombo.addItem("kZAxis"); -// eAxisCombo.addItem("kRho"); - eAxisCombo.addItem("kPhi"); - - JComboBox angleCombo = new JComboBox(); - angleCombo.addItem("rad"); - angleCombo.addItem("mrad"); - angleCombo.addItem("deg"); - - JComboBox widCombo = new JComboBox(); - widCombo.addItem("rad"); - widCombo.addItem("mrad"); - widCombo.addItem("deg"); - - JComboBox offsetCombo = new JComboBox(); - offsetCombo.addItem("rad"); - offsetCombo.addItem("mrad"); - offsetCombo.addItem("deg"); - - TableColumn column[] = new TableColumn[tableIdent.length]; - for (int i=0; i7tJtbbr^%rVPBJkwDHpFO z>TmGTCtrL}7j2iamJ46~3;q}N+cT33CF*i5AF|Jxec#{S=bZfZ$Iri@4TtcRj(Hug z>$ssKr{f(RrVdNTT^;Y~uyx$m@j%Bz9UtiUFa{lo7`lbTg=iRy(N8jlD8_|15yKW7 z5;7SjNyX5C!(Hga5g|u~cTDt-i{L~QJ$OZUuf|~DqzFz4IW4>?@iHyD*9=_8jF1aL zGD5BxP(oHja7RcHO9mX-l`&`FeIXURZNNp^z$(rf_y}(r_!w^(_ypGsJVMsM=Qv~F zF>V?70_P2UiMKSgCC277bSK8LImfmNbDkiY6smG{V|@`6v7 zGz=u>TI%dd1fJ5$wlf9Gb1GBW^EWc{zGpEXX`ztLU98Ld64?dEt`?O$TQQ4jN^E8m z*}PLsxz$q2Ps_b$F|W%v&1G9ny_o6JTrD^Ao|j5H#j;aUC8^+WOGj#z(o`ektmS&D zq$+;wv41kTLwr<5%zfS6i69vX8#tZGdzMpbXbglJ&A>{9E%}6bDAccdmYwq5gxwgU zusyLPwjI+}$@0!3m@)k_H%I{d_ zeqNO&YnQ^HnSn9!>v_I68sb^2q^?zq%c|mcgR|3spc(mrfNeRc`HEHYa$ZH5GHU%V zwy)0gi(cUDafl?glQ-=JvtmixnOxi-*+$zKdlP3;rbR=S&#oa5%Q@9bUd>uItBsp} zgXUG`wo@sp0y|+A3JssNQ6MhlXKYnuuQl}L%~D?3H9bxv74oL*rF}lpmyew1lr`*Z zHM&`IS=k!KTgZaJskwG4jTH9(y>?>|H6&W7d4gHWZ&AauhAmVrJ47h&uB7W3cPbv- zAo;j#Szb_=;L{UwL|(2ln$wJ`0HzrN)xV;=M!;~yhRNKNO1gGPIjxlXifnO@<<_jF z0Nx({`QLoL8W3&u<fH9OVdoFj(XdE5$XMVD)s9|1d41T1e(dJAhAJ+GUXRdc2etZ=6Kgp5 zBle7}V_)(Kc79)X)5E~P0G$o;;oD9_59dPjF|Hb=-830p$L?EP4>n9=e#S$5O^2y= z4_8C8A+AzOr2V^km=533F4E8HdIcXXU|QV%iuSKD$V%H5lk)ux?Hky(hS5M634~fr z7}>y93Y#JXcK#k>PdhdWO!c6HgIcq@#hK z@KOYiHEmd=>)8LzpT9SJ2ZbFYSjXAs6KwJ^7IKsj^Up?@-TxEg6l0ubj48%A#TX|U zga2y&ON`-vtK%$VoMVg`#yHCuXXw4a@edj_%7`*LQ2}Cn9fJ)Rf@#Ze+AdJ})4Iul r&?FX`ynJi3%_W`>IT3kW4#Vu@Dq%X3>p1X&{uQPun#S5Xb-9#HOw3haV?Tf(WT!d4PzQYC#EJBDrsqC9EX7CE2vTmM6i358y+I zvnhfLJ2Su8nc=_l{qy++2iG|EF!69OLJzKw0X&9rFpm>m%KXuYDq?VgdCG7e#IJnA zL%ucPvgVbDc3g5*go&x8Dk59gzm-awI|g^5b3xMF>qJH74lAb5A&Ul&fT3V)({Z7igY;&&ZtF}erENdSbQLzO3OlXM zmQ;mLf6W7tOOqJAW*8P?C#Z2x!RYh$ICNloQHbrTdp7d=1^ z6`kG0E@GJP=X~ePnVGNek5A-qj+%*G6UQd1Hv57F0n>p4%fSiC0=asllf{96QSUUE z&g$KX|KK-6KN>eZov3Jh+4v6$6s}aH^fiU8cq9ditvH%%Khgs~T(Gy>kAa+NMN~l0 zX1l8*dApbnWzzSDAt|M99QfhDPgL5IW_fX_Mjb7u9Ioq&^g=w)ix){CZ&WH3_q@Sa z>Q=8O;IPQp{pE}^Q_b7cnO+K1vZtuH=}CHo>gm_F{P)7U;Y0?S&hykc)f=b$r5yJL z7jT4qMkD<%<{Y;Jo6{mIcg3;YcNlK<4fz+M0y~VQjB8P8!{P!CvANRKm<5r%`-=SY TT2jcsq5&LWD?|4fH&FQj_sCpw diff --git a/environments/Momo/java/Momo/GGE/SolidItem.java b/environments/Momo/java/Momo/GGE/SolidItem.java deleted file mode 100644 index 2efc6e9c91..0000000000 --- a/environments/Momo/java/Momo/GGE/SolidItem.java +++ /dev/null @@ -1,16 +0,0 @@ -// GGE (Geant4 Geometry Editor) -// Toshiaki Kodama - -import java.io.Serializable; - -abstract class SolidItem extends Object implements Serializable { - boolean isEmpty; - protected int solidType; - SolidItem(int solidType){ - this.solidType = solidType; - } - int getSolidType(){ - return solidType; - } - abstract String getCPP(String name); -} diff --git a/environments/Momo/java/Momo/GGE/SourceFrame.class b/environments/Momo/java/Momo/GGE/SourceFrame.class deleted file mode 100644 index cfacc67907c4b3a6edb75c60b8b7870d1f164edb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 zcmaJ^cUT+e8UG!_CyuiL8C*LHoTM=bV`bTKjO`c%ZXjX>43SC4AQNt z8gQ$ItpZvEY!h&SfL1(L!{q{+@H`Dc0nGxo3)m@O3!X1~Um#LL!$p`85ZBO%S=npW z@%R%Oc3@6c^J2{s@}!Wr2}so8*;tTOQh+ViQW~zn3pKPME!Hv`cEOQtS#fev!^Kz< za#?n)Xt)fg#M&t#ZxRKCI(OSv@JMFXL4@&Ix%=$gkidI=+gBbbJjT z)$w(#>i7m;t>c?`jgD^#_%`m+@g1De@m(RmhdXurP7Zj=13cyT;>#c8ygv%>Pk5(} zKMU_Kc%6>F;!QgKhBxT=JMPi(54>K-KSkwVc#DG8_Ks-WUI=Hh$?!>I(FkXjtmIsH zaL7z%dyRCrg0>18la{%ZveOP#wo%31Y%Dq9h@Er{D{0E!#-hNo!$+-zNmg@_l`v>$ zWagw9mm|(+k2`64L3VX}$E1Rq_5ne)?E@~}*Iv=(?#j{dw6@9{C04O?S1{7Raq8l|n+3OU$Sar@H^)wCZMKen|`m&p(X${q!q4q8de zIjo=|(%IQIZfDbRvn^uJnm%X3Tz1;}XD!E0Q#r!qm|WCG609XV)YII|=Fd1r(wQ_8 zS&yAsVHZcT4s~R=f~NjuVgg#A`+BHbi-4hqDVaW_rSy5&JD(u2|4fUdCcQ6$GD|Lj_x+cHBrz8fi;5 zGl<$zgWbVk#*IayWiB9*?K(L}JuPG6`k(7b{#rTzr=m>?(77x$-NxqKu})MhXv#v54(IJS=D2 zmWJLOXNNhaq+mwktd2{AZ!-PsQEjHltUs~QVG0654ZEe?GH3EkUZAAog{hG-WM(pa zloY5WMh$14_2z2ao=@YrpZQETruS%cc7^Ux@0=+2mB3RcH@_fy$Ma_Yc_2)pr zI=AE&KAk(2w%pgK(LKR?{Z@GW*kayxmo+h;wwL_7?J8y+D-m|zdGBkO`L?NqMEtyA2iaW!dWEcc1hGV}J5XM!_e1Lrp0DFjd@ zV;4ZosmR5gwp`31%*9Xnm=hOiMFugK&oPX+mLHCKsR<4Fl*o;k_V4FE*w{r5_#X);F$I!hTN)K?T?PZihl#DUzY0lM< zxzh7isipTd+-lV+DT`dW5N17t~$Pku^jeI`K(%x)h#SnKR|uP z;OeWM@Q4U~)+Ud2sD!0?tYKkwF~Yr5UChtkDdwS@v0hI+=HnwiKIG$J!Cep0X$6vk zUj8fqC;I>c47H005~k!y_|0vu$nyQ%Og-0N>RO}_J8OAoKpL#rF6FM&z}H?UYoSil|@vX>D>NcCY9hbiMM z@4NFKYDr7pOEZxt(8#iEj|G)Hu3ke#ctJgf30c(SaIAnWvEb%lRUX$yg~u2s1&5Rz zrllN_9BwS)p%9DooHg_nuro$kUmn-6V=j*s&>HK?ga3OD)a>%F& diff --git a/environments/Momo/java/Momo/GGE/SourceFrame.java b/environments/Momo/java/Momo/GGE/SourceFrame.java deleted file mode 100644 index 3fecc10b45..0000000000 --- a/environments/Momo/java/Momo/GGE/SourceFrame.java +++ /dev/null @@ -1,104 +0,0 @@ -import java.awt.*; -import java.awt.event.*; -import java.io.*; -import java.util.*; -import com.sun.java.swing.preview.filechooser.*; -import ExampleFileFilter; - -import com.sun.java.swing.text.*; -import com.sun.java.swing.preview.*; -import com.sun.java.swing.event.*; -import com.sun.java.swing.*; - -class SourceFrame extends JFrame implements ActionListener { - private JMenuItem close, save, cut, copy, paste; - private String fileName; - public JTextArea editor; -// protected FileDialog fileDialog; - private JFileChooser fileChooser; - SourceFrame(){ - super("C++ Text Editor"); - getContentPane().setLayout(new BorderLayout()); - editor = new JTextArea(); - //editor.setFont(new Font("Courier", Font.PLAIN, 12)); - JScrollPane scroller = new JScrollPane(); - //scroller.setVerticalScrollBarPolicy(JScrollPane.SCROLLBARS_ALWAYS); - JViewport port = scroller.getViewport(); - port.add(editor); - port.setBackingStoreEnabled(false); - setJMenuBar( createMenubar() ); - getContentPane().add("Center", scroller); - pack(); - setSize(700, 650); -// show(); - } - - JMenuBar createMenubar(){ - JMenu file, edit; - JMenuBar mb = new JMenuBar(); - file = new JMenu("File"); -// file.add(newf = new JMenuItem("New")); -// file.add(open = new JMenuItem("Open")); - file.add(save = new JMenuItem("Save")); - file.add(close = new JMenuItem("Close")); - edit = new JMenu("Edit"); - edit.add(cut = new JMenuItem("Cut")); - edit.add(copy = new JMenuItem("Copy")); - edit.add(paste = new JMenuItem("Paste")); - mb.add(file); - mb.add(edit); -// newf.addActionListener(this); - close.addActionListener(this); - save.addActionListener(this); - cut.addActionListener(this); - copy.addActionListener(this); - paste.addActionListener(this); - return mb; - } - - public static void main(String[] args) { - new SourceFrame(); - } - public void actionPerformed(ActionEvent e) { - Object o = e.getSource(); - if (o == close){setVisible(false); return;} - if (o == save){saveAction(); return;} - if (o == cut){editor.cut(); return;} - if (o == copy){editor.copy(); return;} - if (o == paste){editor.paste(); return;} - } - void saveAction(){ - String saveText; - if (fileChooser == null) { - fileChooser = new JFileChooser("."); - } - fileChooser.setDialogTitle("Save C++ Source Code"); - fileChooser.setDialogType(1); - ExampleFileFilter ccFile = new ExampleFileFilter("cc","C++ Source Code"); - fileChooser.setFileFilter(ccFile); - fileChooser.showDialog(this, null); - fileChooser.getSelectedFile(); - - File f = fileChooser.getSelectedFile(); - fileName = f.getPath(); - try{ - FileOutputStream fo = new FileOutputStream(fileName); - PrintWriter outf = new PrintWriter(new DataOutputStream(fo)); - outf.println(editor.getText()); - outf.close(); - }catch(IOException e){ System.err.println(e.getMessage()); } - } -} - - - - - - - - - - - - - diff --git a/environments/Momo/java/Momo/GGE/VisAtbDialog.class b/environments/Momo/java/Momo/GGE/VisAtbDialog.class deleted file mode 100644 index e49da6c90a91c12756eb5f554b5d1c9aa56a3ab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4165 zcmai1d3+RC9sj=UF_U2kun4-#6Ea0Nm*0>mU(oy|^@h0RX7J4>L7 zCt7W-N3BP#RjXFCe*9QlvQc8|QO{cMquN?+z3;o;wtjyzv&jY){bPUccfH^Hz2CL- z9(wxB0|;T2(sjH>#|L!Wt>Z&FKC0tmI?m|$xQ7Jxb^J(I5e@IxaKDC6X!xXt zPiuHk!?!eiTf=uWJfh*d8osCDQ4No2_`Zh6HT*!s4>kN&!|ycwUc(rpa$0%m@VJ}0gD9G3s@rHLLWTOz+yb#KrJi-bx4ZdfPwi)8CWPF2HU{1aIJtr z1M@H>_R`gug~Qb}e?&k=z_9SLf;obXRO2FCXW-e$iIu#Z>&h7g0}VK8U@1lo>Kzm1 zbVX-Xq|>CLY4=0`4;LCA`bT!?@GLm+?6hU%}^1 zd=+0X@ioD|j*po52F6T$6Ze^TLa-m>-6np5H=6hvUTfm#c%6w~;`Jteg*TY^HEuTX z8+_KpUr{viH{5ID?_%X2;@UrPkBNWbeJ1{mx0?75ZZq+;xb_Tr3iMAYyjcLTD&d7_ zRD}gZX+UZCFx3=l8di25Oy^tOWQS`HH!H-*IBXrY64t1jXm>JBj?DSfnOWCLXKfM8 zD+w}Ib}+F!dDtFs&tZ4Fxpa1r>`=qXgC6Wth%|I`2(_@G{QR?=nKfNV^*Q7?nZmH0 z-0l1?sV=Mrt+;_1z8IQwR@d)_%*&#(A2_V9?4 zwX<&XwAhrG3Jazwm%`)OSy3kPUG|;u0v1H3PyAR^rr2p6cM9$OZ}x4 z#ry4J?$)%ONl_zSNn<2uA5Gh%2?mO-);{Dod9Sf%b+W^{3d2b|x8F);==ALJnD}iO zJGYd?ac98F9JF$2*~goOyVxjfxGpE>4k=Xa-pQ+XJB8eUy)`YCBP2v(`h#F|+R8YC zY_)Q7wPcC=re=l044?2KR@%*0PZnGnt)Xz2?G8DqNqJe{(yJa@a-djbbNVIrWy%cJ z-2O^;tLmrvEX%9>J$CL|CpT=TI8m$=;T%H0DM}@;pphqoO?2EOvrOn83m0? zb&;lpYN3J}i4FwC6d91r@P6JJWJuwn3L~dAnRj#a&Myj87MZ3kr)X?WNeCQ|GZ=%4}Vw&7D?KdZ(f+NMXf8CreymSp~bn7?yJON3lXf1+|KO zps=EXs>_~A?2u#Ir|zq#tlW`pIqNvPKV{{Iq%5K-$8|l#zOGJb6Isp-{#e)olbWTJPH}qD*_1QN3YpX?|G$`OjoF^O>~E;# zX~9ir65juc|9{S2&3Y50S{84baf&!c$RDu=xI{;+90SGh=F7udO{$b~op^9dVV6Q+ z65nU%)7SeWP9qrvlh|Z11yASG-W1eb$N#(G>6|reY`u_8=A0vTmggU3+%ue@90L@P z@(Pz9uCw?N$!dZI$VU|+mQO8j<(C@QD*4vp8s+a4-a;!MB=ZDx zv8A4jH^!>N<5(MS9K)Wtem`PkXo(lGZ2}keMnmJcq=@}O$HMUmEa@G`>b^0w6>(+H z1QwBO+SMeg;n}*c+Y~b~Av6)3QbD7~U zCYQkMhDcpx0=2z$5xTdAP6)ZU_g=JdKw1g%QBXeVD%>-&_b>%oN@9!?+ ziXLAc4&>oAba4SL}wg{ajffF6^k~N zv%UCIupwL*_QEv3H>QnaJpxGc95e8-%m{!M&( z+`^Z~?bN)R<#&efj7RyDc?v64E#hiD8r1aJhO6SEwg=GVlxB?3W@ou|)YPk9yu`S47U|FfwdM|t0HGXym1^o|KCz8B4~rb2+YN1RLQF&u$1Ft zHbhHp^rWrvG+K-378i+j(#g=qQ&>j2rG5=LSJkgAV(%n*bv-NgIVY=By?*C2k5A=b ziPyl}Faz6}i4HzIcOZ_PxRQ7)w$gJxn}YLi!y$I$9I=DFm%Q^c12B(IkE(%B;Vx=W5VPQ`TvBMR(hb?l*MdztfnNT3_* zu%EFxK&l&k=%H_4#5)5Ix6?m~^)jh6N!Xs#cy1Ag;*CXYC%Ne^XrWUGhsUsUDh7TA V`xy6rj<1NP`&D;Kpg(jr+(0b{&MuW&$LLeplt40{Un*#|D=@I)dTO=4TUNnCr(C5C zJsh$1%eKAYZt152gG~vY7kV~F*JD|&BdWIFsei?!b#X^RkV7puD|M)j4FnT=H{4nU*yznwo z`%PKs)aU$iYuiZCK=lEL(~stX5Iiv9O4CE@IFC~3(+trXqaO_%1U?C^2wA|X>^oT5 z*BCwc6N7It9-4o|-eT+(Wd-ttR=C$7?4?;YaS{e)XaHMWr)g!bc=lJE{-wPw5e5gy zFSSemCXy&c8o%R2$?AEBp_M5%dFMV- zaZj-;I(wrFKVyk1$0o1-fLn)5hlj+ekeZ&nLaP;Na*j8>Xoutbh?r!GgCGChpQ1Z; zdOHhAT?~;B!#Ix-`VSh#HpbwS>_3tH3KLYZ(3X24ln^*0N#;`2GVM~#GVD^^>a|M= dOWLKRm9*brw4=I#2pu8mrQ;;zJ+dQM`wwHaLz@5q diff --git a/environments/Momo/java/Momo/GGE/VisAtbItem.java b/environments/Momo/java/Momo/GGE/VisAtbItem.java deleted file mode 100644 index b7f78f94fb..0000000000 --- a/environments/Momo/java/Momo/GGE/VisAtbItem.java +++ /dev/null @@ -1,33 +0,0 @@ -import java.awt.*; -import java.io.*; -import java.io.Serializable; - -class VisAtbItem extends GGEItem { - String name, atbsValue[]; - boolean atbsIsValid[]; - static final String atbMethodName[] = {"Visibility", "LineStyle", "LineWidth", "ForceWireFrame", "ForceSolid" }; - Color color; - VisAtbItem(){ - atbsValue = new String[atbMethodName.length]; - atbsIsValid = new boolean[atbMethodName.length]; - } - public String toString(){ - return name; - } - - String getCPP(){ - StringBuffer cpp = new StringBuffer("G4VisAttributes * "); - cpp.append(name+"= new G4VisAttributes( G4colour("); - cpp.append(color.getRed()+","+color.getGreen()+","+color.getBlue()+" ));\n"); - for (int i=0; iSet"+atbMethodName[i]+"("+atbsValue[i]+");\n"); - } - } - return cpp.toString(); - } - -} - - - diff --git a/environments/Momo/java/Momo/GGE/VisAtbPanel$editVis.class b/environments/Momo/java/Momo/GGE/VisAtbPanel$editVis.class deleted file mode 100644 index 305046808f70e5500349d70d83cb03508ff4c6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1234 zcma)6TT|0O7(FS4(2#P!$W@f0Er>-OMY*W8KrI$zgyB7;D+JSoX|{m>#RvZaGguuT z9N(PrM>(EN3si;&Uv_i8v)Mi0+3(xmf4=`f6K1fXV@}6Y9nW;k>sZvWq~nE-mpWE; zZm;+BbJ zBuuQ}wu#qxU?PvCi8q)sQNXN;bv)G2luYF{bSG1V1MA32TgNiJ={ufW2&o+neaU>C zb1iQ#{dV_2*oqxW7IvH=&Mn0e0=<*aK3fgp_6v#F`qFj=tuQaY%3>CmL$*r5~4;=NUIWx)yLI!|zwC)cf8 zQ!7Yz6dX@%R7$&|ylw5el+a%AZOh%U%8tT3*VytaWm~K|ij8f3^yI#fj!k_vt84yo z-KFyy+G-%wN*fzcLKGcIOurkV_f-y*!%$YZ?mOWXMOlQ=9IKjHTW>x5e2K_=*d{4;iK8s2eSw?hSVb`%gWc`XKnKbc=D@wfT3}Gu_SehD! zFKV@+CNf3qP^vrzuVcfCp{efqbqEyQO>#PD%zVrBQte|-ZS(Oc2?27H1Y}2 zQx*FLvqp7|RMGJhkt*UFGr#KW8MXgG8Xj>R;~M~Wbt?}WU}KL^#ACMgJT|b( zmIoh&yLAzB6cu5lW9lo~rl!B3HykcE>qj%`9P?@COOrzz=XTB!ZmBX_K$^39l%mWh G1N;TO*fXO5 diff --git a/environments/Momo/java/Momo/GGE/VisAtbPanel.class b/environments/Momo/java/Momo/GGE/VisAtbPanel.class deleted file mode 100644 index be7a6b5b8738e1d4ce7b097bc4b198910d7449aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4682 zcma)92Y6H075=X!`^k@oF*0V_;IL{u5IX^bQ(G8fY8w|bVhFTP^23P8dam?jMn}?? zHt9-7+9nV>Xj*8S4j>>?+>g#QuofWcDK;3a}3b<9CZgdH)E*2x$Wa7flYEZ7k-dQ`wmMdW2VYVmR% z)p&)d-62-)EXDKiN*xRFDzW@(kvk@Cyhg`NyjFDY5-0B#+UvyU*9+|p;@TT^EW(=v z+#~khEZ{8$K7j`WyidS`0zM$%jDUv(oHy`2JZ#|m_^5#&;H-hC@F4>~#K#Q$2#*-} zG2SEKoPnR3G6Wlkm8q40@m@)2J%Ldkr;(-m7w)Hq=zS-%vqZFjNIT zY^Z7UUR5#}H614mH52a^@Nq-U!DkIsjV~z7)kC40ov~EfjK_|ePRvf!n2wW-MbeIy z(shLjee){vTXMvjx*CN*O*mB8L# zm9^~!RVUDMx^u?Md-T@y{{2>xmi^??baibuif%Ju#hXTB+88tAwm48eflrmGB-!!w zfR);mGzY9EF;iPxDE5w6$_ZQX_%BF1+dWpC8^d~O6O!xH%Ij4TeJha-x1!c_z&zxH!gk#Dk}xNa+F>5C z(@v+EF#EGQ^YXZ!ODz+8nSTw5aZ5APZl%f6o|#TNowCNsEY8a0S7Uya<*KQ&kRTJ; zkWU{?@N;sWE4y)KM#X7neE~CL-iPghK|A4YL?NP7^KRKy-;ySt>Eg!b9?MbCLn~IV zURtxnC2HQJL7`-QED>{>6>2urB&MV2Y;E$GqRI>{A9S%)1p<2%h{Ozbht;x0Ss9AGMXn7^pCDJH9w_8dt#2P`KR zWm>$R>7{{kV=a`e)|^Y*BnpwT^r z!YJCq_8KswQ7e^NxQrG}_qcUi$^CY6!0O{Zn|*{+3B8jzdWIMQX>D<9fOVoUlM`X( zy2qGYIa%Y5AB&45dM3!=AX_BM%XA{0mUF=F>tbhRMmSHkr&w$;a!X~FExh7L+>GAN zgh!>Pu&WlhdRihWC&^H}>QGovKxSfzv4jdpWebegMImN*^mH--h4_*Lg;|AI*}Yy^ zfS2v|QnTLWsj&FkV%uX*-0B+@tS=yVt=_J%^!lX7_OdeSejT*R7UcU^!u!kJP%T%l zrMyR^Hd>egt>1E5-L_FeEZp7Aq9d|7X<01IQleefp%y2?f*`(4>aLuKS4>u4J1^10 z<4M_KD9e-b))zwTsGL2)+_T8yC+=#rr&{_Brc(~TF?ir}cZ8Qc?>b_~%F*3xiya`3 zkZs4~i3!K#X0aHnbCUVD*I524T>khL!@yi>UV~AXK9S_zBjaU{@U|TojU(;E;-NOV zv%OC%W*|P=KG~=f?y>UmzU6idN`s3t^}eL!dP>q7u!pSdVRknxX$>+Y%9f_Mb?zq| z<%o~(H##Y832A|HhB?_}C$0XZot85#s-rm#5O+H{ciyqRHp-qjB$r9}06z%DfaXrO z?x)NUJ6qf`nbJuvYNssrAKK(>w1sNK%tZ-De!~MC`FYL} z@@edjRrs7c^81@(k$g9E4Dio)0u(+;*+rcDNO`<&81;1{nAbauh74{cTGe|AEkXY< zmSwQLE;xy#S-k|)DN?ulB07f=;;=7+Rl7zoyEm&mjOCpTuJnxFpl=u}D6>{%8iJFl zO`_ouTZLG60j<6acGd;UxGd)*n9^H6jHMT`m%O!g8LSqW?6{BPjhycrL9mxDH)e2? zH?5#oOETDTj=?BAO1OnjLSP#Fd`(T^D{BUSvpCM-66Mh#TA!Ls6 zF!#pKF!LEbI(=&WTp*Y0Q@) zr^VH8X|6t*)vC^5+gS9?j2T#hV$@+W8W?*cV_V91XNa?9ScBzQM_vbe$NZ|&FJ`Wsx_aSQk*dmub?WLGH>_ON z*P)Df4|Hs2aqr+^*u~<%mF3XOve=Cd?7`i*4fkL#?#DhnN&G3wJk8Pw;5#_QeUZwp kW=3V7i@DI=iHD#9UnWZ$)0bTMb$o`SPK6*F*q?#_18t=Ic>n+a diff --git a/environments/Momo/java/Momo/GGE/VisAtbPanel.java b/environments/Momo/java/Momo/GGE/VisAtbPanel.java deleted file mode 100644 index 24d314b814..0000000000 --- a/environments/Momo/java/Momo/GGE/VisAtbPanel.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * - */ - -import com.sun.java.swing.*; -import com.sun.java.swing.plaf.basic.*; -import com.sun.java.swing.border.*; -import com.sun.java.swing.event.*; - -import java.util.*; -import java.awt.*; -import java.awt.event.*; - -class VisAtbPanel extends JPanel implements ActionListener, ListSelectionListener { - private JButton addVis, delVis; - JList visList; - VisAtbItem visItem; - DefaultListModel listModel; - private VisAtbDialog visDialog; - VisAtbPanel(VolumesFrame parent){ - setLayout(new BorderLayout()); - setBorder(new TitledBorder(LineBorder.createBlackLineBorder(), - " VisAttrib ")); - add("Center",visList = new JList(listModel = new DefaultListModel())); - JPanel buttons = new JPanel(new BorderLayout()); - buttons.add("Center", addVis = new JButton(" Create ")); - buttons.add("East", delVis = new JButton("Del")); - delVis.setEnabled(false); - add("North", buttons); - visDialog = new VisAtbDialog(parent); - addVis.addActionListener(this); - delVis.addActionListener(this); - visList.addListSelectionListener(this); - visList.addMouseListener(new editVis()); - visList.setCellRenderer(new VisCellRenderer()); - } - VisAtbItem getSelectedVis(){ - return (VisAtbItem)visList.getSelectedValue(); - } - public void actionPerformed(ActionEvent ae){ - Object o = ae.getSource(); - if (o == addVis){ - - addVis.setForeground(Color.red); - VisAtbItem visItem = visDialog.getNewAtb(); - if (visItem == null) return; - listModel.addElement(visItem); - addVis.setForeground(Color.black); - repaint(); - }else if (o == delVis){ - delVis.setForeground(Color.red); - int index = visList.getSelectedIndex(); - if (index < 0) return; - listModel.removeElementAt(index); - } - } - - - public void visCloseAct(){addVis.setForeground(Color.black);} - - public void visClear(){ - visList.setModel(listModel = new DefaultListModel()); - repaint(); - } - - public void valueChanged(ListSelectionEvent le){ - if (le.getValueIsAdjusting()) return; - System.out.println(le); - delVis.setEnabled(!(visList.getSelectedIndex() < 0)); - } - class editVis extends MouseAdapter { - public void mouseClicked(MouseEvent e){ - if (e.getClickCount() == 2){ - int index = visList.locationToIndex(e.getPoint()); - if (index < 0) return; - VisAtbItem newItem = visDialog.getChangedAtb((VisAtbItem)listModel.getElementAt(index)); - if (newItem == null) return; - listModel.setElementAt(newItem, index); - } - } - } - String getCPP(){ - StringBuffer cpp = new StringBuffer("\n// Visualization attributes\n\n"); - if (listModel.getSize()==0){ - return cpp.toString(); - }else{ - for(int i=0; iSet"+vObject.atbMethodName[j]+"("+vObject.atbsValue[j]+");\n"); - } - } - } - return cpp.toString(); - } - } -} - -class VisCellRenderer extends BasicListCellRenderer { - //class VisCellRenderer extends JLabel implements ListCellRenderer { - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus){ - setIcon(new VisIcon(((VisAtbItem)value).color)); - return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); - // return this; - } - class VisIcon implements Icon { - Color color; - VisIcon(Color color){ - this.color = color; - } - public void paintIcon(Component c, Graphics g, int x, int y){ - g.setColor(color); - g.fillOval(0,0,10,10); - } - public int getIconWidth(){ - return 8; - } - public int getIconHeight(){ - return 8; - } - } -} - - - - - diff --git a/environments/Momo/java/Momo/GGE/VisCellRenderer$VisIcon.class b/environments/Momo/java/Momo/GGE/VisCellRenderer$VisIcon.class deleted file mode 100644 index e9a87b1a76db237a0e517bf84959230b460e5cd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 913 zcma)4TTc@~7(GKvw_TP}EDGLlRZA%p;1Oi-}<3 zgFnC@Wjwn@tmuQ2%y&8YZgb}Q{^RR6WUz`22e%zm9Ncwq&q2+>nuCT52eSoaQFM{R zTp~(|JMUo$We>}^?qLNB9`56UhX=SSkf|=WQrQu3sx6*nT9s+A)RHUNK z_O9HQ4S8T2%`ga~%_OW`{TEvQ1Kk^jMj1Pi|2&ezf%fCgaj)D%ZM1zPkZp!NB{16z zO>CvH9T|-1yH5{&HME+jfY&lcMa@9Qv7$Tw*O&rxZEe)nXs@fH*RmV1Lh0<30>yUd z%b+78orJKGyAzHgUp>=FLSg5)nbFEB$Qp4je7X;i=$Pk0s8)0RFPOrUECPn?3# zB!2>nXOIg0mLD4Oeriqo3Ac>(!@Wj4GL4k<_&}R}V;q}*tAk*BUvie&zOo7ULh1g% zlA9C%jqce2xjFr?Uxahe6bmHFZFhH-&#b~wYLnIx$j8d2zblZl107e^afAEgKwuhE zIG3yp?OPZh?h}nH?-I@vzewvb<1*9>wJ*rmR*v9}Mg0hcPs9bTQC{L|0z(wghf6&} zUBo+-X$!1l@ub=Y`%W{mT(5mb;TSXZOs3?P++(=Eixty`7I};~V$9T4>hU<2sRavU jO8JjeI;5=sPv8eW=_Zq>a0geYT_$GPvkLqKp9jQb diff --git a/environments/Momo/java/Momo/GGE/VisCellRenderer.class b/environments/Momo/java/Momo/GGE/VisCellRenderer.class deleted file mode 100644 index 2b82450eb25e830422517f12f78da1e14f2a23e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 763 zcmZuvU279T6g|^svv#}v&=`xF+Nx2LZFL`fToH7skg}*)3D~#U%@`(bX2R~o`m+?o zfP(n!j}q^sLDrIexOdLEpL@8!|9t<6RXoIji#-?nE^fQH>!R)Afs2j@7aJZNY_5S} z%ff9BbzJsw4Ogsb__&Xjk1m=%0$gQS?R5JL?M~8{Wi0aijZgzoh$2cx{38$fnF(W^ z>mssgtxl5Zaac}OIFFWRQVqjirqw)rv^0F2$kHs@<(%?gr6ZAoIk(V39lAr#RW)yeM#Kj6Fz4u64tg*U_6H~7K9 z;cm0mbY@upOeqXE$$HcP7@>g=NI Jhc>zg`~}JMzdrx~ diff --git a/environments/Momo/java/Momo/GGE/VisMethodPanel.class b/environments/Momo/java/Momo/GGE/VisMethodPanel.class deleted file mode 100644 index a2cd487b355b1805af09d664b2017e15c788d473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1946 zcmZ`)QBzw*6#fu^a{#yLc&nK+4*HksC|E7~Ki#jD!xnl^dG!X3P(hgl2vF=ycc-n8%@mMnaT zw=Hbqx`mJMs)dhn!@@({wD5@@inwiI3$I&n^=cb479L?%pgS>nS70bHnccQ`?R3fZ zis}3LZRx0)sFQY!Y$&VNqc5`>wn>4Y8t=ZZXe=V$1kU=H7^}-tUe}<^m4{8@A%$P zCbON~0&~r*&9+6i1qwtGn>u*!tn0aIPQY65{gSjj+T?xW8OD(n+GYHL6gZjjy{fW3 zm9tAV%I4ypBX^WbRA8)gx?9qDwBYZt{ueqMH2DbhXI)R;tCjPzvS#N?jL?_$9lMmX zE3TFq#a#7k6-O?)T5ILp>b%Oo<=Q2`C@|12UeQ(H2E--Q-rp0LaQ<8V`FvGXY)38Bl=3}+^BruKGa={yQ|scgBm!qUd53w9 zcG9iMJ+vn2L9eJzFKeUBQB?(cXt={>o+wJiVy!A$v2^{ER%MA7Mg|pNr8J_I znJwNXnivH1UIH<09tC1zBm_E`h-&-j-WC=qa1s z=V2ReS{}Q5ytW-wt=^pqw84#Q+#r&!wv#p~HHpM193`jCTCDopBz-zq3L;@CxC%}` z&tg>hjW`(RyBGuOfiC{|umPO;wsG#|{|;_Zo8hWLxtsG`@(_c`)H4hxe}}bkh!^U( zkR0ryWNb_wVrcUj&eRcKPY#Ndo>Sd*j3s}?nPeTO54eNCI~*_akp&z?P+$fUL--sC zzMEJ1Y~J9jd5b!rgxN6u!yrRonp+M33G)Z^>(z6ZQ*~TCXrR$18YMb$&X~-IE@{W{{mAamg3V4hQA$#x)g?r>8wZU7;kN3QU&ZX_ZsI7+zegDISV3D?NZ0+ zFI+cx_6GP9j%D&{)UwD~ThHjM>p1@-dc=N%0eSW56?xS$5`v^P&;X-#oPCageX-vR za4u-nm;Ca5MOI&90^g9;w|E0j8RS#WjiA@qKAn7A@5Jhyi~Izm`)5QV?9XwA-?Jaz L(Q%m$UC90eWoY53 diff --git a/environments/Momo/java/Momo/GGE/VolumesFrame.class b/environments/Momo/java/Momo/GGE/VolumesFrame.class deleted file mode 100644 index 83b80e12e35f4960d6adcc355af382cd49ab4165..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13234 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 Q$EZEwjGy9xOz}Ve2R;UsPXGV_ diff --git a/environments/Momo/java/Momo/GGE/VolumesFrame.java b/environments/Momo/java/Momo/GGE/VolumesFrame.java deleted file mode 100644 index d46235efef..0000000000 --- a/environments/Momo/java/Momo/GGE/VolumesFrame.java +++ /dev/null @@ -1,594 +0,0 @@ -/* - *7.5 - */ - -import com.sun.java.swing.*; -import com.sun.java.swing.border.*; -import com.sun.java.swing.event.*; - -import com.sun.java.swing.preview.filechooser.*; -import ExampleFileFilter; -import com.sun.java.swing.preview.*; -import java.io.*; -import java.util.*; -import java.awt.*; -import java.awt.event.*; - -class VolumesFrame extends AbstractGGEFrame implements ActionListener { - MaterialFrame matFrame; - SourceFrame sf; - DAWNSourceFrame dawnSFrame; - LogicalPanel logPanel; - VisAtbPanel visPanel; - PhysicalPanel phyPanel; - private ReplicasFrame repFrame; //8.20 Replicas - private RepeatedVolume repeatVol; //8.20 RepeatedVolume - private RepeatedRotateVolume repeatRotVol; //9.14 Rotate - private SingleVolume singleVol; //8.21 Single Positioned Volume - private SlicingAxialFrame slicingFrame; //1998 10.26 - private JMenuItem load, append, save, clear, exit; - -//, mat; -//Makes C++ code - private JMenuItem CPP, closeCPP; -//Preview -// private JMenuItem dawn , david; -//Elements Table - private JMenuItem tOpen ,tClose; -// private JCheckBoxMenuItem sourceWin, materialWin; - JLabel label; - private JFileChooser loadGGE, saveGGE; - private String fileName; - static String fileDir; - VolumesFrame(){ - super("Volumes"); - getContentPane().setLayout(new BorderLayout()); - matFrame = new MaterialFrame(); - sf = new SourceFrame(); - dawnSFrame = new DAWNSourceFrame(); - repFrame = new ReplicasFrame(); //8.21 Replicas - slicingFrame = new SlicingAxialFrame(); //1998 10.26 SlicingAxial - repeatVol = new RepeatedVolume(); // 8.21 Repeated Volume - repeatRotVol = new RepeatedRotateVolume(); // 9.14 Rotate - singleVol = new SingleVolume(); // 8.21 SinglePositionedVolume - logPanel = new LogicalPanel(this); - visPanel = new VisAtbPanel(this); - phyPanel = new PhysicalPanel(this); - JPanel panel1 = new JPanel(new BorderLayout()); - - JPanel panel2 = new JPanel(new BorderLayout()); - - panel1.add("Center", logPanel); - panel1.add("East", visPanel); - panel2.add("Center", phyPanel); - JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panel1, panel2); - getContentPane().add("Center", splitPane); - setJMenuBar( createMenubar() ); - setSize(780, 450); -// pack(); - setVisible(true); -// setBackground(Color.green); -// setForeground(Color.black); - } - private JMenuBar createMenubar(){ - JMenu file ,mkCode; - JMenuBar mb = new JMenuBar(); - file = new JMenu("File"); - file.add(load = new JMenuItem("Load a Volumes File")); - file.add(append = new JMenuItem("Append a Volumes File")); - file.add(save = new JMenuItem("Save Volumes")); - file.add(clear = new JMenuItem("Clear Volumes")); - file.addSeparator(); - file.add(exit = new JMenuItem("Exit")); - load.addActionListener(this); - append.addActionListener(this); - save.addActionListener(this); - clear.addActionListener(this); - exit.addActionListener(this); - mb.add(file); - mkCode = new JMenu("MakeSource"); - mkCode.add(CPP = new JMenuItem("Make C++ code")); - CPP.addActionListener(this); - mb.add(mkCode); - return mb; - } - public void actionPerformed(ActionEvent ae){ - Object o = ae.getSource(); - if( o == load ){GGEfileLoad();} - if( o == append ){GGEfileAppend();} - if( o == save ){GGEfileSave();} - if( o == clear ){ volClear();} - if( o == exit ){ System.exit(0); } - if( o == CPP){ -//for debug System.out.println(makeCPP()); - sf.setVisible(true); - sf.editor.setText(makeCPP()); - } - } -//------single, replica, repeated Volume -----open method--------- - public void singleOpen(){ - singleVol.setVisible(true); - } - public void replicaOpen(){ - repFrame.setVisible(true); - } - public void slicingOpen(){ // 1998 10.26 SlicingAxial - slicingFrame.setVisible(true); - } - public void repeatOpen(){ - repeatVol.setVisible(true); - } - public void repeatRotateOpen(){ - repeatRotVol.setVisible(true); - } - public void parameOpen(){;} - -//Create C++ ------------------------------------------------- - - String makeCPP(){ - StringBuffer smatcpp = new StringBuffer(); - smatcpp.append(headerCPP()); - smatcpp.append(matFrame.getCPP()); - smatcpp.append(visPanel.getCPP()); - smatcpp.append(logPanel.getCPP()); - smatcpp.append(phyPanel.getCPP()); - smatcpp.append(singleVol.getCPP()); - smatcpp.append(repeatVol.getCPP()); - smatcpp.append(repeatRotVol.getCPP()); - smatcpp.append(repFrame.getCPP()); - smatcpp.append(slicingFrame.getCPP()); //1998 10.26 - smatcpp.append(getCPP()); - return smatcpp.toString(); - } - private synchronized void resume(){ - notify(); - } - - String getCPP(){ - StringBuffer cpp = new StringBuffer("\n// return the physical World\n\n"); - if(singleVol.singleTable.getRowCount()==0){ - return cpp.toString(); - }else{ - String mother; - for (int i=0;i6Nw`Qfkbhb46z3(5Kk{Nfz#=8y4G)cR%utxR=%~a zybVTjXPx!;0=;?jVg&Z*joWzbe5R|8S}ooS^Xe_90;AMA^U&3~X`ggn(LP9$rNRRp26rM3^Z5_@Lu|jweTO4D+ vR*LF^EXeW;VvF7fzl=;&TtsM17NIyX9GsEELH}xt{%$?_9|mhgGs58?_9{N! diff --git a/environments/Momo/java/Momo/GGE/gge.java b/environments/Momo/java/Momo/GGE/gge.java deleted file mode 100644 index 7e306cfc6c..0000000000 --- a/environments/Momo/java/Momo/GGE/gge.java +++ /dev/null @@ -1,5 +0,0 @@ -public class gge { - public static void main(String args[]){ - new VolumesFrame(); - } -} diff --git a/environments/Momo/java/Momo/GGE/rotateallsolids.g4dt b/environments/Momo/java/Momo/GGE/rotateallsolids.g4dt deleted file mode 100644 index 158282ccde8769852f3b56d481ddfe3abbdfa55c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11556 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 diff --git a/environments/Momo/java/Momo/GGE/singleplacenadrotate.g4dt b/environments/Momo/java/Momo/GGE/singleplacenadrotate.g4dt deleted file mode 100644 index 09db93f755d398de534f92aeb2ad83c928afdce0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11131 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 Yu(^;wq%tobrN3HDtDFNp_bd8;0sJ80#{d8T diff --git a/environments/Momo/java/Momo/GGE/translateallsolids.g4dt b/environments/Momo/java/Momo/GGE/translateallsolids.g4dt deleted file mode 100644 index 57d51d3230d31c1af39a20a35ae878f996c939cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11245 zcmds74Qw366`s5E-T5a8aY&mAL9qy;fFj#>=W}dQl0Dn8V=zgGNdR9$v*+7f*15eq zcJ~t7P-@C=)i&u5EoxOkXy^|G8cbb*9#_q&;oP{cXiCl;CQFnoP4(xCIWtLGcy>TGWs{tn96^B{Svi;K*piw6 zk?ST4g#DU|x<$~A1nr#QOE2B<;Bw=#te+4{+icuSZsR=(yf%A&bJ>n<+F%njdjamULLz)aExNfSTa7`0mK6M1) zCk~vr6W`@(^O_!iWyfoOzTlQ2OYH#EsA;HdD}4YPAXxw1FRXlYeC*?bN;-Bg3MJ)l zFhWArP12NAGkeVxs$e&x!(0ufE*I$MW)$U<&O~M~A-&3EQ`4RU1;G-WvJ@p*fh5w6 z$O_CVe-D?vc{!+;$eJWEyHb?=uJTwHjB1a5t810kxAg>0;*ScDr*ZtVK%Ex zSmw2S&(WKtp-&!+f+h1h45kb8_Fw^8tpdYiW8b!oTX7^i`s$Md*X+D-tDmeGAdPf< z?8{FMkS3bkrpb^F(e&6b3FSuBv|Gmk= zah0Jgw|sXEQR1#6>QP6Oxa){{)Da^QSG}<^&FuECkT%J!o$Z~MYucK&sFmol5|M6^ z>akMMPLUD}QNa-v98tj$6CAOK#T(5H-Kc52A10ZJ2upjW zg!LoBbCHzr}7R41B!4m7E@I>qEDAK_@yhwBtmknD_^S$nPq z6W=^zXLPDqgBaaWKM$2^_mr{Qj;3xgCY55Dn6K(Q&=lAYVy!_1BKbm5FJu>p9cyR^vH2mF)Yg=v4jsutzGT0?pQ1ui$r^Sd*VIO7?puR zfMY@_pPb{aDYtyuWYfBv&O3N>(|HGAZaNI{%F$uqP+o>5?lLExWucnhFripecHBx> zv-6s^h$yo~aiYu?r-`yI5m9uBvbZRV^D;4ul%hDkdm$WHutx-5?s3NiA6}}OT;?P; zNulH~5fXf$MZ!lDb|1Op*tM=E`(dMTn!4_sNhU;Kyw>VvA5;l$^~q^?+M~5lt=OrL zEv6+^L~S%!vKT0LdCawAhJHrE#bPeLMa0GM*^=k@CRR0Kob!`2R|6WpF?F_RoWWAv zXzT-}X6;GVZX0J@Q8$|69Chm1+GdJM@s2BM@YJns?+cpGNOm!G+vfI8yO_$Ym=3%FQIomǿYOSOWW|4LMl@K94;(s-EahO z?G&8vJFD(kekfLi1?jN0AT7)vou4m1r}8aA++HuNJJ>%bq{mh|izQ4}_pY1T9YR0F|N5<0HqiV)exAob( zVby%E{N@#}&clv$=t-~D)eG#D(&}DKw82pdN4G0&mz)C)3l2AP2A*(2CG6E$*gIvY z<1!pS1`p)*EcCkI9yx2U(Ls}rO0)((I`bS04WNH&8g%y?_(wkGVPk|5z#r)>gXjeX zjx!MoypRn~lqd+yT+79Nj~$Xbb4YLM01rA$z;g}& zWAy-NF~I}ij&V4BLcPSSP^k0@N8^6%jZbKkITl@>y1|sp&B*&^Z{a zK;IQHI9mTK&mncm6K8_~k3SIuzAIwjy`KAp=e#j|c9sqo_|X~zoa5BuBN(Bj^yuhA9S{!h#1PdmJA0CW+-f>mxA0Es4?y>x3Sx zFvPZq@)p3b-B2)cNn~NlZ!MiM4(CiIqv$J6AAb1E?f3N9XMIG28;?tQYrf*W!PUQd z<{_R7egl8s1f4P+<66ulE&E2{K9NH2-f$XyE7bs|s(ng!zse#%ZNpnkFOxLOrk01( zSBPsUho!F#IojpNfO}L$3g1tFWEq$K$&b7`dgi5*Jm)`hqWQ|g!$|ZLK7P*2IR-3x zniZAm52R$BmMu{6AcaONK97sM`pt>k{`I@nJa^&rsi7aPyrrg!Lj~D@xoxq!x6<1o zwC>Hkw!NuCJ1_m`b37L}V)(0}ZX}&uq+Z{4B%syqB>u^B5d&dVTYn<}dC%2I0B=YFD#r4C?YY5ar-l z9B;b8h`ua2vXNbZLr%Cb7KDjK%|o+F4)Pmd5Hpuit%`L0cEii7j$84wAF6M$iTVD) zQ}6X(9p2?9!C?}X&AbLjH5AGiG=Z?IS+gE_{EbG>t^+mI7%R4m16{wE~Z%Nj+CczAi|H!RX<+SvI9&2Fbc8+ z@ExN3Z!>BWk)reWk6qmJJQ#j3Tg=1VN|=IugEpETpCn(t|M-u3 zZveyh$+}vEINRSR3#0ob(52Ll~`Pw{a74B0Ft!VB=wN#;2AOU(|e?fPld^kKke-HiD Ns+xNY^o%?T{{`Hg|0n>oed{haJ;qTLKwK-+IbBfiIJs9u4veq zn41%;JCRDyr{_yvjAaI918#8JTo#2WL?iw(+;h6o!2-DquUO zhR(!_P_yfT>$%}YD$@k3fE&|(PLacD-z$fX7cM!43hl0$AYih}DQf6x>J!ot4d%?9 ztSSjg+tQHt3*2-t95{ACV8v9zl*}y3(y7shOi|S4|$(!lz zN%>i)u;c`;1mk5!qtP1r)6Ol^ z+-Zn6J~Dyy);hE9FKy(`pGlOotjYE2qD%b{N) z$)R8S&IsI)ah}h^=1aMsFVbFgVuw6t09QV5(aN_jTKW2M?d1P5t`eQ0_BD1939OH9 z;o#`WdpI$AAF)ha-@?E>42}MPq5J60Y~er^qhiH(5)h~3p_O|Wtm4RW@O zBRGqrm}Cp*Xx+eZyi6MM7~=2LFn^p*;BzGK1xD}{?Qd~_RNTb18X-8%=1KeFQV&y> zdIsZK6=SV?dm_pvcyE&TjuY)Q2*nuV@V5+>oUh_I`!(^;lc%BM3PY;` diff --git a/environments/Momo/java/Momo/Momo/ErrStream.java b/environments/Momo/java/Momo/Momo/ErrStream.java deleted file mode 100644 index 189fa2dcce..0000000000 --- a/environments/Momo/java/Momo/Momo/ErrStream.java +++ /dev/null @@ -1,71 +0,0 @@ -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.lang.Runtime.*; -import java.io.*; -import com.sun.java.swing.text.*; - -class ErrStream extends Thread implements ActionListener{ - private MOMOpipe pipe; - private Frame errFrame; - private TextArea errArea; - private Button close; - - ErrStream(MOMOpipe pipe){ - this.pipe = pipe; - errFrame = new Frame("Momo TextEditor(standerd output)"); - errFrame.setLayout(new BorderLayout()); - errFrame.add("Center", errArea = new TextArea()); - errFrame.add("South", close = new Button("close")); - close.addActionListener(this); - errFrame.setSize(500,200); - } - public void run(){ - String sline, eline; - sline = pipe.readStdLine(); - errArea.append("Welcome to GGE\n\n"); - errArea.append("Making myDetector...\n\n"); - while((sline=pipe.readStdLine())!=null){ - errArea.append(sline+"\n"); - if (!errFrame.isVisible()){ - errFrame.setVisible(true); - } - } - eline = pipe.readStdLine(); - errArea.append("\n Compilation ended\n\n"); - errArea.append("\n std error outputs if any\n\n"); - while((eline=pipe.readErrLine())!=null){ - errArea.append(eline+"\n"); - if (!errFrame.isVisible()){ - errFrame.setVisible(true); - } - } - } - public void actionPerformed(ActionEvent ae){ - errFrame.setVisible(false); - errArea.setText(""); - } - void close(){ - errFrame.dispose(); - stop(); - } -} - - - - - - - - - - - - - - - - - - diff --git a/environments/Momo/java/Momo/Momo/Momo.jar b/environments/Momo/java/Momo/Momo/Momo.jar deleted file mode 100644 index ebc21bf193d6aaa6f797973e6fecf14438d4ccd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7372 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 Q5YV26)6;IqQ~Y`RKXL0~ng9R* diff --git a/environments/Momo/java/Momo/Momo/editorFrame.class b/environments/Momo/java/Momo/Momo/editorFrame.class deleted file mode 100644 index b7005935ce47a6fbf53284e213134d62244d6db0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1706 zcmb7FZBrXn6n-{IyRcm#1wu;;6sm1QNQqjtDA)=qD4nFi1`|_XFUgf|yV;GKo2K<= z_)l;&nK3i|0Dq649iN*wQzw3K2F^YAJm;Ky?zzvN{PEXszaxy>XiVT!6Q7$Xm?)a~ z!bHi$mnKe3lucAjNE6?iI5qLqgk$2FiRUI<3n3&dW}t{@F`LBOBl1o{jIc5ZJL%#gPq9`_*)8fCC$K?AcKG*uZLh zJyZ6psd~dpJrgfPs@`F;=+cEmQ>D_rr-b9lfWZ6!a0Ns1Dqtkd z;rM#Nz`6M0p|^fk@h~NCQ*sM_ma|6@=U1-r9dz zmNn(j%1tJl%jRlMO|mO1W7~WzU#eYRf(|now)Ih?dLn~kapE#rtXC+nd&JfbZfjt+ zXCJ+)f$5B27H&ZVjtOs>D{tVfk|4yY7+j z=&&@-VQ`QCfCp?caC1zwViQsib&9m#=K?z|D~|Hn=?gujUtV-%x2ajlyUBoV)2EW* zd>l{p>a=Lc%6gsjF<^3|4`4cK|CAFO5_``NDl+Jijx8SAM@kws_P+u?+t9P6o7$xcmq+jKAXl@X7m>Y7)z|cCvfPY(yfzzdAw40&FidS_ds{_Zb>G)~j zH+#Gaxui#=Cd$wCLVB`4HO(;BBW>#9h1@M`3iH#iOSMNoe%N_FhTQjb1~O@qz@S$q z^}O?=#2QCg2;fvR^h}}_f{#phw^z+|{#pP_{9ooz#tOA-xP?{v REYWKXcX5TDkBNuy)!!AavpWC) diff --git a/environments/Momo/java/Momo/Momo/editorFrame.java b/environments/Momo/java/Momo/Momo/editorFrame.java deleted file mode 100644 index c114dbb166..0000000000 --- a/environments/Momo/java/Momo/Momo/editorFrame.java +++ /dev/null @@ -1,60 +0,0 @@ -/*import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.lang.Runtime.*; -import java.io.*; -import com.sun.java.swing.text.*; - -public class editorFrame extends JFrame{ - public JTextArea editor; - private MOMOpipe pipe; - - editorFrame(){ - getContentPane().setLayout(new BorderLayout()); - editor = new JTextArea(); - JScrollPane scroller = new JScrollPane(); - JViewport port = scroller.getViewport(); - port.add(editor); - port.setBackingStoreEnabled(false); - getContentPane().add("Center", scroller); - pack(); - setSize(500,500); - } -} - - -*/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/environments/Momo/java/Momo/Momo/momo.class b/environments/Momo/java/Momo/Momo/momo.class deleted file mode 100644 index fa7753f2827793610265b1fb09151a1eb1017068..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4137 zcmai133MCf5&qVevukDJ1O+D{PQZbZD9#~D4hjxA>^MFm$&PJooP=X7Z{$rRtyryM z2WV--S$b1?0i}=E*7Sll5X&iULodS7HuS#eK~JFfeFObwCE3bDZl0cIX1|$#cJ`n7 zXJ?;!>5=28#2UP;;T8=a)bJq-<=O>*c<$_2V48PRI@7{`C^j8~ivIhXuRQj|SZ2$12>c z<6gW;$XkTGRmfdJ?$+@cyiLeEguGM7XYn2#$Hn+jd`idT_=t`t@LnBH;>|jq!UHhN?016w9!GTiLEQfl zAJy?E!Tv0<`~~;u_$%(z@i*L|1#H1=~G7Cm4=&Mmp10+H4ejV=x@Elc7vD74kyKjBs(N zBVwkqjVotXDX5=$VUyu_zBkWo((anc|Ks0NE0`ZF-JgV=ciV6ZnoQd%Gv(4*$yOFY z1%VRd9o%9su(}d3Y#g$)Zp26#aqhir$vGuj^B{ePw#8h_PPK^aS)4nAMcB%?rle5Z ztSA_HIV>cl5TplnId;sQ^6dTVa7F5Zl96J^18akad>;vNGkBRjK<8g>_mq4JFEotm95)a70f2B z?{N*sHHQRiZ4s=sWg43uo^r$o_D|QKf+c0EtSRfdc8a!(%c{NlRIqeLrPQE;vuD&7 zDy*)oL6?y-6I?zw%mW$CCI?NY*BF%NomX0AQjk2AdC0OuT|9Vhez%C%gzcD-=rbHk zmdcjN!Be0W&mT>SV!i1&(h>9sTg3FPX;IV7#Edj=tac@`aZ7f-s>gJ!ecZ$zJL|;E zd>-Z+UWs;@&OX~odRZ`rn2R$=^VM6dP2Pl9kC`?c!|Os-g9#&cK*6#yePG*Q#&zgA zpA9CXj7>*Tc~&{)4#!9`{6*z-l0*e{GpU$DR>w?QNuYwV_w>@o+U2GeYu9IvnlYxp z9JO4gK$zt@sE!-);seygO;_45kGZ&D4HMuoO`DE;h#StULer&lUgQ%Xa@;KX(4-61 z(<$$g7vpqPQ_`DQHEc^IK%rTk3Km`lJdsnD(!NSv6}EQ%ltHUw4dvSzOLq$Gw^Bp) z2+ztCQrgs}%OdZGW!&C5bJB&pW zH7y4}!5IA+(``w~Gx1SXUgUE&$CDg0?%3HBHM4o`y<)u*ujW-TZ5riX%av9mzWS_; z<@KE^Hf2XD*R@&Fd`0uIvKiA^J8aAGsv31ohg((caj9(1erq^nDL5Z}iz<#7&58DXzVAvXdqBIfeqtmCfGcQWdi}-H?L*_ugT%E zyuQlQw^83#RzJ_vcTnF^Rv+;6QR<^*^|L*FH}&1G)YmcW&^UHBP`xt;33>5Apke|W z$I&hr|Lr+k+%KHUB?AHf1TNY=jz|udcxVonPAli+l}!a@coOFg_-0Mu!W=HARha)~ zZ)@^$TZ!CJB1cQ)?t5H{z~Cmy)To5MIrMUMci}ox z;7!7hFwqJ=NqR3Qd$7oS{MwkykCHlmQUp25H*&CVV*&2rY(LCTl9a1KgnVL8GczjhqZVSA;pIal*PDEX}~&VBi1WT*q}tQQQ3`)lzq5ZN#hb_ z6phMZY*KE=rOKVytlWbw${4mP4`Q2=Lz8kG+m#b&QBHcrKZ$o2iV=*`CxNfZp_Px; zGzP8m7`7cLTt~;SG;n6*7s?q`0M7qWX2>zLhk%ti;Z+m3nI$(3RL zBg}J@x$UH%FgML(^3X?;1Z2l(s7Zq|i~z5HK+B(6jn zSHZ>AjA1XMFmOEvaSP>JF~o>W{`cW7#PNRC(tWTPqsb`uv+*3j!<3KG%cHRI7(G3K zYuMr(Jc|sTCw~E1ev%!;%dE$0{G2|#*2MTK_yZPAVhxY?tHY}TY7PUeg|1ah#qQ}E cUw|sw-3Sdgp$0c2z}ObzF#SA2yaLbv5B>;mw*UYD diff --git a/environments/Momo/java/Momo/Momo/momo.java b/environments/Momo/java/Momo/Momo/momo.java deleted file mode 100644 index 674f4c8dcb..0000000000 --- a/environments/Momo/java/Momo/Momo/momo.java +++ /dev/null @@ -1,168 +0,0 @@ -// 1998 Sep 20 the first start of Java Momo -// makeMydetector has a pipe to display compilation messages -// But it don't have good finding path to any files. - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.lang.Runtime.*; -import java.io.*; -import com.sun.java.swing.text.*; -import java.lang.System.*; - - -public class momo extends JFrame implements ActionListener{ -// editorFrame ef; - private JButton gagButton, ggeButton, makeButton, newshellButton,pluginButton; - JMenuBar mbar; - JMenu jm; - JMenuItem xtermitem, netitem, exititem; - JPanel momopanel; - private MOMOpipe pipe; - private ErrStream errStream; - - public momo(){ -// ef = new editorFrame(); - - momopanel = new JPanel(); - getContentPane().add(momopanel); - gagButton = new JButton("GAG"); - gagButton.setFont(new Font("Serif", Font.BOLD, 14)); - ggeButton = new JButton("GGE"); - ggeButton.setFont(new Font("Serif", Font.BOLD, 14)); - makeButton = new JButton("make myDetector"); - makeButton.setFont(new Font("Serif", Font.BOLD, 14)); - newshellButton = new JButton("new shell"); - newshellButton.setFont(new Font("Serif", Font.BOLD, 14)); - pluginButton = new JButton("Plugins"); - pluginButton.setFont(new Font("Serif", Font.BOLD, 14)); - - mbar = new JMenuBar(); - setJMenuBar(mbar); - jm = new JMenu("File"); - mbar.add(jm); - // jm.add(xtermitem = new JMenuItem("xterm")); - jm.add(netitem = new JMenuItem("Netscape")); - jm.addSeparator(); - jm.add(exititem = new JMenuItem("exit")); - - momopanel.setLayout(new GridLayout(1,3)); - momopanel.add(gagButton); - momopanel.add(ggeButton); - momopanel.add(makeButton); - momopanel.add(newshellButton); - momopanel.add(pluginButton); - - gagButton.setForeground(Color.black); - gagButton.addActionListener(this); - ggeButton.setForeground(Color.black); - ggeButton.addActionListener(this); - makeButton.setForeground(Color.black); - makeButton.addActionListener(this); - newshellButton.setForeground(Color.black); - newshellButton.addActionListener(this); - pluginButton.setEnabled(false); - pluginButton.addActionListener(this); - // xtermitem.addActionListener(this); - netitem.addActionListener(this); - exititem.addActionListener(this); - } - - public void actionPerformed(ActionEvent ae){ - if(ae.getSource() == exititem){ - System.exit(0); - }else if(ae.getSource() == newshellButton){ - try{ - String cmd="xterm"; - Runtime r = Runtime.getRuntime(); - Process p = r.exec(cmd); - }catch(IOException e){ - System.out.println(e.toString()); - } - }else if(ae.getSource() == netitem){ - try{ - String cmdNets="netscape"; - Runtime rNets = Runtime.getRuntime(); - Process pNets = rNets.exec(cmdNets); - }catch(IOException ie){ - System.out.println(ie.toString()); - } - }else if(ae.getSource() == ggeButton){ - try{ - System.out.println("GGE Started"); - String cmdGGE="java gge"; - Runtime rGGE = Runtime.getRuntime(); - Process pGGE = rGGE.exec(cmdGGE); - }catch(IOException ie){ - System.out.println(ie.toString()); - } - }else if(ae.getSource() == gagButton){ - try{ - System.out.println("GAG Started"); - String cmdGAG="java gag"; - Runtime rGAG = Runtime.getRuntime(); - Process pGAG = rGAG.exec(cmdGAG); - }catch(IOException ie){ - System.out.println(ie.toString()); - } - }else if(ae.getSource() == makeButton){ -// try{ - String userHome = System.getProperty("user.home"); - String cmdMAKE=" tcsh ./makeMyDetector"; // path is the problem - System.out.println("Make Started"); - if((pipe = new MOMOpipe(cmdMAKE)) == null){ - System.out.println("MOMOpipe error");} - else { - errStream = new ErrStream(pipe); - errStream.start(); - } -// ef.setVisible(true); -// String cmdMAKE="makemyDetector"; -// String cmdMAKE="ls"; -// Runtime rMAKE = Runtime.getRuntime(); -// Process pMAKE = rMAKE.exec(cmdMAKE); -// }catch(IOException ie){ -// System.out.println(ie.toString()); -// } - } - } - public static void main(String args[]){ - momo m = new momo(); - m.setTitle("MOMO"); - m.pack(); - m.setVisible(true); - } -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/environments/Momo/java/Momo/Momo/momopipe.class b/environments/Momo/java/Momo/Momo/momopipe.class deleted file mode 100644 index 24bc3bf652f2a37df0442a23b540ef0a541f3689..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2006 zcmZuySyS6)6g@JFj1UG)*uomZYDh?vmNX$HX@I1en8094O1cVL7!g}?WjT<)(m#-w zK0v27nP#T1o#~J2^juk9hhg+B_uTuPyK(*Re}Dar7Tm&F7!Oq>RispyDvng7RUE6Z zRGg@It0JQ!tHRb0#*BtG%xbio)1b-{!n~XoG;|==fle%TpbJZ~+|r=owgAhr+|i)p zGdbNA;GU>_F3T6PtY~P*eR=A>T)&i;ALw|F$Fh7a%Trm_b?o7Zj&B9n$Ci%Q*wOJF z;yMnnq2qh3>i9vHAF-z6Cp^;eGrrRCi>Me#=*Z!fj$g5X7Y%R}b}9pp0Rsmv;-cXJt*ATx*c?CCg4z+%mtg@2_v< z)hp>lVYmi0@Cnve!*)$0WxA^(oeQMC8v$JqjxXAAourx1(}n)4H2K1na=O|6$g(Yu zDQaDJQl^5gb;r(ohVAVenF8!j5@N8(P>$m|=gC0@`mE#Va0r1{JepA?3r zC6CSI+fCPXTm@>%%zLi$o~1Ee-rKou<P_C+Vp%2AB$9OWM!Wy5J6qz zkb{CPX5C1Ww40auVwT~cV@P4yIWo0bc{0!=e;3~dDm~elKW4T9Y#5%=_;Ozbda+%t z4!f!GwCVlt%-t8Ymil=tTRo#&wD1bR%Z5J z+dFoh({kH{vrg8@Sve-It8%<8B+Qh($KN?kxU2l0W0Mo) z8=n5*3oYDFW0#1;lp+RVEk#VkK4NUKgrOpCen509)+(~45=N+S5&MMD!6&pG#Qwz1 z60TpO`x4P2#+!iQ3NT1OrA13%F?xxfOY{~oc|kWK7{(}Cd3s4lRu~vKdRw_i{J(DE z5o+{c4852_6fyK+5&hV}0LSJa-ccW1*Mgu9m<$POOo`LQ@e-!vAJE$v#o{@YL!9hg zRq81}qt_`N;WtWbgy8AF-n$L>{C1oVq2nSh*mv(c9JEUlD&k!-zh6+P=1SmWd?JH zmM$I#mebr7B4JvvY}YQDEbg&2?oxJ$CxOLSV9`d4i5fw>|I7+i-&Aw47^rrO>ThU| VD(5^6oHubiV2lr`x=VQo&i_70wch{$ diff --git a/environments/Momo/java/Momo/Momo/momopipe.java b/environments/Momo/java/Momo/Momo/momopipe.java deleted file mode 100644 index b07824f2cf..0000000000 --- a/environments/Momo/java/Momo/Momo/momopipe.java +++ /dev/null @@ -1,61 +0,0 @@ -//package MOMO; - -import java.io.*; - -class momopipe { - private Process ps; - private BufferedReader inpS, errS; - private PrintWriter outS; - private String errMsg; - private boolean isErr; - - momopipe(String execFile){ - errMsg = null; isErr = false; - try { - ps = Runtime.getRuntime().exec(execFile); - } catch(IOException e){ - isErr = true; - errMsg = e.getMessage(); - return; - } - inpS = new BufferedReader(new InputStreamReader(ps.getInputStream())); - errS = new BufferedReader(new InputStreamReader(ps.getErrorStream())); - outS = new PrintWriter(new DataOutputStream(ps.getOutputStream())); - } - String readStdLine(){ - String line = null; - try{ - line=inpS.readLine(); - }catch(IOException e){ - isErr = true; - errMsg = e.getMessage(); - } - return line; - } - String readErrLine(){ - String line = null; - try{ - line=errS.readLine(); - }catch(IOException e){ - isErr = true; - errMsg = e.getMessage(); - System.err.println(errMsg); - } - return line; - } - synchronized boolean writeLine(String st){ - outS.println(st); - return outS.checkError(); - } - synchronized void processKill(){ - ps.destroy(); - } - boolean isError(){ - return isErr; - } - String getErrorMsg(){ - if (!isErr) return ""; - return errMsg; - } -} - diff --git a/environments/Momo/java/Momo/NOTE.txt b/environments/Momo/java/Momo/NOTE.txt deleted file mode 100644 index 08900cd4f2..0000000000 --- a/environments/Momo/java/Momo/NOTE.txt +++ /dev/null @@ -1,19 +0,0 @@ -1998 July 6 JAVA GAG for Beta-01 release - - H. Yoshida; Naruto UE - -This directory and its subdirectories contain all necessary JAVA -source codes as well as *.class files. All are archived into -GAG.jar file. - -JAVA GAG uses Swing-1.0.2. Older versions based on Swing-1.0.1 can't -be compiled, and pour out "deprecated" errors on javac. - -But Swing-1.0.2 has yet unfrozen classes and interfaces, among them -are JColorChooser and JFileChooser which JAVA GAG uses. - -They are left as before in swing.preview package!! -Swing-1.0.3 is announced, but we will wait JDK1.2 which -is forseen in the next September (right?). - - diff --git a/environments/Momo/java/Momo/TextEdit/AboutDialog.class b/environments/Momo/java/Momo/TextEdit/AboutDialog.class deleted file mode 100644 index 4a625698efbe80090813bec3a8071f74ee842225..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2094 zcmb7FTUT2}6#fpk6Jof9QpH+(idsW}1k|=t5DVcVG+ZnQQm>PfAsIM1lXWtI)+Zl* z@I`+_U0#>f3Tuh_;9Y-)Kg8vpb3zhoE6a!MGvA(X?>+mQOaA=(+aJ(~ArwPMg)kk$ zTnI0Pun@vh2rD71n|Rs8brY*5)=a!%;!P88nRwd-Gm$Z2o5-5rCbq(e;zAgmcsh&@ z#5C*=qYd#ex&kv0Mmq+z8PXGpFuIY{W;l$~7->Z-p3(5x2&QmRn@ie^YI8-K7qz(> z!K=8e&13|d7?0ovCL(xEN4$>bBFG^fK^_+koQn0Qx7jXBI?T-_mowYkR$~SlWBuy} znq%|x`Wuf09JZ&DDOo5=m%D1L5_sHcpu3Jd>#+hK(>$Ut4L1TN=SD`k9|hp0~l#hQrvxDnhoJ*<=%g#2^h!H^i*p3 z+Etp+J)FLe-xqTHJ`?{#+Lm$Q3N>M%eKJGBSZn;In#l@fpe059bI(9iN@lr%wv=>B zin(f?Ic35YVa059#Zt1A7i>pdb(vRIa;ThOc4E6|pf4qhw>*){D=TLATO*^Rm#wu5 z*}5jPtiTL}XKvcOs1+|!k-5n^Yj-#?!kl8BCOgu?0;90sWEK9bFY;YEjj!57;erybwSy3v=5_Q>{<0|Nyvif&WU!_1N1JSC--#Sv3 zcDF`5(xSUcoAX3AxGDd8 z*C=>PXnQ4XZ&Q)k^y%31ubI|qmnkh?B=Dphl7wJe4bqE13I=$ZYt<_uRiCh>E4GA= zt0bPUc`AvQi*)I;u;}6JKm&Sk3I?DbK(ehgp2G8FX9)d;7BtcK!}vhdXgWaeA)=dy z=-g~1@W=rkT^u|_*JiYt;MsjVz7aq|kJV7)F%+txc(h?~ALll7#sfUO6hB1UX0+u1 zXTHIc@w@cfhc%=JI#WDq4rw+ypNf+?e}`6O;2PNp>H_!(A$*Kpe1aH0#U*@(X?%|B z_=4W~FOk6=NPLAoe2sT;7w=&o@8bX;;5KF1z*wc^{Y*6HWZEx8lPA-DCEE7M fwBLxfQ>C3Jq&sasE>75Y{y|6PcOoqNa=h{nE&>98 diff --git a/environments/Momo/java/Momo/TextEdit/EditMan.class b/environments/Momo/java/Momo/TextEdit/EditMan.class deleted file mode 100644 index b5fc8311e78a8bd344823e5f14183aef8139dffc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4818 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 S0G*;1U4pB#gLYAZ?f(HY)7y#w diff --git a/environments/Momo/java/Momo/TextEdit/FontMan.class b/environments/Momo/java/Momo/TextEdit/FontMan.class deleted file mode 100644 index d959f5471d9953cad90c2c00b5ffc0e829a7f89b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1021 zcmaJ=TTc@~6#j-b9lI*rk!HrzcSI9 z_+WVQ!9RnEm&8kqXSM|jX?&S;<~!$nb8hqb?}v|wU;*nK^BfBtiySV;631G{*|&Y^>sVgkN)?m3L)DuP{WMxow7Vr?4ekdZVhed!(!w!;I4j60fwI z-;tFU<)BrRe)EZzd!fU0kAvKozIKgi!)T#B-L;3WmULbDwGfXw&kcWURryMqjG5z3J4lO#i;pnUnXxmT9;Em8I;DD$738HNi%MR?ny zu8cR)TBV>_ugFbhVpB)uyN}92Q$JS13u+7_$M9z0>!R>`p^|znLumBa>qucZjhWt2 zmBwt;MKciwUX$9ijUi52Cmnh~5meGb%lr<_Oja2t!wL2q2E)X$?aUmgA$?2*)zH$H zb$TbX_N>Jzs53K$bm-O8%5%f%b~cD|_e4We;~CD?<(@QSAh02|X%vB^g*A|>yDNqz zTHQDZAvs{y6Cg>eOEN$NWLMI!J%`Qe1Svy5MPMxkWkwD zZrpM=E}eag#3u|I5ou%0P$W($#wZy0M*r+P68M1>z7oMLT8cybg!fb0JN6ZH8? diff --git a/environments/Momo/java/Momo/TextEdit/NotFound.class b/environments/Momo/java/Momo/TextEdit/NotFound.class deleted file mode 100644 index 83245f7533030ce4b2841a8eaaed3927404243fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1821 zcmb7FYi}Dx6g}hEU1z(o9k&S-Xqy%Yj+4}d@+fktXq^~B9Vav)A%y~CdlI&6X07!& zsrV%b0RoB&5^n(x5Q)!-ABDKHyI$MnVIj-cJ7>;)ojW`J+aNWR~fpr6~7}zkdY2Z~8X-t_I!xW&)X#q2 zv;V@V*exZb@O;wW!))5J;qL!en1C@5W+Kex3lx^AtGx6N`2SGj$R%6a>M}#T0%9S+3 zRK=}xXM=mT=8#*W>U!#JhS#_^>Xk2y?ssi{%vJD1^<`^FC;_KeW%-!(V~X!cd7OCzJH#zUVB_= z5v>3zIV24&$9hY8xk$-iy&$yup-Y6>bywQkw)P7HFZGZx@Jf^3t_G&)>KQ`}S&Y*a z64N&dfKhtBhyvMXY4thc^a1Mm*({46VB!$ztpglio;yTpE1NjLeI4Atna{@NIykYJ zKZLoJ9XY_{PdJtTk-i-~5V}<7H4w1l^FDhVzh`6zr}IR6@Ow(b@EqAE=&}TRA4&EB zGVDW~Vjp3eeT)n26BOB}D6u=Ju+Om0?&2o<0yXv?dA^A!!=g`6jF^tr3weaLz`i8= z)^OTaM0;&G?Q5dFF`V`d(fDxMw?un=IPE*4-Hd2wXr((%kbn>Mx-~V(en6ZQU|1qS ngK3^8T+=hN9h}tDxC>*@Gev)ZU_aw1`vqy%A-}7>n8m*Ui=ncV diff --git a/environments/Momo/java/Momo/TextEdit/Note.class b/environments/Momo/java/Momo/TextEdit/Note.class deleted file mode 100644 index df5398cb77a632c32db4cd0c51d6faca43f67e85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2183 zcmb7F-BTM?6#w0ju*>uTL&Tg6|)rw9g=iYP9?|k3A_m4lH|ArP^!-0xf6>}=` zDwb5-SFxhtQw6IEzEbc&!9xX7!KQ+u0#kvdU`xTahEBY#LC27WHeA)vfvas$kk-(S zVI~GEMl_tmD3fa%lDN*0OgmJ(!@C>o;9U(GZZf&WvfDal@E(&1CQ~}ru%Kfd<4mS? zY+zEy=eVci3&wqkJ34mou?`z|b?l;`V-GnUC5-7P^UlG7z=ia1VOJi=Oi4Q1nZ?ar ztLSG1TGGR-0`YX7mqa=rtVTM7%0oYsbIbd#V>y1dZr>~v7&-->^JLk|o{F>Vd$zNk z4ZQvr;0C90`IJZNfI?@cioWeSv%JqTV&D~sf?e?~$MOQu-`%X)j_Dr$o0|~PtP3-lCLtjGSWY5SQ4*S8vV2%Ia}jS{kXyfHNA0L6(;vPj_cB@{|nzPwcf*5~?GHnVj(A~tp zNQNqqMNZo?DJ>aHcFFR#T(8WM7HJagA{q`oGGkfud;}EJuI#%NPI24v!=%V-aM1an zhLs5<8O2f7wH+e#lU`aYGh-||A1bQ1brw?#c%gg$g z>*@~dtG->z1jjY}Ua9X64I*qzoe6yk=&XqXs1?hfcTGvzDYRX-zos5(v|F_+b})bS za7X%-9oKvqd>HKafMnEvJ(T21)LUXZB9=a98c)d2SUkSENke8AUB}+CgYkyAd?cwm zUfie8)I>jBcsgR}!g<62zQ>4yZ?Rydt1npT2BWnNf^Nht(GLMJL>8?ieQt~-Yvb`$`~)5AqsO>d!|Q8CGM0+hkXn18PxStP8RG

&cd5 zbRVI|cuM~oE~OH@3ycD_2-Jfl9BiluS^YBxLI;UgA&g{eD#1~WE-`xEtdRk^c;i>f zUSOW+1}+l4N$cky%<1YFzhEa@@WCD})o5npXVv3%FX-MSgR-eHEX7LT_zC|A2 z;Uj!c{ri!6^$V8p6!-BAHz>kqct7kJJqIy*^nkIE8hYnPxxgp5WVF=q7LzL^=%;_* zGhB`#Q2&H>UI(8*p_Jc@QXZgWLGMt4UZ4&cP@`nl6$O6G>C)+dTLHA0=)s;vQz1*_mbc z{dvA%0((dzm_;yW5N=Pqnp$RBWU$DL?j6^z=4v1w=cB;8lcX|O7E)t5+#0kMZxoG_ z!U(QvZl&jBS(nCPA$x}!?V;ljPCG7UumX?LCpHz1E^nnv|D6n0-kU0}uj#qzP&mrz V->v|F0Ra^Y=}LORD=}dJ(=UvVIEVlM diff --git a/environments/Momo/java/Momo/TextEdit/NoteListener.java b/environments/Momo/java/Momo/TextEdit/NoteListener.java deleted file mode 100644 index 7e43eae3b3..0000000000 --- a/environments/Momo/java/Momo/TextEdit/NoteListener.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -interface NoteListener -{ - public void noteListen(int action); -} - diff --git a/environments/Momo/java/Momo/TextEdit/PrintMan.class b/environments/Momo/java/Momo/TextEdit/PrintMan.class deleted file mode 100644 index a0d7fea37cea2ce8e9d5a6f6d91c24603a338444..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2827 zcmb7G`*Raj6#kYxHd&SuiVH?S>I2#)eF$olR?DN5QfO(VwOAF)CfO!i(rnyp0r9Q% z{ZUY3sKJ&ff@l*9?P7YLSh!yy)}bJZtqN4pM6peXY*(OQhtTL$5W!Bd&?T^4V%jZ6 zyA>=&k5Jnag^azzUa!#T6Qg}%)GwL=q5FV>F!l?}g8~~8&4a>?Vd3Nfq4AIk3!|dR ziY6zTf{G_mR`EOzt9Sv2RJ;gX#S|t~yd;EQMp4Bp$f$T#OkcyKir4Y5iZ@`WcoUDR zcuP#*#v>};L0-kXIH=-1Vf1~ZReXkHDn1t?XK_TuIUH5-CB{^o7xumq3m5Q&ifN(o zH6By(jqvYVj7xxoKtp4XgjEfVz2o{3y;VQzwC*$~jAGfeitQ3K|3bH|m-1$&O#B8v zK4e*i!=~eh3wklvI_TJDF-Mr23`d?DRT1q;ckXg5 zS_f>aWY~^rl>Pn;kOXIsm8SRI|IgkqW47$7Zz3~ps4f8;tCsxi_z9b*Ui&vehPDXz zg*?ZsFGcN(QZa9Nwcm0T?Qxw8-)9z0r-Rw*w6cbTWt~>B?C3>jST9U+u5=yC7$t`l zR+b)>}Xs2^cT*Of$0>oQj9iMp1S zmO6$sXieG~W0xtMUom7HbGovo!-}9B)fZz{&Nj;2PSLa3u7bg@&5;n+OC_V24&_A7kEpr-)v#a%A3z zRL>P2AM@ZM$5zb43+^po3tq(L<>q}^*!TdQv5qnpSIAceOyA!j@AO$DJCwH#os@g( zzJg&E#;x=|o)(O}U=(vso`aHZyCeroTx1sPNhVt^dyMl7DCdPQ!LoUrY9S`kDsY{7 z^^k~T%_TEDS<31TrQ{>xGwC10Excov1H7A-faf|#OT=03_Pi+Eo`=5M^BQn_9`o#L z#jV5B{c#st!kbv)Wn{7~@z8JNjkT03mlCsBkyue5o589?at2L_rWqs>@!$;V5?W{m zo0}`RBPA!UA~vGQv#6cHCQXhhg;X?VrTth^dTziR5OK{kZA%q2W%f!Cj;+g?ik>(Y&AdTjea?&)Vq&but0xc(f*7PJsFEu z(0Cf5}k;y!vC6or?!A(i^Y3cCem+XXxLv ztgaWZim$dfBU{gx+6G3~#3$Nj)=V4UX50BROLK1UId&W$kb_tFJ4s8=(8dxx^%pb# Bvkw3O diff --git a/environments/Momo/java/Momo/TextEdit/PrintMan.java b/environments/Momo/java/Momo/TextEdit/PrintMan.java deleted file mode 100644 index a1da10de32..0000000000 --- a/environments/Momo/java/Momo/TextEdit/PrintMan.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.util.*; - -public class PrintMan extends Thread -{ - - private PrintJob pjob; - private Vector spool; - private Font font; - private Frame parent; - private String jobName; - private int tabsize; - - private final int PRINT_PROGRESS = 10000; - - public PrintMan(Frame p, String n, Vector lines, Font f, int t) - { - int i,max,part,tens; - - parent = p; - jobName = n; - font = f; - tabsize = t; - - max = lines.size(); - spool = new Vector(max); - tens = max / 10; - part = 0; - - Progress spoolProgress = null; - - if (max > PRINT_PROGRESS) - { - spoolProgress = new Progress(parent,"Saving print copy ... "); - spoolProgress.show(); - } - - for (i=0;i PRINT_PROGRESS) - part++; - if (part > tens) - { - spoolProgress.update( (int)(100 * i / max) ); - part = 0; - } - } - - if (spoolProgress != null) - spoolProgress.dispose(); - } - - public void run() - { - pjob = parent.getToolkit().getPrintJob(parent, jobName, null); - - if (pjob == null) - return; - - Graphics pg = pjob.getGraphics(); - - if (pg != null) - { - String nextLine; - int pageHeight = pjob.getPageDimension().height; - pg.setFont(font); - FontMetrics fm = pg.getFontMetrics(font); - int fontHeight = fm.getHeight(); - int fontDescent = fm.getDescent(); - int curHeight = 0; - - for (int i = 0; i < spool.size(); i++ ) - { - curHeight += fontHeight; - if (curHeight > pageHeight) - { - pg.dispose(); - pg = pjob.getGraphics(); - if (pg == null) - return; - pg.setFont(font); - curHeight = fontHeight; - } - nextLine = detabbed((String)spool.elementAt(i),tabsize); - pg.drawString(nextLine, 0, curHeight - fontDescent); - } - - pg.dispose(); - } - - pjob.end(); - } - - private String detabbed(String s, int tabSize) - { - if (s.indexOf('\t') < 0) - return s; - - char c; - String t = new String(""); - int j=0; - int tabs; - int max = s.length(); - - for (int i=0; i 0) t = t + ' '; - } - else - { - t = t + c; - j++; - } - } - - return t; - } - -} diff --git a/environments/Momo/java/Momo/TextEdit/Progress.class b/environments/Momo/java/Momo/TextEdit/Progress.class deleted file mode 100644 index 545f68268887427f344e0fbe4a8d323462c51338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1096 zcmb7DYg5xe6g>-V(}n=0SVZuFC|W`vjvyjM6w1SD?J&Z?@Xe)Jn>cCGNw>iGubja$ zBQyR0f0W}*ThsdZ;)mS3dvo^OvwQFT{^RR63?hR!QRJd{s$f;YhJsB61qE9QwiWCs z*j1t8x{3%URm5;ZMHo}QnU2xvn<}EXr6PpezPS^Ff*F5x*I&(Q$YRbnx^L1N@|gEc zM#CDOXn2m4hIQQ6@B;TVyu_l0S9qx5H5M5rQuC#c{FLYTnapijHQ_WY*U2*^`+w|u zylz^R2E_+c^M?$fRMB_gRI%+9@|~5Q>d_V4THSSoBlCSZdO?QqKJbpmYa;KH&ixhb zP})2oOb%O@H;5a)8+uw?ERiYmbkgH%?!Dx)7P+kPi1l3}PS$b&j^uO~y8CE=+_JdsR{LQ=yO6#B*2_B*#7g``*mU(E z(0&Y3)(Dg}>jsx3F??nj(!>n)eFOlbkGh!b0IjoFAp3}Rr_}x-@|*g?CA2H3$Cnr? zXRZ)CPG4fUg^?pYF_39t^hodi{erljVEP5(?dTXw$Bh<}pNWNGiR>(m8IY#2%VHQg zOi`v;Jf`Vg#0qKHfKJFF9&|OlC#0`&slz$`w&N4!^aUoO_Hu~)wTQhO&Ll(0a55Az mr_H!wC&Mj_^|DU2IaVom9&sAhNt)Fee@ZDQ!!zO^z{*dVz5SX1 diff --git a/environments/Momo/java/Momo/TextEdit/Progress.java b/environments/Momo/java/Momo/TextEdit/Progress.java deleted file mode 100644 index b7a4b71af8..0000000000 --- a/environments/Momo/java/Momo/TextEdit/Progress.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.awt.event.*; - -// This extension of Dialog implements modal dialogs with a callback interface -// to work around the "modal dialog problem" on Windows. The "NoteListener" -// interface is used to return an action code to the parent when "continue" is -// pressed. - -class Progress extends Dialog -{ - Panel center; - - public Progress(Frame parent, String s) - { - super(parent); - - Panel north = new Panel(); - north.add(new Label(s)); - add("North", north); - - center = new Panel(); - add("Center", center); - - setSize(300, 100); - } - - public void update( int percent ) - { - Dimension d = center.getSize(); - Graphics g = center.getGraphics(); - - int fifth = d.width / 5; - int third = d.height / 3; - - g.fillRect( fifth, third, (fifth * 3 * percent) / 100, third); - } - -} diff --git a/environments/Momo/java/Momo/TextEdit/ReplaceDialog.class b/environments/Momo/java/Momo/TextEdit/ReplaceDialog.class deleted file mode 100644 index 8e5b0fa5991ca35125c684a6c5d39ce58016016d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3767 zcmai1TX+-K5&j2XR$edI76u{+jYCLc3)_MKh1%Ew8ynmRn_yxvxvr(Pyddw&(#jWT zNU$si)UPwUl2!t{e(*VSX8yVC z%$(8jNB@2I8Y<9+zX$L{08a++`2a2k@Js+N1@LkJuPXSGf-fuhih|b^TvG5=1#c>N zOTkYRysh9J1wU1ARl&T1oPq@fKU45?1@9_YRPYN0?_1VKm;Q~olvm` zCso{rQ57Ma65R)DP>+WM@~}W2k>ycY9#hc(T>=`D_+sKWE<8hY$5pIFLU0or&Lb&{ zEz4OA7x1`-uOltXXEb~R(;B{sSqSajdV7d3n!K7NT8HT+66el65*Fs0$QnAC6`84bUKqv1nX z8h$U}kHpa*@CCw#=9cJjW7g@5n@&WCUfr73Go6G+mYmk7^+-~;5|N>?(?-m>i9PJ3 zO)J6disqIPLS^%SY*ozz?!Lac+_pIB6hL$-fsYm35#8!6@t=2eGe^v=ZT9&3j1%d# zlXlv55-#ITrfkcw*nKIqz$ENi66|9SrOkMcp6Io$jFZ+)%gMMtHkGJF^*K8$aq9`g zi{Q2rsWHvoBL`xRXe4DjPmlM>!*_e@%@?;1#{hZ;Z zLB0=!dY9JuoVUvjF02j$4Y13b`<6S>XBKW3Uy{10X&Hmr$uT2+Tpvqv3=MvV^<*8# zwis3K^Sox}yXdpTT)$}~ue4H^pHUADjtx zQV1)O&jQC>WXabRlGjk=4%$w?oweeG^+nzdnf6Tx!W$+0kwtic;LLF&)#>hSIBKNF z?ewI0RGgA@{zq{H(QPUkyLldQS#Fei6R9+)s6Hn5#W#FZw}j!V zx`nfsh*Sh_y`Q^J&eq$-?UHy^)z~jedWgRmaaR;6E3&iIugYhxPIgjm`Wp98oa$_! z8HL0tOb?r9#RF4b{VOvQ_6#B5a6aVja5`qVjqDj|*=gO8KGr;rJB;|a+CTEIB{#Eo zK4{1V$g322X3VzCaZ}9X4G;L7yy2k~|2V|a#IKD;tiop8iU9BYU;udMXMnr&%fj9H zZQ$=g}6b z4l$X-f$$n^KakVS%VrExS+~teO6}Pjvy(n(?+yz3axC=MXi}kZP z^oAMG`Zkw{@I0^A5MgpFs;LRJbQgluj1AO+TPch?sTJ+ihCS4dZrY9k+JU2V4@PMh z;`Sg|0q3333`a8=wUibkI+-} z7+s_-{1t!2jMrxTaF&MU&+$L6nnj=(uOF`ri!nMp3nQZ54$nwe;lj~l= zR}=VPTMm1qdoE-1@+R}3otLpG%&7hxKFOQ-&S4i{=_`okAzhbol0~~OVQU_Eq_rZ4 z$ROXzV7RTQb&m`J#=VBdJdQW-D>|2SA>d0`yNKFRQCPs%Bds~~`CogChZtyzdpUz9 zav8jIj(VB=eWUfn`55i z4#!=N1&(_h83P868;D}a0LQQa6DRa`BuW~i2AMGfoftRJg_9baFk$12HkOGQoHlVw zn^~MPv4~41vN&&I31>~*N7}>#Ofy8RbdDimrSqHaw(EGVUv?fAH$_R!hU6MUrj2#LP+rn3lrn1@#`DBw1 ze_l`(>6b&i(|V%yyXK@X)jS;}6RZn{o=o6ZmFufD*Q?Rq$nKQHGbIUS7(C*T41Ia& zi5Z$2ow-kMvHI+|pSLQt!e#FEsxiPrU1{rH->?ih0`o_3a_H{1(y27kAOS lLfWaRI{NEK94M!7jPkxCh94NjPmJOhseU8f%Y=8}<{wap4G;hT diff --git a/environments/Momo/java/Momo/TextEdit/TextCanvas.class b/environments/Momo/java/Momo/TextEdit/TextCanvas.class deleted file mode 100644 index f2ec6edbd93149a874a27148ffdaacee1451a5bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19373 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

aZ1)u8#4L9b8h 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 diff --git a/environments/Momo/java/Momo/TextEdit/TextCanvas.java b/environments/Momo/java/Momo/TextEdit/TextCanvas.java deleted file mode 100644 index 97c0ac1d51..0000000000 --- a/environments/Momo/java/Momo/TextEdit/TextCanvas.java +++ /dev/null @@ -1,1407 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.io.*; -import java.util.*; -import java.awt.event.*; - -class TextCanvas extends Canvas implements MouseMotionListener, MouseListener, ComponentListener, AdjustmentListener, KeyListener, FocusListener { - final public int NOACTION = 0; // a null note action - final private int EDGE = 10; - - private Scrollbar horiz; // control - private Scrollbar vert; // control - - private boolean eactive,hactive; // is there currently a range? - private boolean dirty; // document dirty flag - private boolean mouseDown; - - private int sx,sy,ny; // current scroll positions - private int line,column,pix; // the current column - private int eline,ecolumn,epix; // the current end column - private int widest,wpix; // the longest line - private int oldlines; // repaint to old line count (if longer) - private int fontHeight; // save time - private int fontDescent; // save time - private int tabSize = 4; // preference - - private String lineSeparator; - - private Font font; // preference - private FontMetrics fontMetrics; // save time - private Frame parent; // freindly object - private TextCursor textCursor; // freindly object - private EditMan editMan; // freindly object - private Dimension dimension; // save time - private Vector lines; // line buffer - private TextJournal journal; // journal for "undo" - private TextScroller textScroller = null; - - public TextCanvas(Frame p, Scrollbar h, Scrollbar v) { - super(); - - setBackground(Color.white); - setForeground(Color.black); - - parent = p; - - lineSeparator = System.getProperty("line.separator"); - - horiz = h; - horiz.addAdjustmentListener(this); - horiz.addKeyListener(this); - - vert = v; - vert.addAdjustmentListener(this); - vert.addKeyListener(this); - - lines = new Vector(); - - journal = new TextJournal(this,lines,lineSeparator); - - addComponentListener(this); - addMouseListener(this); - addKeyListener(this); - addFocusListener(this); - - clear(); - validate(); - requestFocus(); - - textCursor = new TextCursor(this); - textCursor.start(); - } - - //Toshiaki added - public void writeString(String str){ - paste(str); - journal.clear(); - } - public void writeLine(String str){ - pause_cursor(); - textCursor.suspend(); - if (hactive) copy(true); - String s = (String)lines.elementAt(line); - lines.setElementAt(s + str, line); - line++; column = 0; - lines.insertElementAt("", line); - if (editMan != null) { - editMan.updateCopyItems(false); - editMan.updateUndoItems(false, false); - } - journal.clear(); - if (dimension == null) dimension = getSize(); - shiftVert(line); - shiftHoriz(EDGE); - repaint(); - textCursor.resume(); - dirty = true; - } - - private boolean gotFocus = false; - - public void focusGained(FocusEvent e) { - gotFocus = true; - release_cursor(); - } - - private void release_cursor() - { - if ((textCursor != null) && !eactive && gotFocus) - textCursor.release_cursor(true); - } - - public void focusLost(FocusEvent e) - { - pause_cursor(); - gotFocus = false; - } - - private void pause_cursor() - { - if ((textCursor != null) && !eactive && gotFocus) - textCursor.pause_cursor(true); - } - - public void setEditMan(EditMan em) - { - editMan = em; - } - - public void clear() - { - clear_area(null); - hactive = eactive = dirty = false; - if (editMan != null) - { - editMan.updateCopyItems(false); - editMan.updateUndoItems(false, false); - } - oldlines = wpix = widest = line = column = sx = sy = 0; - pix = EDGE; - horiz.setValue(0); - vert.setValue(0); - lines.removeAllElements(); - journal.clear(); - } - - public void validate() - { - if (lines.size() == 0) - appendLine(new String("")); - redoCanvas(); - } - - public void setFont(String fs, int size) - { - font = new Font(fs, Font.PLAIN, size); - Graphics g = getGraphics(); - - if (g != null) - { - clear_area(g); - updateFonts(g); - resizeLines(); - redoCanvas(); - repaint(); - g.dispose(); - } - else - fontMetrics = null; - } - - private void clear_area(Graphics g) - { - boolean foobar = false; - - pause_cursor(); - - if (dimension == null) - return; - - if (g == null) - { - g = getGraphics(); - foobar = true; - } - - if (g != null) - g.clearRect(0,0,dimension.width,dimension.height); - - if (foobar && (g != null)) - g.dispose(); - } - - public void setTab(int tab) - { - clear_area(null); - tabSize = tab; - resizeLines(); - repaint(); - } - - public void undo(boolean undo_it) - { - TextPosition tp; - - pause_cursor(); - - if (undo_it) - tp = journal.undo(); - else - tp = journal.redo(); - - if (tp == null) - release_cursor(); - else - { - hactive = eactive = false; - line = eline = tp.line; - column = ecolumn = tp.column; - pix = epix = pix_at(line,column); - shiftVert(line); - shiftHoriz(pix); - repaint(); - } - } - - public void updateUndoItems(boolean have_undo, boolean have_redo) - { - if (editMan != null) - editMan.updateUndoItems(have_undo, have_redo); - } - - private void updateFonts(Graphics g) - { - boolean foobar = false; - - if (g == null) - { - g = getGraphics(); - foobar = true; - } - - if (g != null) - { - g.setFont(font); - fontMetrics = g.getFontMetrics(font); - fontHeight = fontMetrics.getHeight(); - fontDescent = fontMetrics.getDescent(); - - if (foobar) - g.dispose(); - } - } - - public void print(String name) - { - PrintMan pm = new PrintMan(parent, name, lines, font, tabSize); - - if (pm != null) - pm.start(); - } - - public boolean find( String pattern ) - { - int i,max,ct,start,from; - String whole; - - pause_cursor(); - - max = lines.size(); - i = line; - ct = 0; - - while (ct++ <= max) - { - whole = (String)lines.elementAt(i); - - if (( i == line ) && ( ct == 1 )) - { - if (eactive) - from = column + 1; - else - from = column; - } - else - from = 0; - - start = whole.indexOf(pattern,from); - - if (start >= 0) - { - line = eline = i; - column = start; - pix = stringLength(whole.substring(0,column)) + EDGE; - ecolumn = start + pattern.length(); - epix = stringLength(whole.substring(0,ecolumn)) + EDGE; - eactive = true; - setup_h(); - save_h(); - if (editMan != null) - editMan.updateCopyItems(eactive); - shiftVert(line); - shiftHoriz(pix); - shiftHoriz(epix); - repaint(); - return true; - } - - i++; - if (i >= max) - i = 0; - } - - release_cursor(); - return false; - } - - public synchronized void mousePressed(MouseEvent e) - { - Graphics g; - - requestFocus(); - - if (mouseDown) - return; - - mouseDown = true; - - pause_cursor(); - g = getGraphics(); - updateFonts(g); - - clickPosition( e.getX(), e.getY() ); - - if ((cline < 0) || (cline >= lines.size())) - return; - - eline = cline; - ecolumn = ccolumn; - epix = cpix; - - int clickCount = e.getClickCount(); - - if (clickCount == 3) - { - eline = line = cline; - column = 0; - pix = EDGE; - String whole = (String)lines.elementAt(cline); - ecolumn = whole.length(); - epix = stringLength(whole) + EDGE; - eactive = true; - setup_h(); - save_h(); - if (editMan != null) - editMan.updateCopyItems(eactive); - repaint(); - } - else - if (clickCount == 2) - { - char c; - eline = line = cline; - String whole = (String)lines.elementAt(cline); - column = ecolumn = ccolumn; - while (true) - { - if (column == 0) - break; - - if (!Character.isLetterOrDigit(whole.charAt(column-1))) - break; - - column--; - } - pix = stringLength(whole.substring(0,column)) + EDGE; - int max = whole.length(); - while (true) - { - if (ecolumn >= max) - break; - - if (!Character.isLetterOrDigit(whole.charAt(ecolumn))) - break; - - ecolumn++; - } - epix = stringLength(whole.substring(0,ecolumn)) + EDGE; - eactive = true; - setup_h(); - save_h(); - if (editMan != null) - editMan.updateCopyItems(eactive); - repaint(); - } - else - if (e.isShiftDown()) - { - eline = cline; - ecolumn = ccolumn; - epix = cpix; - eactive = true; - setup_h(); - save_h(); - if (editMan != null) - editMan.updateCopyItems(eactive); - repaint(); - } - else - { - if (hactive) - flip_h( g, oline, opix, oeline, oepix ); - eline = line = cline; - ecolumn = column = ccolumn; - epix = pix = cpix; - hactive = false; - eactive = true; - if (editMan != null) - editMan.updateCopyItems(eactive); - addMouseMotionListener(this); - } - - g.dispose(); - } - - private int opix, oepix, oline, oeline; - private int hpix, hepix, hline, heline, hcolumn, hecolumn; - private int lastx,lasty; - - public synchronized void mouseDragged(MouseEvent e) - { - Graphics g; - - g = getGraphics(); - updateFonts(g); - - if (e != null) - { - lastx = e.getX(); - lasty = e.getY(); - } - - clickPosition( lastx, lasty ); - - eline = cline; - ecolumn = ccolumn; - epix = cpix; - - eactive = ((eline != line) || (ecolumn != column)); - if (eactive || hactive) - { - setup_h(); - - if ((eline < sy) || - (eline >= sy+ny) || - (epix < sx) || - (epix >= dimension.width)) - { - if (textScroller == null) - { - textScroller = new TextScroller(this); - textScroller.start(); - } - shiftVert(eline); - shiftHoriz(epix); - setup_h(); - save_h(); - for (int i = 0; i < ny; i++) - drawLine(g,sy+i); - } - else - { - if (textScroller != null) - { - textScroller.stop(); - textScroller = null; - } - if (hactive) - { - if ((hline < oline) || ((hline == oline) && (hpix < opix))) - flip_h( g, hline, hpix, oline, opix ); - if ((hline > oline) || ((hline == oline) && (hpix > opix))) - flip_h( g, oline, opix, hline, hpix ); - if ((heline < oeline) || ((heline == oeline) && (hepix < oepix))) - flip_h( g, heline, hepix, oeline, oepix ); - if ((heline > oeline) || ((heline == oeline) && (hepix > oepix))) - flip_h( g, oeline, oepix, heline, hepix ); - } - else - flip_h( g, hline, hpix, heline, hepix ); - - hactive = eactive; - save_h(); - } - } - g.dispose(); - } - - private int cline, ccolumn, cpix; - - void clickPosition( int x, int y ) - { - cline = (y / fontHeight) + sy; - - if (cline < 0) - { - cline = ccolumn = cpix = 0; - return; - } - - if (cline >= lines.size()) - { - cline = lines.size() - 1; - String whole = (String)lines.elementAt(cline); - ccolumn = whole.length(); - cpix = stringLength(whole) + EDGE; - return; - } - - x += sx; - - ccolumn = 0; - cpix = 0; - - if (x > EDGE) - { - String whole = (String)lines.elementAt(cline); - String part; - - ccolumn = whole.length(); - - if (( ccolumn > 0 ) && ( x < (cpix = stringLength(whole) + EDGE) )) - { - if (ccolumn > 10) - { - int delta = ccolumn / 5; - - do { - ccolumn -= delta; - if (ccolumn < 0) - { - ccolumn = 0; - part = null; - } - else - part = whole.substring(0,ccolumn); - } while (( ccolumn > 0 ) && ( x < (cpix = stringLength(part) + EDGE) )); - - ccolumn += delta; - } - - while (( ccolumn > 0 ) && ( x < (cpix = stringLength(whole) + EDGE) )) - whole = whole.substring(0,--ccolumn); - } - } - } - - private void flip_h(Graphics g, int sline, int spix, int eline, int epix) - { - int i; - int bx,ex,by; - - g.setXORMode(Color.white); - - if (eline >= sy + ny) - { - eline = sy + ny - 1; - epix = 5000; - } - - for (i = sline; i <= eline; i++) - { - by = (i - sy) * fontHeight; - bx = 0; - ex = 5000; - if (i == sline) - { - bx = spix - sx; - } - if (i == eline) - { - ex = epix - sx; - if (sline == eline) - ex -= bx; - } - g.fillRect(bx,by,ex,fontHeight); - } - } - - private void setup_h() - { - if ((line < eline) || ((line == eline) && (column <= ecolumn))) - { - hline = line; - hcolumn = column; - hpix = pix; - heline = eline; - hecolumn = ecolumn; - hepix = epix; - } - else - { - hline = eline; - hcolumn = ecolumn; - hpix = epix; - heline = line; - hecolumn = column; - hepix = pix; - } - } - - private void save_h() - { - opix = hpix; - oepix = hepix; - oline = hline; - oeline = heline; - hactive = eactive; - } - - public synchronized void mouseReleased(MouseEvent e) - { - if (!mouseDown) - return; - - mouseDown = false; - - if (textScroller != null) - { - textScroller.stop(); - textScroller = null; - } - removeMouseMotionListener(this); - eactive = ((eline != line) || (ecolumn != column)); - release_cursor(); - if (editMan != null) - editMan.updateCopyItems(eactive); - } - - public void mouseEntered(MouseEvent e) {} - public void mouseExited(MouseEvent e) {} - public void mouseClicked(MouseEvent e) {} - public void mouseMoved(MouseEvent e) {} - public void keyTyped(KeyEvent e) {} - public void keyReleased(KeyEvent e) {} - - private final int myMask = KeyEvent.CTRL_MASK | KeyEvent.META_MASK | KeyEvent.ALT_MASK; - - public void keyPressed(KeyEvent e) - { - int keyCode = e.getKeyCode(); - char keyChar; - int max; - String s; - - if (!gotFocus) - return; - - if ((e.getModifiers() & myMask) != 0) - return; - - if ((keyCode == e.VK_UP) && (line == 0)) - return; - - pause_cursor(); - - switch (keyCode) { - case e.VK_UP: - line--; - cursorAdjust(); - return; - case e.VK_DOWN: - line++; - cursorAdjust(); - return; - case e.VK_RIGHT: - column++; - cursorAdjust(); - return; - case e.VK_LEFT: - column--; - cursorAdjust(); - return; - default: - keyChar = e.getKeyChar(); - if (keyChar != KeyEvent.CHAR_UNDEFINED) - { - if (keyCode == KeyEvent.VK_ENTER) - { - if (hactive) - copy(true); - journal.split_line(line,column); - shiftVert(++line); - column = 0; - pix = EDGE; - shiftHoriz(0); - dirty = true; - repaint(); - return; - } - else - if (keyCode == KeyEvent.VK_BACK_SPACE) - { - if (hactive) - { - copy(true); - return; - } - if (column > 0) - { - journal.delete_prev_char(line,column); - column--; - redoLine(line,column+1); - return; - } - else - if (line > 0) - { - line--; - s = (String)lines.elementAt(line); - column = s.length(); - shiftHoriz(stringLength(s) + EDGE); - journal.join_line(line,column); - shiftVert(line); - dirty = true; - repaint(); - return; - } - } - else - if (keyCode == KeyEvent.VK_DELETE) - { - if (hactive) - { - copy(true); - return; - } - s = (String)lines.elementAt(line); - max = s.length(); - if (column < max) - { - journal.delete_next_char(line,column); - redoLine(line,column+1); - return; - } - else - if (line+1 < lines.size()) - { - journal.join_line(line,column); - dirty = true; - repaint(); - return; - } - } - else - if (keyCode != KeyEvent.VK_ESCAPE && - keyChar != '\n' && - keyChar != '\b') - { - if (hactive) - copy(true); - journal.insert_char(line,column,keyChar); - column++; - redoLine(line,column); - release_cursor(); - return; - } - } - } - release_cursor(); - } - - public void paste(String s) - { - int oldline; - int oldcolumn; - TextPosition tp; - - pause_cursor(); - - if (hactive) - copy(true); - - oldline = line; - oldcolumn = column; - - tp = journal.insert_section(line,column,s); - line = tp.line; - column = tp.column; - - pix = pix_at( line, column ); - shiftVert(line); - shiftHoriz(pix); - - if (oldline != line) - { - repaint(); - } - else - { - redoLine(oldline,oldcolumn+1); -// release_cursor(); - } - - dirty = true; - } - - int pix_at(int line, int column) - { - if (column == 0) - return EDGE; - else - return stringLength(((String)lines.elementAt(line)).substring(0, column)) + EDGE; - } - - public String copy(boolean cut) - { - String s; - int oldline; - int oldcolumn; - boolean paint = false; - - if (!hactive) - return null; - - if (hline == heline) - { - oldline = hline; - oldcolumn = hcolumn; - } - else - paint = true; - - s = journal.delete_section(hline, hcolumn, heline, hecolumn, cut); - - if (cut) - { - dirty = true; - line = hline; - column = hcolumn; - hactive = eactive = false; - - if (shiftVert(line)) - paint = true; - - pix = pix_at(line,column); - if (shiftHoriz(pix)) - paint = true; - - if (paint) - { - repaint(); - } - else - { - redoLine(line,column+1); -// release_cursor(); - } - - if (editMan != null) - editMan.updateCopyItems(eactive); - } - - return s; - } - - private void cursorAdjust() - { - int min, max; - boolean paint = false; - - if (eactive) - { - paint = true; - hactive = eactive = false; - if (editMan != null) - editMan.updateCopyItems(eactive); - } - - // straighten up lines first - - if (line < 0) - line = 0; - else - { - max = lines.size(); - - if (line >= max ) - line = max - 1; - } - - // straighten up columns - - if (column < 0) - column = 0; - else - { - max = ((String)lines.elementAt(line)).length(); - if (column > max) - column = max; - } - - // off page? - - if (shiftVert(line)) - paint = true; - - if (shiftHoriz(stringLength(((String)lines.elementAt(line)).substring(0, column)) + EDGE)) - paint = true; - - if (paint) - repaint(); - else - release_cursor(); - } - - private boolean shiftVert( int line ) - { - if (line < sy) - { - sy = line; - if (sy < 0) - sy = 0; - vert.setValue(sy); - return true; - } - - if (line >= sy+ny) - { - sy = line - ny + 1; - vert.setValue(sy); - return true; - } - - return false; - } - - private boolean shiftHoriz( int x ) - { - if (x <= sx) - { - sx = x - (dimension.width / 5); - - if (sx < 0) - sx = 0; - - horiz.setValue(sx); - return true; - } - - if (x >= sx + dimension.width) - { - sx = x - dimension.width + (dimension.width / 5); - horiz.setValue(sx); - return true; - } - - return false; - } - - - private void redoLine(int line, int column) - { - String s; - int x,y,height,width; - - s = (String)lines.elementAt(line); - - if (longest(s,line)) - redoControls(horiz.getValue(), vert.getValue(),false); - dirty = true; - updateFonts(null); - height = fontHeight; - y = (line - sy) * height; - String sub = s.substring(0, column-1); - x = stringLength(sub) + EDGE; - if (shiftHoriz(x)) - { - repaint(); - } - else - { - x = x - sx - EDGE; - width = dimension.width - x; - repaint(10, x, y, width, height); - } - - } - - public void componentHidden(ComponentEvent e) {} - public void componentShown(ComponentEvent e) {} - public void componentMoved(ComponentEvent e) {} - - public void componentResized(ComponentEvent e) - { - redoControls(horiz.getValue(), vert.getValue(),true); - } - - private void redoCanvas() - { - redoControls(horiz.getValue(), vert.getValue(),false); - } - - private void redoControls(int h, int v, boolean clear) - { - int maxline, maxpix, bubble; - - Graphics g = getGraphics(); - - if (g == null) - return; - - updateFonts(g); - - if (g != null) - { - dimension = getSize(); - - if (clear) - clear_area(g); - - maxpix = wpix; - bubble = dimension.width; - - if ( bubble > maxpix) - maxpix = bubble; - - if ( h > maxpix ) - h = maxpix; - - if ( maxpix > 0 ) - maxpix += 12; - - horiz.setValues(h, bubble, 0, maxpix); - - maxline = lines.size(); - - if ( maxline <= 0 ) - maxline = 10; - - bubble = ny = dimension.height / fontHeight; - - if (bubble > maxline) - bubble = maxline; - - if (v > maxline) - v = maxline; - - vert.setValues(v, bubble, 0, maxline); - repaint(); - - g.dispose(); - } - } - - private void appendLine(String s) - { - int count = lines.size(); - lines.insertElementAt( s, count ); - longest(s,count); - } - - private boolean longest(String s, int line) - { - int len = stringLength(s); - if (len > wpix) - { - wpix = (len * 5) / 4; - widest = line; - return true; - } - return false; - } - - private void resizeLines() - { - if (widest < lines.size()) - { - int len = stringLength((String)lines.elementAt(widest)); - if (len > wpix) - { - wpix = len; - redoControls(horiz.getValue(), vert.getValue(),false); - } - } - - if ((hline >= 0) && (hline < lines.size())) - opix = hpix = pix_at(hline,hcolumn); - - if ((heline >= 0) && (heline < lines.size())) - oepix = hepix = pix_at(heline,hecolumn); - } - - private int stringLength(String s) - { - if (fontMetrics == null) - return -1; - - return fontMetrics.stringWidth(detabbed(s)); - } - - private String detabbed(String s) - { - if (s.indexOf('\t') < 0) - return s; - - char c; - String t = new String(""); - int j=0; - int tabs; - int max = s.length(); - - for (int i=0; i 0) t = t + ' '; - } - else - { - t = t + c; - j++; - } - } - - return t; - } - - public boolean isDirty() - { - return dirty; - } - - public void getCursorPos(Graphics g, Rectangle r) - { - updateFonts(g); - r.width = 2; - r.height = fontHeight; - r.y = (line - sy) * r.height; - - if (column > 0) - { - String s = ((String)lines.elementAt(line)).substring(0, column); - r.x = stringLength(s) + EDGE - sx; - } - else - r.x = EDGE - sx; - } - - public void adjustmentValueChanged(AdjustmentEvent e) - { - pause_cursor(); - if (e.getSource() == horiz) - { - sx = e.getValue(); - horiz.setValue(sx); - } - else - if (e.getSource() == vert) - { - sy = e.getValue(); - vert.setValue(sy); - } - repaint(); - } - - private final int SLOW_READ = 2000; - private final int SLOW_WRITE = 10000; - - public void read(File file) - { - Progress readProgress = null; - boolean show_progress; - long max,part,all,tens; - String line; - - max = file.length(); - tens = max / 10; - part = all = 0; - show_progress = max > SLOW_READ; - - if (show_progress) - { - if (readProgress == null) - readProgress = new Progress(parent,"Reading file ... "); - - readProgress.show(); - } - - clear(); - - try - { - FileReader fr = new FileReader(file); - BufferedReader br = new BufferedReader(fr); - - while ( (line=br.readLine()) != null) - { - if (show_progress) - { - part += line.length(); - if (part > tens) - { - all += part; - readProgress.update( (int)(100 * all / max) ); - part = 0; - } - } - appendLine(line); - } - - br.close(); - fr.close(); - } - - catch (IOException e) - { - notify("Error - could not read file", NOACTION); - } - if (readProgress != null) - readProgress.dispose(); - } - - public void write(File file) - { - Progress writeProgress = null; - boolean show_progress; - long max,part,all,tens; - String line; - - max = lines.size(); - tens = max / 10; - part = all = 0; - show_progress = max > SLOW_WRITE; - - if (show_progress) - { - if (writeProgress == null) - writeProgress = new Progress(parent,"Writing file ... "); - - writeProgress.show(); - } - - try - { - FileWriter fw = new FileWriter(file); - BufferedWriter bw=new BufferedWriter(fw); - - for (int i=0;i tens) - { - all += part; - writeProgress.update( (int)(100 * all / max) ); - part = 0; - } - } - } - - bw.close(); - fw.close(); - - dirty = false; - } - - catch (IOException e) - { - notify("Error - could not write file", NOACTION); - } - if (writeProgress != null) - writeProgress.dispose(); - } - - public void update(Graphics g) - { - paint(g); - } - - public void paint(Graphics g) - { - int i; - Rectangle clip; - Rectangle curs = new Rectangle(); - - pause_cursor(); - - g.setPaintMode(); - updateFonts(g); - - i = lines.size(); - if (oldlines != i) - { - oldlines = i; - redoControls(horiz.getValue(), vert.getValue(),true); - } - - if (dimension == null) - dimension = getSize(); - - clip = g.getClipBounds(); - - i = clip.y / fontHeight; - - if ( clip.height / fontHeight == 1) - drawLine(g, sy + i); - else - for (i = 0; i < ny; i++) - drawLine(g,sy+i); - - release_cursor(); - } - - private synchronized void drawLine(Graphics g, int i) - { - int x,y,m; - int bx,ex; - String s; - Rectangle curs = null; - - g.setPaintMode(); - g.setColor(Color.black); - - x = EDGE-sx; - y = (i - sy + 1) * fontHeight; - m = fontHeight;// + fontDescent; - - if (hactive && (i > oline) && (i < oeline)) - g.fillRect(0,y-fontHeight,dimension.width,m); - else - g.clearRect(0,y-fontHeight,dimension.width,m); - - if (i >= lines.size()) - return; - - s = detabbed((String)lines.elementAt(i)); - - if (hactive && (i > oline) && (i < oeline)) - { - g.setColor(Color.white); - g.drawString(s, x, y-fontDescent); - g.setColor(Color.black); - } - else - g.drawString(s, x, y-fontDescent); - - if (hactive && ((i == oline) || (i == oeline))) - { - g.setXORMode(Color.white); - bx = 0; - ex = 5000; - if (i == oline) - { - bx = opix - sx; - } - if (i == oeline) - { - ex = oepix - sx; - if (oline == oeline) - ex -= bx; - } - g.fillRect(bx,y-fontHeight,ex,m); - } - } - - private void notify(String s, int action) - { - Note note = new Note(parent,s,action); - note.setVisible(true); - } -} diff --git a/environments/Momo/java/Momo/TextEdit/TextCursor.class b/environments/Momo/java/Momo/TextEdit/TextCursor.class deleted file mode 100644 index f6fa8c334458e7d5a92627e55063f4f8bb35ac30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1548 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 Jzj8o+=YMuh>`edw diff --git a/environments/Momo/java/Momo/TextEdit/TextEdit.java b/environments/Momo/java/Momo/TextEdit/TextEdit.java deleted file mode 100644 index 52c3673f04..0000000000 --- a/environments/Momo/java/Momo/TextEdit/TextEdit.java +++ /dev/null @@ -1,308 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.io.*; -import java.util.*; -import java.awt.event.*; - -import GAG.*; - -public class TextEdit extends Frame implements GAGtextEditor, NoteListener, WindowListener -{ - // The NoteListen member fuction of NoteListener is overridded to support - // the following actions. - - final private int NOACTION = 0; - final private int NEWFILE = 1; - final private int OPENFILE = 2; - final private int QUITAPP = 3; - - // allocate standard components of TextEdit as part of initialization: - - public File file = new File("GEANT4 LOG"); - - private String openPrompt = new String("Open text file"); - private String closePrompt = new String("Save file as"); - - // initialize some state flags - - private boolean neverNamed = true; - private boolean menuBusy = false; - - // these three .. no four! .. four objects form the main window - - private Scrollbar horiz; - private Scrollbar vert; - private TextCanvas textCanvas; - private TextMenu textMenu; - - // font - - private String fontString = new String("Serif"); - private int fontSize = 14; - private int tabSize = 4; - - // constructor puts together UI - - public TextEdit() { - this.setTitle(); - - vert = new Scrollbar(Scrollbar.VERTICAL); - add("East", vert); - horiz = new Scrollbar(Scrollbar.HORIZONTAL); - add("South", horiz); - - textCanvas = new TextCanvas(this,horiz,vert); - add("Center", textCanvas); - textCanvas.setFont(fontString,fontSize); - addKeyListener(textCanvas); - - textMenu = new TextMenu(this); - setMenuBar(textMenu); - - addWindowListener(this); - - setSize(600, 600); - setVisible(true); - try { Thread.sleep(400); } catch(InterruptedException e) {} - } - public void writeString(String s){ - textCanvas.writeString(s); - } - public void writeLine(String s){ - textCanvas.writeLine(s); - } - - // allow others to go straight to the canvas - public TextCanvas getCanvas() { - return textCanvas; - } - - // add current filename to window title - - private void setTitle(){ - super.setTitle("TextEdit - " + file.getName()); - } - - // add the 1.1 WindowListener stuff - - public void windowDeiconified(WindowEvent event) {} - public void windowIconified(WindowEvent event) {} - public void windowActivated(WindowEvent event) {} - public void windowDeactivated(WindowEvent event) {} - public void windowOpened(WindowEvent event) {} - public void windowClosed(WindowEvent event) {} - - public void windowClosing(WindowEvent event) { - if (isItSafe(QUITAPP)) - System.exit(0); - } - - // high level command processors (invoked my menu) - - public void setFont(String fs) { - fontString = fs; - textCanvas.setFont(fontString, fontSize); - } - - public void setFontSize(int s) { - fontSize = s; - textCanvas.setFont(fontString, fontSize); - } - - public void setTabSize(int s) { - tabSize = s; - textCanvas.setTab(tabSize); - } - - public int getTabSize() { - return tabSize; - } - - public void cmdFileNew() { - if (isItSafe(NEWFILE)) - newFile(); - } - - public void cmdFileOpen() { - if (isItSafe(OPENFILE)) - openFile(); - } - - public void cmdFileSave() { - saveFile(false); - } - - public void cmdFileSaveAs() { - saveFile(true); - } - - public void cmdPrint() { - textCanvas.print(file.getName()); - } - - public void cmdFileQuit() { - if (isItSafe(QUITAPP)) - System.exit(0); - } - - // if the file has been modified (dirty), fire off a notify dialog - // and pass it the "action" you want returned to noteListen. This - // dataflow beats the "modal dialog problem" on Windows - - // I believe isItSafe is what Laurence Olivier said repeatedly to - // Dustan Hoffman in Marathon Man. - - private boolean isItSafe(int action) { - if (textCanvas.isDirty()) - { - notify( "The current file has not been saved. ", action ); - return false; - } - else - return true; - } - - // implementation of the NoteListener interface - it does whatever - // action the user agreed to by pressing "Continue" on a modal dialog - - public void noteListen(int action) - { - switch (action) - { - case NOACTION: - break; - case NEWFILE: - newFile(); - break; - case OPENFILE: - openFile(); - break; - case QUITAPP: - System.exit(0); - break; - } - } - - // clear out the document - - private void newFile() - { - neverNamed = true; - file = new File("Untitled"); - this.setTitle(); - textCanvas.clear(); - textCanvas.validate(); - } - - // call getFile to get a file path, and if you get one open it - - private void openFile() - { - if (getFile(FileDialog.LOAD)) - openTheFile(); - } - - public void openTheFile() - { - textCanvas.read(file); - textCanvas.validate(); - neverNamed = false; - this.setTitle(); - } - - // call getFile to get a file path, and if you get one save to it - - private void saveFile(boolean As) - { - boolean ok; - - if (neverNamed || As) - { - ok = getFile(FileDialog.SAVE); - neverNamed = false; - } - else - ok = true; - - if (ok) - { - textCanvas.write(file); - neverNamed = false; - this.setTitle(); - } - } - - // use FileDialog to get a filepath - - private boolean getFile(int mode) - { - String prompt; - String filename; - String pathname; - - if (mode == FileDialog.LOAD) - prompt = openPrompt; - else - prompt = closePrompt; - - FileDialog d = new FileDialog(this, prompt, mode); - - if (mode == FileDialog.LOAD) - d.setFile("*"); - else - d.setFile(file.getName()); - - d.setDirectory("."); - d.setVisible(true); - - filename = d.getFile(); - - pathname = d.getDirectory() + filename; - - d.dispose(); - - if (filename != null) - { - file = new File(pathname); - return true; - } - else - return false; - } - - // launch a note - - private void notify(String s, int action) { - Note note = new Note(this,s,action); - note.setVisible(true); - } - - // main declares the TextEdit frame which does everything - - public static void main(String[] args) { - TextEdit f = new TextEdit(); - if (args.length > 0) { - f.file = new File(args[0]); - if (f.file.isFile()) - f.openTheFile(); - else - f.notify("File not found: "+args[0],0); - } - } -} diff --git a/environments/Momo/java/Momo/TextEdit/TextEdit.java.bak b/environments/Momo/java/Momo/TextEdit/TextEdit.java.bak deleted file mode 100644 index 1510fa618b..0000000000 --- a/environments/Momo/java/Momo/TextEdit/TextEdit.java.bak +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.io.*; -import java.util.*; -import java.awt.event.*; - -public class TextEdit extends Frame implements NoteListener, WindowListener -{ - // The NoteListen member fuction of NoteListener is overridded to support - // the following actions. - - final private int NOACTION = 0; - final private int NEWFILE = 1; - final private int OPENFILE = 2; - final private int QUITAPP = 3; - - // allocate standard components of TextEdit as part of initialization: - - public File file = new File("Untitled"); - - private String openPrompt = new String("Open text file"); - private String closePrompt = new String("Save file as"); - - // initialize some state flags - - private boolean neverNamed = true; - private boolean menuBusy = false; - - // these three .. no four! .. four objects form the main window - - private Scrollbar horiz; - private Scrollbar vert; - private TextCanvas textCanvas; - private TextMenu textMenu; - - // font - - private String fontString = new String("Courier"); - private int fontSize = 12; - private int tabSize = 4; - - // constructor puts together UI - - public TextEdit() { - this.setTitle(); - - vert = new Scrollbar(Scrollbar.VERTICAL); - add("East", vert); - horiz = new Scrollbar(Scrollbar.HORIZONTAL); - add("South", horiz); - - textCanvas = new TextCanvas(this,horiz,vert); - add("Center", textCanvas); - textCanvas.setFont(fontString,fontSize); - addKeyListener(textCanvas); - - textMenu = new TextMenu(this); - setMenuBar(textMenu); - - addWindowListener(this); - } - public void writeStr(String t){ - textCanvas.appendLine(t); - } - public void writeText(String t){ - textCanvas.appendLine(t); - } - - // allow others to go straight to the canvas - - public TextCanvas getCanvas() { - return textCanvas; - } - - // add current filename to window title - - private void setTitle(){ - super.setTitle("TextEdit - " + file.getName()); - } - - // add the 1.1 WindowListener stuff - - public void windowDeiconified(WindowEvent event) {} - public void windowIconified(WindowEvent event) {} - public void windowActivated(WindowEvent event) {} - public void windowDeactivated(WindowEvent event) {} - public void windowOpened(WindowEvent event) {} - public void windowClosed(WindowEvent event) {} - - public void windowClosing(WindowEvent event) { - if (isItSafe(QUITAPP)) - System.exit(0); - } - - // high level command processors (invoked my menu) - - public void setFont(String fs) { - fontString = fs; - textCanvas.setFont(fontString, fontSize); - } - - public void setFontSize(int s) { - fontSize = s; - textCanvas.setFont(fontString, fontSize); - } - - public void setTabSize(int s) { - tabSize = s; - textCanvas.setTab(tabSize); - } - - public int getTabSize() { - return tabSize; - } - - public void cmdFileNew() { - if (isItSafe(NEWFILE)) - newFile(); - } - - public void cmdFileOpen() { - if (isItSafe(OPENFILE)) - openFile(); - } - - public void cmdFileSave() { - saveFile(false); - } - - public void cmdFileSaveAs() { - saveFile(true); - } - - public void cmdPrint() { - textCanvas.print(file.getName()); - } - - public void cmdFileQuit() { - if (isItSafe(QUITAPP)) - System.exit(0); - } - - // if the file has been modified (dirty), fire off a notify dialog - // and pass it the "action" you want returned to noteListen. This - // dataflow beats the "modal dialog problem" on Windows - - // I believe isItSafe is what Laurence Olivier said repeatedly to - // Dustan Hoffman in Marathon Man. - - private boolean isItSafe(int action) { - if (textCanvas.isDirty()) - { - notify( "The current file has not been saved. ", action ); - return false; - } - else - return true; - } - - // implementation of the NoteListener interface - it does whatever - // action the user agreed to by pressing "Continue" on a modal dialog - - public void noteListen(int action) - { - switch (action) - { - case NOACTION: - break; - case NEWFILE: - newFile(); - break; - case OPENFILE: - openFile(); - break; - case QUITAPP: - System.exit(0); - break; - } - } - - // clear out the document - - private void newFile() - { - neverNamed = true; - file = new File("Untitled"); - this.setTitle(); - textCanvas.clear(); - textCanvas.validate(); - } - - // call getFile to get a file path, and if you get one open it - - private void openFile() - { - if (getFile(FileDialog.LOAD)) - openTheFile(); - } - - public void openTheFile() - { - textCanvas.read(file); - textCanvas.validate(); - neverNamed = false; - this.setTitle(); - } - - // call getFile to get a file path, and if you get one save to it - - private void saveFile(boolean As) - { - boolean ok; - - if (neverNamed || As) - { - ok = getFile(FileDialog.SAVE); - neverNamed = false; - } - else - ok = true; - - if (ok) - { - textCanvas.write(file); - neverNamed = false; - this.setTitle(); - } - } - - // use FileDialog to get a filepath - - private boolean getFile(int mode) - { - String prompt; - String filename; - String pathname; - - if (mode == FileDialog.LOAD) - prompt = openPrompt; - else - prompt = closePrompt; - - FileDialog d = new FileDialog(this, prompt, mode); - - if (mode == FileDialog.LOAD) - d.setFile("*"); - else - d.setFile(file.getName()); - - d.setDirectory("."); - d.setVisible(true); - - filename = d.getFile(); - - pathname = d.getDirectory() + filename; - - d.dispose(); - - if (filename != null) - { - file = new File(pathname); - return true; - } - else - return false; - } - - // launch a note - - private void notify(String s, int action) { - Note note = new Note(this,s,action); - note.setVisible(true); - } - - // main declares the TextEdit frame which does everything - - public static void main(String[] args) { - TextEdit f = new TextEdit(); - f.setSize(500, 400); - f.setVisible(true); - if (args.length > 0) { - f.file = new File(args[0]); - if (f.file.isFile()) - f.openTheFile(); - else - f.notify("File not found: "+args[0],0); - } - } -} - diff --git a/environments/Momo/java/Momo/TextEdit/TextJournal.class b/environments/Momo/java/Momo/TextEdit/TextJournal.class deleted file mode 100644 index 09bdc3ca1a30bac3dba0b238afcf0dd073d1f257..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5698 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 U@|rZtIk{QhBnTcPY;$nvzdt$fyZ`_I diff --git a/environments/Momo/java/Momo/TextEdit/TextJournal.java b/environments/Momo/java/Momo/TextEdit/TextJournal.java deleted file mode 100644 index 22a11ffe2b..0000000000 --- a/environments/Momo/java/Momo/TextEdit/TextJournal.java +++ /dev/null @@ -1,463 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.util.*; - -class TextJournal -{ - private TextCanvas canvas; // the parent - private Vector lines; // the document - private TextJournalItem journal; // the journal - private TextJournalItem undo_list; // where we are in undo - private TextJournalItem redo_list; // where we are in redo - - private boolean had_undo; - private boolean had_redo; - - private String lineSeparator; - - private final int REPLACE_LINE = 1; - private final int SPLIT_LINE = 2; - private final int JOIN_LINE = 3; - private final int INSERT = 4; - private final int DELETE = 5; - - public TextJournal(TextCanvas c, Vector v, String ls) - { - canvas = c; - lines = v; - lineSeparator = ls; - undo_list = redo_list = null; - had_undo = had_redo = false; - } - - public void clear() - { - undo_list = redo_list = null; - had_undo = had_redo = false; - } - - private void updateMenus() - { - boolean got_undo; - boolean got_redo; - - got_undo = undo_list != null; - got_redo = redo_list != null; - - if ((had_undo != got_undo) || (had_redo != got_redo)) - canvas.updateUndoItems(got_undo, got_redo); - - had_undo = got_undo; - had_redo = got_redo; - } - - public TextPosition undo() - { - TextJournalItem temp; - TextPosition tp = null; - - if (undo_list != null) - { - temp = undo_list; - undo_list = temp.next; - - switch (temp.action) - { - case REPLACE_LINE: - redo_line(temp); - break; - case SPLIT_LINE: - split_or_join(temp,true); - break; - case JOIN_LINE: - split_or_join(temp,false); - break; - case INSERT: - copy_or_cut(temp,true); - break; - case DELETE: - insert(temp); - break; - default:; - } - - tp = new TextPosition(temp.line,temp.column); - - temp.next = redo_list; - redo_list = temp; - } - - updateMenus(); - return tp; - } - - public TextPosition redo() - { - TextJournalItem temp; - TextPosition tp = null; - int line, column; - - if (redo_list != null) - { - temp = redo_list; - redo_list = temp.next; - - line = temp.line; - column = temp.column; - - switch (temp.action) - { - case REPLACE_LINE: - column = temp.text.length(); - redo_line(temp); - break; - case SPLIT_LINE: - split_or_join(temp,false); - column = 0; - break; - case JOIN_LINE: - split_or_join(temp,true); - break; - case INSERT: - insert(temp); - line = temp.eline; - column = temp.ecolumn; - break; - case DELETE: - copy_or_cut(temp,true); - break; - default:; - } - - tp = new TextPosition(line,column); - - temp.next = undo_list; - undo_list = temp; - } - - updateMenus(); - return tp; - } - - public void insert_char(int line, int column, char c) - { - String s; - - s = (String)lines.elementAt(line); - - remember_line(line,column,s); - - s = s.substring(0, column) + c + s.substring(column, s.length()); - lines.setElementAt(s,line); - } - - public void delete_prev_char(int line, int column) - { - String s; - - s = (String)lines.elementAt(line); - - remember_line(line,column,s); - - s = s.substring(0, column-1) + s.substring(column, s.length()); - lines.setElementAt(s,line); - } - - public void delete_next_char(int line, int column) - { - String s; - - s = (String)lines.elementAt(line); - - remember_line(line,column,s); - - s = s.substring(0, column) + s.substring(column+1, s.length()); - lines.setElementAt(s,line); - } - - private void remember_line(int line, int column, String s) - { - boolean new_line = true; - - if (undo_list != null) - new_line = (undo_list.action != REPLACE_LINE) || (undo_list.line != line); - - if (new_line) - { - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = REPLACE_LINE; - new_journal.line = line; - new_journal.column = column; - new_journal.text = new String(s); - new_journal.next = undo_list; - undo_list = new_journal; - } - - redo_list = null; - updateMenus(); - } - - private void redo_line(TextJournalItem i) - { - String s; - s = (String)lines.elementAt(i.line); - lines.setElementAt(i.text,i.line); - i.text = s; - } - - public void split_line(int line, int column) - { - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = SPLIT_LINE; - new_journal.line = line; - new_journal.column = column; - - split_or_join(new_journal,false); - - new_journal.next = undo_list; - undo_list = new_journal; - redo_list = null; - updateMenus(); - } - - public void join_line(int line, int column) - { - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = JOIN_LINE; - new_journal.line = line; - new_journal.column = column; - - split_or_join(new_journal,true); - - new_journal.next = undo_list; - undo_list = new_journal; - redo_list = null; - updateMenus(); - } - - public void split_or_join(TextJournalItem i, boolean join) - { - String s; - int line = i.line; - int column = i.column; - - if (join) - { - s = (String)lines.elementAt(line); - s = s.concat((String)lines.elementAt(line+1)); - lines.setElementAt(s,line); - lines.removeElementAt(line+1); - } - else - { - s = (String)lines.elementAt(line); - lines.setElementAt(s.substring(0,column),line); - lines.insertElementAt(s.substring(column,s.length()),++line); - } - } - - public TextPosition insert_section(int line, int column, String s) - { - int charCt; - int saveCt; - int charMax; - char c,c2; - String s2 = null; - TextPosition tp; - - // start creating journal item - - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = INSERT; - new_journal.text = new String(s); - new_journal.line = line; // starting line and column - new_journal.column = column; - - // insert the text - - tp = insert(new_journal); - - // finish creating journal entry - - new_journal.eline = tp.line; // updated line and column - new_journal.ecolumn = tp.column; - new_journal.next = undo_list; - undo_list = new_journal; - redo_list = null; - updateMenus(); - - return tp; - } - - public TextPosition insert(TextJournalItem i) - { - int line = i.line; - int column = i.column; - String s = i.text; - - int charCt; - int saveCt; - int charMax; - char c,c2; - String s2 = null; - - // insert the text - - charMax = s.length(); - charCt = saveCt = 0; - - while (charCt < charMax) - { - c = s.charAt(charCt); - charCt++; - if ((c == '\r') || (c == '\n')) - { - s2 = (String)lines.elementAt(line); - lines.setElementAt(s2.substring(0,column) + s.substring(saveCt,charCt-1),line); - lines.insertElementAt(s2.substring(column,s2.length()),++line); - column = 0; - if (charCt < charMax) - { - c2 = s.charAt(charCt); - if (((c == '\r') && (c2 == '\n')) || ((c2 == '\r') && (c == '\n'))) - charCt++; - } - saveCt = charCt; - } - } - - if (saveCt < charCt) - { - s2 = (String)lines.elementAt(line); - s = s.substring(saveCt,charCt); - if (column == 0) - s2 = s + s2; - else - s2 = s2.substring(0, column) + s + s2.substring(column, s2.length()); - column += s.length(); - lines.setElementAt(s2,line); - } - - return new TextPosition(line,column); - } - - public String delete_section(int line, int column, int eline, int ecolumn, boolean cut) - { - String text; - - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = DELETE; - new_journal.line = line; - new_journal.column = column; - new_journal.eline = eline; - new_journal.ecolumn = ecolumn; - - text = copy_or_cut(new_journal,cut); - - if (cut) - { - new_journal.text = new String(text); - new_journal.next = undo_list; - undo_list = new_journal; - redo_list = null; - updateMenus(); - } - - return text; - } - - private String copy_or_cut(TextJournalItem i, boolean cut) - { - String s,s2; - String text = null; - - int line = i.line; - int column = i.column; - int eline = i.eline; - int ecolumn = i.ecolumn; - - if (line == eline) - { - s = (String)lines.elementAt(line); - text = s.substring(column,ecolumn); - if (cut) - { - s = s.substring(0, column) + s.substring(ecolumn, s.length()); - lines.setElementAt(s,line); - } - } - else - { - s = (String)lines.elementAt(line); - text = s.substring(column,s.length()); - s = s.substring(0, column); - - int diff = eline - line; - int k = line + 1; - - for (int j = 1; j < diff; j++) - { - s2 = (String)lines.elementAt(k); - text = text + lineSeparator + s2; - if (cut) - lines.removeElementAt(k); - else - k++; - } - - if (k != lines.size()) - { - s2 = (String)lines.elementAt(k); - text = text + lineSeparator + s2.substring(0,ecolumn); - s = s + s2.substring(ecolumn,s2.length()); - if (cut) - lines.removeElementAt(k); - } - - if (cut) - lines.setElementAt(s,line); - } - - return text; - } - -} - -class TextJournalItem -{ - public TextJournalItem next; - public String text; - public int action; - public int line; - public int column; - public int eline; - public int ecolumn; -} diff --git a/environments/Momo/java/Momo/TextEdit/TextJournalItem.class b/environments/Momo/java/Momo/TextEdit/TextJournalItem.class deleted file mode 100644 index c1265cc788119a14169b191bc5117b2d62c89f02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 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 D3c@sT diff --git a/environments/Momo/java/Momo/TextEdit/TextMenu.java b/environments/Momo/java/Momo/TextEdit/TextMenu.java deleted file mode 100644 index 19cb617ddf..0000000000 --- a/environments/Momo/java/Momo/TextEdit/TextMenu.java +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.util.*; -import java.awt.*; -import java.awt.event.*; - -public class TextMenu extends MenuBar implements ActionListener { - // menus - private Menu fileMenu; - private Menu editMenu; - private Menu fontMenu; - private Menu sizeMenu; - private Menu helpMenu; - - // adaptors - private EditMan editMan; - private SizeMan sizeMan; - private FontMan fontMan; - - // allocate standard components of TextEdit as part of initialization: - private String newString = new String("New"); - private String openString = new String("Open"); - private String saveString = new String("Save"); - private String saveAsString = new String("Save As"); - private String printString = new String("Print"); - private String quitString = new String("Quit"); - private String aboutString = new String("About"); - - // remember who our parents are - - private TextEdit textEdit; - private TextCanvas textCanvas; - - // constructor puts together UI - - public TextMenu(TextEdit parent) { - super(); - - textEdit = parent; - textCanvas = textEdit.getCanvas(); - - CheckboxMenuItem cbi; - - editMan = new EditMan(parent); - sizeMan = new SizeMan(parent); - fontMan = new FontMan(parent); - - fileMenu = new Menu("File"); - fileMenu.add(new MenuItem(newString)); - fileMenu.add(new MenuItem(openString)); - fileMenu.add(new MenuItem(saveString)); - fileMenu.add(new MenuItem(saveAsString)); - fileMenu.addSeparator(); - fileMenu.add(new MenuItem(printString)); - //fileMenu.addSeparator(); - //fileMenu.add(new MenuItem(quitString)); - fileMenu.addActionListener(this); - add(fileMenu); - - editMenu = new Menu("Edit"); - editMan.addItems(editMenu); - add(editMenu); - - fontMenu = new Menu("Font"); - String[] fontNames = parent.getToolkit().getFontList(); - for (int i = 0; i < fontNames.length; i++) { - if (fontNames[i].equals("Courier")){ - cbi = add_checked(fontMenu, fontMan, fontNames[i]); - fontMan.remember(cbi); - }else{ - add_unchecked(fontMenu, fontMan, fontNames[i]); - } - } - add(fontMenu); - - sizeMenu = new Menu("Size"); - add_unchecked(sizeMenu, sizeMan, new String("10")); - add_unchecked(sizeMenu, sizeMan, new String("11")); - cbi = add_checked(sizeMenu, sizeMan, new String("12")); - sizeMan.remember(cbi); - add_unchecked(sizeMenu, sizeMan, new String("14")); - add_unchecked(sizeMenu, sizeMan, new String("16")); - add_unchecked(sizeMenu, sizeMan, new String("18")); - add_unchecked(sizeMenu, sizeMan, new String("36")); - add(sizeMenu); - - helpMenu = new Menu("Help"); - helpMenu.add(new MenuItem(aboutString)); - helpMenu.addActionListener(this); - setHelpMenu(helpMenu); - } - - private void add_unchecked( Menu menu, ItemListener adaptor, String string ) { - CheckboxMenuItem cbi; - - cbi = new CheckboxMenuItem(string); - cbi.addItemListener(adaptor); - menu.add(cbi); - } - - private CheckboxMenuItem add_checked( Menu menu, ItemListener adaptor, String string ) { - CheckboxMenuItem cbi; - - cbi = new CheckboxMenuItem(string); - cbi.addItemListener(adaptor); - cbi.setState(true); - menu.add(cbi); - return cbi; - } - - // action handler, part of std java event handling - - public void actionPerformed(ActionEvent evt) { - int i; - - Object source = evt.getSource(); - String cmd = evt.getActionCommand(); - - if (source == fileMenu) - doFile(cmd); - else - if (source == helpMenu) { - AboutDialog ab = new AboutDialog(textEdit); - ab.show(); - } - } - - private void doFile(String cmd){ - if (cmd.equals(newString)) - textEdit.cmdFileNew(); - else - if (cmd.equals(openString)) - textEdit.cmdFileOpen(); - else - if (cmd.equals(saveString)) - textEdit.cmdFileSave(); - else - if (cmd.equals(saveAsString)) - textEdit.cmdFileSaveAs(); - else - if (cmd.equals(printString)) - textEdit.cmdPrint(); - else - if (cmd.equals(quitString)) - textEdit.cmdFileQuit(); - } -} - -class AboutDialog extends Dialog implements WindowListener, ActionListener { - Button ok; - public AboutDialog(Frame parent) { - super(parent,"About TextEdit",true); - - Panel center = new Panel(new GridLayout(0,1)); - center.add(new Label("GAG v0.1alpha", Label.CENTER)); - center.add(new Label("Copyright (c) 1997 Toshiaki Kodama")); - center.add(new Label("Contact: toshiaki@naruto-u.ac.jp")); - center.add(new Label("This GAG includs TextEditi. (c) 1997 John Jensen")); - add("Center", center); - - Panel p = new Panel(); - ok = new Button("Ok"); - ok.addActionListener(this); - p.add(ok); - add("South",p); - //setSize(240,240); - pack(); - addWindowListener(this); - } - - // dispose on 'ok' - public void actionPerformed(ActionEvent event) { - if (event.getSource() == ok) - dispose(); - } - - // add the 1.1 WindowListener stuff - - public void windowDeiconified(WindowEvent event) {} - public void windowIconified(WindowEvent event) {} - public void windowActivated(WindowEvent event) {} - public void windowDeactivated(WindowEvent event) {} - public void windowOpened(WindowEvent event) {} - public void windowClosed(WindowEvent event) {} - public void windowClosing(WindowEvent event) { - dispose(); - } -} - -class SizeMan extends Object implements ItemListener { - // remember stuff - - private TextEdit textEdit; - private CheckboxMenuItem lastSize = null; - - // constructor puts together UI - - public SizeMan(TextEdit parent) { - textEdit = parent; - } - - public void remember( CheckboxMenuItem item ) { - if (lastSize != null) - lastSize.setState(false); - lastSize = item; - } - - public void itemStateChanged(ItemEvent evt) { - remember((CheckboxMenuItem)evt.getSource()); - String cmd = (String)evt.getItem(); - Integer size = new Integer(cmd); - textEdit.setFontSize(size.intValue()); - } -} - -final class FontMan extends Object implements ItemListener { - // remember stuff - - private TextEdit textEdit; - private CheckboxMenuItem lastTab = null; - - // constructor puts together UI - - public FontMan(TextEdit parent) { - textEdit = parent; - } - - public void remember( CheckboxMenuItem item ) { - if (lastTab != null) - lastTab.setState(false); - lastTab = item; - } - - public void itemStateChanged(ItemEvent evt) { - String cmd = (String)evt.getItem(); - remember((CheckboxMenuItem)evt.getSource()); - textEdit.setFont(cmd); - } -} diff --git a/environments/Momo/java/Momo/TextEdit/TextPosition.class b/environments/Momo/java/Momo/TextEdit/TextPosition.class deleted file mode 100644 index f38b4acca1c1668d2847ba50262bef0c096cc31d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339 zcmYjMO-sW-5Pj36jft_TA5}pQf+#hhId~N>r9z;nV99-(F0y5tm2@NhTONww!5`p{ z5@*GOhkY~e&Fsv)ukVjfc(}x2fZYK55nAYkAOsFJVr(Le(MJ;F013exToi=%AkSUw z+^9;~TY^6{GfCJQnrdl9WecGj=Fw5fe)bRlZx zIJZSlrm0JLr(Cr^kt;izDVw?E(JYl4M%eyOujb-a@G+&)&4PrRm!;+V zH1EX;TWSIP$hqN+H~d9nrxEj*)obqXI40>ky!2>|c6z*q|MvT#$G8KZ@s#llA+e{O>yqg<2rRQG9VKRGpuO zB+J(#pN9>u0>eq_97nP8#a>{d#edqR>VLe)zKX(7D24&!|EB9^90tozW~2d=@j@?+=B38HBgONMMG6rzn8`i2axo{^=U6G{;- zVu0=;VrAkfvQGH{+49OAteYfzl&5)fC@ID{$5q@)w6pXJ7if*;^V ziFZV(8FDY@afdtS>-+r^B^+VT#+r>y8{0N^95B=!;;EG37}#*phU;PjO&2}17)stj z$WZpKP3w9O{)9jALBdr$2y`x0d}@U1nN(7rlW~|m3Wnw|Q!~w#4tY`#b}r|Um}*HZ zgFU(!4d`cR`%;OUA{~qTj*k;Ew)`yONyu|)FqxeoEAmKONu!pap2| zp|f1-c03UgdHzws^Gu7Brc*8z&6(zB*%bS*==J8aP{%G>lt72j31N%+>Ic~U0u}$T y|B71a4fYGM4C_Xt$bbfFaM7f*0+Szw_jgB+IwMD=zd&_4R{bUGRJ$Zv*!ls_7)%xb diff --git a/environments/Momo/java/Momo/gag.java b/environments/Momo/java/Momo/gag.java deleted file mode 100644 index faee532326..0000000000 --- a/environments/Momo/java/Momo/gag.java +++ /dev/null @@ -1,15 +0,0 @@ -// GAG (Geant4 Adaptive GUI) -// Requires : JDK 1.1.3 (or later) + swing-1.0.2 -// Version : alpha 1998/Mar/30 -// GEANT4 GUI Group Toshiaki Kodama -// 1998 July 6 GEANT4 Beta-01 - -import GAG.GAG; - -public class gag { - public static void main(String args[]){ - GAG gag = new GAG(); - gag.mainLoop(args); - System.exit(0); - } -} diff --git a/environments/Momo/java/README.JAVAGAG b/environments/Momo/java/README.JAVAGAG deleted file mode 100644 index 2c8701a48a..0000000000 --- a/environments/Momo/java/README.JAVAGAG +++ /dev/null @@ -1,51 +0,0 @@ -README to use Java version of GAG. - -July 6 1998 - -See the README_Momo.html to install Momo/GAG. - -The current Java GAG is implemented with Swing (Java Foundation Class) -version 1.0.2. -This README explains only the different point due to Swing-1.0.2. - -(Swing1.x will be included as a standard in the JDK1.2. At present - under JDK1.1.x, however, Swing1.0 is provided as a separate kit.) - -You get the Swing1.0.2 jar file from http://java.sun.com. -After defreezing(gunzip) the tar file, you put only "swingall.jar" file -in your appropriate directory and set the CLASSPATH like; - - %setenv CLASSPATH .:$HOME/swing1.0/swingall.jar:$HOME/Momo/java/Momo/GAG.jar - - -Then you can invoke Java GAG directly by typing - - %java gag - - -You may see some warnings but they are the bugs in Java and -may cause no harm to execute GEANT binaries. - - -NOTICE!! - - Java GAG has been tested on JDK1.1.3 (Linux version) + Swing-1.0.2. -We had problem on JDK1.1.5 for Linux. If you have installed JDK1.1.5, -try - %java -debug gag - - - We have also tested on Solaris, with JDK-1.1.6 + Swing-1.0.2. -It works. - - - - - - - - - - - - diff --git a/environments/Momo/knownBugs_todoList b/environments/Momo/knownBugs_todoList deleted file mode 100644 index b6002f1a39..0000000000 --- a/environments/Momo/knownBugs_todoList +++ /dev/null @@ -1,33 +0,0 @@ - knownBugs and To do list - - Hajime YOSHIDA ----------------------------------------------------------------------- - - -December 4 1998 -- The problems below are solved. - - GAG (Java, Tcl/Tk) are protected against G4 binary with G4UIsession - - GAG has a simple interface to cin (@@Ask protocol). - More sophisticated interactivity will be added, if required. -July 22 1998 -- to accept GEANT4 executables which have been compiled with G4UIsession - session instance. (batch and G4UIGAG sessions are OK) -- to handle GEANT4's "cin" during its execution in a "canonical" way. - Currently it is accepted bu @@Ask protocol, in exampleN02. -- better treatment of path of macro files, specially in case of - nested macro files -- slowness of JAVA GAG -- adaptation to the coming JDK1.2 - -Apr 15, 98 -- With the current UI scheme, when two condition described below holds - for some parameter, then the current value is used instead of the - default value. - (i) the currentAsDefault flag is set for a parameter - (ii) a default value is not given for that parameter - On the other hand, GAG is designed to display the default value - when the "parameter input window" is displayed for the first time. - The small bug described here is that GAG does not handle - the special case of CurrentAsDefault described above. - This bug will be fixed before the next tag. - diff --git a/environments/Momo/tcltk/.Momo b/environments/Momo/tcltk/.Momo deleted file mode 100644 index c0fec64e2a..0000000000 --- a/environments/Momo/tcltk/.Momo +++ /dev/null @@ -1,4 +0,0 @@ -GUI_STYLE horizontal -GUI_POSITION left -FORE_GROUND_COLOR #000000000 -BACK_GROUND_COLOR #d90d90d90 diff --git a/environments/Momo/tcltk/.Momoext b/environments/Momo/tcltk/.Momoext deleted file mode 100644 index 4ea0eb088b..0000000000 --- a/environments/Momo/tcltk/.Momoext +++ /dev/null @@ -1,26 +0,0 @@ -#Momo Plug-in example -# An example of Momo/Tcl Plug-in -#1998 July 20 H Yoshida - -# A line starting with # is a comment line. -# An empty line is ignored. -# Momoseparator is a separation line between menu items. -# Any Unix X-window applications can be invoked by describing -# the command name and associated arguments. -# See the example below. -# Commands are executed in the background. -# But & is not necessary at the end of a line. - -#java GGE -#java gag - -xclock - -Momoseparator -xterm - -Momoseparator -netscape - - - diff --git a/environments/Momo/tcltk/.Momorc b/environments/Momo/tcltk/.Momorc deleted file mode 100644 index b193e187ce..0000000000 --- a/environments/Momo/tcltk/.Momorc +++ /dev/null @@ -1,5 +0,0 @@ -FONT -adobe-times-bold-r-normal--14-140-75-75-p-77-iso8859-1 -GUI_STYLE horizontal -GUI_POSITION left -FORE_GROUND_COLOR #000000000 -BACK_GROUND_COLOR #947fffc28 diff --git a/environments/Momo/tcltk/DefineColor.proc b/environments/Momo/tcltk/DefineColor.proc deleted file mode 100644 index dfa495211d..0000000000 --- a/environments/Momo/tcltk/DefineColor.proc +++ /dev/null @@ -1,382 +0,0 @@ -## DefineColor -## (Momo procedure) -# Define foreground and background Color of all widgets -## -## k.ohtubo(Tubocky) -## -## 1997.3.16 -## Tcl/Tk version 8.0 -## 1998 July 5 GEANT4 Beta-01 - -proc Define_Color {} { - global env FC FR FG FB BC BR BG BB - - if {![info exists FC]} { - if {[lsearch [array name env] FORE_GROUND_COLOR] >= 0} { - set FC $env(FORE_GROUND_COLOR) - Reset_Color F - } - } - - if {![info exists BC]} { - if {[lsearch [array name env] BACK_GROUND_COLOR] >= 0} { - set BC $env(BACK_GROUND_COLOR) - Reset_Color B - } - } - - if [winfo exists .dc] { - raise .dc - return - } - - toplevel .dc -highlightthickness 0 - wm title .dc "Define Colors" - - frame .dc.butt -highlightthickness 0 - pack .dc.butt -side top -fill x - - button .dc.butt.change -text "Change Color" -bd 3 \ - -highlightthickness 0 \ - -command { - Change_Color $FC $BC . - set env(FORE_GROUND_COLOR) $FC - set env(BACK_GROUND_COLOR) $BC - if [winfo exists .cf] { - Change_Color $FC $BC .cf - } - if [winfo exists .se] { - Change_Color $FC $BC .se - Put_Env - } - Make_Color .dc.fg.main.color - Make_Color .dc.bg.main.color - } - pack .dc.butt.change -side left - - button .dc.butt.default -text Default -bd 3 -highlightthickness 0 \ - -command { - set FR 0 - set FG 0 - set FB 0 - Make_Color .dc.fg.main.color - set BR 0.848 - set BG 0.848 - set BB 0.848 - Make_Color .dc.bg.main.color - } - pack .dc.butt.default -side left - - button .dc.butt.cancel -text Cancel -bd 3 -highlightthickness 0 \ - -command { - destroy .dc - } - pack .dc.butt.cancel -side left - - frame .dc.space -height 10 -highlightthickness 0 - pack .dc.space -side top - - - frame .dc.fg -highlightthickness 0 - pack .dc.fg -side top -fill both - - - frame .dc.fg.input -relief raised -bd 1 -highlightthickness 0 - pack .dc.fg.input -side top -fill x - - label .dc.fg.input.label -text Foreground: -highlightthickness 0 - pack .dc.fg.input.label -side left - - entry .dc.fg.input.ent -textvariable FC -state disabled -relief flat \ - -highlightthickness 0 - pack .dc.fg.input.ent -side left -fill x -expand 1 - - - frame .dc.fg.main -relief raised -bd 1 -highlightthickness 0 - pack .dc.fg.main -side top -fill x - - - frame .dc.fg.main.color -relief sunken -bd 1 -width 70 -height 40 \ - -highlightthickness 0 - pack .dc.fg.main.color -side left -padx 20 -pady 10 - - - frame .dc.fg.main.scale -highlightthickness 0 - pack .dc.fg.main.scale -side left -fill x -expand 1 - - - frame .dc.fg.main.scale.r -highlightthickness 0 - pack .dc.fg.main.scale.r -side top -fill x -expand 1 - - label .dc.fg.main.scale.r.label -text R -anchor w \ - -highlightthickness 0 - pack .dc.fg.main.scale.r.label -side left - - entry .dc.fg.main.scale.r.ent -width 5 -relief flat \ - -textvariable FR -highlightthickness 0 - pack .dc.fg.main.scale.r.ent -side left - - scale .dc.fg.main.scale.r.scale -from 0 -to 1 -resolution 0.01 \ - -variable FR -orient horizontal -showvalue false \ - -activebackground #fff000000 -troughcolor #bcd000000 \ - -command {Make_Color .dc.fg.main.color} \ - -highlightthickness 0 - pack .dc.fg.main.scale.r.scale -side left -fill x -expand 1 - - - frame .dc.fg.main.scale.g -highlightthickness 0 - pack .dc.fg.main.scale.g -side top -fill x -expand 1 - - label .dc.fg.main.scale.g.label -text G -anchor w \ - -highlightthickness 0 - pack .dc.fg.main.scale.g.label -side left - - entry .dc.fg.main.scale.g.ent -width 5 -relief flat \ - -textvariable FG -highlightthickness 0 - pack .dc.fg.main.scale.g.ent -side left - - scale .dc.fg.main.scale.g.scale -from 0 -to 1 -resolution 0.01 \ - -variable FG -orient horizontal -showvalue false \ - -activebackground #000fff000 -troughcolor #000bcd000 \ - -command {Make_Color .dc.fg.main.color} \ - -highlightthickness 0 - pack .dc.fg.main.scale.g.scale -side left -fill x -expand 1 - - - frame .dc.fg.main.scale.b -highlightthickness 0 - pack .dc.fg.main.scale.b -side top -fill x -expand 1 - - label .dc.fg.main.scale.b.label -text B -anchor w \ - -highlightthickness 0 - pack .dc.fg.main.scale.b.label -side left - - entry .dc.fg.main.scale.b.ent -width 5 -relief flat \ - -textvariable FB -highlightthickness 0 - pack .dc.fg.main.scale.b.ent -side left - - scale .dc.fg.main.scale.b.scale -from 0 -to 1 -resolution 0.01 \ - -variable FB -orient horizontal -showvalue false \ - -activebackground #000000fff -troughcolor #000000bcd \ - -command {Make_Color .dc.fg.main.color} \ - -highlightthickness 0 - pack .dc.fg.main.scale.b.scale -side left -fill x -expand 1 - - - frame .dc.between -height 10 -highlightthickness 0 - pack .dc.between -side top -fill x - - - frame .dc.bg -highlightthickness 0 - pack .dc.bg -side top -fill both - - - frame .dc.bg.input -relief raised -bd 1 -highlightthickness 0 - pack .dc.bg.input -side top -fill x - - label .dc.bg.input.label -text Background: -highlightthickness 0 - pack .dc.bg.input.label -side left - - entry .dc.bg.input.ent -textvariable BC -state disabled \ - -relief flat -highlightthickness 0 - pack .dc.bg.input.ent -side left -fill x -expand 1 - - - frame .dc.bg.main -relief raised -bd 1 -highlightthickness 0 - pack .dc.bg.main -side top -fill x - - - frame .dc.bg.main.color -relief sunken -bd 1 -width 70 -height 40 \ - -highlightthickness 0 - pack .dc.bg.main.color -side left -padx 20 -pady 10 - - - frame .dc.bg.main.scale -highlightthickness 0 - pack .dc.bg.main.scale -side left -fill x -expand 1 - - - frame .dc.bg.main.scale.r -highlightthickness 0 - pack .dc.bg.main.scale.r -side top -fill x -expand 1 - - label .dc.bg.main.scale.r.label -text R -anchor w \ - -highlightthickness 0 - pack .dc.bg.main.scale.r.label -side left - - entry .dc.bg.main.scale.r.ent -width 5 -relief flat \ - -textvariable BR -highlightthickness 0 - pack .dc.bg.main.scale.r.ent -side left - - scale .dc.bg.main.scale.r.scale -from 0 -to 1 -resolution 0.01 \ - -variable BR -orient horizontal -showvalue false \ - -activebackground #fff000000 -troughcolor #bcd000000 \ - -command {Make_Color .dc.bg.main.color} \ - -highlightthickness 0 - pack .dc.bg.main.scale.r.scale -side left -fill x -expand 1 - - - frame .dc.bg.main.scale.g -highlightthickness 0 - pack .dc.bg.main.scale.g -side top -fill x -expand 1 - - label .dc.bg.main.scale.g.label -text G -anchor w \ - -highlightthickness 0 - pack .dc.bg.main.scale.g.label -side left - - entry .dc.bg.main.scale.g.ent -width 5 -relief flat \ - -textvariable BG -highlightthickness 0 - pack .dc.bg.main.scale.g.ent -side left - - scale .dc.bg.main.scale.g.scale -from 0 -to 1 -resolution 0.01 \ - -variable BG -orient horizontal -showvalue false \ - -activebackground #000fff000 -troughcolor #000bcd000 \ - -command {Make_Color .dc.bg.main.color} \ - -highlightthickness 0 - pack .dc.bg.main.scale.g.scale -side left -fill x -expand 1 - - - frame .dc.bg.main.scale.b -highlightthickness 0 - pack .dc.bg.main.scale.b -side top -fill x -expand 1 - - label .dc.bg.main.scale.b.label -text B -anchor w \ - -highlightthickness 0 - pack .dc.bg.main.scale.b.label -side left - - entry .dc.bg.main.scale.b.ent -width 5 -relief flat \ - -textvariable BB -highlightthickness 0 - pack .dc.bg.main.scale.b.ent -side left - - scale .dc.bg.main.scale.b.scale -from 0 -to 1 -resolution 0.01 \ - -variable BB -orient horizontal -showvalue false \ - -activebackground #000000fff -troughcolor #000000bcd \ - -command {Make_Color .dc.bg.main.color} \ - -highlightthickness 0 - pack .dc.bg.main.scale.b.scale -side left -fill x -expand 1 - - -# Binding - foreach BIND {Return Tab Down Control-n} { - bind .dc.fg.main.scale.r.ent <$BIND> { - focus .dc.fg.main.scale.g.ent - } - bind .dc.fg.main.scale.g.ent <$BIND> { - focus .dc.fg.main.scale.b.ent - } - bind .dc.fg.main.scale.b.ent <$BIND> { - focus .dc.bg.main.scale.r.ent - } - - bind .dc.bg.main.scale.r.ent <$BIND> { - focus .dc.bg.main.scale.g.ent - } - bind .dc.bg.main.scale.g.ent <$BIND> { - focus .dc.bg.main.scale.b.ent - } - bind .dc.bg.main.scale.b.ent <$BIND> { - focus .dc.fg.main.scale.r.ent - } - } - - foreach BIND {Shift-Tab Up Control-p} { - bind .dc.fg.main.scale.r.ent <$BIND> { - focus .dc.bg.main.scale.b.ent - } - bind .dc.fg.main.scale.g.ent <$BIND> { - focus .dc.fg.main.scale.r.ent - } - bind .dc.fg.main.scale.b.ent <$BIND> { - focus .dc.fg.main.scale.g.ent - } - - bind .dc.bg.main.scale.r.ent <$BIND> { - focus .dc.fg.main.scale.b.ent - } - bind .dc.bg.main.scale.g.ent <$BIND> { - focus .dc.bg.main.scale.r.ent - } - bind .dc.bg.main.scale.b.ent <$BIND> { - focus .dc.bg.main.scale.g.ent - } - } - if {[lsearch [array names env] FONT] >= 0} { - Change_Font $env(FONT) .dc - } - Change_Color $env(FORE_GROUND_COLOR) $env(BACK_GROUND_COLOR) .dc - Win_Size .dc - wm resizable .dc 1 0 - Tab_off - Control -} - -# Make Color (RGB) -proc Make_Color {w args} { - switch $w { - .dc.fg.main.color { - global FC FR FG FB - regexp {^[0-9]+} [expr $FR * 4095] red - regexp {^[0-9]+} [expr $FG * 4095] green - regexp {^[0-9]+} [expr $FB * 4095] blue - set FC [format #%03x%03x%03x $red $green $blue] - $w configure -bg $FC - } - .dc.bg.main.color { - global BC BR BG BB - regexp {^[0-9]+} [expr $BR * 4095] red - regexp {^[0-9]+} [expr $BG * 4095] green - regexp {^[0-9]+} [expr $BB * 4095] blue - set BC [format #%03x%03x%03x $red $green $blue] - $w configure -bg $BC - } - } -} - -# Set Color(FG BG) value in environment variable -proc Set_Color {} { - global env FC BC - - set env(FORE_GROUND_COLOR) $FC - set env(BACK_GROUND_COLOR) $BC -} - -# Reset Color default value -proc Reset_Color SWITCH { - global FC FR FG FB BC BR BG BB - - switch $SWITCH { - F { - switch [string length $FC] { - 4 { scan $FC #%01x%01x%01x red green blue - set FR [expr [format %f $red] / 4095.0] - set FG [expr [format %f $green] / 4095.0] - set FB [expr [format %f $blue] / 4095.0] - } - 7 { scan $FC #%02x%02x%02x red green blue - set FR [expr [format %f $red] / 4095.0] - set FG [expr [format %f $green] / 4095.0] - set FB [expr [format %f $blue] / 4095.0] - } - 10 { scan $FC #%03x%03x%03x red green blue - set FR [expr [format %f $red] / 4095.0] - set FG [expr [format %f $green] / 4095.0] - set FB [expr [format %f $blue] / 4095.0] - } - } - } - B { - switch [string length $BC] { - 4 { scan $BC #%01x%01x%01x red green blue - set BR [expr [format %f $red] / 4095.0] - set BG [expr [format %f $green] / 4095.0] - set BB [expr [format %f $blue] / 4095.0] - } - 7 { scan $BC #%02x%02x%02x red green blue - set BR [expr [format %f $red] / 4095.0] - set BG [expr [format %f $green] / 4095.0] - set BB [expr [format %f $blue] / 4095.0] - } - 10 { scan $BC #%03x%03x%03x red green blue - set BR [expr [format %f $red] / 4095.0] - set BG [expr [format %f $green] / 4095.0] - set BB [expr [format %f $blue] / 4095.0] - } - } - } - } -} diff --git a/environments/Momo/tcltk/FBmain.proc b/environments/Momo/tcltk/FBmain.proc deleted file mode 100644 index e06ac0a57f..0000000000 --- a/environments/Momo/tcltk/FBmain.proc +++ /dev/null @@ -1,149 +0,0 @@ -## FBmain.proc -## (Momo procedure) -# File Browser main -## assumes MOMOPATH/tcltk/Momo/FBtext directories -# uses FBtext procs for file browser - -## -## k.ohtubo(Tubocky) -## -## 1998.3.16 -## Tcl/Tk version 8.0 -## 1998 July 5 GEANT4 Beta-01 - -proc FBmain {} { - global env FONT F_COLOR B_COLOR WISH HOME - - if [winfo exists .fbm] { - raise .fbm - focus .fbm.name.ent - return - } - - if {[lsearch [array name env] FONT] >= 0} { - set FONT $env(FONT) - } else { - set FONT "" - } - if {[lsearch [array name env] FORE_GROUND_COLOR] >= 0} { - set F_COLOR $env(FORE_GROUND_COLOR) - } else { - set F_COLOR #000000000 - } - if {[lsearch [array names env] BACK_GROUND_COLOR] >= 0} { - set B_COLOR $env(BACK_GROUND_COLOR) - } else { - set B_COLOR #d90d90d90 - } - - toplevel .fbm -highlightthickness 0 - - frame .fbm.butt -highlightthickness 0 - pack .fbm.butt -side top -fill x - - menubutton .fbm.butt.b0 -text Function -bd 3 -menu .fbm.butt.b0.func \ - -relief raised -highlightthickness 0 - pack .fbm.butt.b0 -side left -fill y - - menu .fbm.butt.b0.func -tearoff 0 - .fbm.butt.b0.func add command -label Clear -command { - .fbm.select.list see 0 - .fbm.select.list selection clear 0 end - focus .fbm.name.ent - .fbm.name.ent delete 0 end - set END [string length $env(HOME)] - set Path ~[string range $env(G_PATH) $END end] - .fbm.info.label1 configure -text $Path - Put_File_List .fbm - } - .fbm.butt.b0.func add separator - .fbm.butt.b0.func add command -label "Close File Browser" -command {destroy .fbm} - - - frame .fbm.info -highlightthickness 0 - pack .fbm.info -side top -fill x - - label .fbm.info.label0 -text Directory: -anchor w -highlightthickness 0 - pack .fbm.info.label0 -side left - - set END [string length $env(HOME)] - set Path ~[string range $env(G_PATH) $END end] - label .fbm.info.label1 -text $Path -anchor w -highlightthickness 0 - pack .fbm.info.label1 -side left -fill x -expand 1 - - - frame .fbm.name -highlightthickness 0 - pack .fbm.name -side top -fill x - - label .fbm.name.label -text "File Name" -anchor w -highlightthickness 0 - pack .fbm.name.label -side left - - entry .fbm.name.ent -highlightthickness 0 - pack .fbm.name.ent -side left -fill x -expand 1 - - - frame .fbm.select -highlightthickness 0 - pack .fbm.select -side top -fill both - - listbox .fbm.select.list -width 20 -height 20 \ - -yscrollcommand ".fbm.select.scroll set" -highlightthickness 0 - pack .fbm.select.list -side left -fill both -expand 1 - - scrollbar .fbm.select.scroll -command ".fbm.select.list yview" \ - -highlightthickness 0 - pack .fbm.select.scroll -side left -fill y - - -## Binding - - bind .fbm.select.list { - .fbm.name.ent delete 0 end - .fbm.name.ent insert end [selection get] - - set NAME [.fbm.name.ent get] - if [file isdirectory $env(G_PATH)/$NAME] { - Change_Path $NAME - set END [string length $env(HOME)] - set Path ~[string range $env(G_PATH) $END end] - .fbm.info.label1 configure -text $Path - .fbm.butt.b0.func invoke 1 - Put_File_List .fbm - } - } - bind .fbm.select.list { - set NAME [.fbm.name.ent get] - if {$NAME != ""} { - if [file executable $env(G_PATH)/$NAME] { - Message_Skeleton -icon warning -button O.K. \ - -message "Warning!\nCannot open." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - } elseif [file isfile $env(G_PATH)/$NAME] { - set env(FB_Open_File_Name) $env(G_PATH)/$NAME - exec $WISH $HOME/FBtext/FBtext.tcl & - } - } - } - - focus .fbm.name.ent - - Put_File_List .fbm - - - wm title .fbm "File Browser" - if {$FONT != ""} { - Change_Font $FONT .fbm - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .fbm - } - Win_Size .fbm - Tab_off - Del_Bind - Control -} diff --git a/environments/Momo/tcltk/FBtext/FBclear.proc b/environments/Momo/tcltk/FBtext/FBclear.proc deleted file mode 100644 index 4ecc8a084d..0000000000 --- a/environments/Momo/tcltk/FBtext/FBclear.proc +++ /dev/null @@ -1,61 +0,0 @@ -## FBclear -## (FBtext procedure) -# Clear Log - -## -## k.ohtubo(Tubocky) -## -## 1997.11.10 -## Tcl/Tk version 8.0 -## 1998 July 5 GEANT4 Beta-01 -## - -proc Clear_Log {} { - global FONT F_COLOR B_COLOR - if {![winfo exists .fbt.text]} { - Message_Skeleton -icon warning -button O.K. \ - -message "Warning!\nWhat's happen?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - return - } - - set RANGE [.fbt.text tag range sel] - if {$RANGE == ""} { - Message_Skeleton -icon question -button {Yes No} \ - -message "Check!\nClear all?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - .fbt.text delete 1.0 end - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - return - } else { - Message_Skeleton -icon question -button {Yes No} \ - -message "Check!\nClear marked part?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - .fbt.text tag remove sel 1.0 end - eval .fbt.text delete $RANGE - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - return - } -} diff --git a/environments/Momo/tcltk/FBtext/FBsavelog.proc b/environments/Momo/tcltk/FBtext/FBsavelog.proc deleted file mode 100644 index 4cc7885cd4..0000000000 --- a/environments/Momo/tcltk/FBtext/FBsavelog.proc +++ /dev/null @@ -1,287 +0,0 @@ -## GAGsavelog -## (FBtext procedure) -# check Before Save - -## -## k.ohtubo(Tubocky) -## -## 1998.3.16 -## Tcl/Tk version 8.0 -# 1998 July 5 GEANT4 Beta-01 -## Procedures - -proc Before_Save {} { - global SAVE_RANGE FONT F_COLOR B_COLOR - - if {![winfo exists .fbt.text]} { - Message_Skeleton -icon warning -button O.K. \ - -message "Warning!\nWhat's happen?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - return - } - - if {[.fbt.text tag range SEARCH_ALL_TAG] != ""} { - Message_Skeleton -icon question -button {O.K. Cancel} \ - -message "Save only searched strings." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - set SAVE_RANGE [.fbt.text tag range SEARCH_ALL_TAG] - Save_Window - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - } elseif {[.fbt.text tag range sel] != ""} { - Message_Skeleton -icon question -button {O.K. Cancel} \ - -message "Save only marked part." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - set SAVE_RANGE [.fbt.text tag range sel] - Save_Window - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - } else { - set SAVE_RANGE [list 0.0 [.fbt.text index end]] - Save_Window - } -} - -# make Save window -proc Save_Window {} { - if [winfo exists .sl] { - raise .sl - focus .sl.name.ent - return - } - - global FONT F_COLOR B_COLOR errorCode errorInfo env - - set DIR $env(G_PATH) - File_List_Skeleton .sl - - .sl.butt.b0 configure -text "Save Text" -command { - set Name [.sl.name.ent get] - if {$Name != ""} { - if [file isdirectory $env(G_PATH)/$Name] { - cd $Name - set END [string length $env(HOME)] - set PATH ~[string range $env(G_PATH) $END end] - .sl.info.label1 configure -text $PATH - .sl.butt.b1 invoke - Put_File_List .sl - } elseif [file executable $env(G_PATH)/$Name] { - Message_Skeleton -icon warning -button O.K. \ - -message "Warning!\n\"$Name\" is an executable file." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - } elseif [file isfile $env(G_PATH)/$Name] { - Message_Skeleton -icon question -button {Yes No} \ - -message "$Name: Overwrite?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - Save - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - } else { - Message_Skeleton -icon question -button {Yes No} \ - -message "$Name: New file?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - Save - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - } - } - } - - .sl.butt.b1 configure -text Clear -command { - .sl.select.list see 0 - .sl.select.list selection clear 0 end - focus .sl.name.ent - .sl.name.ent delete 0 end - set END [string length $env[HOME)] - set PATH ~[string range [pwd] $END end] - .sl.info.label1 configure -text $PATH - Put_File_List .sl - } - - .sl.butt.b2 configure -text Cancel -command { - destroy .sl - } - - -# Binding - - bind .sl.select.list { - if {![catch {selection get} GET]} { - if [file isdirectory $env(G_PATH)/$GET] { - Change_Path $GET - set END [string length $env(HOME)] - set PATH ~[string range $env(G_PATH) $END end] - .sl.info.label1 configure -text $PATH - .sl.butt.b1 invoke - Put_File_List .sl - } else { - .sl.name.ent delete 0 end - .sl.name.ent insert end $GET - } - } - if {$errorCode != "NONE"} { - set errorCode NONE - } - if {$errorInfo != ""} { - set errorInfo "" - } - } - - bind .sl.select.list { - set Name [.sl.name.ent get] - if {$Name != ""} { - if [file executable $env(G_PATH)/$Name] { - Message_Skeleton -icon warning -button O.K. \ - -message "Warning!\n\"$Name\" is an executable file." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - } elseif [file isfile $env(G_PATH)/$Name] { - Message_Skeleton -icon question -button {Yes No} \ - -message "$Name: Overwrite?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - Save - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - } else { - Message_Skeleton -icon question -button {Yes No} \ - -message "$Name: New file?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - Save - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - } - } - } - - bind .sl.select.list {} - - bind .sl.name.ent {.sl.butt.b0 invoke} - - bind .sl { - raise .sl - focus .sl.name.ent - } - - - wm title .sl "Save Log" - wm protocol .sl WM_DELETEWINDOW { - grab release .sl - Change_Path $DIR - } - Put_File_List .sl - if {$FONT != ""} { - Change_Font $FONT .sl - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .sl - } - Win_Size .sl - Tab_off - Control - grab set .sl -} - -# Save log -proc Save {} { - global SAVE_RANGE FONT F_COLOR B_COLOR errorCode errorInfo env - - if {![winfo exists .sl]} { - Message_Skeleton -icon warning -button O.K. \ - -message "Warning!\nWhat's happen?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - return - } - - set Name [.sl.name.ent get] - - if {![catch {open $env(G_PATH)/$Name w} file_ID]} { - set LENGTH [llength $SAVE_RANGE] - for {set i 0} {$i < $LENGTH} {incr i} { - puts $file_ID [.fbt.text get [lindex $SAVE_RANGE $i] [lindex $SAVE_RANGE [expr $i + 1]]] - incr i - } - close $file_ID - } else { - Message_Skeleton -icon warning -button O.K. \ - -message "Cannot open." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - } - - if {$errorCode != "NONE"} { - set errorCode NONE - } - if {$errorInfo != ""} { - set errorInfo "" - } -} diff --git a/environments/Momo/tcltk/FBtext/FBsearchstring.proc b/environments/Momo/tcltk/FBtext/FBsearchstring.proc deleted file mode 100644 index 58e7fd699d..0000000000 --- a/environments/Momo/tcltk/FBtext/FBsearchstring.proc +++ /dev/null @@ -1,411 +0,0 @@ -## FBsearchstring -## (FBtext procedure) -# make Search String window - -## -## k.ohtubo(Tubocky) -## -## 1997.3.16 -## Tcl/Tk version 8.0 -## 1998 July 5 GEANT4 Beta-01 -## -proc Search_String {} { - global FONT SEARCH REPLACE F_COLOR B_COLOR - - if {![winfo exists .fbt.text]} { - Message_Skeleton -icon warning -button O.K. \ - -message "Warning!\nWhat's happen?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - return - } - - - if [winfo exists .ss] { - raise .ss - focus .ss.ent.search - return - } - - - toplevel .ss -highlightthickness 0 - wm title .ss "Search String" - wm protocol .ss WM_DELETE_WINDOW { - .fbt.text tag remove SEARCH_TAG 1.0 end - .fbt.text tag remove SEARCH_ALL_TAG 1.0 end - destroy .ss - } - - frame .ss.butt -highlightthickness 0 - pack .ss.butt -side top -fill x - - button .ss.butt.b0 -text Search -bd 3 -highlightthickness 0 \ - -command { - if {[.ss.ent.search get] != ""} { - if {![Search]} { - set STRING [.ss.ent.search get] - Message_Skeleton -icon info -button O.K. \ - -message "$STRING:No match." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - } - } else { - Message_Skeleton -icon error -button O.K. \ - -message "Input String." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - } - } - button .ss.butt.b1 -text Replace -bd 3 -highlightthickness 0 \ - -command { - if {[.ss.ent.search get] != ""} { - if {[.ss.ent.replace get] != ""} { - Message_Skeleton -icon question -button {Yes No} \ - -message "Chack!\nDelete [.ss.ent.search get]?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - Replace - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - } - } else { - Message_Skeleton -icon error -button O.K. \ - -message "Input String." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - } - } - - menubutton .ss.butt.b2 -text Option -menu .ss.butt.b2.set \ - -relief raised -bd 3 -highlightthickness 0 - - menu .ss.butt.b2.set -tearoff 0 - .ss.butt.b2.set add cascade -label Search -menu .ss.butt.b2.set.search - .ss.butt.b2.set add cascade -label Replace \ - -menu .ss.butt.b2.set.replace - - menu .ss.butt.b2.set.search -tearoff 0 - .ss.butt.b2.set.search add radiobutton -label Up \ - -variable SEARCH -value Up - .ss.butt.b2.set.search add radiobutton -label Down \ - -variable SEARCH -value Down - - menu .ss.butt.b2.set.replace -tearoff 0 - .ss.butt.b2.set.replace add radiobutton -label "Only One" \ - -variable REPLACE -value One - .ss.butt.b2.set.replace add radiobutton -label "About All" \ - -variable REPLACE -value All - - button .ss.butt.b3 -text Clear -bd 3 -highlightthickness 0 \ - -command { - .ss.ent.search delete 0 end - .ss.ent.replace delete 0 end - .fbt.text tag remove SEARCH_TAG 1.0 end - .fbt.text tag remove SEARCH_ALL_TAG 1.0 end - focus .ss.ent.search - .fbt.text see end - } - button .ss.butt.b4 -text Cancel -bd 3 -highlightthickness 0 \ - -command { - if [winfo exists .ss] {destroy .ss} - .fbt.text tag remove SEARCH_TAG 1.0 end - .fbt.text tag remove SEARCH_ALL_TAG 1.0 end - } - - pack .ss.butt.b0 .ss.butt.b1 .ss.butt.b2 .ss.butt.b3 .ss.butt.b4 \ - -side left -fill x - - - frame .ss.space -highlightthickness 0 - pack .ss.space -side top -fill both -expand 1 - - - frame .ss.label -highlightthickness 0 - pack .ss.label -side left - - label .ss.label.search -text Search -anchor w \ - -highlightthickness 0 - pack .ss.label.search -side top -fill x - - label .ss.label.replace -text Replace -anchor w \ - -highlightthickness 0 - pack .ss.label.replace -side top -fill x - - - frame .ss.ent -highlightthickness 0 - pack .ss.ent -side left -fill x -expand 1 - - entry .ss.ent.search -highlightthickness 0 - pack .ss.ent.search -side top -fill x - - entry .ss.ent.replace -highlightthickness 0 - pack .ss.ent.replace -side top -fill x - - - focus .ss.ent.search - Tab_off - Control - - foreach BIND {Return Tab Shift-Tab Down Control-n} { - bind .ss.ent.search <$BIND> {focus .ss.ent.replace} - } - foreach BIND {Return Tab Shift-Tab Up Control-p} { - bind .ss.ent.replace <$BIND> {focus .ss.ent.search} - } - - if {$FONT != ""} { - Change_Font $FONT .ss - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .ss - } - Win_Size .ss - wm resizable .ss 1 0 -} - -# Search string on FBtext window -proc Search {} { - global SEARCH FONT F_COLOR B_COLOR - - if {![winfo exists .ss.ent.search]} { - Message_Skeleton -icon warning -button O.K. \ - -message "Warning!\nWhat's happen?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - return 1 - } - - - .fbt.text tag remove SEARCH_ALL_TAG 1.0 end - .fbt.text tag configure SEARCH_ALL_TAG \ - -foreground #fffffffff -background #000000000 - set CURSOL [.fbt.text index insert] - set CUR 1.0 - set STRING [.ss.ent.search get] - if {$STRING != ""} { - while {[set CUR [.fbt.text search -count LENGTH -regexp --\ - $STRING $CUR end]] != ""} { - .fbt.text tag add SEARCH_ALL_TAG \ - $CUR "$CUR + $LENGTH char" - set CUR [.fbt.text index "$CUR + $LENGTH char"] - } - } - .fbt.text index $CURSOL - - switch $SEARCH { - Up { - if [Search_Up] { - return 1 - } else { - return 0 - } - } - Down { - if [Search_Down] { - return 1 - } else { - return 0 - } - } - default { - Message_Skeleton -icon error -button O.K. \ - -message "Click \"Option\" button.\nAnd check search up or down." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - return 1 - } - } -} - -# Search mode is "up" -proc Search_Up {} { - .fbt.text tag remove SEARCH_TAG 1.0 end - .fbt.text tag configure SEARCH_TAG \ - -foreground #fffffffff -background #ccc000000 - - set CURSOL [.fbt.text index insert] - set STRING [.ss.ent.search get] - set STOP 1.0 - - set INDEX [.fbt.text search -backwards \ - -count LENGTH -regexp -- $STRING $CURSOL $STOP] - - if {$INDEX != ""} { - scan $INDEX %d.%d LINE HEAD - set TAIL [expr $HEAD + $LENGTH] - .fbt.text tag add SEARCH_TAG $LINE.$HEAD $LINE.$TAIL - .fbt.text mark set insert $LINE.$HEAD - .fbt.text yview -pickplace insert - } else { - .fbt.text mark set insert 1.0 - return 0 - } - return 1 -} - -# Search mode is "down" -proc Search_Down {} { - .fbt.text tag remove SEARCH_TAG 1.0 end - .fbt.text tag configure SEARCH_TAG \ - -foreground #fffffffff -background #ccc000000 - - set CURSOL [.fbt.text index insert] - set STRING [.ss.ent.search get] - set STOP [.fbt.text index end] - - set INDEX [.fbt.text search -count LENGTH -regexp \ - -- $STRING $CURSOL $STOP] - - if {$INDEX != ""} { - scan $INDEX %d.%d LINE HEAD - set TAIL [expr $HEAD + $LENGTH] - .fbt.text tag add SEARCH_TAG $LINE.$HEAD $LINE.$TAIL - .fbt.text mark set insert $LINE.$TAIL - .fbt.text yview -pickplace insert - } else { - .fbt.text mark set insert end - return 0 - } - return 1 -} - -# Replace string on FBtext window -proc Replace {} { - global REPLACE FONT F_COLOR B_COLOR errorCode errorInfo - - if {![winfo exists .ss.ent.replace]} { - Message_Skeleton -icon warning -button O.K. \ - -message "Warning!\nWhat's happen?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - return - } - - set STRING [.ss.ent.search get] - - switch $REPLACE { - One { - if {![Replace_One]} { - Message_Skeleton -icon info -button O.K. \ - -message "$STRING:No match." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command {destroy .msgskeleton} - } - } - All { - Message_Skeleton -icon question -button {Yes No} \ - -message "Check!\nReplace all?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - destroy .msgskeleton - Replace_All - } - .msgskeleton.butt.1 configure -command {destroy .msgskeleton} - } - default { - Message_Skeleton -icon warning -button O.K. \ - -message "Click \"Option\" button.\nAnd check replace one or all." - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 conigure -command {destroy .msgskeleton} - } - } -} - -# Replace mode is "one" -proc Replace_One {} { - if {[set RANGE [.fbt.text tag range SEARCH_TAG]] == ""} { - if {![Search]} { - return 0 - } else { - return 1 - } - } - - if {[.ss.ent.search get] != [eval ".fbt.text get $RANGE"]} { - if {![Search]} { - return 0 - } else { - set RANGE [.fbt.text tag range SEARCH_TAG] - } - } - - .fbt.text tag remove SEARCH_TAG 1.0 end - eval .fbt.text delete $RANGE - set INSERT [lindex [split $RANGE] 0] - - if {![catch {.ss.ent.replace get} STRING]} { - .fbt.text insert $INSERT $STRING - scan $INSERT %d.%d LINE HEAD - set TAIL [expr [string length $STRING] + $HEAD] - .fbt.text tag add SEARCH_TAG $LINE.$HEAD $LINE.$TAIL - if {![Search]} {return 0} - } - if {$errorCode != "NONE"} { - set errorCode NONE - } - if {$errorInfo != ""} { - set errorInfo "" - } - return 1 -} - -# Replace mode is "all" -proc Replace_All {} { - while {[Replace_One] != 0} {} -} diff --git a/environments/Momo/tcltk/FBtext/FBtext.tcl b/environments/Momo/tcltk/FBtext/FBtext.tcl deleted file mode 100644 index 095c773704..0000000000 --- a/environments/Momo/tcltk/FBtext/FBtext.tcl +++ /dev/null @@ -1,159 +0,0 @@ -## FBtext.tcl -## Window Manager -## called by FBmain.proc -## -## k.ohtubo(Tubocky) -## -## 1998.3.16 -## Tcl/Tk version 8.0 -## 1998 July 5 GEANT4 Beta-01 - -wm title . "File Browser Text" - -## Set global variable -if [info exists env(MOMOPATH)] { - set END [expr [string length $env(MOMOPATH)] - 1] - if {[string index $env(MOMOPATH) $END] == "/"} { - set HOME [strinf range $env(MOMOPATH) 0 [expr $END - 1]] - } else { - set HOME $env(MOMOPATH) - } -} else { - set HOME $env(HOME)/Momo/tcltk -} -set FILE $env(FB_Open_File_Name) -if {[lsearch [array names env] FONT] >= 0} { - set FONT $env(FONT) -} else { - set FONT "" -} -if {[lsearch [array names env] FORE_GROUND_COLOR] >= 0} { - set F_COLOR $env(FORE_GROUND_COLOR) -} else { - set F_COLOR #000000000 -} -if {[lsearch [array names env] BACK_GROUND_COLOR] >= 0} { - set B_COLOR $env(BACK_GROUND_COLOR) -} else { - set B_COLOR #d90d90d90 -} -set SEARCH Down -set REPLACE One -set errorCode NONE -set errorInfo "" - - -## tclIndex -set auto_path [linsert $auto_path 0 $HOME/] -set auto_path [linsert $auto_path 0 $HOME/FBtext/] - - -## Source -#source $HOME/FBtext/FBsearchstring.proc -#source $HOME/FBtext/FBclear.proc -#source $HOME/FBtext/FBsavelog.proc - - -## Make window -frame .butt -highlightthickness 0 -pack .butt -side top -fill x - -menubutton .butt.func -text Function -bd 3 -menu .butt.func.menu \ - -relief raised -highlightthickness 0 -pack .butt.func -side left -fill y - -menu .butt.func.menu -tearoff 0 -.butt.func.menu add command -label Clear -command Clear_Log -.butt.func.menu add command -label Save -command Before_Save -.butt.func.menu add command -label Search -command Search_String -.butt.func.menu add separator -.butt.func.menu add command -label "Exit File Browser Text" -command exit - - -frame .dir -highlightthickness 0 -pack .dir -side top -fill x - -label .dir.lbl -text Directory: -anchor w -highlightthickness 0 -pack .dir.lbl -side left - -set END [string length $env(HOME)] -set Path ~[string range [pwd] $END end] -label .dir.lbr -text $Path -anchor w -highlightthickness 0 -pack .dir.lbr -side left -fill x -expand 1 - - -frame .file -highlightthickness 0 -pack .file -side top -fill x - - -label .file.lb -text "Load File:" -anchor w -highlightthickness 0 -pack .file.lb -side left - -entry .file.ent -highlightthickness 0 -pack .file.ent -side left -fill x -expand 1 - - -frame .fbt -highlightthickness 0 -pack .fbt -side top -fill both -expand 1 - -text .fbt.text -width 80 -height 15 -bd 2 -yscrollcommand {.fbt.scroll set} \ - -highlightthickness 0 -pack .fbt.text -side left -fill both -expand 1 - -scrollbar .fbt.scroll -command {.fbt.text yview} -highlightthickness 0 -pack .fbt.scroll -side left -fill y - - -frame .info -highlightthickness 0 -pack .info -side top -fill x - - -frame .info.lbl -highlightthickness 0 -pack .info.lbl -side left - -label .info.lbl.info -text Information -anchor w \ - -highlightthickness 0 -pack .info.lbl.info -side top -fill x - - -frame .info.lbr -highlightthickness 0 -pack .info.lbr -side left -fill x -expand 1 - -label .info.lbr.info -relief sunken -anchor w -highlightthickness 0 -pack .info.lbr.info -side top -fill x -expand 1 - - -if {$FONT != ""} { - Change_Font $FONT . -} -if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR . -} - -Tab_off -Win_Size . -Del_Bind -Control - - -if {[file readable $FILE] && [file writable $FILE]} { - .info.lbr.info configure -text "This file is readable & writable." - set FILE_ID [open $FILE r] - .fbt.text insert end [read $FILE_ID] - close $FILE_ID -} elseif [file readable $FILE] { - .info.lbr.info configure -text "This file is readable." - set FILE_ID [open $FILE r] - .fbt.text insert end [read $FILE_ID] - - .fbt.text configure -state disabled - .butt.func.menu entryconfigure 0 -state disabled - .butt.func.menu entryconfigure 1 -state disabled - - close $FILE_ID -} else { - .info.lbr.info configure -text "This file is not readable." -} - -.file.ent insert end $FILE -.file.ent configure -state disabled diff --git a/environments/Momo/tcltk/FBtext/MEMO b/environments/Momo/tcltk/FBtext/MEMO deleted file mode 100644 index 0d585ac234..0000000000 --- a/environments/Momo/tcltk/FBtext/MEMO +++ /dev/null @@ -1,29 +0,0 @@ -## global variable -env -FONT -F_COLOR -B_COLOR -SAVE_RANGE -SEARCH -REPLACE -errorCode -errorInfo - - -## procedures -#FBclear.proc -Clear_Log - -#FBsavelog.proc -Before_Save -Save_Window -Save - -#FBsearchstring.proc -Search_String -Search -Search_Up -Search_Down -Replace -Replace_One -Replace_All diff --git a/environments/Momo/tcltk/FBtext/tclIndex b/environments/Momo/tcltk/FBtext/tclIndex deleted file mode 100644 index ee509347c0..0000000000 --- a/environments/Momo/tcltk/FBtext/tclIndex +++ /dev/null @@ -1,19 +0,0 @@ -# Tcl autoload index file, version 2.0 -# This file is generated by the "auto_mkindex" command -# and sourced to set up indexing information for one or -# more commands. Typically each line is a command that -# sets an element in the auto_index array, where the -# element name is the name of a command and the value is -# a script that loads the command. - -set auto_index(Clear_Log) [list source [file join $dir FBclear.proc]] -set auto_index(Search_String) [list source [file join $dir FBsearchstring.proc]] -set auto_index(Search) [list source [file join $dir FBsearchstring.proc]] -set auto_index(Search_Up) [list source [file join $dir FBsearchstring.proc]] -set auto_index(Search_Down) [list source [file join $dir FBsearchstring.proc]] -set auto_index(Replace) [list source [file join $dir FBsearchstring.proc]] -set auto_index(Replace_One) [list source [file join $dir FBsearchstring.proc]] -set auto_index(Replace_All) [list source [file join $dir FBsearchstring.proc]] -set auto_index(Before_Save) [list source [file join $dir FBsavelog.proc]] -set auto_index(Save_Window) [list source [file join $dir FBsavelog.proc]] -set auto_index(Save) [list source [file join $dir FBsavelog.proc]] diff --git a/environments/Momo/tcltk/GAG/GAG.tcl b/environments/Momo/tcltk/GAG/GAG.tcl deleted file mode 100644 index 2363465736..0000000000 --- a/environments/Momo/tcltk/GAG/GAG.tcl +++ /dev/null @@ -1,256 +0,0 @@ -## GAG.tcl -## GAG Window Manager -## -## k.ohtubo(Tubocky) -## -## 1998.3.16 - -## 1998 July 5 Hajime -# added "Exit GEANT4" and "Kill GEANT4" menus -# yet to debug for invokation of non-GEANT4 executables -# which hangs the pipe. -# Non GEANT4 command which is suspended can be killed by the -# new "Kill GEANT4" menu. -## 1998 July 20 Hajime -# renamed Exec GEANT4 => Run GEANT4 -# added Continue GEANT4 -## Tcl/Tk version 8.0 -## 1998 July 5 GEANT4 Beta-01 -## 1998 December 3 Beta-03 Added protection against G4 binaries with -# G4UIterminal session -# -# MOMOPATH/tcltk/Momo/GAG - -wm title . GAG -wm protocol . WM_DELETE_WINDOW { - .mbutt.function.command invoke last -} - -## Set global variable -if [info exists env(MOMOPATH)] { - set END [expr [string length $env(MOMOPATH)] - 1] - if {[string index $env(MOMOPATH) $END] == "/"} { - set HOME [string range $env(MOMOPATH) 0 [expr $END - 1]] - } else { - set HOME $env(MOMOPATH) - } -} else { - set HOME $env(HOME)/Momo/tcltk -} -if {[lsearch [array names env] FONT] >= 0} { - set FONT $env(FONT) -} else { - set FONT "" -} -set PROMPT "GAG> " -set Protocol "T1.0a" -if {[lsearch [array names env] FORE_GROUND_COLOR] >= 0} { - set F_COLOR $env(FORE_GROUND_COLOR) -} else { - set F_COLOR #000000000 -} -if {[lsearch [array names env] BACK_GROUND_COLOR] >= 0} { - set B_COLOR $env(BACK_GROUND_COLOR) -} else { - set B_COLOR #d90d90d90 -} -if {![info exists env(G_PATH)]} { - set env(G_PATH) $env(PWD) -} -set SEARCH Down -set REPLACE One -set HISTORY "" -set errorCode NONE -set errorInfo "" - -## Source -#source $HOME/GAG/GAGclearlog.proc -#source $HOME/GAG/GAGconnect.proc -#source $HOME/GAG/GAGdirectory.proc -#source $HOME/GAG/GAGparam.proc -#source $HOME/GAG/GAGsavelog.proc -#source $HOME/GAG/GAGsearchstring.proc -#source $HOME/Public.proc - -## tclIndex -set auto_path [linsert $auto_path 0 $HOME/] -set auto_path [linsert $auto_path 0 $HOME/GAG/] - -## Make window -. configure -highlightthickness 0 - -frame .mbutt -relief raised -bd 1 -highlightthickness 0 -pack .mbutt -side top -fill x - -menubutton .mbutt.function -text Function -relief raised -bd 3 \ - -menu .mbutt.function.command -highlightthickness 0 -pack .mbutt.function -side left - -menu .mbutt.function.command -tearoff 0 -.mbutt.function.command add command -label "Run GEANT4" -command Directory -.mbutt.function.command add command -label "Continue" -command { - puts $GEANT_ID continue - .log.text insert end continue\n} -## GEANT4_ID is not yet checked 720 - -.mbutt.function.command add command -label "Exit GEANT4" -command { - Message_Skeleton -icon question -button {Yes No} \ - -message "Do you exit GEANT4?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - catch {puts $GEANT_ID exit} - destroy .msgskeleton -## exit - } - .msgskeleton.butt.1 configure -command { - destroy .msgskeleton - } -} -.mbutt.function.command add command -label "Kill GEANT4" -command { - Message_Skeleton -icon question -button {Yes No} \ - -message "Do you really kill GEANT4?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { -##test - set PID [pid $GEANT_ID] - catch {exec kill $PID} - destroy .msgskeleton -## exit - } - .msgskeleton.butt.1 configure -command { - destroy .msgskeleton - } -} - -.mbutt.function.command add separator - -.mbutt.function.command add command -label "Command History" -command Command_History -.mbutt.function.command add separator - -.mbutt.function.command add command -label "Save Log" -command Before_Save -.mbutt.function.command add command -label "Search Log" \ - -command Search_String -.mbutt.function.command add command -label "Clear Log" -command Clear_Log - -.mbutt.function.command add separator -.mbutt.function.command add command -label "Exit GAG" -command { - Message_Skeleton -icon question -button {Yes No} \ - -message "Do you exit GAG?" - if {$FONT != ""} { - Change_Font $FONT .msgskeleton - } - if {$F_COLOR != "" && $B_COLOR != ""} { - Change_Color $F_COLOR $B_COLOR .msgskeleton - } - .msgskeleton.butt.0 configure -command { - catch {puts $GEANT_ID exit} - catch {close $GEANT_ID} - destroy .msgskeleton - exit - } - .msgskeleton.butt.1 configure -command { - destroy .msgskeleton - } -} - -frame .space0 -height 15 -relief flat -highlightthickness 0 -pack .space0 -side top -fill x - - -frame .log -highlightthickness 0 -pack .log -side top -fill both -expand 1 - -text .log.text -width 85 -height 15 -bd 2 -relief raised \ - -yscrollcommand {.log.scroll set} -highlightthickness 0 -pack .log.text -side left -fill both -expand 1 - -scrollbar .log.scroll -command {.log.text yview} -highlightthickness 0 -pack .log.scroll -side left -fill y - - -frame .space1 -height 5 -relief flat -highlightthickness 0 -pack .space1 -side top -fill x - - -frame .comm -highlightthickness 0 -pack .comm -side top -fill x - -label .comm.label -text Command -highlightthickness 0 -pack .comm.label -side left - -entry .comm.ent -highlightthickness 0 -pack .comm.ent -side left -fill x -expand 1 - - -label .help -relief sunken -anchor w -highlightthickness 0 -pack .help -side top -fill x - -## Dummy Button -button .dummy -command { - set PARA [.comm.ent get] - if {$PARA != ""} { - GAG_Connect $PARA - } else { - .log.text insert end \n> - .log.text see end - } -} - -## Binding & Focus -# Binding on command line -bind .comm.ent {.dummy invoke} -bind .comm.ent {} -bind .comm.ent {.help configure -text "direct command typein"} -bind .comm.ent {.help configure -text "setup phase"} -focus .comm.ent - -# Binding on Log board -bind .log { - .help configure -text "editable log window" -} -bind .log { - .help configure -text "setup phase" - .log.text configure -relief raised - focus .comm.ent -} - -bind .log.text

aZ1)u8#4L9b8h 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 diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextCanvas.java b/environments/Momo/java/Momo/GAG/TextEdit/TextCanvas.java deleted file mode 100644 index 97c0ac1d51..0000000000 --- a/environments/Momo/java/Momo/GAG/TextEdit/TextCanvas.java +++ /dev/null @@ -1,1407 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.io.*; -import java.util.*; -import java.awt.event.*; - -class TextCanvas extends Canvas implements MouseMotionListener, MouseListener, ComponentListener, AdjustmentListener, KeyListener, FocusListener { - final public int NOACTION = 0; // a null note action - final private int EDGE = 10; - - private Scrollbar horiz; // control - private Scrollbar vert; // control - - private boolean eactive,hactive; // is there currently a range? - private boolean dirty; // document dirty flag - private boolean mouseDown; - - private int sx,sy,ny; // current scroll positions - private int line,column,pix; // the current column - private int eline,ecolumn,epix; // the current end column - private int widest,wpix; // the longest line - private int oldlines; // repaint to old line count (if longer) - private int fontHeight; // save time - private int fontDescent; // save time - private int tabSize = 4; // preference - - private String lineSeparator; - - private Font font; // preference - private FontMetrics fontMetrics; // save time - private Frame parent; // freindly object - private TextCursor textCursor; // freindly object - private EditMan editMan; // freindly object - private Dimension dimension; // save time - private Vector lines; // line buffer - private TextJournal journal; // journal for "undo" - private TextScroller textScroller = null; - - public TextCanvas(Frame p, Scrollbar h, Scrollbar v) { - super(); - - setBackground(Color.white); - setForeground(Color.black); - - parent = p; - - lineSeparator = System.getProperty("line.separator"); - - horiz = h; - horiz.addAdjustmentListener(this); - horiz.addKeyListener(this); - - vert = v; - vert.addAdjustmentListener(this); - vert.addKeyListener(this); - - lines = new Vector(); - - journal = new TextJournal(this,lines,lineSeparator); - - addComponentListener(this); - addMouseListener(this); - addKeyListener(this); - addFocusListener(this); - - clear(); - validate(); - requestFocus(); - - textCursor = new TextCursor(this); - textCursor.start(); - } - - //Toshiaki added - public void writeString(String str){ - paste(str); - journal.clear(); - } - public void writeLine(String str){ - pause_cursor(); - textCursor.suspend(); - if (hactive) copy(true); - String s = (String)lines.elementAt(line); - lines.setElementAt(s + str, line); - line++; column = 0; - lines.insertElementAt("", line); - if (editMan != null) { - editMan.updateCopyItems(false); - editMan.updateUndoItems(false, false); - } - journal.clear(); - if (dimension == null) dimension = getSize(); - shiftVert(line); - shiftHoriz(EDGE); - repaint(); - textCursor.resume(); - dirty = true; - } - - private boolean gotFocus = false; - - public void focusGained(FocusEvent e) { - gotFocus = true; - release_cursor(); - } - - private void release_cursor() - { - if ((textCursor != null) && !eactive && gotFocus) - textCursor.release_cursor(true); - } - - public void focusLost(FocusEvent e) - { - pause_cursor(); - gotFocus = false; - } - - private void pause_cursor() - { - if ((textCursor != null) && !eactive && gotFocus) - textCursor.pause_cursor(true); - } - - public void setEditMan(EditMan em) - { - editMan = em; - } - - public void clear() - { - clear_area(null); - hactive = eactive = dirty = false; - if (editMan != null) - { - editMan.updateCopyItems(false); - editMan.updateUndoItems(false, false); - } - oldlines = wpix = widest = line = column = sx = sy = 0; - pix = EDGE; - horiz.setValue(0); - vert.setValue(0); - lines.removeAllElements(); - journal.clear(); - } - - public void validate() - { - if (lines.size() == 0) - appendLine(new String("")); - redoCanvas(); - } - - public void setFont(String fs, int size) - { - font = new Font(fs, Font.PLAIN, size); - Graphics g = getGraphics(); - - if (g != null) - { - clear_area(g); - updateFonts(g); - resizeLines(); - redoCanvas(); - repaint(); - g.dispose(); - } - else - fontMetrics = null; - } - - private void clear_area(Graphics g) - { - boolean foobar = false; - - pause_cursor(); - - if (dimension == null) - return; - - if (g == null) - { - g = getGraphics(); - foobar = true; - } - - if (g != null) - g.clearRect(0,0,dimension.width,dimension.height); - - if (foobar && (g != null)) - g.dispose(); - } - - public void setTab(int tab) - { - clear_area(null); - tabSize = tab; - resizeLines(); - repaint(); - } - - public void undo(boolean undo_it) - { - TextPosition tp; - - pause_cursor(); - - if (undo_it) - tp = journal.undo(); - else - tp = journal.redo(); - - if (tp == null) - release_cursor(); - else - { - hactive = eactive = false; - line = eline = tp.line; - column = ecolumn = tp.column; - pix = epix = pix_at(line,column); - shiftVert(line); - shiftHoriz(pix); - repaint(); - } - } - - public void updateUndoItems(boolean have_undo, boolean have_redo) - { - if (editMan != null) - editMan.updateUndoItems(have_undo, have_redo); - } - - private void updateFonts(Graphics g) - { - boolean foobar = false; - - if (g == null) - { - g = getGraphics(); - foobar = true; - } - - if (g != null) - { - g.setFont(font); - fontMetrics = g.getFontMetrics(font); - fontHeight = fontMetrics.getHeight(); - fontDescent = fontMetrics.getDescent(); - - if (foobar) - g.dispose(); - } - } - - public void print(String name) - { - PrintMan pm = new PrintMan(parent, name, lines, font, tabSize); - - if (pm != null) - pm.start(); - } - - public boolean find( String pattern ) - { - int i,max,ct,start,from; - String whole; - - pause_cursor(); - - max = lines.size(); - i = line; - ct = 0; - - while (ct++ <= max) - { - whole = (String)lines.elementAt(i); - - if (( i == line ) && ( ct == 1 )) - { - if (eactive) - from = column + 1; - else - from = column; - } - else - from = 0; - - start = whole.indexOf(pattern,from); - - if (start >= 0) - { - line = eline = i; - column = start; - pix = stringLength(whole.substring(0,column)) + EDGE; - ecolumn = start + pattern.length(); - epix = stringLength(whole.substring(0,ecolumn)) + EDGE; - eactive = true; - setup_h(); - save_h(); - if (editMan != null) - editMan.updateCopyItems(eactive); - shiftVert(line); - shiftHoriz(pix); - shiftHoriz(epix); - repaint(); - return true; - } - - i++; - if (i >= max) - i = 0; - } - - release_cursor(); - return false; - } - - public synchronized void mousePressed(MouseEvent e) - { - Graphics g; - - requestFocus(); - - if (mouseDown) - return; - - mouseDown = true; - - pause_cursor(); - g = getGraphics(); - updateFonts(g); - - clickPosition( e.getX(), e.getY() ); - - if ((cline < 0) || (cline >= lines.size())) - return; - - eline = cline; - ecolumn = ccolumn; - epix = cpix; - - int clickCount = e.getClickCount(); - - if (clickCount == 3) - { - eline = line = cline; - column = 0; - pix = EDGE; - String whole = (String)lines.elementAt(cline); - ecolumn = whole.length(); - epix = stringLength(whole) + EDGE; - eactive = true; - setup_h(); - save_h(); - if (editMan != null) - editMan.updateCopyItems(eactive); - repaint(); - } - else - if (clickCount == 2) - { - char c; - eline = line = cline; - String whole = (String)lines.elementAt(cline); - column = ecolumn = ccolumn; - while (true) - { - if (column == 0) - break; - - if (!Character.isLetterOrDigit(whole.charAt(column-1))) - break; - - column--; - } - pix = stringLength(whole.substring(0,column)) + EDGE; - int max = whole.length(); - while (true) - { - if (ecolumn >= max) - break; - - if (!Character.isLetterOrDigit(whole.charAt(ecolumn))) - break; - - ecolumn++; - } - epix = stringLength(whole.substring(0,ecolumn)) + EDGE; - eactive = true; - setup_h(); - save_h(); - if (editMan != null) - editMan.updateCopyItems(eactive); - repaint(); - } - else - if (e.isShiftDown()) - { - eline = cline; - ecolumn = ccolumn; - epix = cpix; - eactive = true; - setup_h(); - save_h(); - if (editMan != null) - editMan.updateCopyItems(eactive); - repaint(); - } - else - { - if (hactive) - flip_h( g, oline, opix, oeline, oepix ); - eline = line = cline; - ecolumn = column = ccolumn; - epix = pix = cpix; - hactive = false; - eactive = true; - if (editMan != null) - editMan.updateCopyItems(eactive); - addMouseMotionListener(this); - } - - g.dispose(); - } - - private int opix, oepix, oline, oeline; - private int hpix, hepix, hline, heline, hcolumn, hecolumn; - private int lastx,lasty; - - public synchronized void mouseDragged(MouseEvent e) - { - Graphics g; - - g = getGraphics(); - updateFonts(g); - - if (e != null) - { - lastx = e.getX(); - lasty = e.getY(); - } - - clickPosition( lastx, lasty ); - - eline = cline; - ecolumn = ccolumn; - epix = cpix; - - eactive = ((eline != line) || (ecolumn != column)); - if (eactive || hactive) - { - setup_h(); - - if ((eline < sy) || - (eline >= sy+ny) || - (epix < sx) || - (epix >= dimension.width)) - { - if (textScroller == null) - { - textScroller = new TextScroller(this); - textScroller.start(); - } - shiftVert(eline); - shiftHoriz(epix); - setup_h(); - save_h(); - for (int i = 0; i < ny; i++) - drawLine(g,sy+i); - } - else - { - if (textScroller != null) - { - textScroller.stop(); - textScroller = null; - } - if (hactive) - { - if ((hline < oline) || ((hline == oline) && (hpix < opix))) - flip_h( g, hline, hpix, oline, opix ); - if ((hline > oline) || ((hline == oline) && (hpix > opix))) - flip_h( g, oline, opix, hline, hpix ); - if ((heline < oeline) || ((heline == oeline) && (hepix < oepix))) - flip_h( g, heline, hepix, oeline, oepix ); - if ((heline > oeline) || ((heline == oeline) && (hepix > oepix))) - flip_h( g, oeline, oepix, heline, hepix ); - } - else - flip_h( g, hline, hpix, heline, hepix ); - - hactive = eactive; - save_h(); - } - } - g.dispose(); - } - - private int cline, ccolumn, cpix; - - void clickPosition( int x, int y ) - { - cline = (y / fontHeight) + sy; - - if (cline < 0) - { - cline = ccolumn = cpix = 0; - return; - } - - if (cline >= lines.size()) - { - cline = lines.size() - 1; - String whole = (String)lines.elementAt(cline); - ccolumn = whole.length(); - cpix = stringLength(whole) + EDGE; - return; - } - - x += sx; - - ccolumn = 0; - cpix = 0; - - if (x > EDGE) - { - String whole = (String)lines.elementAt(cline); - String part; - - ccolumn = whole.length(); - - if (( ccolumn > 0 ) && ( x < (cpix = stringLength(whole) + EDGE) )) - { - if (ccolumn > 10) - { - int delta = ccolumn / 5; - - do { - ccolumn -= delta; - if (ccolumn < 0) - { - ccolumn = 0; - part = null; - } - else - part = whole.substring(0,ccolumn); - } while (( ccolumn > 0 ) && ( x < (cpix = stringLength(part) + EDGE) )); - - ccolumn += delta; - } - - while (( ccolumn > 0 ) && ( x < (cpix = stringLength(whole) + EDGE) )) - whole = whole.substring(0,--ccolumn); - } - } - } - - private void flip_h(Graphics g, int sline, int spix, int eline, int epix) - { - int i; - int bx,ex,by; - - g.setXORMode(Color.white); - - if (eline >= sy + ny) - { - eline = sy + ny - 1; - epix = 5000; - } - - for (i = sline; i <= eline; i++) - { - by = (i - sy) * fontHeight; - bx = 0; - ex = 5000; - if (i == sline) - { - bx = spix - sx; - } - if (i == eline) - { - ex = epix - sx; - if (sline == eline) - ex -= bx; - } - g.fillRect(bx,by,ex,fontHeight); - } - } - - private void setup_h() - { - if ((line < eline) || ((line == eline) && (column <= ecolumn))) - { - hline = line; - hcolumn = column; - hpix = pix; - heline = eline; - hecolumn = ecolumn; - hepix = epix; - } - else - { - hline = eline; - hcolumn = ecolumn; - hpix = epix; - heline = line; - hecolumn = column; - hepix = pix; - } - } - - private void save_h() - { - opix = hpix; - oepix = hepix; - oline = hline; - oeline = heline; - hactive = eactive; - } - - public synchronized void mouseReleased(MouseEvent e) - { - if (!mouseDown) - return; - - mouseDown = false; - - if (textScroller != null) - { - textScroller.stop(); - textScroller = null; - } - removeMouseMotionListener(this); - eactive = ((eline != line) || (ecolumn != column)); - release_cursor(); - if (editMan != null) - editMan.updateCopyItems(eactive); - } - - public void mouseEntered(MouseEvent e) {} - public void mouseExited(MouseEvent e) {} - public void mouseClicked(MouseEvent e) {} - public void mouseMoved(MouseEvent e) {} - public void keyTyped(KeyEvent e) {} - public void keyReleased(KeyEvent e) {} - - private final int myMask = KeyEvent.CTRL_MASK | KeyEvent.META_MASK | KeyEvent.ALT_MASK; - - public void keyPressed(KeyEvent e) - { - int keyCode = e.getKeyCode(); - char keyChar; - int max; - String s; - - if (!gotFocus) - return; - - if ((e.getModifiers() & myMask) != 0) - return; - - if ((keyCode == e.VK_UP) && (line == 0)) - return; - - pause_cursor(); - - switch (keyCode) { - case e.VK_UP: - line--; - cursorAdjust(); - return; - case e.VK_DOWN: - line++; - cursorAdjust(); - return; - case e.VK_RIGHT: - column++; - cursorAdjust(); - return; - case e.VK_LEFT: - column--; - cursorAdjust(); - return; - default: - keyChar = e.getKeyChar(); - if (keyChar != KeyEvent.CHAR_UNDEFINED) - { - if (keyCode == KeyEvent.VK_ENTER) - { - if (hactive) - copy(true); - journal.split_line(line,column); - shiftVert(++line); - column = 0; - pix = EDGE; - shiftHoriz(0); - dirty = true; - repaint(); - return; - } - else - if (keyCode == KeyEvent.VK_BACK_SPACE) - { - if (hactive) - { - copy(true); - return; - } - if (column > 0) - { - journal.delete_prev_char(line,column); - column--; - redoLine(line,column+1); - return; - } - else - if (line > 0) - { - line--; - s = (String)lines.elementAt(line); - column = s.length(); - shiftHoriz(stringLength(s) + EDGE); - journal.join_line(line,column); - shiftVert(line); - dirty = true; - repaint(); - return; - } - } - else - if (keyCode == KeyEvent.VK_DELETE) - { - if (hactive) - { - copy(true); - return; - } - s = (String)lines.elementAt(line); - max = s.length(); - if (column < max) - { - journal.delete_next_char(line,column); - redoLine(line,column+1); - return; - } - else - if (line+1 < lines.size()) - { - journal.join_line(line,column); - dirty = true; - repaint(); - return; - } - } - else - if (keyCode != KeyEvent.VK_ESCAPE && - keyChar != '\n' && - keyChar != '\b') - { - if (hactive) - copy(true); - journal.insert_char(line,column,keyChar); - column++; - redoLine(line,column); - release_cursor(); - return; - } - } - } - release_cursor(); - } - - public void paste(String s) - { - int oldline; - int oldcolumn; - TextPosition tp; - - pause_cursor(); - - if (hactive) - copy(true); - - oldline = line; - oldcolumn = column; - - tp = journal.insert_section(line,column,s); - line = tp.line; - column = tp.column; - - pix = pix_at( line, column ); - shiftVert(line); - shiftHoriz(pix); - - if (oldline != line) - { - repaint(); - } - else - { - redoLine(oldline,oldcolumn+1); -// release_cursor(); - } - - dirty = true; - } - - int pix_at(int line, int column) - { - if (column == 0) - return EDGE; - else - return stringLength(((String)lines.elementAt(line)).substring(0, column)) + EDGE; - } - - public String copy(boolean cut) - { - String s; - int oldline; - int oldcolumn; - boolean paint = false; - - if (!hactive) - return null; - - if (hline == heline) - { - oldline = hline; - oldcolumn = hcolumn; - } - else - paint = true; - - s = journal.delete_section(hline, hcolumn, heline, hecolumn, cut); - - if (cut) - { - dirty = true; - line = hline; - column = hcolumn; - hactive = eactive = false; - - if (shiftVert(line)) - paint = true; - - pix = pix_at(line,column); - if (shiftHoriz(pix)) - paint = true; - - if (paint) - { - repaint(); - } - else - { - redoLine(line,column+1); -// release_cursor(); - } - - if (editMan != null) - editMan.updateCopyItems(eactive); - } - - return s; - } - - private void cursorAdjust() - { - int min, max; - boolean paint = false; - - if (eactive) - { - paint = true; - hactive = eactive = false; - if (editMan != null) - editMan.updateCopyItems(eactive); - } - - // straighten up lines first - - if (line < 0) - line = 0; - else - { - max = lines.size(); - - if (line >= max ) - line = max - 1; - } - - // straighten up columns - - if (column < 0) - column = 0; - else - { - max = ((String)lines.elementAt(line)).length(); - if (column > max) - column = max; - } - - // off page? - - if (shiftVert(line)) - paint = true; - - if (shiftHoriz(stringLength(((String)lines.elementAt(line)).substring(0, column)) + EDGE)) - paint = true; - - if (paint) - repaint(); - else - release_cursor(); - } - - private boolean shiftVert( int line ) - { - if (line < sy) - { - sy = line; - if (sy < 0) - sy = 0; - vert.setValue(sy); - return true; - } - - if (line >= sy+ny) - { - sy = line - ny + 1; - vert.setValue(sy); - return true; - } - - return false; - } - - private boolean shiftHoriz( int x ) - { - if (x <= sx) - { - sx = x - (dimension.width / 5); - - if (sx < 0) - sx = 0; - - horiz.setValue(sx); - return true; - } - - if (x >= sx + dimension.width) - { - sx = x - dimension.width + (dimension.width / 5); - horiz.setValue(sx); - return true; - } - - return false; - } - - - private void redoLine(int line, int column) - { - String s; - int x,y,height,width; - - s = (String)lines.elementAt(line); - - if (longest(s,line)) - redoControls(horiz.getValue(), vert.getValue(),false); - dirty = true; - updateFonts(null); - height = fontHeight; - y = (line - sy) * height; - String sub = s.substring(0, column-1); - x = stringLength(sub) + EDGE; - if (shiftHoriz(x)) - { - repaint(); - } - else - { - x = x - sx - EDGE; - width = dimension.width - x; - repaint(10, x, y, width, height); - } - - } - - public void componentHidden(ComponentEvent e) {} - public void componentShown(ComponentEvent e) {} - public void componentMoved(ComponentEvent e) {} - - public void componentResized(ComponentEvent e) - { - redoControls(horiz.getValue(), vert.getValue(),true); - } - - private void redoCanvas() - { - redoControls(horiz.getValue(), vert.getValue(),false); - } - - private void redoControls(int h, int v, boolean clear) - { - int maxline, maxpix, bubble; - - Graphics g = getGraphics(); - - if (g == null) - return; - - updateFonts(g); - - if (g != null) - { - dimension = getSize(); - - if (clear) - clear_area(g); - - maxpix = wpix; - bubble = dimension.width; - - if ( bubble > maxpix) - maxpix = bubble; - - if ( h > maxpix ) - h = maxpix; - - if ( maxpix > 0 ) - maxpix += 12; - - horiz.setValues(h, bubble, 0, maxpix); - - maxline = lines.size(); - - if ( maxline <= 0 ) - maxline = 10; - - bubble = ny = dimension.height / fontHeight; - - if (bubble > maxline) - bubble = maxline; - - if (v > maxline) - v = maxline; - - vert.setValues(v, bubble, 0, maxline); - repaint(); - - g.dispose(); - } - } - - private void appendLine(String s) - { - int count = lines.size(); - lines.insertElementAt( s, count ); - longest(s,count); - } - - private boolean longest(String s, int line) - { - int len = stringLength(s); - if (len > wpix) - { - wpix = (len * 5) / 4; - widest = line; - return true; - } - return false; - } - - private void resizeLines() - { - if (widest < lines.size()) - { - int len = stringLength((String)lines.elementAt(widest)); - if (len > wpix) - { - wpix = len; - redoControls(horiz.getValue(), vert.getValue(),false); - } - } - - if ((hline >= 0) && (hline < lines.size())) - opix = hpix = pix_at(hline,hcolumn); - - if ((heline >= 0) && (heline < lines.size())) - oepix = hepix = pix_at(heline,hecolumn); - } - - private int stringLength(String s) - { - if (fontMetrics == null) - return -1; - - return fontMetrics.stringWidth(detabbed(s)); - } - - private String detabbed(String s) - { - if (s.indexOf('\t') < 0) - return s; - - char c; - String t = new String(""); - int j=0; - int tabs; - int max = s.length(); - - for (int i=0; i 0) t = t + ' '; - } - else - { - t = t + c; - j++; - } - } - - return t; - } - - public boolean isDirty() - { - return dirty; - } - - public void getCursorPos(Graphics g, Rectangle r) - { - updateFonts(g); - r.width = 2; - r.height = fontHeight; - r.y = (line - sy) * r.height; - - if (column > 0) - { - String s = ((String)lines.elementAt(line)).substring(0, column); - r.x = stringLength(s) + EDGE - sx; - } - else - r.x = EDGE - sx; - } - - public void adjustmentValueChanged(AdjustmentEvent e) - { - pause_cursor(); - if (e.getSource() == horiz) - { - sx = e.getValue(); - horiz.setValue(sx); - } - else - if (e.getSource() == vert) - { - sy = e.getValue(); - vert.setValue(sy); - } - repaint(); - } - - private final int SLOW_READ = 2000; - private final int SLOW_WRITE = 10000; - - public void read(File file) - { - Progress readProgress = null; - boolean show_progress; - long max,part,all,tens; - String line; - - max = file.length(); - tens = max / 10; - part = all = 0; - show_progress = max > SLOW_READ; - - if (show_progress) - { - if (readProgress == null) - readProgress = new Progress(parent,"Reading file ... "); - - readProgress.show(); - } - - clear(); - - try - { - FileReader fr = new FileReader(file); - BufferedReader br = new BufferedReader(fr); - - while ( (line=br.readLine()) != null) - { - if (show_progress) - { - part += line.length(); - if (part > tens) - { - all += part; - readProgress.update( (int)(100 * all / max) ); - part = 0; - } - } - appendLine(line); - } - - br.close(); - fr.close(); - } - - catch (IOException e) - { - notify("Error - could not read file", NOACTION); - } - if (readProgress != null) - readProgress.dispose(); - } - - public void write(File file) - { - Progress writeProgress = null; - boolean show_progress; - long max,part,all,tens; - String line; - - max = lines.size(); - tens = max / 10; - part = all = 0; - show_progress = max > SLOW_WRITE; - - if (show_progress) - { - if (writeProgress == null) - writeProgress = new Progress(parent,"Writing file ... "); - - writeProgress.show(); - } - - try - { - FileWriter fw = new FileWriter(file); - BufferedWriter bw=new BufferedWriter(fw); - - for (int i=0;i tens) - { - all += part; - writeProgress.update( (int)(100 * all / max) ); - part = 0; - } - } - } - - bw.close(); - fw.close(); - - dirty = false; - } - - catch (IOException e) - { - notify("Error - could not write file", NOACTION); - } - if (writeProgress != null) - writeProgress.dispose(); - } - - public void update(Graphics g) - { - paint(g); - } - - public void paint(Graphics g) - { - int i; - Rectangle clip; - Rectangle curs = new Rectangle(); - - pause_cursor(); - - g.setPaintMode(); - updateFonts(g); - - i = lines.size(); - if (oldlines != i) - { - oldlines = i; - redoControls(horiz.getValue(), vert.getValue(),true); - } - - if (dimension == null) - dimension = getSize(); - - clip = g.getClipBounds(); - - i = clip.y / fontHeight; - - if ( clip.height / fontHeight == 1) - drawLine(g, sy + i); - else - for (i = 0; i < ny; i++) - drawLine(g,sy+i); - - release_cursor(); - } - - private synchronized void drawLine(Graphics g, int i) - { - int x,y,m; - int bx,ex; - String s; - Rectangle curs = null; - - g.setPaintMode(); - g.setColor(Color.black); - - x = EDGE-sx; - y = (i - sy + 1) * fontHeight; - m = fontHeight;// + fontDescent; - - if (hactive && (i > oline) && (i < oeline)) - g.fillRect(0,y-fontHeight,dimension.width,m); - else - g.clearRect(0,y-fontHeight,dimension.width,m); - - if (i >= lines.size()) - return; - - s = detabbed((String)lines.elementAt(i)); - - if (hactive && (i > oline) && (i < oeline)) - { - g.setColor(Color.white); - g.drawString(s, x, y-fontDescent); - g.setColor(Color.black); - } - else - g.drawString(s, x, y-fontDescent); - - if (hactive && ((i == oline) || (i == oeline))) - { - g.setXORMode(Color.white); - bx = 0; - ex = 5000; - if (i == oline) - { - bx = opix - sx; - } - if (i == oeline) - { - ex = oepix - sx; - if (oline == oeline) - ex -= bx; - } - g.fillRect(bx,y-fontHeight,ex,m); - } - } - - private void notify(String s, int action) - { - Note note = new Note(parent,s,action); - note.setVisible(true); - } -} diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextCursor.class b/environments/Momo/java/Momo/GAG/TextEdit/TextCursor.class deleted file mode 100644 index f6fa8c334458e7d5a92627e55063f4f8bb35ac30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1548 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 diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextEdit.java b/environments/Momo/java/Momo/GAG/TextEdit/TextEdit.java deleted file mode 100644 index c2cff3e833..0000000000 --- a/environments/Momo/java/Momo/GAG/TextEdit/TextEdit.java +++ /dev/null @@ -1,308 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.io.*; -import java.util.*; -import java.awt.event.*; - -import GAG.*; - -public class TextEdit extends Frame implements GAGtextEditor, NoteListener, WindowListener -{ - // The NoteListen member fuction of NoteListener is overridded to support - // the following actions. - - final private int NOACTION = 0; - final private int NEWFILE = 1; - final private int OPENFILE = 2; - final private int QUITAPP = 3; - - // allocate standard components of TextEdit as part of initialization: - - public File file = new File("Untitled"); - - private String openPrompt = new String("Open text file"); - private String closePrompt = new String("Save file as"); - - // initialize some state flags - - private boolean neverNamed = true; - private boolean menuBusy = false; - - // these three .. no four! .. four objects form the main window - - private Scrollbar horiz; - private Scrollbar vert; - private TextCanvas textCanvas; - private TextMenu textMenu; - - // font - - private String fontString = new String("Courier"); - private int fontSize = 12; - private int tabSize = 4; - - // constructor puts together UI - - public TextEdit() { - this.setTitle(); - - vert = new Scrollbar(Scrollbar.VERTICAL); - add("East", vert); - horiz = new Scrollbar(Scrollbar.HORIZONTAL); - add("South", horiz); - - textCanvas = new TextCanvas(this,horiz,vert); - add("Center", textCanvas); - textCanvas.setFont(fontString,fontSize); - addKeyListener(textCanvas); - - textMenu = new TextMenu(this); - setMenuBar(textMenu); - - addWindowListener(this); - - setSize(500, 400); - setVisible(true); - try { Thread.sleep(400); } catch(InterruptedException e) {} - } - public void writeString(String s){ - textCanvas.writeString(s); - } - public void writeLine(String s){ - textCanvas.writeLine(s); - } - - // allow others to go straight to the canvas - public TextCanvas getCanvas() { - return textCanvas; - } - - // add current filename to window title - - private void setTitle(){ - super.setTitle("TextEdit - " + file.getName()); - } - - // add the 1.1 WindowListener stuff - - public void windowDeiconified(WindowEvent event) {} - public void windowIconified(WindowEvent event) {} - public void windowActivated(WindowEvent event) {} - public void windowDeactivated(WindowEvent event) {} - public void windowOpened(WindowEvent event) {} - public void windowClosed(WindowEvent event) {} - - public void windowClosing(WindowEvent event) { - if (isItSafe(QUITAPP)) - System.exit(0); - } - - // high level command processors (invoked my menu) - - public void setFont(String fs) { - fontString = fs; - textCanvas.setFont(fontString, fontSize); - } - - public void setFontSize(int s) { - fontSize = s; - textCanvas.setFont(fontString, fontSize); - } - - public void setTabSize(int s) { - tabSize = s; - textCanvas.setTab(tabSize); - } - - public int getTabSize() { - return tabSize; - } - - public void cmdFileNew() { - if (isItSafe(NEWFILE)) - newFile(); - } - - public void cmdFileOpen() { - if (isItSafe(OPENFILE)) - openFile(); - } - - public void cmdFileSave() { - saveFile(false); - } - - public void cmdFileSaveAs() { - saveFile(true); - } - - public void cmdPrint() { - textCanvas.print(file.getName()); - } - - public void cmdFileQuit() { - if (isItSafe(QUITAPP)) - System.exit(0); - } - - // if the file has been modified (dirty), fire off a notify dialog - // and pass it the "action" you want returned to noteListen. This - // dataflow beats the "modal dialog problem" on Windows - - // I believe isItSafe is what Laurence Olivier said repeatedly to - // Dustan Hoffman in Marathon Man. - - private boolean isItSafe(int action) { - if (textCanvas.isDirty()) - { - notify( "The current file has not been saved. ", action ); - return false; - } - else - return true; - } - - // implementation of the NoteListener interface - it does whatever - // action the user agreed to by pressing "Continue" on a modal dialog - - public void noteListen(int action) - { - switch (action) - { - case NOACTION: - break; - case NEWFILE: - newFile(); - break; - case OPENFILE: - openFile(); - break; - case QUITAPP: - System.exit(0); - break; - } - } - - // clear out the document - - private void newFile() - { - neverNamed = true; - file = new File("Untitled"); - this.setTitle(); - textCanvas.clear(); - textCanvas.validate(); - } - - // call getFile to get a file path, and if you get one open it - - private void openFile() - { - if (getFile(FileDialog.LOAD)) - openTheFile(); - } - - public void openTheFile() - { - textCanvas.read(file); - textCanvas.validate(); - neverNamed = false; - this.setTitle(); - } - - // call getFile to get a file path, and if you get one save to it - - private void saveFile(boolean As) - { - boolean ok; - - if (neverNamed || As) - { - ok = getFile(FileDialog.SAVE); - neverNamed = false; - } - else - ok = true; - - if (ok) - { - textCanvas.write(file); - neverNamed = false; - this.setTitle(); - } - } - - // use FileDialog to get a filepath - - private boolean getFile(int mode) - { - String prompt; - String filename; - String pathname; - - if (mode == FileDialog.LOAD) - prompt = openPrompt; - else - prompt = closePrompt; - - FileDialog d = new FileDialog(this, prompt, mode); - - if (mode == FileDialog.LOAD) - d.setFile("*"); - else - d.setFile(file.getName()); - - d.setDirectory("."); - d.setVisible(true); - - filename = d.getFile(); - - pathname = d.getDirectory() + filename; - - d.dispose(); - - if (filename != null) - { - file = new File(pathname); - return true; - } - else - return false; - } - - // launch a note - - private void notify(String s, int action) { - Note note = new Note(this,s,action); - note.setVisible(true); - } - - // main declares the TextEdit frame which does everything - - public static void main(String[] args) { - TextEdit f = new TextEdit(); - if (args.length > 0) { - f.file = new File(args[0]); - if (f.file.isFile()) - f.openTheFile(); - else - f.notify("File not found: "+args[0],0); - } - } -} diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextEdit.java.bak b/environments/Momo/java/Momo/GAG/TextEdit/TextEdit.java.bak deleted file mode 100644 index 1510fa618b..0000000000 --- a/environments/Momo/java/Momo/GAG/TextEdit/TextEdit.java.bak +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.io.*; -import java.util.*; -import java.awt.event.*; - -public class TextEdit extends Frame implements NoteListener, WindowListener -{ - // The NoteListen member fuction of NoteListener is overridded to support - // the following actions. - - final private int NOACTION = 0; - final private int NEWFILE = 1; - final private int OPENFILE = 2; - final private int QUITAPP = 3; - - // allocate standard components of TextEdit as part of initialization: - - public File file = new File("Untitled"); - - private String openPrompt = new String("Open text file"); - private String closePrompt = new String("Save file as"); - - // initialize some state flags - - private boolean neverNamed = true; - private boolean menuBusy = false; - - // these three .. no four! .. four objects form the main window - - private Scrollbar horiz; - private Scrollbar vert; - private TextCanvas textCanvas; - private TextMenu textMenu; - - // font - - private String fontString = new String("Courier"); - private int fontSize = 12; - private int tabSize = 4; - - // constructor puts together UI - - public TextEdit() { - this.setTitle(); - - vert = new Scrollbar(Scrollbar.VERTICAL); - add("East", vert); - horiz = new Scrollbar(Scrollbar.HORIZONTAL); - add("South", horiz); - - textCanvas = new TextCanvas(this,horiz,vert); - add("Center", textCanvas); - textCanvas.setFont(fontString,fontSize); - addKeyListener(textCanvas); - - textMenu = new TextMenu(this); - setMenuBar(textMenu); - - addWindowListener(this); - } - public void writeStr(String t){ - textCanvas.appendLine(t); - } - public void writeText(String t){ - textCanvas.appendLine(t); - } - - // allow others to go straight to the canvas - - public TextCanvas getCanvas() { - return textCanvas; - } - - // add current filename to window title - - private void setTitle(){ - super.setTitle("TextEdit - " + file.getName()); - } - - // add the 1.1 WindowListener stuff - - public void windowDeiconified(WindowEvent event) {} - public void windowIconified(WindowEvent event) {} - public void windowActivated(WindowEvent event) {} - public void windowDeactivated(WindowEvent event) {} - public void windowOpened(WindowEvent event) {} - public void windowClosed(WindowEvent event) {} - - public void windowClosing(WindowEvent event) { - if (isItSafe(QUITAPP)) - System.exit(0); - } - - // high level command processors (invoked my menu) - - public void setFont(String fs) { - fontString = fs; - textCanvas.setFont(fontString, fontSize); - } - - public void setFontSize(int s) { - fontSize = s; - textCanvas.setFont(fontString, fontSize); - } - - public void setTabSize(int s) { - tabSize = s; - textCanvas.setTab(tabSize); - } - - public int getTabSize() { - return tabSize; - } - - public void cmdFileNew() { - if (isItSafe(NEWFILE)) - newFile(); - } - - public void cmdFileOpen() { - if (isItSafe(OPENFILE)) - openFile(); - } - - public void cmdFileSave() { - saveFile(false); - } - - public void cmdFileSaveAs() { - saveFile(true); - } - - public void cmdPrint() { - textCanvas.print(file.getName()); - } - - public void cmdFileQuit() { - if (isItSafe(QUITAPP)) - System.exit(0); - } - - // if the file has been modified (dirty), fire off a notify dialog - // and pass it the "action" you want returned to noteListen. This - // dataflow beats the "modal dialog problem" on Windows - - // I believe isItSafe is what Laurence Olivier said repeatedly to - // Dustan Hoffman in Marathon Man. - - private boolean isItSafe(int action) { - if (textCanvas.isDirty()) - { - notify( "The current file has not been saved. ", action ); - return false; - } - else - return true; - } - - // implementation of the NoteListener interface - it does whatever - // action the user agreed to by pressing "Continue" on a modal dialog - - public void noteListen(int action) - { - switch (action) - { - case NOACTION: - break; - case NEWFILE: - newFile(); - break; - case OPENFILE: - openFile(); - break; - case QUITAPP: - System.exit(0); - break; - } - } - - // clear out the document - - private void newFile() - { - neverNamed = true; - file = new File("Untitled"); - this.setTitle(); - textCanvas.clear(); - textCanvas.validate(); - } - - // call getFile to get a file path, and if you get one open it - - private void openFile() - { - if (getFile(FileDialog.LOAD)) - openTheFile(); - } - - public void openTheFile() - { - textCanvas.read(file); - textCanvas.validate(); - neverNamed = false; - this.setTitle(); - } - - // call getFile to get a file path, and if you get one save to it - - private void saveFile(boolean As) - { - boolean ok; - - if (neverNamed || As) - { - ok = getFile(FileDialog.SAVE); - neverNamed = false; - } - else - ok = true; - - if (ok) - { - textCanvas.write(file); - neverNamed = false; - this.setTitle(); - } - } - - // use FileDialog to get a filepath - - private boolean getFile(int mode) - { - String prompt; - String filename; - String pathname; - - if (mode == FileDialog.LOAD) - prompt = openPrompt; - else - prompt = closePrompt; - - FileDialog d = new FileDialog(this, prompt, mode); - - if (mode == FileDialog.LOAD) - d.setFile("*"); - else - d.setFile(file.getName()); - - d.setDirectory("."); - d.setVisible(true); - - filename = d.getFile(); - - pathname = d.getDirectory() + filename; - - d.dispose(); - - if (filename != null) - { - file = new File(pathname); - return true; - } - else - return false; - } - - // launch a note - - private void notify(String s, int action) { - Note note = new Note(this,s,action); - note.setVisible(true); - } - - // main declares the TextEdit frame which does everything - - public static void main(String[] args) { - TextEdit f = new TextEdit(); - f.setSize(500, 400); - f.setVisible(true); - if (args.length > 0) { - f.file = new File(args[0]); - if (f.file.isFile()) - f.openTheFile(); - else - f.notify("File not found: "+args[0],0); - } - } -} - diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextJournal.class b/environments/Momo/java/Momo/GAG/TextEdit/TextJournal.class deleted file mode 100644 index 09bdc3ca1a30bac3dba0b238afcf0dd073d1f257..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5698 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 U@|rZtIk{QhBnTcPY;$nvzdt$fyZ`_I diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextJournal.java b/environments/Momo/java/Momo/GAG/TextEdit/TextJournal.java deleted file mode 100644 index 22a11ffe2b..0000000000 --- a/environments/Momo/java/Momo/GAG/TextEdit/TextJournal.java +++ /dev/null @@ -1,463 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.awt.*; -import java.util.*; - -class TextJournal -{ - private TextCanvas canvas; // the parent - private Vector lines; // the document - private TextJournalItem journal; // the journal - private TextJournalItem undo_list; // where we are in undo - private TextJournalItem redo_list; // where we are in redo - - private boolean had_undo; - private boolean had_redo; - - private String lineSeparator; - - private final int REPLACE_LINE = 1; - private final int SPLIT_LINE = 2; - private final int JOIN_LINE = 3; - private final int INSERT = 4; - private final int DELETE = 5; - - public TextJournal(TextCanvas c, Vector v, String ls) - { - canvas = c; - lines = v; - lineSeparator = ls; - undo_list = redo_list = null; - had_undo = had_redo = false; - } - - public void clear() - { - undo_list = redo_list = null; - had_undo = had_redo = false; - } - - private void updateMenus() - { - boolean got_undo; - boolean got_redo; - - got_undo = undo_list != null; - got_redo = redo_list != null; - - if ((had_undo != got_undo) || (had_redo != got_redo)) - canvas.updateUndoItems(got_undo, got_redo); - - had_undo = got_undo; - had_redo = got_redo; - } - - public TextPosition undo() - { - TextJournalItem temp; - TextPosition tp = null; - - if (undo_list != null) - { - temp = undo_list; - undo_list = temp.next; - - switch (temp.action) - { - case REPLACE_LINE: - redo_line(temp); - break; - case SPLIT_LINE: - split_or_join(temp,true); - break; - case JOIN_LINE: - split_or_join(temp,false); - break; - case INSERT: - copy_or_cut(temp,true); - break; - case DELETE: - insert(temp); - break; - default:; - } - - tp = new TextPosition(temp.line,temp.column); - - temp.next = redo_list; - redo_list = temp; - } - - updateMenus(); - return tp; - } - - public TextPosition redo() - { - TextJournalItem temp; - TextPosition tp = null; - int line, column; - - if (redo_list != null) - { - temp = redo_list; - redo_list = temp.next; - - line = temp.line; - column = temp.column; - - switch (temp.action) - { - case REPLACE_LINE: - column = temp.text.length(); - redo_line(temp); - break; - case SPLIT_LINE: - split_or_join(temp,false); - column = 0; - break; - case JOIN_LINE: - split_or_join(temp,true); - break; - case INSERT: - insert(temp); - line = temp.eline; - column = temp.ecolumn; - break; - case DELETE: - copy_or_cut(temp,true); - break; - default:; - } - - tp = new TextPosition(line,column); - - temp.next = undo_list; - undo_list = temp; - } - - updateMenus(); - return tp; - } - - public void insert_char(int line, int column, char c) - { - String s; - - s = (String)lines.elementAt(line); - - remember_line(line,column,s); - - s = s.substring(0, column) + c + s.substring(column, s.length()); - lines.setElementAt(s,line); - } - - public void delete_prev_char(int line, int column) - { - String s; - - s = (String)lines.elementAt(line); - - remember_line(line,column,s); - - s = s.substring(0, column-1) + s.substring(column, s.length()); - lines.setElementAt(s,line); - } - - public void delete_next_char(int line, int column) - { - String s; - - s = (String)lines.elementAt(line); - - remember_line(line,column,s); - - s = s.substring(0, column) + s.substring(column+1, s.length()); - lines.setElementAt(s,line); - } - - private void remember_line(int line, int column, String s) - { - boolean new_line = true; - - if (undo_list != null) - new_line = (undo_list.action != REPLACE_LINE) || (undo_list.line != line); - - if (new_line) - { - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = REPLACE_LINE; - new_journal.line = line; - new_journal.column = column; - new_journal.text = new String(s); - new_journal.next = undo_list; - undo_list = new_journal; - } - - redo_list = null; - updateMenus(); - } - - private void redo_line(TextJournalItem i) - { - String s; - s = (String)lines.elementAt(i.line); - lines.setElementAt(i.text,i.line); - i.text = s; - } - - public void split_line(int line, int column) - { - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = SPLIT_LINE; - new_journal.line = line; - new_journal.column = column; - - split_or_join(new_journal,false); - - new_journal.next = undo_list; - undo_list = new_journal; - redo_list = null; - updateMenus(); - } - - public void join_line(int line, int column) - { - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = JOIN_LINE; - new_journal.line = line; - new_journal.column = column; - - split_or_join(new_journal,true); - - new_journal.next = undo_list; - undo_list = new_journal; - redo_list = null; - updateMenus(); - } - - public void split_or_join(TextJournalItem i, boolean join) - { - String s; - int line = i.line; - int column = i.column; - - if (join) - { - s = (String)lines.elementAt(line); - s = s.concat((String)lines.elementAt(line+1)); - lines.setElementAt(s,line); - lines.removeElementAt(line+1); - } - else - { - s = (String)lines.elementAt(line); - lines.setElementAt(s.substring(0,column),line); - lines.insertElementAt(s.substring(column,s.length()),++line); - } - } - - public TextPosition insert_section(int line, int column, String s) - { - int charCt; - int saveCt; - int charMax; - char c,c2; - String s2 = null; - TextPosition tp; - - // start creating journal item - - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = INSERT; - new_journal.text = new String(s); - new_journal.line = line; // starting line and column - new_journal.column = column; - - // insert the text - - tp = insert(new_journal); - - // finish creating journal entry - - new_journal.eline = tp.line; // updated line and column - new_journal.ecolumn = tp.column; - new_journal.next = undo_list; - undo_list = new_journal; - redo_list = null; - updateMenus(); - - return tp; - } - - public TextPosition insert(TextJournalItem i) - { - int line = i.line; - int column = i.column; - String s = i.text; - - int charCt; - int saveCt; - int charMax; - char c,c2; - String s2 = null; - - // insert the text - - charMax = s.length(); - charCt = saveCt = 0; - - while (charCt < charMax) - { - c = s.charAt(charCt); - charCt++; - if ((c == '\r') || (c == '\n')) - { - s2 = (String)lines.elementAt(line); - lines.setElementAt(s2.substring(0,column) + s.substring(saveCt,charCt-1),line); - lines.insertElementAt(s2.substring(column,s2.length()),++line); - column = 0; - if (charCt < charMax) - { - c2 = s.charAt(charCt); - if (((c == '\r') && (c2 == '\n')) || ((c2 == '\r') && (c == '\n'))) - charCt++; - } - saveCt = charCt; - } - } - - if (saveCt < charCt) - { - s2 = (String)lines.elementAt(line); - s = s.substring(saveCt,charCt); - if (column == 0) - s2 = s + s2; - else - s2 = s2.substring(0, column) + s + s2.substring(column, s2.length()); - column += s.length(); - lines.setElementAt(s2,line); - } - - return new TextPosition(line,column); - } - - public String delete_section(int line, int column, int eline, int ecolumn, boolean cut) - { - String text; - - TextJournalItem new_journal = new TextJournalItem(); - new_journal.action = DELETE; - new_journal.line = line; - new_journal.column = column; - new_journal.eline = eline; - new_journal.ecolumn = ecolumn; - - text = copy_or_cut(new_journal,cut); - - if (cut) - { - new_journal.text = new String(text); - new_journal.next = undo_list; - undo_list = new_journal; - redo_list = null; - updateMenus(); - } - - return text; - } - - private String copy_or_cut(TextJournalItem i, boolean cut) - { - String s,s2; - String text = null; - - int line = i.line; - int column = i.column; - int eline = i.eline; - int ecolumn = i.ecolumn; - - if (line == eline) - { - s = (String)lines.elementAt(line); - text = s.substring(column,ecolumn); - if (cut) - { - s = s.substring(0, column) + s.substring(ecolumn, s.length()); - lines.setElementAt(s,line); - } - } - else - { - s = (String)lines.elementAt(line); - text = s.substring(column,s.length()); - s = s.substring(0, column); - - int diff = eline - line; - int k = line + 1; - - for (int j = 1; j < diff; j++) - { - s2 = (String)lines.elementAt(k); - text = text + lineSeparator + s2; - if (cut) - lines.removeElementAt(k); - else - k++; - } - - if (k != lines.size()) - { - s2 = (String)lines.elementAt(k); - text = text + lineSeparator + s2.substring(0,ecolumn); - s = s + s2.substring(ecolumn,s2.length()); - if (cut) - lines.removeElementAt(k); - } - - if (cut) - lines.setElementAt(s,line); - } - - return text; - } - -} - -class TextJournalItem -{ - public TextJournalItem next; - public String text; - public int action; - public int line; - public int column; - public int eline; - public int ecolumn; -} diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextJournalItem.class b/environments/Momo/java/Momo/GAG/TextEdit/TextJournalItem.class deleted file mode 100644 index c1265cc788119a14169b191bc5117b2d62c89f02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 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 D3c@sT diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextMenu.java b/environments/Momo/java/Momo/GAG/TextEdit/TextMenu.java deleted file mode 100644 index 19cb617ddf..0000000000 --- a/environments/Momo/java/Momo/GAG/TextEdit/TextMenu.java +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright (c) 1997 John Jensen. All rights reserved. - * - * This software is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE, - * provided the following condition is met. - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that any copy or derivative of this software or documentation - * retaining the name "John Jensen" also retains this condition and the - * following disclaimer. - * - * CopyrightVersion 1.0 - */ - -package TextEdit; - -import java.util.*; -import java.awt.*; -import java.awt.event.*; - -public class TextMenu extends MenuBar implements ActionListener { - // menus - private Menu fileMenu; - private Menu editMenu; - private Menu fontMenu; - private Menu sizeMenu; - private Menu helpMenu; - - // adaptors - private EditMan editMan; - private SizeMan sizeMan; - private FontMan fontMan; - - // allocate standard components of TextEdit as part of initialization: - private String newString = new String("New"); - private String openString = new String("Open"); - private String saveString = new String("Save"); - private String saveAsString = new String("Save As"); - private String printString = new String("Print"); - private String quitString = new String("Quit"); - private String aboutString = new String("About"); - - // remember who our parents are - - private TextEdit textEdit; - private TextCanvas textCanvas; - - // constructor puts together UI - - public TextMenu(TextEdit parent) { - super(); - - textEdit = parent; - textCanvas = textEdit.getCanvas(); - - CheckboxMenuItem cbi; - - editMan = new EditMan(parent); - sizeMan = new SizeMan(parent); - fontMan = new FontMan(parent); - - fileMenu = new Menu("File"); - fileMenu.add(new MenuItem(newString)); - fileMenu.add(new MenuItem(openString)); - fileMenu.add(new MenuItem(saveString)); - fileMenu.add(new MenuItem(saveAsString)); - fileMenu.addSeparator(); - fileMenu.add(new MenuItem(printString)); - //fileMenu.addSeparator(); - //fileMenu.add(new MenuItem(quitString)); - fileMenu.addActionListener(this); - add(fileMenu); - - editMenu = new Menu("Edit"); - editMan.addItems(editMenu); - add(editMenu); - - fontMenu = new Menu("Font"); - String[] fontNames = parent.getToolkit().getFontList(); - for (int i = 0; i < fontNames.length; i++) { - if (fontNames[i].equals("Courier")){ - cbi = add_checked(fontMenu, fontMan, fontNames[i]); - fontMan.remember(cbi); - }else{ - add_unchecked(fontMenu, fontMan, fontNames[i]); - } - } - add(fontMenu); - - sizeMenu = new Menu("Size"); - add_unchecked(sizeMenu, sizeMan, new String("10")); - add_unchecked(sizeMenu, sizeMan, new String("11")); - cbi = add_checked(sizeMenu, sizeMan, new String("12")); - sizeMan.remember(cbi); - add_unchecked(sizeMenu, sizeMan, new String("14")); - add_unchecked(sizeMenu, sizeMan, new String("16")); - add_unchecked(sizeMenu, sizeMan, new String("18")); - add_unchecked(sizeMenu, sizeMan, new String("36")); - add(sizeMenu); - - helpMenu = new Menu("Help"); - helpMenu.add(new MenuItem(aboutString)); - helpMenu.addActionListener(this); - setHelpMenu(helpMenu); - } - - private void add_unchecked( Menu menu, ItemListener adaptor, String string ) { - CheckboxMenuItem cbi; - - cbi = new CheckboxMenuItem(string); - cbi.addItemListener(adaptor); - menu.add(cbi); - } - - private CheckboxMenuItem add_checked( Menu menu, ItemListener adaptor, String string ) { - CheckboxMenuItem cbi; - - cbi = new CheckboxMenuItem(string); - cbi.addItemListener(adaptor); - cbi.setState(true); - menu.add(cbi); - return cbi; - } - - // action handler, part of std java event handling - - public void actionPerformed(ActionEvent evt) { - int i; - - Object source = evt.getSource(); - String cmd = evt.getActionCommand(); - - if (source == fileMenu) - doFile(cmd); - else - if (source == helpMenu) { - AboutDialog ab = new AboutDialog(textEdit); - ab.show(); - } - } - - private void doFile(String cmd){ - if (cmd.equals(newString)) - textEdit.cmdFileNew(); - else - if (cmd.equals(openString)) - textEdit.cmdFileOpen(); - else - if (cmd.equals(saveString)) - textEdit.cmdFileSave(); - else - if (cmd.equals(saveAsString)) - textEdit.cmdFileSaveAs(); - else - if (cmd.equals(printString)) - textEdit.cmdPrint(); - else - if (cmd.equals(quitString)) - textEdit.cmdFileQuit(); - } -} - -class AboutDialog extends Dialog implements WindowListener, ActionListener { - Button ok; - public AboutDialog(Frame parent) { - super(parent,"About TextEdit",true); - - Panel center = new Panel(new GridLayout(0,1)); - center.add(new Label("GAG v0.1alpha", Label.CENTER)); - center.add(new Label("Copyright (c) 1997 Toshiaki Kodama")); - center.add(new Label("Contact: toshiaki@naruto-u.ac.jp")); - center.add(new Label("This GAG includs TextEditi. (c) 1997 John Jensen")); - add("Center", center); - - Panel p = new Panel(); - ok = new Button("Ok"); - ok.addActionListener(this); - p.add(ok); - add("South",p); - //setSize(240,240); - pack(); - addWindowListener(this); - } - - // dispose on 'ok' - public void actionPerformed(ActionEvent event) { - if (event.getSource() == ok) - dispose(); - } - - // add the 1.1 WindowListener stuff - - public void windowDeiconified(WindowEvent event) {} - public void windowIconified(WindowEvent event) {} - public void windowActivated(WindowEvent event) {} - public void windowDeactivated(WindowEvent event) {} - public void windowOpened(WindowEvent event) {} - public void windowClosed(WindowEvent event) {} - public void windowClosing(WindowEvent event) { - dispose(); - } -} - -class SizeMan extends Object implements ItemListener { - // remember stuff - - private TextEdit textEdit; - private CheckboxMenuItem lastSize = null; - - // constructor puts together UI - - public SizeMan(TextEdit parent) { - textEdit = parent; - } - - public void remember( CheckboxMenuItem item ) { - if (lastSize != null) - lastSize.setState(false); - lastSize = item; - } - - public void itemStateChanged(ItemEvent evt) { - remember((CheckboxMenuItem)evt.getSource()); - String cmd = (String)evt.getItem(); - Integer size = new Integer(cmd); - textEdit.setFontSize(size.intValue()); - } -} - -final class FontMan extends Object implements ItemListener { - // remember stuff - - private TextEdit textEdit; - private CheckboxMenuItem lastTab = null; - - // constructor puts together UI - - public FontMan(TextEdit parent) { - textEdit = parent; - } - - public void remember( CheckboxMenuItem item ) { - if (lastTab != null) - lastTab.setState(false); - lastTab = item; - } - - public void itemStateChanged(ItemEvent evt) { - String cmd = (String)evt.getItem(); - remember((CheckboxMenuItem)evt.getSource()); - textEdit.setFont(cmd); - } -} diff --git a/environments/Momo/java/Momo/GAG/TextEdit/TextPosition.class b/environments/Momo/java/Momo/GAG/TextEdit/TextPosition.class deleted file mode 100644 index f38b4acca1c1668d2847ba50262bef0c096cc31d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339 zcmYjMO-sW-5Pj36jft_TA5}pQf+#hhId~N>r9z;nV99-(F0y5tm2@NhTONww!5`p{ z5@*GOhkY~e&Fsv)ukVjfc(}x2fZYK55nAYkAOsFJVr(Le(MJ;F013exToi=%AkSUw z+^9;~TY^6{GfCJQnrdl9WecGj=Fw5fe)bRlZx zIJZSlrm0JLr(Cr^kt;izDVw?E(JYl4M%eyOujb-a@G+&)&4PrRm!;+V zH1EX;TWSIP$hqN+H~d9nrxEj*)obqXI40>ky!2>|c6z*q|MvT#$G8KZ@s#llA+e{O>yqg<2rRQG9VKRGpuO zB+J(#pN9>u0>eq_97nP8#a>{d#edqR>VLe)zKX(7D24&!|EB9^90tozW~2d=@j@?+=B38HBgONMMG6rzn8`i2axo{^=U6G{;- zVu0=;VrAkfvQGH{+49OAteYfzl__c=L zX!xy$-)Z>0hCgWdqlQ0e__L;zrYba5sVSeP{F(}AO4C$OQ&pPMH8n$1hNfm}YL=#| zHC3ajT20kys$NsGHPxW0IXY${rK46zy^z^L<_ei7BqU@3939J%*0Dm!QXJN?T1Yh} zb<_x{6A}`#5Jz+@!%-b;a7;8G7m;gqoP+CxT(4smZV=%UV(msz^$Hzx@X9LgsX9;h{!vIce{>NxI>JSG~r#sd$-8FM@IwRD{}9X{oN_n-Y*-!ORRlBMp+&OQv5a?um^}(~ERF z*7*O>?@lYMEUUn=jyT~iJDMK15{_#q)KnU!@d-QO&Xi*+)RhQtVMtvK^`*?DIc~Y! z`6b+5^QfJ6`pks6pC=&hEiRe04%1?|J?g~l#AfNc63eEM=#8ZuOAb=h)aHa@c6duH z?ip?@@&?k*MB3p|S|%e#`Bk~O(v#1j#AOvuy`@wz$Ng`?j`Y}=3#o>3;YW@XY%YdfsL_5%-N(6=;U!& zNowh|M=gb!%%hZJCY(KHJk2rL6GxdHooR=I&7(0k`sO21YeEh)MV=gs!mO?BTbJx2 z_C&;{K4FAQ8H=V(r5v8i3y6w#9xsz>VOb5kY&-6ijOt$Ie}8&>#7gcmM`TwG#emB; zyJBYCmXy!&399WZ0(ty!)4g`ojPEg%Fr-9ZJUBn&!Dj4SAI{?v6@|Axq@hEU)A%l*%4u-V^m+ zP~GLb4kYc#T#<1#q@7qi?0($5`vx&LP6!eK32V~JbF$cH#qil~J<+8pOih^4LrnY$ zuf}K-Qkddg?;~Vc5qv4P=;+eq*UU*-P6wCq9y3T3TALHHBMQ&pL=pTNNAfNA`1v~) zcSe35Ya-LTf4p~7>zCPk3;{m2fK;eX%c3om!Okhni)3*@2C>i-X0vgAnNKWD9|;;?v37&@)-iT>U+-cX6>h&z|&Kx<<`R7aZRKyki~}HX8KYWsS9SYariWbGw2w~v8p`Q z-V)Xfj};Y`tHMtebkSAe^CtUbGRLa)SUn{y-DB+&Rx1P0KGfPGlwlgC^PAc3&9%{7 z+m~y5a_v58TkoeoUX*(Hf&?F9LB7T6_gBaEAHE^ftn zxPvjg3m4#CT!>S+2oGZ&9>;n-#Z^$};fWjsRuV!L)LbP;$gOTI9*pizY@o?DE;+Zb zWIe+yOXkaxDTE@;45Wc?qi2T-x`bx124XS z9q%iQuR2-W#xlAMY$m3*Fy32K;oL7qY0YANo4>XOkNDdH z_n@KCH-$Bk#z18QE5OTnfJ2Rbjv51xW-t<2r&Zkf(zExVrpguf_rd=!T;#ysDT6KroG|2D*k=!3YAGpDeF!Q*q=3m%@~IR$9(I*G*p6FfJd zX9jM$#Asa`bkf_ko{rW;8U)ca%V IslZSE1EH!9NdN!< diff --git a/environments/Momo/java/Momo/GAG/TextEditor.java b/environments/Momo/java/Momo/GAG/TextEditor.java deleted file mode 100644 index a5ee95e058..0000000000 --- a/environments/Momo/java/Momo/GAG/TextEditor.java +++ /dev/null @@ -1,131 +0,0 @@ -// jdk-1.1.3 (or later) + swing-1.0.2 -// JFileChooser is to be used soon. -// -package GAG; - -import java.awt.*; -import java.awt.event.*; -import java.io.*; -import java.net.URL; -import java.util.*; - -import com.sun.java.swing.text.*; -import com.sun.java.swing.*; - -class TextEditor extends JFrame implements ActionListener { - private JMenuItem newf, open, save, cut, copy, paste; - private JTextArea editor; - private JToolBar toolbar; - protected FileDialog fileDialog; - - TextEditor() { - super("GAG TextEditor"); - getContentPane().setLayout(new BorderLayout()); - editor = new JTextArea(); - editor.setFont(new Font("Serif", Font.BOLD, 12)); - JScrollPane scroller = new JScrollPane(); - //scroller.setVerticalScrollBarPolicy(JScrollPane.SCROLLBARS_ALWAYS); - JViewport port = scroller.getViewport(); - port.add(editor); - port.setBackingStoreEnabled(false); - setJMenuBar( createMenubar() ); - getContentPane().add("Center", scroller); - pack(); - setSize(500, 600); - show(); - } - JMenuBar createMenubar(){ - JMenu file, edit; - JMenuBar mb = new JMenuBar(); - file = new JMenu("File"); - file.add(newf = new JMenuItem("New")); - file.add(open = new JMenuItem("Open")); - file.add(save = new JMenuItem("Save")); - edit = new JMenu("Edit"); - edit.add(cut = new JMenuItem("Cut")); - edit.add(copy = new JMenuItem("Copy")); - edit.add(paste = new JMenuItem("Paste")); - mb.add(file); - mb.add(edit); - newf.addActionListener(this); - open.addActionListener(this); - save.addActionListener(this); - cut.addActionListener(this); - copy.addActionListener(this); - paste.addActionListener(this); - return mb; - } - void writeString(String s){ - editor.append(s); - } - void writeLine(String s){ - editor.append(s+"\n"); - } - - public static void main(String[] args) { - new TextEditor(); - } - public void actionPerformed(ActionEvent e) { - Object o = e.getSource(); - if (o == newf){newAction(); return;} - if (o == open){openAction(); return;} - if (o == save){saveAction(); return;} - if (o == cut){editor.cut(); return;} - if (o == copy){editor.copy(); return;} - if (o == paste){editor.paste(); return;} - } - void newAction(){ - editor.setDocument(new PlainDocument()); - validate(); - } - void openAction(){ - if (fileDialog == null) { - fileDialog = new FileDialog(this); - } - fileDialog.setMode(FileDialog.LOAD); - fileDialog.show(); - - String file = fileDialog.getFile(); - if (file == null) { - return; - } - newAction(); - String directory = fileDialog.getDirectory(); - File f = new File(directory, file); - StringBuffer sb = new StringBuffer(); - if (f.exists()) { - setTitle(file); - try{ - Reader in = new FileReader(f); - char[] buff = new char[4096]; - int nch; - while ((nch = in.read(buff, 0, buff.length)) != -1) { - sb.append(new String(buff, 0, nch)); - } - }catch(IOException e){ System.err.println(e.getMessage()); } - editor.setText(sb.toString()); - validate(); - } - } - void saveAction(){ - String saveText; - if (fileDialog == null) { - fileDialog = new FileDialog(this); - } - fileDialog.setMode(FileDialog.LOAD); - fileDialog.show(); - - String file = fileDialog.getFile(); - if (file == null) { - return; - } - String directory = fileDialog.getDirectory(); - File f = new File(directory, file); - try{ - FileOutputStream fo = new FileOutputStream(f); - PrintWriter outf = new PrintWriter(new DataOutputStream(fo)); - outf.println(editor.getText()); - outf.close(); - }catch(IOException e){ System.err.println(e.getMessage()); } - } -} diff --git a/environments/Momo/java/Momo/GAG/g4.eps b/environments/Momo/java/Momo/GAG/g4.eps deleted file mode 100644 index 17f6bb30aa..0000000000 --- a/environments/Momo/java/Momo/GAG/g4.eps +++ /dev/null @@ -1,316 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%BoundingBox: 56.6929134 56.6929134 538.582677 785.19685 -% FILE: g4.eps - -% DEFAULT FONT: -/Times-Roman findfont 24 scalefont setfont - -% DEFAULT COLOR: -0 0 0 setrgbcolor - -% DEFAULT LINE: -0.283464567 setlinewidth -[1.41732283] 0 setdash - -% DEFINE PostScript Functions: -/PATH -{/POINT 0 def - /X 0 def - newpath - {X 1 eq{POINT 0 eq{moveto - /POINT 1 def - }{lineto }ifelse - /X 0 def - }{/X X 1 add def}ifelse - }forall -} def -/FILLPOLYGON{ PATH closepath fill }def -/DRAWFILLPOLYGON{ PATH closepath gsave stroke grestore fill }def -/DRAWPOLYGON{ PATH closepath stroke }def -/DRAWPATH { PATH stroke } def -/BOXPATH -{/X 0 def - {X 0 eq{/LLX exch def}if - X 1 eq{/LLY exch def}if - X 2 eq{/URX exch def}if - X 3 eq{/URY exch def}if - /X X 1 add def - }forall - LLX LLY moveto - URX LLY lineto - URX URY lineto - LLX URY lineto - closepath -}def - -% CLIPPING: -[56.6929134 56.6929134 538.582677 785.19685] BOXPATH clip - -% PARAMETERS: -% Generated by Fukui Renderer DAWN version 3.29a-GL -% O.x = 0 -% O.y = 0 -% O.z = 0 -% camera_d = 1558850 -% v_angle = 60 -% h_angle = 30 -% focal_d = 3458.17 -% e_2d = 1e-07 -% e_3d = 0.001 - -0 0.25 0.25 setrgbcolor -0 setlinewidth -[] 0 setdash -[ 363.165918 408.693432 256.427578 377.879528 252.86612 375.752036 359.604152 406.565893 ] DRAWFILLPOLYGON -0 0.343791747 0.343791747 setrgbcolor -[ 342.407747 466.135989 235.669053 435.324424 239.816417 435.422276 346.555396 466.233966 ] DRAWFILLPOLYGON -0 0.356663203 0.356663203 setrgbcolor -[ 346.555396 466.233966 239.816417 435.422276 244.267157 433.483565 351.00638 464.295449 ] DRAWFILLPOLYGON -0 0.25 0.25 setrgbcolor -[ 365.899023 412.705817 259.160374 381.891948 256.427578 377.879528 363.165918 408.693432 ] DRAWFILLPOLYGON -0 0.362265738 0.362265738 setrgbcolor -[ 351.00638 464.295449 244.267157 433.483565 248.717958 429.640389 355.457366 460.452524 ] DRAWFILLPOLYGON -0 0.25 0.25 setrgbcolor -[ 367.617199 418.329626 260.878259 387.51587 259.160374 381.891948 365.899023 412.705817 ] DRAWFILLPOLYGON -0 0.256866467 0.256866467 setrgbcolor -[ 368.203339 425.181607 261.464149 394.368036 260.878259 387.51587 367.617199 418.329626 ] DRAWFILLPOLYGON -0 0.360217548 0.360217548 setrgbcolor -[ 355.457366 460.452524 248.717958 429.640389 252.865496 424.154646 359.605017 454.967071 ] DRAWFILLPOLYGON -0 0.285689009 0.285689009 setrgbcolor -[ 367.617491 432.794801 260.878106 401.981473 261.464149 394.368036 368.203339 425.181607 ] DRAWFILLPOLYGON -0 0.350658214 0.350658214 setrgbcolor -[ 359.605017 454.967071 252.865496 424.154646 256.427108 417.400182 363.166664 448.212916 ] DRAWFILLPOLYGON -0 0.737185032 0.737185032 setrgbcolor -[ 260.878259 387.51587 261.464149 394.368036 260.878106 401.981473 259.160064 409.837318 256.427108 417.400182 252.865496 424.154646 248.717958 429.640389 244.267157 433.483565 239.816417 435.422276 235.669053 435.324424 232.107697 433.196701 229.37504 429.184131 227.657293 423.560179 227.071504 416.708112 227.657584 409.094876 229.375589 401.23928 232.108444 393.676647 235.669918 386.922333 239.817317 381.436619 244.268017 377.593345 248.718719 375.654432 252.86612 375.752036 256.427578 377.879528 259.160374 381.891948 ] DRAWFILLPOLYGON -0 0.33423919 0.33423919 setrgbcolor -[ 363.166664 448.212916 256.427108 417.400182 259.160064 409.837318 365.899573 440.65036 ] DRAWFILLPOLYGON -0 0.312079403 0.312079403 setrgbcolor -[ 365.899573 440.65036 259.160064 409.837318 260.878106 401.981473 367.617491 432.794801 ] DRAWFILLPOLYGON -0 0 0 setrgbcolor -0.283464567 setlinewidth -[ 256.427578 377.879528 252.86612 375.752036] DRAWPATH -[ 252.86612 375.752036 359.604152 406.565893] DRAWPATH -[ 359.604152 406.565893 363.165918 408.693432] DRAWPATH -[ 342.407747 466.135989 235.669053 435.324424] DRAWPATH -[ 235.669053 435.324424 239.816417 435.422276] DRAWPATH -[ 346.555396 466.233966 342.407747 466.135989] DRAWPATH -[ 239.816417 435.422276 244.267157 433.483565] DRAWPATH -[ 351.00638 464.295449 346.555396 466.233966] DRAWPATH -[ 259.160374 381.891948 256.427578 377.879528] DRAWPATH -[ 363.165918 408.693432 365.899023 412.705817] DRAWPATH -[ 244.267157 433.483565 248.717958 429.640389] DRAWPATH -[ 355.457366 460.452524 351.00638 464.295449] DRAWPATH -[ 260.878259 387.51587 259.160374 381.891948] DRAWPATH -[ 365.899023 412.705817 367.617199 418.329626] DRAWPATH -[ 261.464149 394.368036 260.878259 387.51587] DRAWPATH -[ 367.617199 418.329626 368.203339 425.181607] DRAWPATH -[ 248.717958 429.640389 252.865496 424.154646] DRAWPATH -[ 359.605017 454.967071 355.457366 460.452524] DRAWPATH -[ 260.878106 401.981473 261.464149 394.368036] DRAWPATH -[ 368.203339 425.181607 367.617491 432.794801] DRAWPATH -[ 252.865496 424.154646 256.427108 417.400182] DRAWPATH -[ 363.166664 448.212916 359.605017 454.967071] DRAWPATH -[ 260.878259 387.51587 261.464149 394.368036] DRAWPATH -[ 261.464149 394.368036 260.878106 401.981473] DRAWPATH -[ 260.878106 401.981473 259.160064 409.837318] DRAWPATH -[ 259.160064 409.837318 256.427108 417.400182] DRAWPATH -[ 256.427108 417.400182 252.865496 424.154646] DRAWPATH -[ 252.865496 424.154646 248.717958 429.640389] DRAWPATH -[ 248.717958 429.640389 244.267157 433.483565] DRAWPATH -[ 244.267157 433.483565 239.816417 435.422276] DRAWPATH -[ 239.816417 435.422276 235.669053 435.324424] DRAWPATH -[ 235.669053 435.324424 232.107697 433.196701] DRAWPATH -[ 232.107697 433.196701 229.37504 429.184131] DRAWPATH -[ 229.37504 429.184131 227.657293 423.560179] DRAWPATH -[ 227.657293 423.560179 227.071504 416.708112] DRAWPATH -[ 227.071504 416.708112 227.657584 409.094876] DRAWPATH -[ 227.657584 409.094876 229.375589 401.23928] DRAWPATH -[ 229.375589 401.23928 232.108444 393.676647] DRAWPATH -[ 232.108444 393.676647 235.669918 386.922333] DRAWPATH -[ 235.669918 386.922333 239.817317 381.436619] DRAWPATH -[ 239.817317 381.436619 244.268017 377.593345] DRAWPATH -[ 244.268017 377.593345 248.718719 375.654432] DRAWPATH -[ 248.718719 375.654432 252.86612 375.752036] DRAWPATH -[ 252.86612 375.752036 256.427578 377.879528] DRAWPATH -[ 256.427578 377.879528 259.160374 381.891948] DRAWPATH -[ 259.160374 381.891948 260.878259 387.51587] DRAWPATH -[ 256.427108 417.400182 259.160064 409.837318] DRAWPATH -[ 365.899573 440.65036 363.166664 448.212916] DRAWPATH -[ 259.160064 409.837318 260.878106 401.981473] DRAWPATH -[ 367.617491 432.794801 365.899573 440.65036] DRAWPATH -0 1 0 setrgbcolor -[ 264.328583 443.597384 259.895233 643.551148] DRAWPATH -[ 279.166803 383.472354 415.444902 99.051835] DRAWPATH -[ 262.437441 443.05148 -24.086577 565.879451] DRAWPATH -[ 229.117341 412.249044 64.3088635 153.960869] DRAWPATH -[ 272.827096 446.050595 24.9274199 748.650859] DRAWPATH -[ 258.466551 390.987192 258.466551 390.987192] DRAWPATH -0 0 1 setrgbcolor -[ 260.630197 389.493408 260.630197 389.493408] DRAWPATH -1 0 0 setrgbcolor -[ 193.862307 404.896273 229.443349 415.167457] DRAWPATH -0 1 0 setrgbcolor -[ 279.068678 383.677146 279.166803 383.472354] DRAWPATH -1 0 0 setrgbcolor -[ 229.443349 415.167457 229.443349 415.167457] DRAWPATH -[ 231.38415 415.724252 231.413979 415.732659] DRAWPATH -0 1 0 setrgbcolor -[ 229.462547 415.154797 229.462547 415.154797] DRAWPATH -[ 229.117341 412.249044 229.117341 412.249044] DRAWPATH -[ 232.265397 419.631173 232.240701 419.678418] DRAWPATH -1 0 0 setrgbcolor -[ 232.265397 419.631173 232.242895 419.67184] DRAWPATH -0 1 0 setrgbcolor -[ 227.080395 416.812114 -88.0277439 381.44444] DRAWPATH -[ 232.530793 433.449478 219.027456 833.512198] DRAWPATH -[ 233.485721 405.157887 233.485721 405.157887] DRAWPATH -[ 227.964937 424.567415 71.9497245 603.106657] DRAWPATH -0 0 1 setrgbcolor -[ 231.950035 416.688529 231.950035 416.688529] DRAWPATH -0 1 0 setrgbcolor -[ 229.414352 415.111112 229.414352 415.111112] DRAWPATH -[ 228.56948 426.546707 159.16286 564.420323] DRAWPATH -[ 235.10191 413.570282 235.10191 413.570282] DRAWPATH -1 0 0 setrgbcolor -[ 227.566556 422.498821 226.343667 423.088111] DRAWPATH -[ 254.056151 409.73393 254.056151 409.73393] DRAWPATH -0 1 0 setrgbcolor -[ 229.432695 415.067496 229.432695 415.067496] DRAWPATH -[ 229.397805 415.049856 229.397805 415.049856] DRAWPATH -1 0 0 setrgbcolor -[ 238.550244 417.264691 238.524123 417.290028] DRAWPATH -0 1 0 setrgbcolor -[ 229.541661 415.133287 229.541661 415.133287] DRAWPATH -[ 229.443024 415.360964 229.443024 415.360964] DRAWPATH -[ 229.557862 413.676111 229.557862 413.676111] DRAWPATH -[ 229.474919 415.280559 229.474919 415.280559] DRAWPATH -[ 243.206956 419.39126 243.200938 419.401456] DRAWPATH -[ 229.833983 416.572518 229.833983 416.572518] DRAWPATH -[ 243.510512 418.014941 243.537849 417.983114] DRAWPATH -[ 229.277074 418.526291 229.277074 418.526291] DRAWPATH -[ 229.362005 416.651469 229.362005 416.651469] DRAWPATH -0 0 1 setrgbcolor -[ 247.784449 420.679525 247.784449 420.679525] DRAWPATH -1 0 0 setrgbcolor -[ 248.338818 420.51525 248.329746 420.487606] DRAWPATH -[ 247.940744 421.270645 247.953346 421.274654] DRAWPATH -0 1 0 setrgbcolor -[ 229.132734 415.202853 229.132734 415.202853] DRAWPATH -[ 227.427963 416.932831 227.427963 416.932831] DRAWPATH -[ 348.447035 448.404037 348.759509 448.787024] DRAWPATH -1 0 0 setrgbcolor -[ 249.017077 421.824763 249.017047 421.831449] DRAWPATH -0 1 0 setrgbcolor -[ 348.759509 448.787024 573.846362 724.658576] DRAWPATH -0 0 1 setrgbcolor -[ 249.518627 417.75022 249.518627 417.75022] DRAWPATH -[ 249.498203 417.81173 249.518627 417.75022] DRAWPATH -1 0 0 setrgbcolor -[ 251.141383 419.74193 251.150158 419.698439] DRAWPATH -0 1 0 setrgbcolor -[ 228.972351 416.166003 228.972351 416.166003] DRAWPATH -1 0 0 setrgbcolor -[ 253.657471 422.652695 253.680414 422.657931] DRAWPATH -[ 228.490117 416.908859 228.490117 416.908859] DRAWPATH -[ 254.136266 420.756403 254.117884 420.752679] DRAWPATH -0 1 0 setrgbcolor -[ 231.435234 411.280743 231.435234 411.280743] DRAWPATH -1 0 0 setrgbcolor -[ 226.630692 421.821743 226.487144 422.856886] DRAWPATH -[ 226.343667 423.088111 226.630692 421.821743] DRAWPATH -[ 226.487144 422.856886 226.671553 423.064338] DRAWPATH -[ 226.671553 423.064338 226.601259 422.859458] DRAWPATH -[ 226.601259 422.859458 226.598915 422.884838] DRAWPATH -[ 226.343667 423.088111 96.1632207 485.477746] DRAWPATH -0 0 1 setrgbcolor -[ 254.087015 418.842954 254.087015 418.842954] DRAWPATH -0 1 0 setrgbcolor -[ 228.854869 403.620282 -79.9841558 192.435383] DRAWPATH -1 0 0 setrgbcolor -[ 255.774357 419.827002 255.782155 419.830599] DRAWPATH -0 1 0 setrgbcolor -[ 227.962616 424.559816 -64.1673552 510.023397] DRAWPATH -0 0 1 setrgbcolor -[ 258.978899 423.615132 258.978899 423.615132] DRAWPATH -[ 260.253232 421.981488 260.253232 421.981488] DRAWPATH -1 0 0 setrgbcolor -[ 264.779562 427.715258 264.777309 427.715654] DRAWPATH -[ 266.93389 428.488954 267.016701 428.51101] DRAWPATH -0 0 1 setrgbcolor -[ 272.197483 428.099623 272.197483 428.099623] DRAWPATH -[ 266.454545 424.031458 266.454545 424.031458] DRAWPATH -0 1 0 setrgbcolor -[ 278.22765 447.609537 476.061991 811.345174] DRAWPATH -[ 230.689664 431.114494 -84.0170457 483.276715] DRAWPATH -0 0 1 setrgbcolor -[ 289.495085 432.665363 289.495085 432.665363] DRAWPATH -0 1 0 setrgbcolor -[ 360.567866 453.141165 501.779623 494.053404] DRAWPATH -[ 274.81961 382.089718 281.507704 278.709227] DRAWPATH -0 0 1 setrgbcolor -[ 283.267243 433.30677 283.267243 433.30677] DRAWPATH -0 1 0 setrgbcolor -[ 352.646892 462.879051 523.597944 535.650842] DRAWPATH -[ 294.629734 452.34422 426.845285 796.63278] DRAWPATH -[ 272.832964 446.052288 70.2896649 608.782654] DRAWPATH -[ 365.624887 441.410478 520.031697 460.512511] DRAWPATH -0 0 1 setrgbcolor -[ 293.898461 435.639168 293.898461 435.639168] DRAWPATH -0 1 0 setrgbcolor -[ 294.741327 452.376433 279.243037 807.586243] DRAWPATH -[ 367.683413 431.938129 529.254118 435.985576] DRAWPATH -[ 321.863328 460.205565 366.946012 499.352072] DRAWPATH -[ 323.720815 460.741754 514.68594 621.48418] DRAWPATH -0 0 1 setrgbcolor -[ 303.642892 437.467347 303.642892 437.467347] DRAWPATH -0 1 0 setrgbcolor -[ 353.092179 462.494596 482.719741 525.752758] DRAWPATH -0 0 1 setrgbcolor -[ 318.759707 423.56244 318.759707 423.56244] DRAWPATH -1 0 0 setrgbcolor -[ 315.180079 458.276355 432.087389 682.733455] DRAWPATH -0 1 0 setrgbcolor -[ 315.088226 458.24984 440.26874 700.16838] DRAWPATH -[ 351.0125 464.290165 530.525426 549.181302] DRAWPATH -[ 364.889743 443.44478 525.442294 476.360298] DRAWPATH -[ 319.695546 459.579805 480.094269 734.889045] DRAWPATH -[ 350.758764 464.403292 543.776363 545.188437] DRAWPATH -[ 296.626665 452.920661 286.817084 474.067408] DRAWPATH -0 0 1 setrgbcolor -[ 228.962805 403.12674 219.945446 394.483225] DRAWPATH -1 0 0 setrgbcolor -[ 235.976065 411.704248 236.002186 411.724193] DRAWPATH -0 1 0 setrgbcolor -[ 305.170023 390.85148 215.516274 196.797811] DRAWPATH -[ 360.386023 453.486004 571.67512 510.756953] DRAWPATH -[ 360.849831 452.606459 500.88611 527.200735] DRAWPATH -0 0 1 setrgbcolor -[ 219.945446 394.483225 103.734142 273.199056] DRAWPATH -1 0 0 setrgbcolor -[ 219.945446 394.483225 223.109363 392.98258] DRAWPATH -[ 223.109363 392.98258 224.012389 390.623768] DRAWPATH -[ 224.012389 390.623768 225.260273 389.63598] DRAWPATH -[ 225.260273 389.63598 226.112176 386.927522] DRAWPATH -[ 226.112176 386.927522 227.008066 385.971662] DRAWPATH -[ 228.860937 380.110527 228.379431 378.702407] DRAWPATH -[ 230.704864 380.981206 228.860937 380.110527] DRAWPATH -[ 227.008066 385.971662 229.219277 384.992072] DRAWPATH -[ 226.244777 379.24149 226.429013 378.94604] DRAWPATH -[ 226.925635 379.459864 226.244777 379.24149] DRAWPATH -[ 226.429013 378.94604 226.446446 378.904656] DRAWPATH -[ 227.879853 379.54638 226.925635 379.459864] DRAWPATH -[ 228.379431 378.702407 227.879853 379.54638] DRAWPATH -[ 229.219277 384.992072 229.965354 384.227034] DRAWPATH -[ 230.428695 382.924359 230.704864 380.981206] DRAWPATH -[ 229.965354 384.227034 230.428695 382.924359] DRAWPATH -[ 103.734142 273.199056 102.894987 274.236229] DRAWPATH -0 0 1 setrgbcolor -[ 103.734142 273.199056 26.9973037 206.282819] DRAWPATH -1 0 0 setrgbcolor -[ 102.894987 274.236229 102.51116 273.516345] DRAWPATH -[ 102.560512 272.763499 102.923606 272.873917] DRAWPATH -[ 102.923606 272.873917 103.206417 273.058928] DRAWPATH -[ 103.206417 273.058928 103.131555 273.311725] DRAWPATH -[ 103.131555 273.311725 103.132598 273.316082] DRAWPATH -[ 102.51116 273.516345 102.026106 273.051121] DRAWPATH -[ 102.026106 273.051121 102.560512 272.763499] DRAWPATH diff --git a/environments/Momo/java/Momo/GAG/gag.class b/environments/Momo/java/Momo/GAG/gag.class deleted file mode 100644 index db91d5c7ccdf11374a032fc1fdb346e6d8d84c3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 411 zcmYjN%SyvQ6g`tZ(x&Od2lZLOU94z#ZWKX^79r>&5)fC@ID{$5q@)w6pXJ7if*;^V ziFZV(8FDY@afdtS>-+r^B^+VT#+r>y8{0N^95B=!;;EG37}#*phU;PjO&2}17)stj z$WZpKP3w9O{)9jALBdr$2y`x0d}@U1nN(7rlW~|m3Wnw|Q!~w#4tY`#b}r|Um}*HZ zgFU(!4d`cR`%;OUA{~qTj*k;Ew)`yONyu|)FqxeoEAmKONu!pap2| zp|f1-c03UgdHzws^Gu7Brc*8z&6(zB*%bS*==J8aP{%G>lt72j31N%+>Ic~U0u}$T y|B71a4fYGM4C_Xt$bbfFaM7f*0+Szw_jgB+IwMD=zd&_4R{bUGRJ$Zv*!ls_7)%xb diff --git a/environments/Momo/java/Momo/GAG/gag.java b/environments/Momo/java/Momo/GAG/gag.java deleted file mode 100644 index faee532326..0000000000 --- a/environments/Momo/java/Momo/GAG/gag.java +++ /dev/null @@ -1,15 +0,0 @@ -// GAG (Geant4 Adaptive GUI) -// Requires : JDK 1.1.3 (or later) + swing-1.0.2 -// Version : alpha 1998/Mar/30 -// GEANT4 GUI Group Toshiaki Kodama -// 1998 July 6 GEANT4 Beta-01 - -import GAG.GAG; - -public class gag { - public static void main(String args[]){ - GAG gag = new GAG(); - gag.mainLoop(args); - System.exit(0); - } -} diff --git a/environments/Momo/java/Momo/GGE/AbstractGGEFrame.class b/environments/Momo/java/Momo/GGE/AbstractGGEFrame.class deleted file mode 100644 index 4f380a4e1434f7712d0d85f78858766a9de519fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 929 zcmaiz&2G~`6ot>EZXFz_Nud=gQ2GP3Ar<%miYirUS`|gG2ny?oJ*@^gGnG9_3U9>* zP#1lGK2+5^b{Zoj)a4O5fw(43xjPZB;73~T>N@2wMZ*3l8Q>m999!<8BE zcucj|y$Z#pk)$#-dQyo`bR_F$V~ zJ=CKh9jhP_vUse`^CC$apIyK820p3Zm5 zZA5F+3n}QM(8vilB4Y4!r4#Gami3|}YqW>FJ{FYX!^m8dp;q!-+PT@nXN59b`12)w zugKW~qq9+ggGB&Uy69+-wn|U?SqG@K_kY7}w|}AflVpacbYG^^1h_O-g*{XZZ%E4r z*QrynWPw`%1TyTFV>QCI%Q2s@*X3B9u)T83n%^nM8ic)?W7|~Ooh~l?!J}fg_J6ZU LI$4%^98c~67r41O diff --git a/environments/Momo/java/Momo/GGE/AbstractGGEFrame.java b/environments/Momo/java/Momo/GGE/AbstractGGEFrame.java deleted file mode 100644 index f73e7511df..0000000000 --- a/environments/Momo/java/Momo/GGE/AbstractGGEFrame.java +++ /dev/null @@ -1,19 +0,0 @@ -import java.awt.event.*; -import com.sun.java.swing.*; -import java.io.Serializable; - -abstract class AbstractGGEFrame extends JFrame implements WindowListener, Serializable { - AbstractGGEFrame(String title){ - super(title); - addWindowListener(this); - } - public void windowDeiconified(WindowEvent event) {} - public void windowIconified(WindowEvent event) {} - public void windowActivated(WindowEvent event) {} - public void windowDeactivated(WindowEvent event) {} - public void windowOpened(WindowEvent event) {} - public void windowClosed(WindowEvent event) {} - public void windowClosing(WindowEvent event) { - System.exit(0); - } -} diff --git a/environments/Momo/java/Momo/GGE/AngUnitCombo.class b/environments/Momo/java/Momo/GGE/AngUnitCombo.class deleted file mode 100644 index 914b872e4aae279b59ed051081281b4cadb1367a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362 zcmYjNOHRWu6dWg^2_bEvqAeg6EK4QG0YD&#KmtXu0J?V)D{__CRX)&bu>pw%2jEbM z7q777@tZduYo338zrJDP1P30b9`-!!yXd=^_}GBg!DfH}etbU%S1Em{HLd#mBER0CK&pWR&~Qwv*1Nb+`n0; zV%13MG7Mv>#6w#qqI%{@LGmEhDK8ehk{zcj{*!L2RNTr=b$OQEHKJrVOm!L7tqM)f z`b|>Mdz0o`uW5`-b%7 diff --git a/environments/Momo/java/Momo/GGE/AngUnitCombo.java b/environments/Momo/java/Momo/GGE/AngUnitCombo.java deleted file mode 100644 index 4bc3252ab8..0000000000 --- a/environments/Momo/java/Momo/GGE/AngUnitCombo.java +++ /dev/null @@ -1,9 +0,0 @@ -import com.sun.java.swing.*; - -class AngUnitCombo extends JComboBox { - AngUnitCombo(){ - addItem("rad"); - addItem("mrad"); - addItem("deg"); - } -} diff --git a/environments/Momo/java/Momo/GGE/BREPDialog.class b/environments/Momo/java/Momo/GGE/BREPDialog.class deleted file mode 100644 index 9c208be33c48030626939f2d158e8fc1d4787554..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8114 zcma)Bd0>=PlK)j7`8v%<5&}V6KqI1rK#ZcI20TI%5C|dCNDO$;Nq-~_o$lD(A%Hqw zc;AlBcq=Nz6Gce}&7gRW_ch+vtj?_N?(EL&&dwh0xa0on`?@=gHna0b*L$z3UcGwt z>UjOWSO45~`ec?*X8YtspEUTS%_pb&q}?ZH_~cBVtn$fuJ{dIR zXhV)Mq|T5N45>Gy$&gkT7(A`GXB6z#Y0nm;9M37?`C@ANg7#ii@RA=#;+HDrWgWiaMyn z=L)_kCf~1BtH0AVzAQ#PzEWL&Q;dD^TR-OD@0I$sQokui4gSH8WATr=8G>s3lTv@D zOa8MO_Fw#%j^8WzgIe-mmGEzB=Rc}l{@srQ@FxZTp@jcbb^l9y|E)@Xt4jWlABW=4 zejJ4Fbjkl!L;OX1-xCNF2=^;4Kjtc!Ep93)9wm6WBPmi~=+H;iq}Y_Bq(VVJ!F~!R zDmXyFWCaH+n5v*k!E^FfDR^B8Z%BE_^s`DpuyeXe5_)MBj`CLvBK;WrdvZzu}RJnXXQyV+(s%ecj zTp$=-HLW=qk4C}^QdZAw!FZ0>gw};>L;b1RhIlL$io~o03FESaXeicIyQE`{)tMr? zVh{AvzE~>KWBrIdm`X%qUHRy~R3uuvoHF7noEj}xS&f;+?KN_fDykObvz4c^2m91Ua5bx=T z&yBC2tvodac~YT{s8zd6VV-p5ul-y2ms+u~m7sZbM%Di}V{treMQzrxRrzNW<%U#1 z^&Z%s-gwN4rDpGOoLQt`pTf)(b7Vov$b$0|k?`D57kwj{O3*t}NqhAT{=S`ZI2+{F=EL|-#A&;*)v?1P?S{#anx-y18 zAdhOTqs?mTJ5yYuN&EIXllQ{W97(1u4G&!;kYS3%YnSw;dizrJM=R80)9Ny`d_znt z|hi4H82|^p=i8I zP&zU=R0C7s%f>B<4c+m0(yB~#Ta}e7Dw)WilA#hk>&vu?Ixd1qbP%+k`**VADoY&Joe z<5o`T(X>VKJTT+AIb^=us?p<}q3H5ZBBE)UN9kF*IJDkwB6L7+ zFcMa5seQWn$2rQzWSy}%S0#DS8CQx#>0ch*5|?QUC1R`_mDvfhLf~3S=c`;<$V?0K z4LLSHpmN(O4cS4`Y9&_36FpX#buttt97E`&sB8k_<&HSVZ&>KrUmEY{-a4ZU5f-=t z<*mLW$@JZs%1)YCfQQA;Ntc2t1<08*&bQfq1=uqFOm8nlY{*nu!KA&AokAukC_8KI zK%vQ*ST9Ix4s}>jhFGC_OYEp`4aI1?f|HfBx5>fIL_8Y(E0Z(MUU0iPrw|-mKr=n> zpcQqJryW*;!wc~JI0p5Qveyk>75=6jc_E{Ydia>u${>> z*?&~Hw>y$s&u8)e7fi)_xirnlyF{vc^O)8{sk}w=1Uc8LJp|>vCy&i37JH}=+`wBY9nRT- zt<|#bM7&?i9}B9jgk2)-3vPBDM`m8>WcBKyl%iOsK>Ffqv%%)(4VvN78|qw3hTc$u zVZpd&CuwoFtWyj+MRZ5(tAg@IV&pY=d5Wc?45;FS)e~Q5*`Dr8<^pt5(n{6$rQ!{| zf}|`b`gmK4_hgd9Xwv6$*{(#qFUC@+TI0S+7*$VqRu@`g($qjWlQ(5v>VpwUtO%VFxvyDDLdX zl2yHIkn7)1XLgQHH%TLrDHGl7<)T~rkz~X^#4*Y4c>iKv;`t{gTLJw^y~t$kowRlH zCN+UDCnfWL=BN+v*L4&eP3KI+12SoQQBxNJrm14C%5Hg@5}c6a&cV7sT>7i{;I z7YEym%0~qUv9)@}AnvOk#@O~D%o{|cI*sHoCbVno8N%{3ZXU)I5*M}94C9D)k9P=5 ziLBwAN$usXA*@_6h>O!$)s{iI9n?dLQYkgs8OBV?SW@R1#^LO=)Ol5EfGeC@SLEG= z$#q6Go2i4il7h>~(lm%IBi$bNEZ+cr9`L#caY4Xa;Tyz-0k3Be=iBhSfVX5258Ln& zo2fToRQQH5xqU{3FO79WI4v0PC~juJo2H;5yRWJRyxu|d2E3)V0E)bzdIzr5$y3|Q zd_!pEL}2;=i*60BQ0%pZ%ozCCZiqSLENCY>HmWt8F=I_55 z#xzb|Tvrk(c^p@zaYMj#&kXp}_^I6~N#n+V>B(Ze*-p{SVN7ffj2c3atiw21cd~5= zr__}ON{4Y+`xxvfYaPPLY24}{%Bsr7+2dQXmMyX^OPF&*$BXEUbVC}lS0f-$q!!DB zQC(S}EI*I}WwatAiJ_p8)L|QU2Rb-0l%*9pv^5#p8k^<`lw}XD%qHYk%4%oqMLX)4 z(T=BIniW!-k^YcMrztL;uI&)+;`q{Pp5NWuHS5U91UDee{sA!gd7_HxuZCYnj^Q_q zMf|oA?SOi@sV4154r??hj zxoZ_pb)AED*CwoRU4@md8*!TJcAW0of-_v(a3(X|D%UQAT+gG!^$I#&Zz1gZitX>P z+Vv-NxxPcU+lz?11Z&*;V6D3nQTJi!aUX}6y9IIg8R&Jd!CCHgNVqRV(tR0H?i;Yq zeH;4S4`97}7dE(G#76hWINSXt&T;<{=eobcc^)6m_l&~@o=RNkIRqDZj>g5F6L5)V zJ}&hv!eyQ%xZJah-#=XXTJDqqe9fyRkGmC7_RqzgxDs~}a}_=DlH8sr!^INJf>_PmGvce1>mv4EcySN;`NhMrk?haX zsg$j1m?Ip`u9z^4*_sDvq%_VQ!Wn5qmkwY|Tb5qJky{Ps-TeKVigYY>kaqcFZajA< zE+53E0hHR4m}J>^XXssN^bO+C%xFs*8+PNwL0p$XFsVC;)r#QMix_-swf`7(^)kw) z;5am4IojFUvB-Xf?t;_-{_ZEw0J$EZ4IgBr4KTvC(#DJsY~$}y@^9np$FKt1(ZRlj z9gNj9Hera?-ibT#BxCg{`V+q=W&G&_N_KOVHB=>{sX*Hu=vK|r=%-^0hhB2omjtk28Z#s?RkXl+;0GL zsqr!NfYWgXTW7xu`JE7WnirjC$g!KhXZexuIcAaPaXen&oZX!DBIe;G&U~4_SD2Gt zMH^nDoR=x-b)1Pe5Wy}=49m349zS8kXv}P+F6Y={XLAv``qyd{EGS^KZJh7^Zl6F^%G{&&oB$0^Goj+jFT@h hA75c9GwJF0E%){n)-VgK$2Zu3ceumTDbFRx{vUW}xYqyx diff --git a/environments/Momo/java/Momo/GGE/BREPDialog.java b/environments/Momo/java/Momo/GGE/BREPDialog.java deleted file mode 100644 index 29e1006b87..0000000000 --- a/environments/Momo/java/Momo/GGE/BREPDialog.java +++ /dev/null @@ -1,241 +0,0 @@ -/* GGE (Geant4 Geometry Editor) - * Tetsuyay Yamada - * 9/9 - */ -// title no hyouji no henkou 1998 10 30 - - - -import java.awt.*; -import java.awt.event.*; -import java.util.*; -import java.io.*; -import java.lang.Runtime.*; - -import com.sun.java.swing.*; -import com.sun.java.swing.table.*; -import com.sun.java.swing.event.*; - -class BREPDialog extends SolidDialog implements ActionListener { - private BREPItem solid; - private JTextField phiField[], sidesField; - private JComboBox sphiAngUnit, dphiAngUnit; - private JButton addButton, delButton, view, okButton; - private JFrame frame; - private JTable zTable; - private String tableHead[] = {"Z","RMax","RMin","Unit"}; - private DefaultTableModel dataModel; - DAWNSourceFrame dawnSFrame; - - BREPDialog(SolidCellEditor parent, BREPItem solid){ - super(parent.parent, solid.toString()); - this.solid = solid; - dawnSFrame = new DAWNSourceFrame(); - getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS)); - - JPanel brepButtonPanel = new JPanel(); - brepButtonPanel.setLayout(new GridLayout(1,2)); - brepButtonPanel.add(okButton = new JButton(" OK ")); - brepButtonPanel.add(view = new JButton(" VIEW ")); - - getContentPane().add(brepButtonPanel); - - GridBagLayout gbl = new GridBagLayout(); - GridBagConstraints gbc = new GridBagConstraints(); - JPanel panel = new JPanel(gbl); - JLabel phiLabel[] = new JLabel[2]; - phiField = new JTextField[2]; - sphiAngUnit = new AngUnitCombo(); - dphiAngUnit = new AngUnitCombo(); - for (int i=0; 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 B!KMHJ diff --git a/environments/Momo/java/Momo/GGE/BREPItem.java b/environments/Momo/java/Momo/GGE/BREPItem.java deleted file mode 100644 index dda03778ab..0000000000 --- a/environments/Momo/java/Momo/GGE/BREPItem.java +++ /dev/null @@ -1,293 +0,0 @@ -// GGE (Geant4 Geometry Editor) -// Tetsuyay Yamada - - -import java.io.Serializable; -import java.util.*; -import java.lang.*; -import java.lang.Math; - -class BREPItem extends SolidItem { - static final int PCONE = 0, PGON = 1; - static final String solidName[] = {"PolyConeSegment","PolyGonSegment"}; - static final String brepName[] = {"PCone","Polyhedra"}; - static final String solidConstr[] = {"PolyConeSegment","PolyGonSegment"}; - static final String paraName[][] = { - {"StartPhiAngle", "DeltaPhiAngle","Z of a Section", "OuterRadius", - "InnerRadius"}, - {"StartPhiAngle", "DeltaPhiAngle", "NumberOfSides","Z of a Section", - "OuterRadius","InnerRadius"} - }; - - double phi[]; - private double boundZ, boundRmax, boundBox; - private double values[]; - int nSides, nZ; - String sAngUnit, dAngUnit; -//, lenUnit; - Vector zVector; - String dzA, rminA, rmaxA; - String sphi, dphi; - StringBuffer dz, rmin, rmax; - BREPItem(int solidType){ - super(solidType); - values = new double[paraName[solidType].length]; - phi = new double[2]; - zVector = new Vector(); - isEmpty = true; - } - public String toString(){ - return solidName[solidType]; - } - int getParaCount(){ - return paraName[solidType].length; - } - double getValues(int pos){ - return values[pos]; - } - - String getParaName(int pos){ - return paraName[solidType][pos]; - } - - String getCPP(String name){ - nZ = zVector.size(); - dz = new StringBuffer(""); - rmin = new StringBuffer(""); - rmax = new StringBuffer(""); - for(int s=0; sR_^S*~r!RZiSJoyX$Q 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 diff --git a/environments/Momo/java/Momo/GGE/CSGDialog.java b/environments/Momo/java/Momo/GGE/CSGDialog.java deleted file mode 100644 index 74fc8183fb..0000000000 --- a/environments/Momo/java/Momo/GGE/CSGDialog.java +++ /dev/null @@ -1,149 +0,0 @@ -/*GGE (Geant4 Geometry Editor) - *Tetsuyay Yamada - */ - -import java.io.*; -import java.lang.Runtime.*; -import java.awt.*; -import java.awt.event.*; - -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; - -class CSGDialog extends SolidDialog implements ActionListener{ - private JTextField paramField[]; - private JComboBox paramUnit[]; - private CSGItem solid; - private JButton viewButton, okButton; - DAWNSourceFrame dawnSFrame; - private String csgTitle; - private Process p; - - CSGDialog(SolidCellEditor parent, CSGItem solid){ - super(parent.parent, solid.toString()); - this.solid = solid; - - - JLabel lbl; - dawnSFrame = new DAWNSourceFrame(); - - GridBagConstraints gbc = new GridBagConstraints(); - GridBagLayout gbl = new GridBagLayout(); - getContentPane().setLayout(gbl); - - GridBagLayout csgGBL = new GridBagLayout(); - GridBagConstraints csgGBC = new GridBagConstraints(); - JPanel csgPanel = new JPanel(csgGBL); - - gbc.gridx = 0; csgGBC.gridy = 0; - gbc.gridwidth = GridBagConstraints.REMAINDER; gbc.gridheight = 1; - gbc.weightx = 1; gbc.weighty = 1; - gbc.fill = GridBagConstraints.HORIZONTAL; - gbc.anchor = GridBagConstraints.CENTER; - - JPanel csgButtonPanel = new JPanel(); - csgButtonPanel.setLayout(new GridLayout(1,2)); - csgButtonPanel.add(okButton = new JButton(" OK ")); - csgButtonPanel.add(viewButton = new JButton(" VIEW ")); - - gbl.setConstraints(csgButtonPanel, gbc); - getContentPane().add(csgButtonPanel); - - int paraCount = solid.getParaCount(); - paramField = new JTextField[paraCount]; - paramUnit = new JComboBox[paraCount]; - for (int i=0; i94n%@ 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 EA5(J}F#rGn diff --git a/environments/Momo/java/Momo/GGE/CSGItem.java b/environments/Momo/java/Momo/GGE/CSGItem.java deleted file mode 100644 index 4277eb588d..0000000000 --- a/environments/Momo/java/Momo/GGE/CSGItem.java +++ /dev/null @@ -1,194 +0,0 @@ -// GGE (Geant4 Geometry Editor) -// Tetsuya Yamada - -import java.lang.Math; - -class CSGItem extends SolidItem { - static final int BOX=0, TRD=1, TUBS=2, CONS=3 , SPHERE=4, PARALLEL=5, - TORUS=6, HYPE=7; - static final String solidName[] = {"Box","SymTrapezoid", - "TubeSegment","ConeSegment","SphereSegment", - "Parallelepiped","TorusSegment","HYPE"}; - - static final String csgName[] = {"Box","Trd","Tubs", - "Cons","Sphere","Para","Torus","Hype"}; - - static final String csgDAWNName[] = {"Box","Trd","Tubs", - "Cons","SphereSeg","Parallelepiped","Torus","Hype"}; - - static final String solidConstr[] = {"Box","Trapezoid","TubeSegment", - "ConeSegment","SphereSegment","Parallelepiped", - "TorusSegment","HYPE"}; - static final String paraName[][] = { - {"XHalfLength","YHalfLength","ZHalfLength"}, - {"XHalfLengthAt-dz", "XHalfLengthAt+dz", "YHalfLengthAt-dz", - "YHalfLengthAt+dz", "ZHalfLength"}, - {"InnerRadius", "OuterRadius", "ZHalfLength", "StartPhiAngle", - "DeltaPhiAngle"}, - {"InnerRadiusAt-dz", "InnerRadiusAt+dz", "OuterRadiusAt-dz", - "OuterRadiusAt+dz","ZHalfLength","StartPhiAngle","DeltaPhiAngle"}, - {"InnerRadius","OuterRadius","StartPhiAngle","DeltaPhiAngle", - "StartThetaAngle","DeltaThetaAngle"}, - {"XHalfLength","YHalfLength","ZHalfLength","Alpha", "Theta","phi"}, - {"InnerRadius","OuterRadius","SweptRadius","StartPhiAngle", - "DeltaPhiAngle"}, - {"InnerRadius","OuterRadius","InnerStereo","OuterStereo", - "ZHalfLength"}, - }; - static final boolean isAngl[][] = {{false, false, false}, - {false, false, false, false, false}, - {false, false, false, true, true}, - {false, false, false, false, false, true, true}, - {false, false, true, true, true, true}, - {false, false, false, true, true,true}, - {false, false, false, true, true}, - {false, false, true, true, false}, - }; - - private double values[]; - private String units[]; - private double mmValue; - private double bound; - - - CSGItem(int solidType){ - super(solidType); - values = new double[paraName[solidType].length]; - units = new String[isAngl[solidType].length]; - isEmpty = true; - } - int getParaCount(){ - return paraName[solidType].length; - } - double getValues(int pos){ - return values[pos]; - } - String getUnits(int pos){ - return units[pos]; - } - void setValuesUnits(int pos, double value, String unit){ - values[pos] = value; - units[pos] = unit; - isEmpty = false; - } - String getParaName(int pos){ - return paraName[solidType][pos]; - } - boolean isAngle(int pos){ - return isAngl[solidType][pos]; - } - public String toString(){ - return solidName[solidType]; - } - public String getCPP(String name){ - StringBuffer cpp = new StringBuffer("G4"+csgName[solidType]+ - " *solid" + name + "= new G4" + - csgName[solidType] +"(\"solid"+name+"\""); - for (int i=0; i-2PI -// pDPhi Delta angle of the segment in radians - -// pRMin1 inside radius at -Dz -// pRMin2 inside radius at +Dz -// pRMax1 outside radius at -Dz -// pRMax2 outside radius at +Dz -// pDz half length in z -// pSPhi starting angle of the segment in radians -// pDPhi delta angle of the segment in radian - - - - - - - - - diff --git a/environments/Momo/java/Momo/GGE/CreateLogicalDialog.class b/environments/Momo/java/Momo/GGE/CreateLogicalDialog.class deleted file mode 100644 index dec103f2659e5c7a0745dd124c1e6582cc2846d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2185 zcmZ`)TTdHD6#f<*cG)a91EJg!lK?U1VlHW$gfy)&kdm59F@=KKrfYj*HeK)1-8CfX zExq4csp@0jD)H8bNWqqhRH?7+Yx`&VQ1#60LQLgorE_M!IeX@uZ_b?goT%3-jZRmd&q65#UID=0dg8X$F_zq!8Ck@Wes2BWewjTrQutwYxoYgC3Hq2$!*(q zStPNu!>nAyb|MRw%N$R_ndngJj=rnM^*t}1v@K6JEaps0XggXkbt@lV&fH;HkKo$q z(7J?E(S-%BTcW9T+bkBCJMZWPHqEi2Xr;r#j%_i^oA$9vU)(laVLMNo3kQRhpm1C9 zbJ}wZD?h!(|L(3ZOzHRRqPM79dY;1PtLG|K*)GKpPh>sAw&wU)Se$=?MapnJ##!KQ z+5;mIdaygkJF4J5DWRx{uI`#)8QygXb%~XgxusbeBxz^nNC+kE9Fx#Me7l}*dF#4a zq} z7TI@KT~6s4;jJk}MYmKeWSFz2XH24^F=Z12>$+p`IR&m&20#V4WINtA=`?c;DseS! z7o9AdH~7z5Wo*Ru2ID+5>EifTm~-293M@x7={b@uB>l=bI(Ir5!h#J~?L7%KnF%f? zxtNmBS0&d(#`PT9!cSR3R~4Ipk0&f19c*W{KLu5Em8-3ZL!m^nqI@Xsq)C^Zav~n{ z%;UG33XfY!s3*YZifX_RO(010X#4i#b}(Z*Ip+8`i|*<%p0tBoeG&|M2eEf-$?vp; z-s5@YJ$%fzzhlue%(%FmezT!sHFePdC~)c9^^XkxHNjgV|X(xm2vI>!(=~vh>p#0eW+P0BT~ZXD96G|34J4@z9L{S zT*m?KK3p4&`ok)XXqV`Sz+x@MVXB+JC|Y{EUA5f&r85Yaf)%Az6o4L99J-jSxjL8mypH?#b%Lx4c_<<2Bj#H diff --git a/environments/Momo/java/Momo/GGE/CreateMaterialCombi.class b/environments/Momo/java/Momo/GGE/CreateMaterialCombi.class deleted file mode 100644 index 983289e43b3bd82698f70009848add968bc58d7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2349 zcmZ`)Npuud6up%+sY+8Jq(hiOpqY}+*boMlAR3wkgPjlw1_LNocPdF?cU4YxH31yJ zd7h`GuGr%topZ$F(uL=^cJ11=8yDz(zq*^C&F200?|c9KH~sg2z4znKs7F7(H85^q z!oUj#E*Z!euno)^STGP6C>mJOk=5bo@O2b)+|Y4T$Ll)Y(D9~@_jP=r<3k-E>G)X3 zCsAy`p(xsfG~sX*F+37Q3m%Q4Rmf&M7R4qUiDEs5qG-m^Mwob9$T1;LM6nJ}Hc~Jw zXOBm*6)6#%5HccURLDtDc}k3qiM>-%Y{b(-(k7nAGeV|>ObaGusgBZVt&zc>A_Hltu|IRP`!PWw<`mks|5Nx$nn-#1 zjN@A3b+?ArP+XBJp@z*h&;dy*i=}Rjj93LWMReq9)?O4-1$r_zF*S1LtcI4bXOyiI zETcECp*j6Pld$To>Hn!oi&TrRj;oF$++2mj;xVpt*2^agMK`I6U07lTlc$asgTQln zpuMIzZDs77GRKabDCRS^U+&p;X)kN#rY*J|dzjI*R8lgWDFkJurV6He-E_G}LAG z3mFu0K*P=&!HQ!(t%osd*jhuUoREhIE5+GT>!ivRXF@I6q~+Q<#*kIL#jK=qoEi*= z?%E{l=IuZpK3h{%H8c_klfzSv8YwC1!-@xO)fao*^Ji^8e0dxORh;VKtA7wI4;S`* zRa4%)hK}lf^*g+r^6;N+6(@rKigU7V91Ve&(U1u*hfP%gNh&z4(3FW5nNQ6ssE zyMj(R*BNk>+_Y10*i6{TaUTOy2_2B3O$wRYYUSuwD~GgNIj6bS$*5KFJHFsb9hNp5A37?_$Hu3fjl}?xKy%wh{(=?xJNTMvWcI*c)yPwdo8u z4QkWXbBEFrc6044uU)d1El%`5V6k;3rmY~pjDG4kLKY_Quu{qdz@;3hQaX-|J^fIB=UO(6C54 z$K-;)w82C-@lS2zFCHiD=ZAWP-|I>K+o!2>j=%9Gv|}FI;G+XKu$|xG4tz)LA6TfL zunWInH-5t&{Eof&1D*I2UHA*#xW^w~!&N*N76IS01a-XiVs8n(;^r-^<&rF6&+RhQ zc?<1KNYjkqE9h8;MApZc4^~vVZlOb@chFr=IAr&gkm!-^{RjuyL|{B?F~Au68Do;Z f?<2P#hsYnsAck=OX&l5fkqhXfpI3OM4zvFPyJJ@Z diff --git a/environments/Momo/java/Momo/GGE/CreateMaterialCombi.java b/environments/Momo/java/Momo/GGE/CreateMaterialCombi.java deleted file mode 100644 index 0a860d4915..0000000000 --- a/environments/Momo/java/Momo/GGE/CreateMaterialCombi.java +++ /dev/null @@ -1,62 +0,0 @@ - -//example -//8.5 - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -public class CreateMaterialCombi extends JDialog implements ActionListener{ - JButton b1, b2, b3; - JLabel label1, label2; - private MaterialFrame matFrame; - private InsertCombiDialog insertCombiDialog; - public CreateMaterialCombi(MaterialFrame matFrame){ - super(matFrame,"Create Material(Combination)",false); - this.matFrame = matFrame; - JPanel createMaterialPanel = new JPanel(); - createMaterialPanel.setLayout(new BorderLayout()); - b1 = new JButton("APPEND"); - b2 = new JButton("INSERT"); - b3 = new JButton("END"); - b1.addActionListener(this); - b2.addActionListener(this); - b3.addActionListener(this); - JPanel labelPanel = new JPanel(); - labelPanel.setLayout(new BorderLayout()); - label1 = new JLabel(" Choose Append or Insert"); - label1.setFont(new Font("Serif",Font.BOLD, 12)); - label2 = new JLabel(" Choose Elements from the ElementsTable"); - label2.setFont(new Font("Serif",Font.BOLD, 12)); - labelPanel.add(label1, BorderLayout.NORTH); - labelPanel.add(label2, BorderLayout.CENTER); - createMaterialPanel.add(labelPanel, BorderLayout.NORTH); - createMaterialPanel.add(b3, BorderLayout.EAST); - createMaterialPanel.add(b2, BorderLayout.CENTER); - createMaterialPanel.add(b1, BorderLayout.WEST); - getContentPane().add(createMaterialPanel, BorderLayout.CENTER); -// pack(); - setSize(250, 100); - - } - public void actionPerformed(ActionEvent e){ - if(e.getSource() == b1){ - matFrame.appendMC(); - }else if(e.getSource() == b2){ - insertCombiDialog = new InsertCombiDialog(matFrame); - insertCombiDialog.setVisible(true); - }else if(e.getSource() == b3){ - matFrame.et.setVisible(false); - matFrame.mcTable.createMatCloseAct(); - this.setVisible(false); - } - } - -} - - - - - diff --git a/environments/Momo/java/Momo/GGE/CreateMaterialScratch.class b/environments/Momo/java/Momo/GGE/CreateMaterialScratch.class deleted file mode 100644 index d8a7c18f2582f5fec39c30885340469df2a6a80c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2358 zcmZ`*NpKTa5Pf3{&v+PPEHIlfh|QMeMZs)IOh}B7iHU3+L`)1MWF&ptL!=qkXoP_* zWZ(Don4Gwi!g5te<(NaNa?UyDoO8*6#uF#YZYWR`H37 zPgQ)TV_chhyLiNxnqUz*i_4_!`d{_y*?; ze2X&%zQaWYTVt`*qT`fBYE$LE}K`(q`B-RQ;zMKmMz>d1siLMqG>NAPv>Zecebl*W=gM+|r!^c_Awd{ql^YZJS z2E&Yb&8c`(rfn`TeyQErpcPjbLvlRtS&p5Syl=7lAr={{>83k0@Z7Eh$&9oUvL> zLZP&+cSBmlq^^5q~G%LGW(c3b-dzv zj!kt>Q+3A7iK2fFaXDQn<%Am|cU{KGo5fj^;3JZmQ&+7xz zxn>F4c@`z>RNTCnu;g8coD;H8ou&_y8R5=5Zb=kaN3%fMMH(Qeh7Sdr>EFJotb&%@ zeo00pIiO%ylVoLJF1-givw2Ny!h$?RS!>YNW?%ZX;%I25n=x%sWDa>BVXR83$l<|s z7_J~$w;()u{RvQMs-T^Mpg07Hvawyd0DJQ)B_Y1=zL;Tk* z<=t1%Ti-X{*L&3tPONxVG3j68U@8&KMTruYKVaAbtz>#(%hghC)~RLT1qZd0tA#72 zS?fAe*2&FUWs7jaF3$ZZSWKvZoZh661KeLZ!~K=h+Fv=axwgoe?XMi={;J5QfnHt$ zlx4IbLg{~r!RVUSRqRL%t{`~_8|PNhGc|Mv-DI{`F`Br8uDK{JcCKJwu+jWYU$ANO zH~op*)K;;FYhSqb%Qf^kJ$#?X4RcXt6|ofz)1Im=b5T9A-dM%1D)!Sa^)0@Bg!+*O z^!_)|_9}KuZX_BZH#F=EhA8Nds!~9%FHn)&7hOvk<4FwpvP2jDU0e+Lv?#q&WE@FQE$!c#8}Rxv2Uyot43l2z=z6^i<9 zqK5_Pn3M8V^sYc=HpH9{)=c_uqE~8fW1yAdfPJKjctURPWjIO@0V7z8B=a0$p8Fa9 dC^I~OL*x(RAjZjM$j#yiE>NT33cqPV;eS(>TJ8V< diff --git a/environments/Momo/java/Momo/GGE/CreateMaterialScratch.java b/environments/Momo/java/Momo/GGE/CreateMaterialScratch.java deleted file mode 100644 index b5d311bf56..0000000000 --- a/environments/Momo/java/Momo/GGE/CreateMaterialScratch.java +++ /dev/null @@ -1,67 +0,0 @@ -//example -//8.5 -import com.sun.java.swing.table.*; -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -public class CreateMaterialScratch extends JDialog implements ActionListener{ - - JButton b1, b2, b3; - JLabel label1,label2; - private MaterialFrame matFrame; - private InsertScratchDialog insertScratchDialog; - - public CreateMaterialScratch(MaterialFrame matFrame){ - super(matFrame,"Create Material(Scratch)",false); - this.matFrame = matFrame; - JPanel createMaterialPanel = new JPanel(); - createMaterialPanel.setLayout(new BorderLayout()); - b1 = new JButton("APPEND"); - b2 = new JButton("INSERT"); - b3 = new JButton("END"); - b1.addActionListener(this); - b2.addActionListener(this); - b3.addActionListener(this); - JPanel labelPanel = new JPanel(); - labelPanel.setLayout(new BorderLayout()); - label1 = new JLabel(" Choose Append or Insert"); - label1.setFont(new Font("Serif",Font.BOLD,12)); - label2 = new JLabel(" Choose a Element from the ElementsTable"); - label2.setFont(new Font("Serif",Font.BOLD, 12)); - labelPanel.add(label1, BorderLayout.NORTH); - labelPanel.add(label2, BorderLayout.CENTER); - createMaterialPanel.add(labelPanel, BorderLayout.NORTH); - createMaterialPanel.add(b3, BorderLayout.EAST); - createMaterialPanel.add(b2, BorderLayout.CENTER); - createMaterialPanel.add(b1, BorderLayout.WEST); - getContentPane().add(createMaterialPanel, BorderLayout.CENTER); -// pack(); - setSize(250, 100); - - } - public void actionPerformed(ActionEvent e){ - if(e.getSource() == b1){ - matFrame.appendMS(); - } - else if(e.getSource() == b2){ - insertScratchDialog = new InsertScratchDialog(matFrame); - insertScratchDialog.setVisible(true); - }else if(e.getSource() == b3){ - matFrame.et.setVisible(false); - matFrame.msTable.createMatCloseAct(); - this.setVisible(false); - - } - } - -} - - - - - - - diff --git a/environments/Momo/java/Momo/GGE/CreateRepeatDialog.class b/environments/Momo/java/Momo/GGE/CreateRepeatDialog.class deleted file mode 100644 index 3230a3893594d22e9d999aa456134783e6bf5463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2130 zcmZ`)-BTM?6#p#*HY`hl@S%LP4dtUrAf!NBwbW_|p;AMNfawHv>L$4ji(xlzHqh3O zTEBhq!Dru`;mwE6NHQZc&iJaY`p@{_c+PG@gH2z~x%YR@J@FW&XyJumKhk@rIP;sY7mGTxW5Bcmk4mQj|mFXKSQ$1*;V@u`eQGCq^> zSb-0h6!bAsF{hvh^9s7LprDt@ATBEyz!e2&a8*GUUg|(6US{$NlWUAE^0Dg*Uc{@6 z-C*(>lh@fwlnpE?=tqpnvWhLd!Q>W`H70K{*-){EH&qx|S7EYB5m^-4vZtCG^(?1lvXIyelTWnGX3?W`rWKj znp}a4FY8*t%##Dpg0oyps*-b?C$5#K#7g{rRunn#5_zzi+>CE*kwy0foVM7XcowCi z_x!)g5=IkQb1zaV8xiOAln$sSky}e;+cph4G163=&@!Sx((VL3vSfKLBdjegQ=q`l zB+RToQu_n<)GbP)i8{8lz3^&oKW#Bo&df|qe zoph2z&Du=1t{I|0J(+c$hwF2!Kpjm{QI7J$=GLXR#flO-2yoLwb=I9uKV9d6la^mH zt(>sj-XY}^JZ9GV_B2?V5A?DEIDy z^51DW6J>?_UV>Z_wtGVdt?GUB)oN0>f_FI~mZ+RQQfXfa$t zICPBew6CR#vqu|$+b4Lh~KG_*e z`#L;5Y8B@zmDdNnbkyY~I&eTaEh^TG1^RXB;fli+_4@70f=Nz$6Hw z+w{SK{wObfgI)9s4$ueXCmJUF8m03l{b{!`L@61@U5p@)QTmI{;t|f_2TJ>o7{^bT zz|WXO6;t>f7x5>8_{%9rfzCSV#P^iU7P=`pT|t1H96v-SG1^^tQiCQAF+!oLX~wG< zIYN+DK~Dvdy2|7sx%z%03feBF-wtzDUt|zc!^eXxI*izm`4-~Sixni NVTQcgCH)q>^B?qQ7~KE> diff --git a/environments/Momo/java/Momo/GGE/CreateRepeatRotateDialog.class b/environments/Momo/java/Momo/GGE/CreateRepeatRotateDialog.class deleted file mode 100644 index 7b98c90a54304cf4deffcfa87aa107448349e9da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2172 zcmZ`)%}*Ow5dSS0)+|c^C(!VfnD7zXU>qPx+mNO;22xVvP)r?}wo2Fbi&<*#y6ZJ0 z=|`G=_tHbpy;b7YL!@F$MXJC5hApEaV_(LBj89~ID&sR5Ph@;9 zAKERB#@z zvFsL;*O|P*UZU(^S;0BPn5?MS#+yv;Fxg=8Hj^zCMZBfLz@`e5O-jhB_=t(ce21ijA-_MiYno-@kCsZp$oWmnziyO; zWlI`2TsY)v>5X_?9RM z%@(;W({ASpXx7$EW0lvA#idg$;(FN@j0U?Is2e$<*KcR} zOD*IsIG%tLUFS{R(Cu3iI-{GLtBDm_#OP*WN$|wXoRH8%xR-6suv1#0Li@p(#gO_N z(E43eC7gE^uG|HDMb`>uUc%UEsyTjLdN=20&#G3YM^{!KW<`lXC{r}+iR9|mHhFhz zqLugI_-Q&SiNV%2AYn9~HH(pQ#fUf+Rz9E?i`-eR*tTiVxsjIYxRwzG()Pxw5EGSR zMp)Zgra-WqiJMuikkTxj_Y`?Y!nEvND%A#1%{55sq_Fe{lx@w#$%MUDW{azy)yy5-S$dDt|A;dMsM2JR>Rm4CftqeY$n}JhqIXq{Yu&@#)(hX`4scI$3*xAkNs(% zRKtZMgvg%!45ocuo<6mPi&e~qS?2Rr;hzn=j097@P8P6xUweHu;ZtZuw_KieWTAfi z+n1|i?inQ}K@i=cuMqT`dFjLKq5pD#zA``2Fv)KaoVV%syNe-$WEl4`f;>j)*BZkU zT)>Y6`%jp_&zQt7m_iNH_yd>m7lQcPd5!{|b>PGg1ZErEl$fa^KtWC%qMI1)ER`a+< X>+4uR6pL8HRcv6EqS_<-HoW^kTBRxw diff --git a/environments/Momo/java/Momo/GGE/CreateReplicaDialog.class b/environments/Momo/java/Momo/GGE/CreateReplicaDialog.class deleted file mode 100644 index 49c819c3ac1feb2d2717c9c441f811f377f2227c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2127 zcmZ`)-BTM?6#p%x?6NEcLcvl>8_GvRAf!NBwbW_|P^lrs2I+u0^(MIui_31@-ITU| z)cWm<4?g?m3~xSkMv@tsamH7D)qlnZ$8+xn8kqFuoO6Ho+;h*zJ?H-U-*3O88F75C zVL`(?8rC$dYj{t?`x@?PC~7b@e5hhW#Rn=jRd_0V6=f9ImbKj&4B=OzG&vw2ltU=;#up7ngPP;EIluxT>QaFSnu%uL$z0AlC#oD~?^)aT>1) z?1mt(3-X4rk`xB!beuv;ka+{EcvFyDf-DR2wjg&5Y~w8hHdYKcLZyVffsX`n1$ij2 zM_4rQ7&i@k3})a96byWYoPn>AHt-EH2EN6Tf$xx2&=-lMHXX;~kz}dF?Lx$HBTKf& zU0*?ObS%Ba9_L*sOcUHlvgAI$>#l-F07SH z2}PxME!R!k^lvC=Nv^CcWaddo(aqdd5K1`(uArR~?)l92*O*nN^_i5*na?9x$|waH zS#_E1Sxh*spgY*C<$K;_mQz%4x&b;VQc9(gcZL?2M|IX09_D#TSn|k^rA&6=&MMgq zp20DjJ?RE8)xP6cu@#(6=bi0@SGE(firx-+owzku_I<~u1N{xR(=5j=X^x&+ro5fw z?kdY!6#vPzlV{c%b4{@(M^9uN*WaW>9eHJhXSr+Mr>L?{+0FAsQ=AUnjrL8b+nQ83sbvSiNlT{0g8NcC!BlpX`X(eR;1p|eiq9tAf zWj+un`m;%*FS~ES99t#F(&~}2_5-OU+%mj$j*p!?m zr{pv!CI7OX`j#j5(M`gc z3gWSSbgYM)sui7RB>((G14bH zz3buDP^VGF`3ffD0t;&uL?+?^BVZ)lA^>4N++34}!a7NG%f$(a#k%lsXQ6`0XB3zM zPIQBQH_!*A(I41OUtkaYP7$JU!mm*}Z_JmBdB5&f8Zki!WjOR<*?|iOecPzWH!-FnehsuKja*eThK6YKfi+Gi> z8%$nf1F!Shq=IfNFiG*oqKb9A!Q>W`RVHsSxuaqSZ>lh{rov*CT@+M&$i!yyfU$>I zR`CcoReS_Z#TO{5_zGziUn8U98?31K7FiYFAupjX98PUnmLtN+-Cbc8!Nz)y4M(Pdj>{_NU-FY9Yx5c`lI^AWu+%qsy584`;tvj4`ZMtxNlTQ!SDW@~#amX%1CdS$a?qyKK-QS5`9Fr910n(SHc1 zEq14$MXC1fr;9CNFkP^A5>DAncu&aLr_v;DEtFl?GD&~n%s zuWNaO;%`q|1oeu}@3XZZv^NPGC z?E99zBZ`y+tw^+ss9*o%>XJFlYX{$`gogYKlUXKn5=PF5Etz**n{Mz!l+b^MPA&fD zY#tY_@2rzvYN%h&+FR31VNhEZyf@50_9(JgzMXEA?esNMzi`O3Qi$uLw9uV)wDX^1X|`vfe{+5ouHn8j0T>Z0C5_g z9;f-~aT=E%|FXtuN_uOWr5=}fER&VHfRsct0)+k(n+ydSs~C(;9wKpsP_Bx;)u|(# zBcZ>7sn`)Za-oJQh7K|6FJx~q<}aGO#dz#j+O1%O_*jjPGp||9#7|l5%7vsV&L1L1 z`edg!7itM~s#OeEFd1ho6s#aT755nd-Nevo1zyO7+ z<`}PH;1E%gqJavgk5$GG&=I5Prv0N6Pve-T2LSTA71I<+oFYk(hnGm2!4;CPVirlv RVHuaPiYfAHoAev-&i_L38WaEk diff --git a/environments/Momo/java/Momo/GGE/CreateSlicingDialog.class b/environments/Momo/java/Momo/GGE/CreateSlicingDialog.class deleted file mode 100644 index 1b972172d1989c0c4a711f9f190135f1bbaa71b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2154 zcmZ`)-BTM?6#p#*c3GAJpAD|shi|BEGE0Sy8&81 z>i5Ts4?g?m3~xSkMv@tsamH7D)qlnZ$8+y4G_C2&Ip>~p?z!jt{_*dxzo8W|e5W9# z;4K9k3UUhGQSh#UdkRVlwiLWCV^hX^G7K4x3|B@~#;%M#86U~`SjHzZ9?AGr#%C&m zxTK4@zB9innvn2$QR*^~QqNF>nZn_(Kxk~4=Nt@{|3;B5s ziNuDol?tPv3ljP~xi4O#tXm}sXPR(lcwMPt;@Ln-cc|QIYQMmCcm^DDWhIkM-B~A_ zUN<~rvp?O0O)b#Zq~;Pv(gmv$cdBMww3D+(6^h?lth%mc(xu_1;)4SptP+cK8zZV}Eh+qf^G_kWE?(PgcwU0}-ww-C6?c*Nbh zDEJz)?^||-6)7Qlkzg-DuNRIhO|{U)eE60nwB%Zaz6TPT!M^_X~N|HOg@@lHQ)7 z)-3bRpzM1DRX}!_>)Gre>ew^R%^D9WI+dsm!!bnnXpXm)#6rR-?b{yEv_eJ;U#9?J z+Nc84QWcnXsK8(Nm{zAa(}ERP;=7ux+y$fr+7Te`-_faHptX*X=+q(NM+oNX7+jq` zLLU)BHB3j3(47mm)N%F@W8Og)hjH)FCJqzPUr1WRDB*D*PjKv8%*39u*qaMVb(}jy zl=R8YKrYx3=+WvpU&B<4^MXnZq3M{1h%pgt=L~K>*y>YbL6sIv9MSJm2PqBvB zV+u?HBe+Q)ALs*9=zHv<-?5*5uMoi)@vl)jZ_;0P8-tXRA>6|-N*JL(>MS1N9Dbm* z|A;aCgmL_g3Dhx(-*FLtB7(m}Im&cbq!Zs$GF#}S%v23wa&qhdorK~wTzKrW#t$$| zp=vqKuVeTS5uzf28fK1FCJxXYrRZk7tCLUSn4ty$dEJQ_iX=vn#L2@;M9ty~(N{5t T1m>}f%UH!Ud9_XYEqMDsn;9X% diff --git a/environments/Momo/java/Momo/GGE/CreateSlicingDialog.java b/environments/Momo/java/Momo/GGE/CreateSlicingDialog.java deleted file mode 100644 index c5f7ef0d48..0000000000 --- a/environments/Momo/java/Momo/GGE/CreateSlicingDialog.java +++ /dev/null @@ -1,61 +0,0 @@ - -//example -//8.5 - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -public class CreateSlicingDialog extends JDialog implements ActionListener{ - private JButton b1, b2, b3; - private JLabel label1, label2; - private SlicingAxialFrame slicingFrame; - private InsertSlicingDialog insertSlicingDialog; - public CreateSlicingDialog(SlicingAxialFrame slicingFrame){ - super(slicingFrame,"Create Slicing Axial Smmetric",false); - this.slicingFrame = slicingFrame; - JPanel createSlicingPanel = new JPanel(); - createSlicingPanel.setLayout(new BorderLayout()); - b1 = new JButton("APPEND"); - b2 = new JButton("INSERT"); - b3 = new JButton("END"); - b1.addActionListener(this); - b2.addActionListener(this); - b3.addActionListener(this); - JPanel labelPanel = new JPanel(); - labelPanel.setLayout(new BorderLayout()); - label1 = new JLabel(" Choose Append or Insert"); - label1.setFont(new Font("Serif",Font.BOLD, 12)); -// label2 = new JLabel(" "); -// label2.setFont(new Font("Serif",Font.BOLD, 12)); - labelPanel.add(label1, BorderLayout.NORTH); -// labelPanel.add(label2, BorderLayout.CENTER); - createSlicingPanel.add(labelPanel, BorderLayout.NORTH); - createSlicingPanel.add(b3, BorderLayout.EAST); - createSlicingPanel.add(b2, BorderLayout.CENTER); - createSlicingPanel.add(b1, BorderLayout.WEST); - getContentPane().add(createSlicingPanel, BorderLayout.CENTER); -// pack(); - setSize(250, 100); - - } - public void actionPerformed(ActionEvent e){ - if(e.getSource() == b1){ - slicingFrame.appendSlicing(); - }else if(e.getSource() == b2){ - insertSlicingDialog = new InsertSlicingDialog(slicingFrame); - insertSlicingDialog.setVisible(true); - }else if(e.getSource() == b3){ - this.setVisible(false); - slicingFrame.createSlicingCloseAct(); - } - } - -} - - - - - diff --git a/environments/Momo/java/Momo/GGE/DAWNSourceFrame.class b/environments/Momo/java/Momo/GGE/DAWNSourceFrame.class deleted file mode 100644 index 849c22867744146c74932d555e9bc63f61d6a6ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3856 zcmaJ^d2}0R5&vy$XXVYtb`(1#z3jB5v1L1I(B#kXQtsU8MBG;~yQdr9ydsA5} zRx2MV&=v~x0Ls;JQ;tUpJTCXu5>%z!gqHihZ_0i1AAj)p&F;!pg2a2$%=gXAH}lQ) zY4ps0o_Gp1=*GW7ctr@0gz)YV-V?(6LO2t`2SWHz2#<%b5<)(NLI}TA@u-Rqs`#Xe zr&N4O#ivz#M#X1Ud``vZReV9k7gc;$#rITvU&Rkp{7}V@RQy=QPgML=#m`jyT*WU` z{8GiQG&JB=4VwkD2-qUv0s*afo`%Z>Y{G3C!UCEFY!$FwKqHHjS4cjmyt68yT$@Y|NZx@iN$8#|!tF!=HtYtJ@ffs6MgCo|m8g{^yV>!9x zyoQUhAlpSbv83TLoEB@RWqXI%c#($Z;Kg$GB?9ggaF=MlTkiK#4Hx2N0`3vU%XPd9 zuNLqY0dE!Xb{$XPwE|u*;Ee*_rlW{A>v&RxpTviCoR!sCS$zqw)bX@zpO)=2_=t`# zV_C;n@KGIK#bY|YhWm7U9k0^y4FTW8{W`vd2XuT}w%@_MI({Pxp7jB>{7&xjd(rm? zq5To>(D5gs{TZ*(@fW;7$6xU}9e=~aI{uCab^Jp_{)vYaY-;Q8ofv5wGZ)>qfoaRN z9R;oJ9r2_+7tQ9<(No5}5zQ`G>6z%zu$j*F8BULawki_imbs9z9hV|oDB>M97Tjpe zPP>McHsx$niDB8%LsrTpskuZ-8MJd`>Xexj73Y!@uESf9T+`k$uAsJkP*7d_pojOg zSG{sib#JJxt@=UnRcsunE;8tvbN@%b$5v4Jav8^*XS|{(8HD7lZD&o#3kZYaGE!nW z(q10Jxs07Q(=P3m1-3*~&{0v?m-PZ0M6hE}!G&eAabwBOxx+@lPk-o12y^_0CVz8s? z@$(JUwjY;!Y-vAHAwpy*I~AO2jx~-Kw7+)@n_9fY=}}h4vCeRUyqb+jI(b?a&uFrGiFSQ{T4r9%<3pR zvXoQ>;r|V!f`+)AG*aV+W65DU(KLE&aJbD6OPe3Xx>18wL;n)SyhKS*TdcG5Tq!LG zr5A%n!z;*9(>ZB7bLKQ-ZcGzyBJ^vuREf-4($CrU3U6BPRMvHMP}1!4(xG zT~+vGitcAEJCglCZ9>yoc5cbUMOB~`EqhY8X|Sg^On_T zvd?y=O~-%eSg5P?GM~zc!H*T~u1Zc=>1lgG!NseT@`rJ)*tU9n_C~+q8s)E^0=>lY zJy?~L?YWYhOOk^}R{LMUDz&Wb&ZkZ|miJCIc^dpTZ;8#tGV_mnq_J7YUI?1m6U@0* zD(b!N{*NzHJjdT_qKuKeoh_6JIyB>0RHYK7-IVaNUdw8N{J!Ipnl;@%9^d@m+t12 zx|dUKAH5tV=P12C!9g1`X!^HR>UjHFQkIL@%5}nL z`Z4IG^5_|ac*|qUlGh&DFs;XBbMOo{5HZ&`c+CB)`+eSiWOYBhyk_|lsMLRexw?Ta z9%L?i=};ecF&x2u@;KWExA`}vq#_@tnb=u0F)Ldq!|MvzwSt(?!g?NKvZ&4D<{}y= z!yCi(1zZys8eJF{98vN(A=!xKaZ?EoN0_4@AAlF=H5BK9zt|W;=^a!|-9^S+X9%8*7W(woD uiZy#ZMm!G>vvw0W#*+zt$1uahE@B+_V1l|5)OHIV!T>dXoVwQG{r?3Ig(ao{ diff --git a/environments/Momo/java/Momo/GGE/DAWNSourceFrame.java b/environments/Momo/java/Momo/GGE/DAWNSourceFrame.java deleted file mode 100644 index 303b0f859d..0000000000 --- a/environments/Momo/java/Momo/GGE/DAWNSourceFrame.java +++ /dev/null @@ -1,103 +0,0 @@ -import java.awt.*; -import java.awt.event.*; -import java.io.*; -import java.util.*; -import com.sun.java.swing.preview.filechooser.*; -import ExampleFileFilter; - -import com.sun.java.swing.text.*; -import com.sun.java.swing.preview.*; -import com.sun.java.swing.event.*; -import com.sun.java.swing.*; - -class DAWNSourceFrame extends JFrame implements ActionListener { - private JMenuItem close, save, cut, copy, paste; - private String fileName; - public JTextArea dawnEditor; -// protected FileDialog fileDialog; - private JFileChooser fileChooser; - DAWNSourceFrame(){ - super(" DAWN Text Editor"); - getContentPane().setLayout(new BorderLayout()); - dawnEditor = new JTextArea(); - //editor.setFont(new Font("Courier", Font.PLAIN, 12)); - JScrollPane scroller = new JScrollPane(); - //scroller.setVerticalScrollBarPolicy(JScrollPane.SCROLLBARS_ALWAYS); - JViewport port = scroller.getViewport(); - port.add(dawnEditor); - port.setBackingStoreEnabled(false); - setJMenuBar( createMenubar() ); - getContentPane().add("Center", scroller); - pack(); - setSize(350, 350); -// show(); - } - - JMenuBar createMenubar(){ - JMenu file, edit; - JMenuBar mb = new JMenuBar(); - file = new JMenu("File"); - file.add(close = new JMenuItem("Close")); - file.add(save = new JMenuItem("Save")); - - edit = new JMenu("Edit"); - edit.add(cut = new JMenuItem("Cut")); - edit.add(copy = new JMenuItem("Copy")); - edit.add(paste = new JMenuItem("Paste")); - mb.add(file); - mb.add(edit); - - close.addActionListener(this); - save.addActionListener(this); - cut.addActionListener(this); - copy.addActionListener(this); - paste.addActionListener(this); - return mb; - } - - public static void main(String[] args) { - new DAWNSourceFrame(); - } - public void actionPerformed(ActionEvent e) { - Object o = e.getSource(); - if (o == save){saveAction(); return;} - if (o == close){setVisible(false);} - if (o == cut){dawnEditor.cut(); return;} - if (o == copy){dawnEditor.copy(); return;} - if (o == paste){dawnEditor.paste(); return;} - } - void saveAction(){ - String saveText; - if (fileChooser == null) { - fileChooser = new JFileChooser("."); - } - fileChooser.setDialogTitle("Save C++ Source Code"); - fileChooser.setDialogType(1); - ExampleFileFilter primFile = new ExampleFileFilter("prim","PRIM Source Code"); - fileChooser.setFileFilter(primFile); - fileChooser.showDialog(this, null); - fileChooser.getSelectedFile(); - - File f = fileChooser.getSelectedFile(); - fileName = f.getPath(); - try{ - FileOutputStream fo = new FileOutputStream(fileName); - PrintWriter outf = new PrintWriter(new DataOutputStream(fo)); - outf.println(dawnEditor.getText()); - outf.close(); - }catch(IOException e){ System.err.println(e.getMessage()); } - } -} - - - - - - - - - - - - - diff --git a/environments/Momo/java/Momo/GGE/DellCombiDialog.class b/environments/Momo/java/Momo/GGE/DellCombiDialog.class deleted file mode 100644 index 83058d774cf2dfb4421c54c73c07efb981ffa239..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1911 zcmZ`)TT|Oc6#fJb5~>WgOG3B>0fE>C;)e7Z(zIYq3o(}tDJ^NI?b=?9h%8ZQ4M}=? z?Q>q+=e%bon3;N}KcK&+&wc3htR%Z`$9d4%qwkzOd#<~G{QcYS=*1#_((r+X9Syr0 z_B8Bk_(lWMP*U+g#aAl6R$-|)R`E!Mt)iyFQ{k%+D(WguRh;QaU_nPxk^wC0h~uV? zK}m*?)A2gq&|%zNWr_3yw^|CJJP_i+HL$0ZGv1NGOBg@MY%%nRl)=pf9J7PJ+ zI*mmJ+NZD6>4AZ{4g;atj?H_*vz+SkL%DmbL$S!7xOK6`99AX&rF61G%1_CM+)7zk zu2YbFpfUXljiTiXF4G{*T#l3i*Q3)VKHLQlvl2@O-u2zJ9826&(3fA?&KHW3p_93% zAeMJ4l>9g)+!xFd`^>J>|HN8Qm3Fbrbl$C%EQd+AGYSStZU@jBmC~(JmHvm^l-VTv z1?CF{df{=IpUBNVskTcMSa`rnHm8CPw&5_<3dW0Nx0dtkPA({oe@6MvZLZdZa2?t( z)>T|&C2j}isDHNWwG#J&6BG;--7>TH8Fe3>NRA|1EwfVcMWhsOVSy9WVB4-IjuiCl z+^3&CYTZK$XV0yBWxj6Nl&e7&6myq*hpt!S6>3dZA(|u_*11(hvQoMw$&!MpE}=;` zJhB!>s9>~S`Z{;bdfMFtUyFRBVD0@{dgnE-X72 zj8S+mPz1KDKV?~~F%i{Jt(Bwdsy-K?{eI$FUP^S&dP*_r#O+(YMg4&(x-|ztu^|S? zTaYN^MHsAf@6p;LufAYa=-ON(?N8|MPxR3%0Q{PrPsMsKFp`}=$6OPMg9{9AEi{oN z=4u0(Y!mT=lzM^Db4-RmJ;9HeeMvwA*Jw3^wTZ!llyZTwbIcMr+r-d8N{c1p7Z`6K zy&$nvUjq}8n@sgaoSC{r99fuI2(WAte&HBIgSv-D=okxMtog;`uh8Z*d{V_7WWIvrOg IogRGp4+xrC*gUEIBawtl_( z?5jTay)z}u$c%r0e~r&RIR5S?&~!{6_MCIiIrr@OzJLAu$De4&9DX+Np@A&}+Xi+F zNwExK!>NJq9fE1>5w|AI*xQ4o9M-?i9Q7qm^0Ch>n3^> z=tsuHtGHpp!h9FHa8rRdO_+E~fw$F-cT8NyyGrn07hb{p>h3LdZNWqmw-xw6N$*(L z#F7FZD{xnVoCSdu3wv0%P{w@=`wI9v%$(?;0s?a)OpRe zly0&~ca=Yn4NNsNW3x?{cVy`L<%Rp|_DGXr&UqA6<%Z)sWxB7V<4sa=L?1GXMd=3q zilSqUt1r>Wxsenq3(CwuLn(H>@pr`^Y{9Q5r6U!4*LmCZU3o`CXLfNjyOL7`|13fc z9oeA7+;=nIk#u~Scf2ak1Iuwy>|9WGi;id4Q_C!q?=_gquHyw|*6n}1>#B^jz2Zbt zgSqmsC=OM;k%mOBaeLeGg~uu;UMw5CBv%Y7nW*Y#;%11BndHp+QdP>pr~XJwan32k z)_QX6naygYAi{f2!DA$eT)+VGPUxyLJ+PV`VE=3eq1@Ndwsn_>9TB>Fba^MJhDEXJ zDhpO~Uuo!Z;@WMCa4!feqQpjYN`!rc^|GE9jYbRe3f$B%(ITkDLL@_4tH-8cxP?w5 z@RtbBOEA>xW}FiZEoE``Ss~7z$B-0aTC!dc3C6&zm4#Fz$SzT;8oJ1+Cxy*%F{MjE zSQ25q;WQOnnEijXhO&=Gb5- zHe%8vA?sGVNS*tpxI6A+Mq-l6yOA4rhjA2m@xH(WS6~7R4jpJyyAB}cx{EQlTa3BK zVytmFE>rtcp8iHBcRlcXdM4S?eu|;=%n4@B(7Stz!HwB7^pSY2hE)0t-MdNs6vHPN zuOHgtgPndxMh#bp?HHe-XE&*xV&nvqWKN!;e>Z7#^mdD{hj`YHX>@Da7{V$1PP*fr0|xw zwq0kRnPO(bOnyLrP1jv?dX8j+n{gI8_uTWk=dHi~een|QSi;j7?!=IbVLOK181`a# z7{j9&zSHrAj&F68bVwZsI?6f@byRe?Iy@c6I)2jO8|X*MzyO0@qz#x@G|b_}YZRS0<{+nmEC_iBo)P;t94iOj?$eb?o9} zOC3to<|NSug_I8~Xf=PF^l(qGo_MuXu9x170OIFdz0$+pRwz{jKE4#9jUC%K>FH2uTN7gG*_IoMgffBCD3#ZD} zSPRQyHIiyYS=BH=3@4(l*~0P4+y)FW!!B~G%l*b%yKSn_72d9+O%+_jEDbJ-kPqbv`L_s>l?axt{>{KfS>3=B-4td^}^NPaB3*Y8DJ=wYA z`RY(Z+x>gQZ3NVar*lvG_5pdh=T-fp+_2e3zX;2-EByn{ugDU0n zxXIv_hM5*|tP}#}leH)u4dX3j>ao6t*~s!(E6p$s8d~ypg)1Ejj0UV;FlzFvOV;rM zNx@J~%2M&bQAe7e3X&g81+m!uyxH(9!*XTADh{hwGLU}~*PNggW=QXyU159j-YgyT=bFeS_ywgC0l~8SW;m;T}`>?4OBm5SF(Co0JD+L{B<7EcWN&753X?=w!ZLsjvX#1^@^bXzrMi(t{;Ez-~-qC)JH&f{|%w3>= z{~RORix(ImWVD92QWr4ylWNbR#UdIygPQu8-wZ)K@8pJ;XyEP=AlYbh%A-GC^3D6g# zo!(0uewh9c7Dc^8*lmmue-v97qj<+@hfmVZp29Df#;-`=H_FoQ^sCYE12*c>KcXzP zk;QbnhU@IiGxX3gSA+GuPD(sOe~MgOi0Cs{&P+om)j9e#&66v0x7?9LVd diff --git a/environments/Momo/java/Momo/GGE/DellRepeatDialog.java b/environments/Momo/java/Momo/GGE/DellRepeatDialog.java deleted file mode 100644 index 5ada90d73a..0000000000 --- a/environments/Momo/java/Momo/GGE/DellRepeatDialog.java +++ /dev/null @@ -1,55 +0,0 @@ - -//example -//8.5 - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -public class DellRepeatDialog extends JDialog implements ActionListener{ - private JButton b1, b2; - private JLabel label1; - private RepeatedVolume repeatFrame; - public DellRepeatDialog(RepeatedVolume repeatFrame){ - super(repeatFrame,"Delete Repeated Volume",false); - this.repeatFrame = repeatFrame; - JPanel createRepeatPanel = new JPanel(); - createRepeatPanel.setLayout(new BorderLayout()); - b1 = new JButton("OK"); - b2 = new JButton("CANCEL"); - b1.addActionListener(this); - b2.addActionListener(this); - - label1 = new JLabel(" Click the pName to delete"); - label1.setFont(new Font("Serif",Font.BOLD, 13)); - - createRepeatPanel.add(label1, BorderLayout.NORTH); - createRepeatPanel.add(b1, BorderLayout.CENTER); - createRepeatPanel.add(b2, BorderLayout.EAST); - getContentPane().add(createRepeatPanel, BorderLayout.CENTER); -// pack(); - setSize(250, 80); - - } - public void actionPerformed(ActionEvent e){ - if(e.getSource() == b1){ - repeatFrame.dellRepeat(); -// repeatFrame.dellRepeatCloseAct(); -// this.setVisible(false); - }else if(e.getSource() == b2){ - this.setVisible(false); - repeatFrame.dellRepeatCloseAct(); - } - } - -} - - - - - - - - diff --git a/environments/Momo/java/Momo/GGE/DellRepeatRotateDialog.class b/environments/Momo/java/Momo/GGE/DellRepeatRotateDialog.class deleted file mode 100644 index d326af302133ef576696e86fba2a29d2a04f63a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1864 zcmZ`)+fy4=82>G|4a;&%1>~C00)_+{TkoY-Aq0g6il9+iZ=2*0mTq=&a{{doKKtye zKKH#d5@uw^Kfu4nXCEAYXE%X3lRoTszVqGAci+GM{o_w`Vj0gPxF10-g6#-)BiN7N zaRg5y_(sQPI=L}|t(oxaj>hN@&==ed0Z(tBf149b*BW1wEl7RsQZeZC! z6t@lZA>E5!ys5w)0|xFY@Rrhe+rS9kQH*yLcu(oRuhc#;FpPT&teAL+j}%x};8O)Q zO?;0v6Ba%(Q9#~AQ2|@Y9V_q@ADVFRz(f^anvnRyL=71er^uQ(!^b9`VN1hQJRZ+D zcJXOk9*OwLj#UwH>BURJ5mIOvO)Tb)ty3#)oyl~@bERdw!e7zwT9e^eZaMv^a4d?F z_=DwJ2@R%_=;QxcLf+ zoL!YdWkZ=6X$S?bH(potu{QKDIbDgsyPo^DYs&{3dNQj!nQTrWd|CJ!x-wpgHRxyF ztI~31-g0WHChI|Q;?2~?!>oo3C!~hyUbijBD>DPsXv4UzD$8fGR#j>+vd@a*M1@|Z zsrH3qzvPNuC0(t#>7XsDXH0W?Ypo`w=d%8jZP_`iARKZBbL^g-TBRWT&#i*PSO#)l z(Q@*ZZ>u{W?%wfyd8DD^(L**_GsM>Jq0GMU?L&IJ@74UG*sztQK`SWRuJ8{%zamQP zMXN+OOc++QSuYwd+)?1JhS@gJtQM-$r?oIB4HIo-8WF#O+06TRJIx>&oQ-z8UCR{? z1LOEL>c!^2zGNJ)Di{p&Ru)o?BRfUuXy_#&Ob2`MYGT(sza;#y>1pYTp79z3_kUtz zyxDSBl4{&EOkdqwN8~!8;fpnCJLzC^?u(0~=~iHRx3#L&Lqqn(is; zzWpQl2C=+dwb>Gw-z+%yEVzh8`DWD~X@z2n19f_Cp zPs3M)Yy5|RUxXXKpZkA=|BpDMUM6-AqvVfa3*(G;f*XE{8+{r-VFo`VhF_SaU-=`_ z@EtZ9(LZ69I%qMKs^gY&<^}qA%-0cr*&xMUU@%D+7eo5&wKFr&sXEUe*8*Lcrz?wm RDv4W25zg_6Z^`e#-hWc1+Ft+w diff --git a/environments/Momo/java/Momo/GGE/DellRepeatRotateDialog.java b/environments/Momo/java/Momo/GGE/DellRepeatRotateDialog.java deleted file mode 100644 index 120de6f75b..0000000000 --- a/environments/Momo/java/Momo/GGE/DellRepeatRotateDialog.java +++ /dev/null @@ -1,55 +0,0 @@ - -//example -//8.5 - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; -import com.sun.java.swing.event.*; -import java.util.*; - -public class DellRepeatRotateDialog extends JDialog implements ActionListener{ - private JButton b1, b2; - private JLabel label1; - private RepeatedRotateVolume repeatFrame; - public DellRepeatRotateDialog(RepeatedRotateVolume repeatFrame){ - super(repeatFrame,"Delete Repeated Volume",false); - this.repeatFrame = repeatFrame; - JPanel createRepeatPanel = new JPanel(); - createRepeatPanel.setLayout(new BorderLayout()); - b1 = new JButton("OK"); - b2 = new JButton("CANCEL"); - b1.addActionListener(this); - b2.addActionListener(this); - - label1 = new JLabel(" Click the pName to delete"); - label1.setFont(new Font("Serif",Font.BOLD, 13)); - - createRepeatPanel.add(label1, BorderLayout.NORTH); - createRepeatPanel.add(b1, BorderLayout.CENTER); - createRepeatPanel.add(b2, BorderLayout.EAST); - getContentPane().add(createRepeatPanel, BorderLayout.CENTER); -// pack(); - setSize(250, 80); - - } - public void actionPerformed(ActionEvent e){ - if(e.getSource() == b1){ - repeatFrame.dellRepeat(); -// repeatFrame.dellRepeatCloseAct(); -// this.setVisible(false); - }else if(e.getSource() == b2){ - this.setVisible(false); - repeatFrame.dellRepeatCloseAct(); - } - } - -} - - - - - - - - diff --git a/environments/Momo/java/Momo/GGE/DellReplicaDialog.class b/environments/Momo/java/Momo/GGE/DellReplicaDialog.class deleted file mode 100644 index 5138c1338218f8733a960583934f13fac7ed2ec1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1828 zcmZ`)TUQ%Z6#j8Y`vFSg#Zc-6q}0DdOJxDVd!Kg&P<^7!DpX+ z)#tu-(kgsz$Ye(*fmj7z*2ID3OvS#CT!d>;o}Pv0X{cTN6y3%)=V7ZV-ruXsbM^o zO66>;^f(n9$W(1xRAnk~Q)Ow(Kx!CD&*cxrk;sbUAe(cYKv<6SmNdL}&aj13$=)j- z%2GgbXL@c|Lw9;(L!F6q{=TeHyYSaNYF<*rxpb?>YRz?|6D&ovR%J~E7uMHlJybB; zq99V+^0*LqmQz`Js9uk?2M^xy);wD?T@`yfUmrH@=I%^6KC9b|gB5(PD zRB2FZ2Ae{m>rLy5KHP>LWu+?}de?K?a;)HvhMwH=c5W@N5L%X=hOV4jX7c-(a6b@E zuq*63@1v_>RZ<0JltHE*c*5~*p`6w*K&IWy_Npapx5DcEk9J+9lLpp=A80Vvo|I%w zz4tZ5|5GdWM!w`$vwq#lhDGp?X*9dJQV#;xVXep7vh$)SZF1vzcFK0WT9n=cQMBp) z<-A)G_O9?Ob*IJdZPyD9G<4j%%V1yX6fz6av-as@!L55Gxo#;HaS@hiM|%6NSCwTp zoG23x5JuHIuMM>pZzyn6!&I9vmWzJiQCk!ZbK6Fy8R{#T=Sd!E_cF|ahPJ#N;YeG9 z&KXk$V^mEnXS=>+7)(_~25Q>a4@z1?F9}g1*l`ylvEq7V=|!#0X}h53+~!!lOl(ds zbA2JHhDyW4#l3Y9UZgUzSPv{a8%{?w?rd0F6`N^}d9oIcBE#}!5NYitcJ7;^7OWo_ zi9u}F@-4OirnvF?z-59ibf`53@Z=^7PcE+T1 zuV>~@Fms0Z-YJH*7S7O5WVnGhGG{RN68b4dPB0l=I>Jjb^BV~bOz=#G=NT^VCA3qF zo?x29=`&o}OT@bR`%W>|!0dveC3+edSJ-5tvxy}W-NdNj>Ox4%4B+qnod(j+>7Rx# z30L@i0RJ&=^FHqOL4F%jjCzsSEew%Aj7^L%-cfGvac=7g{D?{Xgd~1umVV(!M#HyQ zZ$|%!S?Zw1`S}K}DQBMH5|5b%QqP;D~3Pz^ySW-d++?_e$M><*RQ{!2TS-t!@C-GHSB39 zYS`ECr3R*mxM_5f*bOMn%5_KuDu-jU?4 zfdbYfd0&!ylH?6=Y#2Diwt*@h7&wx|k#?>mCwR}mS6DUh2%j2wf=>*5jROPUVAH_2 z_`tw-$Qk$^I|^n^)6Cgc`JpL}xVggw_bg@?SdE*)H7nfaf-AV3O6QN+Da*1mk4^@*JbUcc#SU{=mHe05sSYhaB_Fb@WnsC_ zhU5c_nHN~(Enje%1_^U1G74OeZkO`WF7hxdy{W*v{yUaqiMtB=bE}2iMqV;>Gxrqq z=G+P;KTZkv1#`qcv+J}UTMw$zE|!@pmOUoQM`;BK(%I2=oeJqzsd)dB-H_QN{0-&{ z1^ULLGCz?q`wE8sQz|;%mPEMsS;^*9Y>Wxi?Il&v8alyi@Jhpt!S6>3gaA(|i>R=QP3LMh#pWLd#g0ffTLJlUijx<&< zK!Pw2)ST_j?#?6Sr^q7Bvc{=>Z)C1&KaD zK8Qpi-^5_0Coota2Ww2ehP027eF5u4Kcw9s=%of zc!2~lR~krXE)YLRs!fcaV=COlf{mGZPJ#xm(P{?k1%?iiN)r?3m?Pob1x5~%TJLbY ziK`8y7NsoN-@v5grjk7oXD0iIBZS$-K$c11&*8lWGSA3A1)mXJqrV6A^=R}z#Ob%V zL|=|cbcw!{+ZZMN6>MW1A7cW?n1sMJdhe(3BU$}~8T?G=6;!YlMPH?C#0c@$LIbZz zXP#o1miY#zGvwC7vq)|}MN-P2<9Y)#p{niF47mf$(>HdV+)9xf^W;Vvv&fKR3s}Y+ LT~{WX7(V(Nc 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 Wg++|el2Ta0D4kI4C`bRaA^RIRy#}2C diff --git a/environments/Momo/java/Momo/GGE/DoubleCellEditor.java b/environments/Momo/java/Momo/GGE/DoubleCellEditor.java deleted file mode 100644 index a729598499..0000000000 --- a/environments/Momo/java/Momo/GGE/DoubleCellEditor.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - */ - -import com.sun.java.swing.*; -import com.sun.java.swing.table.*; - -import java.util.*; -import java.awt.*; - -class DoubleCellEditor extends DefaultCellEditor { - JFrame frame; - DoubleCellEditor(){ - super(new JTextField()); - setClickCountToStart(1); - } - public Object getCellEditorValue(){ - Double value; - String valueStr = (String)super.getCellEditorValue(); - if (valueStr.equals("")) return ""; - try{ - value = new Double(valueStr); - }catch(NumberFormatException e){ - frame = new JFrame(); - JOptionPane.showMessageDialog(frame,"Not a Number", "Warning Dialog", - JOptionPane.WARNING_MESSAGE,null); - return ""; -// value = new Double(0.0); - } - return value; - } -} - - - diff --git a/environments/Momo/java/Momo/GGE/ElementCell.class b/environments/Momo/java/Momo/GGE/ElementCell.class deleted file mode 100644 index 2b8c091d5f5b701814bfbbeb890b23edb64a5ab2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2085 zcmZ`)TT>KA6#fR59d;ZMR8T<$@wP7N8jU83F#$xgW>FFd26LTV+I4hxhRpP$muH;v4Eltg=rf%al=Lh@7W0Oj*UgUZR0~s*a%Uw5sCOj zRzJo2Ha-)lpUaLf@S2VLxN74|OxgHKJbx`F-{6vg?b##6+s=}c_Z+{HzgD`f%6im5 zd-lj&EN>X-%@&$%W_0NK720%U3k9)CbBq;JlvwM|7AHMbRlY80RUH+pZQ0~I&Rw0K z2)rPS(cCj=busX{XSDIT#B>dmST|f0{7C62_A$@|7oFvxrl%a=si@=&gH5YyiQe;L zW$gz3r0DVf;s3EHx{+3X!%c6)D5j}Ffuz;f0#8^u@A|I3U?4RSEGPq;Cjvjxj<4q& zug3YN20;_b^9*!1&5lbwHVlM81J>ldvRahDBLhZ({+?mj!0uu>sOF=ZpO4EK-DQ#T zSH^2v2R@6nrRe(VYOPvQ;jB~g7(n+1nMpkiY;9_V^)h!AgR;^AX8B~ zA%}^&(Uj5-U07~3qdcA~VWumt&iWxB=S{$Rw9TNe9hQz9ZCkgz9J&ihr<443G&vHa zVjXGj_l*+t#OrY*7ksUFP|eU)C|=kBhqZa zsF9X5FL~fxk2~c%l`yFJ%r(RLT9~3wIbp^1$pQ7*An<10#aVTaj?&R`wG@!5P8}qD zhaujaCVySLEj#5RgZ%N%qimDQE*^Oi#v^Yx^OW0R|ppe`?`Z>`yo$C`moU5b^HLACY<_1|Nt)N=SQ* zAxXN9;f**?^2G!OS)d_m`xwX7t)rjk&Zj=@uu4zV^|{}-AG B^fUkf diff --git a/environments/Momo/java/Momo/GGE/ElementCell.java b/environments/Momo/java/Momo/GGE/ElementCell.java deleted file mode 100644 index 327c3920c1..0000000000 --- a/environments/Momo/java/Momo/GGE/ElementCell.java +++ /dev/null @@ -1,53 +0,0 @@ -// Table of Elements - -import java.awt.*; -import java.awt.event.*; -import com.sun.java.swing.*; - -class ElementCell extends JPanel implements ActionListener { - static int selectedElems = 0; - ElementItem ei; - private boolean isSelected; - private JButton e; - private Color bg; - ElementCell(ElementItem ei){ - this.ei = ei; - isSelected = false; - setLayout(new GridLayout(2,1)); - if (ei.isMetal){ - bg = new Color(255, 175, 175); - }else{ - bg = new Color(175, 175, 255); - } - setBackground(bg); - e = new JButton(ei.symbol); - e.setMargin(new Insets(1,3,1,3)); - e.setToolTipText(ei.name); - e.addActionListener(this); - add(e); - add(new JLabel(Integer.toString(ei.atomNum), JLabel.CENTER)); - } - public void actionPerformed(ActionEvent ev){ - Object source = ev.getSource(); - if (isSelected){ - selectedElems--; - isSelected = false; - setBackground(bg); - }else{ - if (selectedElems >= 8) return; - selectedElems++; - isSelected = true; - setBackground(Color.lightGray); - } - repaint(); - } - void clear(){ - selectedElems = 0; - isSelected = false; - setBackground(bg); - repaint(); - } - boolean isSelected(){ - return isSelected; - } -} diff --git a/environments/Momo/java/Momo/GGE/ElementItem.class b/environments/Momo/java/Momo/GGE/ElementItem.class deleted file mode 100644 index a9c236836f36b0df2e89d1cc7abfa0385dc870f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1038 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 a$qtEG>^0HIUKf|+*AR{`NgQ%1_x}KX{Qy1y diff --git a/environments/Momo/java/Momo/GGE/ElementsTable.java b/environments/Momo/java/Momo/GGE/ElementsTable.java deleted file mode 100644 index fc0555ddb2..0000000000 --- a/environments/Momo/java/Momo/GGE/ElementsTable.java +++ /dev/null @@ -1,221 +0,0 @@ -// PERIODIC TABLE OF THE ELEMENTS -// PDG table 4.1 - -import java.awt.*; -import com.sun.java.swing.*; - -class ElementsTable extends AbstractGGEFrame { - private ElementCell ecel[]; - ElementsTable(){ - super("Elements"); - GridBagLayout gbl = new GridBagLayout(); - GridBagConstraints gbc = new GridBagConstraints(); - getContentPane().setLayout(gbl); - getContentPane().setBackground(new Color(230, 250, 230)); - int elemPosX[] = {1, 0, 17, - 0, 1, 12, 13, 14, 15, 16, 17, - 0, 1, 12, 13, 14, 15, 16, 17, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 0, 1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 0, 1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }; - int elemPosY[] = {0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 5, 5, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }; - - ElementItem el[] = makeElements(); - gbc.insets = new Insets(1,1,1,1); - gbc.fill = GridBagConstraints.BOTH; - gbc.weightx = 1.0; gbc.weighty = 1.0; - ecel = new ElementCell[el.length]; - for (int i = 0; ih7>82_C%G$FlRC~Kj`vZqNQfEx-{mZnnZg0hqr6mFB-_Ck6Sb8l$tu7J4f zlL|9BBQLyw1A_z=1ze^GqvMR@tNItH559xH?c=4haFM08@7q576*bg5qPp9AAYn7c~qq9g||VZ8-=$? zNSk<$h`)B(KBhrOmypMW>=x1|WUq!H9ME71Nr}KluZFa258JkgF9Llr;qu z$^*?E3Nr%Dod@(odN{6IL*br*14h(YTg=|>q)cmw?E2fE5uqdOy zT`uic@B})<`AjYa-t%rmOx=Zntk6t^+s(MKwxsT~VkNp?n&TDbTxgsxEx= zHM1F7niSLu1>d@8+_X%mRiR>C?!&Vw5i=C3HYF_E(Jg0}9#3;WEi$H$B;$r08~+_6 z#eDAKt&ql2@JGg?MpC-OR;b+E(bg8}-q+sI8IheCiy2mv_))0oG%ce$Ju+aVcIX4b zsk=LEBA8{mEx1{?haJ%+veli5s2<;?r%YimmVbL9or=0iDrh_Uwng^s?B3el)7vfE z@ubnT(>iD+MlIIQuBy7!-<4#q}*n{jY?(Au%ju{EnmS)HG;+5Y6jEscw3>Ye8^zzYSKH{8W{!2 zc)9J?M+B{5-R?@Hj7Z!VF)T;0HSIPt#S5HBjVm;mcHXYjw4Dy?PQPvuxvQs8J2?ch zt;Pc_W@USr2jB{dM}WfgNq+uZ*sceSaY-(&OAaw(tY?sz#tm!887A8@#++OUoF2)v zU|<(v&`8FA)iTvi57_REqC+RqnHV)vn{=BX`JBY0$>_T~%>c=!jb3SN|87tkEMgsQ&K<%_7ffH~!@r%)9PHLlKJ=8n)=5@79U`FsW%yD-a%$*QX`Dtor0iMqj1P(LS5kAC6S^qIi=c~Ask79t&p_1n` z7pIp|q_hy@1n9k?tEF~D1`ApnKgOI!*09hMJBjL+M$i5XmS(W*tU8+yG?z#L@6*8t zEb2ql;yC8x1e);?-Sb7y1?i@Soa|D``Wk9n^n6+HgvGeaf*CCC4XO*Mp9F0d4;VPZ zaz14NXVHXnSc22^I*zSb->MHxzCi=N#bSJqR!pEB*LWd*VB=ip52qW%{yI+LCwxWSEBKkx zUx*QZ2jxy7#50gns0@ZKV0IDI)o!=_PQd@*1^taCZ=nA!!+FyBcb-w!@GlzvO~XHF z!rx^%!$z($0;aI2=E?r7aG5uGBlhQ~Mabnbxw?w;m{B+7Jf=_fK{m!}#<-U;R#J6@ IUdv$o3pcKa?EnA( diff --git a/environments/Momo/java/Momo/GGE/ExampleFileFilter.java b/environments/Momo/java/Momo/GGE/ExampleFileFilter.java deleted file mode 100644 index c559e85ba8..0000000000 --- a/environments/Momo/java/Momo/GGE/ExampleFileFilter.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * @(#)ExampleFileFilter.java 1.4 98/04/14 - * - * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved. - * - * This software is the confidential and proprietary information of Sun - * Microsystems, Inc. ("Confidential Information"). You shall not - * disclose such Confidential Information and shall use it only in - * accordance with the terms of the license agreement you entered into - * with Sun. - * - * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE - * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE - * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES - * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING - * THIS SOFTWARE OR ITS DERIVATIVES. - * - */ - - -import java.io.File; -import java.util.Hashtable; -import java.util.Enumeration; -import com.sun.java.swing.*; -import com.sun.java.swing.preview.filechooser.*; -import com.sun.java.swing.preview.*; - -/** - * A convenience implementation of FileFilter that filters out - * all files except for those type extensions that it knows about. - * - * Extensions are of the type ".foo", which is typically found on - * Windows and Unix boxes, but not on Macinthosh. Case is ignored. - * - * Example - create a new filter that filerts out all files - * but gif and jpg image files: - * - * JFileChooser chooser = new JFileChooser(); - * ExampleFileFilter filter = new ExampleFileFilter( - * new String{"gif", "jpg"}, "JPEG & GIF Images") - * chooser.addChoosableFileFilter(filter); - * chooser.showOpenDialog(this); - * - * @version 1.4 04/14/98 - * @author Jeff Dinkins - */ -public class ExampleFileFilter extends FileFilter { - - private static String TYPE_UNKNOWN = "Type Unknown"; - private static String HIDDEN_FILE = "Hidden File"; - - private Hashtable filters = null; - private String description = null; - private String fullDescription = null; - private boolean useExtensionsInDescription = true; - - /** - * Creates a file filter. If no filters are added, then all - * files are accepted. - * - * @see #addExtension - */ - public ExampleFileFilter() { - this((String) null, (String) null); - } - - /** - * Creates a file filter that accepts files with the given extension. - * Example: new ExampleFileFilter("jpg"); - * - * @see #addExtension - */ - public ExampleFileFilter(String extension) { - this(extension,null); - } - - /** - * Creates a file filter that accepts the given file type. - * Example: new ExampleFileFilter("jpg", "JPEG Image Images"); - * - * Note that the "." before the extension is not needed. If - * provided, it will be ignored. - * - * @see #addExtension - */ - public ExampleFileFilter(String extension, String description) { - this(new String[] {extension}, description); - } - - /** - * Creates a file filter from the given string array. - * Example: new ExampleFileFilter(String {"gif", "jpg"}); - * - * Note that the "." before the extension is not needed adn - * will be ignored. - * - * @see #addExtension - */ - public ExampleFileFilter(String[] filters) { - this(filters, null); - } - - /** - * Creates a file filter from the given string array and description. - * Example: new ExampleFileFilter(String {"gif", "jpg"}, "Gif and JPG Images"); - * - * Note that the "." before the extension is not needed and will be ignored. - * - * @see #addExtension - */ - public ExampleFileFilter(String[] filters, String description) { - this.filters = new Hashtable(filters.length); - for (int i = 0; i < filters.length; i++) { - // add filters one by one - addExtension(filters[i]); - } - setDescription(description); - } - - /** - * Return true if this file should be shown in the directory pane, - * false if it shouldn't. - * - * Files that begin with "." are ignored. - * - * @see #getExtension - * @see FileFilter#accepts - */ - public boolean accept(File f) { - if(f != null) { - if(f.isDirectory()) { - return true; - } - String extension = getExtension(f); - if(extension != null && filters.get(getExtension(f)) != null) { - return true; - }; - } - return false; - } - - /** - * Return the extension portion of the file's name . - * - * @see #getExtension - * @see FileFilter#accept - */ - public String getExtension(File f) { - if(f != null) { - String filename = f.getName(); - int i = filename.lastIndexOf('.'); - if(i>0 && id3FJXA3`(eY$eZ=G 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