summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/krb5/kadmin/Makefile2
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/GuiResource.java273
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/HelpData.java1096
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/HelpIndex.html52
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/KdcGui.java5624
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/KdcGuiMain.java100
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/KdcGuiOps.java343
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/KdcGuiRoot.java2369
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/Makefile178
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/Defaults.java838
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/Filter.java61
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/Flags.java229
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/Krb5Conf.java239
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/Makefile65
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/Policy.java265
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/PolicyList.java74
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/Principal.java483
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/PrincipalList.java101
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dataclasses/PrintUtil.java395
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dchanger/DCCircularTextField.java124
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dchanger/DCListener.java42
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dchanger/DCPanel.java319
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dchanger/DCTextField.java143
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dchanger/DateTimeDialog.java564
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dchanger/DurationHelper.java331
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dchanger/EncListDialog.java304
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dchanger/LineSeparator.java55
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/dchanger/Makefile66
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/gkadmin.template40
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/native/Kadmin.c1793
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/native/Kadmin.java111
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/native/Makefile69
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/native/Makefile.com69
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/native/Test.java429
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/native/i386/Makefile31
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/native/mapfile-vers61
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/native/sparc/Makefile31
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/util/ChoiceDialog.java155
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/util/ContextHelp.java104
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/util/HelpDialog.java137
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/util/Makefile65
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/Makefile47
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/Makefile63
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/Makefile.com31
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLCheckbox.java161
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLChoice.java526
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLComponent.java94
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLIconLabel.java186
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CardPanel.java255
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CheckboxList.java142
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CheckboxPanel.java85
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnList.java883
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnListCanvas.java1857
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnListThread.java91
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/EditLine.java798
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBConstraints.java298
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBContainer.java87
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBLayout.java1833
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBPanel.java343
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ImageButton.java174
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ImageLabel.java419
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/KeyField.java274
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/LabelBar.java280
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/Makefile67
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/MultiLineLabel.java291
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RWHelper.java55
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootDialog.java263
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootFrame.java329
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootWindow.java49
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ScrollPanel.java446
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/Scrollable.java46
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ScrollableArea.java123
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/StatusBar.java160
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/StringVector.java158
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TabbedFolder.java539
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TextList.java209
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TextView.java682
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJButton.java81
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJCanvas.java120
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJErrorDialog.java99
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJFlowLayout.java295
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJPanel.java796
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJScrollbar.java298
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/WinScrollbar.java948
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AMContainer.java58
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AMContainerHelper.java323
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Attribute.java200
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AttributeList.java238
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AttributeManager.java806
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/BeanSerialization.java141
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/CustomClassLoader.java60
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/DesignerAccess.java314
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/DesignerErrorInterface.java38
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/ExternalCallOut.java62
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Global.java289
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Group.java1716
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/MainHelper.java359
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Makefile62
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Message.java84
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/NVGroup.java73
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Operations.java143
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/QSortCompare.java40
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Registry.java284
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/RegistryEntry.java58
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Root.java755
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/RootObserver.java58
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Shadow.java397
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Util.java683
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/VBClassLoader.java62
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/VJException.java47
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/CEStreamExhausted.java44
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/CRC16.java67
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/Makefile57
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/UCDecoder.java228
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/UCEncoder.java191
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/Makefile58
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/MessageCatalog.java202
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties.java609
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties_en.java46
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties_en_US.java46
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/BorderPanelShadow.java207
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/CardPanelShadow.java495
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/CheckboxPanelShadow.java112
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ColumnListShadow.java281
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/FlowPanelShadow.java220
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GBPanelShadow.java185
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GenericComponentShadow.java164
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GenericWindowShadow.java215
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ImageButtonShadow.java98
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ImageLabelShadow.java133
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/LabelBarShadow.java117
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/Makefile69
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/MultiLineLabelShadow.java113
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ScrollPanelShadow.java142
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ScrollableAreaShadow.java111
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/TabbedFolderShadow.java62
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/TextListShadow.java167
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/VJCanvasShadow.java93
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/VJPanelShadow.java146
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanComponentShadow.java74
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanShadow.java73
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanableComponent.java34
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ButtonShadow.java111
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/CanvasShadow.java61
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/CheckboxShadow.java100
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ChoiceShadow.java168
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ComponentShadow.java375
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ContainerShadow.java186
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/DialogShadow.java320
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/FileDialogShadow.java194
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/FrameShadow.java243
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/JAShadowAccess.java104
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/LabelShadow.java96
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ListShadow.java247
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/Makefile64
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuBarShadow.java361
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuComponentShadow.java81
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuItemShadow.java105
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuShadow.java182
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/PanelShadow.java84
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ScrollbarShadow.java171
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextAreaShadow.java151
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextComponentShadow.java93
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextFieldShadow.java159
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/WindowShadow.java908
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMConverter.java438
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMRef.java144
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMRefConverter.java77
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AlignmentEnum.java85
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AnchorEnum.java96
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ApplyException.java54
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AttributeConverter.java191
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AttributeListConverter.java196
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnum.java265
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnumConverter.java133
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnumHelper.java145
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BooleanConverter.java88
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/CharacterConverter.java81
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ColorConverter.java112
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ColorStore.java375
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Converter.java546
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DimensionConverter.java117
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DoubleArrayConverter.java138
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DoubleHolder.java52
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/FontConverter.java144
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/GBConstraintsConverter.java298
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ImageRef.java294
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ImageRefConverter.java91
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/InsetsConverter.java154
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntArrayConverter.java137
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntHolder.java52
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntegerConverter.java75
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ListParser.java1104
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Makefile71
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ModeEnum.java83
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Op.java295
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpAction.java621
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpArrayConverter.java101
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpFilter.java489
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OrientationEnum.java87
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ParseException.java57
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/PointConverter.java117
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ReliefEnum.java102
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/StringArrayConverter.java95
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/StringConverter.java66
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/SubFieldTokenizer.java82
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/TypeEditor.java544
-rw-r--r--usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/UnknownTypeConverter.java70
-rw-r--r--usr/src/man/man1m/in.rlogind.1m8
-rw-r--r--usr/src/man/man1m/in.rshd.1m8
-rw-r--r--usr/src/man/man1m/in.telnetd.1m8
-rw-r--r--usr/src/man/man1m/kadmin.1m4
-rw-r--r--usr/src/man/man1m/kadmind.1m12
-rw-r--r--usr/src/man/man1m/kdb5_util.1m4
-rw-r--r--usr/src/man/man1m/kprop.1m4
-rw-r--r--usr/src/man/man1m/kproplog.1m4
-rw-r--r--usr/src/man/man1m/krb5kdc.1m4
-rw-r--r--usr/src/man/man1m/sshd.1m8
-rw-r--r--usr/src/man/man4/kadm5.acl.44
-rw-r--r--usr/src/man/man4/kdc.conf.48
-rw-r--r--usr/src/man/man4/krb5.conf.418
-rw-r--r--usr/src/man/man5/krb5_auth_rules.58
-rw-r--r--usr/src/pkg/manifests/system-security-kerberos-5.mf10
223 files changed, 45 insertions, 58213 deletions
diff --git a/usr/src/cmd/krb5/kadmin/Makefile b/usr/src/cmd/krb5/kadmin/Makefile
index de893f05a4..8d0dbdc93f 100644
--- a/usr/src/cmd/krb5/kadmin/Makefile
+++ b/usr/src/cmd/krb5/kadmin/Makefile
@@ -25,7 +25,7 @@
include ../../Makefile.cmd
-SUBDIRS= cli dbutil ktutil kpasswd server kclient kdcmgr gui
+SUBDIRS= cli dbutil ktutil kpasswd server kclient kdcmgr
all := TARGET= all
clean := TARGET= clean
diff --git a/usr/src/cmd/krb5/kadmin/gui/GuiResource.java b/usr/src/cmd/krb5/kadmin/gui/GuiResource.java
deleted file mode 100644
index 9ce10a3c63..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/GuiResource.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-import java.util.ListResourceBundle;
-
-public class GuiResource extends ListResourceBundle {
- public Object[][] getContents() {
- return contents;
- }
-
- static final Object[][] contents = {
- {"Never", "Never"},
- {"Warning", "Warning"},
- {"Error", "Error"},
- {"Confirm Action", "Confirm Action"},
- {"Principals", "Principals"},
- {"Policies", "Policies"},
- {"Defaults", "Defaults"},
- {"Principal List", "Principal List"},
- {"Policy List", "Policy List"},
- {"Principal Basics", "Principal Basics"},
- {"Principal Details", "Principal Details"},
- {"Principal Flags", "Principal Flags"},
- {"Policy Details", "Policy Details" },
- {"Modify ", "Modify "},
- {"New ", "New "},
- {"Duplicate ", "Duplicate "},
- {"- *CHANGES*", "- *CHANGES*"},
- {"OK", "OK"},
- {"Clear", "Clear"},
- {"New", "New"},
- {"Please save or cancel first", "Please save or cancel first"},
- {"Cannot find default realm; check /etc/krb5/krb5.conf",
- "Cannot find default realm; check /etc/krb5/krb5.conf"},
- {"Cannot find default server for realm",
- "Cannot find default server for realm"},
- {"A password must be specified", "A password must be specified"},
- {"A realm entry must be specified",
- "A realm entry must be specified"},
- {"A master KDC entry must be specified",
- "A master KDC entry must be specified"},
- {"Invalid login, please try again",
- "Invalid login, please try again"},
- {"Please enter a principal name or cancel",
- "Please enter a principal name or cancel"},
- {"Please enter a password or cancel",
- "Please enter a password or cancel"},
- {"If changing the key encryption types then specify a new password"
- +" for the principal whose keys are being changed",
- "If changing the key encryption types then specify a new password"
- +" for the principal whose keys are being changed"},
- {"Please enter a policy name or cancel",
- "Please enter a policy name or cancel"},
- {"Context-Sensitive Help", "Context-Sensitive Help"},
- {"Click on GUI items to get help.\n\nClick on button below to dismiss",
- "Click on GUI items to get help.\n\nClick on button below to dismiss"},
- {"Principal Name:", "Principal Name:"},
- {"Principal", "Principal"},
- {"Password:", "Password:"},
- {"Realm:", "Realm:"},
- {"Master KDC:", "Master KDC:"},
- {"Exit", "Exit"},
- {"About", "About"},
- {"Dismiss", "Dismiss"},
- {"Start Over", "Start Over"},
- {"Filter Pattern:", "Filter Pattern:"},
- {"Clear Filter", "Clear Filter"},
- {"Clear Name", "Clear Name"},
- {"Modify", "Modify"},
- {"Create New", "Create New"},
- {"Delete", "Delete"},
- {"Duplicate", "Duplicate"},
- {"General", "General"},
- {"Comments:", "Comments:"},
- {"Policy:", "Policy:"},
- {"Policy", "Policy"},
- {"Generate Random Password", "Generate Random Password"},
- {"Admin History", "Admin History"},
- {"Last Principal Change:", "Last Principal Change:"},
- {"Last Changed By:", "Last Changed By:"},
- {"Account Expires:", "Account Expires:"},
- {"Encryption Key Types:", "Encryption Key Types:"},
- {"Save", "Save"},
- {"Previous", "Previous"},
- {"Next", "Next"},
- {"Done", "Done"},
- {"Cancel", "Cancel"},
- {"Discard", "Discard"},
- {"Password", "Password"},
- {"Last Success:", "Last Success:"},
- {"Last Failure:", "Last Failure:"},
- {"Failure Count:", "Failure Count:"},
- {"Last Password Change:", "Last Password Change:"},
- {"Password Expires:", "Password Expires:"},
- {"Key Version:", "Key Version:"},
- {"Ticket Lifetimes", "Ticket Lifetimes"},
- {"Ticket", "Ticket"},
- {"Maximum Lifetime (seconds):",
- "Maximum Lifetime (seconds):"},
- {"Maximum Renewal (seconds):",
- "Maximum Renewal (seconds):"},
- {"Security", "Security"},
- {"Disable Account", "Disable Account"},
- {"Force Password Change", "Force Password Change"},
- {"Allow Postdated Tickets", "Allow Postdated Tickets"},
- {"Allow Forwardable Tickets", "Allow Forwardable Tickets"},
- {"Allow Renewable Tickets", "Allow Renewable Tickets"},
- {"Allow Proxiable Tickets", "Allow Proxiable Tickets"},
- {"Disallow Service Tickets", "Disallow Service Tickets"},
- {"Miscellaneous", "Miscellaneous"},
- {"Enforce Policy", "Enforce Policy"},
- {"Enable DES MD5", "Enable DES MD5"},
- {"Enable TGT-Based Authentication",
- "Enable TGT-Based Authentication"},
- {"Enable Duplicate Authentication",
- "Enable Duplicate Authentication"},
- {"Require Preauthentication", "Require Preauthentication"},
- {"Require Hardware Authentication",
- "Require Hardware Authentication"},
- {"Policy Name:", "Policy Name:"},
- {"Minimum Password Length:", "Minimum Password Length:"},
- {"Minimum Password Classes:", "Minimum Password Classes:"},
- {"Saved Password History:", "Saved Password History:"},
- {"Minimum Ticket Lifetime (seconds):",
- "Minimum Ticket Lifetime (seconds):"},
- {"Maximum Ticket Lifetime (seconds):",
- "Maximum Ticket Lifetime (seconds):"},
- {"Maximum Ticket Renewal (seconds):",
- "Maximum Ticket Renewal (seconds):"},
- {"Principals Using This Policy:", "Principals Using This Policy:"},
- {"Account Expiry:", "Account Expiry:"},
- {"Defaults for New Principals", "Defaults for New Principals"},
- {"Defaults for Existing Principals",
- "Defaults for Existing Principals"},
-
- {"SEAM Date/Time Helper", "SEAM Date/Time Helper"},
- {"Month", "Month"},
- {"Date", "Date"},
- {"Year", "Year"},
- {"Hour", "Hour"},
- {"Minute", "Minute"},
- {"Second", "Second"},
- {"Now", "Now"},
- {"Midnight", "Midnight"},
- {"Help", "Help"},
- {"Help for Date and Time Dialog", "Help for Date and Time Dialog"},
-
- {"SEAM Encryption Type List Helper",
- "SEAM Encryption Type List Helper"},
- {"Help for Encryption Type Dialog", "Help for Encryption Type Dialog"},
-
- {"SEAM Duration Helper", "SEAM Duration Helper"},
- {"Weeks", "Weeks"},
- {"Unit", "Unit"},
- {"Value", "Value"},
- {"Seconds", "Seconds"},
- {"Minutes", "Minutes"},
- {"Hours", "Hours"},
- {"Days", "Days"},
- {"Weeks", "Weeks"},
- {"Months", "Months"},
- {"Years", "Years"},
- {"=", "="},
- {"Help for entering time duration",
- "Help for entering time duration"},
-
- {"SEAM Print Helper", "SEAM Print Helper"},
- {"Print Command", "Print Command"},
- {"File Name", "File Name"},
- {"Print", "Print"},
- {"SEAM File Helper", "SEAM File Helper"},
-
- {"Reference Count:", "Reference Count:"},
- {"Minimum Password Lifetime (seconds):",
- "Minimum Password Lifetime (seconds):"},
- {"Maximum Password Lifetime (seconds):",
- "Maximum Password Lifetime (seconds):"},
- {"Password Save Count:", "Password Save Count:"},
-
- {"Flags:", "Flags:"},
- {"None", "None"},
- {"Allow Service Tickets", "Allow Service Tickets"},
- {"Allow TGT-Based Authentication",
- "Allow TGT-Based Authentication"},
- {"Allow Duplicate Authentication",
- "Allow Duplicate Authentication"},
- {"Allow Service Tickets", "Allow Service Tickets"},
- {"Require Preauthentication", "Require Preauthentication"},
- {"Require Hardware Preauthentication",
- "Require Hardware Preauthentication"},
- {"Require Password Change", "Require Password Change"},
- {"Disallow Service", "Disallow Service"},
- {"Support DES MD5", "Support DES MD5"},
- {"Enforce Policy", "Enforce Policy"},
- {"(no policy)", "(no policy)"},
- {"Policy name already exists. Please choose a different",
- "policy name or cancel",
- "Policy name already exists. Please choose a different",
- "policy name or cancel"},
- {"You are about to destroy data.",
- "You are about to destroy data."},
- {"You are about to lose changes.",
- "You are about to lose changes."},
- {"Click OK to proceed or Cancel to continue editing.",
- "Click OK to proceed or Cancel to continue editing."},
- {"Click Save to commit changes, Discard to discard changes,"
- +" or Cancel to continue editing.",
- "Click Save to commit changes, Discard to discard changes,"
- +" or Cancel to continue editing."},
- {"Unable to access lists; please use the Name field.",
- "Unable to access lists; please use the Name field."},
- {"About SEAM Adminstration Tool", "About SEAM Adminstration Tool"},
- {"Sun Enterprise Authentication Mechanism Administration Tool",
- "Sun Enterprise Authentication Mechanism Administration Tool"},
- {"Copyright 2005 Sun Microsystems, Inc. All rights reserved.",
- "Copyright 2005 Sun Microsystems, Inc. All rights reserved."},
- {"Use is subject to license terms.", "Use is subject to license terms"},
- {"Example: ", "Example: "},
- {"or", "or"},
- {"Properties", "Properties"},
- {"List Controls", "List Controls"},
- {"Show Lists", "Show Lists"},
- {"Cache Lists Forever", "Cache Lists Forever"},
- {"List Cache Timeout (seconds):", "List Cache Timeout (seconds):"},
- {"Apply", "Apply"},
- {"Loading principal list", "Loading principal list"},
- {"Loading policy list", "Loading policy list"},
- {"File", "File"},
- {"Edit", "Edit"},
- {"Log Out", "Log Out"},
- {"Current Principal", "Current Principal"},
- {"Current Policy", "Current Policy"},
- {"Properties...", "Properties..."},
- {"Refresh", "Refresh"},
- {"Help Contents", "Help Contents"},
- {"Insufficient privileges to use gkadmin: ",
- "Insufficient privileges to use gkadmin: "},
- {"Please try using another principal.",
- "Please try using another principal."},
- {"Let the KDC control the ticket lifetime values",
- "Let the KDC control the ticket lifetime values"},
- {"SEAM Administration Login", "SEAM Administration Login"},
- {"SEAM Administration Tool", "SEAM Administration Tool"},
- {"Can't run /usr/dt/bin/netscape.",
- "Can't run /usr/dt/bin/netscape."},
- {"Invalid URL: ", "Invalid URL: "}
- };
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/HelpData.java b/usr/src/cmd/krb5/kadmin/gui/HelpData.java
deleted file mode 100644
index 01155b2238..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/HelpData.java
+++ /dev/null
@@ -1,1096 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-import java.util.ListResourceBundle;
-
-// On-line spot help. Defined as strings of a "contents" object.
-
-public class HelpData extends ListResourceBundle {
- public Object [][] getContents() {
- return contents;
- }
-
- static final Object [][] contents = {
-
- //
- // Main Login Panel
- //
-
- {"MainLoginPanel",
- // Not currently available in GUI
- "This window enables you to log in and use the SEAM Administration"
- +"Tool. The default information that initially fills in the fields"
- +" is read from the system's /etc/krb5/krb5.conf file (except"
- +" for the principal name)."},
-
-
- {"LoginName",
- "The principal name to log in with (without realm included)."
- +"In order to use the SEAM Administration Tool, your principal"
- +" must have the appropriate privileges specified in the master"
- +" KDC's kadm5.acl"
- +" file.\n"
- +" \n"
- +"The default principal name consists of your user name with the"
- +" 'admin' instance appended. For example, 'jdb/admin'."},
-
-
- {"LoginPass",
- "The password for the principal."},
-
-
- {"LoginRealm",
- "The Kerberos realm, which is similar to a DNS domain."
- +"In most cases, the realm name is your domain name, and it should"
- +" be upper-case. For example, 'MTN.ACME.COM'.\n"
- +" \n"
- +"Each realm has one master KDC and may include slave"
- +" KDCs that contain read-only copies of the master."
- +"The default realm is read from the system's"
- +" /etc/krb5/krb5.conf file."},
-
-
- {"LoginServer",
- "The master KDC where the Kerberos administration server, kadmind,"
- +" is running and where the KDC (Key Distribution Center) is located."
- +"You must provide a fully-qualified host name for the master KDC.\n"
- +" \n"
- +"The default admin server is read from the"
- +" system's /etc/krb5/krb5.conf file."},
-
-
- {"LoginOK",
- "Checks the information"
- +" in this window, and if valid, logs you into the tool."},
-
-
- {"LoginStartOver",
- "Resets all fields in this window to their initial"
- +" settings (when the tool was started)."},
-
-
- //
- // Panel Tabs
- //
-
-
- {"PrincipalTab",
- "Sends you to the list of principals. If you are currently"
- +" working on a principal or policy and you've made"
- +" changes, you'll be prompted to cancel or save"
- +" the changes before being sent to Principal List panel."},
-
-
- {"PolicyTab",
- "Sends you to the list of policies. If you are currently working on a"
- +" principal or policy and you've made changes, you'll be prompted to"
- +" cancel or save the changes before being sent to Policy"
- +" List panel."},
-
-
-
- //
- // Principal List Panel
- //
-
-
- {"PrinListPanel",
- // Not currently available in GUI
- "This panel enables you to select a principal from the list to modify,"
- +" delete, and duplicate. You can also create a new principal.\n"
- +" \n"
- +" principal is an entity to which tickets may be assigned, generally"
- +" of the form <primary>/<instance>@<REALM>. For example,"
- +" jdb/admin@MTN.ACME.COM.\n"
- +" \n"
- +" display a specific principal or"
- +" sublist of principals, enter a filter string in the Filter Pattern"
- +" field and press"
- +" return.\n"
- +" \n"
- +"To perform an operation on a principal, select it from the list and"
- +" click the appropriate button. To create a new principal, click"
- +" Create New."},
-
-
- {"PrList",
- "Displays all the available principals in the specified realm.\n"
- +" \n"
- +"To select a principal, click on its name in the list;"
- +" double-clicking on a principal is equivalent to selecting"
- +" the principal and clicking Modify."},
-
-
- {"PrNoList",
- "This list panel is blank when you don't have list privileges"
- +" or you've chosen not to show lists."},
-
-
- {"PrListPattern",
- "Enables you to apply a filter on the available principals to"
- +" display a particular principal or sublist of principals."
- +"The filter string you enter may consist of one or more"
- +" characters. And, because the filter mechanism is case"
- +" sensitive, you need to use the appropriate upper-case and"
- +" lower-case letters for the filter.\n"
- +" \n"
- +"For example, entering 'user' for the filter would match"
- +" and display principals such as 'enguser', 'user1',"
- +" and 'useradmin'.\n"
- +" '\n"
- +"To display a particular principal or sublist of"
- +" principals, enter a filter string and press return.\n"
- +" \n"
- +"To display the entire list of principals, click Clear"
- +" Filter(or clear the Filter Pattern field and press return)."},
-
-
- {"PrNameNoList",
- "When the principal list is not displayed,"
- +" you must enter principal names in this field to perform"
- +" operations on them. Entering a name is equivalent to selecting"
- +" an item from the principal list in normal operation.\n"
- +" \n"
- +"To clear the principal entry, click Clear Name (or clear the"
- +" Name field and press return)."},
-
-
- {"PrListClear",
- "Clears the filter and displays the full list of available",
- " principals."},
-
-
- {"PrNoListClear",
- "Clears the Name field."},
-
-
- {"PrListModify",
- "Opens a series of panels that enable you to modify the selected"
- +" principal, such as the principal's password, expiry date,"
- +" and policy."},
-
-
- {"PrListAdd",
- "Opens a series of panels that enable you to create a new principal."
- +" The panels will have some of the fields already filled in with"
- +" default values, which you can set up by choosing Properties from"
- +" the Edit menu.\n"
- +" \n"
- +"The Duplicate button performs the same function; however,"
- +" instead of the fields filled in with default values, the fields"
- +" are filled in with the same values as the selected principal."},
-
-
- {"PrListDelete",
- "Deletes the selected principal from the Kerberos realm. The deleted"
- +" principal can no longer be assigned Kerberos tickets."},
-
-
- {"PrListDuplicate",
- "Opens a series of panels that enable you to duplicate the selected"
- +" principal. The panels will have the fields already filled in"
- +" with the same values as the selected principal,"
- +" except for the principal's name and password."
- +"You can use this button to quickly create a new principal using "
- +" another principal as a template.\n"
- +" \n"
- +"The Create New button performs the same function; however,"
- +" instead of"
- +" the fields filled in with the same values as the selected"
- +" principal, the fields are filled in with default values."},
-
-
-
- //
- // Principal Basics Panel
- //
-
-
- {"PrincipalBasicsPanel",
- // Not currently available in GUI
- "This panel enables you to specify the basic attributes for a"
- +" principal."},
-
-
- {"PrName",
- "The name of the principal (the <primary>/<instance> part of a"
- +" fully-qualified principal name). A principal is a unique identity"
- +" to which the KDC can assign tickets.\n"
- +" \n"
- +"If you are modifying a principal,"
- +" you cannot edit a principal's name.\n"
- +" \n"
- +"For service (or host) principal names, the <primary> part must be"
- +" the name of a service, such as 'host' for telnet and rsh"
- +" services,'ftp', or 'nfs'."
- +"The < instance > part must be the name of the system"
- +" that requires Kerberos authentication for that service."
- +"For example, 'host/denver.mtn.acme.com'.\n"
- +" \n"
- +"For user principal names, the < primary > part must be"
- +" the name of the"
- +" user."
- +"The < instance > part is optional, but it can be a term used to"
- +" describe the intended use for the principals, such as 'admin', or"
- +" it can be the name of a system, which enables you to create"
- +" different"
- +" principals for the same user on a per-system basis."
- +" For example, 'jdb/admin', 'jdb/denver@acme.com', or 'jdb'."},
-
-
- {"PrComments",
- "Comments related to the principal (for example,"
- +" 'Temporary Account')."},
-
-
- {"PrPolicy",
- "A menu of available policies for the principal."},
-
-
- {"PrPassword",
- "The password for the principal."},
-
-
- {"PrBasicRandomPw",
- "Creates a random password for the principal and copies it into"
- +" the Password field."},
-
-
- {"PrinBasLastPrincipalChange",
- "The date on which information for the principal was"
- +" last modified."},
-
-
- {"PrinBasLastChangedBy",
- "The name of the principal who last modified the account for this"
- +" principal."},
-
- {"EncList",
- "The encryption types that the principal's keys will be created with."
- +" Use a white space to separate encryption types."
- +" Leave blank if the default set of encryption types is desired."
- +" Refer to krb5.conf for the available encryption types supported."
- +" The default set of dialog choices can be over-ridden by defining"
- +" supported_enctypes with the desired list of encryption types in"
- +" the realm's section of krb5.conf."
- +" \n"
- +"Changing encryption types is only applicable when creating a"
- +" principal or when changing a password. So a password must be"
- +" accompanied with any encryption type changes."},
-
- {"PrExpiry",
- "The date and time on which the principal's account expires. When the"
- +" account expires, the principal can no longer"
- +" get a ticket-granting ticket (TGT) and may not be able to log in.\n"
- +" \n"
- +"To set up the account with no expiration date,"
- +" enter the word 'never' in the field.\n"
- +" \n"
- +"To help create a formatted date and time entry, click the adjacent"
- +" '...' button to bring up a helper."},
-
-
- {"PrSave",
- "Saves any changes you've made to the current principal."},
-
-
- {"PrCancel",
- "Discards all the changes you've made to the current principal"
- +" and sends you back to the list of principals."},
-
-
- {"PrBasicPrevious",
- "Sends you back to the list of principals.\n"
- +" \n"
- +"Note that you must save or cancel any changes you've made to"
- +" the current principal before you can go back to the list."},
-
-
- {"PrBasicNext",
- "Sends you to the next Principal Details panel that contains"
- +" the password and ticket lifetime attributes for the principal."},
-
-
-
- //
- // Principal Detail Panel
- //
-
-
- {"PrincipalDetailPanel",
- // Not currently available in GUI
- "This panel enables you to specify the password and"
- +" ticket lifetime attributes for the principal principal."},
-
-
- {"PrinDetLastSuccess",
- "The date and time when the principal last logged in successfully."},
-
-
- {"PrinDetLastFailure",
- "The date and time when the last login failure for the"
- +" principal occurred."},
-
-
- {"PrinDetFailureCount",
- "The number of times that there has been a login failure"
- +" for the principal."},
-
-
- {"PrinDetLastPasswordChange",
- "The date and time when the principal's password was "
- +" last changed."},
-
-
- {"PrPwExpiry",
- "The date and time when the principal's current password"
- +" will expire.\n"
- +" \n"
- +"To set up the password with no expiration date, enter the"
- +" word 'never'in the field.\n"
- +" \n"
- +"To help create a formatted date and time entry, click the adjacent"
- +" '...' button to bring up a helper."},
-
-
- {"PrKvno",
- "The key version number for the principal; this is normally"
- +" changed only when a password has been compromised."},
-
-
- {"PrMaxLifetime",
- "The maximum length of time for which a ticket can be"
- +" granted for the principal (without renewal).\n"
- +" \n"
- +"To help create a time duration in seconds, click the adjacent"
- +" '...' button to bring up a helper."},
-
-
- {"PrMaxRenewal",
- "The maximum length of time for which an existing"
- +" ticket may be renewed for the principal.\n"
- +" \n"
- +"To help create a time duration in seconds, click the adjacent"
- +" '...' button to bring up a helper."},
-
-
- {"PrDetailPrevious",
- "Sends you back to the previous Principal Basics panel."},
-
-
- {"PrDetailNext",
- "Sends you to the next Principal Flags panel that contains"
- +" security, ticket control, and miscellaneous attributes for"
- +" the principal."},
-
-
-
- //
- // Principal Flags Panel
- //
-
-
-
- {"PrincipalFlagsPanel",
- // Not currently available in GUI
- "This panel enables you to specify the security, ticket control, and"
- +" miscellaneous attributes for the principal."},
-
-
- {"PrLockAcct",
- "When checked, prevents the principal from logging in."
- +" This is a easy way to temporarily freeze"
- +" a principal account for any reason."},
-
-
- {"PrForcePwChange",
- "When checked, expires the principal's current password, forcing the"
- +" user to use the kpasswd command to create a new password."
- +" This is useful if"
- +" there is a security breach and you need to make sure that old"
- +" passwords are replaced."},
-
-
- {"PrAllowPostdated",
- "When checked, allows the principal to obtain postdated tickets.\n"
- +" \n"
- +"For example, you may need to use postdated tickets for cron jobs"
- +" that need to run after hours and can't obtain tickets in"
- +" advance because of short ticket lifetimes."},
-
-
- {"PrAllowRenewable",
- "When checked, allows the principal to obtain renewable tickets.\n"
- +" \n"
- +"A principal can automatically extend the expiration date or time of"
- +" a ticket that is renewable (rather than having to get a new"
- +" ticket after the first one expires). Currently, the NFS service"
- +" is the only service that can renew tickets."},
-
-
- {"PrAllowSvr",
- "When checked, allows service tickets to be issued for"
- +" the principal.\n"
- +" \n"
- +"You should not allow service tickets to be issued for the"
- +" 'kadmin/admin' and 'changepw/admin' principals."
- +" This will ensure that these"
- +" principals can only update the KDC database." },
-
-
- {"PrAllowForwardable",
- "When checked, allows the principal to obtain forwardable"
- +" tickets.\n"
- +" \n"
- +"Forwardable tickets are tickets that are forwarded to the"
- +" remote host to provide a single-sign-on session."
- +"For example, if you are using forwardable tickets and you"
- +" authenticate yourself through ftp or rsh, other services,"
- +" such as NFS, are available without you being prompted"
- +" for another password."},
-
-
- {"PrAllowProxiable",
- "When checked, allows the principal to obtain proxiable tickets.\n"
- +" \n"
- +"A proxiable ticket is a ticket that can be used by a service"
- +" on behalf of a client to perform an operation for the client."
- +" With a proxiable ticket, a service can take on the identity"
- +" of a client and obtain a ticket for another service, but it"
- +" cannot obtain a ticket-granting ticket."},
-
-
- {"PrEnforcePolicy",
- "When checked, the policy selected for this principal"
- +" will be enforced."},
-
-
- {"PrAllowTGT",
- "When checked, allows the service principal to provide services"
- +" to another principal. More specifically, it allows the KDC to"
- +" issue a service ticket for the service principal.\n"
- +" \n"
- +"This attribute is valid only for service principals."
- +"When not checked, service tickets cannot be issued for"
- +" the service principal."},
-
-
- {"PrRequirePreAuth",
- "When checked, the KDC will not send a requested ticket-granting"
- +" ticket(TGT) to the principal until it can"
- +" authenticate (through software) that it is really the principal"
- +" requesting the TGT. This preauthentication is usually done"
- +" through an extra password, for example, from a DES card.\n"
- +" \n"
- +"When not checked, the KDC will not need to preauthenticate"
- +" the principal before it sends a requested TGT to it."},
-
-
- {"PrAllowDupAuth",
- "When checked, allows the user principal to obtain service tickets for"
- +" other user principals.\n"
- +" \n"
- +"This attribute is valid only for user principals. When not checked,"
- +" the user principal can still obtain service tickets for"
- +" service principals, but not for other user principals."},
-
-
- {"PrRequireHwPreAuth",
- "When checked, the KDC will not send a requested ticket-granting"
- +" ticket(TGT) to the principal until"
- +" it can authenticate (through hardware) that it is really the"
- +" principal requesting the TGT. Hardware preauthentication could"
- +" be something like a Java ring reader.\n"
- +" \n"
- +"When not checked, the KDC will not need to preauthenticate"
- +" the principal before it sends a requested TGT to it."},
-
-
- {"PrFlagsPrevious",
- "Sends you back to the previous Principal Details panel."},
-
- //
- // Done Button
- //
-
- {"PrFlagsNext",
- "Saves any changes you've made to the current principal and"
- +" sends you back to list of principals."},
-
-
-
- //
- // Policies Panel
- //
-
-
-
- {"PoliciesPanel",
- // Not currently available in GUI
- "This panel enables you to select a policy from the list to"
- +" modify, delete, or duplicate. You can also create a new policy.\n"
- +" \n"
- +"A policy is a set of behaviors regarding"
- +" passwords and tickets that can be applied to a principal."
- +" For example, the principals for system administrators might"
- +" all have the same policy."
- +" \n"
- +"To display a specific policy or sublist of policy,"
- +" enter a filter string in the Filter Pattern field and press"
- +" return.\n"
- +" \n"
- +"To perform an operation on a policy, select it from the list and"
- +" click the appropriate button. To add a new policy, click New."},
-
-
- {"Pollist",
- "Displays the all the available policies in the specified realm.\n"
- +" \n"
- +"To select a policy, click on its name in the list; double-clicking"
- +" on a policy is equivalent to selecting the policy and clicking"
- +" Modify"},
-
- {"PolNoList",
- "This list panel is blank when you don't have list privileges"
- +" or you've chosen not to show lists."},
-
- {"PoListPattern",
- "Enables you to apply a filter on the available policies to display a"
- +" particular policy or sublist of policies. The filter string you"
- +" enter may consist of one or more characters, And, because"
- +" the filter mechanism is case-sensitive, you need to use the"
- +" appropriate upper-case and lower-case letters for the filter.\n"
- +" \n"
- +"For example, entering 'adm' for the filter would match and display,"
- +" policies such as 'admpol', 'adm1', and 'poladmin'.\n"
- +" \n"
- +"To display a particular policy or sublist of"
- +" policies, enter a filter string and press"
- +" return.\n"
- +" \n"
- +"To display the entire list of policies, click Clear"
- +" Filter (or clear the Filter Pattern field and press return)."},
-
-
- {"PoNameNoList",
- "When the policy list is not displayed,"
- +" you must enter policy names in this field to perform"
- +" operations on them. Entering a name is equivalent to selecting"
- +" an item from the list in normal operation.\n"
- +" \n"
- +"To clear the policy entry, click Clear Name (or clear the"
- +" Name field and press return)."},
-
-
- {"PoListClear",
- "Clears the filter and displays the full list of available policies."},
-
-
- {"PoNoListClear",
- "Clears the Name field."},
-
-
- {"PoListModify",
- "Opens the Policy Details panel that enables you to modify the"
- +" selected policy attributes, such as the policy's minimum password"
- +" length and the minimum ticket lifetime."},
-
-
-
- {"PoListAdd",
- "Opens the Policy Details panel that enables you to create a new"
- +" policy. The panel will have some of the fields already filled"
- +" in with default values.\n"
- +" \n"
- +"The Duplicate button performs the same function; however,"
- +" instead of the fields filled in with default values, the"
- +" fields are filled in with the same values as the selected policy."},
-
-
- {"PoListDelete",
- "Deletes the selected policy from the Kerberos realm."},
-
-
-
- {"PoListDuplicate",
- "Opens the Policy Details panel that enables you to duplicate"
- +" the selected policy. The panels will have the fields already"
- +" filled in with the same values as the selected policy,"
- +" except for the policy's name."
- +"You can use this button to quickly create a new policy using"
- +" another policy as a template.\n"
- +" \n"
- +"The Create New button performs the same function; however,"
- +" the fields are filled in with default values."},
-
-
-
- //
- // Policy.Detail
- //
-
-
- {"PoName",
- "The name of the policy. A policy is set of rules governing a"
- +" principal's password and tickets.\n"
- +" \n"
- +"If you are modifying a policy, you cannot edit a policy's name."},
-
-
-
- {"PoMinPwLength",
- "The minimum length for the principal's password."},
-
-
- {"PoMinPwClass",
- "The minimum number of different character types required in the"
- +" principal's password."
- +"For example, a minimum classes value of 2 means that the"
- +" password must have at least two different character types,"
- +" such as letters and numbers(hi2mom). A value of 3 means that"
- +" the password must have at least three different character"
- +" types, such as letters, numbers, and punctuation (hi2mom!)."
- +"And so on. \n"
- +" \n"
- +"A value of 1 basically sets no restriction on the number of password"
- +" character types."},
-
-
- {"PoSavedPasswords",
- "The number of previous passwords that have been used by the principal"
- +" and cannot be reused."},
-
-
- {"PoMinTicketLifetime",
- "The minimum time that the password must be used before it can be"
- +" changed.\n"
- +" \n"
- +"To help create a time duration in seconds, click the adjacent"
- +" '...' button to bring up a helper."},
-
-
- {"PoMaxTicketLifetime",
- "The maximum time that the password can be used before it must be"
- +" changed.\n"
- +" \n"
- +"To help create a time duration in seconds, click the adjacent"
- +" '...' button to bring up a helper."},
-
-
- {"PolDetPrincipalsUsingThisPolicy",
- "The number of principals to which this policy currently applies."},
-
-
- {"PoSave",
- "Saves any changes you've made to the current policy."},
-
-
- {"PoCancel",
- "Discards all the changes you've made to the current policy and sends"
- +" you back to the list of policies."},
-
-
- {"PoDetailPrevious",
- "Sends you back to the list of policies.\n"
- +" \n"
- +"Note that you must save or cancel any changes you've made to the"
- +" current policy before you can go back to the list."},
-
-
- {"PoDetailDone",
- "Saves any changes you've made to the current policy and sends"
- +" you back to list of policies."},
-
-
-
- //
- // Defaults Panel
- //
-
-
- {"DefaultsPanel",
- // Not currently available in GUI
- "This window enables you to change the default settings for adding new"
- +" principals."},
-
-
- {"GlobalLockAcct",
- "When checked, prevents the new principal from logging in."
- +"This is a easy way to temporarily freeze"
- +" new principal accounts for any reason. For example, you may want"
- +" to add a number of new principals in the beginning of the week,"
- +" but you might not want to activate them until the end of the"
- +" week."},
-
-
- {"GlobalAllowPostdated",
- "When checked, allows the new principal to obtain postdated tickets.\n"
- +" \n"
- +"For example, you may need to use postdated tickets for cron jobs"
- +" that need to run after hours and can't obtain tickets in advance"
- +" because of short ticket lifetimes."},
-
-
- {"GlobalAllowRenewable",
- "When checked, allows the new principal to obtain renewable tickets.\n"
- +" \n"
- +"A principal can automatically extend the expiration date or time of"
- +" a ticket that is renewable (rather than having to get a new ticket"
- +" after the first one expires). Currently, the NFS service is the"
- +" only service that can obtain renewable tickets."},
-
-
- {"GlobalEnforcePolicy",
- "When checked, the policy selected for the new principal"
- +" will be enforced."},
-
- {"GlobalAllowTGT",
- "When checked, allows the new service principal to provide services to"
- +" another principal. More specifically, it allows the KDC to issue a"
- +" service ticket for the new service principal.\n"
- +" \n"
- +"This attribute is valid only for service principals."
- +"When not checked,"
- +" service tickets cannot be issued for the new service principal."},
-
-
- {"GlobalForcePwChange",
- "When checked, expires the principal's current password, forcing the"
- +" user to use the kpasswd command to create a new password. This is"
- +" is useful if you want to force users with new principals to set"
- +" up their own passwords."},
-
-
- {"GlobalAllowForwardable",
- "When checked, allows the new principal to obtain forwardable"
- +" tickets.\n"
- +" \n"
- +"Forwardable tickets are tickets that are forwarded to the remote"
- +" host to provide a single-sign-on session. For example, if you"
- +" are using forwardable tickets and you authenticate yourself"
- +" through ftp or rsh, other services, such as NFS, are available"
- +" without you being prompted for another password."},
-
-
- {"GlobalAllowSvr",
- "When checked, allows service tickets to be issued for"
- +" the new principal.\n"
- +" \n"
- +"You should not allow service tickets to be issued for the"
- +" 'kadmin/admin' and the 'changepw/admin' principals."
- +" This will ensure that these"
- +" principals can only update the KDC database." },
-
-
- {"GlobalAllowProxiable",
- "When checked, allows the new principal to obtain proxiable tickets.\n"
- +" \n"
- +"A proxiable ticket is a ticket that can be used by a service on"
- +" behalf of a client to perform an operation for the client."
- +"With a proxiable ticket, a service can take on the identity of"
- +" a client and obtain a ticket for another service, but it cannot"
- +" obtain a ticket-granting ticket."},
-
-
-
- {"GlobalAllowDupAuth",
- "When checked, allows the new user principal to obtain service"
- +" tickets for other user principals.\n"
- +" \n"
- +"This attribute is valid only for user principals. When not checked,"
- +" the new user principal can still obtain service tickets for"
- +" service principals, but not for other user principals."},
-
-
- {"GlobalRequirePreAuth",
- "When checked, the KDC will not send a requested ticket-granting"
- +" ticket(TGT)"
- +" for the new principal until"
- +" it can authenticate (through software) that it is really the"
- +" principal requesting the TGT. This preauthentication is usually"
- +" done through an extra password, for example, from a DES card.\n"
- +" \n"
- +"When not checked, the KDC will not need preauthenticate the new"
- +" principal before it sends a requested TGT for it."},
-
-
- {"GlobalRequireHwPreAuth",
- "When checked, the KDC will not send a requested ticket-granting"
- +" ticket(TGT) for the new principal until it can authenticate"
- +" (through hardware) that it is really the principal"
- +" requesting the TGT. Hardware preauthentication could be something"
- +" like a Java ring reader.\n"
- +" \n"
- +"When not checked, the KDC will not need to preauthenticate the new"
- +" principal with hardware before it sends a requested TGT for it."},
-
- {"GlDefServerSide",
- "When checked, the ticket lifetime values in the new principal are set"
- +" such that "
- +"the maximum value is used. When issuing a ticket the KDC uses the"
- +" minimum of the value defined in the principal entry, in "
- +" /etc/krb5/kdc.conf, or whatever the client requests with kinit."},
-
- {"GlDefLife",
- "The maximum length of time for which a ticket can be"
- +" granted for the new principal (without renewal).\n"
- +" \n"
- +"To help create a time duration in seconds, click the adjacent"
- +" '...' button to bring up a helper."},
-
- {"GlDefRenewableLife",
- "The maximum length of time for which an existing"
- +" ticket may be renewed for the new principal.\n"
- +" \n"
- +"To help create a time duration in seconds, click the adjacent"
- +" '...' button to bring up a helper."},
-
-
- {"GlDefExpiry",
- "The date and time on which the new principal's account expires."
- +"When the account expires, the principal can no longer"
- +" get a ticket-granting ticket (TGT) and may not be able to log in.\n"
- +" \n"
- +"To set up the new account with no expiration date, enter the word"
- +" 'never' in the field.\n"
- +" \n"
- +"To help create a formatted date and time entry, click the adjacent"
- +" '...' button to bring up a helper."},
-
-
-
- {"GlDefShowLists",
- "When checked, the principal and policy lists will be loaded and"
- +" displayed in the list panels. Large lists may produce significant"
- +" loading times, so it may be more convenient to work without lists"
- +" when they are very large, or you should cache them."
- +"The default is on."},
-
-
- {"GlDefStaticLists",
- "When checked, the principal and policy lists will be cached"
- +" when they are initially loaded, and the lists will not be refreshed"
- +" from the server unless you use the Refresh menu. Because large"
- +" lists may produce significant loading times, you should cache"
- +" large lists and refresh them when necessary. The default"
- +" is off."},
-
-
- {"GlDefCacheTime",
- "The period of time that the principal and policy lists will be"
- +" cached before being considered stale and refreshed from the"
- +" server. The default is 300 seconds (6 minutes)."},
-
-
- {"GlobalSave",
- "Makes a permanent change to the default values by writing them"
- +" to ~/.gkadmin, updates the tool, and closes the window."},
-
-
- {"GlobalApply",
- "Makes a temporary change to the default values in the tool and"
- +" closes the window. This does not update ~/.gkadmin."},
-
-
- {"GlobalCancel",
- "Discards all the changes you've made to the current defaults and"
- +" closes the window."},
-
- //
- // Generic Helper Button Descriptions
- //
-
- {"DateHelperButton",
- "Opens the Date and Time Helper window to help you create"
- +" a formatted date and time entry for the associated field."},
-
- {"DurationHelperButton",
- "Opens the Time Duration Helper window to help you create a time"
- +" duration in seconds for the associated field."},
-
- {"EncListHelperButton",
- "Opens the Encryption Types Helper window to help you create"
- +" the principal's keys from the default set."},
-
- //
- // EncryptionTypeDialogHelp
- //
-
- {"EncryptionTypeDialogHelp",
- "You can select/deselect encryption types for this principal as"
- +" needed. Certain encryption types are similar therefore when"
- +" one of these encryption types is selected the other type(s)"
- +" will be deselected. If no encryption types are selected the"
- +" default set of types will be used, see krb5.conf(4) for these.\n"
- +" \n"
- +"Click OK to copy the encryption list that you've selected to the"
- +" corresponding field.\n"
- +" \n"
- +"Click Clear to unselect all encryption types listed."},
-
- //
- // DateTimeDialog
- //
-
- {"DateTimeDialogHelp",
- "To change the month, choose from the Month menu.\n "
- +" \n"
- +"To change the other date and time fields, click in the field and"
- +" enter a value, or use the +/- buttons to increment/decrement their"
- +" value. (Hint: Keeping the buttons pressed makes the value change"
- +" at a faster rate.)\n"
- +" \n"
- +"Click Midnight to change the time to midnight, and click Now to"
- +" change the time to the current time based on the system's clock.\n"
- +" \n"
- +"Click OK to copy the date and time settings you've changed to"
- +" the corresponding field."},
-
-
- //
- // DurationHelper
- //
-
- {"DurationHelperHelp",
- "To help create a time duration in seconds, choose a unit of time"
- +" from the Unit menu, enter a number of units under the"
- +" Value field, and press return (or click '='). The number of"
- +" seconds based on your input will be displayed.\n"
- +" \n"
- +"Click OK to copy the number of seconds you've specified into the"
- +" corresponding field."},
-
- //
- // PrintUtil
- //
-
- {"PrintUtilHelp",
- "You can either print to a printer or a file.\n"
- +" \n"
- +"To print directly to a printer, click the Print Command"
- +" radio button, enter a print command (if you don't want the default"
- +" print command), and click Print.\n"
- +" \n"
- +"To print to a file, click the File Name radio button, enter a file"
- +" name, and click Print. The file name can be an absolute path."
- +" If no path is given, the file will be saved in the directory"
- +" where gkadmin was started. Click '...' next to the File Name field"
- +" to open the File Helper window to help you specify a"
- +" a location and name for the file."},
-
- //
- // Menubar context sensitive help
- //
-
- {"ContextSensitiveHelp",
- "Opens the Context-Sensitive Help window and switches the tool into"
- +" help mode. In help mode, you can get help on any part of the"
- +" current window just by clicking on it. To dismiss the Help window"
- +" and switch back to the normal mode, click Dismiss on the Help"
- +" window."},
-
- {"PrintCurrentPrincipal",
- "Prints the attributes of the currently selected principal in the"
- +" list or the currently loaded principal."},
-
- {"PrintCurrentPolicy",
- "Prints the attributes of the currently selected policy in the"
- +" list or the currently loaded policy."},
-
- {"PrintPrincipalList",
- "Prints the list of all the available principals on the master KDC."},
-
- {"PrintPolicyList",
- "Prints the list of all the available policies on the master KDC."},
-
- {"Logout",
- "Quits the current session and sends you back to the Login window, so"
- +" you can change the login fields and log in again."},
-
- {"EditPreferences",
- "Opens the Properties window, which enables you to"
- +" specify the default settings for creating new principals"
- +" and how the tool should manage the principal"
- +" and policy lists."},
-
- {"RefreshPrincipals",
- "Forces the principal list to be updated from the server."},
-
- {"RefreshPolicies",
- "Forces the policy list to be updated from the server."},
-
- {"Exit",
- "Quits the SEAM Administration Tool."},
-
- {"HelpBrowser",
- "Opens an HTML browser that provides pointers to overview and task"
- +" information"
- +" for the SEAM Administration Tool. This provides the same"
- +" information as the 'Sun Enterprise Authentication Management"
- +" Guide'."},
-
- {"About",
- "Displays the current version of the SEAM Administration Tool."},
-
- {"DateTime...",
- "Opens the SEAM Date and Time Helper window, which enables you to"
- +" set the date and time. After you set the date and time and click"
- +" OK, the settings are automatically formatted and copied into the"
- +" corresponding field."},
-
- {"Duration...",
- "Opens the SEAM Duration Helper window, which enables you to specify a"
- +" time duration and have it converted into seconds."
- +" After you specify the time"
- +" and click OK, the time duration is copied into the corresponding"
- +" field."},
-
- {"EncList...",
- "Opens the SEAM Encryption Type List Helper window, which enables you"
- +" to specify custom encryption types for the principal. "
- +" After you select the encryption types and click OK, the encryption"
- +" type list is copied into the corresponding field."},
-
- {"Print...",
- "Opens the SEAM Print Dialog window, which enables you to specify a"
- +" printer"
- +" to print the information or a file name in which to save the"
- +" information."},
-
- {"Bad Duration",
- "Please enter the duration (in seconds) correctly."},
-
- {"Bad Date",
- "Please enter the date correctly."},
-
- {"Bad Number",
- "Please enter the number correctly."}
-
- }; // end contents object
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/HelpIndex.html b/usr/src/cmd/krb5/kadmin/gui/HelpIndex.html
deleted file mode 100644
index ac515035c9..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/HelpIndex.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!--
- -- ident "%Z%%M% %I% %E% SMI"
- --
- Copyright 2007 Sun Microsystems, Inc. All rights reserved.
- Use is subject to license terms.
-
- CDDL HEADER START
-
- The contents of this file are subject to the terms of the
- Common Development and Distribution License, Version 1.0 only
- (the "License"). You may not use this file except in compliance
- with the License.
-
- You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- or http://www.opensolaris.org/os/licensing.
- See the License for the specific language governing permissions
- and limitations under the License.
-
- When distributing Covered Code, include this CDDL HEADER in each
- file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- If applicable, add the following below this CDDL HEADER, with the
- fields enclosed by brackets "[]" replaced with your own identifying
- information: Portions Copyright [yyyy] [name of copyright owner]
-
- CDDL HEADER END
- -->
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <META NAME="GENERATOR" CONTENT="Mozilla/4.02 [en] (X11; U; SunOS 5.6 sun4u) [Netscape]">
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
-
-<CENTER>
-<H1>
-gkadmin General Help Contents</H1></CENTER>
-
-<CENTER></CENTER>
-Will contain:
-<UL>
-<LI>
-Help explaining what the tool does</LI>
-
-<LI>
-Task based help</LI>
-
-<LI>
-Other?</LI>
-</UL>
-
-</BODY>
-</HTML>
diff --git a/usr/src/cmd/krb5/kadmin/gui/KdcGui.java b/usr/src/cmd/krb5/kadmin/gui/KdcGui.java
deleted file mode 100644
index f30132fa65..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/KdcGui.java
+++ /dev/null
@@ -1,5624 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-/**
- * GUI interface for Kerberos KDC
- */
-
-// Java Workshop stuff
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.awt.TabbedFolder;
-import sunsoft.jws.visual.rt.awt.TextList;
-import sunsoft.jws.visual.rt.awt.StringVector;
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-
-// Regular JDK stuff
-import java.awt.*;
-import java.awt.event.*;
-import java.util.EventListener;
-import java.util.Properties;
-import java.util.Vector;
-import java.util.Random;
-import java.util.StringTokenizer;
-import java.io.IOException;
-import java.io.File;
-import java.io.InputStream;
-import java.net.URL;
-
-// Stuff to support I18N
-import java.util.Date;
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.Locale;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.DateFormatSymbols;
-import java.text.NumberFormat;
-import java.util.ResourceBundle;
-import java.util.ListResourceBundle;
-import java.util.MissingResourceException;
-import java.util.Enumeration;
-
-public class KdcGui extends Group {
-
- // Basics
- private KdcGuiRoot gui;
- private Krb5Conf kc;
- private Principal prin = null;
- private Policy pol = null;
- private Defaults defaults = null;
- private Defaults olddefaults = null;
- public Frame defaultsEditingFrame = null; // public since used
- // by ContextHelp class
- public Frame realMainFrame = null;
- public Frame realLoginFrame = null;
-
- public Kadmin Kadmin = null;
-
- // Privileges stuff: corresponds to ADMCIL set in kdc.conf
- public int privs = 0;
- public static final int PRIV_ADD = 0x02; // KADM5_PRIV_ADD
- public static final int PRIV_DELETE = 0x08; // KADM5_PRIV_DELETE
- public static final int PRIV_MODIFY = 0x04; // KADM5_PRIV_MODIFY
- public static final int PRIV_CHANGEPW = 0x20; // KADM5_PRIV_CPW
- public static final int PRIV_INQUIRE = 0x01; // KADM5_PRIV_GET
- public static final int PRIV_LIST = 0x10; // KADM5_PRIV_LIST
- public boolean noLists = false;
-
- // For modal warning dialog and context-sensitive help dialog
- private Dialog dialog;
- public ContextHelp cHelp = null; // tweaked from ContextHelp when
- // it is dismissed
-
- private static Toolkit toolkit;
-
- // For showDataFormatError() to determine what kind of error to show
-
- public static final int DURATION_DATA = 1;
- public static final int DATE_DATA = 2;
- public static final int NUMBER_DATA = 3;
-
- private static String[] durationErrorText = null;
- private static String[] dateErrorText = null;
- private static String[] numberErrorText = null;
-
- // For date & time helper dialogs
- private DateTimeDialog dateTimeDialog = null;
- private DurationHelper durationHelper = null;
-
- // For the encryption list helper dialog
- private EncListDialog encListDialog = null;
-
- // Important defaults and current settings
- private String DefName = null;
- private String DefRealm = null;
- private String DefServer = null;
- private String DefPort = "0";
- private String CurName, CurPass, CurRealm, CurServer;
- private int CurPort;
- private String CurPrincipal;
- private String CurPolicy;
- private String curPrPattern = "";
- private String curPoPattern = "";
- private int curPrListPos = 0;
- private int curPoListPos = 0;
- private String[] principalList = null;
- private Date principalListDate = new Date(0);
- private String[] policyList = null;
- private Date policyListDate = new Date(0);
- private static final long A_LONG_TIME = 1000 * 60 * 60 * 24 * 365;
-
- // General state variables
- private boolean prSelValid = false;
- private String[] prMulti = null;
- private boolean prNeedSave = false;
- private boolean poSelValid = false;
- private String[] poMulti = null;
- private boolean poNeedSave = false;
- private boolean glNeedSave = false;
- private boolean firsttime = true;
- private boolean prnameEditable = false;
- private boolean ponameEditable = false;
-
- // Support for context-sensitive help
- private static final int BUTTON_ACTION = 1;
- private static final int BUTTON_MOUSE = 2;
- private static final int TEXTFIELD_ACTION = 3;
- private static final int TEXTFIELD_MOUSE = 4;
- private static final int TEXTFIELD_KEY = 5;
- private static final int CHOICE_ITEM = 6;
- private static final int CHOICE_MOUSE = 7;
- private static final int CHECKBOX_ITEM = 8;
- private static final int CHECKBOX_MOUSE = 9;
- private static final int LABEL_MOUSE = 10;
- private static final int WINDOW_LISTENER = 11;
-
- private boolean loginListeners = false;
- private Vector LoginNormal = null;
- private Vector LoginHelp = null;
- private Vector LoginFixers = null;
- private Vector MainNormal = null;
- private Vector MainHelp = null;
- private Vector MainFixers = null;
- private Vector defaultsNormal = null;
- private Vector defaultsHelp = null;
- private Vector defaultsFixers = null;
- public boolean loginHelpMode = false;
- public boolean mainHelpMode = false;
- public boolean defaultsHelpMode = false;
-
- // For Principal and Policy Keystroke listeners
- private static final int PRINCIPAL_EDITING = 1;
- private static final int POLICY_EDITING = 2;
- private static final int DEFAULTS_EDITING = 3;
- private static final int PRINCIPAL_LIST = 4;
- private static final int POLICY_LIST = 5;
-
- // For status line
- private String OpString = "";
- private String ModeString = "";
- private String SaveString = "";
-
- // For I18N
- private static ResourceBundle rb;
- private static ResourceBundle hrb;
- private static DateFormat df;
- private static NumberFormat nf;
-
- private static String neverString;
-
- // For general pupose help
- Process browserProcess;
- String helpIndexFile = "file:/usr/lib/krb5/HelpIndex.html";
-
- // For performance monitoring
- boolean perfmon = false;
- Date pdateFirst;
- Date pdateAfterKrb5Conf;
- Date pdateEndGuiRoot;
- Date pdateBeginStartGroup;
- Date pdateStringsDone;
- Date pdateLoginReady;
- Date pdateLoginDone;
- Date pdateSessionUp;
- Date pdatePreMainShow;
- Date pdatePostMainShow;
- Date pdateMainActive;
- Date pdateStartPlist;
- Date pdateHavePlist;
- Date pdateEmptyPlist;
- Date pdateDonePlist;
-
- public void reportTime(String s0, Date curr, Date prev) {
- if (!perfmon)
- return;
- String s1 = curr.toString();
- long curdiff = curr.getTime() - prev.getTime();
- String s2 = (new Long(curdiff)).toString();
- long cumdiff = curr.getTime() - pdateFirst.getTime();
- String s3 = (new Long(cumdiff)).toString();
- System.out.println(s0+s1+" delta "+s2+" cume "+s3);
- }
-
- public void reportStartTimes() {
- if (!perfmon)
- return;
- System.out.println("");
- reportTime("First timestamp: ", pdateFirst, pdateFirst);
- reportTime("After krb5.conf: ", pdateAfterKrb5Conf, pdateFirst);
- reportTime("KdcGuiRoot done: ", pdateEndGuiRoot, pdateAfterKrb5Conf);
- reportTime("At startGroup : ", pdateBeginStartGroup, pdateEndGuiRoot);
- reportTime("Strings set up : ", pdateStringsDone, pdateBeginStartGroup);
- reportTime("Login ready : ", pdateLoginReady, pdateStringsDone);
- reportTime("Login complete : ", pdateLoginDone, pdateLoginReady);
- reportTime("Session set up : ", pdateSessionUp, pdateLoginDone);
- reportTime("Start main win : ", pdatePreMainShow, pdateSessionUp);
- reportTime("Done main win : ", pdatePostMainShow, pdatePreMainShow);
- reportTime("Main win active: ", pdateMainActive, pdatePostMainShow);
- }
-
- /**
- * Sample method call ordering during a group's lifetime:
- *
- * Constructor
- * initRoot
- * initGroup
- * (setOnGroup and getOnGroup may be called at any time in any
- * order after initGroup has been called)
- * createGroup
- * showGroup/hideGroup + startGroup/stopGroup
- * destroyGroup
- */
-
- /**
- * The constructor sets up defaults for login screen
- *
- */
- public KdcGui() {
-
- /*
- * Set up defaults from /etc/krb5/krb5.conf
- */
-
- pdateFirst = new Date();
- DefName = System.getProperty("user.name" /* NOI18N */)+
- "/admin" /* NOI18N */;
- kc = new Krb5Conf();
- DefRealm = kc.getDefaultRealm();
- DefServer = kc.getRealmServer(DefRealm);
- DefPort = kc.getRealmPort(DefRealm);
- pdateAfterKrb5Conf = new Date();
-
- /*
- * Take care of Java Workshop attribute plumbing
- */
- addForwardedAttributes();
- }
-
- /**
- * Inherited from the Java Workshop skeleton
- *
- */
- protected Root initRoot() {
- /*
- * Initialize the gui components
- */
- gui = new KdcGuiRoot(this);
- pdateEndGuiRoot = new Date();
-
- /*
- * Take care of Java Workshop attribute plumbing.
- */
- addAttributeForward(gui.getMainChild());
-
- initLoginStrings();
- initMainStrings();
- pdateStringsDone = new Date();
- return gui;
- }
-
- /**
- * Set up the login screen properly.
- *
- */
- protected void startGroup() {
- pdateBeginStartGroup = new Date();
- realLoginFrame = (Frame)gui.loginframe.getBody();
- realLoginFrame.setTitle(getString("SEAM Administration Login"));
- setLoginDefaults();
- pdateLoginReady = new Date();
- }
-
- /**
- * All cleanup done here.
- */
- protected void stopGroup() {
- killHelpBrowser();
- }
-
-
- /**
- * Callbacks from Java workshop to decide whether to take the action
- * or show appropriate help for it.
- *
- * 1. Actions that are triggered from all three - mainframe,
- * loginframe, and defaultsEditingFrame - are: context sensitive help.
- * 2. Actions that are triggered only from mainframe are: printing,
- * logging out, edit preferences.
- * 3. Actions that are triggered from mainframe and loginframe are:
- * exit, general help, context sensitive help, about.
- */
-
-
- // All three frames
-
- public void checkContextSensitiveHelp(Frame frame) {
- if ((loginHelpMode && frame == realLoginFrame)
- || (mainHelpMode && frame == realMainFrame)
- || (defaultsHelpMode && frame == defaultsEditingFrame))
- showHelp("ContextSensitiveHelp");
- else
- contextHelp(frame);
- }
-
- // Mainframe only
-
- public void checkPrintCurPr() {
- if (mainHelpMode)
- showHelp("PrintCurrentPrincipal");
- else
- printCurPr();
- }
-
- public void checkPrintCurPol() {
- if (mainHelpMode)
- showHelp("PrintCurrentPolicy");
- else
- printCurPol();
- }
-
- public void checkPrintPrList() {
- if (mainHelpMode)
- showHelp("PrintPrincipalList");
- else
- printPrList();
- }
-
- public void checkPrintPoList() {
- if (mainHelpMode)
- showHelp("PrintPolicyList");
- else
- printPoList();
- }
-
- public void checkLogout() {
- if (mainHelpMode)
- showHelp("Logout");
- else if (okayToLeave(realMainFrame))
- logout();
- }
-
- public void checkEditPreferences() {
- if (mainHelpMode)
- showHelp("EditPreferences");
- else
- editPreferences();
- }
-
- public void checkRefreshPrincipals() {
- if (mainHelpMode)
- showHelp("RefreshPrincipals");
- else {
- principalList = null;
- fillPrincipalList(curPrPattern);
- }
- }
-
- public void checkRefreshPolicies() {
- if (mainHelpMode)
- showHelp("RefreshPolicies");
- else {
- policyList = null;
- fillPolicyList(curPoPattern);
- }
- }
-
- // Mainframe and loginframe
-
- public void checkExit(Frame frame) {
- if ((loginHelpMode && frame == realLoginFrame)
- || (mainHelpMode && frame == realMainFrame))
- showHelp("Exit");
- else if (okayToLeave(frame))
- exit();
- }
-
- public void checkHelp(Frame frame) {
- if ((loginHelpMode && frame == realLoginFrame)
- || (mainHelpMode && frame == realMainFrame))
- showHelp("HelpBrowser");
- else
- showHelpBrowser(frame);
- }
-
- public void checkAbout(Frame frame) {
- if ((loginHelpMode && frame == realLoginFrame)
- || (mainHelpMode && frame == realMainFrame))
- showHelp("About");
- else
- doAbout(frame);
- }
-
- public boolean okayToLeave(Frame frame) {
- if (prNeedSave || poNeedSave || glNeedSave) {
- String text[] = {getString("You are about to lose changes."),
- getString("Click Save to commit changes, "
- +"Discard to discard changes, "
- +"or Cancel to continue editing.")};
- String resp = confirmSave(frame, text);
- if (resp.equals(getString("Cancel")))
- return false;
- else if (resp.equals(getString("Save"))) {
- if (prNeedSave)
- if (!prDoSave())
- return false; // found an error so cannot leave
- if (poNeedSave)
- if (!poDoSave())
- return false; // found an error so cannot leave
- if (glNeedSave)
- glDoSave(true);
- } else
- prNeedSave = poNeedSave = glNeedSave = false;
- }
- return true;
- }
-
- /**
- * We use the JDK 1.1 event model for most of our events, but
- * we do still need to handle old-style events because the
- * tabbed folder and the card panel(supplied by Java Workshop)
- * are not compatible with the new event model. We use the
- * callouts from Java Workshop to deal with the card panel,
- * but we need to have some code here to do the right thing
- * when the user selects a new tab in the tabbed folder.
- *
- * It is important that not too many conditions are tested here,
- * because all events flow through this code path.
- *
- */
- public boolean handleEvent(Message msg, Event evt) {
-
- /*
- * Look for events from the principal and policy list.
- */
-
- if (evt.target == gui.Prlist.getBody()) {
- if (mainHelpMode) {
- if (evt.id == Event.ACTION_EVENT
- || evt.id == Event.LIST_SELECT) {
- restorePrListSelection();
- showHelp(((Component)gui.Prlist.getBody()).getName());
- }
- } // end of help mode
- else if (evt.id == Event.ACTION_EVENT)
- prModify();
- else if (evt.id == Event.LIST_SELECT)
- lookAtPrList();
- return true;
- } // end of Prlist
-
- if (evt.target == gui.Pollist.getBody()) {
- if (mainHelpMode) {
- if (evt.id == Event.ACTION_EVENT
- || evt.id == Event.LIST_SELECT) {
- restorePoListSelection();
- showHelp(((Component)gui.Pollist.getBody()).getName());
- }
- } // end of help mode
- else if (evt.id == Event.ACTION_EVENT)
- poSelected();
- else if (evt.id == Event.LIST_SELECT)
- lookAtPoList();
- return true;
- } // end of Pollist
-
- /*
- * Look for a unique event from the tabbed folder component;
- * if I see it, I know I have a chance to disallow a switch.
- * This makes sure data is saved before leaving a tab.
- */
- if (evt.id == TabbedFolder.CONFIRM_SWITCH) {
- // System.out.println("Got confirm for "+evt.arg);
- String e = (String)evt.arg;
- if (!mainHelpMode && okayToLeave(realMainFrame) == false) {
- // System.out.println("Denying switch");
- ((TabbedFolder)gui.tabbedfolder1.getBody()).cancelSwitch();
- }
- /*
- * Okay with switch; make sure the data is up to date
- */
- else if (e.compareTo(getString("Principals")) == 0) {
- if (mainHelpMode) {
- showHelp("PrincipalTab");
- ((TabbedFolder)gui.tabbedfolder1.getBody()).cancelSwitch();
- } else {
- showPrincipalList(curPrPattern);
- disablePolicyPrinting();
- }
- } else if (e.compareTo(getString("Policies")) == 0) {
- if (mainHelpMode) {
- showHelp("PolicyTab");
- ((TabbedFolder)gui.tabbedfolder1.getBody()).cancelSwitch();
- } else {
- showPolicyList(curPoPattern);
- disablePrincipalPrinting();
- }
- }
- }
- return super.handleEvent(msg, evt);
- }
-
- /*
- * New methods for the admin gui login screen.
- */
-
- /**
- * Set strings on login screen to their I18N'd values
- *
- */
- public void initLoginStrings() {
- gui.File2.set("text" /* NOI18N */, getString("File"));
- gui.Exit2.set("text" /* NOI18N */, getString("Exit"));
- gui.menu1.set("text" /* NOI18N */, getString("Help"));
- gui.browserHelp1.set("text" /* NOI18N */, getString("Help Contents"));
- gui.Context2.set("text" /* NOI18N */,
- getString("Context-Sensitive Help"));
- gui.About2.set("text" /* NOI18N */, getString("About"));
- gui.LoginNameLabel.set("text" /* NOI18N */,
- getString("Principal Name:"));
- gui.LoginPassLabel.set("text" /* NOI18N */, getString("Password:"));
- gui.LoginRealmLabel.set("text" /* NOI18N */, getString("Realm:"));
- gui.LoginServerLabel.set("text" /* NOI18N */, getString("Master KDC:"));
- gui.LoginOK.set("text" /* NOI18N */, getString("OK"));
- gui.LoginStartOver.set("text" /* NOI18N */, getString("Start Over"));
- }
-
- /**
- * Set strings on main screen to their I18N'd values
- *
- */
- public void initMainStrings() {
- gui.mainframe.set("title" /* NOI18N */,
- getString("SEAM Administration Tool"));
- gui.File.set("text" /* NOI18N */, getString("File"));
- gui.Print.set("text" /* NOI18N */, getString("Print"));
- gui.PrintCurPr.set("text" /* NOI18N */, getString("Current Principal"));
- gui.PrintCurPol.set("text" /* NOI18N */, getString("Current Policy"));
- gui.PrintPrlist.set("text" /* NOI18N */, getString("Principal List"));
- gui.PrintPollist.set("text" /* NOI18N */, getString("Policy List"));
- gui.logout.set("text" /* NOI18N */, getString("Log Out"));
- gui.Exit.set("text" /* NOI18N */, getString("Exit"));
- gui.editMenu.set("text" /* NOI18N */, getString("Edit"));
- gui.editPreferences.set("text" /* NOI18N */,
- getString("Properties..."));
- gui.menu2.set("text" /* NOI18N */, getString("Refresh"));
- gui.refreshPrincipals.set("text" /* NOI18N */,
- getString("Principal List"));
- gui.refreshPolicies.set("text" /* NOI18N */, getString("Policy List"));
- gui.Help.set("text" /* NOI18N */, getString("Help"));
- gui.browserHelp2.set("text" /* NOI18N */, getString("Help Contents"));
- gui.Context.set("text" /* NOI18N */,
- getString("Context-Sensitive Help"));
- gui.About.set("text" /* NOI18N */, getString("About"));
-
- gui.Prlisttab.set("layoutName", getString("Principals"));
- gui.Pollisttab.set("layoutName", getString("Policies"));
-
- gui.PrListLabel.set("text" /* NOI18N */, getString("Principal List"));
- gui.PrSearchLab.set("text" /* NOI18N */, getString("Filter Pattern:"));
- gui.PrListClear.set("text" /* NOI18N */, getString("Clear Filter"));
- gui.PrListModify.set("text" /* NOI18N */, getString("Modify"));
- gui.PrListAdd.set("text" /* NOI18N */, getString("Create New"));
- gui.PrListDelete.set("text" /* NOI18N */, getString("Delete"));
- gui.PrListDuplicate.set("text" /* NOI18N */, getString("Duplicate"));
-
- gui.PrBasicLabel.set("text" /* NOI18N */,
- getString("Principal Basics"));
- gui.PrNameLabel1.set("text" /* NOI18N */, getString("Principal Name:"));
- gui.LabelBarGeneral.set("text" /* NOI18N */, getString("General"));
- gui.PrCommentsLabel.set("text" /* NOI18N */, getString("Comments:"));
- gui.PrPolicyLabel.set("text" /* NOI18N */, getString("Policy:"));
- gui.PrPasswordLabel.set("text" /* NOI18N */, getString("Password:"));
- gui.PrBasicRandomPw.set("text" /* NOI18N */,
- getString("Generate Random Password"));
- gui.EncListLabel.set("text" /* NOI18N */,
- getString("Encryption Key Types:"));
- gui.LabelBarPrincipal.set("text" /* NOI18N */,
- getString("Admin History"));
- gui.PrLastChangedTimeLabel.set("text" /* NOI18N */,
- getString("Last Principal Change:"));
- gui.PrLastChangedByLabel.set("text" /* NOI18N */,
- getString("Last Changed By:"));
- gui.PrExpiryLabel.set("text" /* NOI18N */,
- getString("Account Expires:"));
- gui.PrBasicSave.set("text" /* NOI18N */, getString("Save"));
- gui.PrBasicPrevious.set("text" /* NOI18N */, getString("Previous"));
- gui.PrBasicNext.set("text" /* NOI18N */, getString("Next"));
- gui.PrBasicCancel.set("text" /* NOI18N */, getString("Cancel"));
-
- gui.PrDetailLabel.set("text" /* NOI18N */,
- getString("Principal Details"));
- gui.LabelBarPassword.set("text" /* NOI18N */, getString("Password"));
- gui.PrLastSuccessLabel.set("text" /* NOI18N */,
- getString("Last Success:"));
- gui.PrLastFailureLabel.set("text" /* NOI18N */,
- getString("Last Failure:"));
- gui.PrFailureCountLabel.set("text" /* NOI18N */,
- getString("Failure Count:"));
- gui.PrPwLastChangedLabel.set("text" /* NOI18N */,
- getString("Last Password Change:"));
- gui.PrPwExpiryLabel.set("text" /* NOI18N */,
- getString("Password Expires:"));
- gui.PrKvnoLabel.set("text" /* NOI18N */, getString("Key Version:"));
- gui.LabelBarTicket.set("text" /* NOI18N */,
- getString("Ticket Lifetimes"));
- gui.PrMaxTicketLifetimeLabel.set("text" /* NOI18N */,
- getString("Maximum Lifetime (seconds):"));
- gui.PrMaxTicketRenewalLabel.set("text" /* NOI18N */,
- getString("Maximum Renewal (seconds):"));
- gui.PrDetailSave.set("text" /* NOI18N */, getString("Save"));
- gui.PrDetailPrevious.set("text" /* NOI18N */, getString("Previous"));
- gui.PrDetailNext.set("text" /* NOI18N */, getString("Next"));
- gui.PrDetailCancel.set("text" /* NOI18N */, getString("Cancel"));
-
- gui.PrFlagLabel.set("text" /* NOI18N */, getString("Principal Flags"));
- gui.LabelBarSecurity.set("text" /* NOI18N */, getString("Security"));
-
- gui.PrLockAcct.set("text" /* NOI18N */,
- Flags.getLabel(Flags.DISALLOW_ALL_TIX));
- gui.PrForcePwChange.set("text" /* NOI18N */,
- Flags.getLabel(Flags.REQUIRES_PWCHANGE));
- gui.LabelBarTickets.set("text" /* NOI18N */, getString("Ticket"));
- gui.PrAllowPostdated.set("text" /* NOI18N */,
- Flags.getLabel(Flags.DISALLOW_POSTDATED));
- gui.PrAllowForwardable.set("text" /* NOI18N */,
- Flags.getLabel(Flags.DISALLOW_FORWARDABLE));
- gui.PrAllowRenewable.set("text" /* NOI18N */,
- Flags.getLabel(Flags.DISALLOW_RENEWABLE));
- gui.PrAllowProxiable.set("text" /* NOI18N */,
- Flags.getLabel(Flags.DISALLOW_PROXIABLE));
- gui.PrAllowSvr.set("text" /* NOI18N */,
- Flags.getLabel(Flags.DISALLOW_SVR));
- gui.LabelBarMiscellany.set("text" /* NOI18N */,
- getString("Miscellaneous"));
- gui.PrAllowTGT.set("text" /* NOI18N */,
- Flags.getLabel(Flags.DISALLOW_TGT_BASED));
- gui.PrAllowDupAuth.set("text" /* NOI18N */,
- Flags.getLabel(Flags.DISALLOW_DUP_SKEY));
- gui.PrRequirePreAuth.set("text" /* NOI18N */,
- Flags.getLabel(Flags.REQUIRE_PRE_AUTH));
- gui.PrRequireHwPreAuth.set("text" /* NOI18N */,
- Flags.getLabel(Flags.REQUIRE_HW_AUTH));
- gui.PrFlagsSave.set("text" /* NOI18N */, getString("Save"));
- gui.PrFlagsPrevious.set("text" /* NOI18N */, getString("Previous"));
- gui.PrFlagsNext.set("text" /* NOI18N */, getString("Done"));
- gui.PrFlagsCancel.set("text" /* NOI18N */, getString("Cancel"));
-
- gui.PoListLabel.set("text" /* NOI18N */, getString("Policy List"));
- gui.PoListPatternLabel.set("text" /* NOI18N */,
- getString("Filter Pattern:"));
- gui.PoListClear.set("text" /* NOI18N */, getString("Clear Filter"));
- gui.PoListModify.set("text" /* NOI18N */, getString("Modify"));
- gui.PoListAdd.set("text" /* NOI18N */, getString("Create New"));
- gui.PoListDelete.set("text" /* NOI18N */, getString("Delete"));
- gui.PoListDuplicate.set("text" /* NOI18N */, getString("Duplicate"));
-
- gui.PoDetailLabel.set("text" /* NOI18N */, getString("Policy Details"));
- gui.PoNameLabel.set("text" /* NOI18N */, getString("Policy Name:"));
- gui.PoMinPwLengthLabel.set("text" /* NOI18N */,
- getString("Minimum Password Length:"));
- gui.PoMinPwClassLabel.set("text" /* NOI18N */,
- getString("Minimum Password Classes:"));
- gui.PoSavedPasswordsLabel.set("text" /* NOI18N */,
- getString("Saved Password History:"));
- gui.PoMinTicketLifetimeLabel.set("text" /* NOI18N */,
- getString("Minimum Password Lifetime (seconds):"));
- gui.PoMaxTicketLifetimeLabel.set("text" /* NOI18N */,
- getString("Maximum Password Lifetime (seconds):"));
- gui.PoReferencesLabel.set("text" /* NOI18N */,
- getString("Principals Using This Policy:"));
- gui.PoDetailSave.set("text" /* NOI18N */, getString("Save"));
- gui.PoDetailPrevious.set("text" /* NOI18N */, getString("Previous"));
- gui.PoDetailDone.set("text" /* NOI18N */, getString("Done"));
- gui.PoDetailCancel.set("text" /* NOI18N */, getString("Cancel"));
- }
-
- /**
- * Allow user to see a fatal error before exiting
- */
- public void fatalError(Frame frame, String[] text) {
- String title = getString("Error");
- String[] buttons = new String[1];
- buttons[0] = getString("OK");
- ChoiceDialog cd = new ChoiceDialog(frame, title, text, buttons);
- cd.getSelection();
- exit();
- }
-
- /**
- * Set the defaults for the login screen. Called on startup,
- * when "Start Over" is pressed, or when "Log Out" is chosen
- * from the main screen's menu.
- *
- */
- public void setLoginDefaults() {
- CurName = DefName;
- CurPass = "";
- if (DefRealm != null)
- CurRealm = DefRealm;
- else {
- CurRealm = "";
- if (firsttime) {
- showLoginWarning(getString("Cannot find default realm; "
- +"check /etc/krb5/krb5.conf"));
- firsttime = false;
- }
- }
- if (DefServer != null)
- CurServer = DefServer;
- else
- CurServer = "";
- CurPort = 0;
- try {
- Integer i = new Integer(DefPort);
- CurPort = i.intValue();
- } catch (NumberFormatException e) {}
- gui.LoginName.set("text" /* NOI18N */, CurName);
- gui.LoginPass.set("text" /* NOI18N */, CurPass);
- gui.LoginRealm.set("text" /* NOI18N */, CurRealm);
- gui.LoginServer.set("text" /* NOI18N */, CurServer);
- if (CurRealm.equals("___default_realm___")) {
- String[] error = new String[1];
- error[0] = getString(
- "Kerberos /etc/krb5/krb5.conf configuration"
- +" file not configured; exiting");
- fatalError(realLoginFrame, error);
- }
- if (!loginListeners)
- setupLoginNormalListeners();
- loginListeners = true;
- TextField name = (TextField)gui.LoginName.getBody();
- name.selectAll();
- name.requestFocus();
- }
-
- /**
- * React after new realm entered
- *
- */
- public void newRealm() {
- CurRealm = (String)gui.LoginRealm.get("text" /* NOI18N */);
- String s = kc.getRealmServer(CurRealm);
- if (s != null) {
- CurServer = s;
- gui.LoginServer.set("text" /* NOI18N */, CurServer);
-
- } else {
- showLoginWarning(getString("Cannot find default server for realm"));
- CurServer = "";
- gui.LoginServer.set("text" /* NOI18N */, CurServer);
- ((TextField)gui.LoginServer.getBody()).requestFocus();
- }
- }
-
- /**
- * React after new server entered
- *
- */
- public void newServer() {
- CurServer = (String)gui.LoginServer.get("text" /* NOI18N */);
- if (CurPass.compareTo("") != 0)
- loginComplete();
- }
-
- /**
- * React after username is complete
- *
- */
- public void nameComplete() {
- ((TextField)gui.LoginName.getBody()).select(0, 0);
- ((TextField)gui.LoginPass.getBody()).requestFocus();
- }
-
- /**
- * React after password is complete or "OK" button is pressed.
- * We insist that the realm and server are set here separately
- * so that we can permit field-to-field motion if /etc/krb5/krb5.conf
- * does not exist.
- *
- */
- public void passwordComplete() {
- CurPass = (String)gui.LoginPass.get("text" /* NOI18N */);
- if (CurRealm.compareTo("") == 0) {
- ((TextField)gui.LoginRealm.getBody()).requestFocus();
- return;
- }
- if (CurServer.compareTo("") == 0) {
- ((TextField)gui.LoginServer.getBody()).requestFocus();
- return;
- }
- loginComplete();
- }
-
- /**
- * Check to see if we're happy with the login information.
- * We may want to go to the main screen, principal list tab.
- *
- */
- public void loginComplete() {
- pdateLoginDone = new Date();
- CurName = (String)gui.LoginName.get("text" /* NOI18N */);
- CurPass = (String)gui.LoginPass.get("text" /* NOI18N */);
- CurRealm = (String)gui.LoginRealm.get("text" /* NOI18N */);
- CurServer = (String)gui.LoginServer.get("text" /* NOI18N */);
- if (CurPass.compareTo("") == 0) {
- showLoginWarning(getString("A password must be specified"));
- ((TextField)gui.LoginPass.getBody()).requestFocus();
- return;
- }
- if (CurRealm.compareTo("") == 0) {
- showLoginWarning(getString("A realm entry must be specified"));
- ((TextField)gui.LoginRealm.getBody()).requestFocus();
- return;
- }
- if (CurServer.compareTo("") == 0) {
- showLoginWarning(getString("A master KDC entry must be specified"));
- ((TextField)gui.LoginServer.getBody()).requestFocus();
- return;
- }
-
- realLoginFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- Kadmin = new Kadmin();
- boolean b;
- try {
- b = Kadmin.sessionInit(CurName, CurPass, CurRealm, CurServer,
- CurPort);
- } catch (Exception e) {
- b = false;
- realLoginFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- showLoginError(e.getMessage());
- return;
- }
- realLoginFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- if (b == false) {
- showLoginError(getString("Invalid login, please try again"));
- return;
- }
- pdateSessionUp = new Date();
-
- // Instantiate defaults for this user
- if (defaults == null)
- defaults = new Defaults(System.getProperty("user.home" /* NOI18N */)
- + "/.gkadmin" /* NOI18N */,
- (java.awt.Color)gui.mainframe.get("background"));
- else
- defaults.refreshDefaults();
-
- // Figure out what privileges we have
- try {
- privs = Kadmin.getPrivs();
- } catch (Exception e) {
- showLoginError(e.getMessage());
- }
-
- // Check privileges; if bad enough, we'll just give up.
- if (checkPrivs() == false) {
- try {
- Kadmin.sessionExit();
- } catch (Exception e) {}
- return;
- }
- reactToPrivs();
-
- prSetEditable(false);
- prSetCanSave(false);
- poSetEditable(false);
- poSetCanSave(false);
- prSelValid(false);
- poSelValid(false);
- gui.PrListPattern.set("text" /* NOI18N */, "");
- gui.PoListPattern.set("text" /* NOI18N */, "");
-
- // Disable login frame
- setListeners(LoginNormal, false);
- loginListeners = false;
-
- pdatePreMainShow = new Date();
- realLoginFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- gui.mainframe.show(true); /* XXX - done waaay too early, fix */
- realLoginFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- pdatePostMainShow = new Date();
- realMainFrame = (Frame)gui.mainframe.getBody();
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- gui.tabbedfolder1.show(getString("Principals"));
- gui.cardpanel2.show("List" /* NOI18N */);
- setupMainNormalListeners();
- setupDefaultsEditingFrame();
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- pdateMainActive = new Date();
- reportStartTimes();
-
- showPolicyList("");
- showPrincipalList("");
- setPolicyChoice();
- /* XXX - disabled multiple selection until double-click works */
- gui.Prlist.set("allowMultipleSelections" /* NOI18N */,
- new Boolean(false));
- gui.Pollist.set("allowMultipleSelections" /* NOI18N */,
- new Boolean(false));
- if ((privs & PRIV_LIST) == 0) {
- showWarning(
- getString("Unable to access lists; please use the Name field."));
- ((TextField)gui.PrListPattern.getBody()).requestFocus();
- }
- }
-
- /**
- * React to main screen's "Log Out" choice by going back to login screen.
- *
- */
- public void logout() {
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- setListeners(MainNormal, false);
- setListeners(defaultsNormal, false);
- try {
- Kadmin.sessionExit();
- Kadmin = null;
- } catch (Exception e) {
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- showError(e.getMessage());
- return;
- }
- setLoginDefaults();
- principalList = null;
- gui.Prlist.set("items" /* NOI18N */, null);
- policyList = null;
- gui.Pollist.set("items" /* NOI18N */, null);
- gui.mainframe.show(false);
- curPrListPos = 0;
- curPrPattern = "";
- curPoListPos = 0;
- curPoPattern = "";
-
- // Forget this user's print preferences
- PrintUtil.reinitialize();
-
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- }
-
- public void exit() {
- try {
- if (Kadmin != null)
- Kadmin.sessionExit();
- } catch (Exception e) {}
- super.exit();
- }
-
- /*
- * Methods for the principal list panel
- */
-
- /**
- * Update all principal text fields from gui.
- * Check to see if anyone of them had a parse error.
- * @param nullPasswdOK true if the password can be null. This is
- * allowed only when the operation is a modify on an existing
- * principal or if it is an attempt to print a new principal still
- * in creation.
- * @returns true if all is ok, false if an error occurs
- */
- // Quits as soon as the first error is detected. The method that
- // detects the error also shows a dialog box with a message.
- public boolean prUpdateFromGui(boolean nullPasswdOK) {
- return (setPrName1() && setPrPassword(nullPasswdOK) && setPrExpiry() &&
- setPrComments() && setPrPwExpiry() && setPrKvno() &&
- setPrMaxlife() && setPrMaxrenew() && setEncType());
- }
-
- /**
- * Is the principal name field editable?
- *
- */
- public void prSetEditable(boolean editable) {
- prnameEditable = editable;
- Boolean b = new Boolean(editable);
- gui.PrName1.set("editable" /* NOI18N */, b);
- }
-
- /**
- * React to a change in the principal search pattern
- *
- */
- public void prPatternComplete() {
- curPrListPos = 0;
- String pattern = (String)gui.PrListPattern.get("text" /* NOI18N */);
- if (!noLists)
- showPrincipalList(pattern);
- else
- setCurPrincipal(pattern);
- }
-
- /**
- * Clear principal search pattern
- *
- */
- public void prPatternClear() {
- if (noLists) {
- gui.PrListPattern.set("text" /* NOI18N */, "");
- ((TextField)gui.PrListPattern.getBody()).requestFocus();
- } else {
- String tempName = CurPrincipal;
- fillPrincipalList("");
- selectPrincipal(tempName);
- }
- }
-
- /**
- * Show the principal list after applying the filter passed in.
- */
- public void showPrincipalList(String pattern) {
- prin = null; // we are not editing a principal
- fillPrincipalList(pattern);
- ModeString = "";
- OpString = "";
- updateStatus();
- gui.cardpanel1.show("List" /* NOI18N */);
- if (noLists)
- ((TextField)gui.PrListPattern.getBody()).requestFocus();
- }
-
- /**
- * Generate the principal list for the first time or after a pattern
- * has been chosen.
- *
- */
- public void fillPrincipalList(String pattern) {
- if (noLists) {
- setCurPrincipal((String)gui.PrListPattern.get("text" /* NOI18N */));
- ((TextField)gui.PrListPattern.getBody()).requestFocus();
- disablePrincipalPrinting();
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- pdateStartPlist = new Date();
- // Do we still want to cache the principal list?
- long cachetime = A_LONG_TIME;
- if (!defaults.getStaticLists())
- cachetime = defaults.getCacheTime() * 1000;
- if (principalList != null
- && ((new Date()).getTime() - principalListDate.getTime())
- <= cachetime) {
-
- // Has the pattern changed?
- if (pattern.compareTo(curPrPattern) != 0)
- newPrPattern(pattern);
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- selectPrincipal(curPrListPos);
- return;
-
- }
- PrincipalList p = new PrincipalList(Kadmin);
- gui.StatusLine.set("text" /* NOI18N */,
- getString("Loading principal list"));
- try {
- principalList = p.getPrincipalList(CurRealm);
- principalListDate = new Date();
- } catch (Exception e) {
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- showError(e.getMessage());
- updateStatus();
- return;
- }
- updateStatus();
- pdateHavePlist = new Date();
- reportTime("Fetched Plist : ", pdateHavePlist, pdateStartPlist);
- newPrPattern(pattern);
- selectPrincipal(curPrListPos);
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- pdateDonePlist = new Date();
- reportTime("Completed Plist: ", pdateDonePlist, pdateHavePlist);
- if (perfmon)
- System.out.println("Principal list has "
- +(new Integer(principalList.length)).toString()+" items");
- }
-
- private void newPrPattern(String pattern) {
- curPrPattern = pattern;
- gui.PrListPattern.set("text" /* NOI18N */, pattern);
- refreshPrincipalList();
- }
-
- private void refreshPrincipalList() {
- if (noLists)
- return;
- Filter f = new Filter(principalList, curPrPattern);
- gui.Prlist.set("items" /* NOI18N */, f.out);
- }
-
- private void selectPrincipal(int pos) {
- TextList list = (TextList)gui.Prlist.getBody();
- if (list.countItems() == 0) {
- setCurPrincipal("");
- return;
- }
-
- if (pos < 0)
- pos = 0;
- else if (pos >= list.countItems())
- pos = list.countItems() - 1;
-
- list.select(pos);
- enablePrincipalPrinting();
- list.makeVisible(pos);
- setCurPrincipal(list.getItem(pos));
- }
-
- private void selectPrincipal(String name) {
- String[] list = getItemsFromTextList(((TextList)gui.Prlist.getBody()));
- selectPrincipal(search(list, name));
- }
-
- private String[] getItemsFromTextList(TextList list) {
- StringVector v = list.items();
- String [] ret = new String[v.size()];
- v.copyInto(ret);
- return ret;
- }
-
- /**
- * Find index where "name" might go in a sorted string array;
- * returns either the element which matches "name" exactly
- * or the element just lexographically greater than "name".
- */
- private int search(String[] array, String name) {
- int lo = 0;
- int hi = array.length;
- int mid = hi;
- while (lo < hi) {
- mid = (lo + hi) / 2;
- int cmp = name.concat("@").compareTo(array[mid].concat("@"));
- if (hi - lo == 1) {
- if (cmp > 0)
- mid = hi;
- break;
- }
- if (cmp == 0)
- break;
- if (cmp < 0)
- hi = mid;
- else if (cmp > 0)
- lo = mid;
- }
- return mid;
- }
-
- private String[] addToList(String[] list, String name) {
- if (list == null)
- return null;
- int index = search(list, name);
- int rem = list.length - index;
- String[] newlist = new String[list.length+1];
- if (index > 0)
- System.arraycopy(list, 0, newlist, 0, index);
- newlist[index] = name;
- if (rem > 0)
- System.arraycopy(list, index, newlist, index+1, rem);
- return newlist;
- }
-
- private String[] delFromList(String[] list, String name) {
- if (list == null)
- return null;
- int index = search(list, name);
- int rem = list.length - index;
- String[] newlist = new String[list.length-1];
- if (index > 0)
- System.arraycopy(list, 0, newlist, 0, index);
- if (rem > 1)
- System.arraycopy(list, index+1, newlist, index, rem-1);
- return newlist;
- }
-
- /**
- * Collect the policy choice entries
- *
- */
- public void setPolicyChoice() {
- String[] pols = null;
- if (!noLists) {
- PolicyList p = new PolicyList(Kadmin);
- try {
- pols = p.getPolicyList();
- } catch (Exception e) {
- showError(e.getMessage());
- return;
- }
- }
- Choice c = (Choice)gui.PrPolicy.getBody();
- c.removeAll();
- c.add(getString("(no policy)"));
- for (int i = 0; pols != null && i < pols.length; i++)
- c.add(pols[i]);
- }
-
- /**
- * Look at the principal list to see what's selected
- *
- */
- public void lookAtPrList() {
- if (noLists)
- return;
- TextList list = (TextList) gui.Prlist.getBody();
- prMulti = null;
- String[] sel = list.getSelectedItems();
- if (sel.length == 1) {
- setCurPrincipal(sel[0]);
- curPrListPos = list.getSelectedIndex();
- } else {
- if (sel.length > 0)
- prMulti = sel;
- setCurPrincipal("");
- }
- }
-
- private void restorePrListSelection() {
- if (noLists)
- return;
- TextList list = (TextList) gui.Prlist.getBody();
- list.select(curPrListPos);
- }
-
- /**
- * When the principal name choice changes, we want to reflect
- * the name in the other principal tabs. We can also use this
- * opportunity to enable/disable buttons.
- *
- */
- public void setCurPrincipal(String name) {
- CurPrincipal = name;
- gui.PrName1.set("text" /* NOI18N */, name);
- gui.PrName2.set("text" /* NOI18N */, name);
- gui.PrName3.set("text" /* NOI18N */, name);
- if (name.compareTo("") == 0) {
- prSelValid(false);
- return;
- }
- prSelValid(true);
- }
-
- /**
- * Make Modify, Delete and Duplicate buttons react to what is selected.
- * Privileges:
- * If we have neither modify or inquire, we keep Modify disabled;
- * if we have no modify privileges, we permit Modify to see info,
- * but the principal panel components are disabled in reactToPrivs().
- * If we have add and inquire privileges, we can permit Duplicate;
- * no add also means Create New is permanently disabled in reactToPrivs().
- * If we have no delete privileges, we keep Delete disabled.
- */
- public void prSelValid(boolean selected) {
- prSelValid = selected;
- Boolean b = new Boolean(selected && (privs & PRIV_INQUIRE) != 0);
- gui.PrListModify.set("enabled" /* NOI18N */, b);
- int want = (PRIV_ADD | PRIV_INQUIRE);
- b = new Boolean(selected && (privs & want) == want);
- gui.PrListDuplicate.set("enabled" /* NOI18N */, b);
- b = new Boolean((selected || prMulti != null)
- &&(privs & PRIV_DELETE) != 0);
- gui.PrListDelete.set("enabled" /* NOI18N */, b);
- }
-
- /**
- * Make the Save button do the right thing.
- *
- */
- public void prSetCanSave(boolean ok) {
- Boolean b = new Boolean(ok);
- gui.PrBasicSave.set("enabled" /* NOI18N */, b);
- gui.PrDetailSave.set("enabled" /* NOI18N */, b);
- gui.PrFlagsSave.set("enabled" /* NOI18N */, b);
- }
-
- /**
- * Update status line with current information.
- *
- */
- public void updateStatus() {
- gui.StatusLine.set("text" /* NOI18N */, ModeString+OpString+SaveString);
- }
-
- /**
- * This is a way for the data modification actions to note that
- * the principal has edits outstanding.
- *
- */
- public void prSetNeedSave() {
- prNeedSave = true;
- prSetCanSave(true);
- SaveString = getString("- *CHANGES*");
- updateStatus();
- }
-
- public boolean prDoSave() {
-
- // before attempting to save make sure all text fields are in order
- if (prUpdateFromGui(!prin.isNew) == false)
- return false;
-
- boolean b = true;
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- try {
- b = prin.savePrincipal();
- } catch (Exception e) {
- b = false;
- showError(e.getMessage());
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- if (!b)
- return false;
- if (prin.isNew) {
- principalList = addToList(principalList, prin.PrName);
- refreshPrincipalList();
- selectPrincipal(prin.PrName);
- }
- prin.isNew = false;
- gui.PrPassword.set("text" /* NOI18N */, "");
- prin.setPassword("");
- prSetEditable(false);
- prSetCanSave(false);
- prNeedSave = false;
- SaveString = "";
- updateStatus();
- return true;
- }
-
- /**
- * React to a choice from the principal list via double-click or
- * single-click+Modify; we want to go to the next tab in each case.
- * If we don't have modify privileges, we need to simply show values.
- */
- public void prModify() {
- enablePrincipalPrinting();
- if (!prNeedSave) {
- prSetEditable(false);
- prSetCanSave(false);
- }
- if (noLists)
- CurPrincipal = (String)gui.PrListPattern.get("text" /* NOI18N */);
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- enablePrAttributes(new Boolean((privs & (PRIV_ADD|PRIV_MODIFY)) != 0));
- Boolean b = new Boolean((privs & PRIV_CHANGEPW) != 0);
- gui.PrPassword.set("enabled" /* NOI18N */, b);
- gui.PrBasicRandomPw.set("enabled" /* NOI18N */, b);
- gui.EncList.set("enabled" /* NOI18N */, b);
- try {
- prin = new Principal(Kadmin, CurPrincipal);
- } catch (Exception e) {
- showError(e.getMessage());
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- showPrincipal(prin);
- String policy = (String)gui.PrPolicy.get("selectedItem" /* NOI18N */);
- if (policy.compareTo(getString("(no policy)")) == 0)
- policy = "";
- else
- setDefaultPolicy(policy);
- ModeString = getString("Modify")+" ";
- OpString = getString("Principal");
- updateStatus();
- gui.cardpanel1.show("Basics" /* NOI18N */);
- }
-
- /**
- * React to add principal button
- * If we got here, we need to enable attributes since we have privs.
- */
- public void prAdd() {
- enablePrincipalPrinting();
- setCurPrincipal("");
- prSelValid = true;
- prSetEditable(true);
- prSetNeedSave();
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- Boolean b = new Boolean(true);
- enablePrAttributes(b);
- gui.PrPassword.set("enabled" /* NOI18N */, b);
- gui.PrBasicRandomPw.set("enabled" /* NOI18N */, b);
- gui.EncList.set("enabled" /* NOI18N */, b);
- try {
- prin = new Principal(Kadmin, defaults);
- } catch (Exception e) {
- showError(e.getMessage());
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- showPrincipal(prin);
- ModeString = getString("Create New")+" ";
- OpString = getString("Principal");
- updateStatus();
- gui.cardpanel1.show("Basics" /* NOI18N */);
- ((TextField)gui.PrName1.getBody()).requestFocus();
- }
-
- /**
- * React to duplicate principal button
- *
- */
- public void prDuplicate() {
- enablePrincipalPrinting();
- if (noLists)
- CurPrincipal = (String)gui.PrListPattern.get("text" /* NOI18N */);
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- try {
- prin = new Principal(Kadmin, CurPrincipal);
- } catch (Exception e) {
- showError(e.getMessage());
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- setCurPrincipal("");
- prSelValid = true;
- prSetEditable(true);
- prSetNeedSave();
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- Boolean b = new Boolean(true);
- enablePrAttributes(b);
- gui.PrPassword.set("enabled" /* NOI18N */, b);
- gui.PrBasicRandomPw.set("enabled" /* NOI18N */, b);
- gui.PrBasicRandomPw.set("enabled" /* NOI18N */, b);
- try {
- prin = new Principal(Kadmin, prin);
- } catch (Exception e) {
- showError(e.getMessage());
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- prin.PrName = "";
- showPrincipal(prin);
- ModeString = getString("Duplicate")+" ";
- OpString = getString("Principal");
- updateStatus();
- gui.cardpanel1.show("Basics" /* NOI18N */);
- ((TextField)gui.PrName1.getBody()).requestFocus();
- }
-
- /**
- * React to delete principal button
- */
- public void prDelete() {
- String text[] = {getString("You are about to destroy data."),
- getString("Click OK to proceed or"
- +" Cancel to continue editing.")};
- String resp = confirmAction(realMainFrame, text);
- if (resp.equals(getString("Cancel")))
- return;
- if (noLists)
- CurPrincipal = (String)gui.PrListPattern.get("text" /* NOI18N */);
- boolean b = false;
- try {
- b = Kadmin.deletePrincipal(CurPrincipal);
- } catch (Exception e) {
- showError(e.getMessage());
- return;
- }
- if (!b)
- return;
- principalList = delFromList(principalList, CurPrincipal);
- refreshPrincipalList();
- setCurPrincipal("");
- prSelValid = true;
- prSetEditable(true);
- if (curPrListPos == ((TextList)gui.Prlist.getBody()).countItems())
- curPrListPos--;
- showPrincipalList(curPrPattern);
- }
-
- /**
- * React to Previous button on basic screen
- *
- */
- public void prBasicPrevious() {
- prCancel();
- }
-
- /**
- * React to Next button on basic screen. If some changes were made
- * then check to see if they contain a parse error. If so, do
- * nothing. The method that checks for error messages also displays
- * the error message.
- *
- */
- public void prBasicNext() {
- if (prNeedSave)
- if (!prUpdateFromGui(!prin.isNew))
- return;
-
- updateStatus();
- gui.cardpanel1.show("Details" /* NOI18N */);
- }
-
- /**
- * React to Previous button on detail screen. If some changes were made
- * then check to see if they contain a parse error. If so, do
- * nothing. The method that checks for error messages also displays
- * the error message.
- */
- public void prDetailPrevious() {
- if (prNeedSave)
- if (!prUpdateFromGui(!prin.isNew))
- return;
-
- updateStatus();
- gui.cardpanel1.show("Basics" /* NOI18N */);
- }
-
- /**
- * React to Next button on detail screen. If some changes were made
- * then check to see if they contain a parse error. If so, do
- * nothing. The method that checks for error messages also displays
- * the error message.
- *
- */
- public void prDetailNext() {
- if (prNeedSave)
- if (!prUpdateFromGui(!prin.isNew))
- return;
-
- updateStatus();
- gui.cardpanel1.show("Flags" /* NOI18N */);
- }
-
- /**
- * React to Previous button on flags screen
- *
- */
- public void prFlagsPrevious() {
- updateStatus();
- gui.cardpanel1.show("Details" /* NOI18N */);
- }
-
- /**
- * React to Done button on flags screen. If any changes were made to
- * the principal, then try to save them. If the save fails for any
- * reason, do not return to the principal list.
- *
- */
- public void prFlagsDone() {
- if (prNeedSave && prDoSave() == false)
- return;
- showPrincipalList(curPrPattern);
- }
-
- /**
- * React to save principal button
- *
- */
- public void prSave() {
- prDoSave();
- }
-
- /**
- * React to cancel principal button
- *
- */
- public void prCancel() {
- if (prNeedSave) {
- String text[] = {getString("You are about to lose changes."),
- getString("Click Save to commit changes, "
- +"Discard to discard changes, "
- +"or Cancel to continue editing.")};
- String resp = confirmSave(realMainFrame, text);
- if (resp.equals(getString("Cancel")))
- return;
- if (resp.equals(getString("Save")))
- if (!prDoSave())
- return;
- }
- prSetEditable(false);
- prSetCanSave(false);
- prNeedSave = false;
- lookAtPrList();
- SaveString = "";
- showPrincipalList(curPrPattern);
- }
-
- /*
- * Methods for the principal attribute panels
- */
-
- public boolean setPrName1() {
- if (!prnameEditable)
- return true;
-
- String p = ((String)gui.PrName1.get("text" /* NOI18N */)).trim();
- if (p.compareTo("") == 0) {
- showError(getString("Please enter a principal name or cancel"));
- ((TextField)gui.PrName1.getBody()).requestFocus();
- return false;
- }
- // visually delete any white space that was at the start or end
- // by resetting the field to the trimmmed String.
- gui.PrName1.set("text" /* NOI18N */, p);
- setCurPrincipal(p);
- prin.setName(p);
- return true;
- }
-
- public boolean setPrComments() {
- prin.setComments((String)gui.PrComments.get("text" /* NOI18N */));
- return true;
- }
-
- public boolean setEncType() {
- if (prin.setEncType((String)gui.EncList.get("text" /* NOI18N */))) {
- // visually delete any extraneous data that was ignored in the
- // parsing by resetting the gui data
- gui.EncList.set("text" /* NOI18N */, prin.getEncType());
- return true;
- } else
- return false;
- }
-
- public boolean setPrExpiry() {
- if (prin.setExpiry((String)gui.PrExpiry.get("text" /* NOI18N */))) {
- // visually delete any extraneous data that was ignored in the
- // parsing by resetting the gui data
- gui.PrExpiry.set("text" /* NOI18N */, prin.getExpiry());
- return true;
- } else {
- showDataFormatError(((TextField)gui.PrExpiry.getBody()),
- DATE_DATA);
- return false;
- }
- }
-
- public boolean setPrPassword(boolean nullOK) {
- String p = (String)gui.PrPassword.get("text" /* NOI18N */);
- if (p.compareTo("") == 0) {
- if (!nullOK) {
- showError(getString("Please enter a password or cancel"));
- ((TextField)gui.PrPassword.getBody()).requestFocus();
- return false;
- } else return true;
- }
-
- prin.setPassword(p);
- return true;
- }
-
- public void genRandomPassword() {
- int n, count = 0;
- byte[] buf = new byte[20];
- byte b;
- Random r = new Random();
- String passlist = "abcdefghijklmnopqrstuvwxyz1234567890!#$%&*+@"
- /* NOI18N */;
-
- gui.PrPassword.set("text" /* NOI18N */, "");
- while (count < 10) {
- n = r.nextInt() & 0x7F;
- b = (byte)n;
- if (passlist.indexOf(b) == -1)
- continue;
- buf[count++] = b;
- }
- buf[count] = 0;
- CurPass = new String(buf);
- gui.PrPassword.set("text" /* NOI18N */, CurPass);
- prin.setPassword((String)gui.PrPassword.get("text" /* NOI18N */));
- }
-
- public void setPrPolicy() {
- if (prin == null)
- return;
- String policy = (String)gui.PrPolicy.get("selectedItem" /* NOI18N */);
- if (policy.compareTo(getString("(no policy)")) == 0)
- policy = "";
- try {
- prin.setPolicy(policy);
- } catch (Exception e) {};
- setDefaultPolicy(policy);
- }
-
- public boolean setPrMaxlife() {
- if (prin.setMaxlife((String)gui.PrMaxLifetime.get("text"
- /* NOI18N */))) {
- // visually delete any extraneous data that was ignored in the
- // parsing by resetting the gui data
- gui.PrMaxLifetime.set("text" /* NOI18N */, prin.getMaxLife());
- return true;
- } else {
- showDataFormatError(((TextField)gui.PrMaxLifetime.getBody()),
- DURATION_DATA);
- return false;
- }
- }
-
- public boolean setPrMaxrenew() {
- if (prin.setMaxrenew((String)gui.PrMaxRenewal.get(
- "text" /* NOI18N */))) {
- // visually delete any extraneous data that was ignored in the
- // parsing by resetting the gui data
- gui.PrMaxRenewal.set("text" /* NOI18N */, prin.getMaxRenew());
- return true;
- } else {
- showDataFormatError(((TextField)gui.PrMaxRenewal.getBody()),
- DURATION_DATA);
- return false;
- }
- }
-
- public boolean setPrKvno() {
- if (prin.setKvno((String)gui.PrKvno.get("text" /* NOI18N */))) {
- // visually delete any extraneous data that was ignored in the
- // parsing by resetting the gui data
- gui.PrKvno.set("text" /* NOI18N */, nf.format(prin.Kvno));
- return true;
- } else {
- showDataFormatError(((TextField)gui.PrKvno.getBody()), NUMBER_DATA);
- return false;
- }
- }
-
- public boolean setPrPwExpiry() {
- if (prin.setPwExpiry((String)gui.PrPwExpiry.get("text" /* NOI18N */))) {
- // visually delete any extraneous data that was ignored in the
- // parsing by resetting the gui data
- gui.PrPwExpiry.set("text" /* NOI18N */, prin.getPwExpireTime());
- return true;
- } else {
- showDataFormatError(((TextField)gui.PrPwExpiry.getBody()),
- DATE_DATA);
- return false;
- }
- }
-
- public void setPrFlag(int bitmask) {
- prin.flags.toggleFlags(bitmask);
- }
-
- /**
- * Update components to reflect data in this principal
- *
- */
- public void showPrincipal(Principal p) {
-
- gui.PrName1.set("text" /* NOI18N */, p.PrName);
- gui.PrName2.set("text" /* NOI18N */, p.PrName);
- gui.PrName3.set("text" /* NOI18N */, p.PrName);
- gui.PrComments.set("text" /* NOI18N */, p.Comments);
- String policy = p.Policy;
- if (policy.compareTo("") == 0)
- policy = getString("(no policy)");
- gui.PrPolicy.set("selectedItem" /* NOI18N */, policy);
- gui.PrPassword.set("text" /* NOI18N */, "");
-
- gui.PrLastChangedTime.set("text" /* NOI18N */, p.getModTime());
- gui.PrLastChangedBy.set("text" /* NOI18N */, p.ModName);
- gui.PrExpiry.set("text" /* NOI18N */, p.getExpiry());
- gui.EncList.set("text" /* NOI18N */, p.getEncType());
- gui.PrLastSuccess.set("text" /* NOI18N */, p.getLastSuccess());
- gui.PrLastFailure.set("text" /* NOI18N */, p.getLastFailure());
- gui.PrFailCount.set("text" /* NOI18N */, nf.format(p.NumFailures));
- gui.PrLastPwChange.set("text" /* NOI18N */, p.getLastPwChange());
- gui.PrPwExpiry.set("text" /* NOI18N */, p.getPwExpireTime());
- gui.PrKvno.set("text" /* NOI18N */, nf.format(p.Kvno));
- gui.PrMaxLifetime.set("text" /* NOI18N */, p.getMaxLife());
- gui.PrMaxRenewal.set("text" /* NOI18N */, p.getMaxRenew());
-
- gui.PrLockAcct.set("state" /* NOI18N */,
- new Boolean(p.flags.getFlag(Flags.DISALLOW_ALL_TIX)));
- gui.PrForcePwChange.set("state" /* NOI18N */,
- new Boolean(p.flags.getFlag(Flags.REQUIRES_PWCHANGE)));
- gui.PrAllowPostdated.set("state" /* NOI18N */,
- new Boolean(!p.flags.getFlag(Flags.DISALLOW_POSTDATED)));
- gui.PrAllowForwardable.set("state" /* NOI18N */,
- new Boolean(!p.flags.getFlag(Flags.DISALLOW_FORWARDABLE)));
- gui.PrAllowRenewable.set("state" /* NOI18N */,
- new Boolean(!p.flags.getFlag(Flags.DISALLOW_RENEWABLE)));
- gui.PrAllowProxiable.set("state" /* NOI18N */,
- new Boolean(!p.flags.getFlag(Flags.DISALLOW_PROXIABLE)));
- gui.PrAllowSvr.set("state" /* NOI18N */,
- new Boolean(!p.flags.getFlag(Flags.DISALLOW_SVR)));
- gui.PrAllowTGT.set("state" /* NOI18N */,
- new Boolean(!p.flags.getFlag(Flags.DISALLOW_TGT_BASED)));
- gui.PrAllowDupAuth.set("state" /* NOI18N */,
- new Boolean(!p.flags.getFlag(Flags.DISALLOW_DUP_SKEY)));
- gui.PrRequirePreAuth.set("state" /* NOI18N */,
- new Boolean(p.flags.getFlag(Flags.REQUIRE_PRE_AUTH)));
- gui.PrRequireHwPreAuth.set("state" /* NOI18N */,
- new Boolean(p.flags.getFlag(Flags.REQUIRE_HW_AUTH)));
- }
-
- /**
- * Format a time duration for printing, using I18N formats
- *
- */
- public String showDuration(Integer seconds) {
- return nf.format(seconds.longValue());
- }
-
- /*
- * Methods for the policy list panel
- */
-
- /**
- * Update all policy text fields from gui.
- * Check to see if anyone of them had a parse error.
- * @returns true if all is ok, false if an error occurs
- */
- // Quits as soon as the first error is detected. The method that
- // detects the error also shows a dialog box with a message.
- public boolean poUpdateFromGui() {
- return (setPolName() && setPolMinlife() && setPolMaxlife());
- }
-
- /**
- * If we have edited a principal, select their policy by default
- *
- */
- public void setDefaultPolicy(String name) {
- setCurPolicy(name);
- fillPolicyList("");
- TextList l = (TextList)gui.Pollist.getBody();
- int itemcount = l.countItems();
- for (int i = 0; i < itemcount; i++)
- if (l.getItem(i).compareTo(name) == 0) {
- curPoListPos = i;
- break;
- }
- }
-
- /**
- * Is the policy name field editable?
- *
- */
- public void poSetEditable(boolean editable) {
- ponameEditable = editable;
- Boolean b = new Boolean(editable);
- gui.PoName.set("editable" /* NOI18N */, b);
- }
-
- /**
- * React to a change in the policy list pattern
- *
- */
- public void poPatternComplete() {
- curPoListPos = 0;
- String pattern = (String)gui.PoListPattern.get("text" /* NOI18N */);
- if (!noLists)
- showPolicyList(pattern);
- else
- setCurPolicy(pattern);
- }
-
- /**
- * Clear policy list pattern
- *
- */
- public void poPatternClear() {
- if (noLists) {
- gui.PoListPattern.set("text" /* NOI18N */, "");
- ((TextField)gui.PoListPattern.getBody()).requestFocus();
- } else {
- String tempName = CurPolicy;
- fillPolicyList("");
- selectPolicy(tempName);
- }
- }
-
- /**
- * Show the policy list after applying the filter passed in.
- */
- public void showPolicyList(String pattern) {
- pol = null; // we are not editing a policy
- fillPolicyList(pattern);
- ModeString = "";
- OpString = "";
- updateStatus();
- gui.cardpanel2.show("List" /* NOI18N */);
- if (noLists)
- ((TextField)gui.PoListPattern.getBody()).requestFocus();
- }
-
- /**
- * Generate the policy list for the first time or after a pattern
- * has been chosen.
- *
- */
- public void fillPolicyList(String pattern) {
- if (noLists) {
- setCurPolicy((String)gui.PoListPattern.get("text" /* NOI18N */));
- ((TextField)gui.PoListPattern.getBody()).requestFocus();
- disablePolicyPrinting();
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- long cachetime = A_LONG_TIME;
- if (!defaults.getStaticLists())
- cachetime = defaults.getCacheTime() * 1000;
- if (policyList != null
- && ((new Date()).getTime() - policyListDate.getTime())
- <= cachetime) {
- if (pattern.compareTo(curPoPattern) != 0)
- newPoPattern(pattern);
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- selectPolicy(curPoListPos);
- return;
- }
- PolicyList p = new PolicyList(Kadmin);
- gui.StatusLine.set("text" /* NOI18N */,
- getString("Loading policy list"));
- try {
- policyList = p.getPolicyList();
- policyListDate = new Date();
- } catch (Exception e) {
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- showError(e.getMessage());
- updateStatus();
- return;
- }
- updateStatus();
- newPoPattern(pattern);
- selectPolicy(curPoListPos);
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- }
-
- private void newPoPattern(String pattern) {
- curPoPattern = pattern;
- gui.PoListPattern.set("text" /* NOI18N */, pattern);
- refreshPolicyList();
- }
-
- private void refreshPolicyList() {
- if (noLists)
- return;
- Filter f = new Filter(policyList, curPoPattern);
- gui.Pollist.set("items" /* NOI18N */, f.out);
- }
-
- private void selectPolicy(int pos) {
- TextList list = (TextList)gui.Pollist.getBody();
- if (list.countItems() == 0) {
- setCurPolicy("");
- return;
- }
-
- if (pos < 0)
- pos = 0;
- else if (pos >= list.countItems())
- pos = list.countItems() - 1;
-
- list.select(pos);
- enablePolicyPrinting();
- list.makeVisible(pos);
- setCurPolicy(list.getItem(pos));
- }
-
- private void selectPolicy(String name) {
- String[] list = getItemsFromTextList((TextList)gui.Pollist.getBody());
- selectPolicy(search(list, name));
- }
-
- /**
- * When the policy name choice changes, we want to reflect
- * the name in the policy detail tab.
- *
- */
- public void setCurPolicy(String name) {
- CurPolicy = name;
- gui.PoName.set("text" /* NOI18N */, CurPolicy);
- if (name.compareTo("") == 0) {
- poSelValid(false);
- return;
- }
- poSelValid(true);
- }
-
- /**
- * Look at the policy list to see what's selected
- *
- */
- public void lookAtPoList() {
- if (noLists)
- return;
- TextList list = (TextList) gui.Pollist.getBody();
- poMulti = null;
- String[] sel = list.getSelectedItems();
- if (sel.length == 1) {
- setCurPolicy(sel[0]);
- curPoListPos = list.getSelectedIndex();
- } else {
- if (sel.length > 0)
- poMulti = sel;
- setCurPolicy("");
- }
- }
-
- private void restorePoListSelection() {
- if (noLists)
- return;
- TextList list = (TextList) gui.Pollist.getBody();
- list.select(curPoListPos);
- }
-
- /**
- * Make Modify, Delete and Duplicate buttons react to what is selected.
- *
- */
- public void poSelValid(boolean selected) {
- poSelValid = selected;
- Boolean b = new Boolean(selected && (privs & PRIV_INQUIRE) != 0);
- gui.PoListModify.set("enabled" /* NOI18N */, b);
- int want = (PRIV_ADD | PRIV_INQUIRE);
- b = new Boolean(selected && (privs & want) == want);
- gui.PoListDuplicate.set("enabled" /* NOI18N */, b);
- b = new Boolean((selected || poMulti != null)
- &&(privs & PRIV_DELETE) != 0);
- gui.PoListDelete.set("enabled" /* NOI18N */, b);
- }
-
- /**
- * Make the Save button do the right thing.
- *
- */
- public void poSetCanSave(boolean ok) {
- Boolean b = new Boolean(ok);
- gui.PoDetailSave.set("enabled" /* NOI18N */, b);
- }
-
- /**
- * This is a way for the data modification actions to note that
- * the principal has edits outstanding.
- *
- */
- public void poSetNeedSave() {
- poNeedSave = true;
- poSetCanSave(true);
- SaveString = getString("- *CHANGES*");
- updateStatus();
- }
-
- public boolean poDoSave() {
-
- // before attempting to save make sure all text fields are in order
- if (poUpdateFromGui() == false)
- return false;
-
- boolean b = true;
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- try {
- b = pol.savePolicy();
- } catch (Exception e) {
- b = false;
- showError(e.getMessage());
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- if (!b)
- return false;
- if (pol.isNew) {
- policyList = addToList(policyList, pol.PolicyName);
- refreshPolicyList();
- selectPolicy(pol.PolicyName);
- setPolicyChoice();
- }
- pol.isNew = false;
- poSetEditable(false);
- poSetCanSave(false);
- poNeedSave = false;
- SaveString = "";
- updateStatus();
- return true;
- }
-
- /**
- * React to a choice from the policy list via double-click or
- * single-click+Modify; we want to go to the next tab in each case.
- * If we don't have modify privileges, we need to simply show values.
- */
- public void poSelected() {
- enablePolicyPrinting();
- lookAtPoList();
- if (!poNeedSave) {
- poSetEditable(false);
- poSetCanSave(false);
- }
- if (noLists)
- CurPolicy = (String)gui.PoListPattern.get("text" /* NOI18N */);
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- enablePoAttributes(new Boolean((privs & (PRIV_ADD|PRIV_MODIFY)) != 0));
- try {
- pol = new Policy(Kadmin, CurPolicy);
- } catch (Exception e) {
- showError(e.getMessage());
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- showPolicy(pol);
- ModeString = getString("Modify")+" ";
- OpString = getString("Policy");
- updateStatus();
- gui.cardpanel2.show("Details" /* NOI18N */);
- }
-
- /**
- * React to add policy button
- * If we got here, we need to enable attributes since we have privs.
- */
- public void poAdd() {
- enablePolicyPrinting();
- setCurPolicy("");
- poSelValid = true;
- poSetEditable(true);
- poSetNeedSave();
- enablePoAttributes(new Boolean(true));
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- try {
- pol = new Policy(Kadmin);
- } catch (Exception e) {
- showError(e.getMessage());
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- showPolicy(pol);
- ModeString = getString("Create New")+" ";
- OpString = getString("Policy");
- updateStatus();
- gui.cardpanel2.show("Details" /* NOI18N */);
- ((TextField)gui.PoName.getBody()).requestFocus();
- }
-
- /**
- * React to duplicate policy button
- *
- */
- public void poDuplicate() {
- enablePolicyPrinting();
- if (noLists)
- CurPolicy = (String)gui.PoListPattern.get("text" /* NOI18N */);
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- try {
- pol = new Policy(Kadmin, CurPolicy);
- } catch (Exception e) {
- showError(e.getMessage());
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- setCurPolicy("");
- poSelValid = true;
- poSetEditable(true);
- poSetNeedSave();
- try {
- pol = new Policy(Kadmin, pol);
- } catch (Exception e) {
- showError(e.getMessage());
- return;
- }
- pol.PolicyName = "";
- showPolicy(pol);
- ModeString = getString("Duplicate")+" ";
- OpString = getString("Policy");
- updateStatus();
- gui.cardpanel2.show("Details" /* NOI18N */);
- ((TextField)gui.PoName.getBody()).requestFocus();
- }
-
- /**
- * React to delete policy button
- */
- public void poDelete() {
- String text[] = {getString("You are about to destroy data."),
- getString("Click OK to proceed or"
- +" Cancel to continue editing.")};
- String resp = confirmAction(realMainFrame, text);
- if (resp.equals(getString("Cancel")))
- return;
- boolean b;
- if (noLists)
- CurPolicy = (String)gui.PoListPattern.get("text" /* NOI18N */);
- realMainFrame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
- try {
- b = Kadmin.deletePolicy(CurPolicy);
- } catch (Exception e) {
- showError(e.getMessage());
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- return;
- }
- realMainFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- if (!b)
- return;
- policyList = delFromList(policyList, CurPolicy);
- refreshPolicyList();
- setPolicyChoice();
- setCurPolicy("");
- poSelValid = true;
- poSetEditable(true);
- if (curPoListPos == ((TextList)gui.Pollist.getBody()).countItems())
- curPoListPos--;
- showPolicyList(curPoPattern);
- }
-
- /**
- * React to save policy button
- *
- */
- public void poSave() {
- poDoSave();
- }
-
- /**
- * React to cancel policy button
- *
- */
- public void poCancel() {
- if (poNeedSave) {
- String text[] = {getString("You are about to lose changes."),
- getString("Click Save to commit changes, "
- +"Discard to discard changes, "
- +"or Cancel to continue editing.")};
- String resp = confirmSave(realMainFrame, text);
- if (resp.equals(getString("Cancel")))
- return;
- if (resp.equals(getString("Save")))
- if (!poDoSave())
- return;
- }
- poSetEditable(false);
- poSetCanSave(false);
- poNeedSave = false;
- lookAtPoList();
- SaveString = "";
- showPolicyList(curPoPattern);
- }
-
- /**
- * React to previous button on policy detail screen
- *
- */
- public void polPrevious() {
- poCancel();
- }
-
- /**
- * React to done button on policy detail screen
- *
- */
- public void polDone() {
- if (poNeedSave && poDoSave() == false)
- return;
- showPolicyList(curPoPattern);
- }
-
- /*
- * Methods for the policy details panel
- */
-
- public boolean setPolName() {
- if (!ponameEditable)
- return true;
-
- String p = (String)gui.PoName.get("text" /* NOI18N */);
- if (p.compareTo(getString("(no policy)")) == 0) {
- showError(getString("Policy name already exists. Please choose "
- +"a different policy name or cancel"));
- gui.PoName.set("text" /* NOI18N */, "");
- ((TextField)gui.PoName.getBody()).requestFocus();
- return false;
- }
- if (p.compareTo("") == 0) {
- showError(getString("Please enter a policy name or cancel"));
- ((TextField)gui.PoName.getBody()).requestFocus();
- return false;
- }
-
- setCurPolicy(p);
- pol.setName(p);
- return true;
- }
-
- public void setPolPwLength() {
- if (pol == null)
- return;
- try {
- pol.setPolPwLength((String)gui.PoMinPwLength.get("selectedItem"
- /* NOI18N */));
- } catch (Exception e) {};
- }
-
- public void setPolPwClasses() {
- if (pol == null)
- return;
- try {
- pol.setPolPwClasses((String)gui.PoMinPwClass.get("selectedItem"
- /* NOI18N */));
- } catch (Exception e) {};
- }
-
- public void setPolPwHistory() {
- if (pol == null)
- return;
- try {
- pol.setPolPwHistory((String)gui.PoSavedPasswords.get("selectedItem"
- /* NOI18N */));
- } catch (Exception e) {};
- }
-
- public boolean setPolMinlife() {
- if (pol.setPolMinlife((String)gui.PoMinTicketLifetime.get("text"
- /* NOI18N */))) {
- // visually delete any extraneous data that was ignored in the
- // parsing by resetting the gui data
- gui.PoMinTicketLifetime.set("text" /* NOI18N */,
- showDuration(pol.PwMinLife));
- return true;
- } else {
- showDataFormatError(((TextField)gui.PoMinTicketLifetime.getBody()),
- DURATION_DATA);
- return false;
- }
- }
-
- public boolean setPolMaxlife() {
- if (pol.setPolMaxlife((String)gui.PoMaxTicketLifetime.get(
- "text" /* NOI18N */))) {
- // visually delete any extraneous data that was ignored in the
- // parsing by resetting the gui data
- gui.PoMaxTicketLifetime.set("text" /* NOI18N */,
- showDuration(pol.PwMaxLife));
- return true;
- } else {
- showDataFormatError(((TextField)gui.PoMaxTicketLifetime.getBody()),
- DURATION_DATA);
- return false;
- }
- }
-
- /**
- * Update components to reflect data in this policy
- *
- */
- public void showPolicy(Policy p) {
- gui.PoName.set("text" /* NOI18N */, p.PolicyName);
- gui.PoMinPwLength.set("selectedItem" /* NOI18N */,
- nf.format(p.PwMinLength));
- gui.PoMinPwClass.set("selectedItem" /* NOI18N */,
- nf.format(p.PwMinClasses));
- gui.PoSavedPasswords.set("selectedItem" /* NOI18N */,
- nf.format(p.PwSaveCount));
- gui.PoMinTicketLifetime.set("text" /* NOI18N */,
- showDuration(p.PwMinLife));
- gui.PoMaxTicketLifetime.set("text" /* NOI18N */,
- showDuration(p.PwMaxLife));
- gui.PoReferences.set("text" /* NOI18N */, nf.format(p.RefCount));
- }
-
- /*
- * Methods for defaults tab
- */
-
- /**
- * React to save button
- *
- */
- public void glSave() {
- if (defaults.updateFromGui()) {
- glDoSave(true);
- glUpdate();
- }
- }
-
- /**
- * React to apply button
- *
- */
- public void glApply() {
- if (defaults.updateFromGui()) {
- glDoSave(false);
- glUpdate();
- }
- }
-
- /**
- * React to cancel button
- *
- */
- public void glCancel() {
- if (glNeedSave) {
- String text[] = {getString("You are about to lose changes."),
- getString("Click Save to commit changes, "
- +"Discard to discard changes, "
- +"or Cancel to continue editing.")};
- String resp = confirmSave(defaultsEditingFrame, text);
- if (resp.equals(getString("Cancel")))
- return;
- if (resp.equals(getString("Discard")))
- defaults.restoreValues(olddefaults);
- if (resp.equals(getString("Save"))) {
- glDoSave(true);
- glUpdate();
- return;
- }
- }
- glDoSave(false);
- }
-
- public void glDoSave(boolean save) {
- defaults.close(save);
- glSetCanSave(false);
- glNeedSave = false;
- SaveString = "";
- updateStatus();
- }
-
- public void glUpdate() {
- noLists = ((privs & PRIV_LIST) == 0 || !defaults.getShowLists());
- fixHelpTags();
- fixListPanels();
- // Load principal list if we are in the principal tab and are not
- // editing a principal
- if (gui.tabbedfolder1.get("currentCard" /* NO18N */) ==
- getString("Principals") && prin == null)
- fillPrincipalList(curPrPattern);
- // Load policy list if we are in the policy tab and are not
- // editing a policy
- if (gui.tabbedfolder1.get("currentCard" /* NO18N */) ==
- getString("Policies") && pol == null)
- fillPolicyList(curPoPattern);
- }
-
- /**
- * This is a way for the data modification actions to note that
- * the principal has edits outstanding.
- *
- */
- public void glSetNeedSave() {
- glNeedSave = true;
- glSetCanSave(true);
- }
-
- /**
- * Make the Save button do the right thing.
- *
- */
- public void glSetCanSave(boolean ok) {
- defaults.saveButton.setEnabled(ok);
- defaults.applyButton.setEnabled(ok);
- }
-
- public boolean setGlobalMaxrenew() {
- boolean done = defaults.setMaxTicketRenewableLife();
- glSetNeedSave();
- return done;
- }
-
- public boolean setGlobalMaxlife() {
- boolean done = defaults.setMaxTicketLife();
- glSetNeedSave();
- return done;
- }
-
- public boolean setGlobalExpiry() {
- boolean done = defaults.setAccountExpiryDate();
- glSetNeedSave();
- return done;
- }
-
- public boolean setServerSide() {
- boolean done = defaults.setServerSide();
- glSetNeedSave();
- return done;
- }
-
- public boolean setShowLists() {
- boolean done = defaults.setShowLists();
- glSetNeedSave();
- return done;
- }
-
- public boolean setStaticLists() {
- boolean done = defaults.setStaticLists();
- glSetNeedSave();
- return done;
- }
-
- public boolean setCacheTime() {
- boolean done = defaults.setCacheTime();
- glSetNeedSave();
- return done;
- }
-
- public void setGlobalFlag(int bitfield) {
- defaults.toggleFlag(bitfield);
- glSetNeedSave();
- }
-
- /*
- * Miscellany
- */
- public void printPrList() {
- String title = getString("Principal List");
- if (curPrPattern.length() > 0)
- title = title.concat(" (" + getString("Filter Pattern:") + " "
- + curPrPattern + ")");
- if (principalList == null)
- fillPrincipalList(curPrPattern);
- printList((TextList)gui.Prlist.getBody(), title);
- }
-
- public void printCurPr() {
- Principal toPrint;
-
- if (prin == null) {
- // We are viewing the principal list. Instantiate a new
- // principal using the current name.
- toPrint = new Principal(Kadmin, CurPrincipal);
- } else {
- // We are in the middle of editing a principal. Update the
- // current principal object with the current contents of the
- // gui. It's ok for the password to be null, we are not printing
- // it anyway.
- if (!prUpdateFromGui(true))
- return;
- toPrint = prin;
- }
-
- PrintUtil.dump(realMainFrame, toPrint);
- }
-
- public void printPoList() {
- String title = getString("Policy List");
- if (curPoPattern.length() > 0)
- title = title.concat(" (" + getString("Filter Pattern:") + " "
- + curPoPattern + ")");
- if (policyList == null)
- fillPolicyList(curPoPattern);
- printList((TextList)gui.Pollist.getBody(), title);
- }
-
- public void printCurPol() {
- Policy toPrint;
-
- if (pol == null) {
- // We are viewing the policy list. Instantiate a new
- // policy using the current name.
- toPrint = new Policy(Kadmin, CurPolicy);
- } else {
- // We are in the middle of editing a policy. Update the current
- // policy object with the current contents of the gui.
- if (!poUpdateFromGui())
- return;
- toPrint = pol;
- }
-
- PrintUtil.dump(realMainFrame, toPrint);
-
- }
-
- private void printList(TextList guiList, String title) {
- String[] list = getItemsFromTextList(guiList);
- StringBuffer sb = new StringBuffer(title).append('\n');
-
- for (int i = 0; i < list.length; i++) {
- sb.append(list[i]).append('\n');
- }
-
- PrintUtil.dump(realMainFrame, sb);
- }
-
- public void showHelpBrowser(Frame frame) {
- try {
-
- File file = new File("/usr/dt/bin/sdtwebclient");
- if (!file.exists()) {
- showDialog(frame, getString("Error"),
- getString("Can't run /usr/dt/bin/sdtwebclient."));
- return;
- }
- String url = kc.getHelpURL();
- if (url == null)
- url = helpIndexFile;
- URL help = new URL(url);
- InputStream is = null;
- try {
- is = help.openStream();
- } catch (IOException e) {}
- if (is == null) {
- showDialog(frame, getString("Error"),
- getString("Invalid URL: ")+url);
- return;
- }
-
- if (browserProcess != null) {
- // Will throw IllegalThreadStateException if thread not exited
- // yet
- int i = browserProcess.exitValue();
- }
-
- // Thread has exited or never existed
- browserProcess =
- Runtime.getRuntime().exec("/usr/dt/bin/sdtwebclient" +url);
-
- } catch (IOException e) {
- showDialog(frame, getString("Error"), e.getMessage());
- } catch (IllegalThreadStateException e) {
- // Ok. All this mean is that a previous instance of the browser
- // exists
- }
- }
-
- private void killHelpBrowser() {
- if (browserProcess != null) {
- browserProcess.destroy();
- }
- }
-
- private void setupDefaultsEditingFrame() {
- defaultsEditingFrame = defaults.getEditingFrame();
- glSetCanSave(false);
- setupDefaultsNormalListeners();
- defaults.csHelp.addActionListener
- (new DefaultsContextSensitiveHelpListener());
- }
-
- public void editPreferences() {
- olddefaults = new Defaults(defaults);
- defaults.updateGuiComponents();
- defaultsEditingFrame.setVisible(true);
- }
-
- static Frame getFrame(Component c) {
- Frame frame = null;
-
- while ((c = c.getParent()) != null)
- if (c instanceof Frame)
- frame = (Frame)c;
- return frame;
- }
-
- /**
- * General purpose dialog with title and a label settable
- */
- public void showDialog(Frame frame, String title, String text) {
- String[] lines = new String[1];
- lines[0] = text;
- String[] buttons = new String[1];
- buttons[0] = getString("OK");
- ChoiceDialog cd = new ChoiceDialog(frame, title, lines, buttons);
- }
-
- public void showLoginWarning(String err) {
- showDialog(realLoginFrame, getString("Warning"), err);
- }
-
- public void showLoginError(String err) {
- showDialog(realLoginFrame, getString("Error"), err);
- }
-
- public void showWarning(String err) {
- showDialog(realMainFrame, getString("Warning"), err);
- }
-
- public void showError(String err) {
- showDialog(realMainFrame, getString("Error"), err);
- }
-
- public static void showDataFormatError(TextField tf, int dataType) {
-
- Frame parent = getFrame(tf);
-
- tf.selectAll();
- toolkit.beep();
-
- String title = getString("Error");
-
- String[] lines = null;
- String[] buttons = {getString("OK")};
-
- switch (dataType) {
- case DURATION_DATA:
- lines = durationErrorText;
- break;
- case DATE_DATA:
- lines = dateErrorText;
- break;
- case NUMBER_DATA:
- lines = numberErrorText;
- break;
- }
-
- Point p = tf.getLocationOnScreen();
- ChoiceDialog cd = new ChoiceDialog(parent, title, lines,
- buttons, p.x, p.y);
-
- tf.requestFocus();
-
- }
-
- /**
- * Confirm a destructive user action
- */
- public String confirmAction(Frame frame, String[] text) {
- String title = getString("Confirm Action");
- String[] buttons = new String[2];
- buttons[0] = getString("OK");
- buttons[1] = getString("Cancel");
- ChoiceDialog cd = new ChoiceDialog(frame, title, text, buttons);
- return (cd.getSelection() == null? getString("Cancel")
- :cd.getSelection());
- }
-
- /**
- * Confirm a destructive user action, offering choice of saving
- */
- public String confirmSave(Frame frame, String[] text) {
- String title = getString("Confirm Action");
- String[] buttons = new String[3];
- buttons[0] = getString("Save");
- buttons[1] = getString("Discard");
- buttons[2] = getString("Cancel");
- ChoiceDialog cd = new ChoiceDialog(frame, title, text, buttons);
- return (cd.getSelection() == null? getString("Cancel")
- : cd.getSelection());
- }
-
- /**
- * Show version info
- */
- public void doAbout(Frame frame) {
- String title = getString("About SEAM Adminstration Tool");
- String[] text = new String[7];
- text[0] = getString("Sun Enterprise Authentication"
- +" Mechanism Administration Tool");
- text[1] = System.getProperty("SEAM_VERS" /* NOI18N */);
- text[2] = getString("Copyright 2005 Sun Microsystems, Inc. "
- +"All rights reserved.");
- text[3] = getString("Use is subject to license terms.");
- text[4] = System.getProperty("os.name" /* NOI18N */);
- text[5] = System.getProperty("os.arch" /* NOI18N */);
- text[6] = System.getProperty("os.version" /* NOI18N */);
- String[] button = new String[1];
- button[0] = getString("Dismiss");
- ChoiceDialog cd = new ChoiceDialog(frame, title, text, button);
- }
-
- private void getDateTimeFromDialogBox(TextField tf, Frame frame) {
- tf.select(0, 0);
- dateTimeDialog = new DateTimeDialog(frame, tf.getBackground(),
- tf.getForeground());
-
- if (!tf.getText().equalsIgnoreCase(neverString)) {
- try {
- Date currVal = df.parse(tf.getText());
- dateTimeDialog.setDate(currVal);
- /*
- * In case an exception occurs, let the dialog box be
- * initialized to its default date (viz current time).
- */
- } catch (ParseException e) {
- } catch (NullPointerException e) {
- // gets thrown when parse string begins with text
- // probable JDK bug
- }
- catch (StringIndexOutOfBoundsException e) {
- // gets thrown when parse string contains only one number
- // probable JDK bug
- }
- }
- dateTimeDialog.setVisible(true);
-
- // Modal dialog box so this is after dialog box disappers
- if (dateTimeDialog.isSaved()) {
- tf.setText(dateTimeDialog.toString());
- tf.dispatchEvent(new ActionEvent(tf, ActionEvent.ACTION_PERFORMED,
- "setFromDateTimeDialog" /* NOI18N */));
- }
- }
-
- private void getDurationFromDialogBox(TextField tf, Frame frame) {
- tf.select(0, 0);
- durationHelper = new DurationHelper(frame, tf.getBackground(),
- tf.getForeground());
- durationHelper.setVisible(true);
-
- // Modal dialog box so this is after dialog box disappers
- if (durationHelper.isSaved()) {
- tf.setText(durationHelper.toString());
- tf.dispatchEvent(new ActionEvent(tf, ActionEvent.ACTION_PERFORMED,
- "setFromDurationHelper" /* NOI18N */));
- }
- }
-
- private void getEncListFromDialogBox(TextField tf, Frame frame) {
- tf.select(0, 0);
- encListDialog = new EncListDialog(frame, tf.getBackground(),
- tf.getForeground(), Kadmin);
-
- encListDialog.setEncTypes(tf.getText());
- encListDialog.setVisible(true);
-
- // Modal dialog box so this is after dialog box disappers
- if (encListDialog.isSaved()) {
- String e = encListDialog.toString();
-
- if (e.compareTo("") != 0) {
- String p = (String)gui.PrPassword.get("text" /* NOI18N */);
-
- // In order to change the key encryption type(s) the admin
- // will have to supply a password.
- if (p.compareTo("") == 0) {
- showWarning(getString(
- "If changing the key encryption types then specify a" +
- " new password for the principal whose keys are" +
- " being changed"));
- ((TextField)gui.PrPassword.getBody()).requestFocus();
- }
- }
- tf.setText(e);
- tf.dispatchEvent(new ActionEvent(tf,
- ActionEvent.ACTION_PERFORMED,
- "setFromEncListDialog" /* NOI18N */));
- }
- }
-
- /**
- * By going into context-sensitive help mode, normal listeners will
- * be removed and replaced with help listeners, so that help will
- * be shown for the object.
- *
- */
- public void contextHelp(Frame frame) {
-
- if (cHelp == null) {
- cHelp = new ContextHelp(frame, this);
- cHelp.setVisible(true);
- }
-
- if (frame == realLoginFrame)
- setupLoginHelpListeners();
- else if (frame == realMainFrame)
- setupMainHelpListeners();
- else if (frame == defaultsEditingFrame)
- setupDefaultsHelpListeners();
-
- frame.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));
- }
-
-
- /**
- * Enables the print menu for printing principal related info.
- */
- private void enablePrincipalPrinting() {
- ((MenuItem)gui.PrintCurPr.getBody()).setEnabled(true);
- }
-
- /**
- * Enables the print menu for printing policy related info.
- */
- private void enablePolicyPrinting() {
- ((MenuItem)gui.PrintCurPol.getBody()).setEnabled(true);
- }
-
- /**
- * Disables the print menu for printing principal related info.
- */
- private void disablePrincipalPrinting() {
- ((MenuItem)gui.PrintCurPr.getBody()).setEnabled(false);
- }
-
- /**
- * Disables the print menu for printing policy related info.
- */
- private void disablePolicyPrinting() {
- ((MenuItem)gui.PrintCurPol.getBody()).setEnabled(false);
- }
-
- /**
- * Set up the listeners for the objects on the login screen in normal mode
- *
- */
- public void setupLoginNormalListeners() {
- if (LoginNormal == null) {
- LoginNormal = new Vector(10, 10);
- ActionListener al;
- Association a;
- Object o;
-
- al = new LoginNameAction();
- o = gui.LoginName.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- LoginNormal.addElement(a);
-
- al = new LoginPassAction();
- o = gui.LoginPass.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- LoginNormal.addElement(a);
-
- al = new LoginRealmAction();
- o = gui.LoginRealm.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- LoginNormal.addElement(a);
-
- al = new LoginServerAction();
- o = gui.LoginServer.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- LoginNormal.addElement(a);
-
- al = new LoginOKAction();
- o = gui.LoginOK.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- LoginNormal.addElement(a);
-
- al = new LoginStartOverAction();
- o = gui.LoginStartOver.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- LoginNormal.addElement(a);
- }
- setListeners(LoginHelp, false);
- setListeners(LoginFixers, false);
- setListeners(LoginNormal, true);
- loginHelpMode = false;
- }
-
- /**
- * Set up the listeners for the objects on the login screen in help mode
- *
- */
- public void setupLoginHelpListeners() {
- if (LoginHelp == null) {
- LoginHelp = new Vector(10, 10);
- MouseListener ml = new HelpListener();
- Association a;
- Object o;
-
- o = gui.LoginName.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- LoginHelp.addElement(a);
- ((TextField)o).setName("LoginName" /* NOI18N */);
-
- o = gui.LoginNameLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- LoginHelp.addElement(a);
- ((Label)o).setName("LoginName" /* NOI18N */);
-
- o = gui.LoginPass.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- LoginHelp.addElement(a);
- ((TextField)o).setName("LoginPass" /* NOI18N */);
-
- o = gui.LoginPassLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- LoginHelp.addElement(a);
- ((Label)o).setName("LoginPass" /* NOI18N */);
-
- o = gui.LoginRealm.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- LoginHelp.addElement(a);
- ((TextField)o).setName("LoginRealm" /* NOI18N */);
-
- o = gui.LoginRealmLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- LoginHelp.addElement(a);
- ((Label)o).setName("LoginRealm" /* NOI18N */);
-
- o = gui.LoginServer.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- LoginHelp.addElement(a);
- ((TextField)o).setName("LoginServer" /* NOI18N */);
-
- o = gui.LoginServerLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- LoginHelp.addElement(a);
- ((Label)o).setName("LoginServer" /* NOI18N */);
-
- o = gui.LoginOK.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- LoginHelp.addElement(a);
- ((Button)o).setName("LoginOK" /* NOI18N */);
-
- o = gui.LoginStartOver.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- LoginHelp.addElement(a);
- ((Button)o).setName("LoginStartOver" /* NOI18N */);
- }
- setListeners(LoginNormal, false);
- setListeners(LoginHelp, true);
- setupLoginHelpFixers();
- loginHelpMode = true;
- }
-
- public void setupLoginHelpFixers() {
- LoginFixers = new Vector(10, 10);
- Object o;
- Association a;
- TextFixer tf;
-
- o = gui.LoginName.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- LoginFixers.addElement(a);
-
- o = gui.LoginPass.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- LoginFixers.addElement(a);
-
- o = gui.LoginRealm.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- LoginFixers.addElement(a);
-
- o = gui.LoginServer.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- LoginFixers.addElement(a);
-
- setListeners(LoginFixers, true);
- }
-
- /**
- * Set up the listeners for the objects on the main screen in normal mode
- *
- */
- public void setupMainNormalListeners() {
- if (MainNormal == null) {
- Frame fr = realMainFrame;
- MainNormal = new Vector(10, 10);
- ActionListener al;
- ItemListener il;
- DateTimeListener dtl;
- DurationListener dl;
- EncListListener ell;
- KeyListener kl1 = new KeystrokeDetector(PRINCIPAL_EDITING);
- KeyListener kl2 = new KeystrokeDetector(POLICY_EDITING);
- KeyListener kl3 = new KeystrokeDetector(PRINCIPAL_LIST);
- KeyListener kl4 = new KeystrokeDetector(POLICY_LIST);
- Association a;
- Object o;
-
- WindowListener wl = new MainWindowCloseAction();
- o = realMainFrame;
- a = new Association(o, wl, WINDOW_LISTENER);
- MainNormal.addElement(a);
-
- al = new PrListPatternAction();
- o = gui.PrListPattern.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl3, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- al = new PrListClearAction();
- o = gui.PrListClear.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrListModifyAction();
- o = gui.PrListModify.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrListAddAction();
- o = gui.PrListAdd.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrListDeleteAction();
- o = gui.PrListDelete.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrListDuplicateAction();
- o = gui.PrListDuplicate.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrSaveAction();
- o = gui.PrBasicSave.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
- o = gui.PrDetailSave.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
- o = gui.PrFlagsSave.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrCancelAction();
- o = gui.PrBasicCancel.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
- o = gui.PrDetailCancel.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
- o = gui.PrFlagsCancel.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrCommentsAction();
- o = gui.PrComments.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl1, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- il = new PrPolicyAction();
- o = gui.PrPolicy.getBody();
- a = new Association(o, il, CHOICE_ITEM);
- MainNormal.addElement(a);
-
- al = new PrPasswordAction();
- o = gui.PrPassword.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl1, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- al = new PrRandomPwAction();
- o = gui.PrBasicRandomPw.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new EncListAction();
- o = gui.EncList.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl1, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- ell = new EncListListener((TextField)gui.EncList.getBody(), fr);
- o = gui.EncListMoreButton.getBody();
- a = new Association(o, ell, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrExpiryAction();
- o = gui.PrExpiry.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl1, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- dtl = new DateTimeListener((TextField)gui.PrExpiry.getBody(), fr);
- o = gui.PrExpiryMoreButton.getBody();
- a = new Association(o, dtl, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrBasicPreviousAction();
- o = gui.PrBasicPrevious.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrBasicNextAction();
- o = gui.PrBasicNext.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrPwExpiryAction();
- o = gui.PrPwExpiry.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl1, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- dtl = new DateTimeListener((TextField)gui.PrPwExpiry.getBody(), fr);
- o = gui.PrPwExpiryMoreButton.getBody();
- a = new Association(o, dtl, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrKvnoAction();
- o = gui.PrKvno.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl1, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- al = new PrMaxLifetimeAction();
- o = gui.PrMaxLifetime.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl1, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- dl = new DurationListener((TextField)gui.PrMaxLifetime.getBody(),
- fr);
- o = gui.PrMaxLifetimeMoreButton.getBody();
- a = new Association(o, dl, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrMaxRenewalAction();
- o = gui.PrMaxRenewal.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl1, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- dl = new DurationListener((TextField)gui.PrMaxRenewal.getBody(),
- fr);
- o = gui.PrMaxRenewalMoreButton.getBody();
- a = new Association(o, dl, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrDetailPreviousAction();
- o = gui.PrDetailPrevious.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrDetailNextAction();
- o = gui.PrDetailNext.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrFlagsPreviousAction();
- o = gui.PrFlagsPrevious.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PrFlagsNextAction();
- o = gui.PrFlagsNext.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- il = new PrLockAcctAction();
- o = gui.PrLockAcct.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrForcePwChangeAction();
- o = gui.PrForcePwChange.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrAllowPostdatedAction();
- o = gui.PrAllowPostdated.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrAllowForwardableAction();
- o = gui.PrAllowForwardable.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrAllowRenewableAction();
- o = gui.PrAllowRenewable.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrAllowProxiableAction();
- o = gui.PrAllowProxiable.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrAllowSvrAction();
- o = gui.PrAllowSvr.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrAllowTGTAction();
- o = gui.PrAllowTGT.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrAllowDupAuthAction();
- o = gui.PrAllowDupAuth.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrRequirePreAuthAction();
- o = gui.PrRequirePreAuth.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- il = new PrRequireHwPreAuthAction();
- o = gui.PrRequireHwPreAuth.getBody();
- a = new Association(o, il, CHECKBOX_ITEM);
- MainNormal.addElement(a);
-
- al = new PoListPatternAction();
- o = gui.PoListPattern.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl4, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- al = new PoListClearAction();
- o = gui.PoListClear.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PoListModifyAction();
- o = gui.PoListModify.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PoListAddAction();
- o = gui.PoListAdd.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PoListDeleteAction();
- o = gui.PoListDelete.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PoListDuplicateAction();
- o = gui.PoListDuplicate.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- il = new PoMinPwLengthAction();
- o = gui.PoMinPwLength.getBody();
- a = new Association(o, il, CHOICE_ITEM);
- MainNormal.addElement(a);
-
- il = new PoMinPwClassAction();
- o = gui.PoMinPwClass.getBody();
- a = new Association(o, il, CHOICE_ITEM);
- MainNormal.addElement(a);
-
- il = new PoSavedPasswordsAction();
- o = gui.PoSavedPasswords.getBody();
- a = new Association(o, il, CHOICE_ITEM);
- MainNormal.addElement(a);
-
- al = new PoMinTicketLifetimeAction();
- o = gui.PoMinTicketLifetime.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl2, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- dl = new DurationListener(
- (TextField)gui.PoMinTicketLifetime.getBody(), fr);
- o = gui.PoMinTicketLifetimeMoreButton.getBody();
- a = new Association(o, dl, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PoMaxTicketLifetimeAction();
- o = gui.PoMaxTicketLifetime.getBody();
- a = new Association(o, al, TEXTFIELD_ACTION);
- MainNormal.addElement(a);
- a = new Association(o, kl2, TEXTFIELD_KEY);
- MainNormal.addElement(a);
-
- dl = new DurationListener(
- (TextField)gui.PoMaxTicketLifetime.getBody(), fr);
- o = gui.PoMaxTicketLifetimeMoreButton.getBody();
- a = new Association(o, dl, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PoSaveAction();
- o = gui.PoDetailSave.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PoCancelAction();
- o = gui.PoDetailCancel.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PoPreviousAction();
- o = gui.PoDetailPrevious.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- al = new PoDoneAction();
- o = gui.PoDetailDone.getBody();
- a = new Association(o, al, BUTTON_ACTION);
- MainNormal.addElement(a);
-
- }
- setListeners(MainHelp, false);
- setListeners(MainFixers, false);
- setListeners(MainNormal, true);
- mainHelpMode = false;
- }
-
- /**
- * Set up the listeners for the objects on the main screen in help mode
- *
- */
- public void setupMainHelpListeners() {
- if (MainHelp == null) {
- MainHelp = new Vector(10, 10);
- MouseListener ml = new HelpListener();
- Association a;
- Object o;
-
- o = gui.PrListPattern.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PrListPattern" /* NOI18N */);
-
- o = gui.PrSearchLab.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrListPattern" /* NOI18N */);
-
- o = gui.PrListClear.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrListClear" /* NOI18N */);
-
- o = gui.PrListModify.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrListModify" /* NOI18N */);
-
- o = gui.PrListAdd.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrListAdd" /* NOI18N */);
-
- o = gui.PrListDelete.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrListDelete" /* NOI18N */);
-
- o = gui.PrListDuplicate.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrListDuplicate" /* NOI18N */);
-
- o = gui.PrBasicSave.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrSave" /* NOI18N */);
-
- o = gui.PrDetailSave.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrSave" /* NOI18N */);
-
- o = gui.PrFlagsSave.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrSave" /* NOI18N */);
-
- o = gui.PrBasicCancel.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrCancel" /* NOI18N */);
-
- o = gui.PrDetailCancel.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrCancel" /* NOI18N */);
-
- o = gui.PrFlagsCancel.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrCancel" /* NOI18N */);
-
- o = gui.PrName1.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PrName" /* NOI18N */);
-
- o = gui.PrNameLabel1.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrName" /* NOI18N */);
-
- o = gui.PrComments.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PrComments" /* NOI18N */);
-
- o = gui.PrCommentsLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrComments" /* NOI18N */);
-
- o = gui.PrPolicy.getBody();
- a = new Association(o, ml, CHOICE_MOUSE);
- MainHelp.addElement(a);
- ((Choice)o).setName("PrPolicy" /* NOI18N */);
-
- o = gui.PrPolicyLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrPolicy" /* NOI18N */);
-
- o = gui.PrPassword.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PrPassword" /* NOI18N */);
-
- o = gui.PrPasswordLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrPassword" /* NOI18N */);
-
- o = gui.PrBasicRandomPw.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrBasicRandomPw" /* NOI18N */);
-
- o = gui.EncList.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("EncList" /* NOI18N */);
-
- o = gui.EncListLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("EncList" /* NOI18N */);
-
- o = gui.EncListMoreButton.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("EncListHelperButton" /* NOI18N */);
-
- o = gui.PrExpiry.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PrExpiry" /* NOI18N */);
-
- o = gui.PrExpiryLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrExpiry" /* NOI18N */);
-
- o = gui.PrExpiryMoreButton.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("DateHelperButton" /* NOI18N */);
-
- o = gui.PrLastChangedTime.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinBasLastPrincipalChange" /* NOI18N */);
-
- o = gui.PrLastChangedTimeLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinBasLastPrincipalChange" /* NOI18N */);
-
- o = gui.PrLastChangedBy.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinBasLastChangedBy" /* NOI18N */);
-
- o = gui.PrLastChangedByLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinBasLastChangedBy" /* NOI18N */);
-
- o = gui.PrBasicPrevious.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrBasicPrevious" /* NOI18N */);
-
- o = gui.PrBasicNext.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrBasicNext" /* NOI18N */);
-
- o = gui.PrLastSuccess.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinDetLastSuccess" /* NOI18N */);
-
- o = gui.PrLastSuccessLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinDetLastSuccess" /* NOI18N */);
-
- o = gui.PrLastFailure.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinDetLastFailure" /* NOI18N */);
-
- o = gui.PrLastFailureLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinDetLastFailure" /* NOI18N */);
-
- o = gui.PrFailCount.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinDetFailureCount" /* NOI18N */);
-
- o = gui.PrFailureCountLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinDetFailureCount" /* NOI18N */);
-
- o = gui.PrLastPwChange.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinDetLastPasswordChange" /* NOI18N */);
-
- o = gui.PrPwLastChangedLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrinDetLastPasswordChange" /* NOI18N */);
-
- o = gui.PrPwExpiry.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PrPwExpiry" /* NOI18N */);
-
- o = gui.PrPwExpiryLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrPwExpiry" /* NOI18N */);
-
- o = gui.PrPwExpiryMoreButton.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("DateHelperButton" /* NOI18N */);
-
- o = gui.PrKvno.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PrKvno" /* NOI18N */);
-
- o = gui.PrKvnoLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrKvno" /* NOI18N */);
-
- o = gui.PrMaxLifetime.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PrMaxLifetime" /* NOI18N */);
-
- o = gui.PrMaxTicketLifetimeLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrMaxLifetime" /* NOI18N */);
-
- o = gui.PrMaxLifetimeMoreButton.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("DurationHelperButton" /* NOI18N */);
-
- o = gui.PrMaxRenewal.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PrMaxRenewal" /* NOI18N */);
-
- o = gui.PrMaxTicketRenewalLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PrMaxRenewal" /* NOI18N */);
-
- o = gui.PrMaxRenewalMoreButton.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("DurationHelperButton" /* NOI18N */);
-
- o = gui.PrDetailPrevious.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrDetailPrevious" /* NOI18N */);
-
- o = gui.PrDetailNext.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrDetailNext" /* NOI18N */);
-
- o = gui.PrFlagsPrevious.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrFlagsPrevious" /* NOI18N */);
-
- o = gui.PrFlagsNext.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PrFlagsNext" /* NOI18N */);
-
- o = gui.PrLockAcct.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrLockAcct" /* NOI18N */);
-
- o = gui.PrForcePwChange.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrForcePwChange" /* NOI18N */);
-
- o = gui.PrAllowPostdated.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrAllowPostdated" /* NOI18N */);
-
- o = gui.PrAllowForwardable.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrAllowForwardable" /* NOI18N */);
-
- o = gui.PrAllowRenewable.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrAllowRenewable" /* NOI18N */);
-
- o = gui.PrAllowProxiable.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrAllowProxiable" /* NOI18N */);
-
- o = gui.PrAllowSvr.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrAllowSvr" /* NOI18N */);
-
- o = gui.PrAllowTGT.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrAllowTGT" /* NOI18N */);
-
- o = gui.PrAllowDupAuth.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrAllowDupAuth" /* NOI18N */);
-
- o = gui.PrRequirePreAuth.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrRequirePreAuth" /* NOI18N */);
-
- o = gui.PrRequireHwPreAuth.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- ((Checkbox)o).setName("PrRequireHwPreAuth" /* NOI18N */);
-
- o = gui.PoListPattern.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PoListPattern" /* NOI18N */);
-
- o = gui.PoListPatternLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PoListPattern" /* NOI18N */);
-
- o = gui.PoListClear.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PoListClear" /* NOI18N */);
-
- o = gui.PoListModify.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PoListModify" /* NOI18N */);
-
- o = gui.PoListAdd.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PoListAdd" /* NOI18N */);
-
- o = gui.PoListDelete.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PoListDelete" /* NOI18N */);
-
- o = gui.PoListDuplicate.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PoListDuplicate" /* NOI18N */);
-
- o = gui.PoName.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PoName" /* NOI18N */);
-
- o = gui.PoNameLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PoName" /* NOI18N */);
-
- o = gui.PoMinPwLength.getBody();
- a = new Association(o, ml, CHOICE_MOUSE);
- MainHelp.addElement(a);
- ((Choice)o).setName("PoMinPwLength" /* NOI18N */);
-
- o = gui.PoMinPwLengthLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PoMinPwLength" /* NOI18N */);
-
- o = gui.PoMinPwClass.getBody();
- a = new Association(o, ml, CHOICE_MOUSE);
- MainHelp.addElement(a);
- ((Choice)o).setName("PoMinPwClass" /* NOI18N */);
-
- o = gui.PoMinPwClassLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PoMinPwClass" /* NOI18N */);
-
- o = gui.PoSavedPasswords.getBody();
- a = new Association(o, ml, CHOICE_MOUSE);
- MainHelp.addElement(a);
- ((Choice)o).setName("PoSavedPasswords" /* NOI18N */);
-
- o = gui.PoSavedPasswordsLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PoSavedPasswords" /* NOI18N */);
-
- o = gui.PoMinTicketLifetime.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PoMinTicketLifetime" /* NOI18N */);
-
- o = gui.PoMinTicketLifetimeLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PoMinTicketLifetime" /* NOI18N */);
-
- o = gui.PoMinTicketLifetimeMoreButton.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("DurationHelperButton" /* NOI18N */);
-
- o = gui.PoMaxTicketLifetime.getBody();
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- MainHelp.addElement(a);
- ((TextField)o).setName("PoMaxTicketLifetime" /* NOI18N */);
-
- o = gui.PoMaxTicketLifetimeLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PoMaxTicketLifetime" /* NOI18N */);
-
- o = gui.PoMaxTicketLifetimeMoreButton.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("DurationHelperButton" /* NOI18N */);
-
- o = gui.PoReferences.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PolDetPrincipalsUsingThisPolicy" /* NOI18N */);
-
- o = gui.PoReferencesLabel.getBody();
- a = new Association(o, ml, LABEL_MOUSE);
- MainHelp.addElement(a);
- ((Label)o).setName("PolDetPrincipalsUsingThisPolicy" /* NOI18N */);
-
- o = gui.PoDetailSave.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PoSave" /* NOI18N */);
-
- o = gui.PoDetailCancel.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PoCancel" /* NOI18N */);
-
- o = gui.PoDetailPrevious.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PoDetailPrevious" /* NOI18N */);
-
- o = gui.PoDetailDone.getBody();
- a = new Association(o, ml, BUTTON_MOUSE);
- MainHelp.addElement(a);
- ((Button)o).setName("PoDetailDone" /* NOI18N */);
-
- setupMainHelpFlagTogglers();
- }
-
- fixHelpTags();
- setListeners(MainNormal, false);
- setListeners(MainHelp, true);
- setupMainHelpFixers();
- mainHelpMode = true;
- }
-
- public void fixHelpTags() {
- if (noLists) {
- ((TextList)gui.Prlist.getBody()).setName("PrNoList" /* NOI18N */);
- ((TextField)gui.PrListPattern.getBody()).setName("PrNameNoList"
- /* NOI18N */);
- ((Button)gui.PrListClear.getBody()).setName("PrNoListClear"
- /* NOI18N */);
- ((TextList)gui.Pollist.getBody()).setName("PolNoList" /* NOI18N */);
- ((TextField)gui.PoListPattern.getBody()).setName("PoNameNoList"
- /* NOI18N */);
- ((Button)gui.PoListClear.getBody()).setName("PoNoListClear"
- /* NOI18N */);
- } else {
- ((TextList)gui.Prlist.getBody()).setName("PrList" /* NOI18N */);
- ((TextField)gui.PrListPattern.getBody()).setName("PrListPattern"
- /* NOI18N */);
- ((Button)gui.PrListClear.getBody()).setName("PrListClear"
- /* NOI18N */);
- ((TextList)gui.Pollist.getBody()).setName("Pollist" /* NOI18N */);
- ((TextField)gui.PoListPattern.getBody()).setName("PoListPattern"
- /* NOI18N */);
- ((Button)gui.PoListClear.getBody()).setName("PoListClear"
- /* NOI18N */);
- }
- }
-
- /**
- * Helper method to setupMainHelpListeners. Should be called from
- * only from there.
- */
- private void setupMainHelpFlagTogglers() {
-
- if (MainHelp == null)
- return;
-
- CheckboxToggler ml = new CheckboxToggler();
- Object o;
- Association a;
-
- o = gui.PrLockAcct.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrForcePwChange.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrAllowPostdated.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrAllowForwardable.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrAllowRenewable.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrAllowProxiable.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrAllowSvr.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrAllowTGT.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrAllowDupAuth.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrRequirePreAuth.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
-
- o = gui.PrRequireHwPreAuth.getBody();
- a = new Association(o, ml, CHECKBOX_MOUSE);
- MainHelp.addElement(a);
- }
-
- public void setupMainHelpFixers() {
- MainFixers = new Vector(10, 10);
- Object o;
- Association a;
- TextFixer tf;
- ChoiceFixer cf;
-
- o = gui.PrListPattern.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PrName1.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PrComments.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PrPolicy.getBody();
- cf = new ChoiceFixer((Choice)o);
- a = new Association(o, cf, CHOICE_ITEM);
- MainFixers.addElement(a);
-
- o = gui.PrPassword.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PrExpiry.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.EncList.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PrPwExpiry.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PrKvno.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PrMaxLifetime.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PrMaxRenewal.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PoListPattern.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PoName.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PoMinPwLength.getBody();
- cf = new ChoiceFixer((Choice)o);
- a = new Association(o, cf, CHOICE_ITEM);
- MainFixers.addElement(a);
-
- o = gui.PoMinPwClass.getBody();
- cf = new ChoiceFixer((Choice)o);
- a = new Association(o, cf, CHOICE_ITEM);
- MainFixers.addElement(a);
-
- o = gui.PoSavedPasswords.getBody();
- cf = new ChoiceFixer((Choice)o);
- a = new Association(o, cf, CHOICE_ITEM);
- MainFixers.addElement(a);
-
- o = gui.PoMinTicketLifetime.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- o = gui.PoMaxTicketLifetime.getBody();
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- MainFixers.addElement(a);
-
- setListeners(MainFixers, true);
- }
-
- public void setupDefaultsNormalListeners() {
-
- if (defaultsNormal == null) {
- defaultsNormal = new Vector(10, 10);
- ActionListener al;
- ItemListener il;
- KeyListener kl = new KeystrokeDetector(DEFAULTS_EDITING);
- Association a;
- Object o;
-
- // Action listeners for Defaults
-
- il = new GlobalLockAcctAction();
- o = defaults.disableAccount;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalForcePwChangeAction();
- o = defaults.forcePasswordChange;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalAllowPostdatedAction();
- o = defaults.allowPostdatedTix;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalAllowForwardableAction();
- o = defaults.allowForwardableTix;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalAllowRenewableAction();
- o = defaults.allowRenewableTix;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalAllowProxiableAction();
- o = defaults.allowProxiableTix;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalAllowSvrAction();
- o = defaults.allowServiceTix;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalAllowTGTAction();
- o = defaults.allowTGTAuth;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalAllowDupAuthAction();
- o = defaults.allowDupAuth;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalRequirePreAuthAction();
- o = defaults.requirePreauth;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalRequireHwPreAuthAction();
- o = defaults.requireHWAuth;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalDefaultServerSideAction();
- o = defaults.serverSide;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- al = new GlobalDefaultRenewableLifeAction();
- o = defaults.maxTicketRenewableLife;
- a = new Association(o, al, TEXTFIELD_ACTION);
- defaultsNormal.addElement(a);
- a = new Association(o, kl, TEXTFIELD_KEY);
- defaultsNormal.addElement(a);
-
- al = new GlobalDefaultLifeAction();
- o = defaults.maxTicketLife;
- a = new Association(o, al, TEXTFIELD_ACTION);
- defaultsNormal.addElement(a);
- a = new Association(o, kl, TEXTFIELD_KEY);
- defaultsNormal.addElement(a);
-
- al = new GlobalDefaultExpiryAction();
- o = defaults.accountExpiryDate;
- a = new Association(o, al, TEXTFIELD_ACTION);
- defaultsNormal.addElement(a);
- a = new Association(o, kl, TEXTFIELD_KEY);
- defaultsNormal.addElement(a);
-
- il = new GlobalDefaultShowListsAction();
- o = defaults.showLists;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- il = new GlobalDefaultStaticListsAction();
- o = defaults.staticLists;
- a = new Association(o, il, CHECKBOX_ITEM);
- defaultsNormal.addElement(a);
-
- al = new GlobalDefaultCacheTimeAction();
- o = defaults.cacheTime;
- a = new Association(o, al, TEXTFIELD_ACTION);
- defaultsNormal.addElement(a);
- a = new Association(o, kl, TEXTFIELD_KEY);
- defaultsNormal.addElement(a);
-
- al = new GlobalSaveAction();
- o = defaults.saveButton;
- a = new Association(o, al, BUTTON_ACTION);
- defaultsNormal.addElement(a);
-
- al = new GlobalApplyAction();
- o = defaults.applyButton;
- a = new Association(o, al, BUTTON_ACTION);
- defaultsNormal.addElement(a);
-
- al = new GlobalCancelAction();
- o = defaults.cancelButton;
- a = new Association(o, al, BUTTON_ACTION);
- defaultsNormal.addElement(a);
-
- DateTimeListener dtl = new DateTimeListener(
- defaults.accountExpiryDate, defaultsEditingFrame);
- o = defaults.dateMoreButton;
- a = new Association(o, dtl, BUTTON_ACTION);
- defaultsNormal.addElement(a);
-
- DurationListener dl = new DurationListener(
- defaults.maxTicketRenewableLife, defaultsEditingFrame);
- o = defaults.renewalMoreButton;
- a = new Association(o, dl, BUTTON_ACTION);
- defaultsNormal.addElement(a);
-
- dl = new DurationListener(defaults.maxTicketLife,
- defaultsEditingFrame);
- o = defaults.lifeMoreButton;
- a = new Association(o, dl, BUTTON_ACTION);
- defaultsNormal.addElement(a);
-
- dl = new DurationListener(defaults.cacheTime, defaultsEditingFrame);
- o = defaults.cacheMoreButton;
- a = new Association(o, dl, BUTTON_ACTION);
- defaultsNormal.addElement(a);
-
- }
- setListeners(defaultsHelp, false);
- setListeners(defaultsFixers, false);
- setListeners(defaultsNormal, true);
- defaultsHelpMode = false;
- }
-
- public void setupDefaultsHelpListeners() {
- if (defaultsHelp == null) {
- defaultsHelp = new Vector(10, 10);
- MouseListener ml = new HelpListener();
- Association a;
- Object o;
-
- o = defaults.disableAccount;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.disableAccount.setName("GlobalLockAcct" /* NOI18N */);
-
- o = defaults.forcePasswordChange;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.forcePasswordChange.setName("GlobalForcePwChange"
- /* NOI18N */);
-
- o = defaults.allowPostdatedTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.allowPostdatedTix.setName("GlobalAllowPostdated"
- /* NOI18N */);
-
- o = defaults.allowForwardableTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.allowForwardableTix.setName("GlobalAllowForwardable"
- /* NOI18N */);
-
- o = defaults.allowRenewableTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.allowRenewableTix.setName("GlobalAllowRenewable"
- /* NOI18N */);
-
- o = defaults.allowProxiableTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.allowProxiableTix.setName("GlobalAllowProxiable"
- /* NOI18N */);
-
- o = defaults.allowServiceTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.allowServiceTix.setName("GlobalAllowSvr" /* NOI18N */);
-
- o = defaults.allowTGTAuth;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.allowTGTAuth.setName("GlobalAllowTGT" /* NOI18N */);
-
- o = defaults.allowDupAuth;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.allowDupAuth.setName("GlobalAllowDupAuth" /* NOI18N */);
-
- o = defaults.requirePreauth;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.requirePreauth.setName("GlobalRequirePreAuth"
- /* NOI18N */);
-
- o = defaults.requireHWAuth;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.requireHWAuth.setName("GlobalRequireHwPreAuth"
- /* NOI18N */);
-
- o = defaults.serverSide;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.serverSide.setName("GlDefServerSide" /* NOI18N */);
-
- o = defaults.maxTicketRenewableLife;
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- defaultsHelp.addElement(a);
- defaults.maxTicketRenewableLife.setName("GlDefRenewableLife"
- /* NOI18N */);
-
- o = defaults.maxTicketRenewableLifeLabel;
- a = new Association(o, ml, LABEL_MOUSE);
- defaultsHelp.addElement(a);
- defaults.maxTicketRenewableLifeLabel.setName("GlDefRenewableLife"
- /* NOI18N */);
-
- o = defaults.maxTicketLife;
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- defaultsHelp.addElement(a);
- defaults.maxTicketLife.setName("GlDefLife" /* NOI18N */);
-
- o = defaults.maxTicketLifeLabel;
- a = new Association(o, ml, LABEL_MOUSE);
- defaultsHelp.addElement(a);
- defaults.maxTicketLifeLabel.setName("GlDefLife" /* NOI18N */);
-
- o = defaults.accountExpiryDate;
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- defaultsHelp.addElement(a);
- defaults.accountExpiryDate.setName("GlDefExpiry" /* NOI18N */);
-
- o = defaults.accountExpiryDateLabel;
- a = new Association(o, ml, LABEL_MOUSE);
- defaultsHelp.addElement(a);
- defaults.accountExpiryDateLabel.setName("GlDefExpiry" /* NOI18N */);
-
- o = defaults.showLists;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.showLists.setName("GlDefShowLists" /* NOI18N */);
-
- o = defaults.staticLists;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- defaults.staticLists.setName("GlDefStaticLists" /* NOI18N */);
-
- o = defaults.cacheTime;
- a = new Association(o, ml, TEXTFIELD_MOUSE);
- defaultsHelp.addElement(a);
- defaults.cacheTime.setName("GlDefCacheTime" /* NOI18N */);
-
- o = defaults.cacheTimeLabel;
- a = new Association(o, ml, LABEL_MOUSE);
- defaultsHelp.addElement(a);
- defaults.cacheTimeLabel.setName("GlDefCacheTime" /* NOI18N */);
-
- o = defaults.saveButton;
- a = new Association(o, ml, BUTTON_MOUSE);
- defaultsHelp.addElement(a);
- defaults.saveButton.setName("GlobalSave" /* NOI18N */);
-
- o = defaults.applyButton;
- a = new Association(o, ml, BUTTON_MOUSE);
- defaultsHelp.addElement(a);
- defaults.applyButton.setName("GlobalApply" /* NOI18N */);
-
- o = defaults.cancelButton;
- a = new Association(o, ml, BUTTON_MOUSE);
- defaultsHelp.addElement(a);
- defaults.cancelButton.setName("GlobalCancel" /* NOI18N */);
-
- o = defaults.dateMoreButton;
- a = new Association(o, ml, BUTTON_MOUSE);
- defaultsHelp.addElement(a);
- defaults.dateMoreButton.setName("DateHelperButton" /* NOI18N */);
-
- o = defaults.lifeMoreButton;
- a = new Association(o, ml, BUTTON_MOUSE);
- defaultsHelp.addElement(a);
- defaults.lifeMoreButton.setName("DurationHelperButton"
- /* NOI18N */);
-
- o = defaults.renewalMoreButton;
- a = new Association(o, ml, BUTTON_MOUSE);
- defaultsHelp.addElement(a);
- defaults.renewalMoreButton.setName("DurationHelperButton"
- /* NOI18N */);
-
- o = defaults.cacheMoreButton;
- a = new Association(o, ml, BUTTON_MOUSE);
- defaultsHelp.addElement(a);
- defaults.cacheMoreButton.setName("DurationHelperButton"
- /* NOI18N */);
-
- setupDefaultsHelpFlagTogglers();
- }
-
- setListeners(defaultsNormal, false);
- setListeners(defaultsHelp, true);
- setupDefaultsHelpFixers();
- defaultsHelpMode = true;
- }
-
- /**
- * Helper method to setupDefaultsHelpListeners. Should be called from
- * only from there.
- */
- private void setupDefaultsHelpFlagTogglers() {
-
- if (defaultsHelp == null)
- return;
-
- CheckboxToggler ml = new CheckboxToggler();
- Object o;
- Association a;
-
- o = defaults.disableAccount;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.forcePasswordChange;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.allowPostdatedTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.allowForwardableTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.allowRenewableTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.allowProxiableTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.allowServiceTix;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.allowTGTAuth;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.allowDupAuth;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.requirePreauth;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.requireHWAuth;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.showLists;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.serverSide;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
-
- o = defaults.staticLists;
- a = new Association(o, ml, CHECKBOX_MOUSE);
- defaultsHelp.addElement(a);
- }
-
- public void setupDefaultsHelpFixers() {
- defaultsFixers = new Vector(10, 10);
- Association a;
- Object o;
- TextFixer tf;
-
- o = defaults.maxTicketRenewableLife;
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- defaultsFixers.addElement(a);
-
- o = defaults.maxTicketLife;
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- defaultsFixers.addElement(a);
-
- o = defaults.accountExpiryDate;
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- defaultsFixers.addElement(a);
-
- o = defaults.cacheTime;
- tf = new TextFixer((TextField)o);
- a = new Association(o, tf, TEXTFIELD_KEY);
- defaultsFixers.addElement(a);
-
- setListeners(defaultsFixers, true);
- }
-
- /**
- * Set up listeners from a vector of Associations objects
- *
- */
- public void setListeners(Vector associations, boolean install) {
- setListeners(associations, install, false);
- }
-
- public void setListeners(Vector associations, boolean install, boolean loud)
- {
- Association a;
- Button b;
- TextField t;
- Choice c;
- Checkbox x;
- Label z;
- Window w;
-
- if (associations != null) {
- for (int i = 0; i < associations.size(); i++) {
- a = (Association)associations.elementAt(i);
- int type = a.Type;
- EventListener el = a.Listener;
- if (loud) {
- Object o = a.Object;
- String flag = install ? "install" : "deinstall";
- System.out.println(flag+
- "ing listener "+el+" on component "+o);
- }
-
- switch (type) {
- case BUTTON_ACTION:
- b = (Button)a.Object;
- if (install)
- b.addActionListener((ActionListener)el);
- else
- b.removeActionListener((ActionListener)el);
- break;
-
- case BUTTON_MOUSE:
- b = (Button)a.Object;
- if (install)
- b.addMouseListener((MouseListener)el);
- else
- b.removeMouseListener((MouseListener)el);
- break;
-
- case TEXTFIELD_ACTION:
- t = (TextField)a.Object;
- if (install)
- t.addActionListener((ActionListener)el);
- else
- t.removeActionListener((ActionListener)el);
- break;
-
- case TEXTFIELD_MOUSE:
- t = (TextField)a.Object;
- if (install)
- t.addMouseListener((MouseListener)el);
- else
- t.removeMouseListener((MouseListener)el);
- break;
-
- case TEXTFIELD_KEY:
- t = (TextField)a.Object;
- if (install)
- t.addKeyListener((KeyListener)el);
- else
- t.removeKeyListener((KeyListener)el);
- break;
-
- case CHOICE_ITEM:
- c = (Choice)a.Object;
- if (install)
- c.addItemListener((ItemListener)el);
- else
- c.removeItemListener((ItemListener)el);
- break;
-
- case CHOICE_MOUSE:
- c = (Choice)a.Object;
- if (install)
- c.addMouseListener((MouseListener)el);
- else
- c.removeMouseListener((MouseListener)el);
- break;
-
- case CHECKBOX_ITEM:
- x = (Checkbox)a.Object;
- if (install)
- x.addItemListener((ItemListener)el);
- else
- x.removeItemListener((ItemListener)el);
- break;
-
- case CHECKBOX_MOUSE:
- x = (Checkbox)a.Object;
- if (install)
- x.addMouseListener((MouseListener)el);
- else
- x.removeMouseListener((MouseListener)el);
- break;
-
- case LABEL_MOUSE:
- z = (Label)a.Object;
- if (install)
- z.addMouseListener((MouseListener)el);
- else
- z.removeMouseListener((MouseListener)el);
- break;
-
- case WINDOW_LISTENER:
- w = (Window)a.Object;
- if (install)
- w.addWindowListener((WindowListener)el);
- else
- w.removeWindowListener((WindowListener)el);
- break;
- }
- }
- }
- }
-
- /*
- * About a million actions here ...
- */
- private class LoginOKAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- loginComplete();
- }
- }
-
- private class LoginStartOverAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setLoginDefaults();
- }
- }
-
- private class LoginNameAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- nameComplete();
- }
- }
-
- private class LoginPassAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- loginComplete();
- }
- }
-
- private class LoginRealmAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- newRealm();
- }
- }
-
- private class LoginServerAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- newServer();
- }
- }
-
- private class MainWindowCloseAction extends WindowAdapter {
- public void windowClosing(WindowEvent e) {
- checkLogout();
- }
- };
-
- private class PrListPatternAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prPatternComplete();
- }
- }
-
- private class PrListClearAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prPatternClear();
- }
- }
-
- private class PrListModifyAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prModify();
- }
- }
-
- private class PrListAddAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prAdd();
- }
- }
-
- private class PrListDeleteAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prDelete();
- }
- }
-
- private class PrListDuplicateAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prDuplicate();
- }
- }
-
- private class PrCommentsAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setPrComments();
- prSetNeedSave();
- }
- }
-
- private class PrPolicyAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrPolicy();
- prSetNeedSave();
- }
- }
-
- private class PrPasswordAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setPrPassword(!prin.isNew);
- prSetNeedSave();
- }
- }
-
- private class PrRandomPwAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- genRandomPassword();
- prSetNeedSave();
- }
- }
-
- private class EncListAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setEncType();
- prSetNeedSave();
- }
- }
-
- private class PrExpiryAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setPrExpiry();
- prSetNeedSave();
- }
- }
-
- private class PrSaveAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prSave();
- }
- }
-
- private class PrCancelAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prCancel();
- }
- }
-
- private class PrBasicPreviousAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prBasicPrevious();
- }
- }
-
- private class PrBasicNextAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prBasicNext();
- }
- }
-
- private class PrPwExpiryAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setPrPwExpiry();
- prSetNeedSave();
- }
- }
-
- private class PrKvnoAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setPrKvno();
- prSetNeedSave();
- }
- }
-
- private class PrMaxLifetimeAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setPrMaxlife();
- prSetNeedSave();
- }
- }
-
- private class PrMaxRenewalAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setPrMaxrenew();
- prSetNeedSave();
- }
- }
-
- private class PrDetailPreviousAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prDetailPrevious();
- }
- }
-
- private class PrDetailNextAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prDetailNext();
- }
- }
-
- private class PrFlagsPreviousAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prFlagsPrevious();
- }
- }
-
- private class PrLockAcctAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.DISALLOW_ALL_TIX);
- prSetNeedSave();
- }
- }
-
- private class PrForcePwChangeAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.REQUIRES_PWCHANGE);
- prSetNeedSave();
- }
- }
-
- private class PrAllowPostdatedAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.DISALLOW_POSTDATED);
- prSetNeedSave();
- }
- }
-
- private class PrAllowForwardableAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.DISALLOW_FORWARDABLE);
- prSetNeedSave();
- }
- }
-
- private class PrAllowRenewableAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.DISALLOW_RENEWABLE);
- prSetNeedSave();
- }
- }
-
- private class PrAllowProxiableAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.DISALLOW_PROXIABLE);
- prSetNeedSave();
- }
- }
-
- private class PrAllowSvrAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.DISALLOW_SVR);
- prSetNeedSave();
- }
- }
-
- private class PrAllowTGTAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.DISALLOW_TGT_BASED);
- prSetNeedSave();
- }
- }
-
- private class PrAllowDupAuthAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.DISALLOW_DUP_SKEY);
- prSetNeedSave();
- }
- }
-
- private class PrRequirePreAuthAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.REQUIRE_PRE_AUTH);
- prSetNeedSave();
- }
- }
-
- private class PrRequireHwPreAuthAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPrFlag(Flags.REQUIRE_HW_AUTH);
- prSetNeedSave();
- }
- }
-
- private class PrFlagsNextAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- prFlagsDone();
- }
- }
-
- private class PoListPatternAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- poPatternComplete();
- }
- }
-
- private class PoListClearAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- poPatternClear();
- }
- }
-
- private class PoListModifyAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- poSelected();
- }
- }
-
- private class PoListAddAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- poAdd();
- }
- }
-
- private class PoListDeleteAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- poDelete();
- }
- }
-
- private class PoListDuplicateAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- poDuplicate();
- }
- }
-
- private class PoMinPwLengthAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPolPwLength();
- poSetNeedSave();
- }
- }
-
- private class PoMinPwClassAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPolPwClasses();
- poSetNeedSave();
- }
- }
-
- private class PoSavedPasswordsAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setPolPwHistory();
- poSetNeedSave();
- }
- }
-
- private class PoMinTicketLifetimeAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setPolMinlife();
- poSetNeedSave();
- }
- }
-
- private class PoMaxTicketLifetimeAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setPolMaxlife();
- poSetNeedSave();
- }
- }
-
- private class PoSaveAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- poSave();
- }
- }
-
- private class PoCancelAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- poCancel();
- }
- }
-
- private class PoPreviousAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- polPrevious();
- }
- }
-
- private class PoDoneAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- polDone();
- }
- }
-
- private class GlobalLockAcctAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.DISALLOW_ALL_TIX);
- }
- }
-
- private class GlobalForcePwChangeAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.REQUIRES_PWCHANGE);
- }
- }
-
- private class GlobalAllowPostdatedAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.DISALLOW_POSTDATED);
- }
- }
-
- private class GlobalAllowForwardableAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.DISALLOW_FORWARDABLE);
- }
- }
-
- private class GlobalAllowRenewableAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.DISALLOW_RENEWABLE);
- }
- }
-
- private class GlobalAllowProxiableAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.DISALLOW_PROXIABLE);
- }
- }
-
- private class GlobalAllowSvrAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.DISALLOW_SVR);
- }
- }
-
- private class GlobalAllowTGTAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.DISALLOW_TGT_BASED);
- }
- }
-
- private class GlobalAllowDupAuthAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.DISALLOW_DUP_SKEY);
- }
- }
-
- private class GlobalRequirePreAuthAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.REQUIRE_PRE_AUTH);
- }
- }
-
- private class GlobalRequireHwPreAuthAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setGlobalFlag(Flags.REQUIRE_HW_AUTH);
- }
- }
-
- private class GlobalDefaultServerSideAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setServerSide();
- }
- }
-
- private class GlobalDefaultRenewableLifeAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- if (!setGlobalMaxrenew()) {
- ((TextField)e.getSource()).requestFocus();
- }
- }
- }
-
- private class GlobalDefaultLifeAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- if (!setGlobalMaxlife()) {
- ((TextField)e.getSource()).requestFocus();
- }
- }
- }
-
- private class GlobalDefaultExpiryAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- if (!setGlobalExpiry())
- ((TextField)e.getSource()).requestFocus();
- }
- }
-
- private class GlobalDefaultShowListsAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setShowLists();
- }
- }
-
- private class GlobalDefaultStaticListsAction implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- setStaticLists();
- }
- }
-
- private class GlobalDefaultCacheTimeAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- setCacheTime();
- }
- }
-
- private class GlobalSaveAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- glSave();
- }
- }
-
- private class GlobalApplyAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- glApply();
- }
- }
-
- private class GlobalCancelAction implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- glCancel();
- }
- }
-
- private class HelpListener extends MouseAdapter {
- public void mouseClicked(MouseEvent e) {
- showHelp(e.getComponent().getName());
- }
- }
-
- private class CheckboxToggler extends MouseAdapter {
- public void mouseClicked(MouseEvent e) {
- if (e.getComponent() instanceof Checkbox) {
- Checkbox cb = (Checkbox)e.getComponent();
- cb.setState(!cb.getState());
- }
- }
- }
-
- private class ChoiceFixer implements ItemListener {
- private Choice c;
- private String s;
-
- ChoiceFixer(Choice c) {
- this.c = c;
- s = c.getSelectedItem();
- // System.out.println("CF: Saving string "+s);
- }
-
- public void itemStateChanged(ItemEvent e) {
- if (e.getSource() == c && !c.getSelectedItem().equals(s))
- c.select(s);
- // System.out.println("CF: Restoring string "+s);
- }
- }
-
- private class TextFixer extends KeyAdapter {
- private TextField t;
- private String s;
-
- TextFixer(TextField t) {
- this.t = t;
- s = t.getText();
- // System.out.println("TF: Saving string "+s);
- }
-
- public void keyTyped(KeyEvent e) {
- if (e.getSource() == t)
- t.setText(s);
- // System.out.println("TF: Restoring string "+s);
- }
- }
-
- /*
- * End of the million listeners
- */
-
- /**
- * Call rb.getString(), but catch exception and returns English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
- private static final String getHelpString(String key) {
- String res;
- try {
- res = hrb.getString(key);
- } catch (MissingResourceException e) {
- res = "Missing help on key "+key;
- }
- return res;
- }
-
-
- /**
- * Check the privileges this principal has to see what we should not try.
- */
- private boolean checkPrivs() {
- boolean okay = true;
- String lpriv = (((privs & PRIV_ADD) == 0) ? "A" : "a")
- + (((privs & PRIV_DELETE) == 0) ? "D" : "d")
- + (((privs & PRIV_MODIFY) == 0) ? "M" : "m")
- + (((privs & PRIV_CHANGEPW) == 0) ? "C" : "c")
- + (((privs & PRIV_INQUIRE) == 0) ? "I" : "i")
- + (((privs & PRIV_LIST) == 0) ? "L" : "l");
- // System.out.println("Privileges are "+lpriv+" "
- // +(new Integer(privs).toString()));
- /**
- * Having modify is not useful if we can't either add or see
- * old values
- */
- if ((privs & (PRIV_MODIFY | PRIV_INQUIRE | PRIV_ADD)) == PRIV_MODIFY)
- okay = false;
- /* Having changepw without inquire is not useful */
- if (privs == PRIV_CHANGEPW)
- okay = false;
- if (!okay) {
- showLoginError(
- getString("Insufficient privileges to use gkadmin: ")+lpriv
- +getString(" Please try using another principal."));
- return false;
- }
- return true;
- }
-
- /*
- * Try to cope with the privileges we have.
- */
- private void reactToPrivs() {
- Boolean off = new Boolean(false);
-
- /*
- * If we don't have the Add privilege, we turn off "Create New"
- * and "Duplicate". "Duplicate" is also handled in prSelValid/
- * poSelValid because it's sensitive to selection from the lists.
- */
- if ((privs & PRIV_ADD) == 0) {
- // System.out.println("Disabling Create New buttons");
- gui.PrListAdd.set("enabled" /* NOI18N */, off);
- gui.PoListAdd.set("enabled" /* NOI18N */, off);
- gui.PrListDuplicate.set("enabled" /* NOI18N */, off);
- gui.PoListDuplicate.set("enabled" /* NOI18N */, off);
- }
-
- /*
- * If we don't have the Delete privilege, we turn off "Delete".
- * This is also done in prSelValid/poSelValid because it is
- * thought about when a list item is selected.
- */
- if ((privs & PRIV_DELETE) == 0) {
- // System.out.println("Disabling Delete buttons");
- gui.PrListDelete.set("enabled" /* NOI18N */, off);
- gui.PoListDelete.set("enabled" /* NOI18N */, off);
- }
-
- /*
- * If we don't have changepw, disable textfield and random button.
- * Add needs to turn this on again for an add operation only.
- */
- if ((privs & PRIV_CHANGEPW) == 0) {
- // System.out.println("Disabling password components");
- gui.PrPassword.set("enabled" /* NOI18N */, off);
- gui.PrBasicRandomPw.set("enabled" /* NOI18N */, off);
- gui.EncList.set("enabled" /* NOI18N */, off);
- }
-
- /*
- * If we don't have inquire, we can't get an existing principal
- * to duplicate, and permitting modification seems a bad idea.
- * We can still use the panels if we can add. These will also
- * get dealt with in prSelValid/poSelValid.
- */
- if ((privs & PRIV_INQUIRE) == 0) {
- // System.out.println("Disabling Modify buttons");
- gui.PrListModify.set("enabled" /* NOI18N */, off);
- gui.PoListModify.set("enabled" /* NOI18N */, off);
- gui.PrListDuplicate.set("enabled" /* NOI18N */, off);
- gui.PoListDuplicate.set("enabled" /* NOI18N */, off);
- }
-
- /*
- * If we don't have Modify or Add but do have Inquire, we want to
- * turn off save and cancel buttons, as well as all principal and
- * policy components to prevent any changes.
- */
- if ((privs & (PRIV_MODIFY | PRIV_ADD)) == 0) {
- // System.out.println("Disabling attribute components");
- enablePrAttributes(off);
- enablePoAttributes(off);
- }
-
- /*
- * We may have no list privs, or we may have turned off lists.
- * Set things up accordingly.
- */
- noLists = ((privs & PRIV_LIST) == 0 || !defaults.getShowLists());
- fixListPanels();
- }
-
- private void fixListPanels() {
- /*
- * If we can't use lists, we won't fetch lists, which means the
- * only way to get a principal is to type something into the
- * list pattern field. Relabel those so they work better.
- */
- String s;
- Boolean yes = new Boolean(true);
- Boolean no = new Boolean(false);
- if (noLists) {
- // System.out.println("Hijacking list pattern stuff");
- gui.PrListLabel.set("enabled" /* NOI18N */, no);
- gui.PoListLabel.set("enabled" /* NOI18N */, no);
- s = getString("Principal Name:");
- gui.PrSearchLab.set("text" /* NOI18N */, s);
- s = getString("Policy Name:");
- gui.PoListPatternLabel.set("text" /* NOI18N */, s);
- s = getString("Clear Name");
- gui.PrListClear.set("text" /* NOI18N */, s);
- gui.PoListClear.set("text" /* NOI18N */, s);
- gui.Prlist.set("enabled", no);
- gui.Pollist.set("enabled", no);
- gui.refreshPrincipals.set("enabled", no);
- gui.refreshPolicies.set("enabled", no);
- gui.Prlist.set("selectedItem" /* NOI18N */, null);
- gui.Pollist.set("selectedItem" /* NOI18N */, null);
- gui.PrintPrlist.set("enabled" /* NOI18N */, no);
- gui.PrintPollist.set("enabled" /* NOI18N */, no);
- } else {
- gui.PrListLabel.set("enabled" /* NOI18N */, yes);
- gui.PoListLabel.set("enabled" /* NOI18N */, yes);
- s = getString("Filter Pattern:");
- gui.PrSearchLab.set("text" /* NOI18N */, s);
- gui.PoListPatternLabel.set("text" /* NOI18N */, s);
- s = getString("Clear Filter");
- gui.PrListClear.set("text" /* NOI18N */, s);
- gui.PoListClear.set("text" /* NOI18N */, s);
- gui.Prlist.set("enabled", yes);
- gui.Pollist.set("enabled", yes);
- gui.refreshPrincipals.set("enabled", yes);
- gui.refreshPolicies.set("enabled", yes);
- gui.PrintPrlist.set("enabled", yes);
- gui.PrintPollist.set("enabled", yes);
- }
- }
-
- private void enablePrAttributes(Boolean sense) {
- // Basics
- gui.PrPolicy.set("enabled" /* NOI18N */, sense);
- gui.PrExpiry.set("enabled" /* NOI18N */, sense);
- gui.EncList.set("enabled" /* NOI18N */, sense);
- gui.PrComments.set("enabled" /* NOI18N */, sense);
- // Details
- gui.PrPwExpiry.set("enabled" /* NOI18N */, sense);
- gui.PrKvno.set("enabled" /* NOI18N */, sense);
- gui.PrMaxLifetime.set("enabled" /* NOI18N */, sense);
- gui.PrMaxRenewal.set("enabled" /* NOI18N */, sense);
- // Flags
- gui.PrLockAcct.set("enabled" /* NOI18N */, sense);
- gui.PrForcePwChange.set("enabled" /* NOI18N */, sense);
- gui.PrAllowPostdated.set("enabled" /* NOI18N */, sense);
- gui.PrAllowForwardable.set("enabled" /* NOI18N */, sense);
- gui.PrAllowRenewable.set("enabled" /* NOI18N */, sense);
- gui.PrAllowProxiable.set("enabled" /* NOI18N */, sense);
- gui.PrAllowSvr.set("enabled" /* NOI18N */, sense);
- gui.PrAllowTGT.set("enabled" /* NOI18N */, sense);
- gui.PrAllowDupAuth.set("enabled" /* NOI18N */, sense);
- gui.PrRequirePreAuth.set("enabled" /* NOI18N */, sense);
- gui.PrRequireHwPreAuth.set("enabled" /* NOI18N */, sense);
- }
-
- private void enablePoAttributes(Boolean sense) {
- // Policy
- gui.PoMinPwLength.set("enabled" /* NOI18N */, sense);
- gui.PoMinPwClass.set("enabled" /* NOI18N */, sense);
- gui.PoSavedPasswords.set("enabled" /* NOI18N */, sense);
- gui.PoMinTicketLifetime.set("enabled" /* NOI18N */, sense);
- gui.PoMaxTicketLifetime.set("enabled" /* NOI18N */, sense);
- }
-
- /**
- * Show context-sensitive help from HelpData class
- *
- */
- public void showHelp(String what) {
- String res;
-
- // System.out.println("Help on "+what);
- if (cHelp == null) {
- // System.out.println("showHelp called without context.");
- return;
- }
- res = getHelpString(what);
- cHelp.setText(res);
- cHelp.setVisible(true);
- }
-
- /**
- * Holds an association between an object and a listener, keeping
- * track of the types so that they can be assigned en masse later
- *
- */
- private class Association extends Object {
- Object Object;
- EventListener Listener;
- int Type;
-
- public Association(Object obj, EventListener list, int type) {
- Object = obj;
- Listener = list;
- Type = type;
- }
- }
-
- /**
- * Action listeners for the defaults editing frame.
- */
-
- private class DefaultsContextSensitiveHelpListener
- implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- if (defaultsHelpMode)
- showHelp("ContextSensitiveHelp");
- else
- contextHelp(defaultsEditingFrame);
- }
- }
-
- /**
- * This class launches the dateTimeDialog box when the user presses
- * the "..." button. An instance of this is shared by all the
- * buttons that are meant to do this.
- */
- private class DateTimeListener implements ActionListener {
-
- private TextField tf;
- private Frame frame;
-
- DateTimeListener(TextField tf, Frame frame) {
- this.tf = tf;
- this.frame = frame;
- }
-
- public void actionPerformed(ActionEvent e) {
- if (mainHelpMode && frame == realMainFrame)
- showHelp("DateTime...");
- else
- if (defaultsHelpMode && frame == defaultsEditingFrame)
- showHelp("DateTime...");
- else
- getDateTimeFromDialogBox(tf, frame);
- } // actionPerformed
- } // class DateTimeListener
-
- /**
- * This class launches the EncListDialog box when the user presses
- * the "..." button. An instance of this is shared by all the
- * buttons that are meant to do this.
- */
- private class EncListListener implements ActionListener {
-
- private TextField tf;
- private Frame frame;
-
- EncListListener(TextField tf, Frame frame) {
- this.tf = tf;
- this.frame = frame;
- }
-
- public void actionPerformed(ActionEvent e) {
- if (mainHelpMode && frame == realMainFrame)
- showHelp("EncList...");
- else
- if (defaultsHelpMode && frame == defaultsEditingFrame)
- showHelp("EncList...");
- else
- getEncListFromDialogBox(tf, frame);
- } // actionPerformed
- } // class EncListListener
-
- /**
- * This class launches the durrationHelper dialog box when the user presses
- * the "..." button. An instance of this is shared by all the
- * buttons that are meant to do this.
- */
- private class DurationListener implements ActionListener {
-
- private TextField tf;
- private Frame frame;
-
- DurationListener(TextField tf, Frame frame) {
- this.tf = tf;
- this.frame = frame;
- }
-
- public void actionPerformed(ActionEvent e) {
- if (mainHelpMode && frame == realMainFrame)
- showHelp("Duration...");
- else
- if (defaultsHelpMode && frame == defaultsEditingFrame)
- showHelp("Duration...");
- else
- getDurationFromDialogBox(tf, frame);
- }
- }
-
-
- private class KeystrokeDetector extends KeyAdapter {
-
- private int changeType; // principal or policy change
-
- public KeystrokeDetector(int type) {
- changeType = type;
- }
-
- public void keyTyped(KeyEvent e) {
- reactToKey(changeType);
- ((TextField)e.getComponent()).requestFocus();
- }
- }
-
- private void reactToKey(int changeType) {
- switch (changeType) {
- case PRINCIPAL_EDITING:
- prSetNeedSave();
- break;
-
- case POLICY_EDITING:
- poSetNeedSave();
- break;
-
- case DEFAULTS_EDITING:
- glSetNeedSave();
- break;
-
- case PRINCIPAL_LIST:
- if (noLists)
- prSelValid(true);
- break;
-
- case POLICY_LIST:
- if (noLists)
- poSelValid(true);
- break;
- }
- }
-
- private static String enclose(String value) {
- return new StringBuffer("\"").append(value).append("\"").toString();
- }
-
- private static String constructDurationExample() {
- StringBuffer result = new StringBuffer(getString("Example: "));
- result.append(enclose(nf.format(28800)));
- return result.toString();
- }
-
- private static String constructDateExample() {
- StringBuffer result = new StringBuffer(getString("Example: "));
- result.append(enclose(df.format(new Date())));
- result.append(' ').append(getString("or")).append(' ');
- result.append(enclose(neverString));
- return result.toString();
- }
-
- private static String constructNumberExample() {
- StringBuffer result = new StringBuffer(getString("Example: "));
- result.append(enclose(nf.format(4)));
- return result.toString();
- }
-
- static {
- rb = ResourceBundle.getBundle("GuiResource" /* NOI18N */);
- hrb = ResourceBundle.getBundle("HelpData" /* NOI18N */);
- df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
- DateFormat.MEDIUM);
- nf = NumberFormat.getInstance();
-
- neverString = getString("Never");
-
- toolkit = Toolkit.getDefaultToolkit();
-
- durationErrorText = new String[] {getHelpString("Bad Duration"),
- constructDurationExample()};
- dateErrorText = new String[] {getHelpString("Bad Date"),
- constructDateExample()};
- numberErrorText = new String[] {getHelpString("Bad Number"),
- constructNumberExample()};
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/KdcGuiMain.java b/usr/src/cmd/krb5/kadmin/gui/KdcGuiMain.java
deleted file mode 100644
index 665128ce34..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/KdcGuiMain.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- */
-
-/**
- * This file was originally automatically generated by Java WorkShop.
- *
- * Runtime vendor: SunSoft, Inc.
- * Runtime version: 1.0
- *
- * Visual vendor: SunSoft, Inc.
- * Visual version: 1.0
- */
-
-
-
-import sunsoft.jws.visual.rt.base.Group;
-import sunsoft.jws.visual.rt.base.MainHelper;
-import java.applet.Applet;
-
-/**
- * Generated Main class
- *
- * @version 1.20, 05/21/96
- */
-public class KdcGuiMain extends Applet {
- /**
- * Helper class for the generated main class. This variable is only
- * used when we are running as an applet.
- */
- private MainHelper helper;
-
- /**
- * Called when application is run from the command line.
- */
- public static void main(String args[]) {
- MainHelper helper = new MainHelper();
- helper.checkVersion(1.0);
-
- Group group = new KdcGui();
- helper.main(group, args);
- }
-
- /**
- * Called when the applet is loaded.
- */
- public void init() {
- helper = new MainHelper();
- helper.checkVersion(1.0);
-
- Group group = new KdcGui();
- helper.init(this, group);
- }
-
- /**
- * Called whenever the applet's page is visited.
- */
- public void start() {
- helper.start();
- }
-
- /**
- * Called by the browser when the user leaves the page.
- */
- public void stop() {
- helper.stop();
- }
-
- /**
- * Called by the browser when the applet should be destroyed.
- */
- public void destroy() {
- helper.destroy();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/KdcGuiOps.java b/usr/src/cmd/krb5/kadmin/gui/KdcGuiOps.java
deleted file mode 100644
index 2c634d28d1..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/KdcGuiOps.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- */
-
-/**
- * This file was originally automatically generated by Java WorkShop.
- *
- * Runtime vendor: SunSoft, Inc.
- * Runtime version: 1.0
- *
- * Visual vendor: SunSoft, Inc.
- * Visual version: 1.0
- */
-
-
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.type.*;
-import java.awt.Event;
-
-
-public class KdcGuiOps extends Operations {
- private Op ops[];
-
- private KdcGui group;
- private KdcGuiRoot gui;
-
- public void setGroup(Group group) {
- this.group = (KdcGui)group;
- }
-
- public void setRoot(Root root) {
- this.gui = (KdcGuiRoot)root;
- if (ops == null)
- initializeOps();
- }
-
- public boolean handleMessage(Message msg) {
- for (int i = 0; i < ops.length; i++) {
- if (ops[i].hasCode()) {
- if (ops[i].matchMessage(msg)) {
- handleCallback(i, msg,
- (msg.isAWT ? (Event)msg.arg : null));
- }
- } else {
- ops[i].handleMessage(msg);
- }
- }
-
- return false;
- }
-
- private void initializeOps() {
- ops = new Op[17];
-
- ops[0] = new Op(gui);
- ops[0].name = "Op1";
- ops[0].filter = new OpFilter();
- ops[0].filter.filterType = OpFilter.EVENT;
- ops[0].filter.target = gui.Exit2;
- ops[0].filter.id = 1001;
- ops[0].action = new OpAction();
- ops[0].action.actionType = OpAction.CODE;
-
- ops[1] = new Op(gui);
- ops[1].name = "Op1";
- ops[1].filter = new OpFilter();
- ops[1].filter.filterType = OpFilter.EVENT;
- ops[1].filter.target = gui.browserHelp1;
- ops[1].filter.id = 1001;
- ops[1].action = new OpAction();
- ops[1].action.actionType = OpAction.CODE;
-
- ops[2] = new Op(gui);
- ops[2].name = "Op1";
- ops[2].filter = new OpFilter();
- ops[2].filter.filterType = OpFilter.EVENT;
- ops[2].filter.target = gui.Context2;
- ops[2].filter.id = 1001;
- ops[2].action = new OpAction();
- ops[2].action.actionType = OpAction.CODE;
-
- ops[3] = new Op(gui);
- ops[3].name = "Op1";
- ops[3].filter = new OpFilter();
- ops[3].filter.filterType = OpFilter.EVENT;
- ops[3].filter.target = gui.About2;
- ops[3].filter.id = 1001;
- ops[3].action = new OpAction();
- ops[3].action.actionType = OpAction.CODE;
-
- ops[4] = new Op(gui);
- ops[4].name = "Exit";
- ops[4].filter = new OpFilter();
- ops[4].filter.filterType = OpFilter.EVENT;
- ops[4].filter.target = gui.mainframe;
- ops[4].filter.id = 1001;
- ops[4].action = new OpAction();
- ops[4].action.actionType = OpAction.CODE;
-
- ops[5] = new Op(gui);
- ops[5].name = "Op1";
- ops[5].filter = new OpFilter();
- ops[5].filter.filterType = OpFilter.EVENT;
- ops[5].filter.target = gui.PrintCurPr;
- ops[5].filter.id = 1001;
- ops[5].action = new OpAction();
- ops[5].action.actionType = OpAction.CODE;
-
- ops[6] = new Op(gui);
- ops[6].name = "Op1";
- ops[6].filter = new OpFilter();
- ops[6].filter.filterType = OpFilter.EVENT;
- ops[6].filter.target = gui.PrintCurPol;
- ops[6].filter.id = 1001;
- ops[6].action = new OpAction();
- ops[6].action.actionType = OpAction.CODE;
-
- ops[7] = new Op(gui);
- ops[7].name = "Op1";
- ops[7].filter = new OpFilter();
- ops[7].filter.filterType = OpFilter.EVENT;
- ops[7].filter.target = gui.PrintPrlist;
- ops[7].filter.id = 1001;
- ops[7].action = new OpAction();
- ops[7].action.actionType = OpAction.CODE;
-
- ops[8] = new Op(gui);
- ops[8].name = "Op1";
- ops[8].filter = new OpFilter();
- ops[8].filter.filterType = OpFilter.EVENT;
- ops[8].filter.target = gui.PrintPollist;
- ops[8].filter.id = 1001;
- ops[8].action = new OpAction();
- ops[8].action.actionType = OpAction.CODE;
-
- ops[9] = new Op(gui);
- ops[9].name = "Op1";
- ops[9].filter = new OpFilter();
- ops[9].filter.filterType = OpFilter.EVENT;
- ops[9].filter.target = gui.logout;
- ops[9].filter.id = 1001;
- ops[9].action = new OpAction();
- ops[9].action.actionType = OpAction.CODE;
-
- ops[10] = new Op(gui);
- ops[10].name = "Exit";
- ops[10].filter = new OpFilter();
- ops[10].filter.filterType = OpFilter.EVENT;
- ops[10].filter.target = gui.Exit;
- ops[10].filter.id = 1001;
- ops[10].action = new OpAction();
- ops[10].action.actionType = OpAction.CODE;
-
- ops[11] = new Op(gui);
- ops[11].name = "Op1";
- ops[11].filter = new OpFilter();
- ops[11].filter.filterType = OpFilter.EVENT;
- ops[11].filter.target = gui.editPreferences;
- ops[11].filter.id = 1001;
- ops[11].action = new OpAction();
- ops[11].action.actionType = OpAction.CODE;
-
- ops[12] = new Op(gui);
- ops[12].name = "Op1";
- ops[12].filter = new OpFilter();
- ops[12].filter.filterType = OpFilter.EVENT;
- ops[12].filter.target = gui.refreshPrincipals;
- ops[12].filter.id = 1001;
- ops[12].action = new OpAction();
- ops[12].action.actionType = OpAction.CODE;
-
- ops[13] = new Op(gui);
- ops[13].name = "Op1";
- ops[13].filter = new OpFilter();
- ops[13].filter.filterType = OpFilter.EVENT;
- ops[13].filter.target = gui.refreshPolicies;
- ops[13].filter.id = 1001;
- ops[13].action = new OpAction();
- ops[13].action.actionType = OpAction.CODE;
-
- ops[14] = new Op(gui);
- ops[14].name = "Op1";
- ops[14].filter = new OpFilter();
- ops[14].filter.filterType = OpFilter.EVENT;
- ops[14].filter.target = gui.browserHelp2;
- ops[14].filter.id = 1001;
- ops[14].action = new OpAction();
- ops[14].action.actionType = OpAction.CODE;
-
- ops[15] = new Op(gui);
- ops[15].name = "Op1";
- ops[15].filter = new OpFilter();
- ops[15].filter.filterType = OpFilter.EVENT;
- ops[15].filter.target = gui.Context;
- ops[15].filter.id = 1001;
- ops[15].action = new OpAction();
- ops[15].action.actionType = OpAction.CODE;
-
- ops[16] = new Op(gui);
- ops[16].name = "Op1";
- ops[16].filter = new OpFilter();
- ops[16].filter.filterType = OpFilter.EVENT;
- ops[16].filter.target = gui.About;
- ops[16].filter.id = 1001;
- ops[16].action = new OpAction();
- ops[16].action.actionType = OpAction.CODE;
- }
-
- private void handleCallback(int index, Message msg, Event evt) {
- switch (index) {
- case 0:
- {
- group.checkExit(
- (java.awt.Frame)gui.loginframe.getBody());
- }
- break;
- case 1:
- {
- group.checkHelp(
- (java.awt.Frame)gui.loginframe.getBody());
- }
- break;
- case 2:
- {
- group.checkContextSensitiveHelp(
- (java.awt.Frame)gui.loginframe.getBody());
- }
- break;
- case 3:
- {
- group.checkAbout(
- (java.awt.Frame)gui.loginframe.getBody());
- }
- break;
- case 4:
- {
- group.exit();
- }
- break;
- case 5:
- {
- group.checkPrintCurPr();
- }
- break;
- case 6:
- {
- group.checkPrintCurPol();
- }
- break;
- case 7:
- {
- group.checkPrintPrList();
- }
- break;
- case 8:
- {
- group.checkPrintPoList();
- }
- break;
- case 9:
- {
- group.checkLogout();
- }
- break;
- case 10:
- {
- group.checkExit(
- (java.awt.Frame)gui.mainframe.getBody());
- }
- break;
- case 11:
- {
- group.checkEditPreferences();
- }
- break;
- case 12:
- {
- group.checkRefreshPrincipals();
- }
- break;
- case 13:
- {
- group.checkRefreshPolicies();
- }
- break;
- case 14:
- {
- group.checkHelp(
- (java.awt.Frame)gui.mainframe.getBody());
- }
- break;
- case 15:
- {
- group.checkContextSensitiveHelp(
- (java.awt.Frame)gui.mainframe.getBody());
- }
- break;
- case 16:
- {
- group.checkAbout(
- (java.awt.Frame)gui.mainframe.getBody());
- }
- break;
- default:
- throw new Error("Bad callback index: " + index);
- }
- }
-
-
- // methods from lib/visual/gen/methods.java
-
- /**
- * Converts a string to the specified type.
- */
- private Object convert(String type, String value) {
- return (Converter.getConverter(type).convertFromString(value));
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/KdcGuiRoot.java b/usr/src/cmd/krb5/kadmin/gui/KdcGuiRoot.java
deleted file mode 100644
index 0ffb892baf..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/KdcGuiRoot.java
+++ /dev/null
@@ -1,2369 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-/**
- * This file was originally automatically generated by Java WorkShop.
- *
- * Runtime vendor: SunSoft, Inc.
- * Runtime version: 1.0
- *
- * Visual vendor: SunSoft, Inc.
- * Visual version: 1.0
- */
-
-
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.shadow.*;
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-import sunsoft.jws.visual.rt.type.*;
-
-import sunsoft.jws.visual.rt.base.Root;
-import sunsoft.jws.visual.rt.shadow.java.awt.FrameShadow;
-import sunsoft.jws.visual.rt.shadow.GBPanelShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.LabelShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.TextFieldShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.ButtonShadow;
-import sunsoft.jws.visual.rt.shadow.ImageLabelShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.MenuBarShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.MenuShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.MenuItemShadow;
-import sunsoft.jws.visual.rt.shadow.TabbedFolderShadow;
-import sunsoft.jws.visual.rt.shadow.CardPanelShadow;
-import sunsoft.jws.visual.rt.shadow.BorderPanelShadow;
-import sunsoft.jws.visual.rt.shadow.LabelBarShadow;
-import sunsoft.jws.visual.rt.shadow.TextListShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.ChoiceShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.CheckboxShadow;
-
-public class KdcGuiRoot extends Root {
- public MenuItemShadow About;
- public MenuItemShadow About2;
- public MenuItemShadow Context;
- public MenuItemShadow Context2;
- public MenuItemShadow Exit;
- public MenuItemShadow Exit2;
- public MenuShadow File;
- public MenuShadow File2;
- public MenuShadow Help;
- public LabelBarShadow LabelBarGeneral;
- public LabelBarShadow LabelBarMiscellany;
- public LabelBarShadow LabelBarPassword;
- public LabelBarShadow LabelBarPrincipal;
- public LabelBarShadow LabelBarSecurity;
- public LabelBarShadow LabelBarTicket;
- public LabelBarShadow LabelBarTickets;
- public TextFieldShadow LoginName;
- public LabelShadow LoginNameLabel;
- public ButtonShadow LoginOK;
- public TextFieldShadow LoginPass;
- public LabelShadow LoginPassLabel;
- public TextFieldShadow LoginRealm;
- public LabelShadow LoginRealmLabel;
- public TextFieldShadow LoginServer;
- public LabelShadow LoginServerLabel;
- public ButtonShadow LoginStartOver;
- public ButtonShadow PoDetailCancel;
- public ButtonShadow PoDetailDone;
- public LabelShadow PoDetailLabel;
- public ButtonShadow PoDetailPrevious;
- public ButtonShadow PoDetailSave;
- public ButtonShadow PoListAdd;
- public ButtonShadow PoListClear;
- public ButtonShadow PoListDelete;
- public ButtonShadow PoListDuplicate;
- public LabelShadow PoListLabel;
- public ButtonShadow PoListModify;
- public TextFieldShadow PoListPattern;
- public LabelShadow PoListPatternLabel;
- public TextFieldShadow PoMaxTicketLifetime;
- public LabelShadow PoMaxTicketLifetimeLabel;
- public ButtonShadow PoMaxTicketLifetimeMoreButton;
- public ChoiceShadow PoMinPwClass;
- public LabelShadow PoMinPwClassLabel;
- public ChoiceShadow PoMinPwLength;
- public LabelShadow PoMinPwLengthLabel;
- public TextFieldShadow PoMinTicketLifetime;
- public LabelShadow PoMinTicketLifetimeLabel;
- public ButtonShadow PoMinTicketLifetimeMoreButton;
- public TextFieldShadow PoName;
- public LabelShadow PoNameLabel;
- public LabelShadow PoReferences;
- public LabelShadow PoReferencesLabel;
- public ChoiceShadow PoSavedPasswords;
- public LabelShadow PoSavedPasswordsLabel;
- public TextListShadow Pollist;
- public GBPanelShadow Pollisttab;
- public CheckboxShadow PrAllowDupAuth;
- public CheckboxShadow PrAllowForwardable;
- public CheckboxShadow PrAllowPostdated;
- public CheckboxShadow PrAllowProxiable;
- public CheckboxShadow PrAllowRenewable;
- public CheckboxShadow PrAllowSvr;
- public CheckboxShadow PrAllowTGT;
- public ButtonShadow PrBasicCancel;
- public LabelShadow PrBasicLabel;
- public ButtonShadow PrBasicNext;
- public ButtonShadow PrBasicPrevious;
- public ButtonShadow PrBasicRandomPw;
- public LabelShadow EncListLabel;
- public TextFieldShadow EncList;
- public ButtonShadow EncListMoreButton;
- public ButtonShadow PrBasicSave;
- public TextFieldShadow PrComments;
- public LabelShadow PrCommentsLabel;
- public ButtonShadow PrDetailCancel;
- public LabelShadow PrDetailLabel;
- public ButtonShadow PrDetailNext;
- public ButtonShadow PrDetailPrevious;
- public ButtonShadow PrDetailSave;
- public TextFieldShadow PrExpiry;
- public LabelShadow PrExpiryLabel;
- public ButtonShadow PrExpiryMoreButton;
- public LabelShadow PrFailCount;
- public LabelShadow PrFailureCountLabel;
- public LabelShadow PrFlagLabel;
- public ButtonShadow PrFlagsCancel;
- public ButtonShadow PrFlagsNext;
- public ButtonShadow PrFlagsPrevious;
- public ButtonShadow PrFlagsSave;
- public CheckboxShadow PrForcePwChange;
- public TextFieldShadow PrKvno;
- public LabelShadow PrKvnoLabel;
- public LabelShadow PrLastChangedBy;
- public LabelShadow PrLastChangedByLabel;
- public LabelShadow PrLastChangedTime;
- public LabelShadow PrLastChangedTimeLabel;
- public LabelShadow PrLastFailure;
- public LabelShadow PrLastFailureLabel;
- public LabelShadow PrLastPwChange;
- public LabelShadow PrLastSuccess;
- public LabelShadow PrLastSuccessLabel;
- public ButtonShadow PrListAdd;
- public ButtonShadow PrListClear;
- public ButtonShadow PrListDelete;
- public ButtonShadow PrListDuplicate;
- public LabelShadow PrListLabel;
- public ButtonShadow PrListModify;
- public TextFieldShadow PrListPattern;
- public CheckboxShadow PrLockAcct;
- public TextFieldShadow PrMaxLifetime;
- public ButtonShadow PrMaxLifetimeMoreButton;
- public TextFieldShadow PrMaxRenewal;
- public ButtonShadow PrMaxRenewalMoreButton;
- public LabelShadow PrMaxTicketLifetimeLabel;
- public LabelShadow PrMaxTicketRenewalLabel;
- public TextFieldShadow PrName1;
- public LabelShadow PrName2;
- public LabelShadow PrName3;
- public LabelShadow PrNameLabel1;
- public TextFieldShadow PrPassword;
- public LabelShadow PrPasswordLabel;
- public ChoiceShadow PrPolicy;
- public LabelShadow PrPolicyLabel;
- public TextFieldShadow PrPwExpiry;
- public LabelShadow PrPwExpiryLabel;
- public ButtonShadow PrPwExpiryMoreButton;
- public LabelShadow PrPwLastChangedLabel;
- public CheckboxShadow PrRequireHwPreAuth;
- public CheckboxShadow PrRequirePreAuth;
- public LabelShadow PrSearchLab;
- public MenuShadow Print;
- public MenuItemShadow PrintCurPol;
- public MenuItemShadow PrintCurPr;
- public MenuItemShadow PrintPollist;
- public MenuItemShadow PrintPrlist;
- public TextListShadow Prlist;
- public GBPanelShadow Prlisttab;
- public LabelShadow StatusLine;
- public BorderPanelShadow borderpanel1;
- public BorderPanelShadow borderpanel7;
- public MenuItemShadow browserHelp1;
- public MenuItemShadow browserHelp2;
- public CardPanelShadow cardpanel1;
- public CardPanelShadow cardpanel2;
- public MenuShadow editMenu;
- public MenuItemShadow editPreferences;
- public GBPanelShadow gbpanel1;
- public GBPanelShadow gbpanel11;
- public GBPanelShadow gbpanel17;
- public GBPanelShadow gbpanel18;
- public GBPanelShadow gbpanel19;
- public GBPanelShadow gbpanel2;
- public GBPanelShadow gbpanel20;
- public GBPanelShadow gbpanel21;
- public GBPanelShadow gbpanel22;
- public GBPanelShadow gbpanel23;
- public GBPanelShadow gbpanel24;
- public GBPanelShadow gbpanel25;
- public GBPanelShadow gbpanel28;
- public GBPanelShadow gbpanel3;
- public GBPanelShadow gbpanel36;
- public GBPanelShadow gbpanel37;
- public GBPanelShadow gbpanel38;
- public GBPanelShadow gbpanel4;
- public GBPanelShadow gbpanel40;
- public GBPanelShadow gbpanel41;
- public GBPanelShadow gbpanel42;
- public GBPanelShadow gbpanel44;
- public GBPanelShadow gbpanel45;
- public GBPanelShadow gbpanel5;
- public GBPanelShadow gbpanel50;
- public GBPanelShadow gbpanel6;
- public GBPanelShadow gbpanel67;
- public GBPanelShadow gbpanel73;
- public GBPanelShadow gbpanel8;
- public GBPanelShadow gbpanel9;
- public GBPanelShadow gbpanel90;
- public LabelBarShadow labelbar1;
- public LabelBarShadow labelbar20;
- public LabelBarShadow labelbar21;
- public LabelBarShadow labelbar22;
- public LabelBarShadow labelbar23;
- public LabelBarShadow labelbar3;
- public LabelBarShadow labelbar6;
- public FrameShadow loginframe;
- public MenuItemShadow logout;
- public FrameShadow mainframe;
- public MenuShadow menu1;
- public MenuShadow menu2;
- public MenuBarShadow menubar1;
- public MenuBarShadow menubar2;
- public MenuItemShadow refreshPolicies;
- public MenuItemShadow refreshPrincipals;
- public Root root1;
- public TabbedFolderShadow tabbedfolder1;
-
- public KdcGuiRoot(Group group) {
- setGroup(group);
-
- loginframe = new FrameShadow();
- loginframe.set("name", "loginframe");
- add(loginframe);
- loginframe.set("title", "SEAM Administration Login");
- loginframe.set("layoutSize", new java.awt.Dimension(676, 676));
- loginframe.set("layoutLocation", new java.awt.Point(7, 16));
-
- gbpanel44 = new GBPanelShadow();
- gbpanel44.set("name", "gbpanel44");
- loginframe.add(gbpanel44);
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14};
- gbpanel44.set("rowHeights", _tmp);
- }
- gbpanel44.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14};
- gbpanel44.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0};
- gbpanel44.set("rowWeights", _tmp);
- }
- gbpanel44.set("layoutSize", new java.awt.Dimension(457, 457));
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel44.set("columnWeights", _tmp);
- }
- gbpanel44.set("layoutLocation", new java.awt.Point(602, 10));
-
- LoginNameLabel = new LabelShadow();
- LoginNameLabel.set("name", "LoginNameLabel");
- gbpanel44.add(LoginNameLabel);
- LoginNameLabel.set("GBConstraints",
- new GBConstraints("x=1;y=2;width=6;height=2"));
- LoginNameLabel.set("text", "Principal Name:");
- LoginNameLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- LoginPassLabel = new LabelShadow();
- LoginPassLabel.set("name", "LoginPassLabel");
- gbpanel44.add(LoginPassLabel);
- LoginPassLabel.set("GBConstraints",
- new GBConstraints("x=1;y=4;width=6;height=2"));
- LoginPassLabel.set("text", "Password:");
- LoginPassLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- LoginName = new TextFieldShadow();
- LoginName.set("name", "LoginName");
- gbpanel44.add(LoginName);
- LoginName.set("GBConstraints", new GBConstraints
- ("x=7;y=2;width=12;height=2;fill=horizontal"));
-
- LoginPass = new TextFieldShadow();
- LoginPass.set("name", "LoginPass");
- gbpanel44.add(LoginPass);
- LoginPass.set("GBConstraints", new GBConstraints
- ("x=7;y=4;width=12;height=2;fill=horizontal"));
- LoginPass.set("echoCharacter", new Character('*'));
-
- LoginOK = new ButtonShadow();
- LoginOK.set("name", "LoginOK");
- gbpanel44.add(LoginOK);
- LoginOK.set("GBConstraints", new GBConstraints
- ("x=3;y=15;width=4;height=2"));
- LoginOK.set("text", "OK");
-
- LoginStartOver = new ButtonShadow();
- LoginStartOver.set("name", "LoginStartOver");
- gbpanel44.add(LoginStartOver);
- LoginStartOver.set("GBConstraints", new GBConstraints
- ("x=15;y=15;width=4;height=2"));
- LoginStartOver.set("text", "Start Over");
-
- LoginRealmLabel = new LabelShadow();
- LoginRealmLabel.set("name", "LoginRealmLabel");
- gbpanel44.add(LoginRealmLabel);
- LoginRealmLabel.set("GBConstraints", new GBConstraints
- ("x=1;y=8;width=6;height=2"));
- LoginRealmLabel.set("text", "Realm:");
- LoginRealmLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- LoginRealm = new TextFieldShadow();
- LoginRealm.set("name", "LoginRealm");
- gbpanel44.add(LoginRealm);
- LoginRealm.set("GBConstraints", new GBConstraints
- ("x=7;y=8;width=12;height=2;fill=horizontal"));
-
- LoginServerLabel = new LabelShadow();
- LoginServerLabel.set("name", "LoginServerLabel");
- gbpanel44.add(LoginServerLabel);
- LoginServerLabel.set("GBConstraints", new GBConstraints
- ("x=1;y=10;width=6;height=2"));
- LoginServerLabel.set("text", "Admin Server:");
- LoginServerLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- LoginServer = new TextFieldShadow();
- LoginServer.set("name", "LoginServer");
- gbpanel44.add(LoginServer);
- LoginServer.set("GBConstraints", new GBConstraints
- ("x=7;y=10;width=12;height=2;fill=horizontal"));
-
- menubar2 = new MenuBarShadow();
- menubar2.set("name", "menubar2");
- loginframe.add(menubar2);
- menubar2.set("helpMenu", new AMRef("menu1"));
- menubar2.set("font", convert
- ("java.awt.Font",
- "name=Dialog;style=plain;size=12"));
-
- File2 = new MenuShadow();
- File2.set("name", "File2");
- menubar2.add(File2);
- File2.set("text", "File");
- File2.set("canTearOff", Boolean.FALSE);
-
- Exit2 = new MenuItemShadow();
- Exit2.set("name", "Exit2");
- File2.add(Exit2);
- Exit2.set("text", "Exit");
-
- menu1 = new MenuShadow();
- menu1.set("name", "menu1");
- menubar2.add(menu1);
- menu1.set("text", "Help");
- menu1.set("canTearOff", Boolean.FALSE);
-
- browserHelp1 = new MenuItemShadow();
- browserHelp1.set("name", "browserHelp1");
- menu1.add(browserHelp1);
- browserHelp1.set("text", "Help Contents");
-
- Context2 = new MenuItemShadow();
- Context2.set("name", "Context2");
- menu1.add(Context2);
- Context2.set("text", "Context-sensitive help");
- Context2.set("separator", Boolean.TRUE);
-
- About2 = new MenuItemShadow();
- About2.set("name", "About2");
- menu1.add(About2);
- About2.set("text", "About");
-
- mainframe = new FrameShadow();
- mainframe.set("name", "mainframe");
- add(mainframe);
- mainframe.set("title", "SEAM Administration Tool");
- mainframe.set("visible", Boolean.FALSE);
- mainframe.set("layoutSize", new java.awt.Dimension(885, 900));
- mainframe.set("size", new java.awt.Dimension(726, 783));
- mainframe.set("layoutLocation", new java.awt.Point(109, 0));
-
- gbpanel1 = new GBPanelShadow();
- gbpanel1.set("name", "gbpanel1");
- mainframe.add(gbpanel1);
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14};
- gbpanel1.set("rowHeights", _tmp);
- }
- gbpanel1.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 14, 14};
- gbpanel1.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel1.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0};
- gbpanel1.set("columnWeights", _tmp);
- }
-
- StatusLine = new LabelShadow();
- StatusLine.set("name", "StatusLine");
- gbpanel1.add(StatusLine);
- StatusLine.set("GBConstraints", new GBConstraints
- ("x=1;y=4;ipadx=332"));
- /* BEGIN JSTYLED */
- StatusLine.set("text", " ");
- /* END JSTYLED */
- StatusLine.set("alignment",
- new sunsoft.jws.visual.rt.type.AlignmentEnum
- ("left"));
- StatusLine.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("west"));
-
- tabbedfolder1 = new TabbedFolderShadow();
- tabbedfolder1.set("name", "tabbedfolder1");
- gbpanel1.add(tabbedfolder1);
- tabbedfolder1.set("GBConstraints", new GBConstraints
- ("x=1;y=2;fill=both"));
- tabbedfolder1.set("borderRelief",
- new sunsoft.jws.visual.rt.type.ReliefEnum
- ("groove"));
-
- Prlisttab = new GBPanelShadow();
- Prlisttab.set("name", "Prlisttab");
- tabbedfolder1.add(Prlisttab);
- {
- int _tmp[] = {14, 14, 14};
- Prlisttab.set("rowHeights", _tmp);
- }
- Prlisttab.set("GBConstraints",
- new GBConstraints("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 14, 14};
- Prlisttab.set("columnWidths", _tmp);
- }
- Prlisttab.set("layoutName", "Principals");
- {
- double _tmp[] = {0.0, 0.0, 0.0};
- Prlisttab.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0};
- Prlisttab.set("columnWeights", _tmp);
- }
-
- cardpanel1 = new CardPanelShadow();
- cardpanel1.set("name", "cardpanel1");
- Prlisttab.add(cardpanel1);
- cardpanel1.set("GBConstraints",
- new GBConstraints("x=1;y=1;fill=both"));
-
- gbpanel2 = new GBPanelShadow();
- gbpanel2.set("name", "gbpanel2");
- cardpanel1.add(gbpanel2);
- {
- int _tmp[] = {14};
- gbpanel2.set("rowHeights", _tmp);
- }
- gbpanel2.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel2.set("columnWidths", _tmp);
- }
- gbpanel2.set("layoutName", "List");
- {
- double _tmp[] = {0.0};
- gbpanel2.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel2.set("columnWeights", _tmp);
- }
-
- borderpanel1 = new BorderPanelShadow();
- borderpanel1.set("name", "borderpanel1");
- gbpanel2.add(borderpanel1);
- borderpanel1.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- borderpanel1.set("borderRelief",
- new sunsoft.jws.visual.rt.type.ReliefEnum
- ("raised"));
-
- gbpanel19 = new GBPanelShadow();
- gbpanel19.set("name", "gbpanel19");
- borderpanel1.add(gbpanel19);
- {
- int _tmp[] = {14};
- gbpanel19.set("rowHeights", _tmp);
- }
- gbpanel19.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel19.set("columnWidths", _tmp);
- }
- gbpanel19.set("layoutName", "West");
- {
- double _tmp[] = {1.0};
- gbpanel19.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0};
- gbpanel19.set("columnWeights", _tmp);
- }
-
- gbpanel3 = new GBPanelShadow();
- gbpanel3.set("name", "gbpanel3");
- borderpanel1.add(gbpanel3);
- {
- int _tmp[] = {14, 14, 14};
- gbpanel3.set("rowHeights", _tmp);
- }
- gbpanel3.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel3.set("columnWidths", _tmp);
- }
- gbpanel3.set("layoutName", "North");
- {
- double _tmp[] = {0.0, 1.0, 0.0};
- gbpanel3.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0};
- gbpanel3.set("columnWeights", _tmp);
- }
-
- PrListLabel = new LabelShadow();
- PrListLabel.set("name", "PrListLabel");
- gbpanel3.add(PrListLabel);
- PrListLabel.set("GBConstraints", new GBConstraints("x=0;y=1"));
- PrListLabel.set("text", "Principal List");
- PrListLabel.set("font", convert
- ("java.awt.Font",
- "name=Dialog;style=plain;size=16"));
-
- gbpanel4 = new GBPanelShadow();
- gbpanel4.set("name", "gbpanel4");
- borderpanel1.add(gbpanel4);
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14};
- gbpanel4.set("rowHeights", _tmp);
- }
- gbpanel4.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14};
- gbpanel4.set("columnWidths", _tmp);
- }
- gbpanel4.set("layoutName", "South");
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel4.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0};
- gbpanel4.set("columnWeights", _tmp);
- }
-
- gbpanel28 = new GBPanelShadow();
- gbpanel28.set("name", "gbpanel28");
- gbpanel4.add(gbpanel28);
- {
- int _tmp[] = {14};
- gbpanel28.set("rowHeights", _tmp);
- }
- gbpanel28.set("GBConstraints", new GBConstraints
- ("x=0;y=1;width=17;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14};
- gbpanel28.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel28.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel28.set("columnWeights", _tmp);
- }
-
- PrSearchLab = new LabelShadow();
- PrSearchLab.set("name", "PrSearchLab");
- gbpanel28.add(PrSearchLab);
- PrSearchLab.set("GBConstraints", new GBConstraints("x=0;y=0"));
- PrSearchLab.set("text", "Filter:");
- PrSearchLab.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrListPattern = new TextFieldShadow();
- PrListPattern.set("name", "PrListPattern");
- gbpanel28.add(PrListPattern);
- PrListPattern.set("GBConstraints", new GBConstraints
- ("x=1;y=0;width=12;fill=horizontal"));
-
- PrListClear = new ButtonShadow();
- PrListClear.set("name", "PrListClear");
- gbpanel28.add(PrListClear);
- PrListClear.set("GBConstraints", new GBConstraints("x=13;y=0"));
- PrListClear.set("text", "Clear Filter");
-
- labelbar1 = new LabelBarShadow();
- labelbar1.set("name", "labelbar1");
- gbpanel4.add(labelbar1);
- labelbar1.set("GBConstraints", new GBConstraints
- ("x=0;y=3;width=17;fill=horizontal"));
-
- gbpanel20 = new GBPanelShadow();
- gbpanel20.set("name", "gbpanel20");
- gbpanel4.add(gbpanel20);
- {
- int _tmp[] = {14};
- gbpanel20.set("rowHeights", _tmp);
- }
- gbpanel20.set("GBConstraints", new GBConstraints
- ("x=0;y=5;width=17;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14};
- gbpanel20.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel20.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel20.set("columnWeights", _tmp);
- }
-
- PrListModify = new ButtonShadow();
- PrListModify.set("name", "PrListModify");
- gbpanel20.add(PrListModify);
- PrListModify.set("GBConstraints", new GBConstraints("x=0;y=0"));
- PrListModify.set("text", "Modify");
-
- PrListAdd = new ButtonShadow();
- PrListAdd.set("name", "PrListAdd");
- gbpanel20.add(PrListAdd);
- PrListAdd.set("GBConstraints", new GBConstraints("x=2;y=0"));
- PrListAdd.set("text", "Create New");
-
- PrListDelete = new ButtonShadow();
- PrListDelete.set("name", "PrListDelete");
- gbpanel20.add(PrListDelete);
- PrListDelete.set("GBConstraints", new GBConstraints("x=4;y=0"));
- PrListDelete.set("text", "Delete");
-
- PrListDuplicate = new ButtonShadow();
- PrListDuplicate.set("name", "PrListDuplicate");
- gbpanel20.add(PrListDuplicate);
- PrListDuplicate.set("GBConstraints", new GBConstraints
- ("x=6;y=0"));
- PrListDuplicate.set("text", "Duplicate");
-
- gbpanel21 = new GBPanelShadow();
- gbpanel21.set("name", "gbpanel21");
- borderpanel1.add(gbpanel21);
- {
- int _tmp[] = {14};
- gbpanel21.set("rowHeights", _tmp);
- }
- gbpanel21.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel21.set("columnWidths", _tmp);
- }
- gbpanel21.set("layoutName", "East");
- {
- double _tmp[] = {1.0};
- gbpanel21.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0};
- gbpanel21.set("columnWeights", _tmp);
- }
-
- gbpanel22 = new GBPanelShadow();
- gbpanel22.set("name", "gbpanel22");
- borderpanel1.add(gbpanel22);
- {
- int _tmp[] = {14};
- gbpanel22.set("rowHeights", _tmp);
- }
- gbpanel22.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel22.set("columnWidths", _tmp);
- }
- gbpanel22.set("layoutName", "Center");
- {
- double _tmp[] = {1.0};
- gbpanel22.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0};
- gbpanel22.set("columnWeights", _tmp);
- }
-
- Prlist = new TextListShadow();
- Prlist.set("name", "Prlist");
- gbpanel22.add(Prlist);
- Prlist.set("items", convert("[Ljava.lang.String;", ""));
- Prlist.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- Prlist.set("allowMultipleSelections", Boolean.TRUE);
- Prlist.set("visibleRows", new Integer(15));
- Prlist.set("selectedItems",
- convert("[Ljava.lang.String;", ""));
-
- gbpanel5 = new GBPanelShadow();
- gbpanel5.set("name", "gbpanel5");
- cardpanel1.add(gbpanel5);
- {
- int _tmp[] = {14};
- gbpanel5.set("rowHeights", _tmp);
- }
- gbpanel5.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel5.set("columnWidths", _tmp);
- }
- gbpanel5.set("layoutName", "Basics");
- gbpanel5.set("visible", Boolean.FALSE);
- {
- double _tmp[] = {0.0};
- gbpanel5.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel5.set("columnWeights", _tmp);
- }
-
- gbpanel67 = new GBPanelShadow();
- gbpanel67.set("name", "gbpanel67");
- gbpanel5.add(gbpanel67);
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14};
- gbpanel67.set("rowHeights", _tmp);
- }
- gbpanel67.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 14, 14};
- gbpanel67.set("columnWidths", _tmp);
- }
- gbpanel67.set("borderRelief",
- new sunsoft.jws.visual.rt.type.ReliefEnum
- ("raised"));
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0};
- gbpanel67.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0};
- gbpanel67.set("columnWeights", _tmp);
- }
-
- PrBasicLabel = new LabelShadow();
- PrBasicLabel.set("name", "PrBasicLabel");
- gbpanel67.add(PrBasicLabel);
- PrBasicLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=1;width=3"));
- PrBasicLabel.set("text", "Principal Basics");
- PrBasicLabel.set("font", convert
- ("java.awt.Font",
- "name=Dialog;style=plain;size=16"));
-
- LabelBarGeneral = new LabelBarShadow();
- LabelBarGeneral.set("name", "LabelBarGeneral");
- gbpanel67.add(LabelBarGeneral);
- LabelBarGeneral.set("GBConstraints", new GBConstraints
- ("x=0;y=2;width=3;fill=horizontal"));
- LabelBarGeneral.set("text", "General");
- LabelBarGeneral.set("font",
- convert
- ("java.awt.Font",
- "name=Dialog;style=italic;size=12"));
-
- PrNameLabel1 = new LabelShadow();
- PrNameLabel1.set("name", "PrNameLabel1");
- gbpanel67.add(PrNameLabel1);
- PrNameLabel1.set("GBConstraints", new GBConstraints("x=0;y=4"));
- PrNameLabel1.set("text", "Principal Name:");
- PrNameLabel1.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrName1 = new TextFieldShadow();
- PrName1.set("name", "PrName1");
- gbpanel67.add(PrName1);
- PrName1.set("GBConstraints", new GBConstraints
- ("x=1;y=4;fill=horizontal"));
- PrName1.set("editable", Boolean.FALSE);
-
- PrPasswordLabel = new LabelShadow();
- PrPasswordLabel.set("name", "PrPasswordLabel");
- gbpanel67.add(PrPasswordLabel);
- PrPasswordLabel.set("GBConstraints",
- new GBConstraints("x=0;y=6"));
- PrPasswordLabel.set("text", "Password:");
- PrPasswordLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrPassword = new TextFieldShadow();
- PrPassword.set("name", "PrPassword");
- gbpanel67.add(PrPassword);
- PrPassword.set("GBConstraints", new GBConstraints
- ("x=1;y=6;fill=horizontal"));
- PrPassword.set("echoCharacter", new Character('*'));
-
- PrBasicRandomPw = new ButtonShadow();
- PrBasicRandomPw.set("name", "PrBasicRandomPw");
- gbpanel67.add(PrBasicRandomPw);
- PrBasicRandomPw.set("GBConstraints", new GBConstraints
- ("x=1;y=8"));
- PrBasicRandomPw.set("text", "Generate Random Password");
- PrBasicRandomPw.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- EncListLabel = new LabelShadow();
- EncListLabel.set("name", "EncListLabel");
- gbpanel67.add(EncListLabel);
- EncListLabel.set("GBConstraints", new GBConstraints("x=0;y=10"));
- EncListLabel.set("text", "Encryption Key Types:");
- EncListLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- EncList = new TextFieldShadow();
- EncList.set("name", "EncList");
- gbpanel67.add(EncList);
- EncList.set("GBConstraints", new GBConstraints
- ("x=1;y=10;fill=horizontal"));
-
- EncListMoreButton = new ButtonShadow();
- EncListMoreButton.set("name", "EncListMoreButton");
- gbpanel67.add(EncListMoreButton);
- EncListMoreButton.set("GBConstraints", new GBConstraints
- ("x=2;y=10"));
- EncListMoreButton.set("standard", Boolean.FALSE);
- EncListMoreButton.set("text", "...");
-
- PrPolicyLabel = new LabelShadow();
- PrPolicyLabel.set("name", "PrPolicyLabel");
- gbpanel67.add(PrPolicyLabel);
- PrPolicyLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=12"));
- PrPolicyLabel.set("text", "Policy:");
- PrPolicyLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrPolicy = new ChoiceShadow();
- PrPolicy.set("name", "PrPolicy");
- gbpanel67.add(PrPolicy);
- PrPolicy.set("items", convert("[Ljava.lang.String;",
- "(no policy)"));
- PrPolicy.set("GBConstraints", new GBConstraints("x=1;y=12"));
- PrPolicy.set("anchor", new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
- PrPolicy.set("selectedItem", "(no policy)");
-
- PrExpiryLabel = new LabelShadow();
- PrExpiryLabel.set("name", "PrExpiryLabel");
- gbpanel67.add(PrExpiryLabel);
- PrExpiryLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=14"));
- PrExpiryLabel.set("text", "Account Expires:");
- PrExpiryLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrExpiry = new TextFieldShadow();
- PrExpiry.set("name", "PrExpiry");
- gbpanel67.add(PrExpiry);
- PrExpiry.set("GBConstraints", new GBConstraints
- ("x=1;y=14;fill=horizontal"));
-
- PrExpiryMoreButton = new ButtonShadow();
- PrExpiryMoreButton.set("name", "PrExpiryMoreButton");
- gbpanel67.add(PrExpiryMoreButton);
- PrExpiryMoreButton.set("GBConstraints", new GBConstraints
- ("x=2;y=14"));
- PrExpiryMoreButton.set("standard", Boolean.FALSE);
- PrExpiryMoreButton.set("text", "...");
-
- LabelBarPrincipal = new LabelBarShadow();
- LabelBarPrincipal.set("name", "LabelBarPrincipal");
- gbpanel67.add(LabelBarPrincipal);
- LabelBarPrincipal.set("GBConstraints", new GBConstraints
- ("x=0;y=16;width=3;fill=horizontal"));
- LabelBarPrincipal.set("text", "Admin History");
- LabelBarPrincipal.set("font", convert
- ("java.awt.Font",
- "name=Dialog;style=italic;size=12"));
-
- PrLastChangedTimeLabel = new LabelShadow();
- PrLastChangedTimeLabel.set("name", "PrLastChangedTimeLabel");
- gbpanel67.add(PrLastChangedTimeLabel);
- PrLastChangedTimeLabel.set("GBConstraints",
- new GBConstraints("x=0;y=18"));
- PrLastChangedTimeLabel.set("text", "Last Principal Change:");
- PrLastChangedTimeLabel.set
- ("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- PrLastChangedTime = new LabelShadow();
- PrLastChangedTime.set("name", "PrLastChangedTime");
- gbpanel67.add(PrLastChangedTime);
- PrLastChangedTime.set("GBConstraints", new GBConstraints
- ("x=1;y=18"));
- PrLastChangedTime.set("text", "");
- PrLastChangedTime.set("alignment",
- new sunsoft.jws.visual.rt.type.AlignmentEnum
- ("left"));
- PrLastChangedTime.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrLastChangedByLabel = new LabelShadow();
- PrLastChangedByLabel.set("name", "PrLastChangedByLabel");
- gbpanel67.add(PrLastChangedByLabel);
- PrLastChangedByLabel.set("GBConstraints",
- new GBConstraints("x=0;y=20"));
- PrLastChangedByLabel.set("text", "Last Changed By:");
- PrLastChangedByLabel.set
- ("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- PrLastChangedBy = new LabelShadow();
- PrLastChangedBy.set("name", "PrLastChangedBy");
- gbpanel67.add(PrLastChangedBy);
- PrLastChangedBy.set("GBConstraints", new GBConstraints
- ("x=1;y=20"));
- PrLastChangedBy.set("text", "");
- PrLastChangedBy.set
- ("alignment",
- new sunsoft.jws.visual.rt.type.AlignmentEnum("left"));
- PrLastChangedBy.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrCommentsLabel = new LabelShadow();
- PrCommentsLabel.set("name", "PrCommentsLabel");
- gbpanel67.add(PrCommentsLabel);
- PrCommentsLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=22"));
- PrCommentsLabel.set("text", "Comments:");
- PrCommentsLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrComments = new TextFieldShadow();
- PrComments.set("name", "PrComments");
- gbpanel67.add(PrComments);
- PrComments.set("GBConstraints", new GBConstraints
- ("x=1;y=22;fill=horizontal"));
-
- labelbar20 = new LabelBarShadow();
- labelbar20.set("name", "labelbar20");
- gbpanel67.add(labelbar20);
- labelbar20.set("GBConstraints", new GBConstraints
- ("x=0;y=24;width=3;fill=horizontal"));
-
- gbpanel11 = new GBPanelShadow();
- gbpanel11.set("name", "gbpanel11");
- gbpanel67.add(gbpanel11);
- {
- int _tmp[] = {14};
- gbpanel11.set("rowHeights", _tmp);
- }
- gbpanel11.set("GBConstraints", new GBConstraints
- ("x=0;y=26;width=3;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14};
- gbpanel11.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel11.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel11.set("columnWeights", _tmp);
- }
-
- PrBasicSave = new ButtonShadow();
- PrBasicSave.set("name", "PrBasicSave");
- gbpanel11.add(PrBasicSave);
- PrBasicSave.set("GBConstraints", new GBConstraints("x=0;y=0"));
- PrBasicSave.set("text", "Save");
-
- PrBasicPrevious = new ButtonShadow();
- PrBasicPrevious.set("name", "PrBasicPrevious");
- gbpanel11.add(PrBasicPrevious);
- PrBasicPrevious.set("GBConstraints", new GBConstraints
- ("x=2;y=0"));
- PrBasicPrevious.set("text", "Previous");
-
- PrBasicNext = new ButtonShadow();
- PrBasicNext.set("name", "PrBasicNext");
- gbpanel11.add(PrBasicNext);
- PrBasicNext.set("GBConstraints", new GBConstraints("x=4;y=0"));
- PrBasicNext.set("text", "Next");
-
- PrBasicCancel = new ButtonShadow();
- PrBasicCancel.set("name", "PrBasicCancel");
- gbpanel11.add(PrBasicCancel);
- PrBasicCancel.set("GBConstraints", new GBConstraints
- ("x=6;y=0"));
- PrBasicCancel.set("text", "Cancel");
-
- gbpanel6 = new GBPanelShadow();
- gbpanel6.set("name", "gbpanel6");
- cardpanel1.add(gbpanel6);
- {
- int _tmp[] = {14};
- gbpanel6.set("rowHeights", _tmp);
- }
- gbpanel6.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel6.set("columnWidths", _tmp);
- }
- gbpanel6.set("layoutName", "Details");
- gbpanel6.set("visible", Boolean.FALSE);
- {
- double _tmp[] = {0.0};
- gbpanel6.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel6.set("columnWeights", _tmp);
- }
-
- gbpanel73 = new GBPanelShadow();
- gbpanel73.set("name", "gbpanel73");
- gbpanel6.add(gbpanel73);
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14};
- gbpanel73.set("rowHeights", _tmp);
- }
- gbpanel73.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 174, 14};
- gbpanel73.set("columnWidths", _tmp);
- }
- gbpanel73.set("borderRelief",
- new sunsoft.jws.visual.rt.type.ReliefEnum
- ("raised"));
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0};
- gbpanel73.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0};
- gbpanel73.set("columnWeights", _tmp);
- }
-
- PrDetailLabel = new LabelShadow();
- PrDetailLabel.set("name", "PrDetailLabel");
- gbpanel73.add(PrDetailLabel);
- PrDetailLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=1;width=3"));
- PrDetailLabel.set("text", "Principal Details");
- PrDetailLabel.set("font", convert
- ("java.awt.Font",
- "name=Dialog;style=plain;size=16"));
-
- PrName2 = new LabelShadow();
- PrName2.set("name", "PrName2");
- gbpanel73.add(PrName2);
- PrName2.set("GBConstraints", new GBConstraints
- ("x=0;y=2;width=3;ipadx=188"));
- PrName2.set("text", "");
- PrName2.set("font", convert
- ("java.awt.Font",
- "name=Dialog;style=plain;size=14"));
-
- LabelBarPassword = new LabelBarShadow();
- LabelBarPassword.set("name", "LabelBarPassword");
- gbpanel73.add(LabelBarPassword);
- LabelBarPassword.set("GBConstraints", new GBConstraints
- ("x=0;y=3;width=3;fill=horizontal"));
- LabelBarPassword.set("text", "Password");
- LabelBarPassword.set("font", convert
- ("java.awt.Font",
- "name=Dialog;style=italic;size=12"));
-
- PrLastSuccessLabel = new LabelShadow();
- PrLastSuccessLabel.set("name", "PrLastSuccessLabel");
- gbpanel73.add(PrLastSuccessLabel);
- PrLastSuccessLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=5"));
- PrLastSuccessLabel.set("text", "Last Success:");
- PrLastSuccessLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrLastSuccess = new LabelShadow();
- PrLastSuccess.set("name", "PrLastSuccess");
- gbpanel73.add(PrLastSuccess);
- PrLastSuccess.set("GBConstraints", new GBConstraints
- ("x=1;y=5"));
- PrLastSuccess.set("text", "");
- PrLastSuccess.set("alignment",
- new sunsoft.jws.visual.rt.type.AlignmentEnum
- ("left"));
- PrLastSuccess.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrLastFailureLabel = new LabelShadow();
- PrLastFailureLabel.set("name", "PrLastFailureLabel");
- gbpanel73.add(PrLastFailureLabel);
- PrLastFailureLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=7"));
- PrLastFailureLabel.set("text", "Last Failure:");
- PrLastFailureLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrLastFailure = new LabelShadow();
- PrLastFailure.set("name", "PrLastFailure");
- gbpanel73.add(PrLastFailure);
- PrLastFailure.set("GBConstraints", new GBConstraints
- ("x=1;y=7"));
- PrLastFailure.set("text", "");
- PrLastFailure.set("alignment",
- new sunsoft.jws.visual.rt.type.AlignmentEnum
- ("left"));
- PrLastFailure.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrFailureCountLabel = new LabelShadow();
- PrFailureCountLabel.set("name", "PrFailureCountLabel");
- gbpanel73.add(PrFailureCountLabel);
- PrFailureCountLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=9"));
- PrFailureCountLabel.set("text", "Failure Count:");
- PrFailureCountLabel.set
- ("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- PrFailCount = new LabelShadow();
- PrFailCount.set("name", "PrFailCount");
- gbpanel73.add(PrFailCount);
- PrFailCount.set("GBConstraints", new GBConstraints("x=1;y=9"));
- PrFailCount.set("text", "");
- PrFailCount.set("alignment",
- new sunsoft.jws.visual.rt.type.AlignmentEnum
- ("left"));
- PrFailCount.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrPwLastChangedLabel = new LabelShadow();
- PrPwLastChangedLabel.set("name", "PrPwLastChangedLabel");
- gbpanel73.add(PrPwLastChangedLabel);
- PrPwLastChangedLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=11"));
- PrPwLastChangedLabel.set("text", "Last Password Change:");
- PrPwLastChangedLabel.set
- ("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- PrLastPwChange = new LabelShadow();
- PrLastPwChange.set("name", "PrLastPwChange");
- gbpanel73.add(PrLastPwChange);
- PrLastPwChange.set("GBConstraints", new GBConstraints
- ("x=1;y=11"));
- PrLastPwChange.set("text", "");
- PrLastPwChange.set("alignment",
- new sunsoft.jws.visual.rt.type.AlignmentEnum
- ("left"));
- PrLastPwChange.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrPwExpiryLabel = new LabelShadow();
- PrPwExpiryLabel.set("name", "PrPwExpiryLabel");
- gbpanel73.add(PrPwExpiryLabel);
- PrPwExpiryLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=13"));
- PrPwExpiryLabel.set("text", "Password Expires:");
- PrPwExpiryLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrPwExpiry = new TextFieldShadow();
- PrPwExpiry.set("name", "PrPwExpiry");
- gbpanel73.add(PrPwExpiry);
- PrPwExpiry.set("GBConstraints", new GBConstraints
- ("x=1;y=13;fill=horizontal"));
-
- PrPwExpiryMoreButton = new ButtonShadow();
- PrPwExpiryMoreButton.set("name", "PrPwExpiryMoreButton");
- gbpanel73.add(PrPwExpiryMoreButton);
- PrPwExpiryMoreButton.set("GBConstraints", new GBConstraints
- ("x=2;y=13"));
- PrPwExpiryMoreButton.set("standard", Boolean.FALSE);
- PrPwExpiryMoreButton.set("text", "...");
-
- PrKvnoLabel = new LabelShadow();
- PrKvnoLabel.set("name", "PrKvnoLabel");
- gbpanel73.add(PrKvnoLabel);
- PrKvnoLabel.set("GBConstraints", new GBConstraints("x=0;y=15"));
- PrKvnoLabel.set("text", "Key Version:");
- PrKvnoLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PrKvno = new TextFieldShadow();
- PrKvno.set("name", "PrKvno");
- gbpanel73.add(PrKvno);
- PrKvno.set("GBConstraints",
- new GBConstraints("x=1;y=15;fill=horizontal"));
-
- LabelBarTicket = new LabelBarShadow();
- LabelBarTicket.set("name", "LabelBarTicket");
- gbpanel73.add(LabelBarTicket);
- LabelBarTicket.set("GBConstraints", new GBConstraints
- ("x=0;y=17;width=3;fill=horizontal"));
- LabelBarTicket.set("text", "Ticket Lifetimes");
- LabelBarTicket.set("font", convert
- ("java.awt.Font",
- "name=Dialog;style=italic;size=12"));
-
- PrMaxTicketLifetimeLabel = new LabelShadow();
- PrMaxTicketLifetimeLabel.set("name",
- "PrMaxTicketLifetimeLabel");
- gbpanel73.add(PrMaxTicketLifetimeLabel);
- PrMaxTicketLifetimeLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=19"));
- PrMaxTicketLifetimeLabel.set("text",
- "Maximum Lifetime (seconds):");
- PrMaxTicketLifetimeLabel.set
- ("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- PrMaxLifetime = new TextFieldShadow();
- PrMaxLifetime.set("name", "PrMaxLifetime");
- gbpanel73.add(PrMaxLifetime);
- PrMaxLifetime.set("GBConstraints", new GBConstraints
- ("x=1;y=19;fill=horizontal"));
-
- PrMaxLifetimeMoreButton = new ButtonShadow();
- PrMaxLifetimeMoreButton.set("name",
- "PrMaxLifetimeMoreButton");
- gbpanel73.add(PrMaxLifetimeMoreButton);
- PrMaxLifetimeMoreButton.set("GBConstraints",
- new GBConstraints("x=2;y=19"));
- PrMaxLifetimeMoreButton.set("standard", Boolean.FALSE);
- PrMaxLifetimeMoreButton.set("text", "...");
-
- PrMaxTicketRenewalLabel = new LabelShadow();
- PrMaxTicketRenewalLabel.set("name", "PrMaxTicketRenewalLabel");
- gbpanel73.add(PrMaxTicketRenewalLabel);
- PrMaxTicketRenewalLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=21"));
- PrMaxTicketRenewalLabel.set("text",
- "Maximum Renewal (seconds):");
- PrMaxTicketRenewalLabel.set
- ("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- PrMaxRenewal = new TextFieldShadow();
- PrMaxRenewal.set("name", "PrMaxRenewal");
- gbpanel73.add(PrMaxRenewal);
- PrMaxRenewal.set("GBConstraints", new GBConstraints
- ("x=1;y=21;fill=horizontal"));
-
- PrMaxRenewalMoreButton = new ButtonShadow();
- PrMaxRenewalMoreButton.set("name", "PrMaxRenewalMoreButton");
- gbpanel73.add(PrMaxRenewalMoreButton);
- PrMaxRenewalMoreButton.set("GBConstraints", new GBConstraints
- ("x=2;y=21"));
- PrMaxRenewalMoreButton.set("standard", Boolean.FALSE);
- PrMaxRenewalMoreButton.set("text", "...");
-
- labelbar21 = new LabelBarShadow();
- labelbar21.set("name", "labelbar21");
- gbpanel73.add(labelbar21);
- labelbar21.set("GBConstraints", new GBConstraints
- ("x=0;y=23;width=3;fill=horizontal"));
-
- gbpanel17 = new GBPanelShadow();
- gbpanel17.set("name", "gbpanel17");
- gbpanel73.add(gbpanel17);
- {
- int _tmp[] = {14};
- gbpanel17.set("rowHeights", _tmp);
- }
- gbpanel17.set("GBConstraints", new GBConstraints
- ("x=0;y=25;width=3;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14};
- gbpanel17.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel17.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel17.set("columnWeights", _tmp);
- }
-
- PrDetailSave = new ButtonShadow();
- PrDetailSave.set("name", "PrDetailSave");
- gbpanel17.add(PrDetailSave);
- PrDetailSave.set("GBConstraints", new GBConstraints
- ("x=0;y=0"));
- PrDetailSave.set("text", "Save");
-
- PrDetailPrevious = new ButtonShadow();
- PrDetailPrevious.set("name", "PrDetailPrevious");
- gbpanel17.add(PrDetailPrevious);
- PrDetailPrevious.set("GBConstraints", new GBConstraints
- ("x=2;y=0"));
- PrDetailPrevious.set("text", "Previous");
-
- PrDetailNext = new ButtonShadow();
- PrDetailNext.set("name", "PrDetailNext");
- gbpanel17.add(PrDetailNext);
- PrDetailNext.set("GBConstraints", new GBConstraints("x=4;y=0"));
- PrDetailNext.set("text", "Next");
-
- PrDetailCancel = new ButtonShadow();
- PrDetailCancel.set("name", "PrDetailCancel");
- gbpanel17.add(PrDetailCancel);
- PrDetailCancel.set("GBConstraints", new GBConstraints
- ("x=6;y=0"));
- PrDetailCancel.set("text", "Cancel");
-
- gbpanel8 = new GBPanelShadow();
- gbpanel8.set("name", "gbpanel8");
- cardpanel1.add(gbpanel8);
- {
- int _tmp[] = {14};
- gbpanel8.set("rowHeights", _tmp);
- }
- gbpanel8.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel8.set("columnWidths", _tmp);
- }
- gbpanel8.set("layoutName", "Flags");
- gbpanel8.set("visible", Boolean.FALSE);
- {
- double _tmp[] = {0.0};
- gbpanel8.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel8.set("columnWeights", _tmp);
- }
-
- gbpanel90 = new GBPanelShadow();
- gbpanel90.set("name", "gbpanel90");
- gbpanel8.add(gbpanel90);
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14};
- gbpanel90.set("rowHeights", _tmp);
- }
- gbpanel90.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 14};
- gbpanel90.set("columnWidths", _tmp);
- }
- gbpanel90.set("borderRelief",
- new sunsoft.jws.visual.rt.type.ReliefEnum
- ("raised"));
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0};
- gbpanel90.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0};
- gbpanel90.set("columnWeights", _tmp);
- }
-
- PrFlagLabel = new LabelShadow();
- PrFlagLabel.set("name", "PrFlagLabel");
- gbpanel90.add(PrFlagLabel);
- PrFlagLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=1;width=2"));
- PrFlagLabel.set("text", "Principal Flags");
- PrFlagLabel.set("font",
- convert
- ("java.awt.Font",
- "name=Dialog;style=plain;size=16"));
-
- PrName3 = new LabelShadow();
- PrName3.set("name", "PrName3");
- gbpanel90.add(PrName3);
- PrName3.set("GBConstraints", new GBConstraints
- ("x=0;y=2;width=2;ipadx=146"));
- PrName3.set("text", "");
- PrName3.set("font",
- convert
- ("java.awt.Font",
- "name=Dialog;style=plain;size=14"));
-
- LabelBarSecurity = new LabelBarShadow();
- LabelBarSecurity.set("name", "LabelBarSecurity");
- gbpanel90.add(LabelBarSecurity);
- LabelBarSecurity.set("GBConstraints", new GBConstraints
- ("x=0;y=3;width=2;fill=horizontal"));
- LabelBarSecurity.set("text", "Security");
- LabelBarSecurity.set("font",
- convert
- ("java.awt.Font",
- "name=Dialog;style=italic;size=12"));
-
- PrLockAcct = new CheckboxShadow();
- PrLockAcct.set("name", "PrLockAcct");
- gbpanel90.add(PrLockAcct);
- PrLockAcct.set("GBConstraints", new GBConstraints("x=0;y=5"));
- PrLockAcct.set("text", "Disable Account");
- PrLockAcct.set("state", Boolean.TRUE);
- PrLockAcct.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("west"));
-
- PrForcePwChange = new CheckboxShadow();
- PrForcePwChange.set("name", "PrForcePwChange");
- gbpanel90.add(PrForcePwChange);
- PrForcePwChange.set("GBConstraints", new GBConstraints
- ("x=1;y=5"));
- PrForcePwChange.set("text", "Force Password change");
- PrForcePwChange.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- LabelBarTickets = new LabelBarShadow();
- LabelBarTickets.set("name", "LabelBarTickets");
- gbpanel90.add(LabelBarTickets);
- LabelBarTickets.set("GBConstraints", new GBConstraints
- ("x=0;y=7;width=2;fill=horizontal"));
- LabelBarTickets.set("text", "Tickets");
- LabelBarTickets.set("font",
- convert
- ("java.awt.Font",
- "name=Dialog;style=italic;size=12"));
-
- PrAllowPostdated = new CheckboxShadow();
- PrAllowPostdated.set("name", "PrAllowPostdated");
- gbpanel90.add(PrAllowPostdated);
- PrAllowPostdated.set("GBConstraints", new GBConstraints
- ("x=0;y=9"));
- PrAllowPostdated.set("text", "Allow Postdated Tickets");
- PrAllowPostdated.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrAllowForwardable = new CheckboxShadow();
- PrAllowForwardable.set("name", "PrAllowForwardable");
- gbpanel90.add(PrAllowForwardable);
- PrAllowForwardable.set("GBConstraints", new GBConstraints
- ("x=1;y=9"));
- PrAllowForwardable.set("text", "Allow Forwardable Tickets");
- PrAllowForwardable.set("state", Boolean.TRUE);
- PrAllowForwardable.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrAllowRenewable = new CheckboxShadow();
- PrAllowRenewable.set("name", "PrAllowRenewable");
- gbpanel90.add(PrAllowRenewable);
- PrAllowRenewable.set("GBConstraints", new GBConstraints
- ("x=0;y=11"));
- PrAllowRenewable.set("text", "Allow Renewable Tickets");
- PrAllowRenewable.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrAllowProxiable = new CheckboxShadow();
- PrAllowProxiable.set("name", "PrAllowProxiable");
- gbpanel90.add(PrAllowProxiable);
- PrAllowProxiable.set("GBConstraints", new GBConstraints
- ("x=1;y=11"));
- PrAllowProxiable.set("text", "Allow Proxiable Tickets");
- PrAllowProxiable.set("state", Boolean.TRUE);
- PrAllowProxiable.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrAllowSvr = new CheckboxShadow();
- PrAllowSvr.set("name", "PrAllowSvr");
- gbpanel90.add(PrAllowSvr);
- PrAllowSvr.set("GBConstraints", new GBConstraints("x=0;y=13"));
- PrAllowSvr.set("text", "Allow Service Tickets");
- PrAllowSvr.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("west"));
-
- LabelBarMiscellany = new LabelBarShadow();
- LabelBarMiscellany.set("name", "LabelBarMiscellany");
- gbpanel90.add(LabelBarMiscellany);
- LabelBarMiscellany.set("GBConstraints", new GBConstraints
- ("x=0;y=15;width=2;fill=horizontal"));
- LabelBarMiscellany.set("text", "Miscellaneous");
- LabelBarMiscellany.set("font",
- convert
- ("java.awt.Font",
- "name=Dialog;style=italic;size=12"));
-
- PrAllowTGT = new CheckboxShadow();
- PrAllowTGT.set("name", "PrAllowTGT");
- gbpanel90.add(PrAllowTGT);
- PrAllowTGT.set("GBConstraints", new GBConstraints("x=0;y=17"));
- PrAllowTGT.set("text", "Allow TGT-Based Authentication");
- PrAllowTGT.set("state", Boolean.TRUE);
- PrAllowTGT.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrAllowDupAuth = new CheckboxShadow();
- PrAllowDupAuth.set("name", "PrAllowDupAuth");
- gbpanel90.add(PrAllowDupAuth);
- PrAllowDupAuth.set("GBConstraints", new GBConstraints
- ("x=1;y=17"));
- PrAllowDupAuth.set("text", "Allow Duplicate Authentication");
- PrAllowDupAuth.set("state", Boolean.TRUE);
- PrAllowDupAuth.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrRequirePreAuth = new CheckboxShadow();
- PrRequirePreAuth.set("name", "PrRequirePreAuth");
- gbpanel90.add(PrRequirePreAuth);
- PrRequirePreAuth.set("GBConstraints", new GBConstraints
- ("x=0;y=19"));
- PrRequirePreAuth.set("text", "Require Preauthentication");
- PrRequirePreAuth.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- PrRequireHwPreAuth = new CheckboxShadow();
- PrRequireHwPreAuth.set("name", "PrRequireHwPreAuth");
- gbpanel90.add(PrRequireHwPreAuth);
- PrRequireHwPreAuth.set("GBConstraints", new GBConstraints
- ("x=1;y=19"));
- PrRequireHwPreAuth.set("text",
- "Require Hardware Authentication");
- PrRequireHwPreAuth.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- labelbar22 = new LabelBarShadow();
- labelbar22.set("name", "labelbar22");
- gbpanel90.add(labelbar22);
- labelbar22.set("GBConstraints", new GBConstraints
- ("x=0;y=21;width=2;fill=horizontal"));
-
- gbpanel18 = new GBPanelShadow();
- gbpanel18.set("name", "gbpanel18");
- gbpanel90.add(gbpanel18);
- {
- int _tmp[] = {14};
- gbpanel18.set("rowHeights", _tmp);
- }
- gbpanel18.set("GBConstraints", new GBConstraints
- ("x=0;y=23;width=2;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14};
- gbpanel18.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel18.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel18.set("columnWeights", _tmp);
- }
-
- PrFlagsSave = new ButtonShadow();
- PrFlagsSave.set("name", "PrFlagsSave");
- gbpanel18.add(PrFlagsSave);
- PrFlagsSave.set("GBConstraints", new GBConstraints("x=0;y=0"));
- PrFlagsSave.set("text", "Save");
-
- PrFlagsPrevious = new ButtonShadow();
- PrFlagsPrevious.set("name", "PrFlagsPrevious");
- gbpanel18.add(PrFlagsPrevious);
- PrFlagsPrevious.set("GBConstraints", new GBConstraints
- ("x=2;y=0"));
- PrFlagsPrevious.set("text", "Previous");
-
- PrFlagsNext = new ButtonShadow();
- PrFlagsNext.set("name", "PrFlagsNext");
- gbpanel18.add(PrFlagsNext);
- PrFlagsNext.set("GBConstraints", new GBConstraints
- ("x=4;y=0"));
- PrFlagsNext.set("text", "Done");
-
- PrFlagsCancel = new ButtonShadow();
- PrFlagsCancel.set("name", "PrFlagsCancel");
- gbpanel18.add(PrFlagsCancel);
- PrFlagsCancel.set("GBConstraints", new GBConstraints
- ("x=6;y=0"));
- PrFlagsCancel.set("text", "Cancel");
-
- Pollisttab = new GBPanelShadow();
- Pollisttab.set("name", "Pollisttab");
- tabbedfolder1.add(Pollisttab);
- {
- int _tmp[] = {14, 14, 14};
- Pollisttab.set("rowHeights", _tmp);
- }
- Pollisttab.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 14, 14};
- Pollisttab.set("columnWidths", _tmp);
- }
- Pollisttab.set("layoutName", "Policies");
- Pollisttab.set("visible", Boolean.FALSE);
- {
- double _tmp[] = {0.0, 0.0, 0.0};
- Pollisttab.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0};
- Pollisttab.set("columnWeights", _tmp);
- }
-
- cardpanel2 = new CardPanelShadow();
- cardpanel2.set("name", "cardpanel2");
- Pollisttab.add(cardpanel2);
- cardpanel2.set("GBConstraints", new GBConstraints
- ("x=1;y=1;fill=both"));
-
- gbpanel23 = new GBPanelShadow();
- gbpanel23.set("name", "gbpanel23");
- cardpanel2.add(gbpanel23);
- {
- int _tmp[] = {14};
- gbpanel23.set("rowHeights", _tmp);
- }
- gbpanel23.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel23.set("columnWidths", _tmp);
- }
- gbpanel23.set("layoutName", "List");
- {
- double _tmp[] = {0.0};
- gbpanel23.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel23.set("columnWeights", _tmp);
- }
-
- borderpanel7 = new BorderPanelShadow();
- borderpanel7.set("name", "borderpanel7");
- gbpanel23.add(borderpanel7);
- borderpanel7.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- borderpanel7.set("borderRelief",
- new sunsoft.jws.visual.rt.type.ReliefEnum
- ("raised"));
-
- gbpanel36 = new GBPanelShadow();
- gbpanel36.set("name", "gbpanel36");
- borderpanel7.add(gbpanel36);
- {
- int _tmp[] = {14};
- gbpanel36.set("rowHeights", _tmp);
- }
- gbpanel36.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel36.set("columnWidths", _tmp);
- }
- gbpanel36.set("layoutName", "West");
- {
- double _tmp[] = {1.0};
- gbpanel36.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0};
- gbpanel36.set("columnWeights", _tmp);
- }
-
- gbpanel37 = new GBPanelShadow();
- gbpanel37.set("name", "gbpanel37");
- borderpanel7.add(gbpanel37);
- {
- int _tmp[] = {14, 14, 14};
- gbpanel37.set("rowHeights", _tmp);
- }
- gbpanel37.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel37.set("columnWidths", _tmp);
- }
- gbpanel37.set("layoutName", "North");
- {
- double _tmp[] = {0.0, 1.0, 0.0};
- gbpanel37.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0};
- gbpanel37.set("columnWeights", _tmp);
- }
-
- PoListLabel = new LabelShadow();
- PoListLabel.set("name", "PoListLabel");
- gbpanel37.add(PoListLabel);
- PoListLabel.set("GBConstraints", new GBConstraints("x=0;y=1"));
- PoListLabel.set("text", "Policy List");
- PoListLabel.set("font",
- convert("java.awt.Font",
- "name=Dialog;style=plain;size=16"));
-
- gbpanel38 = new GBPanelShadow();
- gbpanel38.set("name", "gbpanel38");
- borderpanel7.add(gbpanel38);
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14};
- gbpanel38.set("rowHeights", _tmp);
- }
- gbpanel38.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14};
- gbpanel38.set("columnWidths", _tmp);
- }
- gbpanel38.set("layoutName", "South");
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel38.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel38.set("columnWeights", _tmp);
- }
-
- gbpanel40 = new GBPanelShadow();
- gbpanel40.set("name", "gbpanel40");
- gbpanel38.add(gbpanel40);
- {
- int _tmp[] = {14};
- gbpanel40.set("rowHeights", _tmp);
- }
- gbpanel40.set("GBConstraints", new GBConstraints
- ("x=0;y=1;width=16;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14};
- gbpanel40.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel40.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel40.set("columnWeights", _tmp);
- }
-
- PoListPatternLabel = new LabelShadow();
- PoListPatternLabel.set("name", "PoListPatternLabel");
- gbpanel40.add(PoListPatternLabel);
- PoListPatternLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=0"));
- PoListPatternLabel.set("text", "Filter:");
- PoListPatternLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PoListPattern = new TextFieldShadow();
- PoListPattern.set("name", "PoListPattern");
- gbpanel40.add(PoListPattern);
- PoListPattern.set("GBConstraints", new GBConstraints
- ("x=1;y=0;width=12;fill=horizontal"));
-
- PoListClear = new ButtonShadow();
- PoListClear.set("name", "PoListClear");
- gbpanel40.add(PoListClear);
- PoListClear.set("GBConstraints", new GBConstraints("x=13;y=0"));
- PoListClear.set("text", "Clear Filter");
-
- labelbar3 = new LabelBarShadow();
- labelbar3.set("name", "labelbar3");
- gbpanel38.add(labelbar3);
- labelbar3.set("GBConstraints", new GBConstraints
- ("x=0;y=3;width=16;fill=horizontal"));
-
- gbpanel9 = new GBPanelShadow();
- gbpanel9.set("name", "gbpanel9");
- gbpanel38.add(gbpanel9);
- {
- int _tmp[] = {14};
- gbpanel9.set("rowHeights", _tmp);
- }
- gbpanel9.set("GBConstraints", new GBConstraints
- ("x=0;y=5;width=16;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14};
- gbpanel9.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel9.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel9.set("columnWeights", _tmp);
- }
-
- PoListModify = new ButtonShadow();
- PoListModify.set("name", "PoListModify");
- gbpanel9.add(PoListModify);
- PoListModify.set("GBConstraints", new GBConstraints("x=0;y=0"));
- PoListModify.set("text", "Modify");
-
- PoListAdd = new ButtonShadow();
- PoListAdd.set("name", "PoListAdd");
- gbpanel9.add(PoListAdd);
- PoListAdd.set("GBConstraints", new GBConstraints("x=2;y=0"));
- PoListAdd.set("text", "Create New");
-
- PoListDelete = new ButtonShadow();
- PoListDelete.set("name", "PoListDelete");
- gbpanel9.add(PoListDelete);
- PoListDelete.set("GBConstraints", new GBConstraints("x=4;y=0"));
- PoListDelete.set("text", "Delete");
-
- PoListDuplicate = new ButtonShadow();
- PoListDuplicate.set("name", "PoListDuplicate");
- gbpanel9.add(PoListDuplicate);
- PoListDuplicate.set("GBConstraints", new GBConstraints
- ("x=6;y=0"));
- PoListDuplicate.set("text", "Duplicate");
-
- gbpanel41 = new GBPanelShadow();
- gbpanel41.set("name", "gbpanel41");
- borderpanel7.add(gbpanel41);
- {
- int _tmp[] = {14};
- gbpanel41.set("rowHeights", _tmp);
- }
- gbpanel41.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel41.set("columnWidths", _tmp);
- }
- gbpanel41.set("layoutName", "East");
- {
- double _tmp[] = {1.0};
- gbpanel41.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0};
- gbpanel41.set("columnWeights", _tmp);
- }
-
- gbpanel42 = new GBPanelShadow();
- gbpanel42.set("name", "gbpanel42");
- borderpanel7.add(gbpanel42);
- {
- int _tmp[] = {14};
- gbpanel42.set("rowHeights", _tmp);
- }
- gbpanel42.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel42.set("columnWidths", _tmp);
- }
- gbpanel42.set("layoutName", "Center");
- {
- double _tmp[] = {1.0};
- gbpanel42.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {1.0};
- gbpanel42.set("columnWeights", _tmp);
- }
-
- Pollist = new TextListShadow();
- Pollist.set("name", "Pollist");
- gbpanel42.add(Pollist);
- Pollist.set("items", convert("[Ljava.lang.String;", ""));
- Pollist.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- Pollist.set("allowMultipleSelections", Boolean.TRUE);
- Pollist.set("visibleRows", new Integer(15));
- Pollist.set("selectedItems", convert
- ("[Ljava.lang.String;", ""));
-
- gbpanel24 = new GBPanelShadow();
- gbpanel24.set("name", "gbpanel24");
- cardpanel2.add(gbpanel24);
- {
- int _tmp[] = {14};
- gbpanel24.set("rowHeights", _tmp);
- }
- gbpanel24.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14};
- gbpanel24.set("columnWidths", _tmp);
- }
- gbpanel24.set("layoutName", "Details");
- gbpanel24.set("visible", Boolean.FALSE);
- {
- double _tmp[] = {0.0};
- gbpanel24.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel24.set("columnWeights", _tmp);
- }
-
- gbpanel50 = new GBPanelShadow();
- gbpanel50.set("name", "gbpanel50");
- gbpanel24.add(gbpanel50);
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14};
- gbpanel50.set("rowHeights", _tmp);
- }
- gbpanel50.set("GBConstraints", new GBConstraints
- ("x=0;y=0;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14};
- gbpanel50.set("columnWidths", _tmp);
- }
- gbpanel50.set("borderRelief",
- new sunsoft.jws.visual.rt.type.ReliefEnum
- ("raised"));
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel50.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0};
- gbpanel50.set("columnWeights", _tmp);
- }
-
- PoDetailLabel = new LabelShadow();
- PoDetailLabel.set("name", "PoDetailLabel");
- gbpanel50.add(PoDetailLabel);
- PoDetailLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=1;width=4"));
- PoDetailLabel.set("text", "Policy Details");
- PoDetailLabel.set("font",
- convert("java.awt.Font",
- "name=Dialog;style=plain;size=16"));
-
- labelbar6 = new LabelBarShadow();
- labelbar6.set("name", "labelbar6");
- gbpanel50.add(labelbar6);
- labelbar6.set("GBConstraints", new GBConstraints
- ("x=0;y=2;width=4;fill=horizontal"));
-
- PoNameLabel = new LabelShadow();
- PoNameLabel.set("name", "PoNameLabel");
- gbpanel50.add(PoNameLabel);
- PoNameLabel.set("GBConstraints", new GBConstraints("x=0;y=4"));
- PoNameLabel.set("text", "Policy Name:");
- PoNameLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PoName = new TextFieldShadow();
- PoName.set("name", "PoName");
- gbpanel50.add(PoName);
- PoName.set("GBConstraints", new GBConstraints
- ("x=2;y=4;fill=horizontal"));
- PoName.set("editable", Boolean.FALSE);
-
- PoMinPwLengthLabel = new LabelShadow();
- PoMinPwLengthLabel.set("name", "PoMinPwLengthLabel");
- gbpanel50.add(PoMinPwLengthLabel);
- PoMinPwLengthLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=6"));
- PoMinPwLengthLabel.set("text", "Minimum Password Length:");
- PoMinPwLengthLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PoMinPwLength = new ChoiceShadow();
- PoMinPwLength.set("name", "PoMinPwLength");
- gbpanel50.add(PoMinPwLength);
- PoMinPwLength.set("items", convert("[Ljava.lang.String;",
- "12,11,10,9,8,7,6,5,4"));
- PoMinPwLength.set("GBConstraints", new GBConstraints
- ("x=2;y=6"));
- PoMinPwLength.set("selectedItem", "8");
-
- PoMinPwClassLabel = new LabelShadow();
- PoMinPwClassLabel.set("name", "PoMinPwClassLabel");
- gbpanel50.add(PoMinPwClassLabel);
- PoMinPwClassLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=8"));
- PoMinPwClassLabel.set("text", "Minimum Password Classes:");
- PoMinPwClassLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PoMinPwClass = new ChoiceShadow();
- PoMinPwClass.set("name", "PoMinPwClass");
- gbpanel50.add(PoMinPwClass);
- PoMinPwClass.set("items",
- convert("[Ljava.lang.String;",
- "1,2,3,4,5"));
- PoMinPwClass.set("GBConstraints", new GBConstraints("x=2;y=8"));
- PoMinPwClass.set("selectedItem", "2");
-
- PoSavedPasswordsLabel = new LabelShadow();
- PoSavedPasswordsLabel.set("name", "PoSavedPasswordsLabel");
- gbpanel50.add(PoSavedPasswordsLabel);
- PoSavedPasswordsLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=10"));
- PoSavedPasswordsLabel.set("text", "Saved Password History:");
- PoSavedPasswordsLabel.set
- ("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- PoSavedPasswords = new ChoiceShadow();
- PoSavedPasswords.set("name", "PoSavedPasswords");
- gbpanel50.add(PoSavedPasswords);
- PoSavedPasswords.set("items",
- convert("[Ljava.lang.String;",
- "1,2,3,4,5,6,7,8,9,10"));
- PoSavedPasswords.set("GBConstraints", new GBConstraints
- ("x=2;y=10"));
- PoSavedPasswords.set("selectedItem", "5");
-
- PoMinTicketLifetimeLabel = new LabelShadow();
- PoMinTicketLifetimeLabel.set("name",
- "PoMinTicketLifetimeLabel");
- gbpanel50.add(PoMinTicketLifetimeLabel);
- PoMinTicketLifetimeLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=12"));
- PoMinTicketLifetimeLabel.set
- ("text", "Minimum Ticket Lifetime (seconds):");
- PoMinTicketLifetimeLabel.set
- ("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- PoMinTicketLifetime = new TextFieldShadow();
- PoMinTicketLifetime.set("name", "PoMinTicketLifetime");
- gbpanel50.add(PoMinTicketLifetime);
- PoMinTicketLifetime.set("GBConstraints", new GBConstraints
- ("x=2;y=12;fill=horizontal"));
-
- PoMinTicketLifetimeMoreButton = new ButtonShadow();
- PoMinTicketLifetimeMoreButton.set
- ("name", "PoMinTicketLifetimeMoreButton");
- gbpanel50.add(PoMinTicketLifetimeMoreButton);
- PoMinTicketLifetimeMoreButton.set("GBConstraints",
- new GBConstraints("x=3;y=12"));
- PoMinTicketLifetimeMoreButton.set("standard", Boolean.FALSE);
- PoMinTicketLifetimeMoreButton.set("text", "...");
-
- PoMaxTicketLifetimeLabel = new LabelShadow();
- PoMaxTicketLifetimeLabel.set
- ("name", "PoMaxTicketLifetimeLabel");
- gbpanel50.add(PoMaxTicketLifetimeLabel);
- PoMaxTicketLifetimeLabel.set("GBConstraints",
- new GBConstraints("x=0;y=14"));
- PoMaxTicketLifetimeLabel.set
- ("text", "Maximum Ticket Lifetime (seconds):");
- PoMaxTicketLifetimeLabel.set
- ("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum("east"));
-
- PoMaxTicketLifetime = new TextFieldShadow();
- PoMaxTicketLifetime.set("name", "PoMaxTicketLifetime");
- gbpanel50.add(PoMaxTicketLifetime);
- PoMaxTicketLifetime.set("GBConstraints", new GBConstraints
- ("x=2;y=14;fill=horizontal"));
-
- PoMaxTicketLifetimeMoreButton = new ButtonShadow();
- PoMaxTicketLifetimeMoreButton.set
- ("name", "PoMaxTicketLifetimeMoreButton");
- gbpanel50.add(PoMaxTicketLifetimeMoreButton);
- PoMaxTicketLifetimeMoreButton.set
- ("GBConstraints", new GBConstraints("x=3;y=14"));
- PoMaxTicketLifetimeMoreButton.set("standard", Boolean.FALSE);
- PoMaxTicketLifetimeMoreButton.set("text", "...");
-
- PoReferencesLabel = new LabelShadow();
- PoReferencesLabel.set("name", "PoReferencesLabel");
- gbpanel50.add(PoReferencesLabel);
- PoReferencesLabel.set("GBConstraints", new GBConstraints
- ("x=0;y=16"));
- PoReferencesLabel.set("text", "Principals Using This Policy:");
- PoReferencesLabel.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("east"));
-
- PoReferences = new LabelShadow();
- PoReferences.set("name", "PoReferences");
- gbpanel50.add(PoReferences);
- PoReferences.set("GBConstraints", new GBConstraints
- ("x=2;y=16"));
- PoReferences.set("text", "");
- PoReferences.set("anchor",
- new sunsoft.jws.visual.rt.type.AnchorEnum
- ("west"));
-
- labelbar23 = new LabelBarShadow();
- labelbar23.set("name", "labelbar23");
- gbpanel50.add(labelbar23);
- labelbar23.set("GBConstraints", new GBConstraints
- ("x=0;y=18;width=4;fill=horizontal"));
-
- gbpanel25 = new GBPanelShadow();
- gbpanel25.set("name", "gbpanel25");
- gbpanel50.add(gbpanel25);
- {
- int _tmp[] = {14};
- gbpanel25.set("rowHeights", _tmp);
- }
- gbpanel25.set("GBConstraints", new GBConstraints
- ("x=0;y=20;width=4;fill=both"));
- {
- int _tmp[] = {14, 14, 14, 14, 14, 14, 14};
- gbpanel25.set("columnWidths", _tmp);
- }
- {
- double _tmp[] = {0.0};
- gbpanel25.set("rowWeights", _tmp);
- }
- {
- double _tmp[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
- gbpanel25.set("columnWeights", _tmp);
- }
-
- PoDetailSave = new ButtonShadow();
- PoDetailSave.set("name", "PoDetailSave");
- gbpanel25.add(PoDetailSave);
- PoDetailSave.set("GBConstraints", new GBConstraints("x=0;y=0"));
- PoDetailSave.set("text", "Save");
-
- PoDetailPrevious = new ButtonShadow();
- PoDetailPrevious.set("name", "PoDetailPrevious");
- gbpanel25.add(PoDetailPrevious);
- PoDetailPrevious.set("GBConstraints", new GBConstraints
- ("x=2;y=0"));
- PoDetailPrevious.set("text", "Previous");
-
- PoDetailDone = new ButtonShadow();
- PoDetailDone.set("name", "PoDetailDone");
- gbpanel25.add(PoDetailDone);
- PoDetailDone.set("GBConstraints", new GBConstraints("x=4;y=0"));
- PoDetailDone.set("text", "Done");
-
- PoDetailCancel = new ButtonShadow();
- PoDetailCancel.set("name", "PoDetailCancel");
- gbpanel25.add(PoDetailCancel);
- PoDetailCancel.set("GBConstraints", new GBConstraints
- ("x=6;y=0"));
- PoDetailCancel.set("text", "Cancel");
-
- menubar1 = new MenuBarShadow();
- menubar1.set("name", "menubar1");
- mainframe.add(menubar1);
- menubar1.set("helpMenu", new AMRef("Help"));
- menubar1.set("font",
- convert("java.awt.Font",
- "name=Dialog;style=plain;size=12"));
-
- File = new MenuShadow();
- File.set("name", "File");
- menubar1.add(File);
- File.set("text", "File");
- File.set("canTearOff", Boolean.FALSE);
-
- Print = new MenuShadow();
- Print.set("name", "Print");
- File.add(Print);
- Print.set("text", "Print");
- Print.set("canTearOff", Boolean.FALSE);
-
- PrintCurPr = new MenuItemShadow();
- PrintCurPr.set("name", "PrintCurPr");
- Print.add(PrintCurPr);
- PrintCurPr.set("enabled", Boolean.FALSE);
- PrintCurPr.set("text", "Current Principal");
-
- PrintCurPol = new MenuItemShadow();
- PrintCurPol.set("name", "PrintCurPol");
- Print.add(PrintCurPol);
- PrintCurPol.set("enabled", Boolean.FALSE);
- PrintCurPol.set("text", "Current Policy");
-
- PrintPrlist = new MenuItemShadow();
- PrintPrlist.set("name", "PrintPrlist");
- Print.add(PrintPrlist);
- PrintPrlist.set("text", "Principal List");
-
- PrintPollist = new MenuItemShadow();
- PrintPollist.set("name", "PrintPollist");
- Print.add(PrintPollist);
- PrintPollist.set("text", "Policy List");
-
- logout = new MenuItemShadow();
- logout.set("name", "logout");
- File.add(logout);
- logout.set("text", "Log Out");
-
- Exit = new MenuItemShadow();
- Exit.set("name", "Exit");
- File.add(Exit);
- Exit.set("text", "Exit");
-
- editMenu = new MenuShadow();
- editMenu.set("name", "editMenu");
- menubar1.add(editMenu);
- editMenu.set("text", "Edit");
- editMenu.set("canTearOff", Boolean.FALSE);
-
- editPreferences = new MenuItemShadow();
- editPreferences.set("name", "editPreferences");
- editMenu.add(editPreferences);
- editPreferences.set("text", "Properties...");
-
- menu2 = new MenuShadow();
- menu2.set("name", "menu2");
- menubar1.add(menu2);
- menu2.set("text", "Refresh");
- menu2.set("canTearOff", Boolean.FALSE);
-
- refreshPrincipals = new MenuItemShadow();
- refreshPrincipals.set("name", "refreshPrincipals");
- menu2.add(refreshPrincipals);
- refreshPrincipals.set("text", "Principal List");
-
- refreshPolicies = new MenuItemShadow();
- refreshPolicies.set("name", "refreshPolicies");
- menu2.add(refreshPolicies);
- refreshPolicies.set("text", "Policy List");
-
- Help = new MenuShadow();
- Help.set("name", "Help");
- menubar1.add(Help);
- Help.set("text", "Help");
- Help.set("canTearOff", Boolean.FALSE);
-
- browserHelp2 = new MenuItemShadow();
- browserHelp2.set("name", "browserHelp2");
- Help.add(browserHelp2);
- browserHelp2.set("text", "Help Contents");
-
- Context = new MenuItemShadow();
- Context.set("name", "Context");
- Help.add(Context);
- Context.set("text", "Context-sensitive help");
- Context.set("separator", Boolean.TRUE);
-
- About = new MenuItemShadow();
- About.set("name", "About");
- Help.add(About);
- About.set("text", "About");
-
- group.addOperations(new KdcGuiOps());
- }
-
- // methods from lib/visual/gen/methods.java
-
- /**
- * Converts a string to the specified type.
- */
- private Object convert(String type, String value) {
- return (Converter.getConverter(type).convertFromString(value));
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/Makefile b/usr/src/cmd/krb5/kadmin/gui/Makefile
deleted file mode 100644
index ad85b75dbb..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/Makefile
+++ /dev/null
@@ -1,178 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-include $(SRC)/Makefile.master
-include $(SRC)/cmd/Makefile.cmd
-
-GUIDIR=$(SRC)/cmd/krb5/kadmin/gui
-
-TOGETHER= KdcGui KdcGuiMain KdcGuiOps KdcGuiRoot
-TOGETHERJ=$(TOGETHER:%=%.java)
-TOGETHERC=$(TOGETHER:%=classdir/%.class)
-
-OTHER=GuiResource GuiResource_en_US HelpData HelpData_en_US
-OTHERJ=$(OTHER:%=%.java)
-OTHERC=$(OTHER:%=classdir/%.class)
-
-CLASSES=$(TOGETHER) $(OTHER)
-JFILES=$(CLASSES:%=%.java)
-CLFILES=$(CLASSES:%=%.class)
-
-GKADMIN=gkadmin
-JARFILE=gkadmin.jar
-VISLIB=visualrt.jar
-HTML=HelpIndex.html
-MSGBUNDLEDIR=$(ROOT)/usr/lib/krb5/ListResourceBundle
-
-NONEXFILEMODE=444
-
-#
-# Set $KRB5GUILIB
-#
-KRB5GUILIB= $(ROOT)/usr/lib/krb5
-
-$(KRB5GUILIB)/$(JARFILE) := FILEMODE= 444
-$(KRB5GUILIB)/$(VISLIB) := FILEMODE= 444
-$(KRB5GUILIB)/$(HTML) := FILEMODE= 444
-
-$(KRB5GUILIB)/%: %
- $(INS.file)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-CLASSPATH=$(GUIDIR):$(GUIDIR)/classdir:$(GUIDIR)/util:$(GUIDIR)/dataclasses:$(GUIDIR)/dchanger:$(GUIDIR)/native:$(GUIDIR)/visualrt:$(GUIDIR)/visualrt.jar:$(JAVA_ROOT)/jre/lib/rt.jar:$(JAVA_ROOT)/jre/lib/i18n.jar
-
-VISRT_CLASSPATH=$(GUIDIR)/visualrt:$(JAVA_ROOT)/jre/lib/rt.jar:$(JAVA_ROOT)/jre/lib/i18n.jar
-
-classdir/%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d classdir -classpath $(CLASSPATH) $<
-
-SUBDIRS= util dataclasses dchanger native
-VISDIR= visualrt
-
-def := TARGET= def
-all := TARGET= all
-install := TARGET= install
-install_h := TARGET= install_h
-clean := TARGET= clean
-clobber := TARGET= clobber
-javadoc := TARGET= javadoc
-lint := TARGET= lint
-clean.lint := TARGET= clean.lint
-check := TARGET= check
-_msg := TARGET= _msg
-
-.KEEP_STATE:
-
-all: $(VISDIR) .WAIT KdcGui.java classdir $(SUBDIRS) all_local
-
-all_local: $(TOGETHERC) $(OTHERC) $(KRB5SBIN)/$(GKADMIN) \
- $(KRB5GUILIB)/$(JARFILE) $(KRB5GUILIB)/$(VISLIB) \
- $(KRB5GUILIB)/$(HTML)
-
-$(TOGETHERC): $(TOGETHERJ) $(VISLIB)
- $(JAVAC) $(JAVAFLAGS) -d classdir -classpath $(CLASSPATH) $(TOGETHERJ)
-
-$(VISLIB):
- cd $(VISDIR); $(MAKE) CLASSPATH=$(VISRT_CLASSPATH) install
-
-$(GKADMIN): $(GKADMIN).template
- cat $? | sed -e 's/version_number/$(SEAM_VERS)/' > $@
-
-classdir: FRC
- mkdir -p classdir
-
-$(VISDIR): FRC
- cd $@; $(MAKE) CLASSPATH=$(VISRT_CLASSPATH) $(TARGET)
-
-$(SUBDIRS): FRC
- cd $@; $(MAKE) CLASSPATH=$(CLASSPATH) $(TARGET)
-
-GuiResource_en_US.java: GuiResource.java
- cat $? | sed -e 's/GuiResource/GuiResource_en_US/' > $@
-
-HelpData_en_US.java: HelpData.java
- cat $? | sed -e 's/HelpData/HelpData_en_US/' > $@
-
-$(JARFILE): classdir/*.class
- -$(RM) $(JARFILE)
- (cd classdir; $(JAR) cf ../$(JARFILE) *.class)
-
-KdcGui.java: KdcGuiMain.java KdcGuiOps.java KdcGuiRoot.java
-
-install: $(VISDIR) .WAIT classdir $(SUBDIRS) install_local
-
-lint: native
-
-ROOTSBINPROGS= $(KRB5SBIN)/$(GKADMIN)
-LIBPROGS= $(JARFILE) $(VISLIB) $(GIF) $(HTML)
-ROOTLIBPROGS= $(LIBPROGS:%=$(KRB5LIB)/%)
-$(ROOTLIBPROGS):= FILEMODE = 444
-
-install_local: all_local
-
-_msg: $(MSGBUNDLEDIR) $(MSGBUNDLEDIR)/GuiResource.java $(MSGBUNDLEDIR)/HelpData.java
-
-$(MSGBUNDLEDIR)/GuiResource.java $(MSGBUNDLEDIR)/HelpData.java:= FILEMODE = 444
-
-$(MSGBUNDLEDIR)/%: %
- $(INS.file)
-
-$(MSGBUNDLEDIR):
- $(INS.dir)
-
-javadoc:
- $(RM) -rf javadoc
- mkdir javadoc
- $(JAVADOC) -classpath $(CLASSPATH) -d javadoc *.java \
- dataclasses/*.java dchanger/*.java native/*.java util/*.java
- cd visualrt ; $(MAKE) CLASSPATH=$(VISRT_CLASSPATH) $@
-
-test: all
- /bin/env \
- LD_LIBRARY_PATH=/usr/java/lib:/usr/dt/lib:$(SRC)/cmd/kadmin/gui/native \
- /usr/bin/java -classpath \
- .:classdir:native:$(VISLIB):)$(ROOT)/usr/java/lib/rt.jar \
- KdcGuiMain &
-
-echo:
- @echo $(CLASSES)
- @echo $(JFILES)
- @echo $(CLFILES)
- @echo $(SUFFIXES)
-
-clobber: $(VISDIR) $(SUBDIRS) clobber_local
- -$(RM) visualrt.jar
- -$(RM) -rf javadoc
-
-clean: $(VISDIR) $(SUBDIRS) clean_local
-
-clobber_local: clean_local
-
-clean_local:
- $(RM) classdir/*.class $(JARFILE) $(GKADMIN) GuiResource_en_US.java HelpData_en_US.java
-
-FRC:
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Defaults.java b/usr/src/cmd/krb5/kadmin/gui/dataclasses/Defaults.java
deleted file mode 100644
index e22706033b..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Defaults.java
+++ /dev/null
@@ -1,838 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
-import java.text.*;
-import java.io.*;
-
-/**
- * Defaults class stores all defaults that are recorded locally on the
- * client side. It is also resonsible for showing the DefaultsFrame
- * which allows the user to see and change these values.
- */
-public class Defaults {
-
- // These gui components are the actual components that go on the editing frame
- // that allows the user to change the defaults. The reason they are public is
- // that they need to be accessible to KdcGui so that it can set up the
- // listeners for them in setupDefaultsNormalListeners() and
- // setupDefaultsHelpListeners().
- public Checkbox disableAccount;
- public Checkbox forcePasswordChange;
- public Checkbox allowPostdatedTix;
- public Checkbox allowForwardableTix;
- public Checkbox allowRenewableTix;
- public Checkbox allowProxiableTix;
- public Checkbox allowServiceTix;
- public Checkbox allowTGTAuth;
- public Checkbox allowDupAuth;
- public Checkbox requirePreauth;
- public Checkbox requireHWAuth;
-
- public Checkbox serverSide;
- public TextField maxTicketLife;
- public TextField maxTicketRenewableLife;
- public TextField accountExpiryDate;
-
- public Label maxTicketLifeLabel;
- public Label maxTicketRenewableLifeLabel;
- public Label accountExpiryDateLabel;
-
- public Checkbox showLists;
- public Checkbox staticLists;
- public TextField cacheTime;
-
- public Label cacheTimeLabel;
-
- public Button lifeMoreButton;
- public Button renewalMoreButton;
- public Button dateMoreButton;
- public Button cacheMoreButton;
-
- public Button saveButton;
- public Button applyButton;
- public Button cancelButton;
-
- public MenuItem csHelp;
-
- // These data items correspond to fields in struct struct
- // _kadm5_config_params
- private Flags flags;
-
- private boolean serverSideValue;
- private int maxTicketLifeValue;
- private int maxTicketRenewableLifeValue;
- private Date accountExpiryDateValue;
-
- private boolean showListsValue;
- private boolean staticListsValue;
- private long cacheTimeValue;
-
- private String defaultsFile;
- private Color background;
-
- private EditingFrame frame = null;
-
- private boolean helpMode = false;
-
- // For I18N
- private static DateFormat df;
- private static NumberFormat nf;
- private static ResourceBundle rb;
- // no help data since help is handled by KdcGui class
-
- private static String neverString;
-
- // For debugging the window arrangement
-
- Color SEPERATOR_COLOR = Color.blue;
- Color CHECKBOX_COLOR = Color.orange;
- Color LABEL_COLOR = Color.pink;
- Color PANEL_COLOR1 = Color.lightGray;
- Color PANEL_COLOR2 = Color.darkGray;
-
- /**
- * Constructor for Defaults.
- * @param defaultsFile the file from which to read the defaults.
- */
- Defaults(String defaultsFile, Color background) {
- this.defaultsFile = defaultsFile;
- this.background = background;
- flags = new Flags();
- serverSideValue = true;
- maxTicketLifeValue = 144000;
- maxTicketRenewableLifeValue = 144000;
- // set expiry to now + one year
- Calendar c = Calendar.getInstance();
- c.roll(Calendar.YEAR, true);
- accountExpiryDateValue = c.getTime();
- showListsValue = true;
- staticListsValue = false;
- cacheTimeValue = 300;
- readFromFile();
- }
-
- /**
- * Constructor for Defaults.
- * @param old an existing defaults object to clone
- */
- Defaults(Defaults old) {
- defaultsFile = old.defaultsFile;
- background = old.background;
- flags = new Flags(old.flags.getBits());
-
- maxTicketLifeValue = old.maxTicketLifeValue;
- maxTicketRenewableLifeValue = old.maxTicketRenewableLifeValue;
- accountExpiryDateValue = old.accountExpiryDateValue;
- showListsValue = old.showListsValue;
- staticListsValue = old.staticListsValue;
- cacheTimeValue = old.cacheTimeValue;
- }
-
- public void restoreValues(Defaults old) {
- flags = new Flags(old.flags.getBits());
- maxTicketLifeValue = old.maxTicketLifeValue;
- maxTicketRenewableLifeValue = old.maxTicketRenewableLifeValue;
- accountExpiryDateValue = old.accountExpiryDateValue;
- showListsValue = old.showListsValue;
- staticListsValue = old.staticListsValue;
- cacheTimeValue = old.cacheTimeValue;
- updateGuiComponents();
- }
-
- /**
- * Returns a gui Frame with the defaults on it for editing.
- */
- public Frame getEditingFrame() {
- if (frame == null) {
- frame = new EditingFrame();
- updateGuiComponents();
- frame.setSize(500, 680);
- frame.setResizable(true);
- frame.setBackground(background);
- }
- return frame;
- }
-
- /**
- * Reread the defaults file in case it has changed, and refresh view
- */
- public void refreshDefaults() {
- readFromFile();
- updateGuiComponents();
- }
-
-
- /**
- * Update the duration and date text fields from gui.
- * Check to see if any one of them had a parse error.
- * @return true if all is ok, false if an error occurs
- */
- // Quits as soon as the first error is detected. The method that
- // detects the error also shows a dialog box with a message.
- public final boolean updateFromGui() {
- return (setMaxTicketLife() && setMaxTicketRenewableLife()
- && setAccountExpiryDate() && setCacheTime());
- }
-
- boolean setServerSide() {
- serverSideValue = serverSide.getState();
- enableTicketLifeFields(serverSideValue);
- return true;
- }
-
- private void enableTicketLifeFields(boolean fromServer) {
- maxTicketLifeLabel.setEnabled(!fromServer);
- maxTicketLife.setEnabled(!fromServer);
- maxTicketRenewableLifeLabel.setEnabled(!fromServer);
- maxTicketRenewableLife.setEnabled(!fromServer);
- lifeMoreButton.setEnabled(!fromServer);
- renewalMoreButton.setEnabled(!fromServer);
- }
-
- boolean setMaxTicketLife() {
- try {
- maxTicketLifeValue =
- nf.parse(maxTicketLife.getText().trim()).intValue();
- } catch (ParseException e) {
- KdcGui.showDataFormatError(maxTicketLife, KdcGui.DURATION_DATA);
- return false;
- }
-
- return true;
- }
-
- /**
- * Sets the maxTicketRenewable field value from the corresponding text
- * field.
- */
- boolean setMaxTicketRenewableLife() {
- try {
- maxTicketRenewableLifeValue =
- nf.parse(maxTicketRenewableLife.getText().trim()).intValue();
- } catch (ParseException e) {
- KdcGui.showDataFormatError(maxTicketRenewableLife,
- KdcGui.DURATION_DATA);
- return false;
- }
-
- return true;
- }
-
- /**
- * Sets the accountExpiryDate field value from the corresponding text field.
- */
- boolean setAccountExpiryDate() {
- String value = accountExpiryDate.getText().trim();
- if (value.equalsIgnoreCase(neverString))
- accountExpiryDateValue = new Date(0);
- else {
- try {
- accountExpiryDateValue = df.parse(value);
- } catch (ParseException e) {
- KdcGui.showDataFormatError(accountExpiryDate, KdcGui.DATE_DATA);
- return false;
- } catch (NullPointerException e) {
- // gets thrown when parse string begins with text
- // probable JDK bug
- KdcGui.showDataFormatError(accountExpiryDate, KdcGui.DATE_DATA);
- return false;
- } catch (IndexOutOfBoundsException e) {
- // gets thrown when parse string contains only one number
- // probable JDK bug
- KdcGui.showDataFormatError(accountExpiryDate, KdcGui.DATE_DATA);
- return false;
- }
- }
- return true;
- }
-
- /**
- * Sets the cacheTime field value from the corresponding text field.
- */
- boolean setCacheTime() {
- try {
- cacheTimeValue = nf.parse(cacheTime.getText().trim()).intValue();
- } catch (ParseException e) {
- KdcGui.showDataFormatError(cacheTime, KdcGui.DURATION_DATA);
- return false;
- }
- return true;
- }
-
- boolean setShowLists() {
- showListsValue = showLists.getState();
- return true;
- }
-
- boolean setStaticLists() {
- staticListsValue = staticLists.getState();
- enableCacheTimeFields(staticListsValue);
- return true;
- }
-
- private void enableCacheTimeFields(boolean staticLists) {
- cacheTime.setEnabled(!staticLists);
- cacheTimeLabel.setEnabled(!staticLists);
- cacheMoreButton.setEnabled(!staticLists);
- }
-
- public boolean getServerSide() {
- return serverSideValue;
- }
-
- public Integer getMaxTicketLife() {
- return new Integer(maxTicketLifeValue);
- }
-
- public Integer getMaxTicketRenewableLife() {
- return new Integer(maxTicketRenewableLifeValue);
- }
-
- public Date getAccountExpiryDate() {
- return new Date(accountExpiryDateValue.getTime());
- }
-
- public boolean getShowLists() {
- return showListsValue;
- }
-
- public boolean getStaticLists() {
- return staticListsValue;
- }
-
- public boolean getCacheLists() {
- return staticListsValue;
- }
-
- public long getCacheTime() {
- return cacheTimeValue;
- }
-
- public Flags getFlags() {
- return flags;
- }
-
- /**
- * Toggles the value of the bit specified.
- */
- public void toggleFlag(int bitmask) {
- flags.toggleFlags(bitmask);
- }
-
- public void close(boolean save) {
- if (frame != null)
- frame.close(save);
- }
-
-
- /**
- * Saves the fields onto a file.
- */
- private void saveToFile() {
- try {
- PrintWriter outFile = null;
- outFile = new PrintWriter(
- new BufferedWriter(new FileWriter(defaultsFile)));
- outFile.println(flags.getBits());
- outFile.println(maxTicketRenewableLifeValue);
- outFile.println(df.format(accountExpiryDateValue));
- outFile.println((new Boolean(showListsValue)).toString());
- outFile.println((new Boolean(staticListsValue)).toString());
- outFile.println((new Long(cacheTimeValue)).toString());
- outFile.println(serverSideValue);
- outFile.println(maxTicketLifeValue);
- outFile.flush();
- outFile.close();
- } catch (IOException e) { /* xxx: warn user */ }
- }
-
- /**
- * Reads the fields from a file.
- */
- private void readFromFile() {
- try {
- BufferedReader inFile = null;
- inFile = new BufferedReader(new FileReader(defaultsFile));
- flags = new Flags(new Integer(inFile.readLine()).intValue());
- maxTicketRenewableLifeValue =
- new Integer(inFile.readLine()).intValue();
- accountExpiryDateValue = df.parse(inFile.readLine());
- String s;
- s = inFile.readLine();
- if (s == null)
- showListsValue = true;
- else
- showListsValue = (new Boolean(s)).booleanValue();
- s = inFile.readLine();
- if (s == null)
- staticListsValue = false;
- else
- staticListsValue = (new Boolean(s)).booleanValue();
- s = inFile.readLine();
- if (s == null)
- cacheTimeValue = 300;
- else try {
- cacheTimeValue = nf.parse(s).longValue();
- } catch (ParseException e) {
- cacheTimeValue = 300;
- }
- serverSideValue = new Boolean(inFile.readLine()).booleanValue();
- maxTicketLifeValue = new Integer(inFile.readLine()).intValue();
- } catch (FileNotFoundException e) {
- /* default values. new file will be created automatically. */}
- catch (IOException e) { /* will create new one */}
- catch (ParseException e) { /* leave default values in */}
- catch (NumberFormatException e) { /* leave default values in */}
- catch (NullPointerException e) { /* leave default values in */}
- catch (StringIndexOutOfBoundsException e) {
- /* leave default values in */}
- }
-
- /**
- * Sets the value of the gui components from the instance variables
- * that get filled from the defaultsFile.
- */
- public void updateGuiComponents() {
- if (frame == null)
- getEditingFrame();
- else {
- updateFlags();
- serverSide.setState(serverSideValue);
- enableTicketLifeFields(serverSideValue);
- maxTicketLife.setText(nf.format(maxTicketLifeValue));
- maxTicketRenewableLife.setText(
- nf.format(maxTicketRenewableLifeValue));
- String text = (accountExpiryDateValue.getTime() == 0 ? neverString
- : df.format(accountExpiryDateValue));
- accountExpiryDate.setText(text);
- showLists.setState(showListsValue);
- staticLists.setState(staticListsValue);
- enableCacheTimeFields(staticListsValue);
- cacheTime.setText((new Long(cacheTimeValue)).toString());
- }
- }
-
- private void updateFlags() {
- disableAccount.setState(flags.getFlag(Flags.DISALLOW_ALL_TIX));
- forcePasswordChange.setState(flags.getFlag(Flags.REQUIRES_PWCHANGE));
- allowPostdatedTix.setState(!flags.getFlag(Flags.DISALLOW_POSTDATED));
- allowForwardableTix.setState(!flags.getFlag(
- Flags.DISALLOW_FORWARDABLE));
- allowRenewableTix.setState(!flags.getFlag(Flags.DISALLOW_RENEWABLE));
- allowProxiableTix.setState(!flags.getFlag(Flags.DISALLOW_PROXIABLE));
- allowServiceTix.setState(!flags.getFlag(Flags.DISALLOW_SVR));
- allowTGTAuth.setState(!flags.getFlag(Flags.DISALLOW_TGT_BASED));
- allowDupAuth.setState(!flags.getFlag(Flags.DISALLOW_DUP_SKEY));
- requirePreauth.setState(flags.getFlag(Flags.REQUIRE_PRE_AUTH));
- requireHWAuth.setState(flags.getFlag(Flags.REQUIRE_HW_AUTH));
- }
-
- /**
- * Call rb.getString(), but catch exception and return English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
- /*
- **********************************************
- * I N N E R C L A S S E S
- **********************************************
- */
-
- private class EditingFrame extends Frame {
- public EditingFrame() {
- super(getString("Properties"));
- setLayout(new GridBagLayout());
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- Label l;
- l = new Label(getString("Defaults for New Principals"),
- Label.CENTER);
- l.setFont(new Font("Dialog", Font.PLAIN, 16));
- // l.setBackground(LABEL_COLOR);
- gbc.insets = new Insets(10, 10, 0, 10);
- add(l, gbc);
- addFlags();
- gbc.insets = new Insets(10, 10, 10, 10);
- add(new LineSeparator(), gbc);
- addTextFields();
- add(new LineSeparator(), gbc);
-
- gbc.insets = new Insets(0, 10, 10, 10);
- l = new Label(getString("List Controls"), Label.CENTER);
- l.setFont(new Font("Dialog", Font.PLAIN, 16));
-
- add(l, gbc);
- gbc.insets = new Insets(0, 10, 10, 10);
- add(new LineSeparator(), gbc);
- addListFields();
- addButtons();
- addWindowListener(new WindowCloseListener());
- addHelpMenu();
- }
-
- /**
- * Helper method for constructor to add checkboxes and labels for
- * flags.
- */
- private void addFlags() {
- Panel p = new Panel();
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.insets = new Insets(0, 10, 0, 10);
- p.setLayout(new GridBagLayout());
- add(p, gbc);
-
- disableAccount = new Checkbox();
- forcePasswordChange = new Checkbox();
- allowPostdatedTix = new Checkbox();
- allowForwardableTix = new Checkbox();
- allowRenewableTix = new Checkbox();
- allowProxiableTix = new Checkbox();
- allowServiceTix = new Checkbox();
- allowTGTAuth = new Checkbox();
- allowDupAuth = new Checkbox();
- requirePreauth = new Checkbox();
- requireHWAuth = new Checkbox();
-
- addSeperatorPanel(getString("Security"), p);
-
- gbc = new GridBagConstraints();
- gbc.anchor = GridBagConstraints.WEST;
-
- addFlag(disableAccount,
- Flags.DISALLOW_ALL_TIX, p, gbc, false);
- addFlag(forcePasswordChange,
- Flags.REQUIRES_PWCHANGE, p, gbc, true);
-
- addSeperatorPanel(getString("Ticket"), p);
- addFlag(allowPostdatedTix,
- Flags.DISALLOW_POSTDATED, p, gbc, false);
- addFlag(allowForwardableTix,
- Flags.DISALLOW_FORWARDABLE, p, gbc, true);
- addFlag(allowRenewableTix,
- Flags.DISALLOW_RENEWABLE, p, gbc, false);
- addFlag(allowProxiableTix,
- Flags.DISALLOW_PROXIABLE, p, gbc, true);
- addFlag(allowServiceTix,
- Flags.DISALLOW_SVR, p, gbc, true);
-
- addSeperatorPanel(getString("Miscellaneous"), p);
- addFlag(allowTGTAuth,
- Flags.DISALLOW_TGT_BASED, p, gbc, false);
- addFlag(allowDupAuth,
- Flags.DISALLOW_DUP_SKEY, p, gbc, true);
- addFlag(requirePreauth,
- Flags.REQUIRE_PRE_AUTH, p, gbc, false);
- addFlag(requireHWAuth,
- Flags.REQUIRE_HW_AUTH, p, gbc, true);
- }
-
- /**
- * Helper method for addFlags. It adds a line seperator with text
- * inside it.
- * @param text the text to put in the line seperator
- * @p the panel to which this line seperator must be added
- */
- private void addSeperatorPanel(String text, Panel p) {
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.insets = new Insets(7, 0, 7, 0);
-
- Panel subP = new Panel();
- // subP.setBackground(SEPERATOR_COLOR);
- subP.setLayout(new GridBagLayout());
- p.add(subP, gbc);
-
- gbc = new GridBagConstraints();
- gbc.fill = GridBagConstraints.BOTH;
- gbc.weightx = gbc.weighty = .02;
- subP.add(new LineSeparator(), gbc);
-
- gbc.weightx = gbc.weighty = .001;
- gbc.fill = GridBagConstraints.NONE;
- gbc.anchor = GridBagConstraints.EAST;
- Label l = new Label(text);
- l.setFont(new Font("Dialog", Font.ITALIC, 12));
- subP.add(l, gbc);
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.weightx = gbc.weighty = 1;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.anchor = GridBagConstraints.WEST;
- subP.add(new LineSeparator(), gbc);
- }
-
- /**
- * Helper method for addFlags. It adds the label and the checkbox
- * corresponding to the flag specified by the single bit that is set
- * in mask.
- * @param cb the Checkbox which has to be added corresponding to
- * this flag
- * @param mask the flag
- * @param p the panel to add this to
- */
- private void addFlag(Checkbox cb, int mask, Panel p,
- GridBagConstraints gbc, boolean eol) {
- // cb.setBackground(CHECKBOX_COLOR);
- cb.setState(flags.getFlag(mask));
- cb.setLabel(Flags.getLabel(mask));
- if (eol)
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- else
- gbc.gridwidth = 1;
- p.add(cb, gbc);
- }
-
- /**
- * Helper method for constructor - adds Max ticket time, max renewal and def
- * account expiry.
- */
- private void addTextFields() {
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
-
- Panel p = new Panel();
- // p.setBackground(PANEL_COLOR1);
- p.setLayout(new GridBagLayout());
- gbc.fill = GridBagConstraints.VERTICAL;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.anchor = GridBagConstraints.WEST;
- gbc.insets = new Insets(0, 10, 0, 10);
- add(p, gbc);
-
- gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
-
- gbc.anchor = GridBagConstraints.EAST;
- gbc.weightx = 0;
- gbc.gridx = 0;
- gbc.gridy = 0;
- accountExpiryDateLabel = new Label(getString("Account Expiry:"));
- // accountExpiryDateLabel.setBackground(LABEL_COLOR);
- p.add(accountExpiryDateLabel, gbc);
- gbc.gridy = 2;
- maxTicketLifeLabel =
- new Label(getString("Maximum Ticket Lifetime (seconds):"));
- // maxTicketLifeLabel.setBackground(LABEL_COLOR);
- p.add(maxTicketLifeLabel, gbc);
- gbc.gridy = 3;
- maxTicketRenewableLifeLabel =
- new Label(getString("Maximum Ticket Renewal (seconds):"));
- // maxTicketRenewableLifeLabel.setBackground(LABEL_COLOR);
- p.add(maxTicketRenewableLifeLabel, gbc);
-
- gbc.gridx = 1;
- gbc.gridy = 0;
- gbc.fill = GridBagConstraints.NONE;
- gbc.anchor = GridBagConstraints.WEST;
- accountExpiryDate = new TextField("1-Jan-70 00:00:00 PM");
- accountExpiryDate.setColumns(22);
- p.add(accountExpiryDate, gbc);
- gbc.gridy = 2;
- maxTicketLife = new TextField("144000");
- maxTicketLife.setColumns(22);
- p.add(maxTicketLife, gbc);
- gbc.gridy = 3;
- maxTicketRenewableLife = new TextField("144000");
- maxTicketRenewableLife.setColumns(22);
- p.add(maxTicketRenewableLife, gbc);
-
- gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 0;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.anchor = GridBagConstraints.WEST;
- gbc.gridx = 2;
- gbc.gridy = 0;
- dateMoreButton = new Button("...");
- p.add(dateMoreButton, gbc);
- gbc.gridy = 2;
- lifeMoreButton = new Button("...");
- p.add(lifeMoreButton, gbc);
- gbc.gridy = 3;
- renewalMoreButton = new Button("...");
- p.add(renewalMoreButton, gbc);
-
- serverSide = new Checkbox();
- // serverSide.setBackground(CHECKBOX_COLOR);
- serverSide.setLabel(getString(
- "Let the KDC control the ticket lifetime values"));
-
- gbc = new GridBagConstraints();
- gbc.anchor = GridBagConstraints.WEST;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.gridx = 0;
- gbc.gridy = 1;
- p.add(serverSide, gbc);
-
- }
-
- private void addListFields() {
- Panel p = new Panel();
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
- gbc.fill = GridBagConstraints.VERTICAL;
- gbc.anchor = GridBagConstraints.WEST;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- // p.setBackground(PANEL_COLOR1);
- gbc.insets = new Insets(0, 10, 0, 10);
- p.setLayout(new GridBagLayout());
- add(p, gbc);
-
- gbc = new GridBagConstraints();
- gbc.anchor = GridBagConstraints.WEST;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- showLists = new Checkbox();
- // showLists.setBackground(CHECKBOX_COLOR);
- showLists.setLabel(getString("Show Lists"));
- p.add(showLists, gbc);
-
- gbc.gridwidth = 1;
- gbc.anchor = GridBagConstraints.EAST;
- staticLists = new Checkbox();
- // staticLists.setBackground(CHECKBOX_COLOR);
- staticLists.setLabel(getString("Cache Lists Forever"));
- p.add(staticLists, gbc);
-
- gbc.anchor = GridBagConstraints.EAST;
- cacheTimeLabel = new Label(getString("List Cache Timeout (seconds):"));
- // cacheTimeLabel.setBackground(Color.green);
- p.add(cacheTimeLabel, gbc);
-
- gbc.anchor = GridBagConstraints.WEST;
- cacheTime = new TextField("300", 8);
- // cacheTime.setBackground(Color.cyan);
- p.add(cacheTime, gbc);
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.weightx = gbc.weighty = 0;
- cacheMoreButton = new Button("...");
- p.add(cacheMoreButton, gbc);
- }
-
-
- /**
- * Helper method for constructor - adds Save and Cancel
- * buttons.
- */
- private void addButtons() {
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
-
- Panel p = new Panel();
- p.setLayout(new GridBagLayout());
- gbc.fill = GridBagConstraints.BOTH;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.insets = new Insets(10, 10, 10, 10);
- add(new LineSeparator(), gbc);
- gbc.insets = new Insets(0, 0, 10, 0);
- add(p, gbc);
-
- gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
-
- saveButton = new Button(getString("Save"));
- p.add(saveButton, gbc);
- applyButton = new Button(getString("Apply"));
- p.add(applyButton, gbc);
- cancelButton = new Button(getString("Cancel"));
- p.add(cancelButton, gbc);
- }
-
- private void addHelpMenu() {
- MenuBar mb = new MenuBar();
- setMenuBar(mb);
-
- Menu m = new Menu(getString("Help"));
- mb.setHelpMenu(m);
-
- csHelp = new MenuItem(getString("Context-Sensitive Help"));
- m.add(csHelp);
- }
-
- /**
- * Decides whether to save/discard edits and then closes
- * window. If errors exist in the values entered in the fields, then
- * it will not exit.
- */
- public void close(boolean save) {
- if (save) {
- if (!Defaults.this.updateFromGui())
- return;
- else
- Defaults.this.saveToFile();
- }
- setVisible(false);
- }
-
- // Listeners for the gui components:
- private class WindowCloseListener extends WindowAdapter {
- public void windowClosing(WindowEvent e) {
- close(false);
- }
- }
-
- } // class EditingFrame
-
- public static void main(String argv[]) {
- Defaults d = new Defaults("SomeFile", Color.white);
- Frame f = d.getEditingFrame();
- d.showLists.setSize(new Dimension(18, 22));
- d.staticLists.setSize(new Dimension(18, 22));
- f.setVisible(true);
- System.out.println(d.disableAccount.getSize().toString()); // XXX
- System.out.println(d.showLists.getSize().toString()); // XXX
- }
-
- static {
- df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
- DateFormat.MEDIUM);
- nf = NumberFormat.getInstance();
- rb = ResourceBundle.getBundle("GuiResource" /* NOI18N */);
- neverString = getString("Never");
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Filter.java b/usr/src/cmd/krb5/kadmin/gui/dataclasses/Filter.java
deleted file mode 100644
index b51e808b91..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Filter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-//
-// Filter according to pattern and sort a string array
-//
-
-import java.util.Vector;
-import java.util.Date;
-
-public class Filter {
- public String[] out;
-
- public Filter(String[] list, String pattern) {
- if (pattern == "") {
- out = list;
- } else {
- // Date pdateBefore = new Date();
- Vector v = new Vector(10, 10);
- for (int i = 0; i < list.length; i++) {
- if (list[i].indexOf(pattern) >= 0)
- v.addElement(new String(list[i]));
- }
- String[] plist = new String[v.size()];
- for (int i = 0; i < v.size(); i++) {
- plist[i] = (String)v.elementAt(i);
- // System.out.println(Plist[i]+" ");
- }
- out = plist;
- // Date pdateAfter = new Date();
- // long diff = pdateAfter.getTime() - pdateBefore.getTime();
- // String t = (new Long(diff)).toString();
- // System.out.println(" Filtered list in "+t+" ms");
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Flags.java b/usr/src/cmd/krb5/kadmin/gui/dataclasses/Flags.java
deleted file mode 100644
index c3d00a5c96..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Flags.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-import java.util.ResourceBundle;
-import java.util.MissingResourceException;
-
-/**
- * The Flags class stores all flags that might pertain to a
- * Principal.
- */
-
-//XXX: Move this to a java.util.BitSet model later on.
-public class Flags {
-
- private int flags = 0;
-
- private static int allOnes = 0xFFFF;
-
- public static final int DISALLOW_POSTDATED = 1;
- public static final int DISALLOW_FORWARDABLE = 2;
- public static final int DISALLOW_TGT_BASED = 4;
- public static final int DISALLOW_RENEWABLE = 8;
- public static final int DISALLOW_PROXIABLE = 16;
- public static final int DISALLOW_DUP_SKEY = 32;
- public static final int DISALLOW_ALL_TIX = 64;
- public static final int REQUIRE_PRE_AUTH = 128;
- public static final int REQUIRE_HW_AUTH = 256;
- public static final int REQUIRES_PWCHANGE = 512;
- public static final int DISALLOW_SVR = 4096;
- // public static final int MASK = 65535 - 1024 - 2048 - 32678;
-
- private static int bitfields[] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
- 4096};
-
- private static String flagNames[] = {"Allow Postdated Tickets",
- "Allow Forwardable Tickets",
- "Allow TGT-Based Authentication",
- "Allow Renewable Tickets",
- "Allow Proxiable Tickets",
- "Allow Duplicate Authentication",
- "Disable Account",
- "Require Preauthentication",
- "Require Hardware Preauthentication",
- "Require Password Change",
- "Allow Service Tickets"};
-
- // For I18N
- private static ResourceBundle rb =
- ResourceBundle.getBundle("GuiResource" /* NOI18N */);
-
- /**
- * Constructor for Flags. Sets all flags to false;
- */
- // Required since non-default constructor is used.
- public Flags() {
- }
-
- /**
- * Constructor for Flags.
- * @param flags an integer where the bit positions determined by the
- * static masks determine the value of that flag.
- */
- public Flags(int flags) {
- this.flags = flags;
- }
-
- /**
- * Call rb.getString(), but catch exception and return English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
- /**
- * Returns a label for the flag corresponding to the given
- * bitfield.
- * @param bitfield an integer chosen from the static list of masks
- * in this class to indicate a particular flag.
- * @return a String containing the label for the flag.
- */
- public static final String getLabel(int bitfield) {
- int pos = getIndex(bitfield);
- if (pos < 0)
- return null;
- else
- return getString(flagNames[pos]);
- }
-
- /**
- * Returns the boolean value of the flag corresponding to the given
- * bitfield.
- * @param bitfield an integer chosen from the static list of masks
- * in this class to indicate a particular flag.
- * @return the boolean value that the flag is currently set to.
- */
- public boolean getFlag(int bitfield) {
- return !((flags & bitfield) == 0);
- }
-
- /**
- * Sets the current value of one or more flags.
- * @param mask an integer mask that has all those bits set that
- * correspond to flags that need to be set.
- * @value the boolean value that the flags should be set to.
- */
- public void setFlags(int mask, boolean value) {
- if (!value) {
- mask ^= allOnes; // invert mask
- flags &= mask; // zero out
- } else {
- flags |= mask;
- }
- }
-
- /**
- * Toggles the current value of one or more flags.
- * @param mask an integermask that has all those bits set that
- * correspond to flags that need to be toggled.
- */
- public void toggleFlags(int mask) {
- flags ^= mask;
- }
-
- /**
- * Returns a string containing all of the flags labels and their
- * corresponding boolean values.
- */
- public String toString() {
-
- StringBuffer sb = new StringBuffer();
- char ch;
-
- ch = (!getFlag(DISALLOW_POSTDATED)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[0])).append('\n');
-
- ch = (!getFlag(DISALLOW_FORWARDABLE)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[1])).append('\n');
-
- ch = (!getFlag(DISALLOW_TGT_BASED)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[2])).append('\n');
-
- ch = (!getFlag(DISALLOW_RENEWABLE)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[3])).append('\n');
-
- ch = (!getFlag(DISALLOW_PROXIABLE)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[4])).append('\n');
-
- ch = (!getFlag(DISALLOW_DUP_SKEY)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[5])).append('\n');
-
- ch = (getFlag(DISALLOW_ALL_TIX)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[6])).append('\n');
-
- ch = (getFlag(REQUIRE_PRE_AUTH)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[7])).append('\n');
-
- ch = (getFlag(REQUIRE_HW_AUTH)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[8])).append('\n');
-
- ch = (getFlag(REQUIRES_PWCHANGE)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[9])).append('\n');
-
- ch = (!getFlag(DISALLOW_SVR)? '+':'-');
- sb.append('\t').append(ch).append(getString(flagNames[10])).append(
- '\n');
-
- return sb.toString();
- }
-
- /**
- * Converts a bitfield with one bit set in it to an index.
- * The index can be used with bitfields or flagNames.
- * @flagBitfield an integer that has exactly one bit set in it
- * @return the index of the first bit that was found set when
- * scanning from the lsb.
- */
- // This is not always the position of the bit in the integer's
- // internal representation.
- private static int getIndex(int flagBitfield) {
- for (int i = 0; i < flagNames.length; i++) {
- if (flagBitfield == bitfields[i])
- return i;
- }
-
- return -1;
- }
-
- /**
- * Returns an integer with the bits indicating the status of each of
- * the flags.
- */
- public int getBits() {
- return flags;
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Krb5Conf.java b/usr/src/cmd/krb5/kadmin/gui/dataclasses/Krb5Conf.java
deleted file mode 100644
index a966664dfb..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Krb5Conf.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-//
-// Class representing the info from /etc/krb5/krb5.conf.
-// Currently, the admin tool only needs to access all of the
-// admin servers for all of the realms enumerated in the file,
-// and the default realm.
-// A sample file looks like this:
-
-/*
-
-[libdefaults]
- default_realm = SUNSOFT.FOO.SUN.COM
-
-[realms]
- GENESIS.FOO.SUN.COM = {
- kdc = xxxxx.eng.sun.com
- admin_server = xxxxx.eng.sun.com
- }
- SUNSOFT.FOO.SUN.COM = {
- kdc = gandolf.eng.sun.com
- kdc = ulong.eng.sun.com
- admin_server = gandolf.eng.sun.com:749
- }
-
-[domain_realm]
- .eng.sun.com = SUNSOFT.FOO.SUN.COM
- .sun.com = SUNSOFT.FOO.SUN.COM
-
-[logging]
- default = FILE:/var/krb5/kdc.log
- kdc = FILE:/var/krb5/kdc.log
-
-[appdefaults]
- gkadmin = {
- help_url = http:...
- }
-*/
-
-import java.io.*;
-import java.util.Vector;
-import java.util.StringTokenizer;
-
-public class Krb5Conf {
-
- private String DefRealm = null;
- private String HelpURL = null;
- private Vector RealmVector = new Vector(10, 10);
-
- public Krb5Conf() {
-
- FileReader fr = null;
-
- try {
- fr = new FileReader("/etc/krb5/krb5.conf");
- } catch (FileNotFoundException e) {
- // System.out.println("Error: " + e);
- return;
- }
- BufferedReader in = new BufferedReader(fr);
-
- String line = null, Name = null, Server = "", Port = "0";
- boolean wantdef = false, wantrealm = false;
- boolean wantadmin = false, skipcurly = false;
- boolean wantapp = false, wanturl = false;
- RealmInfo r = null;
-
- // Read each line of the file
- do {
- try {
- line = in.readLine();
- } catch (IOException e) {
- // System.out.println("Error: " + e);
- return;
- }
- if (line == null)
- break;
-// System.out.println(line);
-
- // Get some help with parsing
- StringTokenizer t = new StringTokenizer(line);
- if (!t.hasMoreTokens())
- continue;
- String s = t.nextToken();
- if (s.charAt(0) == '#')
- continue;
-
- // Look for [realm], [libdefaults] or [appdefaults]
- if (s.charAt(0) == '[') {
- wantdef = false;
- wantrealm = false;
- wantapp = false;
- if (s.compareTo("[libdefaults]") == 0)
- wantdef = true;
- if (s.compareTo("[realms]") == 0)
- wantrealm = true;
- if (s.compareTo("[appdefaults]") == 0)
- wantapp = true;
- } else {
-
- // Have we seen [libdefaults]?
- if (wantdef && s.compareTo("default_realm") == 0) {
- if (t.hasMoreTokens()) {
- DefRealm = t.nextToken(" \t\n\r=");
- wantdef = false;
- }
-
- // Have we seen [realm] instead?
- } else if (wantrealm) {
-
- // We got what we needed; skip until "{" is balanced
- if (skipcurly && s.compareTo("}") == 0) {
- skipcurly = false;
- continue;
- }
- // First the realm name, then the admin server
- if (!wantadmin) {
- Name = new String(s);
- wantadmin = true;
- Server = "";
- Port = "0";
- } else {
- if (s.compareTo("admin_server") == 0) {
- s = t.nextToken(" \t\n\r=:");
- Server = new String(s);
- if (t.hasMoreTokens()) {
- s = t.nextToken(" \t\n\r=:");
- Port = new String(s);
- }
-
- // Store result in the vector
- r = new RealmInfo(Name, Server, Port);
- RealmVector.addElement(r);
- wantadmin = false;
- skipcurly = true;
- }
- }
- } else if (wantapp) {
- if (wanturl && s.compareTo("help_url") == 0) {
- if (t.hasMoreTokens()) {
- HelpURL = t.nextToken(" \t\n\r=");
- wantapp = false;
- wanturl = false;
- }
- } else if (s.compareTo("gkadmin") == 0)
- wanturl = true;
- }
- }
- } while (line != null);
- }
-
- public String getDefaultRealm() {
- return DefRealm;
- }
-
- public String getHelpURL() {
- return HelpURL;
- }
-
- public String getAllRealms() {
- String s = "";
- for (int i = 0; i < RealmVector.size(); i++) {
- RealmInfo r = (RealmInfo)RealmVector.elementAt(i);
- s = new String(s + " " + r.RealmName);
- }
- return s;
- }
-
- public String getRealmServer(String realm) {
- for (int i = 0; i < RealmVector.size(); i++) {
- RealmInfo r = (RealmInfo)RealmVector.elementAt(i);
- if (realm.compareTo(r.RealmName) == 0)
- return r.AdminServer;
- }
- return null;
- }
-
- public String getRealmPort(String realm) {
- for (int i = 0; i < RealmVector.size(); i++) {
- RealmInfo r = (RealmInfo)RealmVector.elementAt(i);
- if (realm.compareTo(r.RealmName) == 0)
- return r.ServerPort;
- }
- return null;
- }
-
- class RealmInfo extends Object {
- String RealmName;
- String AdminServer;
- String ServerPort;
-
- public RealmInfo(String name, String server, String port) {
- RealmName = new String(name);
- AdminServer = new String(server);
- ServerPort = new String(port);
- }
- }
-
- public static void main(String[] args) {
- Krb5Conf c = new Krb5Conf();
- System.out.println("Default: " + c.getDefaultRealm());
- System.out.println("Realms: " + c.getAllRealms());
- StringTokenizer t = new StringTokenizer(c.getAllRealms());
- while (t.hasMoreTokens()) {
- String r = t.nextToken();
- String s = c.getRealmServer(r);
- String p = c.getRealmPort(r);
- System.out.println("For realm " + r + ", server is " + s
- + ", port is " + p);
- }
- System.out.println("HelpURL: " + c.getHelpURL());
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Makefile b/usr/src/cmd/krb5/kadmin/gui/dataclasses/Makefile
deleted file mode 100644
index d6a35b79bc..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-include ../../../../../Makefile.master
-include ../../../../Makefile.cmd
-
-
-GUIDIR=$(SRC)/cmd/krb5/kadmin/gui
-
-CLASSES= PrintUtil Krb5Conf Filter PrincipalList PolicyList Principal Policy Flags Defaults
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=../classdir/%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-CLASSPATH=$(GUIDIR):$(GUIDIR)/classdir:$(GUIDIR)/util:$(GUIDIR)/dataclasses:$(GUIDIR)/dchanger:$(GUIDIR)/native:$(GUIDIR)/visualrt:$(GUIDIR)/visualrt.jar:$(JAVA_ROOT)/jre/lib/rt.jar:$(JAVA_ROOT)/jre/lib/i18n.jar
-
-../classdir/%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d ../classdir -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
-
-install: all
-
-echo:
- @echo $(CLASSES)
- @echo $(JFILES)
- @echo $(CLFILES)
- @echo $(SUFFIXES)
-
-clobber : clobber_local
-
-clean: clean_local
-
-clobber_local: clean_local
-
-clean_local:
- $(RM) $(CLFILES)
- $(RM) ./*.class
-FRC:
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Policy.java b/usr/src/cmd/krb5/kadmin/gui/dataclasses/Policy.java
deleted file mode 100644
index 9635406138..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Policy.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-import java.util.ResourceBundle;
-import java.text.NumberFormat;
-import java.text.ParseException;
-import java.util.MissingResourceException;
-
-/**
- * Class representing a Kerberos V5 policy
- * Class data items correspond to fields in struct _kadm5_policy_ent_t
- */
-class Policy {
- String PolicyName; // char *policy;
- Integer PwMinLife; // long pw_min_life;
- Integer PwMaxLife; // long pw_max_life;
- Integer PwMinLength; // long pw_min_length;
- Integer PwMinClasses; // long pw_min_classes;
- Integer PwSaveCount; // long pw_history_num;
- Integer RefCount; // long policy_refcnt;
- Kadmin Kadmin;
- boolean isNew;
- boolean dummy;
-
- // For I18N
- private static ResourceBundle rb =
- ResourceBundle.getBundle("GuiResource" /* NOI18N */);
- private static NumberFormat nf = NumberFormat.getInstance();
-
- /**
- * Initialize new policy to defaults - this one is for new creations
- */
- public Policy() {
- dummy = true;
- isNew = true;
- PolicyName = new String("");
- PwMinLife = new Integer(0);
- PwMaxLife = new Integer(30 * 24 * 60 * 60); /* 30 days */
- PwMinLength = new Integer(4);
- PwMinClasses = new Integer(2);
- PwSaveCount = new Integer(3);
- RefCount = new Integer(0);
- }
-
- /*
- * This is used for loading an existing principal
- */
- public Policy(String Pname) {
- /* Get some specific data from somewhere */
- this();
- dummy = true;
- isNew = false;
- PolicyName = Pname;
- loadPolicy(Pname);
- }
-
- /*
- * This is used for duplicating a new principal from an old one
- */
- public Policy(Policy old) {
- /* Copy old principal to new one */
- this();
- dummy = true;
- copyPolicy(old, this);
- }
-
- /*
- * For real data, use Kadmin as a first argument
- */
- public Policy(Kadmin session) {
- this();
- dummy = false;
- Kadmin = session;
- }
-
- public Policy(Kadmin session, String Pname) {
- this();
- isNew = false;
- dummy = false;
- Kadmin = session;
- PolicyName = Pname;
- loadPolicy(Pname);
- }
-
- public Policy(Kadmin session, Policy old) {
- this(old);
- dummy = false;
- Kadmin = session;
- }
-
- /**
- * Copy relevant fields from old policy, overriding as necessary
- */
- public void copyPolicy(Policy old, Policy curr) {
- curr.PolicyName = new String(""); /* override */
- curr.PwMinLife = new Integer(old.PwMinLife.intValue());
- curr.PwMaxLife = new Integer(old.PwMaxLife.intValue());
- curr.PwMinLength = new Integer(old.PwMinLength.intValue());
- curr.PwMinClasses = new Integer(old.PwMinClasses.intValue());
- curr.PwSaveCount = new Integer(old.PwSaveCount.intValue());
- curr.RefCount = new Integer(0); /* override */
- }
-
- public boolean loadPolicy(String name) {
- if (dummy)
- return true;
- boolean b = Kadmin.loadPolicy(name, this);
- // System.out.println(this.toString());
- return b;
- }
-
- public boolean savePolicy() {
- // System.out.println(this.toString());
- if (dummy)
- return true;
- if (this.isNew)
- return Kadmin.createPolicy(this);
- else
- return Kadmin.savePolicy(this);
- }
-
- public boolean setName(String name) {
- // xxx: see where this gets called from to determine if a new Policy
- // just added can have a duplicate name or whether that would have
- // been screened out earlier.
- PolicyName = name;
- return true;
- }
-
- /**
- * @param val Contains one number representing the length.
- */
- public boolean setPolPwLength(String val) {
- try {
- PwMinLength = new Integer(nf.parse(val).intValue());
- } catch (ParseException e) {
- return false;
- }
- return true;
- }
-
- /**
- * @param val Contains one number representing the number of classes
- */
- public boolean setPolPwClasses(String val) {
- try {
- PwMinClasses = new Integer(nf.parse(val).intValue());
- } catch (ParseException e) {
- return false;
- }
- return true;
- }
-
- /**
- * @param val Contains one number representing the save count.
- */
- public boolean setPolPwHistory(String val) {
- // xxx: Is pwHistory the same as pwSaveCount?
- try {
- PwSaveCount = new Integer(nf.parse(val).intValue());
- } catch (ParseException e) {
- return false;
- }
- return true;
- }
-
- /**
- * @param val Contains one number representing the lifetime in seconds.
- */
- public boolean setPolMinlife(String val) {
- try {
- PwMinLife = new Integer(nf.parse(val.trim()).intValue());
- } catch (ParseException e) {
- return false;
- }
- return true;
- }
-
- /**
- * @param val Contains one number representing the lifetime in seconds.
- */
- public boolean setPolMaxlife(String val) {
- try {
- PwMaxLife = new Integer(nf.parse(val.trim()).intValue());
- } catch (ParseException e) {
- return false;
- }
- return true;
- }
-
- /*
- * Obtain a string representation of this policy.
- * @return a String containing the following information about this policy:
- * <br><ul>
- * <li>policy name
- * <li>password minimum life
- * <li>password maximum life
- * <li>password minimum length
- * <li>password minimum classes
- * <li>password save count
- * <li>reference count
- *</ul>
- */
- public String toString() {
-
- StringBuffer sb = new StringBuffer();
-
- sb.append(getString("Policy Name:") + " " + PolicyName).append('\n');
- sb.append(getString("Reference Count:") + " "
- + RefCount).append("\n");
- sb.append(getString("Minimum Password Lifetime (seconds):")
- + " " + PwMinLife).append("\t");
- sb.append(getString("Maximum Password Lifetime (seconds):")
- + " " + PwMaxLife).append("\n");
- sb.append(getString("Minimum Password Length:") + " "
- + PwMinLength).append("\t");
- sb.append(getString("Minimum Password Classes:") + " "
- + PwMinClasses).append("\n");
- sb.append(getString("Password Save Count:") + " "
- + PwSaveCount).append("\n");
-
- return sb.toString();
- }
-
- /**
- * Call rb.getString(), but catch exception and return English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/PolicyList.java b/usr/src/cmd/krb5/kadmin/gui/dataclasses/PolicyList.java
deleted file mode 100644
index 007d33d692..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/PolicyList.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-//
-// Class to hold a policy list
-//
-
-import java.util.Vector;
-
-public class PolicyList {
- Kadmin Kadmin = null;
- boolean dummy;
- /*
- * Dummy data for testing
- */
- String [] dummyPL = { "first", "default", "admins", "engineers",
- "managers", "markerters", "temps", "contractors",
- "hourly", "remote1", "remote2", "chelmsford" };
-
- public PolicyList() {
- dummy = true;
- }
-
- public PolicyList(Kadmin session) {
- dummy = false;
- Kadmin = session;
- }
-
- public String[] getPolicyList() {
- String[] in;
-
- if (dummy) {
- in = new String[dummyPL.length];
- System.arraycopy(dummyPL, 0, in, 0, dummyPL.length);
- } else {
- in = Kadmin.getPolicyList();
- }
- return in;
- }
-
-
- public static void main(String[] args) {
- PolicyList p = new PolicyList();
- String[] pl = p.getPolicyList();
- System.out.println("Policy List:");
- for (int i = 0; i < pl.length; i++)
- System.out.println(" "+pl[i]);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Principal.java b/usr/src/cmd/krb5/kadmin/gui/dataclasses/Principal.java
deleted file mode 100644
index 304441caa3..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/Principal.java
+++ /dev/null
@@ -1,483 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-import java.util.Date;
-import java.text.DateFormat;
-import java.text.NumberFormat;
-import java.text.ParseException;
-import java.util.Calendar;
-import java.util.ResourceBundle;
-import java.util.MissingResourceException;
-
-/**
- * Class representing a Kerberos V5 principal
- * Class data items correspond to fields in struct _kadm5_principal_ent_t_v2
- */
-class Principal {
-
- private static DateFormat df;
- private static NumberFormat nf;
- private static String neverString;
-
- private static Integer INFINITE_LIFE = new Integer(Integer.MAX_VALUE);
-
- Flags flags;
-
- // For I18N
- private static ResourceBundle rb;
-
- String PrName; // krb5_principal principal;
- Date PrExpireTime; // krb5_timestamp princ_expire_time;
- String Policy; // char *policy;
- Date LastPwChange; // krb5_timestamp last_pwd_change;
- Date PwExpireTime; // krb5_timestamp pw_expiration;
- Integer MaxLife; // krb5_deltat max_life;
- Integer MaxRenew; // krb5_deltat max_renewable_life;
- Date ModTime; // krb5_timestamp mod_date;
- String ModName; // krb5_principal mod_name;
- Date LastSuccess; // krb5_timestamp last_success;
- Date LastFailure; // krb5_timestamp last_failed;
- Integer NumFailures; // krb5_kvno fail_auth_count;
- String Comments; // ==> entry in tl_data array
- Integer Kvno; // krb5_kvno kvno;
- Integer Mkvno; // krb5_kvno mkvno;
-
- String PrPasswd; // standalone field in Kadmin API
- Kadmin Kadmin;
- boolean isNew; // newly created principal?
- boolean dummy; // use dummy data?
- boolean newComments; // are comments new or changed?
- String EncTypes; // enc type list to be used for key gen
-
- /**
- * Initialize new principal to defaults - this one is for new creations
- */
- public Principal() {
- isNew = true;
- dummy = true;
- newComments = false;
- PrName = new String("");
- PrPasswd = new String("");
- Calendar cal = Calendar.getInstance();
- cal.setTime(new Date()); /* start with now ... */
- cal.add(Calendar.YEAR, 1); /* ... add a year ... XXX */
- PrExpireTime = cal.getTime(); /* ... to get expiry */
- Policy = new String("");
- LastPwChange = new Date(0); /* never */
- PwExpireTime = null; // may be server side default
- MaxLife = null; // may be server side default
- MaxRenew = null; // may be server side default
- ModTime = new Date(); /* now */
- ModName = System.getProperty("user.name");
- LastSuccess = new Date(0); /* never */
- LastFailure = new Date(0); /* never */
- NumFailures = new Integer(0);
- Comments = new String("");
- Kvno = new Integer(0);
- Mkvno = new Integer(0);
- flags = new Flags();
- EncTypes = new String("");
- }
-
- /*
- * This is used for loading an existing principal
- */
- public Principal(String Pname) {
- /* Get some specific data from somewhere */
- this();
- isNew = false;
- PrName = Pname;
- PwExpireTime = new Date(0);
- loadPrincipal(Pname);
- }
-
- /*
- * This is used for duplicating a new principal from an old one
- */
- public Principal(Principal old) {
- /* Copy old principal to new one */
- this();
- copyPrincipal(old, this);
- }
-
- /*
- * For real data, use Kadmin as a first argument
- */
- public Principal(Kadmin session, Defaults defaults) {
- this();
- dummy = false;
- Kadmin = session;
- setDefaults(defaults);
- }
-
- public Principal(Kadmin session, String Pname) {
- this();
- isNew = false;
- dummy = false;
- Kadmin = session;
- PrName = Pname;
- PwExpireTime = new Date(0);
- loadPrincipal(Pname);
- }
-
- public Principal(Kadmin session, Principal old) {
- this(old);
- dummy = false;
- Kadmin = session;
- }
-
- public void setDefaults(Defaults defaults) {
- flags = new Flags(defaults.getFlags().getBits());
- if (!defaults.getServerSide()) {
- MaxLife = defaults.getMaxTicketLife();
- MaxRenew = defaults.getMaxTicketRenewableLife();
- }
- PrExpireTime = defaults.getAccountExpiryDate();
- }
-
- /**
- * Copy relevant fields from old principal, overriding as necessary
- */
- public static void copyPrincipal(Principal old, Principal curr) {
- curr.PrName = new String(""); /* override */
- curr.PrPasswd = new String(""); /* override */
- curr.PrExpireTime = new Date(old.PrExpireTime.getTime());
- curr.Policy = new String(old.Policy);
- curr.EncTypes = new String(old.EncTypes);
- curr.LastPwChange = new Date(0); /* override: never */
- if (old.PwExpireTime == null)
- curr.PwExpireTime = null;
- else
- curr.PwExpireTime = new Date(old.PwExpireTime.getTime());
- curr.MaxLife = new Integer(old.MaxLife.intValue());
- curr.MaxRenew = new Integer(old.MaxRenew.intValue());
- curr.ModTime = new Date(); /* override: now */
- curr.ModName = System.getProperty("user.name"); /* override */
- curr.LastSuccess = new Date(0); /* override: never */
- curr.LastFailure = new Date(0); /* override: never */
- curr.NumFailures = new Integer(0); /* override: none */
- curr.Comments = new String(old.Comments);
- curr.Kvno = new Integer(old.Kvno.intValue());
- curr.Mkvno = new Integer(old.Mkvno.intValue());
- curr.flags = new Flags(old.flags.getBits());
- }
-
- public boolean loadPrincipal(String name) {
- if (dummy)
- return true;
- boolean b = Kadmin.loadPrincipal(name, this);
- // System.out.println(this.toString());
- return b;
- }
-
- public boolean savePrincipal() {
- // System.out.println(this.toString());
- if (dummy)
- return true;
- if (MaxLife == null)
- MaxLife = INFINITE_LIFE;
- if (MaxRenew == null)
- MaxRenew = INFINITE_LIFE;
- if (this.isNew)
- return Kadmin.createPrincipal(this);
- else
- return Kadmin.savePrincipal(this);
- }
-
-
- public boolean setName(String name) {
- // xxx: see where this gets called from to determine if a new Principal
- // just added can have a duplicate name or whether that would have been
- // screened out earlier.
-
- PrName = name;
- return true;
- }
-
- public boolean setComments(String comments) {
- // xxx: check to see if all characters are in the allowable list of
- // characters. The list needs to be I18N. No length restrictions on
- // Java side but what about the c side?
- Comments = comments;
- newComments = true;
- return true;
- }
-
- public boolean setPolicy(String pol) {
- // xxx: is this a valid policy name? Should we assume that error is
- // already trapped before this point?
- Policy = pol;
- return true;
- }
-
- public boolean setPassword(String pw) {
- // xxx: check to see if the passwd follows the rules laid down by
- // the policy
- PrPasswd = pw;
- return true;
- }
-
- public boolean setEncType(String enctype) {
- EncTypes = enctype;
- // Don't have to check enc type list provided given that list was
- // populated from the checkbox list
- return true;
- }
-
- /**
- * @param exp Contains a date formatted by the default locale,
- * representing the expiry time for the principal's expiration.
- */
- public boolean setExpiry(String exp) {
- exp = exp.trim();
- if (exp.equalsIgnoreCase(neverString))
- PrExpireTime = new Date(0);
- else {
- try {
- PrExpireTime = df.parse(exp);
- } catch (ParseException e) {
- return false;
- } catch (NullPointerException e) {
- // gets thrown when parse string begins with text
- // probable JDK bug
- return false;
- } catch (StringIndexOutOfBoundsException e) {
- // gets thrown when parse string contains only one number
- // probable JDK bug
- return false;
- }
- }
- return true;
- }
-
- /**
- * @param exp Contains a date formatted by the default locale,
- * representing the expiry time for the password expiration.
- */
- public boolean setPwExpiry(String exp) {
- exp = exp.trim();
- if (exp.equals(""))
- PwExpireTime = null;
- else if (exp.equalsIgnoreCase(neverString))
- PwExpireTime = new Date(0);
- else {
- try {
- PwExpireTime = df.parse(exp);
- } catch (ParseException e) {
- return false;
- } catch (NullPointerException e) {
- // gets thrown when parse string begins with text
- // probable JDK bug
- return false;
- } catch (StringIndexOutOfBoundsException e) {
- // gets thrown when parse string contains only one number
- // probable JDK bug
- return false;
- }
- }
- return true;
- }
-
- public String getModTime() {
- if (ModTime.getTime() == 0)
- return neverString;
- else
- return df.format(ModTime);
- }
-
- public String getEncType() {
- return EncTypes;
- }
-
- public String getExpiry() {
- if (PrExpireTime.getTime() == 0)
- return neverString;
- else
- return df.format(PrExpireTime);
- }
-
- public String getLastSuccess() {
- if (LastSuccess.getTime() == 0)
- return neverString;
- else
- return df.format(LastSuccess);
- }
-
- public String getLastFailure() {
- if (LastFailure.getTime() == 0)
- return neverString;
- else
- return df.format(LastFailure);
- }
-
- public String getLastPwChange() {
- if (LastPwChange.getTime() == 0)
- return neverString;
- else
- return df.format(LastPwChange);
- }
-
- public String getPwExpireTime() {
- if (PwExpireTime == null)
- return new String("");
- else if (PwExpireTime.getTime() == 0)
- return neverString;
- else
- return df.format(PwExpireTime);
- }
-
- public String getMaxLife() {
- if (MaxLife != null)
- return nf.format(MaxLife.longValue());
- else
- return "";
- }
-
- public String getMaxRenew() {
- if (MaxRenew != null)
- return nf.format(MaxRenew.longValue());
- else
- return "";
- }
-
- /**
- * @param vers Contains a number representing the key version.
- */
- public boolean setKvno(String vers) {
- try {
- Kvno = new Integer(nf.parse(vers.trim()).intValue());
- }catch (ParseException e) {
- return false;
- }
- return true;
- }
-
- /**
- * @param val Contains a number representing the maximum lifetime, in
- * seconds, of a ticket for this principal.
- */
- public boolean setMaxlife(String val) {
- try {
- String noSpace = val.trim();
- if (noSpace.length() == 0)
- return true;
- MaxLife = new Integer(nf.parse(noSpace).intValue());
- }catch (ParseException e) {
- return false;
- }
- return true;
- }
-
- /**
- * @param val Contains a number representing the maximum renewable lifetime,
- * in seconds, of a ticket for this principal.
- */
- public boolean setMaxrenew(String val) {
- try {
- String noSpace = val.trim();
- if (noSpace.length() == 0)
- return true;
- MaxRenew = new Integer(nf.parse(noSpace).intValue());
- }catch (ParseException e) {
- return false;
- }
- return true;
- }
-
- /**
- * Toggles a particular flag.
- * @param mask one of the statically defined masks indicating which flag to
- * toggle.
- */
- public boolean setFlag(int mask) {
- flags.toggleFlags(mask);
- return true;
- }
-
- /**
- * Obtain a string representation of this principal.
- * @return a String containing the following information about this
- * principal:<br>
- * <ul>
- * <li>principal name
- *<li>policy being applied
- *<li>expiry date
- *<li>comments
- *<li>key version number
- *<li>password expire time
- *<li>maximum lifetime
- *<li>maximum renewable lifetime
- * <li> flags
- *</ul>
- */
- public String toString() {
-
- StringBuffer sb = new StringBuffer();
-
- sb.append(getString("Principal Name:") + " " + PrName).append('\n');
- sb.append(getString("Account Expires:") + " "
- + getExpiry()).append('\n');
- sb.append(getString("Policy:") + " " + Policy).append('\n');
- sb.append(getString("Enc Types:") + " " + EncTypes).append('\n');
- sb.append(getString("Comments:") + " " + Comments).append('\n');
- sb.append(getString("Key Version:") + " " + Kvno).append('\t');
- sb.append(getString("Password Expires:") + " "
- + getPwExpireTime()).append('\n');
- sb.append(getString("Maximum Lifetime (seconds):")
- + " " + getMaxLife()).append('\t');
- sb.append(getString("Maximum Renewal (seconds):")
- + " " + getMaxRenew()).append('\n');
- sb.append(getString("Flags:")).append('\n').append(flags.toString());
-
- return sb.toString();
- }
-
- /**
- * Call rb.getString(), but catch exception and return English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
- static {
- rb = ResourceBundle.getBundle("GuiResource" /* NOI18N */);
- df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
- DateFormat.MEDIUM);
- nf = NumberFormat.getInstance();
- neverString = getString("Never");
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/PrincipalList.java b/usr/src/cmd/krb5/kadmin/gui/dataclasses/PrincipalList.java
deleted file mode 100644
index 8e478b02f4..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/PrincipalList.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-//
-// Class to hold a principal list
-//
-
-import java.util.Vector;
-import java.util.StringTokenizer;
-import java.util.Date;
-
-public class PrincipalList {
- Kadmin Kadmin = null;
- boolean dummy;
- /*
- * Dummy data for testing
- */
- String [] dummyPL = { "first", "eisler", "hooshang", "lin", "msaltz",
- "rammarti", "thurlow", "traj", "seemam",
- "eisler/admin", "lin/admin", "msaltz/admin",
- "thurlow/admin", "george", "scott", "steve",
- "carrie", "jennifer", "penny", "lisa",
- "lobby1", "lobby2", "janitor", "rentacop1",
- "rentacop2" };
-
- public PrincipalList() {
- dummy = true;
- }
-
- public PrincipalList(Kadmin session) {
- dummy = false;
- Kadmin = session;
- }
-
- public String[] getPrincipalList() {
- String[] in;
-
- // Date pdateBefore = new Date();
- if (dummy) {
- in = new String[dummyPL.length];
- System.arraycopy(dummyPL, 0, in, 0, dummyPL.length);
- } else {
- // in = Kadmin.getPrincipalList();
- String prs = Kadmin.getPrincipalList2();
- StringTokenizer t = new StringTokenizer(prs);
- in = new String[t.countTokens()];
- for (int i = 0; t.hasMoreTokens(); i++)
- in[i] = t.nextToken();
- }
- // Date pdateAfter = new Date();
- // long diff = pdateAfter.getTime() - pdateBefore.getTime();
- // String s = (new Long(diff)).toString();
- // System.out.println(" Fetched list from server in "+s+" ms");
- return in;
- }
-
- public String[] getPrincipalList(String realm) {
- String[] in = getPrincipalList();
- for (int i = 0; i < in.length; i++) {
- String s = in[i];
- int x = s.lastIndexOf("@"+realm);
- if (x > 0)
- in[i] = new String(s.substring(0, x));
- }
- return in;
- }
-
-
- public static void main(String[] args) {
- PrincipalList p = new PrincipalList();
- String[] pl = p.getPrincipalList("");
- System.out.println("Principal List:");
- for (int i = 0; i < pl.length; i++)
- System.out.println(" "+pl[i]);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dataclasses/PrintUtil.java b/usr/src/cmd/krb5/kadmin/gui/dataclasses/PrintUtil.java
deleted file mode 100644
index 6847176e66..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dataclasses/PrintUtil.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.util.ResourceBundle;
-import java.util.MissingResourceException;
-
-public class PrintUtil {
-
- // For I18N
- private static ResourceBundle rb =
- ResourceBundle.getBundle("GuiResource" /* NOI18N */);
- private static ResourceBundle hrb =
- ResourceBundle.getBundle("HelpData" /* NOI18N */);
- /**
- * Prints an object to either file or printer. Uses the toString()
- * method of the object to obtain a string representation for it.
- * @param obj the Object that is to be printed
- */
- public static void dump(Frame parent, Object obj) {
-
- boolean usePrinter;
- String stringRep = obj.toString();
-
- Frame printFrame = new PrintFrame(parent, stringRep);
- printFrame.setVisible(true);
- }
-
- /**
- * Call rb.getString(), but catch exception and return English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- return (getString(rb, key));
- }
-
- private static final String getString(ResourceBundle rb, String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
- /**
- * Forgets the command and filename that was last entered.
- */
- public static final void reinitialize() {
- PrintFrame.command = PrintFrame.fileName = null;
- }
-
- /*
- ************************************************************
- * I N N E R C L A S S E S F O L L O W
- ************************************************************
- */
-
- /**
- * This class will show a Frame to determine whether the user wants
- * to print to a file and which file, if so, or to the printer
- * directly. Finally it will print to the appropriate destinaition.
- */
- private static class PrintFrame extends Frame {
-
- private String text;
-
- static TextField command = null;
- static TextField fileName = null;
-
- private CheckboxGroup options;
- private Checkbox printer;
- private Checkbox file;
-
- private Frame parent;
-
- private static String defaultFileName =
- "/tmp/.SEAM_temp.txt" /* NO18N */;
-
- /**
- * Constructor for PrintFrame.
- */
- public PrintFrame(Frame parent, String text) {
- super(rb.getString("SEAM Print Helper"));
- this.text = text;
- this.parent = parent;
- setLayout(new GridBagLayout());
-
- addLabelsAndFields();
- addCheckboxGroup();
- addButtons();
-
- setBackground(parent.getBackground());
- setForeground(parent.getForeground());
- setSize(340, 160);
- setResizable(false);
-
- printer.setState(true);
- command.setEditable(true);
- fileName.setEditable(false);
- }
-
- private void addLabelsAndFields() {
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
- gbc.gridwidth = 2;
- gbc.fill = GridBagConstraints.HORIZONTAL;
-
- gbc.gridx = 1;
- gbc.gridy = 0;
- add(new Label(getString("Print Command")), gbc);
- if (command == null)
- command = new TextField("lp" /* NO18N */, 10);
- gbc.gridx = 3;
- add(command, gbc);
-
- gbc.gridx = 1;
- gbc.gridy = 1;
- add(new Label(getString("File Name")), gbc);
- if (fileName == null)
- fileName = new TextField("" /* NO18N */, 10);
- gbc.gridx = 3;
- add(fileName, gbc);
-
- ActionListener al = new StartPrintingListener();
- command.addActionListener(al);
- fileName.addActionListener(al);
- }
-
- private void addCheckboxGroup() {
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
-
- options = new CheckboxGroup();
- printer = new Checkbox();
- file = new Checkbox();
- printer.setCheckboxGroup(options);
- file.setCheckboxGroup(options);
- options.setSelectedCheckbox(printer);
-
- printer.addItemListener(new PrintSelectedListener());
- file.addItemListener(new FileSelectedListener());
-
- gbc.gridx = 0;
-
- gbc.gridy = 0;
- add(printer, gbc);
- gbc.gridy = 1;
- add(file, gbc);
- }
-
- private void addButtons() {
-
- Button fileMore = new Button("..." /* NO18N */);
- Button print = new Button(getString("Print"));
- Button cancel = new Button(getString("Cancel"));
- Button help = new Button(getString("Help"));
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
-
- gbc.gridx = 5;
- gbc.gridy = 1;
- add(fileMore, gbc);
-
-
- gbc.gridx = 0;
- // gbc.gridy = 2;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.BOTH;
- // gbc.insets = new Insets(0, 10, 0, 10);
- // gbc.weighty = .1;
- // add(new LineSeparator(), gbc);
- // gbc.weighty = 1;
-
- Panel p = new Panel();
- gbc.insets = new Insets(0, 10, 0, 10);
- gbc.gridy = 2;
- add(p, gbc);
-
- p.setLayout(new GridBagLayout());
- gbc = new GridBagConstraints();
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.weightx = gbc.weighty = 1;
-
- p.add(print, gbc);
- p.add(cancel, gbc);
- p.add(help, gbc);
-
- print.addActionListener(new StartPrintingListener());
- cancel.addActionListener(new CancelButtonListener());
- help.addActionListener(new HelpButtonListener());
- fileMore.addActionListener(new FileMoreButtonListener());
- addWindowListener(new WindowCloseListener());
-
- }
-
- /**
- * Called when the print frame has to be closed. IT may be closed
- * as a result of the user choosing any one of "print", "cancel" or
- * just the window close (which also cancels the printing).
- * @param doIt true if the printing should be carried out, false
- * if it is to be cancelled.
- */
- private void close(boolean doIt) {
- if (doIt) {
-
- Checkbox cb = options.getSelectedCheckbox();
- String dest = null;
-
- try {
- if (cb == printer) {
- dest = command.getText().trim();
- if (dest.length() == 0)
- return;
- else
- print(dest);
- } else {
- dest = fileName.getText().trim();
- if (dest.length() == 0)
- return;
- else
- saveToFile(dest);
- }
- } catch (IOException e) {
- // System.out.println(e); XXX
- }
- } // end of doIt
-
- dispose();
- }// end of close
-
- /**
- * Prints the string to a file and then send the file's contents
- * to the printer. It then deletes the file.
- * @param command the print comman to be used
- */
- private void print(String command) throws IOException {
- Thread printThread = new PrintThread(command);
- printThread.start();
- saveToFile(defaultFileName);
- }
-
- /**
- * Saves the string onto the file.
- * @param fileName the file to which the string must be written
- */
- private void saveToFile(String fileName) throws IOException {
- PrintWriter outFile = null;
- outFile = new PrintWriter(new BufferedWriter(new
- FileWriter(fileName)));
- outFile.print(text);
- outFile.flush();
- outFile.close();
- }
-
- // Listeners for the gui components:
- // javac in current makefile will not compile if these are anonymous.
-
- private class PrintSelectedListener implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- command.setEditable(true);
- fileName.setEditable(false);
- }
- }
-
- private class FileSelectedListener implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- command.setEditable(false);
- fileName.setEditable(true);
- }
- }
-
- private class StartPrintingListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- close(true);
- }
- }
-
- private class CancelButtonListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- close(false);
- }
- }
-
- private class HelpButtonListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- HelpDialog hd = new HelpDialog(PrintFrame.this,
- getString("Help for Date/Time Helper"), false);
- hd.setVisible(true);
- hd.setText(getString(hrb, "PrintUtilHelp"));
- }
- }
-
- private class FileMoreButtonListener implements
- ActionListener {
-
- public void actionPerformed(ActionEvent e) {
-
- // Turn off print "command" and enable output "file name"
- options.setSelectedCheckbox(file);
- command.setEditable(false);
- fileName.setEditable(true);
-
- FileDialog fd = new FileDialog(PrintFrame.this,
- getString("SEAM File Helper"),
- FileDialog.SAVE);
- fd.setDirectory(System.getProperty("user.dir" /* NO18N */));
-
- // Use what's in the fileName field already to initialize the
- // FileDialog
- String fileNameText = fileName.getText();
- if (fileNameText != null) {
- File file = new File(fileNameText);
- if (file.isDirectory())
- fd.setDirectory(fileNameText);
- else {
- fd.setFile(fileNameText);
- String parent = file.getParent();
- if (parent != null)
- fd.setDirectory(parent);
- }
- }
-
- fd.setVisible(true);
- if (fd.getFile() != null && fd.getFile().length() > 0)
- fileName.setText(fd.getDirectory() + fd.getFile());
- }
- }
-
- /**
- * This class prints out to a temporary file defaultFileName, send
- * that to the printer, and then deletes the file after TIME_OUT
- * milliseconds.
- */
- private class PrintThread extends Thread {
- private String command;
- private long TIME_OUT = 30000; // milliseconds
-
- public PrintThread(String command) {
- this.command = command;
- }
-
- public void run() {
- try {
- Process printProcess = Runtime.getRuntime()
- .exec(command + " " /* NO18N */ + defaultFileName);
- try {
- sleep(TIME_OUT);
- } catch (InterruptedException e) {}
- printProcess.destroy();
- File tempFile = new File(PrintFrame.this.defaultFileName);
- tempFile.delete();
- } catch (IOException e) {
- // System.err.println(e); XXX
- }
- }
- }
-
- private class WindowCloseListener extends WindowAdapter {
- public void windowClosing(WindowEvent e) {
- close(false);
- }
- }
- } // class PrintFrame
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dchanger/DCCircularTextField.java b/usr/src/cmd/krb5/kadmin/gui/dchanger/DCCircularTextField.java
deleted file mode 100644
index 3854c75db4..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dchanger/DCCircularTextField.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
- import java.awt.TextField;
-
- /**
- * This class is a DCTextField that allows values to wrap around over
- * a maximum and a minimum value.
- */
- public class DCCircularTextField extends DCTextField {
- private int maximum = 59;
- private int minimum = 0;
-
- /**
- * Constructor for DCCircularTextField.
- * @param text the text to initilize the text field with
- * @param columns the width of the text field in number of columns
- */
- public DCCircularTextField(String text, int columns) {
- super(text, columns);
- }
-
- /**
- * Sets the maximum allowable value for this field. If the current
- * value is greater than this maximum value, then the current value is
- * set to the maximum value.
- * @param maxValue the maximum integer value for this text field.
- */
- public void setMaximum(int maxValue) {
- maximum = maxValue;
- if (getValue() > maxValue)
- super.setValue(maxValue);
- }
-
- /**
- * Sets the minimum allowable value for this field. If the current
- * value is less than this minimum value, then the current value is
- * set to the minimum value.
- * @param minValue the minimum integer value for this text field.
- */
- public void setMinimum(int minValue) {
- minimum = minValue;
- if (getValue() < minValue)
- super.setValue(minValue);
- }
-
- /**
- * Increments the value of the textfield. It does a wrap around on
- * the max value and min value.
- * @param value how much to increment by. It can be negative if one
- * desires to decrement.
- */
- protected final void increment(int value) {
-
- int current = getValue();
- int next = (current + value);
-
- /*
- * Now wrap it around this way:
- */
-
- /*
- *
- * (1) Translate coordinates by 'minimum' to get the minimum to 0
- * eg. the legal range -1..5 to 0..6
- * or 1..5 to 0..4
- */
- int transMax = maximum - minimum;
- int transValue = next - minimum;
-
- /*
- * (2) Now do circular math
- */
- transValue %= (transMax + 1); // modulo max+1 since max is permissible
- transValue = (transValue < 0)? (transValue + (transMax+1)) : transValue;
-
- /*
- * (3) Translate back to old coordinates
- */
- next = transValue + minimum;
-
- setValue(next);
- }
-
- /**
- * Checks to see if the given value would be
- * valid for this text
- * field. The check looks to see if the value is less than the
- * minimum value or greater than the maximum value.
- * @param newValue
- * @return true if it will be valid, false otherwise.
- */
- public boolean checkValue(int value) {
- if (value > maximum || value < minimum)
- return false;
- else
- return true;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dchanger/DCListener.java b/usr/src/cmd/krb5/kadmin/gui/dchanger/DCListener.java
deleted file mode 100644
index 61237d0c3f..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dchanger/DCListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * This interface is implemented by any class that wants to be
- * notified to increment/decrement an associated value. (It is up to
- * the class to determine what this value is and how much to
- * increment/decrement it.)
- */
- public interface DCListener {
- public void increment();
- public void decrement();
-
- public void bigIncrement();
- public void bigDecrement();
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dchanger/DCPanel.java b/usr/src/cmd/krb5/kadmin/gui/dchanger/DCPanel.java
deleted file mode 100644
index 61bc4064db..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dchanger/DCPanel.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
- import java.awt.*;
- import java.awt.event.*;
-
- /**
- * Creates a panel with two buttons (+ and - side by side on it). The
- * panel registers a DCListener with it that gets notified whenever
- * these butons are clicked. <bold>The buttons may also be kept continously
- * pressed for faster increments/decrements.</bold>
- * <para>
- * On a single click of the button, the listener is notified to
- * increment/decrement itself by a small amount. When the button is kept
- * pressed the following notifications are sent out for larger
- * increments/decrements. (It is up to the listener to decide the
- * increment/decrement corresponding to large/small.) Moreover, these
- * notifications will be sent out much faster if the button is kept
- * pressed.
- */
-
- // The panel waits for a period of BIG_SLEEP_TIME before the faster
- // increments are sent out. They, in turn, are sent out after
- // intervals of SMALL_SLEEP_TIME. Therfore, an instance of this class
- // is associated with 2 timers - a longer one that starts off and then
- // schedules the shorter one. The shorter one keeps scheduling itself
- // every time it wakes up.
-
- public class DCPanel extends Panel {
-
- private Button plusButton;
- private Button minusButton;
-
- private DCListener listener = null;
-
- private Timer bigTimer;
- private Timer smallTimer;
-
- private static int BIG_SLEEP_TIME = 1000;
- private static int SMALL_SLEEP_TIME = 100;
-
- private boolean incrementFlag;
-
- public DCPanel() {
-
- setLayout(new GridLayout(1, 2));
-
- bigTimer = new BigTimer();
- smallTimer = new SmallTimer();
-
- bigTimer.start();
- smallTimer.start();
-
- plusButton = new DCButton("+");
- minusButton = new DCButton("-");
-
- add(plusButton);
- add(minusButton);
-
- }
-
- /**
- * Ensures that this component is not brought into focus by
- * tabbing. This prevents the tab focus from moving in here instead
- * of going to a text field.
- * @return false always.
- */
- public boolean isFocusable() {
- return false;
- }
-
- /**
- * Sets the listener for this tab.
- * @param listener the DCListener that needs to be notified when the
- * buttons on this panel are pressed.
- * @return the old listener
- */
- public DCListener setListener(DCListener listener) {
- DCListener oldListener = this.listener;
- this.listener = listener;
- return oldListener;
- }
-
- /**
- * Removes the listener when it no longer need to be notified.
- * @return the old listener
- */
- public DCListener removeListener() {
- return setListener(null);
- }
-
- /**
- * Kicks the times into action. Is called when a button is pressed.
- */
- private void startAction() {
- bigTimer.request();
- }
-
- /**
- * Stops the timers. Is called when a button is released.
- */
- private void stopAction() {
- smallTimer.cancel();
- bigTimer.cancel();
- }
-
- /**
- * Notifies the listener about whether to increment or decrement and
- * by how much.
- * @param bigFlag true if the listener needs to increment/decrement
- * by a large amount, false otherwise.
- */
- private void informListener(boolean bigFlag) {
- // System.out.println("DCPanel.informListener: " + bigFlag);
-
- if (listener != null) {
-
- if (bigFlag) {
- // request a big change
- if (incrementFlag)
- listener.bigIncrement();
- else
- listener.bigDecrement();
- } else {
- // request a small change
- if (incrementFlag)
- listener.increment();
- else
- listener.decrement();
- }
-
- }
-
- } // informListener
-
-
- // ***********************************************
- // I N N E R C L A S S E S F O L L O W
- // ***********************************************
-
- /**
- * A timer class since java does not have one.
- */
- private abstract class Timer extends Thread {
- private boolean running = false;
-
- /**
- * Sleeps till the timer's services are requested using wait() and
- * notify(). Then it does its task and goes back to sleep. And
- * loops forever like this.
- */
- public void run() {
- while (true) {
- try {
- synchronized (this) {
- running = false;
- // Wait till the timer is required
- wait();
- running = true;
- }
- doTask();
- } catch (InterruptedException e) {}
- } // while loop
- } // run method
-
- protected void doTask() {} // bug in java workshop
-
- /**
- * Wakes up the timer.
- */
- public synchronized void request() {
- notify();
- }
-
- /**
- * Cancels the timer if it is running.
- */
- public void cancel() {
- if (running) {
- interrupt();
- }
- }
-
- }// class Timer
-
- /**
- * The first stage of timer - is a longer timer. Wait to see if the
- * user really wants to amek the increments/decrements go by fast.
- */
- private class BigTimer extends Timer {
-
- /**
- * Sleep for the long amount of time. Then inform the listener
- * to have a bigIncrement/bigDecrement. After that, your job is
- * done, schedule the smaller (faster) timer from this point on.
- */
- protected void doTask() {
- try {
- sleep(BIG_SLEEP_TIME);
- informListener(true);
- smallTimer.request();
- } catch (InterruptedException e) {
- informListener(false);
- }
- }
-
- } // class BigTimer
-
-
- /**
- * The second stage of timers. This timer keeps rescheduling itself
- * everytime it wakes up. In between this, it sends a notification
- * to the listener to do a big Increment/Decrement.
- */
- private class SmallTimer extends Timer {
-
- protected void doTask() {
- try {
- // loop forever and keep rescheduling yourself
- while (true) {
- sleep(SMALL_SLEEP_TIME);
- informListener(true);
- }
- } catch (InterruptedException e) {}
- } // doTask method
-
- } // class SmallTimer
-
- /**
- * A mouse listener to detect when a button has been
- * pressed/released. One instance of this is bound to the plus
- * button and the other instance to the minus button.
- */
- private class DCMouseListener extends MouseAdapter {
- private boolean plusOrMinus;
-
- /**
- * Constructor for DCMouseListener.
- * @param plusOrMinus true if this is a listener for the plus
- * button, false if it is for the minus button.
- */
- public DCMouseListener(boolean plusOrMinus) {
- this.plusOrMinus = plusOrMinus;
- }
-
- /**
- * Kicks in when the mouse is pressed.
- */
- public void mousePressed(MouseEvent e) {
- incrementFlag = plusOrMinus;
- DCPanel.this.startAction();
- }
-
- /**
- * Kicks in when the mouse is released.
- */
- public void mouseReleased(MouseEvent e) {
- incrementFlag = plusOrMinus;
- DCPanel.this.stopAction();
- }
- }
-
- /**
- * The button used by this DCPanel.
- */
- private class DCButton extends Button {
- public DCButton(String text) {
- super(text);
- if (text.equals("+"))
- addMouseListener(new DCMouseListener(true));
- else
- addMouseListener(new DCMouseListener(false));
- }
-
- /**
- * Make the button non-focus traversable so that it cannot be
- * tabbed in to.
- */
- public boolean isFocusable() {
- return false;
- }
-
- } // DCButton
-
-
- /**
- * Test method for DCPanel class to see appearance.
- */
- public static void main(String args[]) {
- Frame f = new Frame("Testing DCPanel");
- f.add(new DCPanel());
- f.setBounds(new Rectangle(100, 100, 100, 100));
- f.setVisible(true);
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dchanger/DCTextField.java b/usr/src/cmd/krb5/kadmin/gui/dchanger/DCTextField.java
deleted file mode 100644
index 882e1f5679..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dchanger/DCTextField.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-import java.awt.*;
-
-/**
- * This creates a text field for storing integers that implements the
- * DCListener interface so that it can be notified to
- * increment/decrement its value.
- */
-public class DCTextField extends TextField implements DCListener {
-
- private int value;
-
- private int bigIncrementValue = 1;
-
- /**
- * Constructor for DCTextField.
- * @param text the text to initialize the text field with
- * @param columns the width of the text field in number of columns
- */
- public DCTextField(String text, int columns) {
- super(columns);
- setValueFromText(text);
- }
-
- /**
- * Sets the value of the big increment for this text field.
- */
- public void setBigIncrement(int value) {
- bigIncrementValue = value;
- }
-
- /**
- * Method from interface DCListener.
- */
- public void increment() {
- increment(1);
- }
-
- /**
- * Method from interface DCListener.
- */
- public void decrement() {
- increment(-1);
- }
-
- /**
- * Method from interface DCListener.
- */
- public void bigIncrement() {
- increment(bigIncrementValue);
- }
-
- /**
- * Method from interface DCListener.
- */
- public void bigDecrement() {
- increment(-1*bigIncrementValue);
- }
-
- /**
- * Increments the value of the textfield. It does not increment it
- * if this will lead to an invalid value.
- * @param value how much to increment by. It can be negative if one
- * desires to decrement.
- */
- protected void increment(int value) {
- setValue(getValue() + value);
- }
-
- /**
- * The current integer value associated with this text field.
- * @return the int value.
- */
- public int getValue() {
- return value;
- }
-
- /**
- * Sets the current integer value associated with this text
- * field. The text field will display this value. If the value is not
- * valid then the old value will remain in effect.
- */
- public void setValue(int newValue) {
- if (checkValue(newValue)) {
- value = newValue;
- setText(Integer.toString(newValue));
- }
- }
-
- /**
- * Sets the value for this text field from the given text.
- * @param text the text that this text field shoudl contain.
- * @exception NumberFormatException Thrown when the supplied text
- * cannot be parsed in to an interger value.
- */
- public void setValueFromText(String text) throws NumberFormatException {
- Integer i = Integer.valueOf(text);
- setValue(i.intValue());
- }
-
- /**
- * Checks to see if the given value
- * would be valid for this text
- * field. Classes deriving form this class should override this to
- * provide whatever checks they desire.
- * @param newValue
- * @return true if it will be valid,
- * false otherwise. This class
- * returns true always for all integer values.
- */
- public boolean checkValue(int newValue) {
- return true;
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dchanger/DateTimeDialog.java b/usr/src/cmd/krb5/kadmin/gui/dchanger/DateTimeDialog.java
deleted file mode 100644
index d6100d2278..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dchanger/DateTimeDialog.java
+++ /dev/null
@@ -1,564 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-import java.awt.*;
-import java.awt.event.*;
-import java.text.*;
-import java.util.*;
-
-/**
- * This class creates a dialog box that helps the user enter date and
- * time with mouse clicks. The dialog box need only be created
- * once. The Ok and Cancel buttons merely call setVisible with an
- * argument of false.
- */
-
-// The layout will consist of 3 panels: topPanel contains the
-// different labels and fields. middlePanel contains the buttons
-// midnight and now. bottomPanel contains the buttons ok, cancel and
-// help. The last two panels are separated by a LineSeparator.
-
-public class DateTimeDialog extends Dialog {
-
- private boolean save;
-
- private Frame parent;
-
- private DCPanel dateDCPanel;
- private DCPanel yearDCPanel;
- private DCPanel hourDCPanel;
- private DCPanel minuteDCPanel;
- private DCPanel secondDCPanel;
-
- private Choice month;
-
- private DCCircularTextField date;
- private DCCircularTextField hour;
- private DCCircularTextField second;
- private DCCircularTextField minute;
- private DCTextField year;
-
- private Button ok;
- private Button cancel;
- private Button help;
- private Button now;
- private Button midnight;
-
- private HelpDialog hd = null;
-
- private Panel topPanel;
- private Panel middlePanel;
- private Panel bottomPanel;
-
- private GregorianCalendar calendar = null;
- private static int MONTH_LEN[] = {31, 28, 31, 30, 31, 30, 31,
- 31, 30, 31, 30, 31};
- private static DateFormat df =
- DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
- DateFormat.MEDIUM);
- private static Toolkit toolkit = Toolkit.getDefaultToolkit();
-
- // For I18N
- private static ResourceBundle rb =
- ResourceBundle.getBundle("GuiResource" /* NOI18N */);
- private static ResourceBundle hrb =
- ResourceBundle.getBundle("HelpData" /* NOI18N */);
-
- /**
- * Constructor that lays out the componeents and sets the different
- * event handlers.
- */
- public DateTimeDialog(Frame parent, Color background, Color foreground) {
- super(parent, getString("SEAM Date/Time Helper"), true);
-
- this.parent = parent;
-
- setLayout(new GridBagLayout());
- addLabels();
- addFields(background, foreground);
- addDCPanels();
- addButtons();
- addFocusListeners();
- setCurrentTime();
- setSize(250, 300);
- setResizable(false);
-
- addWindowListener(new DCWindowListener());
- // initializeFocusOnTextField();
- }
-
- /**
- * Adds the labels only
- */
- private void addLabels() {
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weighty = 1;
-
- topPanel = new Panel();
- topPanel.setLayout(new GridBagLayout());
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.anchor = GridBagConstraints.CENTER;
- gbc.gridx = 0;
- gbc.gridy = 0;
- add(topPanel, gbc);
-
- gbc.fill = GridBagConstraints.NONE;
- gbc.anchor = GridBagConstraints.EAST;
- gbc.gridx = 0;
- gbc.gridwidth = 1;
-
- gbc.gridy = 0;
- topPanel.add(new Label(getString("Month")), gbc);
-
- gbc.gridy = 1;
- topPanel.add(new Label(getString("Date")), gbc);
-
- gbc.gridy = 2;
- topPanel.add(new Label(getString("Year")), gbc);
-
- gbc.gridy = 3;
- topPanel.add(new Label(getString("Hour")), gbc);
-
- gbc.gridy = 4;
- topPanel.add(new Label(getString("Minute")), gbc);
-
- gbc.gridy = 5;
- topPanel.add(new Label(getString("Second")), gbc);
- }
-
- /**
- * Adds the fields that will store the month, year, date, hour,
- * minute and second.
- */
- private void addFields(Color background, Color foreground) {
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weighty = 1;
-
- month = new Choice();
- initializeMonth();
-
- date = new DCCircularTextField("1", 2);
- date.setMinimum(1);
- date.setBackground(background);
- date.setForeground(foreground);
-
- hour = new DCCircularTextField("00", 2);
- hour.setMaximum(23);
- hour.setBackground(background);
- hour.setForeground(foreground);
- minute = new DCCircularTextField("00", 2);
- minute.setBackground(background);
- minute.setForeground(foreground);
- second = new DCCircularTextField("00", 2);
- second.setBackground(background);
- second.setForeground(foreground);
-
- year = new DCTextField("2000", 4);
- year.setBackground(background);
- year.setForeground(foreground);
-
- Panel tempPanel = new Panel();
- tempPanel.add(month);
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.anchor = GridBagConstraints.WEST;
- gbc.gridx = 1;
- gbc.gridy = 0;
- topPanel.add(tempPanel, gbc);
-
-
- // Remaining fields are in topPanel
- gbc.gridwidth = 1;
- gbc.fill = GridBagConstraints.NONE;
- gbc.gridx = 1;
-
- gbc.gridy = 1;
- topPanel.add(date, gbc);
-
- gbc.gridy = 2;
- topPanel.add(year, gbc);
-
- gbc.gridy = 3;
- topPanel.add(hour, gbc);
-
- gbc.gridy = 4;
- topPanel.add(minute, gbc);
-
- gbc.gridy = 5;
- topPanel.add(second, gbc);
-
- }
-
- // Adds the panels with the +/- buttons for each DCField
- private void addDCPanels() {
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weighty = 1;
-
- gbc.gridx = 2;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.gridheight = 1;
- gbc.fill = GridBagConstraints.NONE;
-
- dateDCPanel = new DCPanel();
- yearDCPanel = new DCPanel();
- hourDCPanel = new DCPanel();
- minuteDCPanel = new DCPanel();
- secondDCPanel = new DCPanel();
-
- gbc.gridy = 1;
- topPanel.add(dateDCPanel, gbc);
-
- gbc.gridy = GridBagConstraints.RELATIVE;
- topPanel.add(yearDCPanel, gbc);
- topPanel.add(hourDCPanel, gbc);
- topPanel.add(minuteDCPanel, gbc);
- topPanel.add(secondDCPanel, gbc);
-
- dateDCPanel.setListener(date);
- yearDCPanel.setListener(year);
- hourDCPanel.setListener(hour);
- minuteDCPanel.setListener(minute);
- secondDCPanel.setListener(second);
-
- }
-
-
- /**
- * Sets the strings in the month pull-down menu. Also adds a listener
- * that will modify the maximum date allowed depending on the month.
- */
- private void initializeMonth() {
- DateFormatSymbols dfSymbols = new DateFormatSymbols();
- String[] monthStrings = dfSymbols.getMonths();
-
- month.removeAll();
-
- for (int i = 0; i < monthStrings.length; i++) {
- month.add(monthStrings[i]);
- }
-
- month.addItemListener(new DCMonthChangeListener());
- }
-
- // Adds all the buttons
- private void addButtons() {
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weighty = 1;
-
-
- middlePanel = new Panel();
- now = new Button(getString("Now"));
- midnight = new Button(getString("Midnight"));
- middlePanel.add(midnight);
- middlePanel.add(now);
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.gridx = 0;
- gbc.gridy = 1;
- add(middlePanel, gbc);
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.gridheight = 1;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.gridx = 0;
- gbc.gridy = 2;
- add(new LineSeparator(), gbc);
-
- bottomPanel = new Panel();
- ok = new Button(getString("OK"));
- cancel = new Button(getString("Cancel"));
- help = new Button(getString("Help"));
- bottomPanel.add(ok);
- bottomPanel.add(cancel);
- bottomPanel.add(help);
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.gridx = 0;
- gbc.gridy = 3;
- add(bottomPanel, gbc);
-
- DCButtonListener bl = new DCButtonListener();
- ok.addActionListener(bl);
- cancel.addActionListener(bl);
- help.addActionListener(bl);
- now.addActionListener(bl);
- midnight.addActionListener(bl);
-
- }
-
- /**
- * Adds a listener to all the text fields so that when they go out
- * of focus (by tab or clicking), their values are checked for
- * errors.
- */
- private void addFocusListeners() {
- FocusListener fl = new DCFocusListener();
- date.addFocusListener(fl);
- year.addFocusListener(fl);
- hour.addFocusListener(fl);
- minute.addFocusListener(fl);
- second.addFocusListener(fl);
- }
-
- /**
- * Closes (hides) the dialog box when the user is done
- * @param save true if the box is being dismissed by clicking on
- * "ok" and the user wants to retain the modified value, false
- * otherwise.
- */
- private void dateTimeDialogClose(boolean save) {
- if (save == true) {
- if (!updateFromGui())
- return;
- }
- this.save = save;
- setVisible(false);
- }
-
- /**
- * Checks to see is all text fields contain valid values.
- * @return true if all are valid, false otherwise.
- */
- private boolean updateFromGui() {
- return (checkErrorAndSet(date) && checkErrorAndSet(year) &&
- checkErrorAndSet(hour) && checkErrorAndSet(minute) &&
- checkErrorAndSet(second));
- }
-
- /**
- * Checks the value stored as text in the field and sets its numeric
- * value to that if it is legitimate.
- * @return true if the value was legitimate and got set, false
- * otherwise.
- */
- private boolean checkErrorAndSet(DCTextField tf) {
- int i = 0;
- boolean errorState = false;
- try {
- i = new Integer(tf.getText().trim()).intValue();
- errorState = !tf.checkValue(i);
- } catch (NumberFormatException e2) {
- errorState = true;
- }
- if (errorState) {
- tf.selectAll();
- toolkit.beep();
- }
- else
- tf.setValue(i);
- return !errorState;
- }
-
- /**
- * Checks if the user requested that the value in this
- * DateTimeDialog be used e.g., by clicking on "Ok" instead of
- * "Cancel."
- * @return true if the user wants to save the value in the
- * DateTimeDialog, false otherwise.
- */
-
- public boolean isSaved() {
- return save;
- }
-
- /**
- * Sets the date and time in fields to the current date and time.
- */
- public void setCurrentTime() {
- setDate(new Date());
- }
-
- /**
- * Sets the current date of the DateTimeDialog and updates the gui
- * components to reflect that.
- * @param date the Date to set it to.
- */
- public void setDate(Date newDate) {
- calendar = new GregorianCalendar();
- calendar.setTime(newDate);
-
- // update gui components now
-
- year.setValue(calendar.get(Calendar.YEAR));
- month.select(calendar.get(Calendar.MONTH));
- date.setValue(calendar.get(Calendar.DATE));
-
- // Make sure the date is in the valid range for the given month
- fixDateField();
-
- hour.setValue(calendar.get(Calendar.HOUR_OF_DAY));
- minute.setValue(calendar.get(Calendar.MINUTE));
- second.setValue(calendar.get(Calendar.SECOND));
-
- }
-
- /**
- * Set the time fields to midnight, i.e., clears them.
- */
- private void setMidnight() {
- hour.setValue(0);
- minute.setValue(0);
- second.setValue(0);
- }
-
- /**
- * Make sure the date does not exceed the maximum allowable value
- * for the currently selected month.
- */
- private void fixDateField() {
- int monthIndex = month.getSelectedIndex();
- int max = MONTH_LEN[monthIndex];
- date.setMaximum(calendar.isLeapYear(year.getValue()) &&
- monthIndex == 1 ? max + 1 : max);
- }
-
- // * **********************************************
- // I N N E R C L A S S E S F O L L O W
- // ***********************************************
-
- /**
- * Listener for closing the dialog box through the window close
- * menu.
- */
- private class DCWindowListener extends WindowAdapter {
- public void windowClosing(WindowEvent e) {
- dateTimeDialogClose(false);
- }
- }
-
- /**
- * Listener for any change in the month selected through the
- * pull down menu
- */
- private class DCMonthChangeListener implements ItemListener {
- public void itemStateChanged(ItemEvent e) {
- fixDateField();
- }
- }
-
- /**
- * Listener for all the buttons. The listener is shared for the sake
- * of reducing the number of overall listeners.
- * TBD: I18N the help
- */
- private class DCButtonListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == ok) {
- DateTimeDialog.this.dateTimeDialogClose(true);
- }
- else
- if (e.getSource() == cancel) {
- DateTimeDialog.this.dateTimeDialogClose(false);
- }
- else
- if (e.getSource() == now) {
- DateTimeDialog.this.setCurrentTime();
- }
- else
- if (e.getSource() == midnight) {
- DateTimeDialog.this.setMidnight();
- }
- else
- if (e.getSource() == help) {
- if (hd != null)
- hd.setVisible(true);
- else {
- hd = new
- HelpDialog(DateTimeDialog.this.parent,
- getString("Help for Date and Time Dialog"), false);
- hd.setVisible(true);
- hd.setText(getString(hrb, "DateTimeDialogHelp"));
- }
- }
- } // actionPerformed
- }
-
- /**
- * Listener for any change in focus with respect to the text
- * fields. When a text field is going out of focus, it detemines if the
- * text value in it is valid. If not, it returns focus to that text
- * field.
- */
- private class DCFocusListener extends FocusAdapter {
-
- public void focusLost(FocusEvent e) {
- if (!checkErrorAndSet((DCTextField)e.getSource()))
- ((DCTextField)e.getSource()).requestFocus();
- }
- }
-
- /**
- * The string representation of the dialog box.
- * @return a String which contians the date and time in locale
- * default format, but to MEDIUM length formatting style.
- */
- public String toString() {
- calendar = new GregorianCalendar(year.getValue(),
- month.getSelectedIndex(),
- date.getValue(),
- hour.getValue(),
- minute.getValue(),
- second.getValue());
- return df.format(calendar.getTime());
- }
-
- /**
- * Call rb.getString(), but catch exception and return English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- return (getString(rb, key));
- }
-
- private static final String getString(ResourceBundle rb, String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
- /* BEGIN JSTYLED */
- /*
- public static final void main(String args[]) {
- Frame f = new Frame();
- // while (true){
- DateTimeDialog d = new DateTimeDialog(f, Color.white, Color.black);
- d.setVisible(true);
- System.out.println(d.toString());
- // }
- }
- */
- /* END JSTYLED */
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dchanger/DurationHelper.java b/usr/src/cmd/krb5/kadmin/gui/dchanger/DurationHelper.java
deleted file mode 100644
index 0e865704bb..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dchanger/DurationHelper.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
- import java.awt.*;
- import java.awt.event.*;
- import java.text.NumberFormat;
- import java.util.ResourceBundle;
- import java.util.MissingResourceException;
-
- /**
- * This creates a modal dialog box that lets the user enter a duration of
- * time in seconds/minutes/hours/days/weeks/months/years.
- */
- public class DurationHelper extends Dialog {
-
- private boolean save;
-
- private Frame parent;
-
- private Choice unit;
- private TextField value;
- private Label total;
-
- private Button ok;
- private Button cancel;
- private Button help;
- private Button compute;
-
- private HelpDialog hd = null;
-
- // For I18N
- private static ResourceBundle rb =
- ResourceBundle.getBundle("GuiResource" /* NOI18N */);
- private static ResourceBundle hrb =
- ResourceBundle.getBundle("HelpData" /* NOI18N */);
-
- private static String[] units = { getString("Seconds"),
- getString("Minutes"),
- getString("Hours"),
- getString("Days"),
- getString("Weeks"),
- getString("Months"),
- getString("Years") };
- private static int[] unitMultipliers = {1, 60, 60*60, 60*60*24,
- 60*60*24*7, 60*60*24*30,
- 60*60*24*365 };
- private static NumberFormat nf = NumberFormat.getInstance();
- private static Toolkit toolkit = Toolkit.getDefaultToolkit();
-
- /**
- * Constructor for DurationHelper.
- * @param parent the parent Frame to whom input will be blocked
- * while this dialog box is begin shown(modal behaviour).
- */
- public DurationHelper(Frame parent, Color background, Color foreground) {
- super(parent, getString("SEAM Duration Helper"), true);
-
- this.parent = parent;
-
- setLayout(new GridBagLayout());
- addLabels();
- addFields(background, foreground);
- addButtons();
- setSize(350, 150);
- setResizable(false);
- addWindowListener(new DHWindowListener());
- }
-
- /**
- * Adds all the labels.
- */
- private void addLabels() {
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
- add(new Label(getString("Unit")), gbc);
- add(new Label(getString("Value")), gbc);
-
- gbc.gridx = 3;
- gbc.gridy = 0;
- add(new Label(getString("Seconds")), gbc);
- }
-
- /**
- * Initializes the strings for the units.
- */
- private void initUnits() {
- unit = new Choice();
- for (int i = 0; i < units.length; i++)
- unit.add(units[i]);
- unit.select(getString("Hours"));
- unit.addItemListener(new ItemListener() {
- public void itemStateChanged(ItemEvent e) {
- DurationHelper.this.checkErrorAndSetTotal();
- }
- });
- }
-
- /**
- * Adds all the fields
- */
- private void addFields(Color background, Color foreground) {
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
- initUnits();
- value = new TextField();
- value.setBackground(background);
- value.setForeground(foreground);
- value.setColumns(10);
-
- // TBD: make total large enough to hold the largest int
- total = new Label(" " /* NO18N */,
- Label.RIGHT);
- gbc.gridx = 0;
- gbc.gridy = 1;
- add(unit, gbc);
- gbc.gridx = 1;
- add(value, gbc);
- gbc.gridx = 3;
- add(total, gbc);
-
- value.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- DurationHelper.this.durationHelperClose(true);
- }
- });
- }
-
- /**
- * Adds all the buttons.
- */
- private void addButtons() {
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.gridx = 0;
- gbc.gridy = 2;
- gbc.insets = new Insets(0, 10, 0, 10);
- add(new LineSeparator(), gbc);
- gbc.insets = new Insets(0, 0, 0, 0);
-
- Panel p = new Panel();
- p.setLayout(new GridBagLayout());
- ok = new Button(getString("OK"));
- cancel = new Button(getString("Cancel"));
- help = new Button(getString("Help"));
- gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
- p.add(ok, gbc);
- p.add(cancel, gbc);
- p.add(help, gbc);
-
- ActionListener bl = new ButtonListener();
- ok.addActionListener(bl);
- cancel.addActionListener(bl);
- help.addActionListener(bl);
-
- gbc.gridy = 3;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- add(p, gbc);
-
- gbc = new GridBagConstraints();
- gbc.gridx = 2;
- gbc.gridy = 1;
- compute = new Button(getString("="));
- add(compute, gbc);
- compute.addActionListener(bl);
-
- }
-
- /**
- * Updates the label called total.
- * @return false if the text entry in the value
- * field is not parseable, true otherwise.
- */
- private boolean checkErrorAndSetTotal() {
- try {
- String noSpaces = value.getText().trim();
- value.setText(noSpaces);
- Long l = Long.valueOf(noSpaces);
- total.setText(nf.format(l.longValue() *
- unitMultipliers[unit.getSelectedIndex()]));
- } catch (NumberFormatException e) {
- value.requestFocus();
- value.selectAll();
- toolkit.beep();
- return false;
- }
-
- return true;
- }
-
- /**
- * Hides the duration helper.
- * @param save true if the user wants to save the current value in
- * the dialog box, false if it is to be discarded. This is decided
- * based on whether the user clicked on the "Ok" button or the
- * "Cancel" button. Choosing the window close menu is equivalent to
- * clicking on "Cancel."
- */
- private void durationHelperClose(boolean save) {
- if (save == true) {
- if (!checkErrorAndSetTotal())
- return;
- }
- this.save = save;
- setVisible(false);
- }
-
- /**
- * Determine whether or not the user wanted to save the value in
- * this Dialog box. The user indicates this by clicking on the Ok
- * button to save it and on the Cancel button to discard it. Using the
- * window close menu responds the same way as cancel.
- * @return true if the user wanted to use this value,
- * false if it is to be discarded.
- */
- public boolean isSaved() {
- return save;
- }
-
- /**
- * The string representation of the contents of this dialog box.
- * @return a String with the total number of seconds entered.
- */
- public String toString() {
- return total.getText();
- }
-
- // * **********************************************
- // I N N E R C L A S S E S F O L L O W
- // * **********************************************
-
- /**
- * Listener for closing the dialog box through the window close
- * menu.
- */
- private class DHWindowListener extends WindowAdapter {
- public void windowClosing(WindowEvent e) {
- durationHelperClose(false);
- }
- }
-
- /**
- * Listener for all the buttons.
- * The listener is shared for the sake
- * of reducing the number of overall listeners.
- */
- private class ButtonListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == ok) {
- DurationHelper.this.durationHelperClose(true);
- } else if (e.getSource() == cancel) {
- DurationHelper.this.durationHelperClose(false);
- } else if (e.getSource() == help) {
- if (hd != null)
- hd.setVisible(true);
- else {
- hd = new HelpDialog(DurationHelper. this.parent,
- getString("Help for entering time duration"),
- false, 5, 45);
- hd.setVisible(true);
- hd.setText(getString(hrb, "DurationHelperHelp"));
- }
- } else if (e.getSource() == compute) {
- checkErrorAndSetTotal();
- }
- }
- }
-
- /**
- * Call rb.getString(), but catch exception
- * and return English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- return (getString(rb, key));
- }
-
- private static final String getString(ResourceBundle rb, String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
- /*
- * A main method to test this class.
- */
- /* BEGIN JSTYLED */
- /*
- public static void main(String args[]) {
- Frame f = new Frame("Test DurationHelper");
- f.setVisible(true); // for help dialog to use this as parent
- DurationHelper dh = new DurationHelper(f, Color.white, Color.black);
- dh.setVisible(true);
- System.out.println("Save is " + dh.save);
- }
- */
- /* END JSTYLED */
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dchanger/EncListDialog.java b/usr/src/cmd/krb5/kadmin/gui/dchanger/EncListDialog.java
deleted file mode 100644
index ca7f2e079b..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dchanger/EncListDialog.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-import java.awt.*;
-import java.awt.event.*;
-import java.text.*;
-import java.util.*;
-
-/*
- * This class creates a dialog box that helps the user select encryption types
- * with some mouse clicks. The dialog box need only be created
- * once. The Ok and Cancel buttons merely call setVisible with an
- * argument of false.
- */
-
-// The layout will consist of 2 panels:
-// topPanel contains the dynamic list of encryption type check boxes.
-// bottomPanel contains the buttons ok, clear, cancel, and help.
-// The two panels are separated by a LineSeparator.
-
-public class EncListDialog extends Dialog {
-
- private boolean save;
-
- private int i;
-
- private Frame parent;
-
- private Button ok;
- private Button clear;
- private Button cancel;
- private Button help;
-
- private HelpDialog hd = null;
-
- private Panel topPanel;
- private Panel bottomPanel;
-
- private static Toolkit toolkit = Toolkit.getDefaultToolkit();
-
- private Kadmin kadmin;
- private Checkbox cb[];
- private Integer grp_num[];
- private String encList = "";
-
- // For I18N
- private static ResourceBundle rb =
- ResourceBundle.getBundle("GuiResource" /* NOI18N */);
- private static ResourceBundle hrb =
- ResourceBundle.getBundle("HelpData" /* NOI18N */);
-
- /*
- * Constructor that lays out the components and sets the different
- * event handlers.
- */
- public EncListDialog(Frame parent, Color background, Color foreground,
- Kadmin session) {
- super(parent, getString("SEAM Encryption Type List Helper"),
- true);
-
- this.parent = parent;
-
- this.kadmin = session;
-
- setLayout(new GridBagLayout());
- addCheckboxes();
-
- addButtons();
- setSize(250, 300);
- setResizable(true);
-
- addWindowListener(new DCWindowListener());
- }
-
- /*
- * Adds the check boxes only
- */
- private void addCheckboxes() {
-
- GridBagConstraints gbc = new GridBagConstraints();
-
- gbc.weighty = 1;
-
- topPanel = new Panel();
- topPanel.setLayout(new GridBagLayout());
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.anchor = GridBagConstraints.CENTER;
- gbc.gridx = 0;
- gbc.gridy = 0;
- add(topPanel, gbc);
-
- gbc.fill = GridBagConstraints.NONE;
- gbc.anchor = GridBagConstraints.WEST;
- gbc.gridx = 0;
- gbc.gridwidth = 1;
-
- String et[] = kadmin.getEncList();
-
- cb = new Checkbox[et.length];
- grp_num = new Integer[et.length];
-
- for (int i = 0; i < et.length; i++) {
- String[] grp_enc = et[i].split(" ");
- cb[i] = new Checkbox(grp_enc[1]);
- CBListener cbl = new CBListener();
- cb[i].addItemListener(cbl);
- grp_num[i] = new Integer(grp_enc[0]);
- gbc.gridy = i;
- topPanel.add(cb[i], gbc);
- }
- }
-
- // Adds all the buttons
- private void addButtons() {
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weighty = 1;
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.gridheight = 1;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.gridx = 0;
- gbc.gridy = 2;
- add(new LineSeparator(), gbc);
-
- bottomPanel = new Panel();
- ok = new Button(getString("OK"));
- clear = new Button(getString("Clear"));
- cancel = new Button(getString("Cancel"));
- help = new Button(getString("Help"));
- bottomPanel.add(ok);
- bottomPanel.add(clear);
- bottomPanel.add(cancel);
- bottomPanel.add(help);
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.gridx = 0;
- gbc.gridy = 3;
- add(bottomPanel, gbc);
-
- DCButtonListener bl = new DCButtonListener();
- ok.addActionListener(bl);
- clear.addActionListener(bl);
- cancel.addActionListener(bl);
- help.addActionListener(bl);
- }
-
- /*
- * Closes (hides) the dialog box when the user is done
- * @param save true if the box is being dismissed by clicking on
- * "ok" and the user wants to retain the modified value, false
- * otherwise.
- */
- private void encListDialogClose(boolean save) {
- this.save = save;
- setVisible(false);
- }
-
- /*
- * Checks if the user requested that the value in this
- * EncListDialog be used e.g., by clicking on "Ok" instead of
- * "Cancel."
- * @return true if the user wants to save the value in the
- * EncListDialog, false otherwise.
- */
-
- public boolean isSaved() {
- return save;
- }
- /*
- * Sets the current enc list for the principal during modification.
- * @param enc types of current principal.
- */
- public void setEncTypes(String e_str) {
-
- if (e_str.compareTo("") == 0)
- return;
-
- String[] e_list = e_str.split(" ");
-
- for (int i = 0; i < e_list.length; i++) {
- for (int j = 0; j < cb.length; j++) {
- if (cb[j].getLabel().compareTo(e_list[i])
- == 0) {
- cb[j].setState(true);
- break;
- }
- }
- }
- }
-
- // ***********************************************
- // I N N E R C L A S S E S F O L L O W
- // ***********************************************
-
- /*
- * Listener for an annoying work around in deselection of a check box
- * in case the user doesn't want any items in a grouped list.
- */
- private class CBListener implements ItemListener {
-
- public void itemStateChanged(ItemEvent e) {
- Checkbox c = (Checkbox) e.getItemSelectable();
-
- if (e.getStateChange() == e.DESELECTED) {
- c.setState(false);
- } else if (e.getStateChange() == e.SELECTED) {
- for (int i = 0; i < cb.length; i++) {
- if (c == cb[i]) {
- for (int j = 0; j < cb.length; j++) {
- if (grp_num[j].equals(grp_num[i])
- == true) {
- cb[j].setState(false);
- }
- }
- break;
- }
- }
- c.setState(true);
- // else what else is there
- }
- }
- }
-
- /*
- * Listener for closing the dialog box through the window close
- * menu.
- */
- private class DCWindowListener extends WindowAdapter {
-
- public void windowClosing(WindowEvent e) {
- encListDialogClose(false);
- }
- }
-
- /*
- * Listener for all the buttons. The listener is shared for the sake
- * of reducing the number of overall listeners.
- * TBD: I18N the help
- */
- private class DCButtonListener implements ActionListener {
-
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == ok) {
- EncListDialog.this.encListDialogClose(true);
- } else if (e.getSource() == cancel) {
- EncListDialog.this.encListDialogClose(false);
- } else if (e.getSource() == clear) {
- for (int i = 0; i < cb.length; i++) {
- cb[i].setState(false);
- }
- } else if (e.getSource() == help) {
- if (hd != null)
- hd.setVisible(true);
- else {
- hd = new HelpDialog(
- EncListDialog.this.parent,
- getString(
- "Help for Encryption Type Dialog"),
- false);
- hd.setVisible(true);
- hd.setText(getString(hrb,
- "EncryptionTypeDialogHelp"));
- }
- }
- } // actionPerformed
- }
-
- /*
- * The string representation of the dialog box.
- * @return a String which contians the encryption type list
- */
- public String toString() {
-
- for (int i = 0; i < cb.length; i++) {
- if (cb[i].getState() == true)
- encList = encList.concat(cb[i].getLabel() +
- " ");
- }
- return encList;
- }
-
- /*
- * Call rb.getString(), but catch exception and return English
- * key so that small spelling errors don't cripple the GUI
- */
- private static final String getString(String key) {
- return (getString(rb, key));
- }
-
- private static final String getString(ResourceBundle rb, String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+
- ", using English.");
- return key;
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dchanger/LineSeparator.java b/usr/src/cmd/krb5/kadmin/gui/dchanger/LineSeparator.java
deleted file mode 100644
index 464bb7f3fa..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dchanger/LineSeparator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-import java.awt.*;
-
-/**
- * This class creates a line separator by drawing a 3D rectangle.
- */
-public class LineSeparator extends Canvas {
-
- /**
- * Paints the 3D rectangle
- * @param g The graphics context to use for painting.
- */
- public void paint(Graphics g) {
- Dimension d = getSize();
- g.setColor(getBackground());
- g.fill3DRect(0, (int)(d.height/2), d.width, 2, true);
- }
-
- /**
- * Main method to test the class.
- */
- public static void main(String args[]) {
- Frame f = new Frame("Test LineSeparator");
- f.setBounds(10, 10, 50, 50);
- f.add(new LineSeparator());
- f.setVisible(true);
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/dchanger/Makefile b/usr/src/cmd/krb5/kadmin/gui/dchanger/Makefile
deleted file mode 100644
index 36c77a1083..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/dchanger/Makefile
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-include ../../../../../Makefile.master
-include ../../../../Makefile.cmd
-
-
-GUIDIR=$(SRC)/cmd/krb5/kadmin/gui
-
-CLASSES=DCPanel DCListener DCTextField DCCircularTextField DateTimeDialog \
- DurationHelper LineSeparator EncListDialog
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=../classdir/%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-CLASSPATH=$(GUIDIR):$(GUIDIR)/classdir:$(GUIDIR)/util:$(GUIDIR)/dataclasses:$(GUIDIR)/dchanger:$(GUIDIR)/native:$(GUIDIR)/visualrt:$(GUIDIR)/visualrt.jar:$(JAVA_ROOT)/jre/lib/rt.jar:$(JAVA_ROOT)/jre/lib/i18n.jar
-
-../classdir/%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d ../classdir -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
-
-install: all
-
-echo:
- @echo $(CLASSES)
- @echo $(JFILES)
- @echo $(CLFILES)
- @echo $(SUFFIXES)
-
-clobber : clobber_local
-
-clean: clean_local
-
-clobber_local: clean_local
-
-clean_local:
- $(RM) $(CLFILES)
- $(RM) ./*.class
-
-FRC:
diff --git a/usr/src/cmd/krb5/kadmin/gui/gkadmin.template b/usr/src/cmd/krb5/kadmin/gui/gkadmin.template
deleted file mode 100644
index 36c1526606..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/gkadmin.template
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
-# Launch script for krb5 admin GUI
-#
-
-JAVA=/usr/java
-
-/bin/env LD_LIBRARY_PATH=$JAVA/lib:/usr/dt/lib:/usr/lib/krb5 \
-\
-$JAVA/bin/java -classpath \
-\
-/usr/lib/krb5/ListResourceBundle:/usr/lib/krb5:/usr/lib/krb5/gkadmin.jar:/usr/lib/krb5/visualrt.jar:$JAVA/lib/rt.jar:$JAVA/lib/i18n.jar \
-\
-KdcGuiMain &
diff --git a/usr/src/cmd/krb5/kadmin/gui/native/Kadmin.c b/usr/src/cmd/krb5/kadmin/gui/native/Kadmin.c
deleted file mode 100644
index bcb49d1263..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/native/Kadmin.c
+++ /dev/null
@@ -1,1793 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#include <jni.h>
-#include <kadm5/admin.h>
-#include <adm_err.h>
-#include <sys/signal.h>
-#include <netdb.h>
-#include <iconv.h>
-#include <langinfo.h>
-#include <clnt/client_internal.h>
-#include <etypes.h>
-
-static int Principal_to_kadmin(JNIEnv *, jobject, int, krb5_principal *,
- kadm5_principal_ent_rec *, long *, char **, char **,
- kadm5_config_params *);
-static int kadmin_to_Principal(kadm5_principal_ent_rec *, JNIEnv *, jobject,
- const char *, char *);
-static int Policy_to_kadmin(JNIEnv *, jobject, int, kadm5_policy_ent_rec *,
- long *);
-static int kadmin_to_Policy(kadm5_policy_ent_rec *, JNIEnv *, jobject);
-static int edit_comments(kadm5_principal_ent_rec *, krb5_principal, char *);
-static int format_comments(kadm5_principal_ent_rec *, long *, char *);
-static int extract_comments(kadm5_principal_ent_rec *, char **);
-static int set_password(krb5_principal, char *, kadm5_config_params *);
-static void handle_error(JNIEnv *, int);
-static char *qualify(char *name);
-
-static void *server_handle = NULL;
-static char *cur_realm = NULL;
-
-static iconv_t cd = (iconv_t)-1;
-
-static char *
-qualify(char *name)
-{
- char *fullname;
- int len;
-
- if (strchr(name, '@') != NULL)
- return (strdup(name));
- len = strlen(name) + strlen(cur_realm) + 2;
- fullname = malloc(len);
- if (fullname)
- snprintf(fullname, len, "%s@%s", name, cur_realm);
- return (fullname);
-}
-
-
-/*
- * Class: Kadmin
- * Method: sessionInit
- * Signature:
- * (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_sessionInit(JNIEnv *env, jobject obj, jstring name,
- jstring passwd, jstring realm, jstring server, jint port)
-{
- const char *cname = NULL, *cpasswd = NULL;
- const char *crealm = NULL, *cserver = NULL;
- int cport = 749;
- kadm5_config_params params;
- kadm5_ret_t ret;
- char *ka_service = NULL;
- char *ka_name = NULL;
- char *codeset;
- int len;
-
- if (server_handle != NULL)
- kadm5_destroy(server_handle);
-
- if (cd == (iconv_t)-1) {
- codeset = nl_langinfo(CODESET);
- /* fprintf(stderr, "codeset returned %s\n", codeset); XXX */
- if (strcmp("UTF-8", codeset) != 0)
- cd = iconv_open("UTF-8", codeset);
- }
-
- /* Get hold of string arguments */
- cname = (*env)->GetStringUTFChars(env, name, NULL);
- if (!cname) {
- ret = KADM_JNI_STRING;
- goto err;
- }
- cpasswd = (*env)->GetStringUTFChars(env, passwd, NULL);
- if (!cpasswd) {
- ret = KADM_JNI_STRING;
- goto err;
- }
- crealm = (*env)->GetStringUTFChars(env, realm, NULL);
- if (!crealm) {
- ret = KADM_JNI_STRING;
- goto err;
- }
- if (cur_realm)
- free(cur_realm);
- cur_realm = strdup(crealm);
- cserver = (*env)->GetStringUTFChars(env, server, NULL);
- if (!cserver) {
- ret = KADM_JNI_STRING;
- goto err;
- }
- if (port != 0)
- cport = port;
- else {
- /*
- * Look for a services map entry
- * Note that this will be in network byte order,
- * and that the API requires native byte order.
- */
- struct servent *rec = getservbyname("kerberos-adm", NULL);
- if (rec)
- cport = (int)ntohs((uint16_t)rec->s_port);
- }
-
- /*
- * Build kadm5_config_params with realm name and server name
- */
- memset((char *)&params, 0, sizeof (params));
- params.realm = (char *)crealm;
- params.admin_server = (char *)cserver;
- params.mask = KADM5_CONFIG_REALM | KADM5_CONFIG_ADMIN_SERVER;
- params.kadmind_port = cport;
- params.mask |= KADM5_CONFIG_KADMIND_PORT;
- len = strlen("kadmin") + strlen(cserver) + 2;
- ka_service = malloc(len);
- if (!ka_service) {
- ret = KADM_ENOMEM;
- goto err;
- }
- snprintf(ka_service, len, "%s@%s", "kadmin", cserver);
- ka_name = qualify((char *)cname);
- if (!ka_name) {
- ret = KADM_ENOMEM;
- goto err;
- }
-
- ret = kadm5_init_with_password(ka_name, (char *)cpasswd,
- ka_service, &params, KADM5_STRUCT_VERSION, KADM5_API_VERSION_2,
- NULL, &server_handle);
-
- /* Release string arguments and variables */
- if (cname)
- (*env)->ReleaseStringUTFChars(env, name, cname);
- if (cpasswd)
- (*env)->ReleaseStringUTFChars(env, passwd, cpasswd);
- if (crealm)
- (*env)->ReleaseStringUTFChars(env, realm, crealm);
- if (cserver)
- (*env)->ReleaseStringUTFChars(env, server, cserver);
- if (ka_name)
- free(ka_name);
- if (ka_service)
- free(ka_service);
-
-err:
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
- return (JNI_TRUE);
-}
-
-/*
- * Class: Kadmin
- * Method: sessionExit
- * Signature: ()V
- */
-/*ARGSUSED*/
-JNIEXPORT void JNICALL
-Java_Kadmin_sessionExit(JNIEnv *env, jobject obj)
-{
- kadm5_ret_t ret;
-
- /*
- * Use persistant handle to close
- */
- ret = kadm5_destroy(server_handle);
- if (ret)
- handle_error(env, ret);
- server_handle = NULL;
- if (cur_realm) {
- free(cur_realm);
- cur_realm = NULL;
- }
-}
-
-/*
- * Class: Kadmin
- * Method: getPrivs
- * Signature: ()I
- */
-/*ARGSUSED*/
-JNIEXPORT jint JNICALL
-Java_Kadmin_getPrivs(JNIEnv *env, jobject obj)
-{
- long privs = 0;
- kadm5_ret_t ret;
-
- /*
- * Get ACL for this user
- */
- ret = kadm5_get_privs(server_handle, &privs);
- if (ret)
- handle_error(env, ret);
- return (privs);
-}
-
-static int
-charcmp(const void *a, const void *b)
-{
- char **sa = (char **)a;
- char **sb = (char **)b;
-
- return (strcmp(*sa, *sb));
-}
-
-/*
- * Class: Kadmin
- * Method: getEncList
- * Signature: ()[Ljava/lang/String;
- */
-
-/*ARGSUSED*/
-JNIEXPORT jobjectArray JNICALL
-Java_Kadmin_getEncList(JNIEnv *env,
- jobject obj)
-{
- jclass stringclass;
- jobjectArray elist;
- jstring s;
- kadm5_ret_t ret;
- int i, j, k, *grp = NULL;
- krb5_int32 num_keysalts;
- krb5_key_salt_tuple *keysalts;
- krb5_enctype e_type;
- kadm5_server_handle_t handle;
- char *e_str, e_buf[BUFSIZ];
- krb5_error_code kret;
- krb5_boolean similar;
- krb5_context context;
-
- if (kret = krb5_init_context(&context)) {
- handle_error(env, kret);
- return (NULL);
- }
-
- /*
- * Create and populate a Java String array
- */
- stringclass = (*env)->FindClass(env, "java/lang/String");
- if (!stringclass) {
- handle_error(env, KADM_JNI_CLASS);
- return (NULL);
- }
-
- handle = server_handle;
- num_keysalts = handle->params.num_keysalts;
- keysalts = handle->params.keysalts;
- elist = (*env)->NewObjectArray(env, num_keysalts, stringclass, NULL);
- if (!elist) {
- handle_error(env, KADM_JNI_ARRAY);
- return (NULL);
- }
-
- /*
- * Populate groupings for encryption types that are similar.
- */
- grp = malloc(sizeof (int) * num_keysalts);
- if (grp == NULL) {
- handle_error(env, errno);
- return (NULL);
- }
- for (i = 0; i < num_keysalts; i++)
- grp[i] = i;
-
- for (i = 0; i < num_keysalts; i++) {
- if (grp[i] != i)
- continue;
- for (j = i + 1; j < num_keysalts; j++) {
- if (kret = krb5_c_enctype_compare(context,
- keysalts[i].ks_enctype, keysalts[j].ks_enctype,
- &similar)) {
- free(grp);
- handle_error(env, kret);
- return (NULL);
- }
- if (similar)
- grp[j] = grp[i];
- }
- }
-
- /*
- * Populate from params' supported enc type list from the initial kadmin
- * session, this is documented default that the client can handle.
- */
- for (i = 0; i < num_keysalts; i++) {
- e_type = keysalts[i].ks_enctype;
-
- for (j = 0; j < krb5_enctypes_length; j++) {
- if (e_type == krb5_enctypes_list[j].etype) {
- e_str = krb5_enctypes_list[j].in_string;
- (void) snprintf(e_buf, sizeof (e_buf),
- "%d %s:normal", grp[i], e_str);
- s = (*env)->NewStringUTF(env, e_buf);
- if (!s) {
- free(grp);
- handle_error(env, KADM_JNI_NEWSTRING);
- return (NULL);
- }
- (*env)->SetObjectArrayElement(env, elist, i, s);
- break;
- }
- }
- }
-
- free(grp);
- return (elist);
-}
-
-/*
- * Class: Kadmin
- * Method: getPrincipalList
- * Signature: ()[Ljava/lang/String;
- */
-/*ARGSUSED*/
-JNIEXPORT jobjectArray JNICALL
-Java_Kadmin_getPrincipalList(JNIEnv *env,
- jobject obj)
-{
- jclass stringclass;
- jobjectArray plist;
- jstring s;
- char **princs;
- int i, count;
- kadm5_ret_t ret;
-
- /*
- * Get the list
- */
- ret = kadm5_get_principals(server_handle, NULL, &princs, &count);
- if (ret) {
- handle_error(env, ret);
- return (NULL);
- }
- qsort(princs, count, sizeof (princs[0]), charcmp);
-
- /*
- * Create and populate a Java String array
- */
- stringclass = (*env)->FindClass(env, "java/lang/String");
- if (!stringclass) {
- handle_error(env, KADM_JNI_CLASS);
- return (NULL);
- }
- plist = (*env)->NewObjectArray(env, count, stringclass, NULL);
- if (!plist) {
- handle_error(env, KADM_JNI_ARRAY);
- return (NULL);
- }
- for (i = 0; i < count; i++) {
- s = (*env)->NewStringUTF(env, princs[i]);
- if (!s) {
- handle_error(env, KADM_JNI_NEWSTRING);
- return (NULL);
- }
- (*env)->SetObjectArrayElement(env, plist, i, s);
- }
- kadm5_free_name_list(server_handle, princs, count);
- return (plist);
-}
-
-/*
- * Class: Kadmin
- * Method: getPrincipalList2
- * Signature: ()Ljava/lang/String;
- */
-/*ARGSUSED*/
-JNIEXPORT jstring JNICALL
-Java_Kadmin_getPrincipalList2(JNIEnv *env, jobject obj)
-{
- jstring plist;
- char **princs;
- char *princlist = NULL;
- int i, count, n, used = 0, size = 0;
- kadm5_ret_t ret;
-
- /*
- * Get the list
- */
- ret = kadm5_get_principals(server_handle, NULL, &princs, &count);
- if (ret) {
- handle_error(env, ret);
- return (NULL);
- }
- qsort(princs, count, sizeof (princs[0]), charcmp);
-
- /*
- * Build one large C string to hold list
- */
- used = 0;
- princlist = malloc(size += 2048);
- if (!princlist)
- return (NULL);
- for (i = 0; i < count; i++) {
- n = strlen(princs[i]);
- if (used + n + 2 > size) {
- princlist = realloc(princlist, size += 2048);
- if (!princlist)
- return (NULL);
- }
- strncpy(&princlist[used], princs[i], n);
- used += n + 1;
- princlist[used-1] = ' ';
- princlist[used] = '\0';
- }
-
- /*
- * Create a Java String
- */
- plist = (*env)->NewStringUTF(env, princlist);
- free(princlist);
- kadm5_free_name_list(server_handle, princs, count);
- return (plist);
-}
-
-
-/*
- * Class: Kadmin
- * Method: loadPrincipal
- * Signature: (Ljava/lang/String;LPrincipal;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_loadPrincipal(JNIEnv *env, jobject obj, jstring name, jobject prin)
-{
- const char *cname;
- char *fullname;
- char *comments = NULL;
- kadm5_principal_ent_rec pr_rec;
- kadm5_ret_t ret;
- long mask = KADM5_PRINCIPAL_NORMAL_MASK | KADM5_TL_DATA |
- KADM5_KEY_DATA;
- krb5_principal kprin = NULL;
- krb5_context context;
-
- cname = (*env)->GetStringUTFChars(env, name, NULL);
- if (!cname) {
- handle_error(env, KADM_JNI_STRING);
- return (JNI_FALSE);
- }
- fullname = qualify((char *)cname);
- if (!fullname) {
- handle_error(env, KADM_JNI_STRING);
- return (JNI_FALSE);
- }
-
- /*
- * Get the principal
- */
- ret = krb5_init_context(&context);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
- ret = krb5_parse_name(context, fullname, &kprin);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
- memset((char *)&pr_rec, 0, sizeof (pr_rec));
- ret = kadm5_get_principal(server_handle, kprin, &pr_rec, mask);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- /*
- * Pull the comments out of the tl_data array
- */
- ret = extract_comments(&pr_rec, &comments);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- /*
- * Fill in our Principal object
- */
- ret = kadmin_to_Principal(&pr_rec, env, prin, cname, comments);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- kadm5_free_principal_ent(server_handle, &pr_rec);
- krb5_free_principal(context, kprin);
- (*env)->ReleaseStringUTFChars(env, name, cname);
- free(fullname);
-
- return (JNI_TRUE);
-}
-
-/*
- * Class: Kadmin
- * Method: savePrincipal
- * Signature: (LPrincipal;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_savePrincipal(JNIEnv *env, jobject obj, jobject prin)
-{
- kadm5_principal_ent_rec pr_rec;
- long mask;
- char *pw = NULL;
- char *comments = NULL;
- kadm5_ret_t ret;
- krb5_principal kprin = NULL;
- kadm5_config_params params;
-
- /*
- * Convert principal object to the kadmin API structure
- */
- memset((char *)&pr_rec, 0, sizeof (pr_rec));
- memset((char *)&params, 0, sizeof (params));
- ret = Principal_to_kadmin(env, prin, 0, &kprin, &pr_rec, &mask,
- &pw, &comments, &params);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- /*
- * Save the principal
- */
- ret = kadm5_modify_principal(server_handle, &pr_rec, mask);
- if (ret) {
- handle_error(env, ret);
- ret = JNI_FALSE;
- goto out;
- }
-
- /*
- * Handle any comments with read-modify-write
- */
- ret = edit_comments(&pr_rec, kprin, comments);
- if (ret) {
- handle_error(env, ret);
- ret = JNI_FALSE;
- goto out;
- }
-
- /*
- * Set the password if changed
- */
- ret = set_password(kprin, pw, &params);
- if (params.keysalts != NULL)
- free(params.keysalts);
- if (ret) {
- handle_error(env, ret);
- ret = JNI_FALSE;
- goto out;
- }
- ret = JNI_TRUE;
-
-out:
- kadm5_free_principal_ent(server_handle, &pr_rec);
- return (ret);
-}
-
-/*
- * Class: Kadmin
- * Method: createPrincipal
- * Signature: (LPrincipal;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_createPrincipal(JNIEnv *env, jobject obj, jobject prin)
-{
- kadm5_principal_ent_rec pr_rec;
- long mask;
- char *pw = NULL;
- char *comments = NULL;
- kadm5_ret_t ret;
- krb5_principal kprin = NULL;
- kadm5_config_params params;
-
- /*
- * Convert principal object to the kadmin API structure
- */
- memset((char *)&pr_rec, 0, sizeof (pr_rec));
- memset((char *)&params, 0, sizeof (params));
- ret = Principal_to_kadmin(env, prin, 1, &kprin, &pr_rec, &mask,
- &pw, &comments, &params);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- /*
- * Create the new principal
- */
- if (params.mask & KADM5_CONFIG_ENCTYPES) {
- ret = kadm5_create_principal_3(server_handle, &pr_rec, mask,
- params.num_keysalts, params.keysalts, pw);
- if (params.keysalts != NULL)
- free(params.keysalts);
- } else
- ret = kadm5_create_principal(server_handle, &pr_rec, mask, pw);
- if (ret) {
- handle_error(env, ret);
- ret = JNI_FALSE;
- goto out;
- }
-
- /*
- * Handle any comments with read-modify-write
- */
- ret = edit_comments(&pr_rec, kprin, comments);
- if (ret) {
- handle_error(env, ret);
- ret = JNI_FALSE;
- goto out;
- }
-
- ret = JNI_TRUE;
-out:
- kadm5_free_principal_ent(server_handle, &pr_rec);
- return (ret);
-}
-
-/*
- * Class: Kadmin
- * Method: deletePrincipal
- * Signature: (Ljava/lang/String;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_deletePrincipal(JNIEnv *env, jobject obj, jstring name)
-{
- kadm5_ret_t ret;
- const char *cname;
- char *fullname;
- krb5_principal kprin = NULL;
- krb5_context context;
-
- /*
- * Get name and call the delete function
- */
- cname = (*env)->GetStringUTFChars(env, name, NULL);
- if (!cname) {
- handle_error(env, KADM_JNI_STRING);
- return (JNI_FALSE);
- }
- fullname = qualify((char *)cname);
- if (!fullname) {
- handle_error(env, KADM_JNI_STRING);
- return (JNI_FALSE);
- }
-
- ret = krb5_init_context(&context);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
- ret = krb5_parse_name(context, fullname, &kprin);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
- ret = kadm5_delete_principal(server_handle, kprin);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- krb5_free_principal(context, kprin);
- (*env)->ReleaseStringUTFChars(env, name, cname);
- free(fullname);
-
- return (JNI_TRUE);
-}
-
-/*
- * Class: Kadmin
- * Method: getPolicyList
- * Signature: ()[Ljava/lang/String;
- */
-/*ARGSUSED*/
-JNIEXPORT jobjectArray JNICALL
-Java_Kadmin_getPolicyList(JNIEnv *env, jobject obj)
-{
- jclass stringclass;
- jobjectArray plist;
- jstring s;
- char **pols;
- int i, count;
- kadm5_ret_t ret;
-
- /*
- * Get the list
- */
- ret = kadm5_get_policies(server_handle, NULL, &pols, &count);
- if (ret) {
- handle_error(env, ret);
- return (NULL);
- }
- qsort(pols, count, sizeof (pols[0]), charcmp);
-
- /*
- * Create and populate a Java String array
- */
- stringclass = (*env)->FindClass(env, "java/lang/String");
- if (!stringclass) {
- handle_error(env, KADM_JNI_CLASS);
- return (NULL);
- }
- plist = (*env)->NewObjectArray(env, count, stringclass, NULL);
- if (!plist) {
- handle_error(env, KADM_JNI_ARRAY);
- return (NULL);
- }
- for (i = 0; i < count; i++) {
- s = (*env)->NewStringUTF(env, pols[i]);
- if (!s) {
- handle_error(env, KADM_JNI_NEWSTRING);
- return (NULL);
- }
- (*env)->SetObjectArrayElement(env, plist, i, s);
- }
- kadm5_free_name_list(server_handle, pols, count);
- return (plist);
-}
-
-/*
- * Class: Kadmin
- * Method: loadPolicy
- * Signature: (Ljava/lang/String;LPolicy;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_loadPolicy(JNIEnv *env, jobject obj, jstring name, jobject pol)
-{
- const char *cname;
- kadm5_policy_ent_rec po_rec;
- kadm5_ret_t ret;
-
- cname = (*env)->GetStringUTFChars(env, name, NULL);
- if (!cname) {
- handle_error(env, KADM_JNI_STRING);
- return (JNI_FALSE);
- }
-
- ret = kadm5_get_policy(server_handle, (char *)cname, &po_rec);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- ret = kadmin_to_Policy(&po_rec, env, pol);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- kadm5_free_policy_ent(server_handle, &po_rec);
- (*env)->ReleaseStringUTFChars(env, name, cname);
-
- return (JNI_TRUE);
-}
-
-/*
- * Class: Kadmin
- * Method: savePolicy
- * Signature: (LPolicy;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_savePolicy(JNIEnv *env, jobject obj, jobject pol)
-{
- kadm5_policy_ent_rec po_rec;
- kadm5_ret_t ret;
- long mask;
-
- ret = Policy_to_kadmin(env, pol, 0, &po_rec, &mask);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- ret = kadm5_modify_policy(server_handle, &po_rec, mask);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- return (JNI_TRUE);
-}
-
-/*
- * Class: Kadmin
- * Method: createPolicy
- * Signature: (LPolicy;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_createPolicy(JNIEnv * env, jobject obj, jobject pol)
-{
- kadm5_policy_ent_rec po_rec;
- kadm5_ret_t ret;
- long mask;
-
- ret = Policy_to_kadmin(env, pol, 1, &po_rec, &mask);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- ret = kadm5_create_policy(server_handle, &po_rec, mask);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
-
- return (JNI_TRUE);
-}
-
-/*
- * Class: Kadmin
- * Method: deletePolicy
- * Signature: (Ljava/lang/String;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_deletePolicy(JNIEnv * env, jobject obj, jstring name)
-{
- const char *cname;
- kadm5_ret_t ret;
-
- cname = (*env)->GetStringUTFChars(env, name, NULL);
- if (!cname) {
- handle_error(env, KADM_JNI_STRING);
- return (JNI_FALSE);
- }
-
- ret = kadm5_delete_policy(server_handle, (char *)cname);
- if (ret) {
- handle_error(env, ret);
- return (JNI_FALSE);
- }
- return (JNI_TRUE);
-}
-
-#ifdef needtoknowmore
-/*
- * Class: Kadmin
- * Method: loadDefaults
- * Signature: (LConfig;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_loadDefaults(JNIEnv *env, jobject obj, jobject config)
-{
- /*
- *
- */
- return (JNI_TRUE);
-}
-
-/*
- * Class: Kadmin
- * Method: saveDefaults
- * Signature: (LConfig;)Z
- */
-/*ARGSUSED*/
-JNIEXPORT jboolean JNICALL
-Java_Kadmin_saveDefaults(JNIEnv *env, jobject obj, jobject config)
-{
- /*
- *
- */
- return (JNI_TRUE);
-}
-#endif
-
-static int
-Principal_to_kadmin(JNIEnv *env, jobject prin, int new, krb5_principal *kprin,
- kadm5_principal_ent_rec *p, long *mask, char **pw, char **comments,
- kadm5_config_params *pparams)
-{
- jstring s;
- jclass prcl, dateclass, intclass;
- jfieldID f;
- jmethodID mid;
- jobject obj;
- const char *str;
- jlong l;
- jint i;
- jboolean b;
- kadm5_ret_t ret;
- krb5_context context;
- jfieldID flagsID;
- jobject flagsObj;
- jclass flagsClass;
- char *fullname;
-
- *mask = 0;
-
- prcl = (*env)->GetObjectClass(env, prin);
- if (!prcl)
- return (KADM_JNI_CLASS);
- dateclass = (*env)->FindClass(env, "java/util/Date");
- if (!dateclass)
- return (KADM_JNI_CLASS);
- intclass = (*env)->FindClass(env, "java/lang/Integer");
- if (!intclass)
- return (KADM_JNI_CLASS);
-
- f = (*env)->GetFieldID(env, prcl, "PrName", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- s = (jstring)obj;
- str = (*env)->GetStringUTFChars(env, s, NULL);
- if (!str)
- return (KADM_JNI_STRING);
- fullname = qualify((char *)str);
- if (!fullname)
- return (KADM_ENOMEM);
- ret = krb5_init_context(&context);
- if (ret)
- return (ret);
- ret = krb5_parse_name(context, fullname, kprin);
- if (ret)
- return (ret);
- p->principal = *kprin;
- (*env)->ReleaseStringUTFChars(env, s, str);
- if (new)
- *mask |= KADM5_PRINCIPAL;
-
- f = (*env)->GetFieldID(env, prcl, "PrExpireTime", "Ljava/util/Date;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- mid = (*env)->GetMethodID(env, dateclass, "getTime", "()J");
- if (!mid)
- return (KADM_JNI_METHOD);
- l = (*env)->CallLongMethod(env, obj, mid);
- p->princ_expire_time = (long)(l / 1000LL);
- *mask |= KADM5_PRINC_EXPIRE_TIME;
-
- f = (*env)->GetFieldID(env, prcl, "EncTypes", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- s = (jstring)obj;
- str = (*env)->GetStringUTFChars(env, s, NULL);
- if (!str)
- return (KADM_JNI_STRING);
- if (strlen(str)) {
- ret = krb5_string_to_keysalts((char *)str, ", \t", ":.-", 0,
- &(pparams->keysalts), &(pparams->num_keysalts));
- if (ret) {
- (*env)->ReleaseStringUTFChars(env, s, str);
- return (ret);
- }
- pparams->mask |= KADM5_CONFIG_ENCTYPES;
- }
- (*env)->ReleaseStringUTFChars(env, s, str);
-
- f = (*env)->GetFieldID(env, prcl, "Policy", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- s = (jstring)obj;
- str = (*env)->GetStringUTFChars(env, s, NULL);
- if (!str)
- return (KADM_JNI_STRING);
- p->policy = strdup(str);
- if (!p->policy)
- return (KADM_ENOMEM);
- (*env)->ReleaseStringUTFChars(env, s, str);
- if (strlen(p->policy))
- *mask |= KADM5_POLICY;
- else if (!new)
- *mask |= KADM5_POLICY_CLR;
-
- f = (*env)->GetFieldID(env, prcl, "PwExpireTime", "Ljava/util/Date;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (obj) {
- mid = (*env)->GetMethodID(env, dateclass, "getTime", "()J");
- if (!mid)
- return (KADM_JNI_METHOD);
- l = (*env)->CallLongMethod(env, obj, mid);
- p->pw_expiration = (long)(l / 1000LL);
- *mask |= KADM5_PW_EXPIRATION;
- }
-
- f = (*env)->GetFieldID(env, prcl, "MaxLife", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- mid = (*env)->GetMethodID(env, intclass, "intValue", "()I");
- if (!mid)
- return (KADM_JNI_METHOD);
- i = (*env)->CallIntMethod(env, obj, mid);
- p->max_life = i;
- *mask |= KADM5_MAX_LIFE;
-
- f = (*env)->GetFieldID(env, prcl, "MaxRenew", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- mid = (*env)->GetMethodID(env, intclass, "intValue", "()I");
- if (!mid)
- return (KADM_JNI_METHOD);
- i = (*env)->CallIntMethod(env, obj, mid);
- p->max_renewable_life = i;
- *mask |= KADM5_MAX_RLIFE;
-
- /*
- * Comments: because of API rules on the TL_DATA entries,
- * which say that a load-modify-write is always necessary,
- * we will only deal with comments if they are newly changed.
- */
- f = (*env)->GetFieldID(env, prcl, "newComments", "Z");
- if (!f)
- return (KADM_JNI_FIELD);
- b = (*env)->GetBooleanField(env, prin, f);
- if (b == JNI_TRUE) {
-
- f = (*env)->GetFieldID(env, prcl, "Comments",
- "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- s = (jstring)obj;
- str = (*env)->GetStringUTFChars(env, s, NULL);
- if (!str)
- return (KADM_JNI_STRING);
- *comments = strdup(str);
- if (!*comments)
- return (KADM_ENOMEM);
- (*env)->ReleaseStringUTFChars(env, s, str);
- }
-
- f = (*env)->GetFieldID(env, prcl, "Kvno", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- mid = (*env)->GetMethodID(env, intclass, "intValue", "()I");
- if (!mid)
- return (KADM_JNI_METHOD);
- i = (*env)->CallIntMethod(env, obj, mid);
- p->kvno = i;
- *mask |= KADM5_KVNO;
-
- /*
- * Get the Principal.flags field id
- */
- flagsID = (*env)->GetFieldID(env, prcl, "flags",
- "LFlags;");
- if (!f)
- return (KADM_JNI_FIELD);
-
- /*
- * Get the Principal.Flags object
- */
- flagsObj = (*env)->GetObjectField(env, prin, flagsID);
- if (!obj)
- return (KADM_JNI_OFIELD);
-
- /*
- * Get the Flags object's class
- */
- flagsClass = (*env)->GetObjectClass(env, flagsObj);
- if (!flagsClass)
- return (KADM_JNI_CLASS);
-
- /*
- * Now get the Flags.flags field's value
- */
- f = (*env)->GetFieldID(env, flagsClass, "flags", "I");
- if (!f)
- return (KADM_JNI_FIELD);
-
- i = (*env)->GetIntField(env, flagsObj, f);
- p->attributes = i & ~65536;
-
- *mask |= KADM5_ATTRIBUTES;
-
- f = (*env)->GetFieldID(env, prcl, "PrPasswd", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- s = (jstring)obj;
- str = (*env)->GetStringUTFChars(env, s, NULL);
- if (!str)
- return (KADM_JNI_STRING);
- *pw = strdup(str);
- if (!*pw)
- return (KADM_ENOMEM);
- (*env)->ReleaseStringUTFChars(env, s, str);
-
- free(fullname);
- return (0);
-}
-
-static int
-kadmin_to_Principal(kadm5_principal_ent_rec *p, JNIEnv *env, jobject prin,
- const char *prname, char *comments)
-{
- jstring s;
- jclass prcl, dateclass, intclass;
- jfieldID f;
- jmethodID mid;
- jobject obj;
- int i, j, n, used = 0, size = 0;
- kadm5_ret_t ret;
- krb5_context context;
- char *ptr, *enclist = NULL, *e_str = NULL, *i_str;
- char *cstr;
-
- jfieldID flagsID;
- jobject flagsObj;
- jclass flagsClass;
-
- prcl = (*env)->GetObjectClass(env, prin);
- if (!prcl)
- return (KADM_JNI_CLASS);
- dateclass = (*env)->FindClass(env, "java/util/Date");
- if (!dateclass)
- return (KADM_JNI_CLASS);
- intclass = (*env)->FindClass(env, "java/lang/Integer");
- if (!intclass)
- return (KADM_JNI_CLASS);
-
- f = (*env)->GetFieldID(env, prcl, "PrName", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- s = (*env)->NewStringUTF(env, prname);
- if (!s)
- return (KADM_JNI_NEWSTRING);
- (*env)->SetObjectField(env, prin, f, s);
-
- f = (*env)->GetFieldID(env, prcl, "PrExpireTime", "Ljava/util/Date;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, dateclass, "setTime", "(J)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- (*env)->CallVoidMethod(env, obj, mid,
- (jlong) (p->princ_expire_time * 1000LL));
-
- f = (*env)->GetFieldID(env, prcl, "EncTypes", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- used = 0;
- enclist = malloc(size += 2048);
- if (enclist == NULL)
- return (errno);
- for (i = 0; i < p->n_key_data; i++) {
- krb5_key_data *key_data = &p->key_data[i];
- for (j = 0; j < krb5_enctypes_length; j++) {
- if (key_data->key_data_type[0] ==
- krb5_enctypes_list[j].etype) {
- i_str = krb5_enctypes_list[j].in_string;
- n = strlen(i_str) + strlen(":normal");
- e_str = malloc(n);
- if (e_str == NULL) {
- free(enclist);
- return (errno);
- }
- (void) snprintf(e_str, n + 1, "%s:normal",
- i_str);
- /*
- * We reallocate if existing + what we need +
- * 2 (the null byte and a space for the list).
- */
- if (used + n + 2 > size) {
- enclist = realloc(enclist,
- size += 2048);
- if (enclist == NULL) {
- free(e_str);
- return (errno);
- }
- }
- (void) strncpy(&enclist[used], e_str, n);
- free(e_str);
- e_str = NULL;
- used += n + 1;
- enclist[used-1] = ' ';
- enclist[used] = '\0';
- break;
- }
- }
- }
- s = (*env)->NewStringUTF(env, enclist);
- free(enclist);
- if (!s)
- return (KADM_JNI_NEWSTRING);
- (*env)->SetObjectField(env, prin, f, s);
-
- f = (*env)->GetFieldID(env, prcl, "Policy", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- cstr = strdup(p->policy ? p->policy : "");
- if (!cstr)
- return (KADM_ENOMEM);
- s = (*env)->NewStringUTF(env, cstr);
- if (!s)
- return (KADM_JNI_NEWSTRING);
- (*env)->SetObjectField(env, prin, f, s);
- free(cstr);
-
- f = (*env)->GetFieldID(env, prcl, "LastPwChange", "Ljava/util/Date;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, dateclass, "setTime", "(J)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- (*env)->CallVoidMethod(env, obj, mid,
- (jlong) (p->last_pwd_change * 1000LL));
-
- f = (*env)->GetFieldID(env, prcl, "PwExpireTime", "Ljava/util/Date;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, dateclass, "setTime", "(J)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- (*env)->CallVoidMethod(env, obj, mid,
- (jlong) (p->pw_expiration * 1000LL));
-
- f = (*env)->GetFieldID(env, prcl, "MaxLife", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid, (jint) p->max_life);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, prin, f, obj);
-
- f = (*env)->GetFieldID(env, prcl, "MaxRenew", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid,
- (jint) p->max_renewable_life);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, prin, f, obj);
-
- f = (*env)->GetFieldID(env, prcl, "ModTime", "Ljava/util/Date;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, dateclass, "setTime", "(J)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- (*env)->CallVoidMethod(env, obj, mid,
- (jlong) (p->mod_date * 1000LL));
-
- ret = krb5_init_context(&context);
- if (ret)
- return (ret);
- ret = krb5_unparse_name(context, p->mod_name, &ptr);
- if (ret)
- return (ret);
- f = (*env)->GetFieldID(env, prcl, "ModName", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- s = (*env)->NewStringUTF(env, ptr);
- if (!s)
- return (KADM_JNI_NEWSTRING);
- (*env)->SetObjectField(env, prin, f, s);
- krb5_xfree(ptr);
-
- f = (*env)->GetFieldID(env, prcl, "LastSuccess", "Ljava/util/Date;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, dateclass, "setTime", "(J)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- (*env)->CallVoidMethod(env, obj, mid,
- (jlong) (p->last_success * 1000LL));
-
- f = (*env)->GetFieldID(env, prcl, "LastFailure", "Ljava/util/Date;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, dateclass, "setTime", "(J)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->GetObjectField(env, prin, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- (*env)->CallVoidMethod(env, obj, mid,
- (jlong) (p->last_failed * 1000LL));
-
- f = (*env)->GetFieldID(env, prcl, "NumFailures", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid,
- (jint) p->fail_auth_count);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, prin, f, obj);
-
- f = (*env)->GetFieldID(env, prcl, "Comments", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- cstr = strdup(comments ? comments : "");
- if (!cstr)
- return (KADM_ENOMEM);
- s = (*env)->NewStringUTF(env, cstr);
- if (!s)
- return (KADM_JNI_NEWSTRING);
- (*env)->SetObjectField(env, prin, f, s);
- free(cstr);
-
- f = (*env)->GetFieldID(env, prcl, "Kvno", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid, p->kvno);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, prin, f, obj);
-
- f = (*env)->GetFieldID(env, prcl, "Mkvno", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid, p->mkvno);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, prin, f, obj);
-
- i = p->attributes;
-
- /*
- * Get the Principal.flags field id
- */
- flagsID = (*env)->GetFieldID(env, prcl, "flags",
- "LFlags;");
- if (!f)
- return (KADM_JNI_FIELD);
-
- /*
- * Get the Principal.Flags object
- */
- flagsObj = (*env)->GetObjectField(env, prin, flagsID);
- if (!obj)
- return (KADM_JNI_OFIELD);
-
- /*
- * Get the Flags object's class
- */
- flagsClass = (*env)->GetObjectClass(env, flagsObj);
-
- /*
- * Now set the Flags.flags field's value
- */
- f = (*env)->GetFieldID(env, flagsClass, "flags", "I");
- if (!f)
- return (KADM_JNI_FIELD);
- (*env)->SetIntField(env, flagsObj, f, i);
-
- return (0);
-}
-
-static int
-Policy_to_kadmin(JNIEnv *env, jobject pol, int new,
- kadm5_policy_ent_rec *p, long *mask)
-{
- jstring s;
- jclass pocl, intclass;
- jfieldID f;
- jmethodID mid;
- jobject obj;
- const char *str;
- int i;
-
- *mask = 0;
-
- pocl = (*env)->GetObjectClass(env, pol);
- if (!pocl)
- return (KADM_JNI_CLASS);
- intclass = (*env)->FindClass(env, "java/lang/Integer");
- if (!intclass)
- return (KADM_JNI_CLASS);
-
- f = (*env)->GetFieldID(env, pocl, "PolicyName", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, pol, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- s = (jstring)obj;
- str = (*env)->GetStringUTFChars(env, s, NULL);
- if (!str)
- return (KADM_JNI_STRING);
- p->policy = strdup(str);
- if (!p->policy)
- return (KADM_ENOMEM);
- if (new)
- *mask |= KADM5_POLICY;
- (*env)->ReleaseStringUTFChars(env, s, str);
-
- f = (*env)->GetFieldID(env, pocl, "PwMinLife", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, pol, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- mid = (*env)->GetMethodID(env, intclass, "intValue", "()I");
- if (!mid)
- return (KADM_JNI_METHOD);
- i = (*env)->CallIntMethod(env, obj, mid);
- p->pw_min_life = i;
- *mask |= KADM5_PW_MIN_LIFE;
-
- f = (*env)->GetFieldID(env, pocl, "PwMaxLife", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, pol, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- mid = (*env)->GetMethodID(env, intclass, "intValue", "()I");
- if (!mid)
- return (KADM_JNI_METHOD);
- i = (*env)->CallIntMethod(env, obj, mid);
- p->pw_max_life = i;
- *mask |= KADM5_PW_MAX_LIFE;
-
- f = (*env)->GetFieldID(env, pocl, "PwMinLength", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, pol, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- mid = (*env)->GetMethodID(env, intclass, "intValue", "()I");
- if (!mid)
- return (KADM_JNI_METHOD);
- i = (*env)->CallIntMethod(env, obj, mid);
- p->pw_min_length = i;
- *mask |= KADM5_PW_MIN_LENGTH;
-
- f = (*env)->GetFieldID(env, pocl, "PwMinClasses",
- "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, pol, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- mid = (*env)->GetMethodID(env, intclass, "intValue", "()I");
- if (!mid)
- return (KADM_JNI_METHOD);
- i = (*env)->CallIntMethod(env, obj, mid);
- p->pw_min_classes = i;
- *mask |= KADM5_PW_MIN_CLASSES;
-
- f = (*env)->GetFieldID(env, pocl, "PwSaveCount", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- obj = (*env)->GetObjectField(env, pol, f);
- if (!obj)
- return (KADM_JNI_OFIELD);
- mid = (*env)->GetMethodID(env, intclass, "intValue", "()I");
- if (!mid)
- return (KADM_JNI_METHOD);
- i = (*env)->CallIntMethod(env, obj, mid);
- p->pw_history_num = i;
- *mask |= KADM5_PW_HISTORY_NUM;
-
- return (0);
-}
-
-static int
-kadmin_to_Policy(kadm5_policy_ent_rec *p, JNIEnv *env, jobject pol)
-{
- jstring s;
- jclass pocl, intclass;
- jfieldID f;
- jmethodID mid;
- jobject obj;
-
- pocl = (*env)->GetObjectClass(env, pol);
- if (!pocl)
- return (KADM_JNI_CLASS);
- intclass = (*env)->FindClass(env, "java/lang/Integer");
- if (!intclass)
- return (KADM_JNI_CLASS);
-
- f = (*env)->GetFieldID(env, pocl, "PolicyName", "Ljava/lang/String;");
- if (!f)
- return (KADM_JNI_FIELD);
- s = (*env)->NewStringUTF(env, p->policy);
- if (!s)
- return (KADM_JNI_NEWSTRING);
- (*env)->SetObjectField(env, pol, f, s);
-
- f = (*env)->GetFieldID(env, pocl, "PwMinLife", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid, p->pw_min_life);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, pol, f, obj);
-
- f = (*env)->GetFieldID(env, pocl, "PwMaxLife", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid, p->pw_max_life);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, pol, f, obj);
-
- f = (*env)->GetFieldID(env, pocl, "PwMinLength", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid, p->pw_min_length);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, pol, f, obj);
-
- f = (*env)->GetFieldID(env, pocl, "PwMinClasses",
- "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid, p->pw_min_classes);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, pol, f, obj);
-
- f = (*env)->GetFieldID(env, pocl, "PwSaveCount", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid, p->pw_history_num);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, pol, f, obj);
-
- f = (*env)->GetFieldID(env, pocl, "RefCount", "Ljava/lang/Integer;");
- if (!f)
- return (KADM_JNI_FIELD);
- mid = (*env)->GetMethodID(env, intclass, "<init>", "(I)V");
- if (!mid)
- return (KADM_JNI_METHOD);
- obj = (*env)->NewObject(env, intclass, mid, p->policy_refcnt);
- if (!obj)
- return (KADM_JNI_OBJECT);
- (*env)->SetObjectField(env, pol, f, obj);
-
- return (0);
-}
-
-#define SUNSOFT_COMMENTS 256
-
-/*
- * The new principal has been saved; now we do a load-modify-store
- * to get the comments into the TL_DATA array.
- */
-static int
-edit_comments(kadm5_principal_ent_rec *p, krb5_principal kprin, char *comments)
-{
- long mask = KADM5_PRINCIPAL | KADM5_TL_DATA;
- kadm5_ret_t ret;
-
- if (!comments || !strlen(comments))
- return (0);
-
- ret = kadm5_get_principal(server_handle, kprin, p, mask);
- if (ret)
- return (ret);
-
- mask = 0;
- ret = format_comments(p, &mask, comments);
- if (ret)
- return (ret);
-
- if (mask) {
- ret = kadm5_modify_principal(server_handle, p, mask);
- if (ret)
- return (ret);
- }
-
- return (0);
-}
-
-/*
- * Put the comments into TL_DATA.
- */
-static int
-format_comments(kadm5_principal_ent_rec *p, long *mask, char *comments)
-{
- krb5_tl_data *t, *t1, *tdp;
- char *s;
-
- if (!comments || !strlen(comments))
- return (0);
- tdp = malloc(sizeof (krb5_tl_data));
- if (!tdp)
- return (KADM_ENOMEM);
- s = strdup(comments);
- if (!s)
- return (KADM_ENOMEM);
-
- /*
- * Search for existing comments field, or find next-to-last
- */
- for (t = t1 = p->tl_data; t; t1 = t, t = t->tl_data_next)
- if (t->tl_data_type == SUNSOFT_COMMENTS)
- break;
- if (t) {
- t->tl_data_length = strlen(comments);
- free(t->tl_data_contents);
- t->tl_data_contents = (krb5_octet *)s;
- } else {
- tdp->tl_data_next = NULL;
- tdp->tl_data_type = SUNSOFT_COMMENTS;
- tdp->tl_data_length = strlen(comments)+1;
- tdp->tl_data_contents = (krb5_octet *)s;
- if (t1)
- t1->tl_data_next = tdp;
- else
- p->tl_data = tdp;
- p->n_tl_data++;
- }
- *mask |= KADM5_TL_DATA;
- return (0);
-}
-
-/*
- * The principal has been loaded, so we pluck the comments out of TL_DATA.
- */
-static int
-extract_comments(kadm5_principal_ent_rec *p, char **comments)
-{
- krb5_tl_data *t;
- char *s;
-
- /*
- * Search for existing comments field, or find next-to-last
- */
- if (!p->n_tl_data)
- return (0);
- for (t = p->tl_data; t; t = t->tl_data_next)
- if (t->tl_data_type == SUNSOFT_COMMENTS)
- break;
- if (t && t->tl_data_length) {
- s = strdup((char *)t->tl_data_contents);
- if (!s)
- return (KADM_ENOMEM);
- s[t->tl_data_length] = 0;
- *comments = s;
- }
- return (0);
-}
-
-/*
- * Set password for the modified principal
- */
-static int
-set_password(krb5_principal kprin, char *pw, kadm5_config_params *pparams)
-{
- kadm5_ret_t ret;
- int keepold = 0;
-
- if (!pw || !strlen(pw))
- return (0);
-
- if (pparams->mask & KADM5_CONFIG_ENCTYPES)
- ret = kadm5_chpass_principal_3(server_handle, kprin, keepold,
- pparams->num_keysalts, pparams->keysalts, pw);
- else
- ret = kadm5_chpass_principal(server_handle, kprin, pw);
-
- if (ret)
- return (ret);
- return (0);
-}
-
-static void
-handle_error(JNIEnv *env, int error)
-{
- char *s;
- char from[BUFSIZ], to[BUFSIZ];
- char *tptr;
- const char *fptr;
- size_t ileft, oleft, ret;
-
- s = (char *)error_message(error);
- /* fprintf(stderr, "Kadmin: %s (%d)\n", s, error); XXX */
- if (cd != (iconv_t)-1) {
- ileft = strlen(s);
- strncpy(from, s, ileft);
- fptr = from;
- oleft = BUFSIZ;
- tptr = to;
- ret = iconv(cd, &fptr, &ileft, &tptr, &oleft);
- if (ret != (size_t)-1) {
- to[BUFSIZ-oleft] = '\0';
- s = to;
- /* fprintf(stderr, "Kadmin: %s (%d)\n", s, error); XXX */
- }
- }
- (*env)->ThrowNew(env, (*env)->FindClass(env, "java/lang/Exception"),
- (const char *)s);
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/native/Kadmin.java b/usr/src/cmd/krb5/kadmin/gui/native/Kadmin.java
deleted file mode 100644
index 2d182ca333..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/native/Kadmin.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-public class Kadmin {
-
- /**
- * Static block to load "libkadmin.so"
- */
- static { System.loadLibrary("kadmin"); }
-
- /**
- * Initialize the kadmin session with the passed arguments
- */
- public native boolean sessionInit(String name, String password,
- String realm, String server, int port);
-
- /**
- * Terminate the kadmin session gracefully
- */
- public native void sessionExit();
-
- /**
- * Get the ACL setting for the logged in principal
- */
- public native int getPrivs();
-
- /**
- * Get the complete enc type list
- */
- public native String[] getEncList();
-
- /**
- * Get the complete principal list
- */
- public native String[] getPrincipalList();
-
- /**
- * Get the complete principal list in one string
- */
- public native String getPrincipalList2();
-
- /**
- * Load the selected principal
- */
- public native boolean loadPrincipal(String name, Principal p);
-
- /**
- * Save the selected principal
- */
- public native boolean savePrincipal(Principal p);
-
- /**
- * Create a new principal
- */
- public native boolean createPrincipal(Principal p);
-
- /**
- * Delete the selected principal
- */
- public native boolean deletePrincipal(String name);
-
- /**
- * Get the complete policy list
- */
- public native String[] getPolicyList();
-
- /**
- * Load the selected policy
- */
- public native boolean loadPolicy(String name, Policy p);
-
- /**
- * Save the selected policy
- */
- public native boolean savePolicy(Policy p);
-
- /**
- * Create a new policy
- */
- public native boolean createPolicy(Policy p);
-
- /**
- * Delete the selected policy
- */
- public native boolean deletePolicy(String name);
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/native/Makefile b/usr/src/cmd/krb5/kadmin/gui/native/Makefile
deleted file mode 100644
index 68fadc5b17..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/native/Makefile
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-# usr/src/cmd/krb5/kadmin/gui/native/Makefile
-#
-
-include $(SRC)/lib/Makefile.lib
-
-SUBDIRS= $(MACH)
-
-all := TARGET= all
-clean := TARGET= clean
-clobber := TARGET= clobber
-install := TARGET= install
-lint := TARGET= lint
-
-
-CLASSES=Kadmin
-
-JFILES=$(CLASSES:%=%.java)
-CLFILES=$(CLASSES:%=../classdir/%.class)
-
-CLOBBERFILES += $(CLFILES) $(HFILES)
-
-GUI=$(SRC)/cmd/krb5/kadmin/gui
-JARFILES=$(GUI)/visualrt.jar:$(JAVA_ROOT)/jre/lib/rt.jar:$(JAVA_ROOT)/jre/lib/i18n.jar
-GUISUBDIRS=$(GUI)/classdir:$(GUI)/util:$(GUI)/dataclasses:$(GUI)/dchanger:$(GUI)/native:$(GUI)/visualrt
-
-CLASSPATH=$(GUI):$(GUISUBDIRS):$(JARFILES)
-
-.KEEP_STATE:
-
-all lint install: $(HFILES) $(CLFILES) $(SUBDIRS)
-
-../classdir/%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d ../classdir -classpath $(CLASSPATH) $<
-
-test: Test.class
- /bin/env LD_LIBRARY_PATH=$(MACH):$(ROOT)/usr/lib/krb5 $(JAVA_ROOT)/bin/java \
- -classpath $(CLASSPATH) Test
-
-clean clobber: $(SUBDIRS)
-
-$(MACH): FRC
- @cd $@; pwd; $(MAKE) $(TARGET)
-
-FRC:
diff --git a/usr/src/cmd/krb5/kadmin/gui/native/Makefile.com b/usr/src/cmd/krb5/kadmin/gui/native/Makefile.com
deleted file mode 100644
index a4651e8604..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/native/Makefile.com
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-LIBRARY= libkadmin.a
-VERS= .1
-
-CLASSES= Kadmin
-OBJECTS= $(CLASSES:%=%.o)
-
-include $(SRC)/lib/Makefile.lib
-#
-# Need this makefile to find the KRUNPATH, KERBRUNPATH and KMECHLIB definitions
-#
-include $(SRC)/lib/gss_mechs/mech_krb5/Makefile.mech_krb5
-
-ROOTLIBDIR= $(ROOT)/usr/lib/krb5
-LIBS = $(DYNLIB)
-
-CPPFLAGS += -I../ -I$(SRC)/lib/krb5 \
- -I$(SRC)/lib/krb5/kadm5 \
- -I$(SRC)/lib/gss_mechs/mech_krb5/include \
- -I$(SRC)/lib/gss_mechs/mech_krb5/krb5/error_tables \
- -I$(SRC)/uts/common/gssapi/mechs/krb5/include \
- -I$(JAVA_ROOT)/include -I$(JAVA_ROOT)/include/solaris
-
-CERRWARN += -_gcc=-Wno-parentheses
-CERRWARN += -_gcc=-Wno-unused-variable
-CERRWARN += -_gcc=-Wno-unused-function
-
-LDLIBS += $(KMECHLIB) -L$(ROOT)/$(KERBLIBDIR) -lkadm5clnt -lsocket -lc
-DYNFLAGS += $(KRUNPATH) $(KERBRUNPATH)
-
-#
-# This library is not directly linked against by any C applications
-# (only by Java code), so we do not build a lint library.
-#
-
-.KEEP_STATE:
-
-all: $(LIBS)
-
-LINTFLAGS = -mxus
-
-lint: lintcheck
-
-include $(SRC)/lib/Makefile.targ
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/native/Test.java b/usr/src/cmd/krb5/kadmin/gui/native/Test.java
deleted file mode 100644
index f1a69aa816..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/native/Test.java
+++ /dev/null
@@ -1,429 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-import java.awt.*;
-
-import Principal;
-import Policy;
-import Defaults;
-
-public class Test {
-
- /**
- * main method for easier debugging
- */
- public static void main(String[] args) {
- System.out.println("\nThese are unit tests for the JNI code.");
- System.out.println("They assume the existence of a jnitest/admin");
- System.out.println("user principal, with the password 'test123',");
- System.out.println("and the existance of a 'default' policy.\n");
-
- Kadmin k = new Kadmin();
- String [] p;
- Defaults d = new Defaults("$HOME/.gkadmin", Color.white);
-
- System.out.println("==> Set up a session for jnitest/admin.\n");
- boolean b = false;
-
- System.out.println("*** First, one with a bogus port number.");
- try {
- b = k.sessionInit("jnitest/admin", "test123",
- "SUNSOFT.ENG.SUN.COM", "ulong.eng.sun.com", 333);
- b = false;
- k.sessionExit();
- System.out.println("Unexpected success!\n");
- } catch (Exception e) {
- b = false;
- System.out.println("Expected failure "+e.getMessage()+"\n");
- }
-
- System.out.println("*** Next, one with the correct port number.");
- try {
- b = k.sessionInit("jnitest/admin", "test123",
- "SUNSOFT.ENG.SUN.COM", "ulong.eng.sun.com", 749);
- b = false;
- k.sessionExit();
- System.out.println("sessionInit was successful.\n");
- } catch (Exception e) {
- b = false;
- System.out.println("Unexpected exception!"+e.getMessage()+"\n");
- }
-
- System.out.println("*** Finally, try one with a zero port number.");
- try {
- b = k.sessionInit("jnitest/admin", "test123",
- "SUNSOFT.ENG.SUN.COM", "ulong.eng.sun.com", 0);
- } catch (Exception e) {
- b = false;
- System.out.println("Unexpected exception!"+e.getMessage()+"\n");
- }
- if (!b) {
- System.out.println("sessionInit failed\n");
- return;
- }
- System.out.println("sessionInit was successful!\n");
-
-
- System.out.println("==> Get the lists\n");
- System.out.println("*** Principal list");
- try {
- p = k.getPrincipalList();
- System.out.println("Called getPrincipalList()");
- } catch (Exception e) {
- p = null;
- System.out.println("getPrincipalList exception"+e.getMessage());
- }
- for (int i = 0; p != null && i < p.length; i++)
- System.out.println(p[i]);
- System.out.println(new Integer(p.length).toString()+" entries.");
- System.out.println("Principal list done\n");
-
-
- System.out.println("*** Policy list");
- try {
- p = k.getPolicyList();
- System.out.println("Called getPolicyList()");
- } catch (Exception e) {
- p = null;
- System.out.println("getPolicyList exception "+e.getMessage());
- }
- for (int i = 0; p != null && i < p.length; i++)
- System.out.println(p[i]);
- System.out.println(new Integer(p.length).toString()+" entries.");
- System.out.println("Policy list done\n");
-
-
- System.out.println("==> Get privileges\n");
- System.out.println("Calling getPrivs()");
- int privs = 0;
- try {
- privs = k.getPrivs();
- System.out.println("Privs are "
- +(new Integer(privs)).toHexString(privs)+"\n");
- } catch (Exception e) {
- System.out.println("getPrivs exception "+e.getMessage()+"\n");
- }
-
-
- System.out.println("==> Database tests\n");
- System.out.println("*** load a principal");
- System.out.println("Calling Principal(k)");
- Principal pr = new Principal(k, d);
- System.out.println("Calling loadPrincipal(jnitest/admin)");
- try {
- b = k.loadPrincipal("jnitest/admin", pr);
- } catch (Exception e) {
- b = false;
- System.out.println("loadPrincipal exception "+e.getMessage());
- }
- if (!b)
- System.out.println("loadPrincipal failed\n");
- else {
- System.out.println("loadPrincipal succeeded, details:");
- System.out.println(pr.toString());
- }
-
-
- System.out.println("*** load a policy");
- Policy po = new Policy(k);
- try {
- b = k.loadPolicy("default", po);
- } catch (Exception e) {
- b = false;
- System.out.println("loadPolicy exception "+e.getMessage());
- }
- if (!b)
- System.out.println("loadPolicy failed\n");
- else {
- System.out.println("loadPolicy succeeded");
- System.out.println("RefCount for "+po.PolicyName+" is "
- +po.RefCount.toString());
- System.out.println("PwMinLife for "+po.PolicyName+" is "
- +po.PwMinLife.toString()+"\n");
- }
-
-
- System.out.println("*** load and store a policy");
- try {
- b = k.loadPolicy("default", po);
- } catch (Exception e) {
- b = false;
- System.out.println("loadPolicy exception "+e.getMessage());
- }
- if (b) {
- po.setPolMinlife("555");
- try {
- b = k.savePolicy(po);
- } catch (Exception e) {
- b = false;
- System.out.println("savePolicy exception "+e.getMessage());
- }
- if (!b)
- System.out.println("savePolicy failed\n");
- else
- System.out.println("savePolicy succeeded\n");
- }
-
-
- System.out.println("*** create a policy");
- po = new Policy("aliens");
- try {
- b = k.createPolicy(po);
- } catch (Exception e) {
- b = false;
- System.out.println("createPolicy exception "+e.getMessage());
- }
- if (!b)
- System.out.println("createPolicy failed\n");
- else
- System.out.println("createPolicy succeeded\n");
-
- System.out.println("*** verify creation");
- try {
- p = k.getPolicyList();
- System.out.println("Called getPolicyList()");
- } catch (Exception e) {
- p = null;
- System.out.println("getPolicyList exception "+e.getMessage());
- }
- for (int i = 0; p != null && i < p.length; i++)
- if (p[i].equals("aliens"))
- System.out.println("Found 'aliens' as expected");
- System.out.println(new Integer(p.length).toString()+" entries.");
- System.out.println("Policy list done\n");
-
-
- System.out.println("*** delete a policy");
- try {
- b = k.deletePolicy("aliens");
- } catch (Exception e) {
- b = false;
- System.out.println("deletePolicy exception "+e.getMessage());
- }
- if (!b)
- System.out.println("deletePolicy failed\n");
- else
- System.out.println("deletePolicy succeeded\n");
-
- System.out.println("*** verify deletion");
- try {
- p = k.getPolicyList();
- System.out.println("Called getPolicyList()");
- } catch (Exception e) {
- p = null;
- System.out.println("getPolicyList exception "+e.getMessage());
- }
- for (int i = 0; p != null && i < p.length; i++)
- if (p[i].equals("aliens"))
- System.out.println("Found 'aliens' - oops!");
- System.out.println(new Integer(p.length).toString()+" entries.");
- System.out.println("Policy list done\n");
-
-
- System.out.println("*** load and store a principal");
- try {
- b = k.loadPrincipal("jnitest/admin", pr);
- } catch (Exception e) {
- b = false;
- System.out.println("loadPrincipal exception "+e);
- }
- if (b) {
- System.out.println("Loaded "+pr.toString());
- pr.setPolicy("default");
- System.out.println("Expiry "+pr.PrExpireTime.toString());
- System.out.println("PwExpiry "+pr.PwExpireTime.toString());
- try {
- b = k.savePrincipal(pr);
- } catch (Exception e) {
- b = false;
- System.out.println("savePrincipal exception "+e);
- }
- if (!b)
- System.out.println("savePrincipal failed\n");
- else
- System.out.println("savePrincipal succeeded\n");
- }
-
-
- System.out.println("*** ensure a principal is absent");
- try {
- b = k.deletePrincipal("harriet");
- System.out.println("deleted principal\n");
- } catch (Exception e) {
- System.out.println("Expected exception"+e+"\n");
- }
-
-
- System.out.println("*** create a principal");
- pr = new Principal("harriet");
- pr.setPassword("test123");
- System.out.println("Built "+pr.toString());
- try {
- b = k.createPrincipal(pr);
- } catch (Exception e) {
- b = false;
- System.out.println("createPrincipal exception "+e);
- }
- if (!b)
- System.out.println("createPrincipal failed");
- else
- System.out.println("createPrincipal succeeded");
-
- System.out.println("*** verify creation");
- try {
- p = k.getPrincipalList();
- } catch (Exception e) {
- p = null;
- System.out.println("getPrincipalList exception "+e);
- }
- System.out.println("Called getPrincipalList()");
- for (int i = 0; p != null && i < p.length; i++)
- if (p[i].equals("harriet"))
- System.out.println("Found 'harriet' as expected");
- System.out.println(new Integer(p.length).toString()+" entries.");
- System.out.println("Principal list done\n");
-
-
- System.out.println("*** set comments");
- pr = new Principal(k, d);
- try {
- b = k.loadPrincipal("harriet", pr);
- } catch (Exception e) {
- b = false;
- System.out.println("loadPrincipal exception "+e);
- }
- if (b) {
- pr.setComments("Who knows this user?");
- try {
- b = k.savePrincipal(pr);
- } catch (Exception e) {
- b = false;
- System.out.println("savePrincipal exception "+e);
- }
- if (b) {
- try {
- b = k.loadPrincipal("harriet", pr);
- } catch (Exception e) {
- b = false;
- System.out.println("loadPrincipal exception "+e);
- }
- System.out.println("Loaded "+pr.toString());
- System.out.println("Comments are "+pr.Comments+"\n");
- } else
- System.out.println("savePrincipal failed");
- }
-
-
- System.out.println("*** set password");
- pr = new Principal(k, d);
- try {
- b = k.loadPrincipal("harriet", pr);
- } catch (Exception e) {
- b = false;
- System.out.println("loadPrincipal exception "+e);
- }
- if (b) {
- pr.setPassword("test234");
- try {
- b = k.savePrincipal(pr);
- } catch (Exception e) {
- b = false;
- System.out.println("savePrincipal exception "+e);
- }
- if (!b)
- System.out.println("savePrincipal failed\n");
- else
- System.out.println("savePrincipal succeeded\n");
- }
-
-
- System.out.println("*** delete principal");
- try {
- b = k.deletePrincipal("harriet");
- } catch (Exception e) {
- b = false;
- System.out.println("deletePrincipal exception "+e);
- }
- if (!b)
- System.out.println("deletePrincipal failed\n");
- else
- System.out.println("deletePrincipal succeeded\n");
-
- System.out.println("*** verify deletion");
- try {
- p = k.getPrincipalList();
- System.out.println("Called getPrincipalList()");
- } catch (Exception e) {
- p = null;
- System.out.println("getPrincipalList exception "+e);
- }
- for (int i = 0; p != null && i < p.length; i++)
- if (p[i].equals("harriet"))
- System.out.println("Found 'harriet' - oops!");
- System.out.println(new Integer(p.length).toString()+" entries.");
- System.out.println("Principal list done\n");
-
-
- System.out.println("*** create a principal with comments");
- pr = new Principal("harriet");
- pr.setPassword("test123");
- pr.setComments("Room 1229");
- System.out.println("Built "+pr.toString());
- try {
- b = k.createPrincipal(pr);
- } catch (Exception e) {
- b = false;
- System.out.println("createPrincipal exception "+e);
- }
- if (!b)
- System.out.println("createPrincipal failed\n");
- else
- System.out.println("createPrincipal succeeded\n");
-
- System.out.println("*** verify comments");
- try {
- b = k.loadPrincipal("harriet", pr);
- } catch (Exception e) {
- b = false;
- System.out.println("loadPrincipal exception "+e);
- }
- if (b) {
- System.out.println("Loaded "+pr.toString());
- System.out.println("Comments "+pr.Comments+"\n");
- try {
- b = k.deletePrincipal("harriet");
- } catch (Exception e) {
- b = false;
- System.out.println("deletePrincipal exception "+e);
- }
- }
-
- System.out.println("All tests completed.\n");
- k.sessionExit();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/native/i386/Makefile b/usr/src/cmd/krb5/kadmin/gui/native/i386/Makefile
deleted file mode 100644
index e0861518aa..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/native/i386/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include ../Makefile.com
-
-install: all $(ROOTLIBDIR) $(ROOTLIBS) $(ROOTLINKS)
diff --git a/usr/src/cmd/krb5/kadmin/gui/native/mapfile-vers b/usr/src/cmd/krb5/kadmin/gui/native/mapfile-vers
deleted file mode 100644
index d1aa32ea2f..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/native/mapfile-vers
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Interface definition for /usr/lib/krb5/libkadmin.so.1
-
-#
-# MAPFILE HEADER START
-#
-# WARNING: STOP NOW. DO NOT MODIFY THIS FILE.
-# Object versioning must comply with the rules detailed in
-#
-# usr/src/lib/README.mapfiles
-#
-# You should not be making modifications here until you've read the most current
-# copy of that file. If you need help, contact a gatekeeper for guidance.
-#
-# MAPFILE HEADER END
-#
-
-$mapfile_version 2
-
-SYMBOL_VERSION SUNWprivate_1.1 {
- global:
- Java_Kadmin_sessionInit;
- Java_Kadmin_sessionExit;
- Java_Kadmin_getPrivs;
- Java_Kadmin_getEncList;
- Java_Kadmin_getPrincipalList;
- Java_Kadmin_getPrincipalList2;
- Java_Kadmin_loadPrincipal;
- Java_Kadmin_savePrincipal;
- Java_Kadmin_createPrincipal;
- Java_Kadmin_deletePrincipal;
- Java_Kadmin_getPolicyList;
- Java_Kadmin_loadPolicy;
- Java_Kadmin_savePolicy;
- Java_Kadmin_createPolicy;
- Java_Kadmin_deletePolicy;
- local:
- *;
-};
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/native/sparc/Makefile b/usr/src/cmd/krb5/kadmin/gui/native/sparc/Makefile
deleted file mode 100644
index e0861518aa..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/native/sparc/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-# ident "%Z%%M% %I% %E% SMI"
-#
-
-include ../Makefile.com
-
-install: all $(ROOTLIBDIR) $(ROOTLIBS) $(ROOTLINKS)
diff --git a/usr/src/cmd/krb5/kadmin/gui/util/ChoiceDialog.java b/usr/src/cmd/krb5/kadmin/gui/util/ChoiceDialog.java
deleted file mode 100644
index 94d0697029..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/util/ChoiceDialog.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * Returns null when the dialog box is closed through the window closing menu.
- */
-public class ChoiceDialog extends java.awt.Dialog {
-
- private String result = null;
-
- public ChoiceDialog(Frame parent, String title,
- String[] messageLines, String[] buttonText,
- int bottomLeftX, int bottomLeftY) {
- super(parent, title, true);
- addLinesAndButtons(messageLines, buttonText);
- positionDialog(bottomLeftX, bottomLeftY);
- finishDialog();
- }
-
- public ChoiceDialog(Frame parent, String title,
- String[] messageLines, String[] buttonText) {
-
- super(parent, title, true);
- addLinesAndButtons(messageLines, buttonText);
- positionDialog(parent);
- finishDialog();
- }
-
- public void addLinesAndButtons(String[] messageLines, String[] buttonText) {
-
- Panel panel = new Panel();
-
- panel.setLayout(new GridBagLayout());
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.weightx = gbc.weighty = 1;
- gbc.gridx = gbc.gridy = 1;
-
- for (int i = 0; i < messageLines.length; i++) {
- Label t = new Label(" "+messageLines[i]);
- panel.add(t, gbc);
- gbc.gridy++;
- }
-
- add(panel, "Center" /* NOI18N */);
-
- panel = new Panel();
- panel.setLayout(new FlowLayout(FlowLayout.CENTER, 20, 5));
-
- for (int i = 0; i < buttonText.length; i++) {
- Button b = new Button(buttonText[i]);
- b.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- result = e.getActionCommand();
- dispose();
- }
- });
- panel.add(b);
- }
-
- add(panel, "South" /* NOI18N */);
- }
-
- public void finishDialog() {
-
- Frame parent = (Frame)getParent();
-
- setResizable(false);
-
- setBackground(parent.getBackground());
- setForeground(parent.getForeground());
- addWindowListener(new WindowCloseListener());
- setVisible(true);
- }
-
- public void positionDialog(Frame frame) {
- Point p = frame.getLocationOnScreen();
- Dimension s1 = frame.getSize();
- pack();
- Dimension s2 = getSize();
- p.x += s1.width/2 - s2.width/2;
- p.y += s1.height/2 - s2.height/2;
- setLocation(p.x, p.y);
- }
-
- public void positionDialog(int bottomLeftX, int bottomLeftY) {
- Point p = new Point(bottomLeftX, bottomLeftY);
- pack();
- Dimension s = getSize();
- p.y -= s.height;
- setLocation(p.x, p.y);
- }
-
- // return the name of the selected button.
- public String getSelection() {
- return result;
- }
-
- private class WindowCloseListener extends WindowAdapter {
- public void windowClosing(WindowEvent e) {
- dispose();
- }
- }
-
- public static void main(String[] args) {
-
- Frame frame = new Frame();
- frame.setVisible(true);
-
- String[] lines = {"line one", "line two"};
- String[] buttons = {"button one", "button two"};
- ChoiceDialog c1 = new ChoiceDialog(frame, "Hi", lines, buttons,
- 100, 100);
- String s = c1.getSelection();
- System.out.println("Returned "+s);
-
- String[] warnlines = {"You are about to lose changes",
- "Press OK to discard changes or"
- +" Cancel to continue editing."};
- String[] warnbuttons = {"OK", "Cancel"};
- c1 = new ChoiceDialog(frame, "Confirm Action",
- warnlines, warnbuttons);
- s = c1.getSelection();
- System.out.println("Returned "+s);
-
- System.exit(0);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/util/ContextHelp.java b/usr/src/cmd/krb5/kadmin/gui/util/ContextHelp.java
deleted file mode 100644
index e580e4e268..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/util/ContextHelp.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-import java.awt.event.*;
-import java.awt.*;
-import java.util.ResourceBundle;
-import java.util.MissingResourceException;
-
-/**
- * Dialog box for displaying context sensitive help.
- * It is shared amongst the different frames when some frame is
- * already in context help mode. When all the frames return to
- * normal mode by dismissing the dialog box, this object is
- * destroyed.
- */
-// The approach of simply hiding the context dialog box till the next
-// time it is needed will not work too well. The problem arises
-// because the dialog box is associated with a parent frame. Whenever
-// the dialog box goes from invisible to visible this parent frame
-// also pops to the top. This might be a little counter-intuitive to a
-// user when he/she asks for help on frame A and has frame B popping
-// up for no apparent reason.
-public class ContextHelp extends HelpDialog {
-
- private KdcGui kdcGui;
-
- private static Cursor c = new Cursor(Cursor.DEFAULT_CURSOR);
-
- // For I18N
- private static ResourceBundle rb =
- ResourceBundle.getBundle("GuiResource" /* NOI18N */);
-
- public ContextHelp(Frame parent, KdcGui kdcGui) {
- super(parent, getString("Context-Sensitive Help"), false);
- this.kdcGui = kdcGui;
- setText(getString(
- "Click on GUI items to get help.\n\nClick on button below to dismiss"));
- }
-
- /**
- * Call rb.getString(), but catch exception and return English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
- protected void quit() {
- if (kdcGui.loginHelpMode) {
- kdcGui.setupLoginNormalListeners();
- kdcGui.realLoginFrame.setCursor(c);
- }
-
- if (kdcGui.mainHelpMode) {
- kdcGui.setupMainNormalListeners();
- kdcGui.realMainFrame.setCursor(c);
- }
-
- if (kdcGui.defaultsHelpMode) {
- kdcGui.setupDefaultsNormalListeners();
- kdcGui.defaultsEditingFrame.setCursor(c);
- }
-
- // Set the reference to this to null to indicate to kdcGui that it
- // has to create a new ContextHelp object the next time one is
- // needed
- kdcGui.cHelp = null;
-
- super.quit();
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/util/HelpDialog.java b/usr/src/cmd/krb5/kadmin/gui/util/HelpDialog.java
deleted file mode 100644
index 566db60a1f..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/util/HelpDialog.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-import java.awt.*;
-import java.awt.event.*;
-import java.util.StringTokenizer;
-import java.util.ResourceBundle;
-import java.util.MissingResourceException;
-
-/**
- * Dialog box for diaplaying Help
- *
- */
-public class HelpDialog extends Dialog {
-
- protected Button b;
- protected TextArea t;
- private Frame parent;
-
- public static int NUM_ROWS = 10;
- public static int NUM_COLS = 45;
-
- // For I18N
- private static ResourceBundle rb =
- ResourceBundle.getBundle("GuiResource" /* NOI18N */);
-
- public HelpDialog(Frame parent, String title, boolean mode) {
- this(parent, title, mode, NUM_ROWS, NUM_COLS);
- }
-
- public HelpDialog(Frame parent, String title, boolean mode, int numRows,
- int numCols) {
- super(parent, title, mode);
- this.parent = parent;
- setBackground(parent.getBackground());
- setForeground(parent.getForeground());
- addButtonAndTextArea(numRows, numCols);
- addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- quit();
- }
- });
- }
-
- protected void quit() {
- dispose();
- }
-
- private void addButtonAndTextArea(int numRows, int numCols) {
- t = new TextArea(null, numRows, numCols,
- TextArea.SCROLLBARS_VERTICAL_ONLY);
- t.setEditable(false);
- b = new Button(getString("Dismiss"));
-
- setLayout(new GridBagLayout());
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = gbc.weighty = 1;
- gbc.fill = GridBagConstraints.BOTH;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- add(t, gbc);
- gbc.fill = GridBagConstraints.NONE;
- add(b, gbc);
-
- pack();
- setResizable(false);
- setLocationBesideParent(parent);
-
- b.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- quit();
- }
- });
- }
-
- private void setLocationBesideParent(Frame parent) {
- Point p = parent.getLocationOnScreen();
- Dimension parentSize = parent.getSize();
- Dimension mySize = getSize();
- p.x += parentSize.width;
- p.y += parentSize.height/2 - mySize.height/2;
- setLocation(p.x, p.y);
- }
-
-
- public void setText(String text) {
- t.setText(text);
- }
-
- /**
- * Call rb.getString(), but catch exception and return English
- * key so that small spelling errors don't cripple the GUI
- *
- */
- private static final String getString(String key) {
- try {
- String res = rb.getString(key);
- return res;
- } catch (MissingResourceException e) {
- System.out.println("Missing resource "+key+", using English.");
- return key;
- }
- }
-
- /*
- public static void main(String args[]) {
- Frame f = new Frame();
- f.setVisible(true);
- HelpDialog hd = new HelpDialog(f, "Test HelpDialog", false);
- hd.setVisible(true);
- }
- */
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/util/Makefile b/usr/src/cmd/krb5/kadmin/gui/util/Makefile
deleted file mode 100644
index da119bcfbc..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/util/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-include ../../../../../Makefile.master
-include ../../../../Makefile.cmd
-
-
-GUIDIR=$(SRC)/cmd/krb5/kadmin/gui
-
-CLASSES=HelpDialog ContextHelp ChoiceDialog
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=../classdir/%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-CLASSPATH=$(GUIDIR):$(GUIDIR)/classdir:$(GUIDIR)/util:$(GUIDIR)/dataclasses:$(GUIDIR)/dchanger:$(GUIDIR)/native:$(GUIDIR)/visualrt:$(GUIDIR)/visualrt.jar:$(JAVA_ROOT)/jre/lib/rt.jar:$(JAVA_ROOT)/jre/lib/i18n.jar
-
-../classdir/%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d ../classdir -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
-
-install: all
-
-echo:
- @echo $(CLASSES)
- @echo $(JFILES)
- @echo $(CLFILES)
- @echo $(SUFFIXES)
-
-clobber : clobber_local
-
-clean: clean_local
-
-clobber_local: clean_local
-
-clean_local:
- $(RM) $(CLFILES)
-
-FRC:
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/Makefile b/usr/src/cmd/krb5/kadmin/gui/visualrt/Makefile
deleted file mode 100644
index 05d97fb02c..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-include $(SRC)/Makefile.master
-
-def := TARGET= def
-all := TARGET= all
-install := TARGET= install
-install_h := TARGET= install_h
-clean := TARGET= clean
-clobber := TARGET= clobber
-check := TARGET= check
-
-.KEEP_STATE:
-
-GUIDIR=$(SRC)/cmd/krb5/kadmin/gui
-CLASSPATH=$(GUIDIR)/visualrt:$(JAVA_ROOT)/jre/lib/rt.jar:$(JAVA_ROOT)/jre/lib/i18n.jar
-
-all clean clobber javadoc _msg:
- ( cd sunsoft/jws/visual/rt ; $(MAKE) CLASSPATH=$(CLASSPATH) $@ )
-
-install: all
- $(JAR) cvf ../visualrt.jar ./sunsoft/jws/visual/rt/*/*.class ./sunsoft/jws/visual/rt/shadow/java/awt/*.class
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/Makefile b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/Makefile
deleted file mode 100644
index 27acf8574c..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-include $(SRC)/Makefile.master
-JAVAFLAGS = -source 1.5 -target 1.6 -nowarn -O
-GUIDIR=$(SRC)/cmd/krb5/kadmin/gui
-
-def := TARGET= def
-all := TARGET= all
-install := TARGET= install
-install_h := TARGET= install_h
-clean := TARGET= clean
-clobber := TARGET= clobber
-lint := TARGET= lint
-javadoc := TARGET= javadoc
-clean.lint := TARGET= clean.lint
-check := TARGET= check
-_msg := TARGET= _msg
-
-CLASSPATH=$(GUIDIR)/visualrt:$(JAVA_ROOT)/jre/lib/rt.jar:$(JAVA_ROOT)/jre/lib/i18n.jar
-
-SUBDIRS=props base type shadow awt encoding
-
-$(SUBDIRS):
- cd $@; $(MAKE) CLASSPATH=$(CLASSPATH) $(TARGET)
-
-.KEEP_STATE:
-
-all: $(SUBDIRS)
-
-clean: $(SUBDIRS)
-
-clobber: $(SUBDIRS)
-
-install: all
-
-javadoc: $(SUBDIRS)
-
-_msg: $(SUBDIRS)
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/Makefile.com b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/Makefile.com
deleted file mode 100644
index da31cfcf1a..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/Makefile.com
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-
-JAVAFLAGS = -source 1.5 -target 1.6 -nowarn -O
-JRE=$(JAVA_ROOT)/jre/lib
-VRT=$(SRC)/cmd/krb5/kadmin/gui/visualrt
-
-CLASSPATH=$(VRT):$(JAVA_ROOT)/jre/lib/rt.jar:$(JAVA_ROOT)/jre/lib/i18n.jar
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLCheckbox.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLCheckbox.java
deleted file mode 100644
index 26b41c6456..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLCheckbox.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * CLCheckbox.java
- *
- * Copyright 1995-1996 Active Software Inc.
- *
- * @version @(#)CLCheckbox.java 1.9 96/12/11
- * @author Tilman Sporkert
- */
-
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.*;
-/* BEGIN JSTYLED */
-
-/**
- * A CLCheckbox is a special Object that the ColumnList
- * draws like a flat
- * checkbox. This has two advantages over putting
- * java.awt.Checkboxes into
- * the ColumnList:
- * - under Motif, the java.awt.Checkbox has some
- * extra space around it,
- * making the rows very high.
- * - highlighting a row with a java.awt.Checkbox in it looks ugly
- * - significant performance improvements (measured 10x
- * in one application)
- * - the Checkbox is always drawn flat, not in 3D look.
- * Flat is the correct
- * look in a scrollable area with a white background.
- *
- * Notes on usage:
- * - if the state of a CLCheckbox gets changed,
- * needsRepaint() should be
- * called on the ColumnList to make the change visible
- * - If a CLCheckbox is in a column list, clicking
- * on the box changes the
- * state and sends out an ACTION_EVENT. The row
- * will not get selected.
- * Unlike AWT Checkboxes, clicking on the label does not change the
- * status. It just selects the row in the
- * ColumnList (which triggers a
- * LIST_EVENT).
- *
- * @author Tilman Sporkert
- */
- /* END JSTYLED */
-public class CLCheckbox extends CLComponent
-{
- private boolean state = false;
-
- public CLCheckbox(String text, boolean state) {
- super(text);
- this.state = state;
- }
-
- public boolean getState() {
- return state;
- }
-
- public void setState(boolean state) {
- this.state = state;
- }
-
- public void paint(Graphics g, int x, int y, int colWidth,
- int rowHeight, int ascent, int alignment)
- {
- if (canvas == null)
- return;
-
- if (colWidth >= (rowHeight+4)) {
- g.drawRect(x + 5, y + 2, rowHeight - 6, rowHeight - 6);
- if (state) {
- g.drawLine(x + 8, y + rowHeight / 2 - 1,
- x + rowHeight / 2 + 2, y + rowHeight - 7);
- g.drawLine(x + rowHeight / 2 + 2, y + rowHeight - 7,
- x + rowHeight - 3, y + 4);
- g.drawLine(x + 7, y + rowHeight / 2 - 1,
- x + rowHeight / 2 + 2, y + rowHeight - 6);
- g.drawLine(x + rowHeight / 2 + 2, y + rowHeight - 6,
- x + rowHeight - 3, y + 5);
- }
- }
- if (text != null) {
- canvas.drawString(g, text, x + rowHeight + 4, y + ascent,
- colWidth - rowHeight - 8, alignment);
- }
- }
-
- public int textX() {
- if (canvas == null)
- return -1;
- else
- return canvas.rowHeight + 4;
- }
-
- public int textY() {
- if (canvas == null)
- return -1;
- else
- return canvas.rowAscent;
- }
-
- public Dimension size() {
- if (canvas == null)
- return null;
-
- FontMetrics metrics = canvas.getFontMetrics();
- Dimension size = new Dimension(0, 0);
-
- if (text != null)
- size.width += metrics.stringWidth(text) + 8;
- size.width += canvas.rowHeight;
- size.height = canvas.rowHeight;
-
- return size;
- }
-
- public boolean mouseDown(Event evt) {
- if (canvas == null)
- return false;
-
- if (evt.x <= canvas.rowHeight) {
- state = !state;
- canvas.postEvent(new Event(this, Event.ACTION_EVENT,
- new Boolean(state)));
- canvas.repaint();
- return true;
- }
-
- return false;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLChoice.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLChoice.java
deleted file mode 100644
index bbf1ce4053..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLChoice.java
+++ /dev/null
@@ -1,526 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- *
- * @version @(#)CLChoice.java 1.13 97/06/18
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-import java.util.*;
-
-public class CLChoice extends CLIconLabel
-{
- public static final int APPLY = EditLine.APPLY;
-
- private Vector items = new Vector();
- private int selectedIndex = -1;
- private int itemsVisible = 12;
- private boolean allowSuffix;
-
- private boolean dragging;
- private int dragX, dragY;
- private Window menuWindow;
- private int menuWindowX, menuWindowY;
- private TextList menu;
- private boolean forwarding;
-
- public CLChoice() {
- this(null, -1, null);
- }
-
- public CLChoice(String[] items) {
- this(items, 0, null);
- }
-
- public CLChoice(String[] items, int selectedIndex) {
- this(items, selectedIndex, null);
- }
-
- public CLChoice(String[] items, String selectedItem) {
- this(items, selectedItem, null);
- }
-
- public CLChoice(String[] items, int selectedIndex, Image icon) {
- super(null, icon);
-
- if (items == null) {
- super.setText(/* NOI18N */"");
- this.selectedIndex = 0;
- } else {
- setItems(items);
- select(selectedIndex);
- }
- }
-
- public CLChoice(String[] items, String selectedItem, Image icon) {
- super(null, icon);
-
- if (items == null) {
- super.setText(/* NOI18N */"");
- this.selectedIndex = 0;
- } else {
- setItems(items);
- select(selectedItem);
- }
- }
-
- public CLChoice(String[] items, String selectedItem, Image icon,
- boolean allowSuffix) {
- super(null, icon);
-
- this.allowSuffix = allowSuffix;
-
- if (items == null) {
- super.setText(/* NOI18N */"");
- this.selectedIndex = 0;
- } else {
- setItems(items);
- select(selectedItem);
- }
- }
-
- public void setItemsVisible(int num) {
- if (num <= 0)
- num = 1;
- itemsVisible = num;
- }
-
- public int getItemsVisible() {
- return itemsVisible;
- }
-
- public void addItem(String item) {
- items.addElement(item);
- if (menu != null)
- menu.addItem(item);
- }
-
- public int countItems() {
- return items.size();
- }
-
- public String[] getItems() {
- int length = items.size();
- String[] s = new String[length];
- for (int i = 0; i < length; i++)
- s[i] = (String)items.elementAt(i);
- return s;
- }
-
- public void setItems(String[] items) {
- this.items.removeAllElements();
- if (menu != null)
- menu.clear();
- for (int i = 0; i < items.length; i++)
- addItem(items[i]);
- }
-
- public String getItem(int index) {
- return (String)items.elementAt(index);
- }
-
- public void removeItem(String item) {
- removeItem(items.indexOf(item));
- }
-
- public void removeItem(int index) {
- if (index < 0 || index >= items.size())
- return;
-
- items.removeElementAt(index);
- if (menu != null) {
- menu.items().removeElementAt(index);
- menu.updateView();
- }
-
- int selectedIndex = getSelectedIndex();
- if (selectedIndex != -1) {
- if (selectedIndex == index)
- select(0);
- else if (selectedIndex > index)
- select(selectedIndex-1);
- }
- }
-
- public int getSelectedIndex() {
- if (items.size() == 0)
- return -1;
- else
- return selectedIndex;
- }
-
- public String getSelectedItem() {
- if (items.size() == 0)
- return null;
- else
- return (String)items.elementAt(selectedIndex);
- }
-
- public void select(int index) {
- select(index, null);
- }
-
- public void select(String item) {
- if (items == null)
- return;
-
- int index = -1;
- String selItem = null;
-
- if (item != null) {
- if (allowSuffix) {
- int length = items.size();
- for (int i = 0; i < length; i++) {
- String thisItem = (String)items.elementAt(i);
- if (item.startsWith(thisItem)) {
- selItem = item;
- index = i;
- break;
- }
- }
- } else {
- index = items.indexOf(item);
- }
- }
-
- select(index, selItem);
- }
-
- private void select(int index, String selItem) {
- if (index >= items.size())
- index = items.size()-1;
- if (index < 0)
- index = 0;
-
- if (index != selectedIndex) {
- selectedIndex = index;
- if (items.size() == 0) {
- super.setText(/* NOI18N */"");
- } else {
- if (selItem == null)
- selItem = (String)items.elementAt(index);
- super.setText(selItem);
- }
- }
- }
-
- public void setText(String text, boolean update) {
- super.setText(text, update);
- select(text);
- }
-
- public String getText() {
- return getSelectedItem();
- }
-
- public void setAllowSuffix(boolean allowSuffix) {
- this.allowSuffix = allowSuffix;
- }
-
- public boolean getAllowSuffix() {
- return allowSuffix;
- }
-
- public boolean mouseDown(Event evt) {
- if (canvas == null)
- return false;
-
- if (evt.clickCount == 1 && canvas.getSelectedRow() == row &&
- canvas.startEdit(column)) {
- showMenu();
- dragging = true;
- dragX = evt.x + canvas.columnX(column);
- dragY = evt.y + canvas.rowY(row);
- return true;
- } else {
- return false;
- }
- }
-
- void cancelEdit() {
- if (canvas != null)
- hideMenu();
- }
-
- // Events are sent here subsequent to the mouseDown.
- public boolean handleEvent(Event evt) {
- if (canvas == null)
- return false;
-
- if (evt.target == menu && evt.id == Event.LIST_SELECT) {
- dragging = false;
- String item = menu.getSelectedItem();
- hideMenu();
- canvas.postEvent(new Event(this, APPLY, item));
- } else if (dragging) {
- forwardToMenu(evt, canvas.getEditRow(),
- canvas.getEditColumn());
- if (evt.id == Event.MOUSE_UP && dragging &&
- evt.x != -1 && evt.y != -1) {
- dragging = false;
- if (Math.abs(evt.x - dragX) +
- Math.abs(evt.y - dragY) > 4) {
- canvas.cancelEdit();
- }
- }
- } else {
- return false;
- }
-
- return true;
- }
-
- private void showMenu() {
- if (menu == null) {
- menu = canvas.choiceMenu;
- menuWindow = canvas.choiceMenuWindow;
-
- if (menu == null) {
- menu = new TextList();
- menu.setBackground(canvas.getParent().getBackground());
- menu.setRelief(menu.BLACK_BORDER);
- menu.setBorderWidth(1);
- menu.setMinimumColumns(0);
- menu.setMinimumRows(0);
- canvas.choiceMenu = menu;
-
- if (Global.isMotif()) {
- menu.hide();
- canvas.add(menu);
- } else {
- menuWindow = new Window(findFrame(canvas));
- canvas.choiceMenuWindow = menuWindow;
- canvas.add(menuWindow);
- menuWindow.add(/* NOI18N */"Center", menu);
- }
- } else {
- menu.clear();
-
- // Don't remove the menu from the canvas on Windows. If you do,
- // you start getting spurious double-clicks! But you do want
- // to remove it on Motif, otherwise the canvas becomes incapable
- // of getting the keyboard focus.
- if (Global.isMotif())
- canvas.add(menu);
- }
-
- Enumeration e = items.elements();
- while (e.hasMoreElements())
- menu.addItem((String)e.nextElement());
- }
-
- if (Global.isMotif()) {
- Rectangle r = getMenuBounds(menu);
- menu.reshape(r.x, r.y, r.width, r.height);
- menu.select(selectedIndex);
- menu.validate();
- menu.makeVisible(selectedIndex);
- menu.menuMode(null);
- menu.show();
- } else {
- Rectangle r = getWindowMenuBounds(menu);
- menuWindow.reshape(r.x, r.y, r.width, r.height);
- menuWindow.validate();
- menu.select(selectedIndex);
- menu.makeVisible(selectedIndex);
- menu.menuMode(this);
- menuWindow.show();
- findFrame(canvas).requestFocus();
- }
- }
-
- private void hideMenu() {
- if (menu != null) {
- if (Global.isMotif()) {
- menu.reshape(0, 0, 0, 0);
- menu.hide();
-
- // Don't remove the menu from the canvas on Windows. If you do,
- // you start getting spurious double-clicks! But you do want
- // to remove it on Motif, otherwise the canvas becomes incapable
- // of getting the keyboard focus.
- if (Global.isMotif())
- canvas.remove(menu);
-
- menu = null;
- } else {
- menuWindow.hide();
- menuWindow = null;
- menuWindowX = 0;
- menuWindowY = 0;
- menu = null;
- }
- }
- }
-
- private synchronized void forwardToMenu(Event evt, int row,
- int column) {
- if (forwarding)
- return;
-
- Point offset = new Point(0, 0);
-
- if (Global.isMotif()) {
- Point p1 = menu.location();
- Point p2 = menu.view.location();
- offset.x = p1.x + p2.x;
- offset.y = p1.y + p2.y;
- } else {
- if (!(evt.id == Event.MOUSE_DRAG))
- return;
-
- offset.x = menuWindowX;
- offset.y = menuWindowY;
- }
-
- Event evtCopy = new Event(evt.target, evt.when, evt.id,
- evt.x - offset.x, evt.y - offset.y, evt.key,
- evt.modifiers, evt.arg);
- evtCopy.clickCount = evt.clickCount;
- evtCopy.evt = evt.evt;
-
- forwarding = true;
-
- // Don't set the menuDrag flag based on a forwarded event.
- boolean menuDrag = menu.view.menuDrag;
- menu.view.postEvent(evtCopy);
- if (menu != null)
- menu.view.menuDrag = menuDrag;
-
- forwarding = false;
- }
-
- private Rectangle getMenuBounds(TextList menu) {
- Rectangle r = new Rectangle(0, 0, 0, 0);
- Dimension pref = menu.preferredSize();
- Dimension size = canvas.size();
- int x = canvas.columnX(column);
- int y = canvas.rowY(row);
-
- r.x = Math.min(x, size.width - pref.width);
- r.x = Math.max(0, r.x);
- r.width = Math.min(pref.width, size.width - r.x);
-
- int numItems = Math.min(items.size(), itemsVisible);
- numItems = Math.max(numItems, 1);
- int lineHeight = menu.lineHeight();
- int hPad = 6;
-
- int prefHeight = numItems * lineHeight + hPad;
- int spaceAbove = y;
- int spaceBelow = (size.height - (y + canvas.rowHeight));
- int availableHeight;
- boolean below;
-
- if (prefHeight <= spaceBelow || spaceBelow >= spaceAbove) {
- below = true;
- availableHeight = spaceBelow;
- } else {
- below = false;
- availableHeight = spaceAbove;
- }
-
- numItems = Math.min(numItems,
- (availableHeight - hPad) / lineHeight);
-
- r.height = numItems * lineHeight + hPad;
- if (below)
- r.y = y + canvas.rowHeight;
- else
- r.y = y - r.height;
-
- return r;
- }
-
- private Rectangle getWindowMenuBounds(TextList menu) {
- Rectangle r = new Rectangle(0, 0, 0, 0);
- Point offset = getFrameOffset(canvas);
- Dimension pref = menu.preferredSize();
-
- int numItems = Math.min(items.size(), itemsVisible);
- numItems = Math.max(numItems, 1);
- int lineHeight = menu.lineHeight();
- int hPad = 6;
- int prefHeight = numItems * lineHeight + hPad;
-
- r.x = offset.x + canvas.columnX(column);
- r.y = offset.y + canvas.rowY(row) + lineHeight;
- r.width = pref.width;
- r.height = prefHeight;
-
- // The Window instance cannot be resized narrower than 112 or shorter
- // than 27. This is a lame AWT restriction for Windows95.
- r.width = Math.max(r.width, 112);
- r.height = Math.max(r.height, 27);
-
- Dimension screenSize = canvas.getToolkit().getScreenSize();
- // Subtract for taskbar
- screenSize.height -= 30;
-
- if ((r.x + r.width) > screenSize.width)
- r.x = screenSize.width - r.width;
- if (r.x < 0)
- r.x = 0;
-
- if ((r.y + r.height) > screenSize.height)
- r.y -= (r.height + lineHeight);
- if (r.y < 0)
- r.y = 0;
-
- menuWindowX = r.x - offset.x;
- menuWindowY = r.y - offset.y;
-
- return r;
- }
-
- private Frame findFrame(Component comp) {
- while (comp != null && !(comp instanceof Frame))
- comp = comp.getParent();
-
- return (Frame)comp;
- }
-
- private Point getFrameOffset(Component comp) {
- Point offset = new Point(0, 0);
- while (comp != null) {
- Point location = comp.location();
- offset.x += location.x;
- offset.y += location.y;
- if (comp instanceof Frame)
- break;
- comp = comp.getParent();
- }
-
- return offset;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLComponent.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLComponent.java
deleted file mode 100644
index 36d2ae14c8..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLComponent.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- *
- * @version @(#)CLComponent.java 1.6 96/11/08
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.*;
-
-public abstract class CLComponent {
- protected ColumnListCanvas canvas;
- protected int row, column;
- protected String text;
- private boolean editable;
-
- public CLComponent(String text) {
- setText(text);
- this.editable = true;
- }
-
- void setCanvas(ColumnListCanvas canvas, int row, int column) {
- this.canvas = canvas;
- this.row = row;
- this.column = column;
- }
-
- public void setText(String text) {
- setText(text, true);
- }
-
- public void setText(String text, boolean update) {
- this.text = text;
- if (canvas != null) {
- canvas.adjustColumnWidths(this, column);
- if (update)
- canvas.updateView();
- }
- }
-
- public String getText() {
- return text;
- }
-
- public void setEditable(boolean value) {
- this.editable = value;
- }
-
- public boolean getEditable() {
- return editable;
- }
-
- public String toString() {
- return text;
- }
-
- public abstract int textX();
- public abstract int textY();
- public abstract Dimension size();
- public abstract void paint(Graphics g, int x, int y, int width,
- int height, int ascent, int alignment);
-
- public boolean mouseDown(Event evt) {
- return false;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLIconLabel.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLIconLabel.java
deleted file mode 100644
index 299142cead..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CLIconLabel.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- *
- * @version @(#)CLIconLabel.java 1.8 96/11/14
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.type.IntHolder;
-import java.awt.*;
-
-public class CLIconLabel extends CLComponent
-{
- private static final int ICON_XPAD = 2;
- private static final int ICON_WIDTH = 16;
- private static final int TOTAL_ICON_WIDTH = ICON_WIDTH +
- (2*ICON_XPAD);
-
- private static final int ICON_YPAD = 0;
- private static final int ICON_HEIGHT = 16;
- private static final int TOTAL_ICON_HEIGHT = ICON_HEIGHT +
- (2*ICON_YPAD);
-
- private static final int TEXT_PAD = 4;
-
- private Image icon;
- private boolean editable = true;
-
- /**
- * Construct a new CLIconLabel.
- */
- public CLIconLabel(String text, Image icon) {
- super(text);
- this.icon = icon;
- }
-
- public Image getIcon() {
- return icon;
- }
-
- public void setIcon(Image icon) {
- setIcon(icon, true);
- }
-
- public void setIcon(Image icon, boolean update) {
- this.icon = icon;
- if (canvas != null && update)
- canvas.updateView();
- }
-
- public void paint(Graphics g,
- int x, int y, int w, int h, int ascent, int alignment)
- {
- if (canvas == null)
- return;
-
- IntHolder xoff = new IntHolder();
- String s = getOffsetAndText(w, alignment, xoff);
-
- if (icon != null && w >= TOTAL_ICON_WIDTH) {
- g.drawImage(icon, x + xoff.value + ICON_XPAD,
- y + ICON_YPAD, canvas);
- xoff.value += TOTAL_ICON_WIDTH;
- } else {
- xoff.value += TEXT_PAD;
- }
-
- if (s != null) {
- g.drawString(s, x + xoff.value, y + ascent);
- }
- }
-
- private String getOffsetAndText(int width, int alignment,
- IntHolder xoff) {
- FontMetrics fm = canvas.getFontMetrics();
- int iconWidth = 0;
- int iconPad = 0;
- int textWidth = 0;
- int rTextPad = 0;
- String s = null;
-
- if (icon != null) {
- iconWidth = TOTAL_ICON_WIDTH;
- iconPad = ICON_XPAD;
- } else if (text != null) {
- iconWidth = TEXT_PAD;
- }
-
- if (text != null) {
- rTextPad = TEXT_PAD;
- int availTextW = width - iconWidth - rTextPad;
- s = canvas.chopText(text, availTextW);
- textWidth = fm.stringWidth(s);
- }
-
- int totalWidth = iconWidth + textWidth + rTextPad;
-
- switch (alignment) {
- case Label.LEFT:
- xoff.value = 0;
- break;
- case Label.CENTER:
- xoff.value = (width - totalWidth)/2;
- break;
- case Label.RIGHT:
- xoff.value = width - totalWidth;
- break;
- }
-
- if (xoff.value < 0)
- xoff.value = 0;
-
- return s;
- }
-
- public int textX() {
- if (canvas == null)
- return -1;
-
- IntHolder xoff = new IntHolder();
- getOffsetAndText(canvas.columnWidth(column),
- canvas.getFormat(column),
- xoff);
-
- if (icon != null)
- xoff.value += TOTAL_ICON_WIDTH;
- else if (text != null)
- xoff.value += TEXT_PAD;
-
- return xoff.value;
- }
-
- public int textY() {
- if (canvas == null)
- return -1;
- else
- return canvas.rowAscent;
- }
-
- public Dimension size() {
- if (canvas == null)
- return null;
-
- FontMetrics metrics = canvas.getFontMetrics();
- Dimension size = new Dimension(0, 0);
-
- if (icon != null)
- size.width += TOTAL_ICON_WIDTH;
- else if (text != null)
- size.width += TEXT_PAD;
-
- if (text != null)
- size.width += metrics.stringWidth(text) + TEXT_PAD;
- size.height = canvas.rowHeight;
-
- return size;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CardPanel.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CardPanel.java
deleted file mode 100644
index f7f1722f24..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CardPanel.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) CardPanel.java 1.8 - last change made 06/17/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.*;
-import java.util.*;
-
-public class CardPanel extends VJPanel {
- public static final int FETCHCARD = 68496;
- public static final int CURRENTCARD = 68497;
-
- protected Vector tabs;
- private Label cardLabel;
- private CardLayout cardLayout;
- private String currentCard;
- private Hashtable cards;
-
- public CardPanel() {
- cardLayout = new CardLayout();
- setLayout(cardLayout);
-
- tabs = new Vector();
- cards = new Hashtable();
-
- cardLabel = newCardLabel();
- add(cardLabel, /* NOI18N */"foobar");
- // JDK1.1 requires a constraint
- }
-
- protected Label newCardLabel() {
- return new Label(Global.getMsg(
-/* JSTYLED */
- "sunsoft.jws.visual.rt.awt.CardPanel.Card__Panel"));
- }
-
- public Component add(String name, Component comp) {
- boolean isFront =
- (currentCard != null && cards.get(currentCard) == comp);
-
- super.add(name, comp);
-
- if (isFront) {
- comp.show();
- currentCard = name;
- }
-
- return comp;
- }
-
- public void addTab(String name) {
- tabs.addElement(name);
- }
-
- public void addTab(String name, int index) {
- tabs.insertElementAt(name, index);
- }
-
- public String getTab(int index) {
- int size = tabs.size();
- if (index >= 0 && index < size)
- return (String)tabs.elementAt(index);
- else
- return null;
- }
-
- public int getTabIndex(String name) {
- return tabs.indexOf(name);
- }
-
- public void removeTab(String name) {
- tabs.removeElement(name);
- removeCard(name);
- }
-
- public void renameTab(String oldName, String newName) {
- int index = tabs.indexOf(oldName);
- if (index != -1) {
- tabs.removeElementAt(index);
- tabs.insertElementAt(newName, index);
- renameCard(oldName, newName);
- }
- }
-
- public void removeAllTabs() {
- tabs.removeAllElements();
- removeAllCards();
- }
-
- public Enumeration tabs() {
- return tabs.elements();
- }
-
- public Component addCard(String name, Component card) {
- if (cardLabel.getParent() == this)
- remove(cardLabel);
-
- if (!tabs.contains(name)) {
- /* BEGIN JSTYLED */
- throw new Error(Global.fmtMsg("sunsoft.jws.visual.rt.awt.CardPanel.FMT.0", /* NOI18N */"\r\n",
- Global.getMsg("sunsoft.jws.visual.rt.awt.CardPanel.________There__is__no__tab__.0"), name, /* NOI18N */"\".\r\n",
- Global.getMsg("sunsoft.jws.visual.rt.awt.CardPanel.________You__must__call__ad.1")));
- /* END JSTYLED */
- }
-
- cards.put(name, card);
-
- // The first card that is added will be shown by the cardLayout,
- // and thusly it must become the currentCard.
- if (currentCard == null) {
- currentCard = name;
- postEvent(new Event(this, CURRENTCARD, name));
- }
-
- return add(name, card);
- }
-
- public Component getCard(String name) {
- return (Component)cards.get(name);
- }
-
- public String getCardName(Component comp) {
- Enumeration e = cards.keys();
- while (e.hasMoreElements()) {
- String key = (String)e.nextElement();
- if (cards.get(key) == comp)
- return key;
- }
-
- return null;
- }
-
- // Call renameTab to rename the card
- private void renameCard(String oldName, String newName) {
- Component comp = (Component)cards.get(oldName);
-
- if (comp != null) {
- cards.remove(oldName);
- cards.put(newName, comp);
-
- remove(comp);
- add(newName, comp);
-
- if (oldName.equals(currentCard)) {
- currentCard = newName;
- comp.show();
- }
- }
- }
-
- // Call removeTab to remove the card
- private void removeCard(String name) {
- if (name.equals(currentCard))
- currentCard = null;
-
- Component comp = (Component)cards.get(name);
- if (comp != null) {
- cards.remove(name);
- remove(comp);
- }
-
- if (cardLabel.getParent() != this &&
- countComponents() == 0)
- add(cardLabel, /* NOI18N */"foobar");
- // JDK1.1 requires a constraint
- }
-
- // Call removeAllTabs to remove all the cards
- private void removeAllCards() {
- cards.clear();
-
- if (cardLabel.getParent() != this)
- add(cardLabel, /* NOI18N */"foobar");
- }
-
- public String getCurrentCard() {
- return currentCard;
- }
-
- public void show(String name) {
- if (cards.get(name) == null) {
- postEvent(new Event(this, FETCHCARD, name));
- }
-
- if (cards.get(name) != null) {
- currentCard = name;
- cardLayout.show(this, name);
- postEvent(new Event(this, CURRENTCARD, name));
- }
- }
-
- public void first() {
- if (tabs.size() > 0)
- show((String)tabs.elementAt(0));
- }
-
- public void next() {
- int index = frontIndex();
- if (tabs.size() > (index+1))
- show((String)tabs.elementAt(index+1));
- }
-
- void previous() {
- int index = frontIndex();
- if (tabs.size() > 0 && (index-1) >= 0)
- show((String)tabs.elementAt(index-1));
- }
-
- public void last() {
- int index = tabs.size()-1;
- if (index >= 0)
- show((String)tabs.elementAt(index));
- }
-
- private int frontIndex() {
- if (currentCard == null)
- return -1;
- else
- return tabs.indexOf(currentCard);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CheckboxList.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CheckboxList.java
deleted file mode 100644
index c4a94251cc..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CheckboxList.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) CheckboxList.java 1.7 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.awt.*;
-import java.awt.*;
-import java.util.Vector;
-
-public class CheckboxList extends ScrollPanel {
- private CheckboxView view;
-
- public CheckboxList() {
- view = new CheckboxView();
- add(view);
-
- Vector items = view.items;
- for (int i = 0; i < 100; i++)
- items.addElement(/* NOI18N */"item" + i);
-
- view.updateCheckboxes();
- }
-}
-
-class CheckboxView extends Panel implements Scrollable {
- Vector items;
-
- private int curx, cury;
- private GBLayout gridbag;
- private Panel panel;
-
- public CheckboxView() {
- items = new Vector();
-
- setLayout(null);
- gridbag = new GBLayout();
-
- panel = new Panel();
- panel.setLayout(gridbag);
-
- add(panel);
- }
-
- public void updateCheckboxes() {
- panel.removeAll();
- GBConstraints c = new GBConstraints();
-
- c.gridx = 0;
- c.gridy = 0;
- c.fill = GBConstraints.BOTH;
-
- int size = items.size();
- for (int i = 0; i < items.size(); i++) {
- Checkbox box = new Checkbox((String)items.elementAt(i));
- gridbag.setConstraints(panel.add(box), c);
-
- c.gridx++;
- if (c.gridx == 3) {
- c.gridx = 0;
- c.gridy++;
- }
- }
-
- if (panel.getPeer() != null) {
- Dimension d = panel.minimumSize();
- panel.reshape(0, 0, d.width, d.height);
- }
- }
-
- public void addNotify() {
- super.addNotify();
- Dimension d = panel.minimumSize();
- panel.reshape(0, 0, d.width, d.height);
- }
-
- public Dimension minimumSize() {
- return new Dimension(150, 300);
- }
-
- public Dimension preferredSize() {
- return minimumSize();
- }
-
- public void scrollX(int x) {
- curx = -x;
- panel.move(curx, cury);
- }
-
- public void scrollY(int y) {
- cury = -y;
- panel.move(curx, cury);
- }
-
- public Dimension scrollSize() {
- return panel.minimumSize();
- }
-
- public Dimension viewSize(Dimension size) {
- return size;
- }
-
- public int lineHeight() {
- if (panel.countComponents() == 0)
- return 1;
-
- Component comp = panel.getComponent(0);
- Dimension min = comp.minimumSize();
- return min.height;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CheckboxPanel.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CheckboxPanel.java
deleted file mode 100644
index 6beda89318..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/CheckboxPanel.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.*;
-
-public class CheckboxPanel extends GBPanel {
-
- private CheckboxGroup group;
-
- public CheckboxPanel() {
- super();
- group = new CheckboxGroup();
- }
-
- // #ifdef JDK1.1
- protected void addImpl(Component comp, Object constraints,
- int index) {
- doAdd(comp);
- super.addImpl(comp, constraints, index);
- }
- // #else
- // public Component add(Component comp, int pos) {
- // doAdd(comp);
- // return super.add(comp, pos);
- // }
- // #endif
-
- private void doAdd(Component comp) {
- if (comp instanceof Checkbox) {
- Checkbox box = (Checkbox)comp;
- box.setCheckboxGroup(group);
-
- if (box.getState()) {
- if (group.getCurrent() == null)
- group.setCurrent(box);
- else
- box.setState(false);
- }
- }
- }
-
- public void remove(Component comp) {
- if (comp instanceof Checkbox)
- ((Checkbox)comp).setCheckboxGroup(null);
- super.remove(comp);
- }
-
- public void removeAll() {
- int count = countComponents();
- for (int i = 0; i < count; i++) {
- Component comp = getComponent(i);
- if (comp instanceof Checkbox)
- ((Checkbox)comp).setCheckboxGroup(null);
- }
-
- super.removeAll();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnList.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnList.java
deleted file mode 100644
index 58922e3598..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnList.java
+++ /dev/null
@@ -1,883 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * ColumnList.java
- *
- * Copyright 1995-1996 Active Software Inc.
- *
- * @version @(#)ColumnList.java 1.62 97/05/02
- * @author Tilman Sporkert
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.awt.GBLayout;
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import sunsoft.jws.visual.rt.awt.VJScrollbar;
-
-import java.awt.*;
-import java.util.Vector;
-
- /* BEGIN JSTYLED */
- /**
- * A Widget to display data in a row/column fashion,
- * with scrollbars etc.
- *
- * A ColumnList has the following features/attributes:
- * headers: An array of Strings. The size of
- * this array determines the number
- * of columns in the list. There will be one additional, hidden
- * column that can be used for any Object.
- * The length of the header string defines the initial width of the
- * column. To make it wider, add spaces to the end of the string.
- * If a header field is of the form "name=header", then only the
- * "header" part will actually be used for the visible header.
- * The "name" part is available through
- * getNames() or getNameColumn()
- * selectable: If true, records can be selected
- * with the mouse. A LIST_EVENT gets posted.
- * editable: If true, records can be edited with the mouse.
- * Columns
- * containing a checkbox are currently the only editable columns.
- * highlight_items: If true, new entries will be
- * highlighted in orange, slowly
- * fading out.
- * showHeaders: If set to false, the headers will not be shown.
- *
- *
- * @author Tilman Sporkert
- */
-
- /* END JSTYLED */
-public class ColumnList extends ScrollPanel {
-
- // Entry attributes
- static final int HIGHLIGHT = 1;
-
- ColumnListCanvas canvas;
- String[] names = null;
- boolean[] keys = null;
- int[] sortColumns = null; // references names
- int validSortColumns = 0;
- // how many of them were actually recognized?
- boolean[] sortAscend = null;
-
- // event type for getting a chance to cancel the selection of a row
- public final static int CONFIRM_SELECT = 4863;
-
- // event type for applying an edit
- public final static int APPLY_EDIT = 4864;
-
-
- /**
- * create a new ColumnList with no information
- * about the columns
- */
- public ColumnList() {
- add(canvas = new ColumnListCanvas(this));
- setCanvasBackground(Color.white);
- }
-
-
- /**
- * create a new ColumnList, with the given columns, and
- * given visible
- * rows.
- *
- */
- public ColumnList(String[] headers,
- boolean selectable,
- boolean highlight_items) {
- this();
- setHeaders(headers);
- // setFormat(format);
- setSelectable(selectable);
- setHighlightItems(highlight_items);
- }
-
-
- /**
- * Sets the column to be editable or not.
- * If a column is editable, then
- * all the strings that are in the column will
- * be able to be modified.
- *
- */
- public void setTextEditable(int column, boolean value) {
- canvas.setTextEditable(column, value);
- }
-
- /**
- * Sets all the columns to be editable or not. If a column is
- * editable, then all the strings that are in the column will
- * be able to be modified.
- *
- */
- public void setTextEditable(boolean value) {
- canvas.setTextEditable(value);
- }
-
- /**
- * Gets the current value of the textEditable attribute.
- *
- */
- public boolean getTextEditable(int column) {
- return canvas.getTextEditable(column);
- }
-
- /**
- * Call this when a CONFIRM_SELECT event is received if you
- * don't want the selection to be changed.
- */
- public void cancelSelect() {
- canvas.cancelSelect();
- }
-
- /**
- * Call this to edit the given column of the
- * currently selected row.
- *
- */
- public boolean startEdit(int column) {
- return canvas.startEdit(column);
- }
-
- /**
- * Call this to force edits to be applied.
- */
- public boolean applyChanges() {
- return canvas.applyChanges();
- }
-
- /**
- * Call this when a APPLY_EDIT event is received if you
- * don't want the change to be applied.
- */
- public void cancelApply() {
- canvas.cancelApply();
- }
-
- /**
- * Call this when you want to cancel any edit that might
- * currently be going on.
- */
- public void cancelEdit() {
- canvas.cancelEdit();
- }
-
- public int getEditRow() {
- return canvas.getEditRow();
- }
-
- public int getEditColumn() {
- return canvas.getEditColumn();
- }
-
- /**
- * Sets the foreground color.
- *
- */
- public void setCanvasForeground(Color fg) {
- canvas.setForeground(fg);
- canvas.repaint();
- }
-
-
- /**
- * Gets the current foreground color.
- *
- * @return Color
- */
- public Color getCanvasForeground() {
- return canvas.getForeground();
- }
-
-
- /**
- * Sets the background color.
- *
- */
- public void setCanvasBackground(Color fg) {
- canvas.setBackground(fg);
- canvas.repaint();
- }
-
-
- /**
- * Gets the current background color.
- *
- * @return Color
- */
- public Color getCanvasBackground() {
- return canvas.getBackground();
- }
-
-
- /**
- * Sets the font attribute.
- *
- */
- public void setCanvasFont(Font font) {
- canvas.setFont(font);
- canvas.repaint();
- }
-
-
- /**
- * Gets the font attribute.
- *
- */
- public Font getCanvasFont() {
- return canvas.getFont();
- }
-
-
- public Dimension preferredSize() {
- Dimension d = super.preferredSize();
- // Do NOT account for hbar height as
- // we want preferredSize height to accomodate
- // just the header and visibleRow data exactly
- d.height -= hbar.preferredSize().height;
- return d;
- }
-
- /**
- * Set the desired number of rows to be displayed.
- * This affects the
- * minimumSize() and preferredSize() of the widget.
- * The actual rows
- * displayed by the widget depend on how the
- * LayoutManager interprets
- * those values.
- *
- */
- public void setVisibleRows(int rows) {
- setDisplayRows(rows);
- }
-
-
- // for backward compatibility
- public void setDisplayRows(int rows) {
- canvas.setDisplayRows(rows);
- }
-
-
- /**
- * Set the desired number of "visible" chars, i.e.
- * the total width of
- * the column list. Defaults to "all".
- *
- */
- public void setVisibleChars(int chars) {
- canvas.setVisibleChars(chars);
- }
-
-
- /**
- * Sets the header strings.
- *
- */
- public void setHeaders(String[] headers) {
- String[] realHeaders = null;
-
- if (headers != null) {
- realHeaders = new String[headers.length];
- names = new String[headers.length];
- keys = new boolean[headers.length];
- boolean hasKeys = false;
- for (int h = 0; h < headers.length; h++) {
- keys[h] = false;
- int offset = headers[h].indexOf(/* NOI18N */ '=');
- if (offset > 0) {
- names[h] = headers[h].substring(0, offset);
- if (names[h].charAt(0) == /* NOI18N */ '*') {
- keys[h] = true;
- hasKeys = true;
- names[h] = headers[h].substring(1, offset);
- }
- realHeaders[h] = headers[h].substring(
- offset + 1);
- } else {
- realHeaders[h] = headers[h];
- names[h] = headers[h];
- }
- }
- if (!hasKeys)
- keys = null;
- } else {
- keys = null;
- }
-
- canvas.setHeaders(realHeaders);
- }
-
- /* BEGIN JSTYLED */
- /**
- * Set the sort order. Input is an array of
- column names, optionally
- * preceded with a '+' for Ascend (default)
- or '-' for descend.
- * This call should be made after setHeaders(), and
- before adding items.
- * Items should only be added with addItem(Object[] entry).
- *
- * If any of the names supplied do not match a
- column name, then
- * they will be silently ignored.
- *
- */
- /*
- * Fix for Sun Bug # 4069218: incorrect sortNames
- * causes array out of bounds
- * error on addItem(...).
- * -> If name is not recognized (i.e. getNameColumn() returns -1),
- * Then that entry is *silently* ignored.
- * -> Later we may want to throw some kind of exception.
- *
- */
- /* END JSTYLED */
- public void setSort(String[] sortNames) {
- if (sortNames != null && sortNames.length > 0) {
- sortColumns = new int[sortNames.length];
- sortAscend = new boolean[sortNames.length];
- int acceptedIndex = 0;
- int nameColumn;
- boolean ascend;
- for (int c = 0; c < sortNames.length; c++) {
-
- String colName = null;
- if (sortNames[c].startsWith(/* NOI18N */"+")) {
- ascend = true;
- colName = sortNames[c].substring(1);
- } else if (sortNames[c].startsWith(/* NOI18N */"-")) {
- colName = sortNames[c].substring(1);
- ascend = false;
- } else {
- ascend = true;
- colName = sortNames[c];
- }
- nameColumn = getNameColumn(colName);
- if (nameColumn != -1) {
- // only process if recognized.
- acceptedIndex ++;
- sortColumns[acceptedIndex-1] = nameColumn;
- sortAscend[acceptedIndex-1] = ascend;
- }
- }
- // Need to remember the actual number of accepted sort columns.
- validSortColumns = acceptedIndex;
- } else {
- sortColumns = null;
- validSortColumns = 0;
- sortAscend = null;
- }
- }
-
-
-
- /**
- * set column formating. There is one letter for each column, with
- * l = left, c = center, r = right
- *
- */
- public void setFormats(String formatStr) {
- int[] format = new int[formatStr.length()];
- for (int c = 0; c < formatStr.length(); c++) {
- int f = formatStr.charAt(c);
- if (f == /* NOI18N */ 'c')
- format[c] = Label.CENTER;
- else if (f == /* NOI18N */ 'r')
- format[c] = Label.RIGHT;
- else
- format[c] = Label.LEFT; // default
- }
- canvas.setFormats(format);
- }
-
-
- /**
- * Sets the selectable attribute.
- *
- */
- public void setSelectable(boolean selectable) {
- canvas.setSelectable(selectable);
- }
-
-
- /**
- * Sets the editable attribute.
- *
- */
- public void setEditable(boolean editable) {
- canvas.setEditable(editable);
- }
-
-
- /**
- * Sets the hightLightItems attribute.
- *
- */
- public void setHighlightItems(boolean highlight_items) {
- canvas.setHighlightItems(highlight_items);
- }
-
- public void setHighlighted(int row, boolean highlight) {
- canvas.setHighlighted(row, highlight);
- }
-
- public boolean getHighlighted(int row) {
- return canvas.getHighlighted(row);
- }
-
- /**
- * Sets the showHeaders attribute.
- *
- */
- public void setShowHeaders(boolean showHeaders) {
- canvas.setShowHeaders(showHeaders);
- }
-
-
- /**
- * Sets the showVerticalLines attribute.
- *
- */
- public void setShowVerticalLines(boolean showVerticalLines) {
- canvas.setShowVerticalLines(showVerticalLines);
- }
-
-
- /**
- * Sets the showHorizontalLines attribute.
- *
- */
- public void setShowHorizontalLines(boolean showHorizontalLines) {
- canvas.setShowHorizontalLines(showHorizontalLines);
- }
-
-
- /**
- * Sets the autoWidth attribute.
- *
- */
- public void setAutoWidth(boolean autoWidth) {
- canvas.setAutoWidth(autoWidth);
- }
-
-
- /**
- * Adds an item to the list. If the list has no
- * keys defined, the item
- * will be appended at the end of the list.
- * Otherwise, the existing entries
- * will be searched for an entry with the same key values.
- * If there is
- * such an entry, it will get replaced. Otherwise, the
- * record goes at the
- * end.
- *
- * @param values the record
- * @param updateView whether to update the view
- * @return index of new record
- */
- public int addItem(Object[] values, boolean updateView) {
- boolean setSelectedRow = false;
- if (keys != null) {
- for (int r = 0; r < entries(); r++)
- if (isEqualTo(values, r)) {
- // found a matching entry
- if (sortColumns != null && validSortColumns > 0) {
- // when sorting, take out the old one, and put the new
- // one in at its proper place
- if (getSelectedRow() == r)
- setSelectedRow = true;
- canvas.delItems(r, r);
- break;
- }
- // no sorting -> just replace
- canvas.addItem(values, r);
- if (updateView)
- updateView();
- return r;
- }
- }
- if (sortColumns != null && validSortColumns > 0) {
- for (int r = 0; r < entries(); r++) {
- for (int c = 0; c < validSortColumns; c++) {
- int colIndex = sortColumns[c];
- int comp = values[colIndex].toString().compareTo(
- getItem(r, colIndex).toString());
- if (!sortAscend[c])
- comp = -comp;
- if (comp < 0) {
- canvas.insertItem(values, r);
- if (setSelectedRow)
- selectRow(r);
- if (updateView)
- updateView();
- return r;
- } else if (comp > 0)
- break;
- }
- }
- }
- canvas.addItem(values);
- if (setSelectedRow)
- selectRow(entries() - 1);
- if (updateView)
- updateView();
- return (entries() - 1);
- }
-
-
- /**
- * Adds an item to the list.
- *
- */
- public void addItem(Object[] values) {
- addItem(values, true);
- }
-
-
- /**
- * Compares a row to the specified values.
- *
- */
- private boolean isEqualTo(Object[] values, int r) {
- for (int c = 0; c < getColumns(); c++) {
- if (keys[c]) {
- if (!((String) getItem(r, c)).equals((String) values[c]))
- return false;
- }
- }
- return true;
- }
-
-
- /**
- * Adds an item at a specific location. An existing record will be
- * replaced. You should not use this method if you have sorting
- * enabled!
- *
- */
- public void addItem(Object[] values, int row) {
- canvas.addItem(values, row);
- updateView();
- }
-
-
- /**
- * Insert a new item at a specific location.
- * Existing records will be
- * moved back. You should not use this method if you have sorting
- * enabled!
- *
- */
- public void insertItem(Object[] values, int row) {
- canvas.insertItem(values, row);
- updateView();
- }
-
-
- /**
- * Deletes the items.
- */
- public void delItems() {
- delItems(true);
- }
-
- public void delItems(boolean updateView) {
- canvas.delItems();
- if (updateView)
- updateView();
- }
-
-
- /**
- * Delete the items.
- *
- */
- public void delItems(int start, int end) {
- canvas.delItems(start, end);
- updateView();
- }
-
-
- /**
- * Delete an item.
- *
- */
- public boolean delItem(Object[] values) {
- if (keys != null) {
- for (int r = 0; r < entries(); r++)
- if (isEqualTo(values, r)) {
- canvas.delItems(r, r);
- updateView();
- return true;
- }
- }
- return false;
- }
-
-
- /**
- * Select a row.
- *
- */
- public int selectRow(int row) {
- return canvas.selectRow(row);
- }
-
- // for backwards compatibility
- public void highlight(int row) {
- canvas.selectRow(row);
- }
-
- /**
- * Gets the selectedRow attribute.
- */
- public int getSelectedRow() {
- return canvas.selectedRow;
- }
-
- public int getHighlightedRow() {
- return canvas.getSelectedRow();
- }
-
- /**
- * Gets the bounds.
- */
- public Rectangle getListBounds() {
- return canvas.bounds();
- }
-
-
- /**
- * Gets the entries.
- */
- public int entries() {
- return canvas.records;
- }
-
-
- /**
- * Gets the columns.
- */
- public int getColumns() {
- return canvas.columns;
- }
-
-
- /**
- * Gets the names of all the columns.
- */
- public String[] getNames() {
- return names;
- }
-
-
- /**
- * Gets the column with the specified name.
- *
- */
- public int getNameColumn(String name) {
- for (int n = 0; n < names.length; n++)
- if (names[n].equals(name))
- return n;
- return -1;
- }
-
-
- /**
- * Gets an item in the specified row and column.
- *
- */
- public Object getItem(int row, int column) {
- return canvas.getItem(row, column);
- }
-
-
- /**
- * Gets the "Object" for a row.
- *
- */
- public Object getObject(int row) {
- return canvas.getItem(row, canvas.columns);
- }
-
- /**
- * Puts an item at a specific row/column location.
- * Warning: If you are changing the value of a
- * key column, another record
- * that matches your keys will get deleted.
- * If you are changing
- * the value of a sort column, your record
- * might get moved to a
- * new position.
- * The function returns the new row index.
- *
- */
- public int putItem(int row, int column, Object value) {
- Object oldValue = getItem(row, column);
- if (!canvas.putItem(row, column, value))
- return -1;
-
- // skip the checks if value didn't change (but not when value isn't
- // representable as a string, for example hwhen an icon has no label)
- if (value.toString() != null &&
- value.toString().equals(oldValue.toString()))
- return row;
-
- boolean setSelectedRow = false;
- if (getSelectedRow() == row)
- setSelectedRow = true;
-
- // did we update a key column?
- if (keys != null && keys.length > column && keys[column]) {
- Object[] values = (Object []) canvas.labels.elementAt(row);
- for (int r = 0; r < entries(); r++)
- if (r != row && isEqualTo(values, r)) {
- // found a matching entry at a different location
- canvas.delItems(r, r);
- if (r < row)
- row--; // we just moved down one entry
- break;
- }
- }
- if (isSortColumn(column)) {
- Object[] values = (Object []) canvas.labels.elementAt(row);
- for (int r = 0; r < entries(); r++) {
- for (int c = 0; c < sortColumns.length; c++) {
- int colIndex = sortColumns[c];
- int comp = values[colIndex].toString().compareTo(
- getItem(r, colIndex).toString());
- if (!sortAscend[c])
- comp = -comp;
- if (comp < 0) {
- if (r != row && r != row + 1) {
- swapItems(r, row);
- row = r;
- }
- if (setSelectedRow)
- selectRow(row);
- return row;
- } else if (comp > 0)
- break;
- }
- }
- }
- if (setSelectedRow)
- selectRow(row);
- return row;
- }
-
-
- private boolean isSortColumn(int column) {
- if (sortColumns == null)
- return false;
- for (int c = 0; c < validSortColumns; c++)
- if (sortColumns[c] == column)
- return true;
- return false;
- }
-
-
- /**
- * Sets the object for a row
- *
- */
- public boolean putObject(int row, Object value) {
- return canvas.putItem(row, canvas.columns, value);
- }
-
-
- /**
- * Swaps the entries in two rows
- *
- */
- public boolean swapItems(int row1, int row2) {
- return canvas.swapItems(row1, row2);
- }
-
-
- /**
- * Gets the Y coordinate of the upper edge of a
- * row in the column list.
- * Returns -1 if the row is not visible. Returns -2 is the list is
- * not layed out yet.
- *
- * @param row index of desired row
- * @return Y coordinage of row
- */
- public int getRowY(int row) {
- return canvas.getRowY(row);
- }
-
-
- /**
- * Gets the row height of entries in the list
- *
- * @return height of a row
- */
- public int getRowHeight() {
- return canvas.rowHeight;
- }
-
-
- /**
- * Calls repaint() on the ColumnListCanvas. Needed
- * if an Object in the
- * column list has been changed directly(without going through
- * putItem).
- */
- public void needsRepaint() {
- canvas.repaint();
- }
-
-
- /**
- * Redraws everything, and re-evaluates the need for scroll bars
- */
- public void updateView() {
- canvas.repaint();
- updateWindow();
- }
-
- void setHBarValue(int value) {
- hbar.setValue(value);
- }
-
- void setVBarValue(int value) {
- vbar.setValue(value);
- }
-
- public void changeText(String text, int row, int column) {
- canvas.changeText(text, row, column);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnListCanvas.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnListCanvas.java
deleted file mode 100644
index d27fbd42f4..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnListCanvas.java
+++ /dev/null
@@ -1,1857 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * ColumnListCanvas.java
- *
- * Copyright 1995-1996 Active Software Inc.
- *
- * @version @(#)ColumnListCanvas.java 1.93 97/07/25
- * @author Tilman Sporkert
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.DesignerAccess;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.Graphics;
-import java.util.Vector;
-import java.awt.*;
-
-/**
- * An internal widget for the ColumnList widget
- *
- * @author Tilman Sporkert
- */
-class ColumnListCanvas extends VJPanel implements Scrollable {
- // Padding
- final static int LEFT_PAD = 4;
- final static int RIGHT_PAD = 4;
-
- // Editing
- private EditLine editline;
- private CLChoice editchoice;
- private boolean justCancelled;
- Window choiceMenuWindow;
- TextList choiceMenu;
- private int editrow = -1;
- private int editcolumn = -1;
- private boolean[] textEditable;
- private boolean applying;
- private boolean cancelApply;
-
- // double-buffering
- private Image buffer;
- private Dimension bufferSize;
- private Image[] bufferCache = new Image[3];
- private Dimension[] bufferSizeCache = new Dimension[3];
-
- ColumnList parent;
- Frame ourFrame = null;
- int columns; // # of data columns
- // there are actual columns + 1 columns managed
- // but only columns are visible. The last
- // column can be accessed only by addItem(),
- // getItem(), and putItem(), and can be used to
- // manage a random object together with the
- // data row
- int charWidth;
- int rowHeight; // height of data row
- Component hasComponents = null;
- int componentHeight = 0;
- // height of largest component in list
- int rowAscent;
- int headerHeight;
- int totalWidth; // total width of all colums
- boolean dragging = false; // for resizing columns
- int dragStart; // x position where drag started
- int dragColumn; // which column is getting resized?
-
- String[] headers;
- boolean showHeaders = true;
- boolean showVerticalLines = false;
- boolean showHorizontalLines = false;
- int[] formats = null; // Formatting mode for columns
- int[] dimensions; // the dimensions of the headers
- boolean autoWidth = true; // automatically expand columns to fit?
- int records; // # of active records
- Vector labels; // the actual data, as Label[]
- Vector rowColors; // Attributes of a record
-
- int requestedRows = 5; // requested # of rows to show
- int requestedChars = 0;
- // request # of chars to display horizontally
- int dispRows; // # of rows to show
- int visibleRows = -1;
- // this can be one more than dispRows
-
- int scrollx = 0;
- int scrollrow = 0;
- int scrolly = 0;
-
- // the selection
- boolean highlightItems = false; // highlight new items?
- Thread colorThread = null;
- boolean selectable = false;
- int selectedRow = -1;
- Color selectColor;
- boolean editable = true;
-
- // flag to track if the selection change has been canceled
- private boolean cancelSelect;
-
- private final static int COLOR_NONE = 0;
- private final static int COLOR_FIRST = 4;
-
- /**
- * create a new ColumnListCanvas. Before it can be used
- * in any reasonable fashion, setHeaders() should
- * be called, followed
- * by an optional call to setFormat()!
- *
- * @param parent The parent ColumnList
- */
- public ColumnListCanvas(ColumnList parent) {
- setLayout(null);
- this.parent = parent;
-
- headers = new String[0];
- columns = 0;
-
- labels = new Vector();
- rowColors = new Vector();
-
- dimensions = null;
-
- dispRows = 0;
- records = 0;
-
- selectColor = new Color(0, 0, 128);
- }
-
- public void setTextEditable(boolean value) {
- textEditable = ensureLength(textEditable, columns);
- for (int i = 0; i < textEditable.length; i++)
- textEditable[i] = value;
- }
-
- public void setTextEditable(int column, boolean value) {
- if (column < 0 || column >= columns)
- return;
-
- textEditable = ensureLength(textEditable, column+1);
- textEditable[column] = value;
- }
-
- public boolean getTextEditable(int column) {
- if (textEditable == null || column < 0 ||
- column >= textEditable.length)
- return false;
-
- return textEditable[column];
- }
-
- public boolean[] ensureLength(boolean[] arr, int length) {
- if (arr == null)
- return new boolean[length];
-
- if (arr.length < length) {
- boolean[] newarr = new boolean[length];
- System.arraycopy(arr, 0, newarr, 0, arr.length);
- arr = newarr;
- }
-
- return arr;
- }
-
- public void cancelApply() {
- cancelApply = true;
- }
-
- public synchronized void cancelEdit() {
- if (editline != null || editchoice != null) {
- selectRow(editrow);
-
- if (editline != null) {
- editline.destroy();
- editline = null;
- justCancelled = true;
- } else {
- editchoice.cancelEdit();
- editchoice = null;
- justCancelled = true;
- }
-
- editrow = -1;
- editcolumn = -1;
- repaint();
- }
- }
-
- public int getEditRow() {
- return editrow;
- }
-
- public int getEditColumn() {
- return editcolumn;
- }
-
- public boolean applyChanges() {
- if (editchoice != null) {
- cancelEdit();
- return true;
- } else if (editline != null) {
- editline.applyChanges();
- return !cancelApply;
- } else {
- return true;
- }
- }
-
- public boolean startEdit(int column) {
- return startEdit(column, -1);
- }
-
- private synchronized boolean startEdit(int column, int x) {
- if (editchoice != null)
- return false;
-
- if (editline != null)
- return false;
-
- if (column < 0 || column >= columns)
- return false;
-
- if (!getTextEditable(column))
- return false;
-
- int row = getSelectedRow();
- if (row == -1)
- return false;
-
- Object entry = ((Object[])labels.elementAt(row))[column];
-
- if (entry instanceof String) {
- String str = (String)entry;
- editline = new EditLine(this, str, textX(str, column),
- textY(row));
- editrow = row;
- editcolumn = column;
- editline.paint(getBufferGraphics());
- copyBuffer();
- } else if (entry instanceof CLChoice) {
- CLChoice choice = (CLChoice)entry;
- if (!choice.getEditable())
- return false;
- editchoice = choice;
- editrow = row;
- editcolumn = column;
- } else if (entry instanceof CLComponent) {
- CLComponent comp = (CLComponent)entry;
- if (!comp.getEditable())
- return false;
-
- String text = comp.getText();
-
- if (text != null) {
- int textX = comp.textX() + columnX(column);
- int textY = comp.textY() + rowY(row);
-
- if (x != -1 && x < textX)
- return false;
-
- editline = new EditLine(this, text, textX, textY);
- editrow = row;
- editcolumn = column;
- editline.paint(getBufferGraphics());
- copyBuffer();
- }
- }
-
- if (editline != null) {
- selectRow(-1);
- return true;
- } else if (editchoice != null) {
- return true;
- } else {
- return false;
- }
- }
-
- public int textX(String str, int column) {
- int x = -scrollx;
- for (int i = 0; i < column; i++)
- x += dimensions[i];
- x += LEFT_PAD;
-
- int format = getFormat(column);
- if (format != Label.LEFT) {
- int width = dimensions[column] - LEFT_PAD - RIGHT_PAD;
- FontMetrics fm = getFontMetrics(getFont());
- int w = fm.stringWidth(str);
-
- if (format == Label.RIGHT)
- x += width - w;
- else if (format == Label.CENTER)
- x += (width - w) / 2;
- }
-
- return x;
- }
-
- public int textY(int row) {
- return headerHeight + ((row - scrollrow) * rowHeight)
- + rowAscent;
- }
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- protected void finalize() {
- if (colorThread != null)
- colorThread.stop();
- }
-
-
- /**
- * set the headers for the columns. THis also defines the
- * # of columns. If the # of header columns
- * changes, all current rows
- * will be deleted, and the formatting options get reset
- *
- * @param headersIn array of column headers
- */
- public synchronized void setHeaders(String[] headersIn) {
- int newColumns;
-
- if (headersIn == null)
- newColumns = 0;
- else
- newColumns = headersIn.length;
-
- if (newColumns != columns) {
- // # of columns change -> get rid of everything
- delItems();
- labels = new Vector();
- rowColors = new Vector();
- formats = null;
- dimensions = null;
- }
-
- if (headersIn == null)
- columns = 0;
- else
- columns = headersIn.length;
- headers = headersIn;
- dimensions = null;
- cacheDimensions();
- repaint();
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void setFormats(int[] formatIn) {
- formats = formatIn;
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public int getFormat(int column) {
- if ((formats == null) || (column < 0) || (
- column >= formats.length))
- return Label.LEFT;
- else
- return formats[column];
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void setSelectable(boolean selectable) {
- this.selectable = selectable;
- }
-
-
- public void setEditable(boolean editable_in) {
- editable = editable_in;
- }
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void setHighlightItems(boolean highlightItems) {
- this.highlightItems = highlightItems;
- }
-
- public void setHighlighted(int row, boolean highlight) {
- if (row < 0 || row >= records)
- return;
-
- if (highlight) {
- rowColors.setElementAt(new Integer(COLOR_FIRST), row);
-
- if (highlightItems == true) {
- if (colorThread == null) {
- colorThread = new ColumnListThread(this);
- colorThread.start();
- } else {
- colorThread.resume();
- }
- }
- } else {
- rowColors.setElementAt(new Integer(COLOR_NONE), row);
- }
- }
-
- public boolean getHighlighted(int row) {
- if (row < 0 || row >= records)
- return false;
-
- int rowColor = ((Integer) rowColors.elementAt(row)).intValue();
- return (rowColor != COLOR_NONE);
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void setShowHeaders(boolean showHeaders) {
- this.showHeaders = showHeaders;
- repaint();
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void setShowVerticalLines(boolean showVerticalLines) {
- this.showVerticalLines = showVerticalLines;
- repaint();
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void setShowHorizontalLines(boolean showHorizontalLines) {
- this.showHorizontalLines = showHorizontalLines;
- repaint();
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void setAutoWidth(boolean autoWidth) {
- this.autoWidth = autoWidth;
- }
-
-
- // Scrollable
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void scrollX(int x) {
- if (scrollApply()) {
- scrollx = x;
- repaint();
- } else {
- parent.setHBarValue(scrollx);
- }
- }
-
-
- /**
- * Scroll vertically to y. Part of Scrollabel interface.
- *
- * @param y new vertical scroll position
- */
- public void scrollY(int y) {
- if (scrollApply()) {
- scrolly = y;
- if (rowHeight != 0)
- scrollrow = (y + rowHeight - 1) / rowHeight;
- else
- scrollrow = 0;
- repaint();
- } else {
- parent.setVBarValue(scrolly);
- }
- }
-
-
- private boolean scrollApply() {
- boolean status = true;
- if (!applying) {
- applying = true;
- status = applyChanges();
-
- // The Motif scrollbar gets locked down
- // when a modal dialog is
- // brought up while scrolling. To prevent getting infinite
- // errors, we will cancel the edit here.
- if (!status && Global.isMotif())
- cancelEdit();
-
- applying = false;
- }
- return status;
- }
-
- public Dimension scrollSize() {
- cacheDimensions();
- if (dimensions == null)
- return new Dimension(100, 100);
- else
- return new Dimension(totalWidth, rowHeight * records);
- }
-
- public Dimension viewSize(Dimension size) {
- cacheDimensions();
- size.height -= headerHeight;
- return size;
- }
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public int lineHeight() {
- cacheDimensions();
- return rowHeight;
- }
-
- private synchronized void addMoreLabels() {
- int c;
- // have one extra for the "hidden" object
- Object[] newLabels = new Object[columns + 1];
- labels.addElement(newLabels);
- rowColors.addElement(new Integer(COLOR_NONE));
- for (c = 0; c < columns; c++)
- newLabels[c] = /* NOI18N */"";
- newLabels[columns] = null;
- }
-
- private void ensureCapacity(int row) {
- while (row >= labels.size())
- addMoreLabels();
- }
-
- private void growRecords(int row) {
- // initialize all intermediate records
- while (row > records) {
- Object[] labelRow = (Object[]) labels.elementAt(records);
- for (int c = 0; c < columns; c++)
- labelRow[c] = /* NOI18N */"";
- labelRow[columns] = null;
- rowColors.setElementAt(new Integer(COLOR_NONE), records);
- records++;
- }
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public synchronized void insertItem(Object[] values, int row) {
- int c;
- boolean newWidth = false;
-
- // make sure we have enough labels...
- ensureCapacity(row);
- growRecords(row);
-
- // Make one extra entry
- ensureCapacity(records + 1);
- growRecords(records + 1);
-
- // Move other rows out of the way
- for (int pos = records-2; row <= pos; --pos) {
- labels.setElementAt(labels.elementAt(pos), pos+1);
- rowColors.setElementAt(rowColors.elementAt(pos), pos+1);
- }
- Object[] labelRow = new Object[columns+1];
- for (c = 0; c < columns; c++)
- labelRow[c] = /* NOI18N */"";
- labelRow[columns] = null;
- labels.setElementAt(labelRow, row);
-
- // Fix selected row
- if (selectedRow >= row)
- ++selectedRow;
-
- // Call addItem to replace things
- addItem(values, row);
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public synchronized void addItem(Object[] values) {
- addItem(values, records);
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public synchronized void addItem(Object[] values, int row) {
- // make sure we have enough labels...
- ensureCapacity(row);
- growRecords(row);
-
- if (autoWidth)
- cacheDimensions();
-
- Object[] labelRow = (Object[]) labels.elementAt(row);
-
- for (int c = 0; c < columns; c++) {
- labelRow[c] = values[c];
- if (values[c] instanceof CLComponent)
- ((CLComponent)values[c]).setCanvas(this, row, c);
- checkComponentCell(values[c]);
- }
- if (values.length > columns)
- labelRow[columns] = values[columns];
- else
- labelRow[columns] = null;
-
- adjustColumnWidths(row);
-
- if (highlightItems == true) {
- rowColors.setElementAt(new Integer(COLOR_FIRST), row);
- if (colorThread == null) {
- colorThread = new ColumnListThread(this);
- colorThread.start();
- } else
- colorThread.resume();
- } else
- rowColors.setElementAt(new Integer(COLOR_NONE), row);
- if (row >= records)
- records++;
- }
-
-
- /**
- * Adjust the widths of the columns for 'row' to make sure
- * everything
- * fits properly. If autoWidth is false, then this
- * function has no effect
- *
- * @param row row number
- */
- private void adjustColumnWidths(int row) {
- if (!autoWidth || (dimensions == null))
- return;
-
- Object[] labelRow = (Object[]) labels.elementAt(row);
- for (int c = 0; c < columns; c++)
- adjustColumnWidths(labelRow[c], c);
- }
-
-
- /**
- * If autoWidth is enabled, make sure "value" fits
- * into the given column.
- *
- * @param value the value to be checked
- * @param column column number
- */
- void adjustColumnWidths(Object value, int column) {
- if (!autoWidth || (value == null) || (dimensions == null))
- return;
-
- int w = labelWidth(value);
- int usableWidth = dimensions[column];
- if (w > usableWidth) {
- totalWidth += w - usableWidth;
- dimensions[column] += w - usableWidth;
- }
- }
-
-
- /**
- * If the object (to be put into a cell) is an AWT component, make
- * sure it gets properly managed in the layout, and
- * that the rows are
- * high enough to hold it.
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- private void checkComponentCell(Object value) {
- if (value instanceof Component) {
- if (hasComponents == null)
- hasComponents = (Component) value;
- add((java.awt.Component) value);
- ((java.awt.Component) value).hide();
- Dimension size = ((java.awt.Component) value).
- preferredSize();
- if (size.height > componentHeight) {
- componentHeight = size.height;
- if (componentHeight > rowHeight) {
- rowAscent += (componentHeight - rowHeight) / 2;
- rowHeight = componentHeight + 2;
- }
-
- }
- }
- }
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public synchronized void delItems() {
- delItems(0, records - 1);
- selectedRow = -1;
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public synchronized void delItems(int start, int end) {
- if ((start < 0) || (start >= records))
- return;
- if (end < start)
- return;
- if (end > records)
- end = records - 1;
- int r, c;
- int diff = end - start + 1;
- for (r = start; r <= end; r++) {
- Object[] labelRow = (Object[]) labels.elementAt(start);
- for (c = 0; c < columns; c++) {
- if (labelRow[c] instanceof Component)
- remove((java.awt.Component) labelRow[c]);
- else if (labelRow[c] instanceof CLComponent)
- ((CLComponent)labelRow[c]).setCanvas(null, -1, -1);
- }
-
- labels.removeElementAt(start);
- rowColors.removeElementAt(start);
- }
- records -= diff;
-
- if (selectedRow > end)
- selectedRow -= diff;
- else if (selectedRow > start)
- selectedRow = start - 1;
-
- // repaint all the time... could be optimized
- repaint();
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- protected Object getItem(int row, int column) {
- if ((row > records) || (row < 0) || (column > columns) ||
- (column < 0))
- return null;
- return ((Object []) labels.elementAt(row))[column];
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- protected synchronized boolean putItem(int row, int column,
- Object value) {
- if ((row > records) || (row < 0) || (column > columns) ||
- (column < 0))
- return false;
- Object[] data = (Object []) labels.elementAt(row);
- data[column] = value;
- if (value instanceof CLComponent)
- ((CLComponent)value).setCanvas(this, row, column);
-
- if (column < columns) {
- // don't do this on objects in the hidden column
- checkComponentCell(value);
- adjustColumnWidths(value, column);
- }
-
- repaint();
- return true;
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- protected boolean swapItems(int row1, int row2) {
- if ((row1 > records) || (row1 < 0) || (row2 > records) ||
- (row2 < 0))
- return false;
- if (row1 == row2)
- return true;
- Object[] data1 = (Object []) labels.elementAt(row1);
- Object[] data2 = (Object []) labels.elementAt(row2);
- labels.setElementAt(data2, row1);
- labels.setElementAt(data1, row2);
- repaint();
- return true;
- }
-
- public String chopText(String text, int w) {
- if (w <= 0)
- return /* NOI18N */"";
-
- FontMetrics fm = getFontMetrics();
- int len = text.length();
- int index = getTextCutoff(fm, w, text, len, 0, len);
- if (index == len)
- return text;
- else
- return text.substring(0, index);
- }
-
- private int getTextCutoff(FontMetrics fm, int textW, String str,
- int cur, int lower, int upper) {
- if (lower == upper) {
- return lower;
- } else if (lower == (upper-1)) {
- int width = fm.stringWidth(str.substring(0, upper));
- if (width < textW)
- return upper;
- else
- return lower;
- }
-
- int width = fm.stringWidth(str.substring(0, cur));
- if (width == textW)
- return cur;
- else if (width < textW)
- return getTextCutoff(fm, textW, str,
- cur + (upper-cur)/2, cur, upper);
- else
- return getTextCutoff(fm, textW, str,
- cur - (cur-lower)/2, lower, cur);
- }
-
- // drawString - calls g.drawString(str, x, y), but
- // makes sure that str
- // will fit into width
- public void drawString(Graphics g, String str, int x, int y,
- int width, int format) {
- str = chopText(str, width);
-
- g.setFont(getFont());
- FontMetrics fm = g.getFontMetrics();
- int w = fm.stringWidth(str);
- if (w <= 0)
- return;
-
- if (format == Label.RIGHT)
- x += width - w;
- else if (format == Label.CENTER)
- x += (width - w) / 2;
- g.drawString(str, x, y);
- }
-
- public FontMetrics getFontMetrics() {
- return getFontMetrics(getFont());
- }
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void setFont(Font font) {
- super.setFont(font);
- dimensions = null;
- cacheDimensions();
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void update(Graphics g) {
- paint(g);
- }
-
-
- /**
- * Determines the width a label item needs.
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- private int labelWidth(Object item) {
- if (item == null)
- return (0);
- else if (item instanceof Component)
- return ((Component) item).preferredSize().width +
- LEFT_PAD + RIGHT_PAD;
- else if (item instanceof String) {
- String str = (String)item;
- Graphics g = getBufferGraphics();
- g.setFont(getFont());
- FontMetrics fm = g.getFontMetrics();
- return fm.stringWidth(str) + LEFT_PAD + RIGHT_PAD;
- } else if (item instanceof CLComponent) {
- Dimension s = ((CLComponent) item).size();
- if (s != null)
- return s.width;
- else
- return 0;
- } else {
- return 0;
- }
- }
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- private void cacheDimensions() {
- if (dimensions != null)
- return;
-
- Graphics g = getBufferGraphics();
- if (g == null)
- return;
-
- g.setFont(getFont());
- FontMetrics fm = g.getFontMetrics();
-
- // figure out rowHeight (must be done before labelWidth is
- // ever called, because CLComponent width calculation depends
- // on rowHeight)
- rowHeight = fm.getHeight() + 3;
- rowAscent = fm.getAscent() + 2;
-
- if (Global.isWindows() && showHorizontalLines)
- rowHeight++;
- else if (Global.isMotif() && !showHorizontalLines)
- rowHeight--;
-
- charWidth = fm.charWidth(/* NOI18N */ 'X');
-
- if ((componentHeight == 0) && (hasComponents != null))
- componentHeight = hasComponents.preferredSize().height;
-
- if (rowHeight < componentHeight) {
- rowAscent += (componentHeight - rowHeight) / 2;
- rowHeight = componentHeight;
- }
- if (showHeaders)
- headerHeight = rowHeight + 6;
- else
- headerHeight = 0;
-
- // figure out column widths
- dimensions = new int[(columns == 0) ? 1 : columns];
- totalWidth = 0;
- for (int c = 0; c < columns; c++) {
- // base size of columns on header string
- int width = fm.stringWidth(headers[c]) + 10;
-
- if (autoWidth) {
- // column should be the width of the widest data item
- for (int r = 0; r < records; r++) {
- Object[] labelRow = (Object[]) labels.elementAt(r);
- int itemWidth = labelWidth(labelRow[c]);
- if (itemWidth > width)
- width += itemWidth - width;
- }
- }
-
- dimensions[c] = width;
- totalWidth += dimensions[c];
- }
-
- }
-
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- paint(g, null);
- }
-
- private synchronized void paint(Graphics g, Rectangle cliprect) {
- Image buffer = getBuffer(size());
- g = buffer.getGraphics();
- g.setFont(getFont());
-
- // first time? get the dimensions of the header panel
- cacheDimensions();
-
- // how many rows fit?
- Dimension canvasSize = size();
- int usableHeight = canvasSize.height - headerHeight;
- int usableWidth = canvasSize.width;
- dispRows = usableHeight / rowHeight;
-
- // visibleRows can be one more than
- // dispRows (last row partially visible)
- visibleRows = (usableHeight + rowHeight - 1) / rowHeight;
- // make sure we have enough labels...
- int horOffset = scrollx;
- int vertOffset = scrollrow;
- while ((visibleRows + vertOffset) > labels.size())
- addMoreLabels();
-
- g.setColor(getForeground());
- Color origColor = g.getColor();
- Color dark = getBackground().darker();
- Color veryDark = dark.darker();
-
-
- // draw the column headers
- int x = 0;
- int colWidth;
- if (showHeaders) {
- for (int c = 0; c <= columns; c++) {
-
- if (c == columns)
- // last column fills up the rest
- colWidth = usableWidth - x + horOffset;
- else
- colWidth = dimensions[c];
-
- int left = x - horOffset;
- int right = left + colWidth - 1;
- int bottom = headerHeight - 1;
-
- // is the column for real, and some of it visible?
- if ((colWidth > 0) && ((right > 0) ||
- (left < usableWidth))) {
- // now draw the thing...
- g.setColor(getBackground());
- g.drawLine(left, 0, right, 0); // top
- g.drawLine(left, 0, left, bottom); // left
-
- g.setColor(veryDark);
- g.drawLine(left, bottom, right, bottom); // bottom
- g.drawLine(right, 0, right, bottom); // right
-
- g.setColor(dark);
- g.fillRect(left + 1, 1, colWidth - 2,
- headerHeight - 2);
-
- g.setColor(origColor);
-
- // last column has no strings
- if (c != columns)
- drawString(g, headers[c], left + LEFT_PAD,
- headerHeight - 5,
- colWidth - LEFT_PAD - RIGHT_PAD,
- getFormat(c));
- }
-
- if (c != columns)
- x += dimensions[c];
- }
- }
-
- // now paint the data
- int y = headerHeight;
- for (int r = 0; r < labels.size(); r++) {
- if ((r >= vertOffset) && (r <
- (visibleRows + vertOffset))) {
- x = 0;
- Object[] row = (Object[]) labels.elementAt(r);
- int rowColor = ((Integer) rowColors.elementAt(r)).
- intValue();
-
- Color stringForeground =
- getStringForeground(origColor, r, rowColor);
- Color stringBackground =
- getStringBackground(r, rowColor);
-
- g.setColor(stringBackground);
- g.fillRect(0, y, usableWidth, rowHeight);
- g.setColor(stringForeground);
-
- for (int c = 0; c < columns; c++) {
- colWidth = dimensions[c];
- int left = x - horOffset;
- int right = left + colWidth - 1;
-
- // is the column for real, and some of it visible?
- if ((colWidth > 0) &&
- ((right > 0) || (left < usableWidth))) {
- if (row[c] != null)
- if (row[c] instanceof String)
- drawString(g, (String) row[c],
- left + LEFT_PAD,
- y + rowAscent,
- colWidth - LEFT_PAD - RIGHT_PAD,
- getFormat(c));
- else if (row[c] instanceof CLComponent)
- ((CLComponent)row[c]).paint(g, left, y,
- colWidth, rowHeight,
- rowAscent,
- getFormat(c));
- else if (row[c] instanceof Component) {
- Component cb = (Component) row[c];
- Dimension size = cb.preferredSize();
- size = new Dimension(size.width,
- size.height);
- if (size.width > (colWidth - 2))
- size.width = colWidth - 2;
- cb.reshape(left + 2, y,
- size.width, rowHeight);
- cb.setBackground(stringBackground);
- cb.setForeground(stringForeground);
- cb.show();
- // cb.validate();
- } else
- drawString(g, row[c].toString(),
- left + LEFT_PAD, y + rowAscent,
- colWidth - LEFT_PAD - RIGHT_PAD,
- getFormat(c));
- } else {
- if (row[c] != null)
- if (row[c] instanceof Component) {
- Component cb = (Component) row[c];
- cb.hide();
- }
- }
- x += dimensions[c];
- }
- y += rowHeight;
- if (showHorizontalLines) {
- g.setColor(dark);
- g.drawLine(0, y - 1, usableWidth, y - 1);
- }
- g.setColor(origColor);
- } else {
- Object[] row = (Object[]) labels.elementAt(r);
- for (int c = 0; c < row.length; c++)
- if (row[c] instanceof Component)
- ((Component) row[c]).hide();
- }
- } // for each row
-
-
- if (showVerticalLines) {
- g.setColor(dark);
- x = 0;
- for (int c = 0; c < columns; c++) {
- colWidth = dimensions[c];
- int left = x - horOffset;
- int right = left + colWidth - 1;
-
- // only draw if the line would be visible
- if (right > usableWidth)
- break;
- if ((colWidth > 0) && (right > 0))
- g.drawLine(right, headerHeight, right,
- canvasSize.height);
-
- x += dimensions[c];
- }
- }
-
- if (editline != null)
- editline.paint(g);
-
- copyBuffer();
- }
-
- private Image getBuffer(Dimension size) {
- // WORK-AROUND: sometimes size() calls return
- // dimensions of 0 for width
- // or height when they probably shouldn't
- // (this is on Win95), and it
- // causes an illegal argument exception in
- // the createImage call below
- if (size.width == 0 || size.height == 0) {
- if (buffer != null && bufferSize != null)
- size = new Dimension(bufferSize);
- else
- size = new Dimension(1, 1);
- }
- // end of WORK-AROUND
-
- if (buffer == null || bufferSize == null ||
- (size.width != bufferSize.width) ||
- (size.height != bufferSize.height)) {
-
- getCachedBuffer(size);
-
- if (buffer == null || bufferSize == null ||
- (size.width != bufferSize.width) ||
- (size.height != bufferSize.height)) {
- buffer = createImage(size.width, size.height);
- updateCache(buffer, size);
- }
-
- bufferSize = size;
- }
-
- return buffer;
- }
-
- private Graphics getBufferGraphics() {
- Image buffer = getBuffer(size());
- if (buffer == null)
- return null;
- else
- return buffer.getGraphics();
- }
-
- private void copyBuffer() {
- Graphics g = getGraphics();
- Image buffer = getBuffer(size());
- if (g != null && buffer != null)
- g.drawImage(buffer, 0, 0, this);
- }
-
- private void getCachedBuffer(Dimension size) {
- for (int i = 0; i < 3; i++) {
- if (bufferSizeCache[i] != null &&
- bufferSizeCache[i].width == size.width &&
- bufferSizeCache[i].height == size.height) {
- buffer = bufferCache[i];
- bufferSize = bufferSizeCache[i];
- break;
- }
- }
- }
-
- private void updateCache(Image buffer, Dimension size) {
- if (buffer == null)
- return;
-
- int i;
- for (i = 0; i < 3; i++) {
- if (bufferSizeCache[i] == null)
- break;
- }
-
- if (i < 3) {
- bufferCache[i] = buffer;
- bufferSizeCache[i] = new Dimension(size.width, size.height);
- } else {
- bufferCache[0] = bufferCache[1];
- bufferCache[1] = bufferCache[2];
- bufferCache[2] = buffer;
-
- bufferSizeCache[0] = bufferSizeCache[1];
- bufferSizeCache[1] = bufferSizeCache[2];
- bufferSizeCache[2] = new Dimension(size.width, size.height);
- }
- }
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- private Color getStringForeground(Color origColor,
- int row, int rowColor) {
- if (row == selectedRow)
- return getBackground();
- else
- return origColor;
- }
-
- private Color getStringBackground(int row, int rowColor) {
- Color bg = getBackground();
- if (row == selectedRow) {
- if (rowColor != COLOR_NONE)
- if (bg == Color.white)
- return Color.magenta;
- else
- return selectColor.darker();
- else
- return selectColor;
- } else {
- if (rowColor != COLOR_NONE)
- if (bg == Color.white)
- return Color.orange;
- else
- return bg.darker();
- else
- return getBackground();
- }
-
- }
-
- private boolean rowVisible(int row) {
- return ((row >= scrollrow) &&
- (row < (scrollrow + dispRows)));
- }
-
-
- public void updateView() {
- parent.updateView();
- }
-
-
- /**
- * @see sunsoft.jws.visual.designer.gui.ColumnList
- */
- public void setDisplayRows(int rows) {
- requestedRows = rows;
- }
-
-
- public void setVisibleChars(int chars) {
- requestedChars = chars;
- }
-
-
- /**
- * the minimum width is enough to fully display
- * the first column, but not
- * more than 200 pixels. The minimum height is the
- * height to display the
- * number of rows requested with setDisplayRows() (default is 3)
- *
- * @return Dimension
- */
- public Dimension minimumSize() {
- return preferredSize();
- }
-
- /**
- * Calculate the preferred size. Standard AWT function.
- *
- * @return the preferred size of the ColumnListCanvas
- */
- public Dimension preferredSize() {
- cacheDimensions();
- if (dimensions == null)
- return new Dimension(100, 100);
- else
- if (requestedChars == 0)
- return new Dimension(totalWidth,
- headerHeight + rowHeight * requestedRows);
- else
- return new Dimension(requestedChars * charWidth,
- headerHeight + rowHeight * requestedRows);
- }
-
-
- /**
- * select row, and make it visible
- * only one row can be selected at a time - previously selected
- * rows will be restored to normal
- * to remove the selection, set the selected row to -1
- *
- * @param row index of row
- * @return actual index of selected row, -1 if none
- */
- public int selectRow(int row) {
- if (selectedRow != row) {
- int oldSelectedRow = selectedRow;
- if (row < records)
- selectedRow = row;
- else
- selectedRow = -1;
-
- // make sure we can see the new selection
- // Tilman 05/21: Not tested if the makeVisible() call works
- if ((selectedRow != -1) && (!rowVisible(selectedRow)))
- parent.makeVisible(selectedRow);
-
- // repaint if anything is visible
- if (rowVisible(oldSelectedRow) || rowVisible(selectedRow))
- repaint();
- }
- return selectedRow;
- }
-
-
- /**
- * Get the index of the currently selected row
- *
- * @return index of selected row, -1 if none is selected
- */
- public int getSelectedRow() {
- return selectedRow;
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- protected int getRowY(int row) {
- if ((dimensions == null) || (visibleRows == -1))
- return -2;
- if (rowVisible(row)) {
- return headerHeight + rowHeight * (row - scrollrow);
- } else
- return -1;
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- private synchronized void startDrag(int startX) {
- int x = -scrollx;
- for (int c = 0; c < columns; c++) {
- x += dimensions[c];
- if ((startX >= (x - 5)) && (startX <= (x + 5))) {
- dragColumn = c;
- dragging = true;
- dragStart = startX;
- break;
- }
- }
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- private synchronized int mouseColumn(int mouseX) {
- int x = -scrollx;
- if (mouseX < x)
- return -1;
- for (int c = 0; c < columns; c++) {
- x += dimensions[c];
- if (mouseX < x)
- return c;
- }
- return -1;
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- private synchronized void dragColumn(int dragX) {
- int diff = dragX - dragStart;
- if (dimensions[dragColumn] + diff >= 5) {
- dimensions[dragColumn] += diff;
- totalWidth += diff;
- dragStart = dragX;
- repaint();
- }
- }
-
- public boolean handleEvent(Event evt) {
- //
- // Workaround for an AWT bug on Windows95
- // where we get a spurious
- // mouse down event when the CLChoice menu is
- // unmapped as the result
- // of selection being made from a mouse down
- // event inside the menu.
- //
- if (editchoice == null && justCancelled &&
- evt.id == Event.MOUSE_DOWN) {
- justCancelled = false;
- return true;
- }
- justCancelled = false;
-
- if (editline != null && editline.handleEvent(evt))
- return true;
- else if (editchoice != null && editchoice.handleEvent(evt))
- return true;
-
- if (evt.id == EditLine.REPAINT && evt.target == editline) {
- if (evt.arg != null) {
- paint(getGraphics(), (Rectangle)evt.arg);
- } else {
- editline.paint(getBufferGraphics());
- copyBuffer();
- }
- } else if (evt.id == EditLine.APPLY && evt.target == editline) {
- cancelApply = false;
- parent.postEvent(new Event(parent, ColumnList.APPLY_EDIT,
- evt.arg));
- if (!cancelApply) {
- changeText((String)evt.arg, editrow, editcolumn);
- cancelEdit();
- } else if (editline != null) {
- editline.cancelApply();
- }
- } else if (evt.id == EditLine.CANCEL &&
- evt.target == editline) {
- cancelEdit();
- } else if (evt.id == CLChoice.APPLY &&
- evt.target == editchoice) {
- cancelApply = false;
- parent.postEvent(new Event(parent, ColumnList.APPLY_EDIT,
- evt.arg));
- if (!cancelApply) {
- changeText((String)evt.arg, editrow, editcolumn);
- cancelEdit();
- }
- } else {
- return super.handleEvent(evt);
- }
-
- return true;
- }
-
- public synchronized void changeText(String text, int row,
- int column) {
- if (row < 0 || row >= records || column < 0 ||
- column >= columns)
- return;
-
- Object[] data = (Object []) labels.elementAt(row);
- Object item = data[column];
-
- if (item instanceof String) {
- data[column] = text;
- adjustColumnWidths(text, column);
- parent.updateView();
- } else if (item instanceof CLComponent) {
- ((CLComponent)item).setText(text, true);
- }
- }
-
- public int columnX(int column) {
- int x = -scrollx;
- for (int c = 0; c < column; c++)
- x += dimensions[c];
- return x;
- }
-
- public int columnWidth(int column) {
- return dimensions[column];
- }
-
- public int rowY(int row) {
- return headerHeight + ((row - scrollrow) * rowHeight);
- }
-
- public int rowHeight(int row) {
- return rowHeight;
- }
-
- public boolean mouseDown(Event e, int x, int y) {
- if (editline != null) {
- if (!applyChanges())
- return false;
- selectRow(-1);
- } else if (editchoice != null) {
- cancelEdit();
- selectRow(-1);
- }
-
- if (y > headerHeight) {
- int row = (y - headerHeight - 1) / rowHeight + scrollrow;
- if (row < records) {
- int column = mouseColumn(x);
- if (column != -1) {
- Object entry = ((Object[])
- labels.elementAt(row))[column];
- if ((entry instanceof CLComponent) && editable) {
- CLComponent comp = (CLComponent)entry;
- Event evt = new Event(e.target, e.when, e.id,
- x - columnX(column),
- y - rowY(row), e.key,
- e.modifiers, e.arg);
- evt.clickCount = e.clickCount;
- if (comp.mouseDown(evt))
- return true;
- }
- }
- if (selectable) {
- cancelSelect = false;
- if (e.clickCount == 1) {
- if (row == getSelectedRow() &&
- getTextEditable(column)) {
- cancelEdit();
- if (startEdit(column, x)) {
- return true;
- } else {
- // Should make a beeping or
- // clicking noise somehow.
- }
- }
-
- parent.postEvent(new Event(parent,
- ColumnList.CONFIRM_SELECT,
- new Integer(row)));
- if (!cancelSelect) {
- row = selectRow(row);
- parent.postEvent(new Event(parent,
- Event.LIST_SELECT,
- new Integer(row)));
- }
- } else if (e.clickCount == 2) {
- row = selectRow(row);
- parent.postEvent(new Event(parent,
- Event.ACTION_EVENT,
- new Integer(row)));
- }
- }
- }
- } else if (y < headerHeight) {
- startDrag(x);
- }
- return true;
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public boolean mouseDrag(Event e, int x, int y) {
- if (dragging) {
- dragColumn(x);
- return true;
- }
- return false;
- }
-
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public boolean mouseUp(Event e, int x, int y) {
- if (dragging) {
- dragging = false;
- parent.updateView();
- return true;
- }
- return false;
- }
-
- boolean resizeCursor = false;
- boolean checkedFrame = false;
-
- private Frame getFrame() {
- if (ourFrame == null) {
- if (!checkedFrame) {
- checkedFrame = true;
- Component c = parent;
- while (c != null) {
- if (c instanceof Frame) {
- ourFrame = (Frame) c;
- break;
- } else
- c = c.getParent();
- }
- }
- }
- return ourFrame;
- }
-
-
- public boolean mouseMove(Event e, int x, int y) {
- if (getFrame() != null) {
- boolean resizable = false;
-
- if (y < headerHeight) {
- int x1 = -scrollx;
- for (int c = 0; c < columns; c++) {
- x1 += dimensions[c];
- if ((x >= (x1 - 5)) && (x <= (x1 + 5))) {
- resizable = true;
- break;
- }
- }
- }
-
- if (resizable != resizeCursor) {
- if (resizable)
- ourFrame.setCursor(Frame.E_RESIZE_CURSOR);
- else
- ourFrame.setCursor(Frame.DEFAULT_CURSOR);
-
- resizeCursor = resizable;
- }
- return true;
- } else
- return false;
- }
-
-
- /**
- * restore the cursor when exiting
- *
- * @param ... ...
- * @return ...
- */
- public boolean mouseExit(Event e, int x, int y) {
- if (resizeCursor) {
- ourFrame.setCursor(Frame.DEFAULT_CURSOR);
- resizeCursor = false;
- }
- return false;
- }
-
-
- /**
- * ...
- *
- * @return ...
- */
- public synchronized boolean updateRowColors() {
- int r;
- boolean isChanging = false;
- boolean needsRepaint = false;
- for (r = 0; r < records; r++) {
- int rowColor = ((Integer)
- rowColors.elementAt(r)).intValue();
- if (rowColor != COLOR_NONE) {
- if (rowColor == 1)
- needsRepaint = true;
- isChanging = true;
- rowColors.setElementAt(new Integer(rowColor - 1), r);
- }
- }
- if (needsRepaint)
- repaint();
- return isChanging;
- }
-
-
- /**
- * ...
- */
- void cancelSelect() {
- cancelSelect = true;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnListThread.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnListThread.java
deleted file mode 100644
index 3d66d03e04..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ColumnListThread.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * ColumnListThread.java
- *
- * Copyright 1995-1996 Active Software Inc.
- *
- * @version @(#)ColumnListThread.java 1.11 97/06/17
- * @author Tilman Sporkert
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-
-/**
- * A simple class that provides timing for fading colors in highlighted
- * ColumnList rows
- *
- * @author Tilman Sporkert
- */
-class ColumnListThread extends Thread {
- private ColumnListCanvas parent;
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public ColumnListThread(ColumnListCanvas parentIn) {
- parent = parentIn;
- }
-
- /**
- * ...
- *
- * @param ... ...
- * @return ...
- * @exception ...
- */
- public void run() {
- setPriority(Thread.MIN_PRIORITY);
- int i = 0;
- while (true) {
- try {
- // System.out.println("Thread goes to sleep..." + i);
- Thread.currentThread().sleep(3000);
- } catch (Exception e) {
- /* JSTYLED */
- System.out.println(Global.getMsg("sunsoft.jws.visual.rt.awt.ColumnListThread.Exception__in__sleep-co-__.2") + e);
- }
- i++;
- if (!parent.updateRowColors()) {
- // System.out.println("Done changing, stopping thread...");
- Thread.currentThread().suspend();
- }
-
- }
- }
-
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/EditLine.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/EditLine.java
deleted file mode 100644
index 1aea2e2713..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/EditLine.java
+++ /dev/null
@@ -1,798 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- *
- * @version @(#)EditLine.java 1.13 97/06/18
- */
-
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-
-/**
- * An EditLine allows for the editing of text within some other component.
- */
-
-public class EditLine implements Runnable
-{
- public static final int REPAINT = 87000;
- public static final int APPLY = 87001;
- public static final int CANCEL = 87002;
-
- public static final int BACKSPACE_KEY = 8;
- public static final int TAB_KEY = 9;
- public static final int RETURN_KEY = 10;
- public static final int ESCAPE_KEY = 27;
- public static final int DELETE_KEY = 127;
-
- private Component comp;
- private String text;
- private int textX, textY;
- private Color fg, bg;
- private Font font;
- private FontMetrics metrics;
-
- private int x, y, w, h;
- private int initWidth;
- private String initText;
-
- private boolean justStartedEditing;
- private boolean cancelApply;
- private boolean applying;
-
- private int scrollPos;
- private int cursorPos;
- private int selectPos;
- private boolean dragging;
- private Frame frame;
-
- private boolean cursorState;
- private boolean paintCursor;
- private Thread cursorThread;
- private long cursorTime;
- private static final long CURSOR_DELAY = 500;
-
- private static final int XOFF = 2;
- private static final int MINWIDTH = 12;
- static final int XPAD = 15;
- static final int YPAD = 4;
-
- public EditLine(Component comp, String text, int textX, int textY) {
- if (text == null)
- text = /* NOI18N */"";
-
- this.comp = comp;
- this.text = text;
- this.textX = textX;
- this.textY = textY;
- this.initText = text;
-
- selectPos = 0;
- cursorPos = text.length();
- scrollPos = 0;
- justStartedEditing = true;
-
- cacheDims();
- this.initWidth = w;
- mouseMove(textX, textY);
- comp.requestFocus();
-
- cursorThread = new Thread(this, /* NOI18N */"Edit Line Cursor");
- cursorThread.setDaemon(true);
- cursorTime = System.currentTimeMillis();
- cursorState = true;
- cursorThread.start();
- }
-
- public void setText(String text) {
- if (text == null)
- text = /* NOI18N */"";
-
- this.text = text;
- cursorPos = text.length();
- selectPos = cursorPos;
- scrollPos = 0;
- cacheText();
- }
-
- public String getText() {
- return text;
- }
-
- public void setSelection(int start, int end) {
- int len = text.length();
- start = Math.max(0, start);
- start = Math.min(start, len);
- end = Math.max(start, end);
- end = Math.min(end, len);
-
- selectPos = start;
- cursorPos = end;
- makeVisible(cursorPos);
- repaint();
- }
-
- public String getSelection() {
- return text.substring(selectStart(), selectEnd());
- }
-
- public void setFont(Font font) {
- this.font = font;
- cacheDims();
- comp.repaint();
- }
-
- public Font getFont() {
- if (font == null)
- return comp.getFont();
- else
- return font;
- }
-
- public void setForeground(Color fg) {
- this.fg = fg;
- }
-
- public Color getForeground() {
- if (fg == null)
- return comp.getForeground();
- else
- return fg;
- }
-
- public void setBackground(Color bg) {
- this.bg = bg;
- }
-
- public Color getBackground() {
- if (bg == null)
- return comp.getBackground();
- else
- return bg;
- }
-
- public boolean applyChanges() {
- if (!text.equals(initText)) {
- applying = true;
- cancelApply = false;
- comp.postEvent(new Event(this, APPLY, text));
- applying = false;
- return !cancelApply;
- } else {
- comp.postEvent(new Event(this, CANCEL, null));
- return true;
- }
- }
-
- public void cancelApply() {
- cancelApply = true;
- }
-
- private void cacheText() {
- int len = text.length();
- if (selectPos > len)
- selectPos = len;
- if (cursorPos > len)
- cursorPos = len;
- if (scrollPos > len)
- scrollPos = 0;
-
- Rectangle paintRect = cacheHorizontal();
- makeVisible(cursorPos);
- repaint(paintRect);
- }
-
- private void cacheDims() {
- metrics = comp.getFontMetrics(getFont());
- cacheHorizontal();
- cacheVertical();
- }
-
- private Rectangle cacheHorizontal() {
- Dimension d = comp.size();
- int prevLeft = x;
- int prevRight = x+w;
-
- x = textX - XOFF;
- w = metrics.stringWidth(text) + XPAD;
- w = Math.max(w, MINWIDTH);
- w = Math.max(w, initWidth);
-
- if (w > (d.width-x)) {
- x = d.width - w;
- if (x < 0) {
- x = 0;
- w = d.width;
- }
- }
-
- int left = x;
- int right = x+w;
-
- if (left > prevLeft && right < prevRight)
- return new Rectangle(prevLeft, y, prevRight-prevLeft, h);
- else if (left > prevLeft)
- return new Rectangle(prevLeft, y, left - prevLeft, h);
- else if (right < prevRight)
- return new Rectangle(right, y, prevRight - right, h);
- else
- return null;
- }
-
- private void cacheVertical() {
- Dimension d = comp.size();
- y = textY - (metrics.getAscent() + YPAD/2);
- h = metrics.getHeight() + YPAD;
-
- if (h > (d.height-y)) {
- y = d.height - h;
- if (y < 0) {
- y = 0;
- h = d.height;
- }
- }
- }
-
- public boolean handleEvent(Event evt) {
- if (evt.id == Event.MOUSE_DOWN) {
- if (justStartedEditing && evt.clickCount == 2) {
- justStartedEditing = false;
- comp.postEvent(new Event(this, CANCEL, null));
- return false;
- } else {
- justStartedEditing = false;
- }
- }
-
- boolean retval = false;
-
- switch (evt.id) {
- case Event.MOUSE_DOWN:
- if (inside(evt.x, evt.y)) {
- mouseDown(evt.clickCount, evt.x, evt.y);
- retval = true;
- }
- break;
-
- case Event.MOUSE_DRAG:
- if (dragging) {
- mouseDrag(evt.x, evt.y);
- retval = true;
- }
- break;
-
- case Event.MOUSE_UP:
- if (dragging) {
- mouseUp(evt.x, evt.y);
- retval = true;
- }
- break;
-
- case Event.LOST_FOCUS:
- // Don't allow the focus to get away!
- comp.requestFocus();
- // Intentional lack of break
- case Event.GOT_FOCUS:
- mouseMove(-1, -1);
- retval = true;
- break;
-
- case Event.MOUSE_MOVE:
- mouseMove(evt.x, evt.y);
- retval = true;
- break;
-
- case Event.KEY_PRESS:
- case Event.KEY_ACTION:
- keyPress(evt);
- // intentional lack of break
- case Event.KEY_RELEASE:
- case Event.KEY_ACTION_RELEASE:
- retval = true;
- break;
- }
-
- return retval;
- }
-
- private void mouseDown(int clickCount, int evtX, int evtY) {
- comp.requestFocus();
-
- switch (clickCount) {
- case 2:
- selectWord(evtX);
- break;
-
- case 3:
- selectLine();
- break;
-
- default:
- dragging = true;
- setCursorX(evtX);
- break;
- }
- }
-
- private void mouseDrag(int evtX, int evtY) {
- adjustSelection(evtX);
- }
-
- private void mouseUp(int evtX, int evtY) {
- mouseDrag(evtX, evtY);
- dragging = false;
- mouseMove(evtX, evtY);
- resetTimer();
- }
-
- private void mouseMove(int evtX, int evtY) {
- Frame f = getFrame();
- if (f == null)
- return;
-
- if (inside(evtX, evtY)) {
- if (f.getCursorType() != Frame.TEXT_CURSOR)
- f.setCursor(Frame.TEXT_CURSOR);
- } else {
- if (f.getCursorType() != Frame.DEFAULT_CURSOR)
- f.setCursor(Frame.DEFAULT_CURSOR);
- }
- }
-
- private void keyPress(Event evt) {
- boolean cacheText = false;
- boolean repaint = false;
-
- int key = evt.key;
-
- if (key == RETURN_KEY) {
- applyChanges();
- return;
- } else if (key == ESCAPE_KEY) {
- comp.postEvent(new Event(this, CANCEL, null));
- return;
- }
-
- int len = text.length();
-
- switch (key) {
- case Event.HOME:
- if (cursorPos != 0) {
- setCursorPos(0);
- repaint = true;
- }
- break;
-
- case Event.END:
- if (cursorPos != len) {
- setCursorPos(len);
- repaint = true;
- }
- break;
-
- case Event.LEFT:
- if (cursorPos != 0) {
- setCursorPos(cursorPos-1);
- repaint = true;
- }
- break;
-
- case Event.RIGHT:
- if (cursorPos != len) {
- setCursorPos(cursorPos+1);
- repaint = true;
- }
- break;
-
- case BACKSPACE_KEY:
- if (deleteSelection()) {
- cacheText = true;
- } else if (cursorPos != 0) {
- text = text.substring(0, cursorPos-1) +
- text.substring(cursorPos);
- cursorPos--;
- selectPos--;
- cacheText = true;
- }
- break;
-
- case DELETE_KEY:
- if (deleteSelection()) {
- cacheText = true;
- } else if (cursorPos != len) {
- text = text.substring(0, cursorPos) +
- text.substring(cursorPos+1);
- cacheText = true;
- }
- break;
-
- default:
- if ((evt.modifiers & ~Event.SHIFT_MASK) == 0 &&
- (key >= 32 && key <= 127)) {
- deleteSelection();
- text = text.substring(0, cursorPos) +
- String.valueOf((char)key) +
- text.substring(cursorPos);
- cursorPos++;
- selectPos++;
- cacheText = true;
- }
- break;
- }
-
- if (cacheText)
- cacheText();
- else if (repaint)
- repaint();
- }
-
- private boolean deleteSelection() {
- if (selectPos != cursorPos) {
- int start = selectStart();
- int end = selectEnd();
- text = text.substring(0, start) + text.substring(end);
- setCursorPos(start);
- return true;
- } else {
- return false;
- }
- }
-
- private void selectWord(int evtX) {
- int pos = getCursorPos(evtX);
- selectPos = getWordStart(pos);
- cursorPos = getWordEnd(pos);
- makeVisible(cursorPos);
- repaint();
- }
-
- private int getWordStart(int pos) {
- int i;
- boolean hitChar = false;
-
- for (i = (pos-1); i >= 0; i--) {
- char c = text.charAt(i);
- if (hitChar && Character.isSpace(c))
- break;
- else if (!hitChar && !Character.isSpace(c))
- hitChar = true;
- }
-
- return i+1;
- }
-
- private int getWordEnd(int pos) {
- int i;
- boolean hitSpace = false;
- int len = text.length();
- int start = Math.max(pos-1, 0);
-
- for (i = start; i < len; i++) {
- char c = text.charAt(i);
- if (hitSpace && !Character.isSpace(c))
- break;
- else if (!hitSpace && Character.isSpace(c))
- hitSpace = true;
- }
-
- return i;
- }
-
- private void selectLine() {
- selectPos = 0;
- cursorPos = text.length();
- repaint();
- }
-
- private Frame getFrame() {
- Component c = comp;
- if (frame == null) {
- while (c != null && !(c instanceof Frame))
- c = c.getParent();
- frame = (Frame)c;
- }
- return frame;
- }
-
- public Point location() {
- return new Point(x, y);
- }
-
- public Dimension size() {
- return new Dimension(w, h);
- }
-
- private void setCursorX(int evtX) {
- setCursorPos(getCursorPos(evtX));
- repaint();
- }
-
- private void setCursorPos(int pos) {
- cursorPos = pos;
- selectPos = pos;
- makeVisible(cursorPos);
- resetTimer();
- }
-
- private void adjustSelection(int evtX) {
- int pos = getCursorPos(evtX);
- if (cursorPos != pos) {
- cursorPos = pos;
- makeVisible(cursorPos);
- repaint();
- }
- }
-
- private boolean makeVisible(int pos) {
- if (pos < scrollPos) {
- scrollPos = Math.max(pos-6, 0);
- return true;
- } else if (pos > scrollPos) {
- int width = metrics.stringWidth(text.substring(
- scrollPos, pos));
- if (width >= (w-3)) {
- int old = scrollPos;
- scrollPos = getScrollPos(pos, w-40);
- return true;
- }
- }
-
- return false;
- }
-
- private synchronized void resetTimer() {
- cursorState = true;
- cursorTime = System.currentTimeMillis();
- notify();
- }
-
- private int getCursorPos(int evtX) {
- int len = text.length();
- int beginW = metrics.stringWidth(text.substring(0, scrollPos));
-
- int xoff = evtX - x - XOFF + beginW;
- return findCursorOffset(xoff, text, len/2, 0, len);
- }
-
- private int findCursorOffset(int xoff, String str,
- int cur, int lower, int upper) {
- if (lower == upper) {
- return lower;
- } else if (lower == (upper-1)) {
- int lw = metrics.stringWidth(str.substring(0, lower));
- int uw = metrics.stringWidth(str.substring(0, upper));
-
- if ((xoff - lw) < (uw - xoff))
- return lower;
- else
- return upper;
- }
-
- int width = metrics.stringWidth(str.substring(0, cur));
-
- if (width > xoff)
- return findCursorOffset(xoff, str, cur - (cur-lower)/2,
- lower, cur);
- else
- return findCursorOffset(xoff, str, cur + (upper-cur)/2,
- cur, upper);
- }
-
- private int getScrollPos(int pos, int textW) {
- String str = text.substring(scrollPos);
- int offset = pos - scrollPos;
- if (offset <= 0)
- return scrollPos;
-
- pos = findScrollOffset(textW, str, offset, offset/2, 0, offset);
- return (scrollPos + pos);
- }
-
- private int findScrollOffset(int textW, String str, int len,
- int cur, int lower, int upper) {
- if (lower == upper) {
- return lower;
- } else if (lower == (upper-1)) {
- int lw = metrics.stringWidth(str.substring(lower, len));
- int uw = metrics.stringWidth(str.substring(upper, len));
- if ((lw-textW) < (textW-uw))
- return lower;
- else
- return upper;
- }
-
- int width = metrics.stringWidth(str.substring(cur, len));
- if (width > textW)
- return findScrollOffset(textW, str, len,
- cur + (upper-cur)/2, cur, upper);
- else
- return findScrollOffset(textW, str, len,
- cur - (cur-lower)/2, lower, cur);
- }
-
- private boolean inside(int evtX, int evtY) {
- return (evtX >= x && evtX <= (x+w) &&
- evtY >= y && evtY <= (y+h));
- }
-
- private int selectStart() {
- return Math.min(selectPos, cursorPos);
- }
-
- private int selectEnd() {
- return Math.max(selectPos, cursorPos);
- }
-
- public void repaint() {
- repaint(null);
- }
-
- // If "rect" is non-null, then the component is expected to repaint
- // the area define by the rectangle. The coordinates
- // in the rectangle
- // are relative to the component's coordinate space.
- public void repaint(Rectangle rect) {
- comp.postEvent(new Event(this, REPAINT, rect));
- }
-
- public synchronized void paint(Graphics g) {
- g = g.create();
- g.translate(x, y);
- g.setFont(getFont());
-
- if (paintCursor) {
- if (cursorState)
- g.setColor(getForeground());
- else
- g.setColor(getBackground());
-
- int xoff =
- metrics.stringWidth(text.substring(scrollPos,
- cursorPos)) + XOFF;
- g.fillRect(xoff, YPAD/2, 1, h-YPAD);
-
- paintCursor = false;
- return;
- }
-
- if (bg != null) {
- g.setColor(getBackground());
- g.fillRect(0, 0, w, h);
- } else {
- g.clearRect(0, 0, w, h);
- }
-
- g.setColor(getForeground());
- g.drawRect(0, 0, w-1, h-1);
-
- int xoff = XOFF;
- int yoff = h - YPAD/2 - metrics.getDescent();
- if (Global.isMotif())
- yoff -= 1;
-
- int start = selectStart();
- int end = selectEnd();
-
- if (start == end) {
- String str = text.substring(scrollPos);
- g.drawString(str, XOFF, yoff);
-
- if (cursorState) {
- xoff += metrics.stringWidth(text.substring(scrollPos,
- cursorPos));
- g.fillRect(xoff, YPAD/2, 1, h-YPAD);
- }
- } else {
-
- // Draw first unselected segment
- if (start > scrollPos) {
- g.drawString(text.substring(scrollPos, start),
- xoff, yoff);
- xoff += metrics.stringWidth(text.substring(
- scrollPos, start));
- }
-
- // Draw selected segment
- String selectStr = text.substring(Math.max(start,
- scrollPos), end);
- int selectW = metrics.stringWidth(selectStr);
-
- g.setColor(new Color(0, 0, 128));
- g.fillRect(xoff, YPAD/2, selectW, h-YPAD);
- g.setColor(Color.white);
- g.drawString(selectStr, xoff, yoff);
-
- if (cursorState)
- g.setColor(getForeground());
-
- if (cursorPos == end)
- xoff += selectW;
-
- // Draw the cursor
- g.fillRect(xoff, YPAD/2, 1, h-YPAD);
-
- if (cursorPos == start)
- xoff += selectW;
-
- if (!cursorState)
- g.setColor(getForeground());
-
- // Draw last unselected segment
- int length = text.length();
- if (end < length) {
- g.drawString(text.substring(end), xoff, yoff);
- }
- }
- }
-
- public synchronized void run() {
- long waitTime = CURSOR_DELAY;
-
- while (Thread.currentThread() == cursorThread) {
- try {
- wait(waitTime);
- }
- catch (InterruptedException ex) {
- }
-
- comp.requestFocus();
-
- if (dragging) {
- waitTime = 0;
- } else {
- long diff = System.currentTimeMillis() - cursorTime;
- if (diff >= CURSOR_DELAY) {
- waitTime = CURSOR_DELAY;
- cursorState = !cursorState;
- cursorTime = System.currentTimeMillis();
- paintCursor = true;
- repaint();
- } else {
- waitTime = CURSOR_DELAY - diff;
- }
- }
- }
- }
-
- public synchronized void destroy() {
- cursorThread = null;
- notify();
-
- Frame f = getFrame();
- if (f != null && f.getCursorType() != Frame.DEFAULT_CURSOR)
- f.setCursor(Frame.DEFAULT_CURSOR);
- }
-
- protected void finalize() {
- destroy();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBConstraints.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBConstraints.java
deleted file mode 100644
index 2ea8bbba78..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBConstraints.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * @(#)GBConstraints.java 1.12 97/09/03 Doug Stein
- *
- * Copyright (c) 1996, 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software
- * and its documentation for NON-COMMERCIAL purposes and without
- * fee is hereby granted provided that this copyright notice
- * appears in all copies. Please refer to the file "copyright.html"
- * for further important copyright and licensing information.
- *
- * 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.
- */
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.*;
-import java.util.StringTokenizer;
-import java.util.NoSuchElementException;
-
-/**
- * GBConstraints is used to specify constraints for components
- * laid out using the GBLayout class.
- *
- * @see java.awt.GBLayout
- * @version 1.12, 06/17/97
- * @author Doug Stein
- */
-public class GBConstraints implements Cloneable {
- public static final int RELATIVE = -1;
- public static final int REMAINDER = 0;
-
- public static final int NONE = 0;
- public static final int BOTH = 1;
- public static final int HORIZONTAL = 2;
- public static final int VERTICAL = 3;
-
- public static final int CENTER = 10;
- public static final int NORTH = 11;
- public static final int NORTHEAST = 12;
- public static final int EAST = 13;
- public static final int SOUTHEAST = 14;
- public static final int SOUTH = 15;
- public static final int SOUTHWEST = 16;
- public static final int WEST = 17;
- public static final int NORTHWEST = 18;
-
- public int gridx, gridy, gridwidth, gridheight;
- public double weightx, weighty;
- public int anchor, fill;
-
- // Regular insets and pads will shrink when space gets tight
- public Insets insets;
- public int ipadx, ipady;
-
- // Hard insets and pads never shrink
- public Insets hardinsets;
- public int hardipadx, hardipady;
-
- // Normally a component will not shrink below it minimum size. Setting
- // shrinkx or shrinky to true indicates that the component may shrink
- // below its minimum size.
- public boolean shrinkx;
- public boolean shrinky;
-
- // The following variables are filled in during layout and
- // can be accessed, but should not be modified:
- public Point location; // location of the component
- public Dimension size; // size of the component
- public Dimension minsize; // minimum size of the component
-
- int tempX, tempY;
- int tempWidth, tempHeight;
- int tinyWidth, tinyHeight;
-
- /**
- * Creates a set of gridbag constraints.
- */
- public GBConstraints() {
- gridx = RELATIVE;
- gridy = RELATIVE;
- gridwidth = 1;
- gridheight = 1;
-
- weightx = 0;
- weighty = 0;
- anchor = CENTER;
- fill = NONE;
-
- insets = new Insets(0, 0, 0, 0);
- ipadx = 0;
- ipady = 0;
-
- hardinsets = new Insets(0, 0, 0, 0);
- hardipadx = 0;
- hardipady = 0;
- }
-
- /**
- * Creates a set of gridbag constraints by parsing the given
- * constraints option string. Each option has the form key=value.
- * Options are separated by semicolons (;).
- */
- public GBConstraints(String constraints) {
- this();
- parseConstraints(constraints);
- }
-
- public Object clone() {
- GBConstraints c;
- try {
- c = (GBConstraints)super.clone();
- } catch (CloneNotSupportedException e) {
- // this shouldn't happen, since we are Cloneable
- throw new InternalError();
- }
-
- if (c.insets != null)
- c.insets = (Insets)c.insets.clone();
- if (c.hardinsets != null)
- c.hardinsets = (Insets)c.hardinsets.clone();
-
- return c;
- }
-
- private void parseConstraints(String constraints) {
- StringTokenizer st = new StringTokenizer(
- constraints, /* NOI18N */";", true);
-
- String option_string = null;
- try {
- while (st.hasMoreTokens()) {
- option_string = st.nextToken();
- if (option_string.equals(/* NOI18N */";"))
- continue;
-
- StringTokenizer op = new StringTokenizer(option_string,
- /* NOI18N */"=", true);
- String option = op.nextToken();
-
- if (option.equals(/* NOI18N */"gridx") ||
- option.equals(/* NOI18N */"x"))
- gridx = convertSymbolicValue(getValueToken(op));
- else if (option.equals(/* NOI18N */"gridy") ||
- option.equals(/* NOI18N */"y"))
- gridy = convertSymbolicValue(getValueToken(op));
- else if (option.equals(/* NOI18N */"gridwidth") ||
- option.equals(/* NOI18N */"width"))
- gridwidth = convertSymbolicValue(getValueToken(
- op));
- else if (option.equals(/* NOI18N */"gridheight") ||
- option.equals(/* NOI18N */"height"))
- gridheight = convertSymbolicValue(getValueToken(op));
-
- else if (option.equals(/* NOI18N */"weightx")) {
- Double x = new Double(getValueToken(op));
- weightx = x.doubleValue();
- } else if (option.equals(/* NOI18N */"weighty")) {
- Double x = new Double(getValueToken(op));
- weighty = x.doubleValue();
- } else if (option.equals(/* NOI18N */"anchor"))
- anchor = convertSymbolicValue(getValueToken(op));
- else if (option.equals(/* NOI18N */"fill"))
- fill = convertSymbolicValue(getValueToken(op));
-
- else if (option.equals(/* NOI18N */"insets.top"))
- insets.top = convertSymbolicValue(getValueToken(op));
- else if (option.equals(/* NOI18N */"insets.left"))
- insets.left = convertSymbolicValue(getValueToken(op));
- else if (option.equals(/* NOI18N */"insets.bottom"))
- insets.bottom = convertSymbolicValue(
- getValueToken(op));
- else if (option.equals(/* NOI18N */"insets.right"))
- insets.right = convertSymbolicValue(getValueToken(op));
-
- else if (option.equals(/* NOI18N */"ipadx"))
- ipadx = convertSymbolicValue(getValueToken(op));
- else if (option.equals(/* NOI18N */"ipady"))
- ipady = convertSymbolicValue(getValueToken(op));
-
- else if (option.equals(/* NOI18N */"shrinkx")) {
- Boolean x = new Boolean(getValueToken(op));
- shrinkx = x.booleanValue();
- } else if (option.equals(/* NOI18N */"shrinky")) {
- Boolean x = new Boolean(getValueToken(op));
- shrinky = x.booleanValue();
- }
-
- else if (option.equals(/* NOI18N */"hardinsets.top"))
- hardinsets.top = convertSymbolicValue(
- getValueToken(op));
- else if (option.equals(/* NOI18N */"hardinsets.left"))
- hardinsets.left = convertSymbolicValue(
- getValueToken(op));
- else if (option.equals(/* NOI18N */"hardinsets.bottom"))
- hardinsets.bottom = convertSymbolicValue(
- getValueToken(op));
- else if (option.equals(/* NOI18N */"hardinsets.right"))
- hardinsets.right = convertSymbolicValue(
- getValueToken(op));
-
- else if (option.equals(/* NOI18N */"hardipadx"))
- hardipadx = convertSymbolicValue(
- getValueToken(op));
- else if (option.equals(/* NOI18N */"hardipady"))
- hardipady = convertSymbolicValue(
- getValueToken(op));
-
- else
- throw new NoSuchElementException();
- }
- }
- catch (Exception e) {
- /* JSTYLED */
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.awt.GBConstraints.-ba-r-ba-n-ba-tSyntax__error__i.3") +
- /* NOI18N */"\t\t" + constraints + /* NOI18N */": "
- + option_string);
- }
- }
-
- private String getValueToken(StringTokenizer op)
- throws NoSuchElementException
- {
- if (op.hasMoreTokens()) {
- String assign = op.nextToken();
- if (assign.equals(/* NOI18N */"="))
- if (op.hasMoreTokens())
- return op.nextToken();
- }
- throw new NoSuchElementException();
- }
-
- private int convertSymbolicValue(String value) {
- if (value.equals(/* NOI18N */"relative"))
- return GBConstraints.RELATIVE;
- else if (value.equals(/* NOI18N */"remainder"))
- return GBConstraints.REMAINDER;
- else if (value.equals(/* NOI18N */"none"))
- return GBConstraints.NONE;
- else if (value.equals(/* NOI18N */"both"))
- return GBConstraints.BOTH;
- else if (value.equals(/* NOI18N */"horizontal"))
- return GBConstraints.HORIZONTAL;
- else if (value.equals(/* NOI18N */"vertical"))
- return GBConstraints.VERTICAL;
- else if (value.equals(/* NOI18N */"center"))
- return GBConstraints.CENTER;
- else if (value.equals(/* NOI18N */"north"))
- return GBConstraints.NORTH;
- else if (value.equals(/* NOI18N */"northeast"))
- return GBConstraints.NORTHEAST;
- else if (value.equals(/* NOI18N */"east"))
- return GBConstraints.EAST;
- else if (value.equals(/* NOI18N */"southeast"))
- return GBConstraints.SOUTHEAST;
- else if (value.equals(/* NOI18N */"south"))
- return GBConstraints.SOUTH;
- else if (value.equals(/* NOI18N */"southwest"))
- return GBConstraints.SOUTHWEST;
- else if (value.equals(/* NOI18N */"west"))
- return GBConstraints.WEST;
- else if (value.equals(/* NOI18N */"northwest"))
- return GBConstraints.NORTHWEST;
-
- Integer int_val = new Integer(value);
- return int_val.intValue();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBContainer.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBContainer.java
deleted file mode 100644
index 1b68185ec0..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBContainer.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.*;
-
-public interface GBContainer {
-
- //
- // Initialization
- //
-
- public void setGBPanel(GBPanel panel);
-
- //
- // Container methods
- //
-
- public void setLayout(LayoutManager mgr);
- public void layout();
-
- public Component add(Component comp);
- public void remove(Component comp);
- public void removeAll();
-
- public void update(Graphics g);
- public void paint(Graphics g);
- public boolean handleEvent(Event e);
- public void reshape(int x, int y, int w, int h);
-
- //
- // Constraints
- //
-
- public void setConstraints(Component comp, GBConstraints c);
- public GBConstraints getConstraints(Component comp);
-
- //
- // Layout and Preview modes
- //
-
- public void layoutMode();
- public void previewMode();
-
- //
- // GBLayout attributes
- //
-
- public void setColumnWeights(double w[]);
- public void setRowWeights(double w[]);
- public double [] getColumnWeights();
- public double [] getRowWeights();
-
- public void setColumnWidths(int w[]);
- public void setRowHeights(int h[]);
- public int[] getColumnWidths();
- public int[] getRowHeights();
-
- public void addRow(int index);
- public void addColumn(int index);
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBLayout.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBLayout.java
deleted file mode 100644
index 23674aa2c1..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBLayout.java
+++ /dev/null
@@ -1,1833 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * @(#)GBLayout.java 1.23 97/09/03 Doug Stein
- *
- * Copyright (c) 1996, 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software
- * and its documentation for NON-COMMERCIAL purposes and without
- * fee is hereby granted provided that this copyright notice
- * appears in all copies. Please refer to the file "copyright.html"
- * for further important copyright and licensing information.
- *
- * 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.
- */
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.*;
-import java.util.Hashtable;
-
-class GBLayoutInfo {
- int width, height; /* number of cells horizontally, vertically */
- int startx, starty; /* starting point for layout */
- int minWidth[]; /* largest minWidth in each column */
- int minHeight[]; /* largest minHeight in each row */
- double weightX[]; /* largest weight in each column */
- double weightY[]; /* largest weight in each row */
-
- GBLayoutInfo(int w, int h) {
- width = w;
- height = h;
- minWidth = new int[w];
- minHeight = new int[h];
- weightX = new double[w];
- weightY = new double[h];
- }
-}
-
-/* BEGIN JSTYLED */
-/**
- GBLayout is a flexible layout manager
- that aligns components vertically and horizontally,
- without requiring that the components be the same size.
- Each GBLayout uses a rectangular grid of cells,
- with each component occupying one or more cells
- (called its < em >display area</em>).
- Each component managed by a GBLayout
- is associated with a
- < a href = java.awt.GBConstraints.html >GBConstraints</a> instance
- that specifies how the component is laid out
- within its display area.
- How a GBLayout places a set of components
- depends on each component's GBConstraints and minimum size,
- as well as the preferred size of the components' container.
- < p>
-
- To use a GBLayout effectively,
- you must customize one or more of its components' GBConstraints.
- You customize a GBConstraints object by setting one or more
- of its instance variables:
- < dl>
- < dt > <a href = java.awt.GBConstraints.html#gridx> gridx</a>,
- < a href = java.awt.GBConstraints.html#gridy> gridy</a>
- < dd> Specifies the cell at the upper left of the component's display area,
- where the upper-left-most cell has address gridx = 0, gridy=0.
- Use GBConstraints.RELATIVE(the default value)
- to specify that the component be just placed
- just to the right of(for gridx)
- or just below(for gridy)
- the component that was added to the container
- just before this component was added.
- < dt > <a href = java.awt.GBConstraints.html#gridwidth> gridwidth</a>,
- < a href = java.awt.GBConstraints.html#gridheight> gridheight</a>
- < dd> Specifies the number of cells in a row(for gridwidth)
- or column(for gridheight)
- in the component's display area.
- The default value is 1.
- Use GBConstraints.REMAINDER to specify
- that the component be the last one in its row(for gridwidth)
- or column(for gridheight).
- Use GBConstraints.RELATIVE to specify
- that the component be the next to last one
- in its row(for gridwidth) or column (for gridheight).
- < dt> <a href = java.awt.GBConstraints.html#fill>fill</a>
- < dd> Used when the component's display area
- is larger than the component's requested size
- to determine whether(and how) to resize the component.
- Valid values are
- GBConstraints.NONE
- (the default),
- GBConstraints.HORIZONTAL
- (make the component wide enough to fill its display area
- horizontally, but don't change its height),
- GBConstraints.VERTICAL
- (make the component tall enough to fill its display area
- vertically, but don't change its width),
- and
- GBConstraints.BOTH
- (make the component fill its display area entirely).
- < dt > <a href = java.awt.GBConstraints.html#ipadx> ipadx</a>,
- < a href = java.awt.GBConstraints.html#ipady> ipady</a>
- < dd> Specifies the internal padding:
- how much to add to the minimum size of the component.
- The width of the component will be at least
- its minimum width plus ipadx*2 pixels
- (since the padding applies to both sides of the component).
- Similarly, the height of the component will be at least
- the minimum height plus ipady*2 pixels.
- < dt> <a href = java.awt.GBConstraints.html#insets>insets</a>
- < dd> Specifies the external padding of the component --
- the minimum amount of space between the component
- and the edges of its display area.
- < dt> <a href = java.awt.GBConstraints.html#anchor>anchor</a>
- < dd> Used when the component is smaller than its display area
- to determine where(within the area) to place the component.
- Valid values are
- GBConstraints.CENTER(the default),
- GBConstraints.NORTH,
- GBConstraints.NORTHEAST,
- GBConstraints.EAST,
- GBConstraints.SOUTHEAST,
- GBConstraints.SOUTH,
- GBConstraints.SOUTHWEST,
- GBConstraints.WEST, and
- GBConstraints.NORTHWEST.
- < dt > <a href = java.awt.GBConstraints.html#weightx> weightx</a>,
- < a href = java.awt.GBConstraints.html#weighty> weighty</a>
- < dd> Used to determine how to distribute space;
- this is important for specifying resizing behavior.
- Unless you specify a weight
- for at least one component in a row(weightx)
- and column(weighty),
- all the components clump together in the center of
- their container.
- This is because when the weight is zero(the default),
- the GBLayout puts any extra space
- between its grid of cells and the edges of the container.
- < /dl>
-
- The following figure shows ten components(all buttons)
- managed by a GBLayout:
- < blockquote>
- < img src = images/java.awt/GridBagEx.gif width=262 height=155>
- < /blockquote>
-
- All the components have fill = GBConstraints.BOTH.
- In addition, the components have the following non-default constraints:
- < ul>
- < li >Button1, Button2, Button3:
- weightx = 1.0
- < li >Button4:
- weightx = 1.0,
- gridwidth = GBConstraints.REMAINDER
- < li >Button5:
- gridwidth = GBConstraints.REMAINDER
- < li >Button6:
- gridwidth = GBConstraints.RELATIVE
- < li >Button7:
- gridwidth = GBConstraints.REMAINDER
- < li >Button8:
- gridheight = 2, weighty=1.0,
- < li >Button9, Button 10:
- gridwidth = GBConstraints.REMAINDER
- < /ul>
-
- Here is the code that implements the example shown above:
- < blockquote>
- < pre>
- import java.awt.*;
- import java.util.*;
- import java.applet.Applet;
-
- public class GridBagEx1 extends Applet {
-
- protected void makebutton(String name,
- GBLayout gridbag,
- GBConstraints c) {
- Button button = new Button(name);
- gridbag.setConstraints(button, c);
- add(button);
- }
-
- public void init() {
- GBLayout gridbag = new GBLayout();
- GBConstraints c = new GBConstraints();
-
- setFont(new Font("Sansserif", Font.PLAIN, 14));
- setLayout(gridbag);
-
- c.fill = GBConstraints.BOTH;
- c.weightx = 1.0;
- makebutton("Button1", gridbag, c);
- makebutton("Button2", gridbag, c);
- makebutton("Button3", gridbag, c);
-
- c.gridwidth = GBConstraints.REMAINDER; // end row
- makebutton("Button4", gridbag, c);
-
- c.weightx = 0.0; // reset to the default
- makebutton("Button5", gridbag, c); // another row
-
- c.gridwidth = GBConstraints.RELATIVE; // next-to-last in row
- makebutton("Button6", gridbag, c);
-
- c.gridwidth = GBConstraints.REMAINDER; // end row
- makebutton("Button7", gridbag, c);
-
- c.gridwidth = 1; // reset to the default
- c.gridheight = 2;
- c.weighty = 1.0;
- makebutton("Button8", gridbag, c);
-
- c.weighty = 0.0; // reset to the default
- c.gridwidth = GBConstraints.REMAINDER; // end row
- c.gridheight = 1; // reset to the default
- makebutton("Button9", gridbag, c);
- makebutton("Button10", gridbag, c);
-
- resize(300, 100);
- }
-
- public static void main(String args[]) {
- Frame f = new Frame("GridBag Layout Example");
- GridBagEx1 ex1 = new GridBagEx1();
-
- ex1.init();
-
- f.add("Center", ex1);
- f.pack();
- f.resize(f.getPreferredSize());
- f.show();
- }
- }
- < /pre>
- < /blockquote>
- *
- * @version 1.23, 08/06/97
- * @author Doug Stein
- */
-/* END JSTYLED */
-public class GBLayout implements LayoutManager {
-
- /**
- * Determines the minimum widths for the grid columns.
- */
- public int columnWidths[];
-
- /**
- * Determines the minimum heights for the grid rows.
- */
- public int rowHeights[];
-
- /**
- * Determines the minimum weights for the grid columns.
- */
- public double columnWeights[];
-
- /**
- * Determines the minimum weights for the grid rows.
- */
- public double rowWeights[];
-
- protected static final int INITGRIDSIZE = 16;
- protected static final int MINSIZE = 1;
- protected static final int PREFERREDSIZE = 2;
- protected static final int TINYSIZE = 3;
-
- protected Hashtable comptable;
- protected GBConstraints defaultConstraints;
- protected GBLayoutInfo layoutInfo;
-
- protected int anchor;
- protected int clipAnchor;
-
- private static boolean layoutDisabled = false;
- private static int disableCount = 0;
- private static Insets windowInsets = new Insets(0, 0, 0, 0);
-
- /**
- * Globally enable gridbag layout. The
- * default is for gridbag layout to
- * be enabled.
- */
- public synchronized static void enable() {
- disableCount--;
- if (disableCount <= 0)
- layoutDisabled = false;
- }
-
- /**
- * Globally disable gridbag layout. This can be used to improve
- * performance by temporarily disabling layout during
- * spurious calls to validate.
- */
- public synchronized static void disable() {
- disableCount++;
- if (disableCount > 0)
- layoutDisabled = true;
- }
-
- /**
- * Set the window insets. The window insets default to (0,0,0,0).
- */
- public synchronized static void setWindowInsets(Insets insets) {
- if (insets == null)
- windowInsets = new Insets(0, 0, 0, 0);
- else
- windowInsets = (Insets)insets.clone();
- }
-
- /**
- * Get the window insets.
- */
- public synchronized static Insets getWindowInsets() {
- return (Insets)windowInsets.clone();
- }
-
- /**
- * Creates a gridbag layout.
- */
- public GBLayout() {
- comptable = new Hashtable();
- defaultConstraints = new GBConstraints();
-
- anchor = GBConstraints.CENTER;
- clipAnchor = GBConstraints.NORTHWEST;
- }
-
- /**
- * Sets the constraints for the specified component.
- * @param comp the component to be modified
- * @param constraints the constraints to be applied
- */
- public void setConstraints(Component comp,
- GBConstraints constraints) {
- GBConstraints c = (GBConstraints)constraints.clone();
- if (c.insets == null)
- c.insets = new Insets(0, 0, 0, 0);
- if (c.hardinsets == null)
- c.hardinsets = new Insets(0, 0, 0, 0);
-
- comptable.put(comp, c);
- }
-
- /**
- * Sets the constraints from an option string.
- * Each option has the form key=value. Options are separated by
- * semicolons (;).
- * @param comp the component to be modified
- * @param constraints the constraints string
- */
- public void setConstraints(Component comp, String constraints) {
- if (constraints == null)
- return;
-
- comptable.put(comp, new GBConstraints(constraints));
- }
-
- /**
- * Retrieves the constraints for the specified component. A copy of
- * the constraints is returned.
- * @param comp the component to be queried
- */
- public GBConstraints getConstraints(Component comp) {
- GBConstraints constraints = (GBConstraints)comptable.get(comp);
- if (constraints == null) {
- setConstraints(comp, defaultConstraints);
- constraints = (GBConstraints)comptable.get(comp);
- }
- return (GBConstraints)constraints.clone();
- }
-
- /**
- * Retrieves the constraints for the specified
- * component. The return
- * value is not a copy, but is the actual constraints
- * class used by the
- * layout mechanism.
- * @param comp the component to be queried
- */
- protected GBConstraints lookupConstraints(Component comp) {
- GBConstraints constraints = (GBConstraints)comptable.get(comp);
- if (constraints == null) {
- setConstraints(comp, defaultConstraints);
- constraints = (GBConstraints)comptable.get(comp);
- }
- return constraints;
- }
-
- /**
- * Returns the coordinates of the upper-left corner of the grid.
- * The coordinates are based on the current layout of the grid.
- */
- public Point getLayoutOrigin() {
- Point origin = new Point(0, 0);
- if (layoutInfo != null) {
- origin.x = layoutInfo.startx;
- origin.y = layoutInfo.starty;
- }
- return origin;
- }
-
- /**
- * Returns the widths and heights of the grid columns and rows.
- * The dimensions are based on the current layout of the grid.
- */
- public int [][] getLayoutDimensions() {
- if (layoutInfo == null)
- return new int[2][0];
-
- int dim[][] = new int [2][];
- dim[0] = new int[layoutInfo.width];
- dim[1] = new int[layoutInfo.height];
-
- System.arraycopy(layoutInfo.minWidth, 0, dim[0], 0,
- layoutInfo.width);
- System.arraycopy(layoutInfo.minHeight, 0, dim[1], 0,
- layoutInfo.height);
-
- return dim;
- }
-
- /**
- * Returns the minimum widths and heights of the
- * grid columns and rows.
- * This is how the grid would be arranged if the parent were
- * to be reshaped to its minimum size.
- */
- public int [][] getMinimumLayoutDimensions(Container parent) {
- GBLayoutInfo info = GetLayoutInfo(parent, MINSIZE);
- int dim[][] = new int[2][];
- dim[0] = new int[info.width];
- dim[1] = new int[info.height];
-
- System.arraycopy(info.minWidth, 0, dim[0], 0, info.width);
- System.arraycopy(info.minHeight, 0, dim[1], 0, info.height);
-
- return dim;
- }
-
- /**
- * Returns the preferred widths and heights of the
- * grid columns and rows.
- * This is how the grid would be arranged if the parent were
- * to be reshaped to its preferred size.
- */
- public int [][] getPreferredLayoutDimensions(Container parent) {
- GBLayoutInfo info = GetLayoutInfo(parent, PREFERREDSIZE);
- int dim[][] = new int[2][];
- dim[0] = new int[info.width];
- dim[1] = new int[info.height];
-
- System.arraycopy(info.minWidth, 0, dim[0], 0, info.width);
- System.arraycopy(info.minHeight, 0, dim[1], 0, info.height);
-
- return dim;
- }
- /* BEGIN JSTYLED */
- /**
- * Returns the current set of weights for the grid
- * columns and rows.
- * The return value reflects the effective weights for the columns
- * and rows after taking into account the weight constraints that
- * are set on the child components.
- */
- /* END JSTYLED */
- public double [][] getLayoutWeights() {
- if (layoutInfo == null)
- return new double[2][0];
-
- double weights[][] = new double [2][];
- weights[0] = new double[layoutInfo.width];
- weights[1] = new double[layoutInfo.height];
-
- System.arraycopy(layoutInfo.weightX, 0, weights[0], 0,
- layoutInfo.width);
- System.arraycopy(layoutInfo.weightY, 0, weights[1], 0,
- layoutInfo.height);
-
- return weights;
- }
-
- /**
- * Returns the coordinates of the grid cell corresponding
- * to the given
- * pixel coordinates.
- */
- public Point location(int x, int y) {
- Point loc = new Point(0, 0);
- int i, d;
-
- if (layoutInfo == null)
- return loc;
-
- d = layoutInfo.startx;
- for (i = 0; i < layoutInfo.width; i++) {
- d += layoutInfo.minWidth[i];
- if (d > x)
- break;
- }
- loc.x = i;
-
- d = layoutInfo.starty;
- for (i = 0; i < layoutInfo.height; i++) {
- d += layoutInfo.minHeight[i];
- if (d > y)
- break;
- }
- loc.y = i;
-
- return loc;
- }
-
- /**
- * Sets the anchor for the gridbag. The anchor determines
- * the placement
- * for the child components when the container
- * has extra space and none
- * of the children have weights. The default anchor is CENTER.
- */
- public void setAnchor(int anchor) {
- this.anchor = anchor;
- }
-
- /**
- * Returns the current anchor.
- */
- public int getAnchor() {
- return anchor;
- }
-
- /**
- * Sets the clip anchor. The clip anchor determines
- * which edge(s) of
- * the container get clipped when there is not enough space. The
- * default clip anchor is NORTHWEST. A clip anchor
- * of NORTHWEST means
- * that northwest corner is anchored, so the south
- * and east edges will
- * be clipped if there is not enough space.
- */
- public void setClipAnchor(int clipAnchor) {
- this.clipAnchor = clipAnchor;
- }
-
- /**
- * Returns the current clip anchor.
- */
- public int getClipAnchor() {
- return clipAnchor;
- }
-
- /**
- * If the parent is a Window, then adjust the insets according to
- * the window insets.
- */
- private Insets getInsets(Container parent) {
- Insets parentInsets = parent.insets();
- Insets insets = null;
- if (parentInsets != null) {
- insets = (Insets) parentInsets.clone();
- } else {
- insets = new Insets(0, 0, 0, 0);
- }
- if (parent instanceof Window) {
- insets.top += windowInsets.top;
- insets.bottom += windowInsets.bottom;
- insets.left += windowInsets.left;
- insets.right += windowInsets.right;
- }
- return insets;
- }
-
- /**
- * Adds the specified component with the specified
- * name to the layout.
- * The name is converted to a set of GBConstraints.
- * @param name the constraints string
- * @param comp the component to be added
- */
- public void addLayoutComponent(String name, Component comp) {
- setConstraints(comp, name);
- }
-
- /**
- * Removes the specified component from the layout. Does not apply.
- * @param comp the component to be removed
- */
- public void removeLayoutComponent(Component comp) {
- }
-
- /**
- * Returns the preferred dimensions for this layout
- * given the components
- * in the specified panel.
- * @param parent the component which needs to be laid out
- * @see #minimumLayoutSize
- */
- public Dimension preferredLayoutSize(Container parent) {
- GBLayoutInfo info = GetLayoutInfo(parent, PREFERREDSIZE);
- return GetMinSize(parent, info);
- }
-
- /**
- * Returns the minimum dimensions needed to layout the components
- * contained in the specified panel.
- * @param parent the component which needs to be laid out
- * @see #preferredLayoutSize
- */
- public Dimension minimumLayoutSize(Container parent) {
- GBLayoutInfo info = GetLayoutInfo(parent, MINSIZE);
- return GetMinSize(parent, info);
- }
-
- /**
- * Returns the smallest allowable size for the specified panel.
- * This can be smaller than getMinimumSize if there are insets and
- * pads set on any of the panel's children.
- * @param parent the component which needs to be laid out
- * @see #preferredLayoutSize
- */
- public Dimension tinyLayoutSize(Container parent) {
- GBLayoutInfo info = GetLayoutInfo(parent, TINYSIZE);
- return GetMinSize(parent, info);
- }
-
- /**
- * Lays out the container in the specified panel.
- * @param parent the specified component being laid out
- * @see Container
- */
- public void layoutContainer(Container parent) {
- if (!layoutDisabled)
- ArrangeGrid(parent, true);
- }
-
- /**
- * Does everything that layout normally does, except the components
- * aren't actually reshaped. This has the useful side effect of
- * setting the location and size variables in the constraints
- * for each component.
- * @param parent the specified component being laid out
- * @see Container
- */
- public void layoutContainerNoReshape(Container parent) {
- if (!layoutDisabled)
- ArrangeGrid(parent, false);
- }
-
- /**
- * Returns the String representation of this GBLayout's values.
- */
- public String toString() {
- return getClass().getName();
- }
- /* BEGIN JSTYLED */
- /**
- * Print the layout information. Useful for debugging.
- */
-
- /* DEBUG
- *
- * protected void DumpLayoutInfo(GBLayoutInfo s) {
- * int x;
- *
- * System.out.println("Col\tWidth\tWeight");
- * for (x=0; x<s.width; x++) {
- * System.out.println(x + "\t" +
- * s.minWidth[x] + "\t" +
- * s.weightX[x]);
- * }
- * System.out.println("Row\tHeight\tWeight");
- * for (x=0; x<s.height; x++) {
- * System.out.println(x + "\t" +
- * s.minHeight[x] + "\t" +
- * s.weightY[x]);
- * }
- * }
- */
-
- /**
- * Print the layout constraints. Useful for debugging.
- */
-
- /* DEBUG
- *
- * protected void DumpConstraints(GBConstraints constraints) {
- * System.out.println(
- * "wt " +
- * constraints.weightx +
- * " " +
- * constraints.weighty +
- * ", " +
- *
- * "box " +
- * constraints.gridx +
- * " " +
- * constraints.gridy +
- * " " +
- * constraints.gridwidth +
- * " " +
- * constraints.gridheight +
- * ", " +
- *
- * "min " +
- * constraints.minWidth +
- * " " +
- * constraints.minHeight +
- * ", " +
- *
- * "pad " +
- * constraints.insets.bottom +
- * " " +
- * constraints.insets.left +
- * " " +
- * constraints.insets.right +
- * " " +
- * constraints.insets.top +
- * " " +
- * constraints.ipadx +
- * " " +
- * constraints.ipady);
- * }
- */
-
- /**
- * Fill in an instance of the GBLayoutInfo structure for the
- * current set of managed children. This requires four passes
- * through the child components:
- *<pre>
- * 1) Figure out the dimensions of the layout grid.
- * 2) Determine which cells the components occupy.
- * 3) Distribute the weights among the rows/columns.
- * 4) Distribute the minimum sizes among the rows/columns.
- *</pre>
- * This also caches the minsizes for all the children when they are
- * first encountered (so subsequent loops don't need to ask again).
- */
-
- /* END JSTYLED */
- protected GBLayoutInfo GetLayoutInfo(Container parent,
- int sizeflag) {
- Component comp;
- GBConstraints constraints;
- Dimension d;
- Component components[] = parent.getComponents();
-
- int compindex, width, height, i, j, k, px, py;
- int limit, pixels_diff, nextSize;
- int curX, curY, curWidth, curHeight, curRow, curCol;
- double weight_diff, weight, start, size;
- int xMax[], yMax[];
-
- /* BEGIN JSTYLED */
- /*
- * Pass #1
- *
- * Figure out the dimensions of the layout
- * grid (use a value of 1 for
- * zero or negative widths and heights).
- */
- /* END JSTYLED */
-
- width = height = 0;
- curRow = curCol = -1;
- xMax = new int[INITGRIDSIZE];
- yMax = new int[INITGRIDSIZE];
-
- for (compindex = 0; compindex < components.length; compindex++) {
- comp = components[compindex];
- if (!comp.isVisible())
- continue;
- constraints = lookupConstraints(comp);
-
- curX = constraints.gridx;
- curY = constraints.gridy;
- curWidth = constraints.gridwidth;
- if (curWidth <= 0)
- curWidth = 1;
- curHeight = constraints.gridheight;
- if (curHeight <= 0)
- curHeight = 1;
-
- /* If x or y is negative, then use relative positioning: */
- if (curX < 0 && curY < 0) {
- if (curRow >= 0)
- curY = curRow;
- else if (curCol >= 0)
- curX = curCol;
- else
- curY = 0;
- }
- if (curX < 0) {
- px = 0;
- limit = curY + curHeight;
- xMax = ensureCapacity(xMax, limit);
- for (i = curY; i < limit; i++)
- px = Math.max(px, xMax[i]);
-
- curX = px - curX - 1;
- if (curX < 0)
- curX = 0;
- } else if (curY < 0) {
- py = 0;
- limit = curX + curWidth;
- yMax = ensureCapacity(yMax, limit);
- for (i = curX; i < limit; i++)
- py = Math.max(py, yMax[i]);
-
- curY = py - curY - 1;
- if (curY < 0)
- curY = 0;
- }
-
- /* Adjust the grid width and height */
- for (px = curX + curWidth; width < px; width++);
- for (py = curY + curHeight; height < py; height++);
-
- /* Adjust the xMax and yMax arrays */
- yMax = ensureCapacity(yMax, px);
- xMax = ensureCapacity(xMax, py);
- for (i = curX; i < px; i++) { yMax[i] = py; }
- for (i = curY; i < py; i++) { xMax[i] = px; }
-
- /* Cache the current slave's size. */
- if (sizeflag == TINYSIZE) {
- if (comp instanceof Container) {
- Container cntr = (Container)comp;
- if (cntr.getLayout() instanceof GBLayout)
- d = ((GBLayout)cntr.getLayout()).tinyLayoutSize(cntr);
- else
- d = comp.getMinimumSize();
- }
- else
- d = comp.getMinimumSize();
-
- constraints.tinyWidth = d.width;
- constraints.tinyHeight = d.height;
-
- if (constraints.shrinkx)
- constraints.tinyWidth = 0;
- if (constraints.shrinky)
- constraints.tinyHeight = 0;
-
- if (constraints.minsize == null) {
- d = comp.getMinimumSize();
- constraints.minsize = new Dimension(d.width,
- d.height);
- }
- } else {
- if (sizeflag == PREFERREDSIZE) {
- d = comp.getPreferredSize();
- if (d.width <= 1 && d.height <= 1) {
- // If the preferred size is not reasonable
- // then try the minumum size
- d = comp.getMinimumSize();
- if (d.width <= 1 && d.height <= 1) {
- // Both preferred and minimun size
- // are small so use the actual size
- // that was set for the component.
- d = comp.getSize();
- }
- }
- constraints.minsize = new Dimension(d.width,
- d.height);
- } else {
- d = comp.getMinimumSize();
- // If the component is less than 1,1 minumum
- // size then
- // use getPreferredSize instead. This is
- // a workaround for
- // Beans that do not have getMinimumSize
- // implemented.
- if (d.width <= 1 && d.height <= 1) {
- d = comp.getPreferredSize();
- if (d.width <= 1 && d.height <= 1) {
- d = comp.getSize();
- }
- }
- constraints.minsize = new Dimension(d.width,
- d.height);
- }
- }
- /* BEGIN JSTYLED */
- /*
- * Zero width and height must mean that this is
- * the last item (or
- * else something is wrong).
- */
- if (constraints.gridheight == 0 &&
- constraints.gridwidth == 0)
- curRow = curCol = -1;
-
- /* Zero width starts a new row */
- if (constraints.gridheight == 0 && curRow < 0)
- curCol = curX + curWidth;
-
- /* Zero height starts a new column */
- else if (constraints.gridwidth == 0 && curCol < 0)
- curRow = curY + curHeight;
- }
-
- /*
- * Apply minimum row/column dimensions
- */
- /* END JSTYLED */
- if (columnWidths != null && width < columnWidths.length)
- width = columnWidths.length;
- if (rowHeights != null && height < rowHeights.length)
- height = rowHeights.length;
-
- GBLayoutInfo r = new GBLayoutInfo(width, height);
-
- /*
- * Pass #2
- *
- * Negative values for gridX are filled in with
- * the current x value.
- * Negative values for gridY are filled in with
- * the current y value.
- * Negative or zero values for gridWidth and
- * gridHeight end the current
- * row or column, respectively.
- *
- * Pass #1 figures out the grid dimensions.
- * Pass #2 replaces the
- * negative and zero values for gridWidth and gridHeight with
- * real values that are based on the grid dimensions determined
- * in pass #1.
- */
-
- curRow = curCol = -1;
- xMax = new int[height];
- yMax = new int[width];
-
- for (compindex = 0; compindex < components.length;
- compindex++) {
- comp = components[compindex];
- if (!comp.isVisible())
- continue;
- constraints = lookupConstraints(comp);
-
- curX = constraints.gridx;
- curY = constraints.gridy;
- curWidth = constraints.gridwidth;
- curHeight = constraints.gridheight;
-
- /* If x or y is negative, then use relative positioning: */
- if (curX < 0 && curY < 0) {
- if (curRow >= 0)
- curY = curRow;
- else if (curCol >= 0)
- curX = curCol;
- else
- curY = 0;
- }
-
- if (curX < 0) {
- if (curHeight <= 0) {
- curHeight += r.height - curY;
- if (curHeight < 1)
- curHeight = 1;
- }
-
- px = 0;
- for (i = curY; i < (curY + curHeight); i++)
- px = Math.max(px, xMax[i]);
-
- curX = px - curX - 1;
- if (curX < 0)
- curX = 0;
- } else if (curY < 0) {
- if (curWidth <= 0) {
- curWidth += r.width - curX;
- if (curWidth < 1)
- curWidth = 1;
- }
-
- py = 0;
- for (i = curX; i < (curX + curWidth); i++)
- py = Math.max(py, yMax[i]);
-
- curY = py - curY - 1;
- if (curY < 0)
- curY = 0;
- }
-
- if (curWidth <= 0) {
- curWidth += r.width - curX;
- if (curWidth < 1)
- curWidth = 1;
- }
-
- if (curHeight <= 0) {
- curHeight += r.height - curY;
- if (curHeight < 1)
- curHeight = 1;
- }
-
- px = curX + curWidth;
- py = curY + curHeight;
-
- for (i = curX; i < px; i++) { yMax[i] = py; }
- for (i = curY; i < py; i++) { xMax[i] = px; }
-
- /* Make negative sizes start a new row/column */
- if (constraints.gridheight == 0 &&
- constraints.gridwidth == 0)
- curRow = curCol = -1;
- if (constraints.gridheight == 0 && curRow < 0)
- curCol = curX + curWidth;
- else if (constraints.gridwidth == 0 && curCol < 0)
- curRow = curY + curHeight;
-
- /* Assign the new values to the gridbag slave */
- constraints.tempX = curX;
- constraints.tempY = curY;
- constraints.tempWidth = curWidth;
- constraints.tempHeight = curHeight;
- }
-
- /*
- * Apply row/column weights.
- */
-
- if (columnWeights != null)
- System.arraycopy(columnWeights, 0, r.weightX, 0,
- Math.min(columnWeights.length, r.weightX.length));
- if (rowWeights != null)
- System.arraycopy(rowWeights, 0, r.weightY, 0,
- Math.min(rowWeights.length, r.weightY.length));
-
- /*
- * Pass #3
- *
- * Distribute the weights.
- */
-
- nextSize = Integer.MAX_VALUE;
-
- for (i = 1;
- i != Integer.MAX_VALUE;
- i = nextSize, nextSize = Integer.MAX_VALUE) {
- for (compindex = 0; compindex < components.length;
- compindex++) {
- comp = components[compindex];
- if (!comp.isVisible())
- continue;
- constraints = lookupConstraints(comp);
-
- if (constraints.tempWidth == i) {
- px = constraints.tempX + constraints.tempWidth;
- /* right column */
-
- /*
- * Figure out if we should use this slave\'s
- * weight. If the weight
- * is less than the total weight spanned
- * by the width of the cell,
- * then discard the weight. Otherwise
- * split the difference
- * according to the existing weights.
- */
-
- weight_diff = constraints.weightx;
- for (k = constraints.tempX; k < px; k++)
- weight_diff -= r.weightX[k];
- if (weight_diff > 0.0) {
- weight = 0.0;
- for (k = constraints.tempX; k < px; k++)
- weight += r.weightX[k];
- for (k = constraints.tempX; weight > 0.0
- && k < px; k++) {
- double wt = r.weightX[k];
- double dx = (wt * weight_diff) / weight;
- r.weightX[k] += dx;
- weight_diff -= dx;
- weight -= wt;
- }
- /* BEGIN JSTYLED */
- /* Assign the remainder to the
- * rightmost cell */
- /* END JSTYLED */
- r.weightX[px-1] += weight_diff;
- }
- } else if (constraints.tempWidth > i &&
- constraints.tempWidth < nextSize)
- nextSize = constraints.tempWidth;
-
-
- if (constraints.tempHeight == i) {
- py = constraints.tempY + constraints.tempHeight;
- /* bottom row */
-
- /*
- * Figure out if we should use this slave\'s
- * weight. If the weight
- * is less than the total weight spanned by
- * the height of the cell,
- * then discard the weight. Otherwise split
- * it the difference
- * according to the existing weights.
- */
-
- weight_diff = constraints.weighty;
- for (k = constraints.tempY; k < py; k++)
- weight_diff -= r.weightY[k];
- if (weight_diff > 0.0) {
- weight = 0.0;
- for (k = constraints.tempY; k < py; k++)
- weight += r.weightY[k];
- for (k = constraints.tempY; weight > 0.0
- && k < py; k++) {
- double wt = r.weightY[k];
- double dy = (wt * weight_diff) / weight;
- r.weightY[k] += dy;
- weight_diff -= dy;
- weight -= wt;
- }
- /* Assign the remainder to the bottom cell */
- r.weightY[py-1] += weight_diff;
- }
- } else if (constraints.tempHeight > i &&
- constraints.tempHeight < nextSize)
- nextSize = constraints.tempHeight;
- }
- }
-
- /*
- * Apply minimum row/column widths.
- */
-
- if (sizeflag == TINYSIZE) {
- if (columnWidths != null) {
- for (i = 0; i < columnWidths.length; i++) {
- if (r.weightX[i] == 0)
- r.minWidth[i] = columnWidths[i];
- }
- }
- if (rowHeights != null) {
- for (i = 0; i < rowHeights.length; i++) {
- if (r.weightY[i] == 0)
- r.minHeight[i] = rowHeights[i];
- }
- }
- } else {
- if (columnWidths != null)
- System.arraycopy(columnWidths, 0, r.minWidth, 0,
- columnWidths.length);
- if (rowHeights != null)
- System.arraycopy(rowHeights, 0, r.minHeight, 0,
- rowHeights.length);
- }
-
- /*
- * Pass #4
- *
- * Distribute the minimum widths.
- */
-
- nextSize = Integer.MAX_VALUE;
-
- for (i = 1;
- i != Integer.MAX_VALUE;
- i = nextSize, nextSize = Integer.MAX_VALUE) {
- for (compindex = 0; compindex < components.length;
- compindex++) {
- comp = components[compindex];
- if (!comp.isVisible())
- continue;
- constraints = lookupConstraints(comp);
-
- if (constraints.tempWidth == i) {
- px = constraints.tempX + constraints.tempWidth;
- /* right column */
-
- /*
- * Calculate the minWidth array values.
- * First, figure out how wide the current
- * slave needs to be.
- * Then, see if it will fit within the
- * current minWidth values.
- * If it will not fit, add the difference
- * according to the
- * weightX array.
- */
-
- if (sizeflag == TINYSIZE && hasWeightX(r,
- constraints)) {
- pixels_diff = constraints.tinyWidth
- + constraints.hardipadx +
- constraints.hardinsets.left +
- constraints.hardinsets.right;
- } else {
- pixels_diff = constraints.minsize.width +
- constraints.ipadx + constraints.hardipadx +
- constraints.insets.left +
- constraints.insets.right +
- constraints.hardinsets.left +
- constraints.hardinsets.right;
- }
-
- for (k = constraints.tempX; k < px; k++)
- pixels_diff -= r.minWidth[k];
- if (pixels_diff > 0) {
- weight = 0.0;
- for (k = constraints.tempX; k < px; k++)
- weight += r.weightX[k];
- for (k = constraints.tempX; weight > 0.0 &&
- k < px; k++) {
- double wt = r.weightX[k];
- int dx = (int)((wt * ((double)
- pixels_diff)) / weight);
- r.minWidth[k] += dx;
- pixels_diff -= dx;
- weight -= wt;
- }
-
- /* Any leftovers are evenly distributed */
- int dx = pixels_diff/(px-constraints.tempX);
- for (k = constraints.tempX; k < (px-1); k++) {
- r.minWidth[k] += dx;
- pixels_diff -= dx;
- }
- r.minWidth[px-1] += pixels_diff;
- }
- } else if (constraints.tempWidth > i &&
- constraints.tempWidth < nextSize)
- nextSize = constraints.tempWidth;
-
-
- if (constraints.tempHeight == i) {
- py = constraints.tempY + constraints.tempHeight;
- /* bottom row */
-
- /*
- * Calculate the minHeight array values.
- * First, figure out how tall the current
- * slave needs to be.
- * Then, see if it will fit within the
- * current minHeight values.
- * If it will not fit, add the difference
- * according to the
- * weightY array.
- */
-
- if (sizeflag == TINYSIZE && hasWeightY(r,
- constraints)) {
- pixels_diff = constraints.tinyHeight +
- constraints.hardipady +
- constraints.hardinsets.top +
- constraints.hardinsets.bottom;
- } else {
- pixels_diff = constraints.minsize.height +
- constraints.ipady + constraints.hardipady +
- constraints.insets.top +
- constraints.insets.bottom +
- constraints.hardinsets.top +
- constraints.hardinsets.bottom;
- }
-
- for (k = constraints.tempY; k < py; k++)
- pixels_diff -= r.minHeight[k];
- if (pixels_diff > 0) {
- weight = 0.0;
- for (k = constraints.tempY; k < py; k++)
- weight += r.weightY[k];
- for (k = constraints.tempY; weight > 0.0 &&
- k < py; k++) {
- double wt = r.weightY[k];
- int dy = (int)((wt * ((double)pixels_diff))
- / weight);
- r.minHeight[k] += dy;
- pixels_diff -= dy;
- weight -= wt;
- }
-
- /* Any leftovers are evenly distributed */
- int dy = pixels_diff/(py-constraints.tempY);
- for (k = constraints.tempY; k < (py-1); k++) {
- r.minHeight[k] += dy;
- pixels_diff -= dy;
- }
- r.minHeight[py-1] += pixels_diff;
- }
- } else if (constraints.tempHeight > i &&
- constraints.tempHeight < nextSize)
- nextSize = constraints.tempHeight;
- }
- }
-
- return r;
- }
-
- private int[] ensureCapacity(int arr[], int size) {
- if (arr.length < size) {
- int newSize = arr.length * 2;
- if (newSize == 0)
- newSize = 1;
- while (newSize < size)
- newSize = newSize * 2;
-
- int newArr[] = new int[newSize];
- System.arraycopy(arr, 0, newArr, 0, arr.length);
- arr = newArr;
- }
-
- return arr;
- }
-
- private boolean hasWeightX(GBLayoutInfo r, GBConstraints c) {
- int gx = c.tempX + c.tempWidth;
- for (int i = c.tempX; i < gx; i++) {
- if (r.weightX[i] != 0)
- return true;
- }
- return false;
- }
-
- private boolean hasWeightY(GBLayoutInfo r, GBConstraints c) {
- int gy = c.tempY + c.tempHeight;
- for (int i = c.tempY; i < gy; i++) {
- if (r.weightY[i] != 0)
- return true;
- }
- return false;
- }
-
- /**
- * Adjusts the x, y, width, and height fields to the correct
- * values according to the constraint geometry and pads.
- */
- protected void AdjustForGravity(GBConstraints c, Rectangle r) {
- int diffx, diffy, w, h;
- Insets insets = (Insets)c.insets.clone();
-
- w = r.width -
- (insets.left + insets.right + c.hardinsets.left +
- c.hardinsets.right);
- h = r.height -
- (insets.top + insets.bottom + c.hardinsets.top +
- c.hardinsets.bottom);
-
- if (w < c.tinyWidth) {
- if (c.fill == GBConstraints.HORIZONTAL ||
- c.fill == GBConstraints.BOTH) {
- diffx = c.tinyWidth - w;
- insets.left -= diffx/2;
- insets.right -= diffx/2;
- if (insets.left < 0) {
- insets.right += insets.left;
- insets.left = 0;
- }
- if (insets.right < 0) {
- insets.left += insets.right;
- insets.right = 0;
- }
- } else {
- switch (c.anchor) {
- case GBConstraints.NORTH:
- case GBConstraints.SOUTH:
- case GBConstraints.CENTER:
- diffx = c.tinyWidth - w;
- insets.left -= diffx/2;
- insets.right -= diffx/2;
- if (insets.left < 0) {
- insets.right += insets.left;
- insets.left = 0;
- }
- if (insets.right < 0) {
- insets.left += insets.right;
- insets.right = 0;
- }
- break;
-
- case GBConstraints.NORTHWEST:
- case GBConstraints.SOUTHWEST:
- case GBConstraints.WEST:
- diffx = c.tinyWidth - w;
- insets.right -= diffx;
- if (insets.right < 0) {
- insets.left += insets.right;
- insets.right = 0;
- }
- break;
-
- case GBConstraints.NORTHEAST:
- case GBConstraints.SOUTHEAST:
- case GBConstraints.EAST:
- diffx = c.tinyWidth - w;
- insets.left -= diffx;
- if (insets.left < 0) {
- insets.right += insets.left;
- insets.left = 0;
- }
- break;
- default:
- /* JSTYLED */
- throw new IllegalArgumentException(Global.getMsg("sunsoft.jws.visual.rt.awt.GBLayout.illegal__anchor__value.4"));
- }
- }
- }
-
- if (h < c.tinyHeight) {
- if (c.fill == GBConstraints.VERTICAL ||
- c.fill == GBConstraints.BOTH) {
- diffy = c.tinyHeight - h;
- insets.top -= diffy/2;
- insets.bottom -= diffy/2;
- if (insets.top < 0) {
- insets.bottom += insets.top;
- insets.top = 0;
- }
- if (insets.bottom < 0) {
- insets.top += insets.bottom;
- insets.bottom = 0;
- }
- } else {
- switch (c.anchor) {
- case GBConstraints.WEST:
- case GBConstraints.EAST:
- case GBConstraints.CENTER:
- diffy = c.tinyHeight - h;
- insets.top -= diffy/2;
- insets.bottom -= diffy/2;
- if (insets.top < 0) {
- insets.bottom += insets.top;
- insets.top = 0;
- }
- if (insets.bottom < 0) {
- insets.top += insets.bottom;
- insets.bottom = 0;
- }
- break;
-
- case GBConstraints.NORTHWEST:
- case GBConstraints.NORTHEAST:
- case GBConstraints.NORTH:
- diffy = c.tinyHeight - h;
- insets.bottom -= diffy;
- if (insets.bottom < 0) {
- insets.top += insets.bottom;
- insets.bottom = 0;
- }
- break;
-
- case GBConstraints.SOUTHWEST:
- case GBConstraints.SOUTHEAST:
- case GBConstraints.SOUTH:
- diffy = c.tinyHeight - h;
- insets.top -= diffy;
- if (insets.top < 0) {
- insets.bottom += insets.top;
- insets.top = 0;
- }
- break;
- default:
- /* JSTYLED */
- throw new IllegalArgumentException(Global.getMsg("sunsoft.jws.visual.rt.awt.GBLayout.illegal__anchor__value.4"));
- }
- }
- }
-
- r.x += insets.left + c.hardinsets.left;
- r.width -= (insets.left + insets.right +
- c.hardinsets.left + c.hardinsets.right);
- r.y += insets.top + c.hardinsets.top;
- r.height -= (insets.top + insets.bottom +
- c.hardinsets.top + c.hardinsets.bottom);
-
- diffx = 0;
- if ((c.fill != GBConstraints.HORIZONTAL &&
- c.fill != GBConstraints.BOTH)
- && (r.width > (c.minsize.width + c.ipadx + c.hardipadx))) {
- diffx = r.width - (c.minsize.width + c.ipadx +
- c.hardipadx);
- r.width = c.minsize.width + c.ipadx + c.hardipadx;
- }
-
- diffy = 0;
- if ((c.fill != GBConstraints.VERTICAL &&
- c.fill != GBConstraints.BOTH)
- && (r.height > (c.minsize.height + c.ipady + c.hardipady))) {
- diffy = r.height - (c.minsize.height + c.ipady +
- c.hardipady);
- r.height = c.minsize.height + c.ipady + c.hardipady;
- }
-
- switch (c.anchor) {
- case GBConstraints.CENTER:
- r.x += diffx/2;
- r.y += diffy/2;
- break;
- case GBConstraints.NORTH:
- r.x += diffx/2;
- break;
- case GBConstraints.NORTHEAST:
- r.x += diffx;
- break;
- case GBConstraints.EAST:
- r.x += diffx;
- r.y += diffy/2;
- break;
- case GBConstraints.SOUTHEAST:
- r.x += diffx;
- r.y += diffy;
- break;
- case GBConstraints.SOUTH:
- r.x += diffx/2;
- r.y += diffy;
- break;
- case GBConstraints.SOUTHWEST:
- r.y += diffy;
- break;
- case GBConstraints.WEST:
- r.y += diffy/2;
- break;
- case GBConstraints.NORTHWEST:
- break;
- default:
- /* JSTYLED */
- throw new IllegalArgumentException(Global.getMsg("sunsoft.jws.visual.rt.awt.GBLayout.illegal__anchor__value.5"));
- }
- }
-
- /**
- * Figure out the minimum size of the
- * parent based on the information retrieved from GetLayoutInfo.
- */
- protected Dimension GetMinSize(Container parent,
- GBLayoutInfo info) {
- Dimension d = new Dimension();
- int i, t;
- Insets insets = getInsets(parent);
-
- t = 0;
- for (i = 0; i < info.width; i++)
- t += info.minWidth[i];
- d.width = t + insets.left + insets.right;
-
- t = 0;
- for (i = 0; i < info.height; i++)
- t += info.minHeight[i];
- d.height = t + insets.top + insets.bottom;
-
- return d;
- }
-
- /**
- * Lays out the grid. Called directly from layoutContainer.
- */
- protected void ArrangeGrid(Container parent) {
- ArrangeGrid(parent, true);
- }
-
- /**
- * Lays out the grid, conditionally reshaping the children.
- * The doReshape flag indicates whether or not
- * the children should be reshaped.
- *
- * @see layoutContainerNoReshape
- */
- protected void ArrangeGrid(Container parent, boolean doReshape) {
- Component comp;
- int compindex;
- GBConstraints constraints;
- Insets insets = getInsets(parent);
- Component components[] = parent.getComponents();
- Dimension d;
- Rectangle r = new Rectangle();
- int i, diffw, diffh;
- double weight;
- GBLayoutInfo info, tinyinfo;
-
- /*
- * If the parent has no slaves anymore, then don't do anything
- * at all: just leave the parent's size as-is.
- */
- if (components.length == 0 &&
- (columnWidths == null || columnWidths.length == 0) &&
- (rowHeights == null || rowHeights.length == 0)) {
- return;
- }
-
- /*
- * Pass #1: scan all the slaves to figure out the total amount
- * of space needed.
- */
-
- info = GetLayoutInfo(parent, PREFERREDSIZE);
- d = GetMinSize(parent, info);
-
- Dimension parentSize = parent.getSize();
-
- if (d.width > parentSize.width || d.height >
- parentSize.height) {
- info = GetLayoutInfo(parent, MINSIZE);
- d = GetMinSize(parent, info);
- }
-
- tinyinfo = GetLayoutInfo(parent, TINYSIZE);
-
- layoutInfo = info;
- r.width = d.width;
- r.height = d.height;
-
- /* BEGIN JSTYLED */
- /*
- * DEBUG
- *
- * DumpLayoutInfo(info);
- * for (compindex = 0 ; compindex < components.length ; compindex++) {
- * comp = components[compindex];
- * if (!comp.isVisible())
- * continue;
- * constraints = lookupConstraints(comp);
- * DumpConstraints(constraints);
- * }
- * System.out.println("minSize " + r.width + " " + r.height);
- */
-
- /*
- * If the current dimensions of the window don't match the desired
- * dimensions, then adjust the minWidth and minHeight arrays
- * according to the weights.
- */
-
- /* END JSTYLED */
-
- diffw = parentSize.width - r.width;
- if (diffw != 0) {
- weight = 0.0;
- for (i = 0; i < info.width; i++)
- weight += info.weightX[i];
- if (weight > 0.0) {
- for (i = 0; i < info.width; i++) {
- int dx = (int)((((double)diffw) *
- info.weightX[i]) / weight);
- info.minWidth[i] += dx;
- r.width += dx;
- if (info.minWidth[i] < tinyinfo.minWidth[i]) {
- r.width += tinyinfo.minWidth[i] -
- info.minWidth[i];
- info.minWidth[i] = tinyinfo.minWidth[i];
- }
- }
- }
- diffw = parentSize.width - r.width;
- } else {
- diffw = 0;
- }
-
- diffh = parentSize.height - r.height;
- if (diffh != 0) {
- weight = 0.0;
- for (i = 0; i < info.height; i++)
- weight += info.weightY[i];
- if (weight > 0.0) {
- for (i = 0; i < info.height; i++) {
- int dy = (int)((((double)diffh) *
- info.weightY[i]) / weight);
- info.minHeight[i] += dy;
- r.height += dy;
- if (info.minHeight[i] < tinyinfo.minHeight[i]) {
- r.height += tinyinfo.minHeight[i] -
- info.minHeight[i];
- info.minHeight[i] = tinyinfo.minHeight[i];
- }
- }
- }
- diffh = parentSize.height - r.height;
- } else {
- diffh = 0;
- }
-
- /*
- * DEBUG
- *
- * System.out.println("Re-adjusted:");
- * DumpLayoutInfo(info);
- */
-
- /*
- * Now do the actual layout of the slaves
- * using the layout information
- * that has been collected.
- */
-
- int anchorx = anchor;
- int anchory = anchor;
-
- if (diffw < 0)
- anchorx = clipAnchor;
- if (diffh < 0)
- anchory = clipAnchor;
-
- switch (anchorx) {
- case GBConstraints.CENTER:
- case GBConstraints.NORTH:
- case GBConstraints.SOUTH:
- info.startx = diffw/2;
- break;
-
- case GBConstraints.WEST:
- case GBConstraints.NORTHWEST:
- case GBConstraints.SOUTHWEST:
- info.startx = 0;
- break;
-
- case GBConstraints.EAST:
- case GBConstraints.NORTHEAST:
- case GBConstraints.SOUTHEAST:
- info.startx = diffw;
- break;
-
- default:
- /* JSTYLED */
- throw new IllegalArgumentException(Global.getMsg("sunsoft.jws.visual.rt.awt.GBLayout.illegal__anchor__value.6"));
- }
-
- switch (anchory) {
- case GBConstraints.CENTER:
- case GBConstraints.WEST:
- case GBConstraints.EAST:
- info.starty = diffh/2;
- break;
-
- case GBConstraints.NORTH:
- case GBConstraints.NORTHWEST:
- case GBConstraints.NORTHEAST:
- info.starty = 0;
- break;
-
- case GBConstraints.SOUTH:
- case GBConstraints.SOUTHWEST:
- case GBConstraints.SOUTHEAST:
- info.starty = diffh;
- break;
-
- default:
- /* JSTYLED */
- throw new IllegalArgumentException(Global.getMsg("sunsoft.jws.visual.rt.awt.GBLayout.illegal__anchor__value.7"));
- }
-
- info.startx += insets.left;
- info.starty += insets.top;
-
- for (compindex = 0; compindex < components.length;
- compindex++) {
- comp = components[compindex];
- if (!comp.isVisible())
- continue;
- constraints = lookupConstraints(comp);
-
- r.x = info.startx;
- for (i = 0; i < constraints.tempX; i++)
- r.x += info.minWidth[i];
-
- r.y = info.starty;
- for (i = 0; i < constraints.tempY; i++)
- r.y += info.minHeight[i];
-
- r.width = 0;
- for (i = constraints.tempX;
- i < (constraints.tempX + constraints.tempWidth);
- i++) {
- r.width += info.minWidth[i];
- }
-
- r.height = 0;
- for (i = constraints.tempY;
- i < (constraints.tempY + constraints.tempHeight);
- i++) {
- r.height += info.minHeight[i];
- }
-
- AdjustForGravity(constraints, r);
-
- /*
- * If the window is too small to be interesting then
- * unmap it. Otherwise configure it and then make sure
- * it's mapped.
- */
-
- if ((r.width <= 0) || (r.height <= 0)) {
- if (doReshape)
- comp.reshape(-1, -1, 0, 0);
- constraints.location = new Point(-1, -1);
- constraints.size = new Dimension(0, 0);
- } else {
- Point loc = comp.getLocation();
- Dimension size = comp.getSize();
-
- if (loc.x != r.x || loc.y != r.y ||
- size.width != r.width || size.height != r.height) {
- if (doReshape)
- comp.reshape(r.x, r.y, r.width, r.height);
- constraints.location = new Point(r.x, r.y);
- constraints.size = new Dimension(r.width, r.height);
- }
- }
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBPanel.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBPanel.java
deleted file mode 100644
index ca1a899c51..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/GBPanel.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) GBPanel.java 1.35 - last change made 06/17/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import sunsoft.jws.visual.rt.base.*;
-import java.awt.*;
-
-public class GBPanel extends VJPanel {
-
- private static Class gbclass;
-
- private boolean runtime = true;
- private GBContainer cntr;
- private GBLayout mgr;
-
- public GBPanel() {
- setLayout(new GBLayout());
- }
-
- public boolean handleEvent(Event evt) {
- if (cntr != null)
- return cntr.handleEvent(evt);
- else
- return super.handleEvent(evt);
- }
-
- public void setRuntime(boolean rt) {
- if (runtime == rt)
- return;
-
- runtime = rt;
-
- if (runtime) {
- cntr.setGBPanel(null);
- cntr = null;
- } else {
- if (gbclass == null)
- gbclass = DesignerAccess.getGBPanelClass();
-
- try {
- cntr = (GBContainer)gbclass.newInstance();
- }
- catch (IllegalAccessException ex) {
- throw new Error(ex.toString());
- }
- catch (InstantiationException ex) {
- throw new Error(ex.toString());
- }
-
- cntr.setGBPanel(this);
- }
- }
-
- public GBContainer getGBContainer() {
- return cntr;
- }
-
- //
- // Special hack for flow layout so that it
- // can re-adjust its vertical
- // size based on the horizontal space available.
- // This method is needed
- // to make the flow layout take up more space
- // vertically when it runs
- // short on horizontal space.
- //
- public void layout() {
- boolean hasFlow = false;
- int count = countComponents();
- GBLayout gridbag = (GBLayout)getLayout();
- Component comp;
- LayoutManager mgr;
-
- for (int i = 0; i < count; i++) {
- comp = getComponent(i);
- if (comp instanceof Container) {
- mgr = ((Container)comp).getLayout();
- if (mgr instanceof VJFlowLayout) {
- hasFlow = true;
- ((VJFlowLayout)mgr).setMinimumWidth(0);
- }
- }
- }
-
- if (hasFlow) {
- gridbag.layoutContainerNoReshape(this);
-
- for (int i = 0; i < count; i++) {
- comp = getComponent(i);
- if (comp instanceof Container) {
- mgr = ((Container)comp).getLayout();
- if (mgr instanceof VJFlowLayout) {
- GBConstraints c = gridbag.getConstraints(comp);
- if (c.size != null)
- ((VJFlowLayout)mgr).setMinimumWidth(
- c.size.width);
- }
- }
- }
- }
-
- super.layout();
-
- if (hasFlow) {
- for (int i = 0; i < count; i++) {
- comp = getComponent(i);
- if (comp instanceof Container) {
- mgr = ((Container)comp).getLayout();
- if (mgr instanceof VJFlowLayout) {
- ((VJFlowLayout)mgr).setMinimumWidth(0);
- }
- }
- }
- }
-
- if (cntr != null)
- cntr.layout();
- }
-
- //
- // Forwarding of container methods
- //
-
- public void setLayout(LayoutManager mgr) {
- if (cntr != null)
- cntr.setLayout(mgr);
- else
- super.setLayout(mgr);
- updateLayout();
- }
-
- public void setLayoutSuper(LayoutManager mgr) {
- super.setLayout(mgr);
- updateLayout();
- }
-
- private void updateLayout() {
- LayoutManager m = getLayout();
- if (m instanceof GBLayout)
- mgr = (GBLayout)m;
- else
- mgr = null;
- }
-
- // #ifdef JDK1.1
- protected void addImpl(Component comp, Object constraints,
- int index) {
- super.addImpl(comp, constraints, index);
- doAdd(comp);
- }
- // #else
- // public Component add(Component comp, int pos) {
- // super.add(comp, pos);
- // doAdd(comp);
- // return comp;
- // }
- // #endif
-
-
- private void doAdd(Component comp) {
- if (cntr != null)
- cntr.add(comp);
- }
-
- public void remove(Component comp) {
- super.remove(comp);
- if (cntr != null)
- cntr.remove(comp);
- }
-
- public void removeAll() {
- super.removeAll();
- if (cntr != null)
- cntr.removeAll();
- }
-
- public void update(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
-
- if (cntr != null)
- cntr.update(g);
-
- super.update(g);
- }
-
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
-
- if (cntr != null)
- cntr.paint(g);
-
- super.paint(g);
- }
-
- public void reshape(int x, int y, int w, int h) {
- super.reshape(x, y, w, h);
- if (cntr != null)
- cntr.reshape(x, y, w, h);
- }
-
- //
- // Layout and Preview modes
- //
-
- public void layoutMode() {
- if (cntr != null)
- cntr.layoutMode();
- }
-
- public void previewMode() {
- if (cntr != null)
- cntr.previewMode();
- }
-
- //
- // Constraints
- //
-
- public void setConstraints(Component comp, GBConstraints c) {
- if (c == null)
- /* JSTYLED */
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.awt.GBPanel.null__constraints"));
-
- if (cntr != null)
- cntr.setConstraints(comp, c);
- else if (mgr != null)
- mgr.setConstraints(comp, c);
- }
-
- public GBConstraints getConstraints(Component comp) {
- if (cntr != null)
- return cntr.getConstraints(comp);
- else if (mgr != null)
- return mgr.getConstraints(comp);
- else
- return null;
- }
-
- //
- // GBLayout attributes
- //
-
- public void setColumnWeights(double w[]) {
- if (cntr != null)
- cntr.setColumnWeights(w);
- else if (mgr != null)
- mgr.columnWeights = w;
- }
-
- public void setRowWeights(double w[]) {
- if (cntr != null)
- cntr.setRowWeights(w);
- else if (mgr != null)
- mgr.rowWeights = w;
- }
-
- public double [] getColumnWeights() {
- if (cntr != null)
- return cntr.getColumnWeights();
- else if (mgr != null)
- return mgr.columnWeights;
- else
- return null;
- }
-
- public double [] getRowWeights() {
- if (cntr != null)
- return cntr.getRowWeights();
- else if (mgr != null)
- return mgr.rowWeights;
- else
- return null;
- }
-
- public void setColumnWidths(int w[]) {
- if (cntr != null)
- cntr.setColumnWidths(w);
- else if (mgr != null)
- mgr.columnWidths = w;
- }
-
- public void setRowHeights(int h[]) {
- if (cntr != null)
- cntr.setRowHeights(h);
- else if (mgr != null)
- mgr.rowHeights = h;
- }
-
- public int[] getColumnWidths() {
- if (cntr != null)
- return cntr.getColumnWidths();
- else if (mgr != null)
- return mgr.columnWidths;
- else
- return null;
- }
-
- public int[] getRowHeights() {
- if (cntr != null)
- return cntr.getRowHeights();
- else if (mgr != null)
- return mgr.rowHeights;
- else
- return null;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ImageButton.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ImageButton.java
deleted file mode 100644
index c0587b2aed..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ImageButton.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ImageButton.java 1.16 - last change made 07/23/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.DesignerAccess;
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-
-/**
- * An image button (a 3D rect around an image.) It greys itself out
- * when disabled and inverts the 3D rect and
- * moves its image when depressed.
- *
- * @(#) @(#) ImageButton.java 1.16 - last change made 07/23/97
- */
-public class ImageButton extends ImageLabel {
- private int lineWidth = 2; // thickness of 3D line around button
- private int pressMovement = 1; // distance image moves
- // when button pressed
- protected boolean depressed;
-
- public ImageButton(Image img) {
- this(img, 20, 20);
- }
-
- public ImageButton(Image img, int w, int h) {
- super(img, w, h);
- depressed = false;
- padWidth = lineWidth + 2;
- }
-
- public void setPadWidth(int w) {
- super.setPadWidth(w + lineWidth);
- }
-
- public int getPadWidth() {
- return (super.getPadWidth() - lineWidth);
- }
-
- public void setLineWidth(int w) {
- int oldPadWidth = getPadWidth();
- lineWidth = w;
- setPadWidth(oldPadWidth);
- }
-
- public int getLineWidth() {
- return (lineWidth);
- }
-
- public void setPressMovement(int p) {
- if (p != pressMovement) {
- pressMovement = p;
- if (depressed) {
- Graphics g = getGraphics();
- if (g != null) {
- Dimension d = size();
- g.setColor(getBackground());
- g.fillRect(0, 0, d.width, d.height);
- repaint();
- }
- }
- }
- }
-
- public int getPressMovement() {
- return (pressMovement);
- }
-
- /**
- * Paint the image button with a 3D border
- */
- public void paint(Graphics g) {
- Color bg = getBackground();
-
- if (imgWidth >= 0 && imgHeight >= 0) {
- synchronized (DesignerAccess.mutex) {
- Dimension d = size();
- Image img = isEnabled() ? upImg : disImg;
- int x = (d.width - imgWidth) / 2;
- int y = (d.height - imgHeight) / 2;
- int offset = (depressed ? pressMovement : 0);
-
- if (pressMovement != 0) {
- // clear the area needed to accomodate press movement
- g.setColor(bg);
- int m = (pressMovement < 0 ? -1 : 1);
- for (int i = 0; i < pressMovement * m; i++)
- g.drawRect(x + i * m + (m < 0 ? -1 : 0),
- y + i * m + (m < 0 ? -1 : 0),
- imgWidth, imgHeight);
- }
-
- // draw the image and the 3D border
- if (upImg != null) {
- // Bug workaround: If a SystemColor
- // is used as the background color
- // then Win32 JDK code loses the reference
- // and the bg of a
- // transparent gif will be black.
- if (bg instanceof SystemColor)
- bg = new Color(bg.getRGB());
- g.drawImage(img, x + offset, y + offset, bg, this);
- }
- g.setColor(bg);
- for (int i = 0; i < lineWidth; i++) {
- g.draw3DRect(i, i,
- d.width - i*2 - 1,
- d.height - i*2 - 1,
- !depressed);
- }
- }
- }
- }
-
- public boolean mouseDown(Event e, int x, int y) {
- depressed = true;
- repaint();
- return true;
- }
-
- public boolean mouseDrag(Event e, int x, int y) {
- if (depressed != inside(x, y)) {
- depressed = !depressed;
- repaint();
- }
- return true;
- }
-
- public boolean mouseUp(Event evt, int x, int y) {
- if (depressed) {
- action();
- depressed = false;
- repaint();
- }
- return true;
- }
-
- public void action() {
- postEvent(new Event(this, Event.ACTION_EVENT, null));
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ImageLabel.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ImageLabel.java
deleted file mode 100644
index e8c3a3076f..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ImageLabel.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ImageLabel.java 1.30 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.base.DesignerAccess;
-import java.awt.*;
-import java.awt.image.RGBImageFilter;
-import java.awt.image.FilteredImageSource;
-
-/**
- * An image label. It greys itself out when disabled.
- *
- * @(#) @(#) ImageLabel.java 1.30 - last change made 07/25/97
- */
-public class ImageLabel extends Canvas {
- /**
- * The original image set in the constructor or in setImage().
- */
- protected Image origImg;
-
- /**
- * The massaged image (after the win95 work-around.)
- */
- protected Image upImg;
-
- /* BEGIN JSTYLED */
- /**
- * The image to use when the component is disabled.
- * This is the upImg
- * stippled with the background color.
- */
- /* END JSTYLED */
- protected Image disImg;
-
- protected int padWidth = 0;
- protected int defaultWidth;
- protected int defaultHeight;
- protected int imgWidth = -1;
- protected int imgHeight = -1;
-
- public ImageLabel(Image img) {
- this(img, 20, 20);
- }
-
- public ImageLabel(Image img, int w, int h) {
- origImg = img;
- upImg = null;
- disImg = null;
- defaultWidth = w;
- defaultHeight = h;
- }
-
- public void setPadWidth(int w) {
- padWidth = w;
- repaint();
- }
-
- public int getPadWidth() {
- return (padWidth);
- }
-
- public void setDefaultWidth(int w) {
- if (w <= 0)
- return;
- defaultWidth = w;
- }
-
- public int getDefaultWidth() {
- return defaultWidth;
- }
-
- public void setDefaultHeight(int h) {
- if (h <= 0)
- return;
- defaultHeight = h;
- }
-
- public int getDefaultHeight() {
- return defaultHeight;
- }
-
- private void setUpImages() {
- if (origImg != null && upImg == null) {
- disImg = null;
- imgWidth = -1;
- imgHeight = -1;
-
- if (getBackground() != null) {
- upImg = origImg;
-
- // WORK-AROUND: create an image filter
- // for transparent gifs on Win95
- if (Global.isWindows95() && Global.javaVersion() ==
- 1.0) {
- RGBImageFilter wfilter = new TransWorkAroundFilter(
- getBackground());
- upImg = createImage(new FilteredImageSource(
- upImg.getSource(),
- wfilter));
- }
-
- // start the loading of the main image
- prepareImage(upImg, this);
-
- // width and height might be immediately
- // available if already loaded
- imgWidth = upImg.getWidth(this);
- imgHeight = upImg.getHeight(this);
- }
- } else {
- imgWidth = defaultWidth;
- imgHeight = defaultHeight;
- }
-
- if (origImg != null && disImg == null &&
- getBackground() != null) {
- // create a checkerboard image for disabled
- // version of the button
- RGBImageFilter filter = new CheckerboardFilter(
- getBackground());
- disImg = createImage(new FilteredImageSource(
- origImg.getSource(), filter));
- }
- }
-
- public void setImage(Image img) {
- origImg = img;
- upImg = null;
- disImg = null;
- setUpImages();
- repaint();
- }
-
- public Image getImage() {
- return (origImg);
- }
-
- public Dimension minimumSize() {
- if (upImg != null) {
- if (imgWidth == -1 || imgHeight == -1) {
- imgWidth = upImg.getWidth(this);
- imgHeight = upImg.getHeight(this);
- }
-
- if (imgWidth == -1 || imgHeight == -1)
- return (new Dimension(defaultWidth + padWidth * 2,
- defaultHeight + padWidth * 2));
- else
- return (new Dimension(imgWidth + padWidth * 2,
- imgHeight + padWidth * 2));
- } else {
- // return(new Dimension(0, 0));
- return (new Dimension(20, 20));
- }
- }
-
- public Dimension preferredSize() {
- return minimumSize();
- }
-
- /**
- * Overrides Component setBackground in order to redo the images,
- * because of the transparent gif workaround and also because the
- * disabled image relies on the background color.
- */
- public void setBackground(Color bg) {
- super.setBackground(bg);
- if (upImg != null) {
- // this isn't just a work-around for Win95,
- // but on ALL platforms
- // the disabled image must be redone when
- // the background color changes
- upImg = null;
- disImg = null;
- setUpImages();
- }
- }
- /* BEGIN JSTYLED */
- /* Invalidate all of a component's containers and then validate the
- * Window at the top. Call this when the size of a component
- * changes and you wish to make the window that contains it resize
- * to accomodate the new size.
- */
- /* END JSTYLED */
- protected void updateWindow(Component c) {
- while (c != null) {
- c.invalidate();
- if (c instanceof Window) {
- c.validate();
- break;
- }
- c = c.getParent();
- }
- }
-
- /**
- * Figures out if this component needs to be resized.
- */
- protected void updateSize(int w, int h) {
- if (w >= 0 && h >= 0) {
- Dimension d = size();
- if (d.width != w + padWidth * 2 || d.height != h +
- padWidth * 2) {
- resize(w + padWidth * 2, h + padWidth * 2);
- updateWindow(this);
- }
- }
- }
-
- /**
- * By overriding update we insure that this component won't be
- * completely cleared with the background color each time it's
- * updated (while loading.) We'd like less flickering than that.
- */
- public void update(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- synchronized (DesignerAccess.mutex) {
- g.setColor(getBackground());
- Dimension d = size();
- if (upImg != null && (imgWidth >= 0 && imgHeight >= 0)) {
- // clear only the areas around the image (to
- // avoid having the image
- // flicker as it is loaded scanline-by-scanline)
- int x = (d.width - imgWidth) / 2;
- int y = (d.height - imgHeight) / 2;
- if (x > 0)
- g.fillRect(0, 0, x, d.height);
- if (y > 0)
- g.fillRect(0, 0, d.width, y);
- if (d.width > imgWidth)
- g.fillRect(x + imgWidth, 0, d.width - (x
- + imgWidth), d.height);
- if (d.height > imgHeight)
- g.fillRect(0, y + imgHeight, d.width,
- d.height - (y + imgHeight));
- } else {
- // there is no image, so clear the whole area
- g.fillRect(0, 0, d.width, d.height);
- }
- g.setColor(getForeground());
- }
- paint(g);
- }
-
- /* BEGIN JSTYLED */
- /**
- * Draw the image in the center of the available area.
- * No background
- * clearing is done here (that job belongs to update().)
- */
- /* END JSTYLED */
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- synchronized (DesignerAccess.mutex) {
- Dimension d = size();
- if (upImg != null && (imgWidth >= 0 && imgHeight >= 0)) {
- Image img = isEnabled() ? upImg : disImg;
- int x = (d.width - imgWidth) / 2;
- int y = (d.height - imgHeight) / 2;
- g.drawImage(img, x, y, getBackground(), this);
- } else {
- g.setColor(getForeground());
- g.drawRect(0, 0, d.width-1, d.height-1);
- }
- }
- }
-
- public boolean imageUpdate(Image img, int flags,
- int x, int y, int w, int h) {
-
- if (img == upImg && (flags & ERROR) == 0) {
- boolean updateSize = false;
-
- if ((flags & WIDTH) != 0) {
- imgWidth = w;
- updateSize = true;
- }
- if ((flags & HEIGHT) != 0) {
- imgHeight = h;
- updateSize = true;
- }
-
- if (updateSize && imgWidth >= 0 && imgHeight >= 0) {
- // As soon as the size is known this
- // component needs to resize itself.
- updateSize(imgWidth, imgHeight);
-
- // This repaint is needed for images
- // that are already loaded, and
- // are being loaded a second time.
- // In this situation, the
- // update for the width and height comes
- // in after all the other
- // updates. The call to super.imageUpdate
- // does not do a repaint
- // when the size changes, so we need to do one here.
- repaint();
- }
- }
-
- return super.imageUpdate(img, flags, x, y, w, h);
- }
-
- public void enable() {
- if (!isEnabled()) {
- super.enable();
- repaint();
- }
- }
-
- public void disable() {
- if (isEnabled()) {
- super.disable();
- repaint();
- }
- }
-
- public void addNotify() {
- super.addNotify();
- setUpImages();
- }
-}
-
-
-/**
- * A Work-around filter.
- *
- * Transparent gifs don't display properly on Windows 95.
- * The work-around
- * is to replace transparent pixels with the background color of the
- * component they're being displayed in before drawing them.
- */
-class TransWorkAroundFilter extends RGBImageFilter {
- private Color bg;
-
- TransWorkAroundFilter(Color bg) {
- if (bg != null) {
- this.bg = bg;
- canFilterIndexColorModel = false;
- } else {
- throw new Error(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.awt.ImageLabel.nullColor", "TransWorkAroundFilter"));
- }
- }
-
- public int filterRGB(int x, int y, int rgb) {
- if ((rgb & 0xff000000) == 0)
- return (bg.getRGB());
- else
- return (rgb);
- }
-}
-
-
-/**
- * Checkerboard color filter.
- *
- * Use for creating a greyed-out version of another image. Supply the
- * color for the checkerboard spaces. Every other pixel will still be
- * in the original color of the image.
- */
-class CheckerboardFilter extends RGBImageFilter {
- private Color checked;
-
- CheckerboardFilter(Color checked) {
- if (checked != null) {
- this.checked = checked;
- canFilterIndexColorModel = false;
- } else {
- throw new Error(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.awt.ImageLabel.nullColor", "CheckerboardFilter"));
- }
- }
-
- public int filterRGB(int x, int y, int rgb) {
- if (y % 2 == x % 2)
- return (rgb);
- else
- return (checked.getRGB());
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/KeyField.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/KeyField.java
deleted file mode 100644
index da45cf0026..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/KeyField.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) KeyField.java 1.6 - last change made 05/02/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-
-public class KeyField extends Canvas {
- // commented out -kp use Event constants...
- // public static final int ESC = 27;
- // public static final int DELETE = 127;
-
-
-
-
- private static int ipadx = 20;
- private static int ipady = 14;
-
- private int key;
- private FontMetrics fontMetrics;
- private boolean hasFocus;
-
- public void addNotify() {
- super.addNotify();
- fontMetrics = getFontMetrics(getFont());
- }
-
- public void removeNotify() {
- super.removeNotify();
- fontMetrics = null;
- }
-
- public Dimension minimumSize() {
- Dimension d = new Dimension(0, 0);
-
- if (fontMetrics != null) {
- d.width = fontMetrics.stringWidth(/* NOI18N */
- "Carriage Return") + ipadx;
- d.height = fontMetrics.getMaxAscent() + ipady;
- }
-
- return d;
- }
-
- public Dimension preferredSize() {
- return minimumSize();
- }
-
- public void setKey(int key) {
- this.key = key;
- repaint();
- }
-
- public int getKey() {
- return key;
- }
-
- private String getKeyString() {
- String str;
-
- switch (key) {
- case 0:
- str = /* NOI18N */"null";
- break;
- case /* NOI18N */ '\n':
- str = /* NOI18N */"Line Feed";
- break;
- case /* NOI18N */ '\t':
- str = /* NOI18N */"Tab";
- break;
- case /* NOI18N */ '\f':
- str = /* NOI18N */"Form Feed";
- break;
- case /* NOI18N */ '\r':
- str = /* NOI18N */"Carriage Return";
- break;
- // case /* NOI18N */ '\b':
- case Event.BACK_SPACE:
- str = /* NOI18N */"Back Space";
- break;
- case /* NOI18N */ ' ':
- str = /* NOI18N */"Space";
- break;
-
- // case ESC:
- case Event.ESCAPE:
- str = /* NOI18N */"Esc";
- break;
- // case DELETE:
- case Event.DELETE:
- str = /* NOI18N */"Delete";
- break;
- /* added -kp */
- case Event.INSERT:
- str = /* NOI18N */"Insert";
- break;
- case Event.CAPS_LOCK:
- str = /* NOI18N */"Caps Lock";
- break;
- case Event.NUM_LOCK:
- str = /* NOI18N */"Num Lock";
- break;
- case Event.PAUSE:
- str = /* NOI18N */"Pause";
- break;
- case Event.PRINT_SCREEN:
- str = /* NOI18N */"Print Screen";
- break;
- case Event.SCROLL_LOCK:
- str = /* NOI18N */"Scroll Lock";
- break;
- /* end added -kp */
- case Event.HOME:
- str = /* NOI18N */"Home";
- break;
- case Event.END:
- str = /* NOI18N */"End";
- break;
- case Event.PGUP:
- str = /* NOI18N */"Page Up";
- break;
- case Event.PGDN:
- str = /* NOI18N */"Page Down";
- break;
- case Event.UP:
- str = /* NOI18N */"Up";
- break;
- case Event.DOWN:
- str = /* NOI18N */"Down";
- break;
- case Event.LEFT:
- str = /* NOI18N */"Left";
- break;
- case Event.RIGHT:
- str = /* NOI18N */"Right";
- break;
- case Event.F1:
- str = /* NOI18N */"F1";
- break;
- case Event.F2:
- str = /* NOI18N */"F2";
- break;
- case Event.F3:
- str = /* NOI18N */"F3";
- break;
- case Event.F4:
- str = /* NOI18N */"F4";
- break;
- case Event.F5:
- str = /* NOI18N */"F5";
- break;
- case Event.F6:
- str = /* NOI18N */"F6";
- break;
- case Event.F7:
- str = /* NOI18N */"F7";
- break;
- case Event.F8:
- str = /* NOI18N */"F8";
- break;
- case Event.F9:
- str = /* NOI18N */"F9";
- break;
- case Event.F10:
- str = /* NOI18N */"F10";
- break;
- case Event.F11:
- str = /* NOI18N */"F11";
- break;
- case Event.F12:
- str = /* NOI18N */"F12";
- break;
-
- default:
- if (key >= 32)
- str = String.valueOf((char)key);
- else
- str = /* NOI18N */"^" + String.valueOf((char)
- (key+ /* NOI18N */ 'A'-1));
-
- break;
- }
-
- return str;
- }
-
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- Dimension size = size();
-
- String str = getKeyString();
- int x = (size.width - fontMetrics.stringWidth(str)) / 2;
- int y = (size.height + fontMetrics.getMaxAscent()) / 2 - 1;
- if (isEnabled())
- g.setColor(getForeground());
- else
- g.setColor(getBackground().darker());
- g.setFont(getFont());
- g.drawString(str, x, y);
-
- g.setColor(getBackground());
- g.draw3DRect(1, 1, size.width-3, size.height-3, false);
- g.draw3DRect(2, 2, size.width-5, size.height-5, false);
-
- if (hasFocus) {
- g.setColor(getForeground());
- g.drawRect(0, 0, size.width-1, size.height-1);
- }
- }
-
- public boolean handleEvent(Event e) {
-
- if (e.id == Event.GOT_FOCUS) {
- if (!hasFocus) {
- hasFocus = true;
- repaint();
- }
- } else if (e.id == Event.LOST_FOCUS) {
- if (hasFocus) {
- hasFocus = false;
- repaint();
- }
- } else {
- return super.handleEvent(e);
- }
-
- return false;
- }
-
- public boolean mouseDown(Event e, int x, int y) {
- if (!hasFocus)
- requestFocus();
- return false;
- }
-
- public boolean keyDown(Event e, int key) {
- setKey(key);
- return false;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/LabelBar.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/LabelBar.java
deleted file mode 100644
index 8bab18b75d..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/LabelBar.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) LabelBar.java 1.25 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.*;
-import sunsoft.jws.visual.rt.base.DesignerAccess;
-import sunsoft.jws.visual.rt.base.Global;
-
- /* BEGIN JSTYLED */
- /**
- * Displays a 3D bar with text within it. Useful as a divider between
- * different parts of a panel. Uses the java.awt.Label contants for
- * its alignment settings (LEFT, CENTER, RIGHT.) <P>
- *
- * When the alignment is set to LEFT, the label
- * looks something like this:
- *
- * <pre>
- * ----label---------------------------
- * </pre>
- *
- * Set the edge offset attribute to control how far from the edge the
- * text in the label rests. When the alignment is CENTER, the offset
- * is the distance on both sides on the label. You may set
- * the label text to null to get a label bar that acts merely as a
- * separator.
- *
- * @version 1.25, 07/25/97
- */
- /* END JSTYLED */
-public class LabelBar extends Canvas {
- /**
- * The left alignment.
- */
- public static final int LEFT = Label.LEFT;
-
- /**
- * The center alignment.
- */
- public static final int CENTER = Label.CENTER;
-
- /**
- * The right alignment.
- */
- public static final int RIGHT = Label.RIGHT;
-
- /**
- * The number of pixels (both sides) between bar and label.
- */
- private static final int barAndLabelPad = 2;
-
- /**
- * The number of pixels (both sides) between bar edge
- */
- private static final int barAndEdgePad = 1;
-
- /**
- * The number of pixels in the bar's thickness.
- */
- private static final int barThickness = 2;
-
- private int alignment = Label.LEFT;
- private int labelOffsetFromEdge = 10;
- private String label;
-
- public LabelBar() {
- this.label = null;
- }
-
- public LabelBar(String label) {
- this.label = label;
- }
-
- public void setLabel(String label) {
- this.label = label;
- repaint();
- }
-
- public String getLabel() {
- return (label);
- }
-
- public void setLabelOffsetFromEdge(int offset) {
- if (offset != labelOffsetFromEdge) {
- labelOffsetFromEdge = offset;
- repaint();
- }
- }
-
- public int getLabelOffsetFromEdge() {
- return (labelOffsetFromEdge);
- }
-
- public void setAlignment(int alignment) {
- switch (alignment) {
- case LEFT:
- case CENTER:
- case RIGHT:
- this.alignment = alignment;
- repaint();
- break;
- default:
- throw new IllegalArgumentException(
- /* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.awt.ImageLabel.ImproperAlignment"));
- }
- }
-
- public int getAlignment() {
- return (alignment);
- }
-
- public Dimension preferredSize() {
- return (minimumSize());
- }
-
- public Dimension minimumSize() {
- Font font = getFont();
- if (label != null && label.length() > 0 && font != null) {
- FontMetrics fm = getFontMetrics(font);
- return (new Dimension(fm.stringWidth(label) +
- labelOffsetFromEdge * 2,
- fm.getHeight()));
- } else {
- return (new Dimension(labelOffsetFromEdge * 2, 6));
- }
- }
-
- /**
- * Sets the foreground color (the label bar text.) This overrides
- * the setForeground call in Component in order to get an immediate
- * repaint when the foreground color setting is changed.
- */
- public void setForeground(Color c) {
- super.setForeground(c);
- repaint();
- }
-
- /**
- * Disables this component. This overrides the same call in
- * Component in order to get an immediate repaint when it is
- * called.
- */
- public void disable() {
- super.disable();
- repaint();
- }
-
- /**
- * Enables this component. This overrides the same call in
- * Component in order to get an immediate repaint when it is
- * called.
- */
- public void enable() {
- super.enable();
- repaint();
- }
-
- /**
- * Stipples the given area in a checkerboard fashion using the given
- * color. It could be called, for example, after regular painting
- * is complete whenever this component is disabled by using the
- * background color as the stipple color.
- */
- private void checkerStipple(Graphics g, Color c,
- int x1, int y1, int w, int h) {
- Color oldColor = g.getColor();
- g.setColor(c);
- for (int y = y1; y < y1 + h; y++)
- for (int x = x1; x < x1 + w; x++)
- if (y % 2 == x % 2)
- g.drawLine(x, y, x, y);
- g.setColor(oldColor);
- }
-
- /**
- * Paints LabelBar contents.
- */
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- synchronized (DesignerAccess.mutex) {
-
- super.paint(g);
- int midy = size().height / 2 - 1;
- if (label != null && label.length() > 0) {
- // set up and draw the label location
- // according to the alignment
- Font font = getFont();
- FontMetrics fm = getFontMetrics(font);
- int labelWidth = fm.stringWidth(label);
- int labelBegin;
- switch (alignment) {
- case LEFT:
- labelBegin = labelOffsetFromEdge;
- break;
- case CENTER:
- labelBegin = (size().width - labelWidth) / 2;
- break;
- case RIGHT:
- labelBegin = size().width - (labelOffsetFromEdge +
- labelWidth);
- break;
- default:
- throw new IllegalArgumentException(
- /* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.awt.ImageLabel.ImproperAlignment"));
- }
- g.setColor(getForeground());
- g.setFont(getFont());
- g.drawString(label, labelBegin,
- size().height - (((size().height - fm.getHeight()) / 2)
- + fm.getMaxDescent() + 1));
-
- // set up and draw the bars according
- // to the location of the label
- int leftBarBegin = barAndEdgePad;
- int leftBarWidth = labelBegin - (barAndLabelPad +
- leftBarBegin);
- int rightBarBegin = labelBegin + (labelWidth +
- barAndLabelPad);
- int rightBarWidth = size().width - (rightBarBegin +
- barAndEdgePad);
- g.setColor(getBackground());
- if (leftBarWidth > 0)
- g.fill3DRect(leftBarBegin, midy, leftBarWidth,
- barThickness, false);
- if (rightBarWidth > 0)
- g.fill3DRect(rightBarBegin, midy, rightBarWidth,
- barThickness, false);
- } else {
- // no label, just draw a single bar
- int barBegin = barAndEdgePad;
- int barWidth = size().width - (barAndEdgePad * 2);
- g.setColor(getBackground());
- g.fill3DRect(barBegin, midy, barWidth, barThickness,
- false);
- }
-
- // if disabled, stipple everything just
- // painted with the background color
- if (!isEnabled())
- checkerStipple(g, getBackground(), 0, 0, size().width,
- size().height);
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/Makefile b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/Makefile
deleted file mode 100644
index 2ff2e30647..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/Makefile.master
-include $(SRC)/cmd/Makefile.cmd
-include ../Makefile.com
-
-CLASSES= CLCheckbox CLChoice CLComponent CLIconLabel \
- CardPanel CheckboxList CheckboxPanel \
- ColumnList ColumnListCanvas ColumnListThread \
- EditLine GBConstraints GBContainer GBLayout \
- GBPanel ImageButton ImageLabel KeyField \
- LabelBar MultiLineLabel RWHelper RootDialog \
- RootFrame RootWindow ScrollPanel Scrollable \
- ScrollableArea StatusBar StringVector \
- TabbedFolder TextList TextView VJButton \
- VJCanvas VJErrorDialog VJFlowLayout VJPanel \
- VJScrollbar WinScrollbar
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d $(VRT) -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
-
-install: all
-
-clean clobber:
- $(RM) *.class
- $(RM) -r ./javadoc
-
-javadoc:
- mkdir -p ./javadoc
- $(JAVADOC) -d ./javadoc -classpath $(CLASSPATH) *.java
-
-_msg: $(JFILES)
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/MultiLineLabel.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/MultiLineLabel.java
deleted file mode 100644
index 3744d8e489..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/MultiLineLabel.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/* BEGIN JSTYLED */
- /**
- * MultiLineLabel.java
- *
- * This example is from the book _Java in a
- * Nutshell_ by David Flanagan.
- * Written by David Flanagan.
- * Copyright (c) 1996 O'Reilly & Associates.
- * You may study, use, modify, and distribute
- * this example for any purpose.
- * This example is provided WITHOUT WARRANTY either
- * expressed or implied.
- *
- * Tilman 05/07/96: added a maxChars parameter to
- * specify a maximum line
- * length. If any of the lines is longer, it will be cut
- * at the last space character before maxChars, until it fits
- * into maxChars. Set maxChars to -1 if you don't care.
- *
- * Van 07/30/96: added the removal of backslash-r
- * from the multi-line string
- * that might have been added by strings in Windows (which
- * expect newlines to be indicated by backslash-r backslash-n)
- *
- * Van 10/18/96: changed the way lines are tokenized so that multiple
- * consequetive newline characters create a blank line(s).
- *
- * Van 10/21/96: added interfaces to the maxChars variable
- *
- * @version @(#)MultiLineLabel.java 1.15 97/07/25
- */
-/* END JSTYLED */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-import java.util.*;
-
-public class MultiLineLabel extends Canvas {
- public static final int LEFT = Label.LEFT; // Alignment constants
- public static final int CENTER = Label.CENTER;
- public static final int RIGHT = Label.RIGHT;
-
- protected String label;
- protected Vector lines; // The lines of text to display
- protected int num_lines; // The number of lines
- protected int maxChars; // maximum width of lines
- protected int margin_width; // Left and right margins
- protected int margin_height; // Top and bottom margins
- protected int line_height; // Total height of the font
- protected int line_ascent; // Font height above baseline
- protected int[] line_widths; // How wide each line is
- protected int max_width; // The width of the widest line
- protected int alignment = LEFT; // The alignment of the text.
-
- /**
- * This method breaks a specified label up into an array of lines.
- * It uses the StringTokenizer utility class.
- */
- protected void newLabel(String label) {
- if (label == null)
- label = /* NOI18N */"";
- this.label = label;
-
- lines = new Vector();
- int len = label.length();
- int startFrom = 0;
- while (startFrom != -1 && startFrom < len) {
- // determine next line
- String line;
- int index = label.indexOf(/* NOI18N */"\n", startFrom);
- if (index == -1) {
- line = label.substring(startFrom);
- startFrom = -1;
- } else {
- line = label.substring(startFrom, index);
- startFrom = index + 1;
- }
-
- // wrap the words in the line
- if ((maxChars == -1) || (line.length() <= maxChars))
- lines.addElement(line);
- else {
- while (line.length() > maxChars) {
- int offset = line.lastIndexOf(/* NOI18N */ ' ',
- maxChars);
- if (offset == -1) {
- // didn't get one within maxChars!
- offset = line.indexOf(/* NOI18N */ ' ');
- if (offset == -1)
- break;
- }
- lines.addElement(line.substring(0, offset));
- line = line.substring(offset + 1);
- }
- lines.addElement(line);
- }
- }
- num_lines = lines.size();
- line_widths = new int[num_lines];
- }
-
- /**
- * This method figures out how the font is, and how wide each
- * line of the label is, and how wide the widest line is.
- */
- protected void measure() {
- /* JSTYLED */
- if (this.getFont() == null) return;
- FontMetrics fm = this.getFontMetrics(this.getFont());
- // If we don't have font metrics yet, just return.
- /* JSTYLED */
- if (fm == null) return;
-
- line_height = fm.getHeight();
- line_ascent = fm.getAscent();
- max_width = 0;
- for (int i = 0; i < num_lines; i++) {
- line_widths[i] = fm.stringWidth(
- (String) lines.elementAt(i));
- if (line_widths[i] > max_width) max_width = line_widths[i];
- }
- Dimension d = preferredSize();
- setSize(d);
- }
-
- // Here are four versions of the constructor.
-
- /**
- * Break the label up into separate lines, and save the other info.
- */
- public MultiLineLabel(String label, int maxChars,
- int margin_width, int margin_height,
- int alignment) {
- this.maxChars = maxChars;
- newLabel(label);
- this.margin_width = margin_width;
- this.margin_height = margin_height;
- this.alignment = alignment;
- }
- public MultiLineLabel(String label, int maxChars,
- int margin_width, int margin_height) {
- this(label, maxChars, margin_width, margin_height, LEFT);
- }
- public MultiLineLabel(String label, int maxChars,
- int alignment) {
- this(label, maxChars, 10, 10, alignment);
- }
- public MultiLineLabel(String label, int maxChars) {
- this(label, maxChars, 10, 10, LEFT);
- }
-
- public MultiLineLabel(String label) {
- this(label, -1, 10, 10, LEFT);
- }
-
- public MultiLineLabel() {
- this(/* NOI18N */"MultiLineLabel");
- }
-
- // Methods to set the various attributes of the component
- public void setLabel(String label) {
- newLabel(label);
- measure();
- repaint();
- }
-
- public String getLabel() {
- return label;
- }
-
- public void setMaxColumns(int w) {
- if (w < 0)
- w = -1;
- maxChars = w;
- newLabel(label);
- measure();
- repaint();
- }
-
- public int getMaxColumns() {
- return (maxChars);
- }
-
- public void setFont(Font f) {
- super.setFont(f);
- measure();
- repaint();
- }
-
- public void setForeground(Color c) {
- super.setForeground(c);
- repaint();
- }
-
- public void setAlignment(int a) { alignment = a; repaint(); }
- public void setMarginWidth(int mw) { margin_width = mw; repaint(); }
- public void setMarginHeight(int mh) { margin_height = mh;
- repaint(); }
- public int getAlignment() { return alignment; }
- public int getMarginWidth() { return margin_width; }
- public int getMarginHeight() { return margin_height; }
-
- /**
- * This method is invoked after our Canvas is first created
- * but before it can actually be displayed. After we've
- * invoked our superclass's addNotify() method, we have font
- * metrics and can successfully call measure() to figure out
- * how big the label is.
- */
- public void addNotify() { super.addNotify(); measure(); }
-
- /**
- * This method is called by a layout manager when it wants to
- * know how big we'd like to be.
- */
- public Dimension preferredSize() {
- return new Dimension(max_width + 2*margin_width,
- num_lines * line_height + 2*margin_height);
- }
-
- /**
- * This method is called when the layout manager wants to know
- * the bare minimum amount of space we need to get by.
- */
- public Dimension minimumSize() {
- return new Dimension(max_width, num_lines * line_height);
- }
-
- /**
- * This method draws the label (applets use the same method).
- * Note that it handles the margins and the alignment, but that
- * it doesn't have to worry about the color or font--the superclass
- * takes care of setting those in the Graphics object we're passed.
- */
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- int x, y;
- Dimension d = this.size();
-
- int mw = Math.max((d.width - max_width)/2, 0);
- g.setColor(getForeground());
-
- y = line_ascent + (d.height - num_lines * line_height)/2;
- for (int i = 0; i < num_lines; i++, y += line_height) {
- switch (alignment) {
- case LEFT:
- x = mw;
- break;
- case CENTER:
- default:
- x = (d.width - line_widths[i])/2;
- break;
- case RIGHT:
- x = d.width - mw - line_widths[i];
- break;
- }
- g.drawString(((String) lines.elementAt(i)).trim(), x, y);
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RWHelper.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RWHelper.java
deleted file mode 100644
index 2d7c6a7246..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RWHelper.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) RWHelper.java 1.7 - last change made 07/11/96
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.*;
-
-public interface RWHelper {
- public void setWindow(Window win);
- public boolean isSelectable();
-
- public void select();
- public void unselect();
- public void layoutMode();
- public void previewMode();
- public Dimension previewSize();
-
- public void addNotify();
- public void removeNotify();
- public void layout();
- public void paint(Graphics g);
- public boolean mouseDown(Event evt, int x, int y);
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootDialog.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootDialog.java
deleted file mode 100644
index 257f00d8cc..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootDialog.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) RootDialog.java 1.44 - last change made 06/19/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.DesignerAccess;
-import sunsoft.jws.visual.rt.base.*;
-
-import java.awt.*;
-
-public class RootDialog extends Dialog implements RootWindow {
- private RWHelper helper;
- private Thread eventThread;
-
- public RootDialog(Frame parent, boolean modal) {
- super(parent, modal);
- initHelper();
- }
-
- public RootDialog(Frame parent, String title, boolean modal) {
- super(parent, title, modal);
- initHelper();
- }
-
- private void initHelper() {
- Class c = DesignerAccess.getRootWindowHelperClass();
- if (c != null) {
- try {
- helper = (RWHelper)c.newInstance();
- helper.setWindow(this);
- }
- catch (Exception ex) {
- }
- }
- }
-
- // Workaround for idiotic JDK1.1 bug where if you add a
- // component to a container that it is already in, then
- // the component will be removed from the container!
- //
- // #ifdef JDK1.1
- protected void addImpl(Component comp, Object constraints,
- int index) {
- if (comp.getParent() != this)
- super.addImpl(comp, constraints, index);
- }
- // #endif
-
- /**
- * Make dialogs on Windows behave the same as
- * dialogs on Motif.
- */
- public void pack() {
- Component parent = getParent();
- Boolean dis = isDisplayable();
-
- if (parent != null && parent.isDisplayable() == false) {
- parent.addNotify();
- }
- if (dis.equals(false)) {
- addNotify();
- }
-
- Dimension d = getPreferredSize();
- Point p = getDialogLocation(d);
-
- // Adjust the location the first time the dialog is mapped after
- // the peer has been created. There is an AWT bug that screws
- // up the location of the dialog, so we
- // have to make this adjustment.
- if (Global.isMotif() && dis.equals(false)) {
- p.x -= d.width/2;
- p.y -= d.height/2;
- }
- setLocation(p.x, p.y);
-
- setSize(getPreferredSize());
- validate();
- }
-
- private Point getDialogLocation(Dimension prefSize) {
- Frame frame = (Frame)getParent();
- Point p = frame.location();
- Dimension fsize = frame.size();
- Dimension dsize = prefSize;
-
- p.x += (fsize.width - dsize.width)/2;
- p.y += (fsize.height - dsize.height)/2;
-
- return p;
- }
-
- /**
- * Make sure the insets aren't screwed up on Windows. The dialog
- * will come up too small the first time it is shown if we don't
- * fix the insets here.
- */
- public Insets insets() {
- Insets insets = (Insets)super.insets().clone();
-
- if (Global.isWindows()) {
- if (insets.top < 10)
- insets.top = 25;
- if (insets.bottom < 5)
- insets.bottom = 5;
- if (insets.left < 5)
- insets.left = 5;
- if (insets.right < 5)
- insets.right = 5;
- }
-
- return insets;
- }
-
- /**
- * Event forwarding to groups.
- *
- * (see comment in GBPanel.java)
- */
- public boolean postEvent(Event evt) {
- /* BEGIN JSTYLED */
- // AWT Bug: JDK-1.0 AWT gives a WINDOW_ICONIFY event to a Dialog
- // when it is shown (causing us to obediently iconify the windows in the
- // dialog's group, including the dialog iteself.) AWT then gives a
- // WINDOW_DEICONFY event to the same Dialog, resulting in a show and an
- // infinite loop of hiding and showing. Dialogs can't be iconfied
- // anyway, so just what is this event doing here!!?
- //
- // Work-around: throw away these two spurious events on Dialogs before
- // they can muck up the works.
- //
- /* END JSTYLED */
- if (evt.id == Event.WINDOW_ICONIFY ||
- evt.id == Event.WINDOW_DEICONIFY)
- return true;
-
- boolean marked = VJPanel.markEvent(evt, this);
- boolean handled = super.postEvent(evt);
-
- if (marked)
- VJPanel.forwardEvent(evt, this);
- return handled;
- }
-
- public void select() {
- if (helper != null)
- helper.select();
- }
-
- public void unselect() {
- if (helper != null)
- helper.unselect();
- }
-
- public void layoutMode() {
- if (helper != null)
- helper.layoutMode();
- }
-
- public void previewMode() {
- if (helper != null)
- helper.previewMode();
- }
-
- public Dimension previewSize() {
- if (helper != null)
- return helper.previewSize();
- else
- return null;
- }
-
- public void addNotify() {
- Component parent = getParent();
- if (parent != null && parent.getPeer() == null)
- parent.addNotify();
-
- if (helper != null)
- helper.addNotify();
- super.addNotify();
- }
-
- public void removeNotify() {
- if (Global.isWindows())
- reshapeZero(this);
-
- if (helper != null)
- helper.removeNotify();
- super.removeNotify();
- }
-
- /**
- * Recursively reshapes the component and all its children to zero.
- * You need to do this on Windows when removeNotify is called.
- * Otherwise when you call addNotify, the children are offset
- * about 25 extra pixels from the top on the window, and the bottom
- * 25 pixels will get clipped off. I don't know why this happens,
- * but I do know that reshaping everything back to zero avoids
- * the problem. I noticed the problem on WindowsNT, but not as
- * often on Windows95.
- */
- private void reshapeZero(Component comp) {
- comp.reshape(0, 0, 0, 0);
-
- if (comp instanceof Container) {
- Container cntr = (Container)comp;
- int count = cntr.countComponents();
-
- for (int i = 0; i < count; i++)
- reshapeZero(cntr.getComponent(i));
- }
- }
-
- public void layout() {
- if (helper != null)
- helper.layout();
- super.layout();
- }
-
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- if (helper != null)
- helper.paint(g);
- super.paint(g);
- }
-
- public boolean mouseDown(Event evt, int x, int y) {
- if (helper != null)
- return helper.mouseDown(evt, x, y);
- return false;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootFrame.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootFrame.java
deleted file mode 100644
index 1847f65736..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootFrame.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) RootFrame.java 1.50 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.DesignerAccess;
-import sunsoft.jws.visual.rt.base.*;
-
-import java.awt.*;
-
-public class RootFrame extends Frame implements RootWindow {
-
- private Point location = new Point(0, 0);
-
- private boolean skipValidate = false;
-
- /* BEGIN JSTYLED */
- //
- // The ignoreShow and ignoreHide flags are used as part of a workaround
- // for an AWT problem with iconify and deiconify events. An infinite
- // loop can happen under certain circumstances without this workaround.
- //
- // When hide is called on a window that is currently showing, AWT will
- // deliver a WINDOW_ICONIFY event. Similarly, when show is called on a
- // window that is currently hidden, AWT will deliver a WINDOW_DEICONIFY
- // event. (Note that in JDK1.0.2, iconify events are not delivered with
- // Windows95, but they are delivered with Motif).
- //
- // Now say that you have a callback for WINDOW_ICONIFY that hides
- // the window, and a callback for WINDOW_DEICONIFY that shows the
- // window. Normally this is ok because calling hide on a hidden window
- // will not cause an iconify event to be delivered, and calling show
- // on a mapped window will not cause a deiconify event to be delivered.
- //
- // But if the user iconifies and deiconifies a window while the
- // application is busy, then a WINDOW_ICONIFY event and a
- // WINDOW_DEICONIFY event will both be in the event queue at the same
- // time. When the WINDOW_ICONIFY event is then handled, calling hide
- // on the window will cause another WINDOW_ICONIFY event to be delivered
- // because the window is currently showing. Then, when the
- // WINDOW_DEICONIFY is handled, show will be called causing another
- // WINDOW_DEICONIFY event to be delivered. You then go into an infinite
- // loop with the window mapping and unmapping itself.
- //
- // The solution is to never allow hide to be called in the callback
- // from a WINDOW_ICONIFY event, and never allow show to be called
- // in the callback from a WINDOW_DEICONIFY event.
- //
- /* END JSTYLED */
- private boolean ignoreShow = false;
- private boolean ignoreHide = false;
-
- // Give windows a nice looking border.
- static {
- if (Global.isWindows95())
- GBLayout.setWindowInsets(new Insets(1, 1, 1, 1));
- else if (Global.isWindowsNT())
- GBLayout.setWindowInsets(new Insets(2, 3, 2, 3));
- else
- GBLayout.setWindowInsets(new Insets(4, 4, 4, 4));
- }
-
- private RWHelper helper;
- private Group subGroup;
-
- public RootFrame() {
- super();
- initHelper();
- }
-
- public RootFrame(String title) {
- super(title);
- initHelper();
- }
-
- private void initHelper() {
- Class c = DesignerAccess.getRootWindowHelperClass();
- if (c != null) {
- try {
- helper = (RWHelper)c.newInstance();
- helper.setWindow(this);
- }
- catch (Exception ex) {
- }
- }
- }
-
- /**
- * The subgroup is set on the bogus frames that are put around
- * panel groups when the panel groups are running standalone.
- * This situation only occurs when the generated main for a
- * panel group is run from the command line.
- */
- public void setSubGroup(Group subGroup) {
- this.subGroup = subGroup;
- }
-
- /**
- * Returns the subgroup. The subgroup is non-null for frames
- * that are used as wrappers for panel groups.
- */
- public Group getSubGroup() {
- return subGroup;
- }
-
- // Workaround for idiotic JDK1.1 bug where if you add a
- // component to a container that it is already in, then
- // the component will be removed from the container!
- //
- // #ifdef JDK1.1
- protected void addImpl(Component comp, Object constraints,
- int index) {
- if (comp.getParent() != this)
- super.addImpl(comp, constraints, index);
- }
- // #endif
-
- /**
- * Workaround: Return the correct window location for Motif.
- */
- public Point location() {
- if (Global.isMotif())
- return new Point(location.x, location.y);
- else
- return super.location();
- }
-
- /**
- * Update the location.
- */
- public void reshape(int x, int y, int w, int h) {
- super.reshape(x, y, w, h);
- location = new Point(x, y);
- }
-
- /**
- * Event forwarding to groups.
- *
- * (see comment in GBPanel.java)
- */
- public boolean postEvent(Event evt) {
- // See the comment at the top of the file
- // for ignoreShow and ignoreHide
- if (evt.id == Event.WINDOW_ICONIFY)
- ignoreHide = true;
- else if (evt.id == Event.WINDOW_DEICONIFY)
- ignoreShow = true;
-
- boolean marked = VJPanel.markEvent(evt, this);
- boolean handled = super.postEvent(evt);
-
- if (marked)
- VJPanel.forwardEvent(evt, this);
-
- // See the comment at the top of the file
- // for ignoreShow and ignoreHide
- if (evt.id == Event.WINDOW_ICONIFY)
- ignoreHide = false;
- else if (evt.id == Event.WINDOW_DEICONIFY)
- ignoreShow = false;
-
- return handled;
- }
-
- public boolean handleEvent(Event evt) {
- if (evt.id == Event.WINDOW_DESTROY) {
- if (subGroup != null) {
- subGroup.postMessage(new Message(
- DesignerAccess.getContainer(subGroup), /* NOI18N */
- "AWT", evt, true));
- return true;
- }
- } else if (evt.target == this && evt.id == Event.WINDOW_MOVED) {
- // The CDE window manager screws
- // up the window location sometimes.
- // The bug can be avoided by ignoring
- // WINDOW_MOVED events that have
- // the coordinates (0,0).
- if (evt.x != 0 && evt.y != 0)
- location = new Point(evt.x, evt.y);
- }
-
- return super.handleEvent(evt);
- }
-
- public void select() {
- if (helper != null)
- helper.select();
- }
-
- public void unselect() {
- if (helper != null)
- helper.unselect();
- }
-
- public void layoutMode() {
- if (helper != null)
- helper.layoutMode();
- }
-
- public void previewMode() {
- if (helper != null)
- helper.previewMode();
- }
-
- public Dimension previewSize() {
- if (helper != null)
- return helper.previewSize();
- else
- return null;
- }
-
- public void addNotify() {
- if (helper != null)
- helper.addNotify();
- super.addNotify();
- }
-
- public void removeNotify() {
- if (helper != null)
- helper.removeNotify();
- super.removeNotify();
- }
-
- public void layout() {
- if (helper != null)
- helper.layout();
- super.layout();
- }
-
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- if (helper != null)
- helper.paint(g);
- super.paint(g);
- }
-
- public boolean mouseDown(Event evt, int x, int y) {
- if (helper != null)
- return helper.mouseDown(evt, x, y);
- return false;
- }
-
- public void show() {
- // See the comment at the top of the file
- // for ignoreShow and ignoreHide
- if (ignoreShow)
- return;
-
- //
- // Call show only if it is necessary.
- // When the peer's show method
- // is called, the peer will call validate
- // back on the AWT component.
- //
- if (isShowing()) {
- if (!Global.isWindows())
- toFront();
- return;
- }
-
- skipValidate = true;
- super.show();
- skipValidate = false;
- }
-
- public void hide() {
- // See the comment at the top of the file
- // for ignoreShow and ignoreHide
- if (!ignoreHide)
- super.hide();
- }
-
- /**
- * Don't do a validate during a show.
- */
- public void validate() {
- if (!skipValidate)
- super.validate();
- }
-
- /**
- * Add some extra to the top inset if we are
- * on Windows and the frame
- * has a menubar. There is an AWT bug that
- * causes the top insets to
- * be too small when there is a menubar.
- */
- public Insets insets() {
- Insets insets = (Insets)super.insets().clone();
- if (Global.isWindows() && getMenuBar() != null &&
- insets.top < 30)
- insets.top += 30;
- return insets;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootWindow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootWindow.java
deleted file mode 100644
index 2bcaf79b79..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/RootWindow.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) RootWindow.java 1.6 - last change made 05/07/96
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.Dimension;
-
-public interface RootWindow {
- public void select();
- public void unselect();
-
- public void layoutMode();
- public void previewMode();
-
- public boolean isVisible();
- public Dimension previewSize();
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ScrollPanel.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ScrollPanel.java
deleted file mode 100644
index 571b5b7f14..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ScrollPanel.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ScrollPanel.java 1.41 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.awt.*;
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.base.Util;
-import java.awt.*;
-
-public class ScrollPanel extends VJPanel {
- protected VJScrollbar vbar, hbar;
-
- private Component comp;
- private boolean vshow, hshow;
- private GBLayout gridbag;
- private boolean hasFocus;
-
- private int scrollAreaWidth = 0;
- private int scrollAreaHeight = 0;
- private Insets scrollAreaInsets;
-
- public ScrollPanel() {
- super(Util.WIN95_FIELD_BORDER);
- setBorderInsets(new Insets(0, 0, 0, 0));
-
- GBConstraints c = new GBConstraints();
- gridbag = new GBLayout();
- setLayout(gridbag);
-
- hbar = new VJScrollbar(VJScrollbar.HORIZONTAL);
- vbar = new VJScrollbar(VJScrollbar.VERTICAL);
-
- c.gridx = 1;
- c.gridy = 0;
- c.shrinkx = false;
- c.shrinky = true;
- c.fill = GBConstraints.VERTICAL;
-
- // #ifdef JDK1.1
- super.addImpl(vbar, null, -1);
- // #else
- // super.add(vbar, -1);
- // #endif
-
- gridbag.setConstraints(vbar, c);
-
- c.gridx = 0;
- c.gridy = 1;
- c.shrinkx = true;
- c.shrinky = false;
- c.fill = GBConstraints.HORIZONTAL;
-
- // #ifdef JDK1.1
- super.addImpl(hbar, null, -1);
- // #else
- // super.add(hbar, -1);
- // #endif
-
- gridbag.setConstraints(hbar, c);
-
- // Have the initial minimumSize include the vertical scrollbar,
- // but not the horizontal scrollbar.
- vshow = true;
- hbar.hide();
- }
-
- // #ifdef JDK1.1
- protected void addImpl(Component comp, Object constraints,
- int index) {
- super.addImpl(comp, constraints, index);
- doAdd(comp);
- }
- // #else
- // public Component add(Component comp, int pos) {
- // super.add(comp, pos);
- // doAdd(comp);
- // return comp;
- // }
- // #endif
-
- private void doAdd(Component comp) {
- if (!(comp instanceof Scrollable))
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.awt.ScrollPanel.OnlyOneInstance"));
-
- if (this.comp != null)
- remove(this.comp);
-
- this.comp = comp;
-
- GBConstraints c = new GBConstraints();
- c.gridx = 0;
- c.gridy = 0;
- c.weightx = 1;
- c.weighty = 1;
- c.shrinkx = true;
- c.shrinky = true;
- c.fill = GBConstraints.BOTH;
- c.insets = scrollAreaInsets;
-
- gridbag.setConstraints(comp, c);
- }
-
- public int getScrollAreaWidth() {
- return scrollAreaWidth;
- }
-
- public void setScrollAreaWidth(int scrollAreaWidth) {
- this.scrollAreaWidth = scrollAreaWidth;
- }
-
- public int getScrollAreaHeight() {
- return scrollAreaHeight;
- }
-
- public void setScrollAreaHeight(int scrollAreaHeight) {
- this.scrollAreaHeight = scrollAreaHeight;
- }
-
- public Insets getScrollAreaInsets() {
- return scrollAreaInsets;
- }
-
- public void setScrollAreaInsets(Insets insets) {
- scrollAreaInsets = insets;
-
- if (comp != null) {
- GBConstraints c = gridbag.getConstraints(comp);
- c.insets = insets;
- gridbag.setConstraints(comp, c);
- }
- }
-
- public int getVisibleIndex() {
- if (!vshow)
- return 0;
-
- int lineHeight = ((Scrollable)comp).lineHeight();
- int scrolly = vbar.getValue();
-
- return (scrolly+lineHeight-1)/lineHeight;
- }
-
- public void makeVisible(int index) {
- if (!vshow)
- return;
-
- if (index == -1)
- return;
-
- Scrollable scrollable = (Scrollable)comp;
- Dimension viewSize = scrollable.viewSize(comp.size());
- int lineHeight = scrollable.lineHeight();
- int y = lineHeight*index;
- int scrolly = vbar.getValue();
-
- if (y < scrolly) {
- vbar.setValue(y);
- scrollable.scrollY(y);
- } else if ((y + lineHeight) > scrolly + viewSize.height) {
- y -= (viewSize.height - lineHeight);
- if (y < 0)
- y = 0;
- vbar.setValue(y);
- scrollable.scrollY(y);
- }
- }
-
- public boolean handleEvent(Event e) {
- if (e.id == Event.GOT_FOCUS) {
- hasFocus = true;
- return super.handleEvent(e);
- } else if (e.id == Event.LOST_FOCUS) {
- hasFocus = false;
- return super.handleEvent(e);
- } else if (e.target == hbar)
- ((Scrollable)comp).scrollX(hbar.getValue());
- else if (e.target == vbar)
- ((Scrollable)comp).scrollY(vbar.getValue());
- else
- return super.handleEvent(e);
-
- return true;
- }
-
- private Dimension viewSize() {
- Dimension size = size();
- size = new Dimension(size.width, size.height);
-
- // take out our insets
- Insets insets = insets();
- Insets scrollAreaInsets = getScrollAreaInsets();
- if (scrollAreaInsets == null)
- scrollAreaInsets = new Insets(0, 0, 0, 0);
-
- size.width -= (insets.left + insets.right +
- scrollAreaInsets.left + scrollAreaInsets.right);
- size.height -= (insets.top + insets.bottom +
- scrollAreaInsets.top + scrollAreaInsets.bottom);
-
- return ((Scrollable)comp).viewSize(size);
- }
-
- // Always leave space for the scrollbars
- public Dimension minimumSize() {
- Dimension compMin;
- Dimension hbarMin = hbar.minimumSize();
- Dimension vbarMin = vbar.minimumSize();
-
- if (comp != null) {
- compMin = comp.minimumSize();
- compMin = new Dimension(compMin.width, compMin.height);
- }
- else
- compMin = new Dimension(0, 0);
-
- return calcSize(compMin, hbarMin, vbarMin);
- }
-
- // Always leave space for the scrollbars
- public Dimension preferredSize() {
- Dimension compPref;
- Dimension hbarPref = hbar.preferredSize();
- Dimension vbarPref = vbar.preferredSize();
-
- if (comp != null) {
- compPref = comp.preferredSize();
- compPref = new Dimension(compPref.width, compPref.height);
- }
- else
- compPref = new Dimension(0, 0);
-
- return calcSize(compPref, hbarPref, vbarPref);
- }
-
- private Dimension calcSize(Dimension compMin,
- Dimension hbarMin, Dimension vbarMin) {
- Insets insets = insets();
- Insets scrollAreaInsets = getScrollAreaInsets();
- if (scrollAreaInsets == null)
- scrollAreaInsets = new Insets(0, 0, 0, 0);
-
- if (scrollAreaWidth != 0)
- compMin.width = scrollAreaWidth;
- if (scrollAreaHeight != 0)
- compMin.height = scrollAreaHeight;
-
- int insetsWidth = insets.left + insets.right +
- scrollAreaInsets.left + scrollAreaInsets.right;
- compMin.width += (vbarMin.width + insetsWidth);
- compMin.width = Math.max(compMin.width, (hbarMin.width +
- insetsWidth));
-
- int insetsHeight = insets.top + insets.bottom +
- scrollAreaInsets.top + scrollAreaInsets.bottom;
- compMin.height += (hbarMin.height + insetsHeight);
- compMin.height = Math.max(compMin.height, (vbarMin.height +
- insetsHeight));
-
- return compMin;
- }
-
- public void layout() {
- boolean hadFocus = hasFocus;
-
- Dimension viewSize = viewSize();
- if (viewSize.width <= 0 || viewSize.height <= 0) {
- super.layout();
- return;
- }
-
- Dimension d;
- Dimension scrollSize = ((Scrollable)comp).scrollSize();
- boolean needHShow = false, needVShow = false;
- boolean revalidate = false;
-
- if (viewSize.width < scrollSize.width)
- needHShow = true;
- if (viewSize.height < scrollSize.height)
- needVShow = true;
-
- if ((needHShow || needVShow) && !(needHShow && needVShow)) {
- if (needVShow) {
- d = vbar.minimumSize();
- if (viewSize.width < (scrollSize.width + d.width))
- needHShow = true;
- } else if (needHShow) {
- d = hbar.minimumSize();
- if (viewSize.height < (scrollSize.height + d.height))
- needVShow = true;
- }
- }
-
- if (needHShow) {
- if (!hshow) {
- hbar.show();
- hshow = true;
- revalidate = true;
- }
- } else {
- if (hshow) {
- hbar.hide();
- hshow = false;
- revalidate = true;
- if (hbar.getValue() != 0)
- hbar.setValue(0);
- ((Scrollable)comp).scrollX(0);
- }
- }
-
- if (needVShow) {
- if (!vshow) {
- vbar.show();
- vshow = true;
- revalidate = true;
- }
- } else {
- if (vshow) {
- vbar.hide();
- vshow = false;
- revalidate = true;
- if (vbar.getValue() != 0)
- vbar.setValue(0);
- ((Scrollable)comp).scrollY(0);
- }
- }
-
- if (hshow)
- updateHScrollbar();
- if (vshow)
- updateVScrollbar();
-
- if (revalidate) {
- validate();
- if (hadFocus && Global.isMotif())
- comp.requestFocus();
- } else {
- super.layout();
- }
- }
-
- public void updateWindow() {
- invalidate();
- validate();
- }
-
- protected void updateHScrollbar() {
- Dimension viewSize = viewSize();
- Dimension scrollSize = ((Scrollable)comp).scrollSize();
-
- if (vshow) {
- Dimension d = vbar.minimumSize();
- viewSize.width -= d.width;
- }
-
- // (viewSize.width-d.width) can become negative
- // during initialization
- if (viewSize.width < 1)
- return;
-
- int maximum = scrollSize.width;
- // #ifndef MAXIMUM_HACK
- // maximum -= viewSize.width;
- // #endif
-
- hbar.setValues(hbar.getValue(), viewSize.width, 0, maximum);
-
- Scrollable scrollable = (Scrollable)comp;
- int lineWidth = Math.max(10, viewSize.width/6);
- int pageSize = Math.max(lineWidth, viewSize.width - lineWidth);
- pageSize = Math.min(scrollSize.width - viewSize.width,
- pageSize);
-
- hbar.setLineIncrement(lineWidth);
- hbar.setPageIncrement(pageSize);
-
- scrollable.scrollX(hbar.getValue());
- }
-
- protected void updateVScrollbar() {
- Dimension viewSize = viewSize();
- Dimension scrollSize = ((Scrollable)comp).scrollSize();
-
- if (hshow) {
- Dimension d = hbar.minimumSize();
- viewSize.height -= d.height;
- }
-
- // (viewSize.height-d.height) can become
- // negative during initialization
- if (viewSize.height < 1)
- return;
-
- int maximum = scrollSize.height;
- // #ifndef MAXIMUM_HACK
- // maximum -= viewSize.height;
- // #endif
- vbar.setValues(vbar.getValue(), viewSize.height, 0, maximum);
-
- Scrollable scrollable = (Scrollable)comp;
- int lineHeight = scrollable.lineHeight();
- int pageSize =
- Math.max(lineHeight,
- (viewSize.height/lineHeight)*lineHeight - lineHeight);
- pageSize = Math.min(scrollSize.height-viewSize.height,
- pageSize);
-
- vbar.setLineIncrement(lineHeight);
- vbar.setPageIncrement(pageSize);
-
- scrollable.scrollY(vbar.getValue());
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/Scrollable.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/Scrollable.java
deleted file mode 100644
index 2e73d28de9..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/Scrollable.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Scrollable.java 1.4 - last change made 11/05/96
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.*;
-
-public interface Scrollable {
- public void scrollX(int x);
- public void scrollY(int y);
- public Dimension scrollSize();
- public Dimension viewSize(Dimension d);
- public int lineHeight();
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ScrollableArea.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ScrollableArea.java
deleted file mode 100644
index 7f25abd3ad..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/ScrollableArea.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ScrollableArea.java 1.6 - last change made 02/09/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.awt.*;
-
-import java.awt.*;
-
-public class ScrollableArea extends VJPanel implements Scrollable {
- private Component comp;
- private int curx, cury;
- private int lineHeight = 4;
-
- public void layout() {
- if (comp == null)
- return;
-
- Dimension d = comp.preferredSize();
- d = new Dimension(d.width, d.height);
- Dimension size = size();
- d.width = Math.max(d.width, size.width);
- d.height = Math.max(d.height, size.height);
-
- comp.reshape(curx, cury, d.width, d.height);
- }
-
- // #ifdef JDK1.1
- protected void addImpl(Component comp, Object constraints,
- int index) {
- doAdd(comp);
- super.addImpl(comp, constraints, index);
- }
- // #else
- // public Component add(Component comp, int pos) {
- // doAdd(comp);
- // return super.add(comp, pos);
- // }
- // #endif
-
- private void doAdd(Component comp) {
- if (this.comp != null)
- remove(this.comp);
- this.comp = comp;
- }
-
- public void remove(Component comp) {
- super.remove(comp);
- if (this.comp == comp)
- this.comp = null;
- }
-
- public Dimension minimumSize() {
- if (comp != null)
- return comp.preferredSize();
- else
- return new Dimension(0, 0);
- }
-
- public Dimension preferredSize() {
- return minimumSize();
- }
-
- public void scrollX(int x) {
- curx = -x;
- if (comp != null)
- comp.move(curx, cury);
- }
-
- public void scrollY(int y) {
- cury = -y;
- if (comp != null)
- comp.move(curx, cury);
- }
-
- public Dimension scrollSize() {
- return minimumSize();
- }
-
- public Dimension viewSize(Dimension size) {
- return size;
- }
-
- public void setLineHeight(int lineHeight) {
- this.lineHeight = lineHeight;
- }
-
- public int lineHeight() {
- return lineHeight;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/StatusBar.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/StatusBar.java
deleted file mode 100644
index 2afa21f17a..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/StatusBar.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) StatusBar.java 1.15 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.base.Util;
-import java.awt.*;
-
-/**
- * A label that shows a single line of text for while. After a set
- * time period the text is blanked. It's useful for a status bar at
- * the bottom of a frame.
- *
- * @version 1.15, 07/25/97
- */
-public class StatusBar extends Canvas implements Runnable {
- private String text;
- private long wakeupTime;
- private long timeout;
-
- public StatusBar(String text) {
- wakeupTime = 0;
- timeout = 7000;
- setFont(new Font(/* NOI18N */"Sansserif", Font.BOLD, 14));
-
- Thread thread = new Thread(this);
- thread.setDaemon(true);
- thread.start();
- }
-
- public StatusBar() {
- this(/* NOI18N */"");
- }
-
- public synchronized void setTimeout(long millis) {
- timeout = millis;
- resetTimer(true);
- }
-
- public void setText(String text) {
- setText(text, true);
- }
-
- public void setText(String text, boolean shouldTimeout) {
- if (text != this.text && (this.text == null ||
- !this.text.equals(text))) {
- this.text = text;
- repaint();
- }
-
- resetTimer(shouldTimeout);
- }
-
- public String getText() {
- return text;
- }
-
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- Dimension d = size();
-
- g.setColor(getBackground());
- if (Global.isWindows())
- g.fillRect(0, 0, d.width, d.height);
- Global.util.draw3DRect(g, 0, 0, d.width-1, d.height-1,
- Util.WIN95_SUNKEN, 1);
-
- if (text != null) {
- g.setColor(getForeground());
- g.setFont(getFont());
- FontMetrics fm = g.getFontMetrics();
- g.drawString(text, 5, fm.getAscent() + 3);
- }
- }
-
- public Dimension minimumSize() {
- Graphics g = getGraphics();
- int w = 10;
- int h = 6;
-
- if (g != null) {
- FontMetrics fm = g.getFontMetrics();
- if (text != null)
- w += fm.stringWidth(text);
- h += fm.getHeight();
- }
-
- return new Dimension(w, h);
- }
-
- public Dimension preferredSize() {
- return minimumSize();
- }
-
- public synchronized void run() {
- long currentTime = System.currentTimeMillis();
-
- while (true) {
- try {
- if (wakeupTime == 0)
- wait();
- else
- wait(wakeupTime - currentTime);
- }
- catch (java.lang.InterruptedException ex) {
- }
-
- currentTime = System.currentTimeMillis();
- if (wakeupTime != 0 && wakeupTime < currentTime) {
- text = null;
- repaint();
- wakeupTime = 0;
- }
- }
- }
-
- private synchronized void resetTimer(boolean shouldTimeout) {
- if (timeout > 0 && shouldTimeout && text != null &&
- !text.equals(/* NOI18N */"")) {
- wakeupTime = System.currentTimeMillis() + timeout;
- notify();
- } else {
- wakeupTime = 0;
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/StringVector.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/StringVector.java
deleted file mode 100644
index e25e3bf68b..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/StringVector.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) StringVector.java 1.3 - last change made 04/25/96
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.util.Vector;
-import java.util.Enumeration;
-
-public final class StringVector {
- Vector vector;
-
- public StringVector(int initialCapacity, int capacityIncrement) {
- vector = new Vector(initialCapacity, capacityIncrement);
- }
-
- public StringVector(int initialCapacity) {
- vector = new Vector(initialCapacity);
- }
-
- public StringVector() {
- vector = new Vector();
- }
-
- public final void copyInto(String anArray[]) {
- vector.copyInto(anArray);
- }
-
- public final void trimToSize() {
- vector.trimToSize();
- }
-
- public final void ensureCapacity(int minCapacity) {
- vector.ensureCapacity(minCapacity);
- }
-
- public final void setSize(int newSize) {
- vector.setSize(newSize);
- }
-
- public final int capacity() {
- return vector.capacity();
- }
-
- public final int size() {
- return vector.size();
- }
-
- public final boolean isEmpty() {
- return vector.isEmpty();
- }
-
- public final Enumeration elements() {
- return vector.elements();
- }
-
- public final boolean contains(String elem) {
- return vector.contains(elem);
- }
-
- public final int indexOf(String elem) {
- return vector.indexOf(elem);
- }
-
- public final int indexOf(String elem, int index) {
- return vector.indexOf(elem, index);
- }
-
- public final int lastIndexOf(String elem) {
- return vector.lastIndexOf(elem);
- }
-
- public final int lastIndexOf(String elem, int index) {
- return vector.lastIndexOf(elem, index);
- }
-
- public final String elementAt(int index) {
- return (String)vector.elementAt(index);
- }
-
- public final String firstElement() {
- return (String)vector.firstElement();
- }
-
- public final String lastElement() {
- return (String)vector.lastElement();
- }
-
- public final void setElementAt(String obj, int index) {
- vector.setElementAt(obj, index);
- }
-
- public final void removeElementAt(int index) {
- vector.removeElementAt(index);
- }
-
- public final void insertElementAt(String obj, int index) {
- vector.insertElementAt(obj, index);
- }
-
- public final void addElement(String obj) {
- vector.addElement(obj);
- }
-
- public final boolean removeElement(Object obj) {
- return vector.removeElement(obj);
- }
-
- public final void removeAllElements() {
- vector.removeAllElements();
- }
-
- public synchronized Object clone() {
- try {
- StringVector v = (StringVector)super.clone();
- v.vector = (Vector)vector.clone();
- return v;
- } catch (CloneNotSupportedException e) {
- // this shouldn't happen, since we are Cloneable
- throw new InternalError();
- }
- }
-
- public String toString() {
- return vector.toString();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TabbedFolder.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TabbedFolder.java
deleted file mode 100644
index 4f056a66fa..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TabbedFolder.java
+++ /dev/null
@@ -1,539 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) TabbedFolder.java 1.20 - last change made 08/04/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.*;
-import java.util.*;
-
-public class TabbedFolder extends CardPanel {
-
- public static final int CONFIRM_SWITCH = 4862;
-
- //
- // Constants used for drawing the tabs
- //
-
- private static final int bd = 2;
- private static final double BFACTOR = 0.8;
- private static final double DFACTOR = 0.7;
-
- private static final int tabipadx = 14;
- private static final int tabipady = 14;
- private static final int comppadx = 20;
- private static final int comppady = 14;
- private static final Insets folderInsets = new Insets(6, 6, 6, 6);
-
- //
- // Cached tab information
- //
-
- private Image buffer;
- private int tabx[];
- private String tabtext[];
- private int tabW, tabH;
- private boolean cancelSwitch = false;
-
-
- public TabbedFolder() {
- }
-
- public TabbedFolder(String tabs[]) {
- for (int i = 0; i < tabs.length; i++) {
- super.addTab(tabs[i]);
- }
- }
-
- protected Label newCardLabel() {
- return new Label(Global.getMsg(
- "sunsoft.jws.visual.rt.awt.TabbedFolder.NewCardLabel"));
- }
-
- //
- // Methods that comprise the public interface for TabbedFolder
- //
-
- public void addTab(String tab) {
- super.addTab(tab);
- flushCache();
- repaint();
- }
-
- public void addTab(String tab, int index) {
- super.addTab(tab, index);
- flushCache();
- repaint();
- }
-
- public void renameTab(String oldName, String newName) {
- super.renameTab(oldName, newName);
- flushCache();
- repaint();
- }
-
- public void removeTab(String tab) {
- super.removeTab(tab);
- flushCache();
- repaint();
- }
-
- public void removeAllTabs() {
- super.removeAllTabs();
- flushCache();
- repaint();
- }
-
- public String getCurrentFolder() {
- return getCurrentCard();
- }
-
- public void show(String tab) {
- super.show(tab);
- repaint();
- }
-
- //
- // Overridden methods from Component
- //
-
- public void addNotify() {
- super.addNotify();
- flushCache();
- }
-
- public void removeNotify() {
- super.removeNotify();
- flushCache();
- }
-
- public void setFont(Font font) {
- super.setFont(font);
- flushCache();
- }
-
- public Dimension minimumSize() {
- cacheTabInfo();
-
- Dimension d = super.minimumSize();
- int w = tabW + folderInsets.left + folderInsets.right;
- if (w > d.width)
- d = new Dimension(w, d.height);
-
- return d;
- }
-
- public Dimension preferredSize() {
- cacheTabInfo();
-
- Dimension d = super.preferredSize();
- int w = tabW + folderInsets.left + folderInsets.right;
- if (w > d.width)
- d = new Dimension(w, d.height);
-
- return d;
- }
-
- public Insets insets() {
- cacheTabInfo();
-
- Insets insets = new Insets(0, 0, 0, 0);
- insets.left = folderInsets.left + bd + comppadx/2;
- insets.right = folderInsets.right + bd + comppadx/2;
- insets.top = folderInsets.top + tabH + comppady/2;
- insets.bottom = folderInsets.bottom + bd + comppady/2;
-
- return insets;
- }
-
- //
- // Event Handling
- //
-
- public boolean mouseDown(Event evt, int x, int y) {
- int index = calcTabIndex(x, y);
- if (index >= 0 && index < tabs.size()) {
- String name = (String)tabs.elementAt(index);
-
- cancelSwitch = false;
- postEvent(new Event(this, CONFIRM_SWITCH, name));
-
- if (!cancelSwitch) {
- show(name);
- postEvent(new Event(this, Event.ACTION_EVENT, name));
- } else {
- cancelSwitch = false;
- }
- }
-
- return false;
- }
-
- public void cancelSwitch() {
- cancelSwitch = true;
- }
-
- private synchronized int calcTabIndex(int x, int y) {
- cacheTabInfo();
-
- if (x < (folderInsets.left+tabx[0]) ||
- x > (folderInsets.left+tabx[tabx.length-1])) {
- return -1;
- }
- if (y < (folderInsets.top+bd) || y > (folderInsets.top+tabH)) {
- return -1;
- }
-
- for (int i = 0; i < tabtext.length; i++) {
- if (x >= (folderInsets.left+tabx[i]) &&
- x <= (folderInsets.left + tabx[i+1])) {
- return i;
- }
- }
-
- return -1;
- }
-
- //
- // Cache all the information and the image needed for the tabs.
- //
-
- private synchronized void cacheTabInfo() {
- if (tabx == null) {
- if (getPeer() == null)
- return;
-
- FontMetrics fontMetrics = getFontMetrics(getFont());
- int len = tabs.size();
-
- if (len == 0) {
- tabx = new int[2];
- tabtext = new String[1];
- tabtext[0] = Global.getMsg(
- "sunsoft.jws.visual.rt.awt.TabbedFolder.Empty");
- tabx[0] = bd;
- tabx[1] = tabx[0] +
- fontMetrics.stringWidth(tabtext[0]) + tabipadx + 2*bd;
- } else {
- Enumeration e = tabs.elements();
- int i = 0;
- int x = bd;
- tabx = new int[tabs.size()+1];
- tabtext = new String[tabs.size()];
-
- while (e.hasMoreElements()) {
- tabtext[i] = (String)e.nextElement();
- tabx[i] = x;
- x += fontMetrics.stringWidth(tabtext[i]) +
- tabipadx + 2*bd;
- i++;
- }
- tabx[i] = x;
- }
-
- // Need 4 extra pixels: 2 on each end
- tabW = tabx[tabx.length-1] - tabx[0] + 2*bd;
-
- // Need 6 extra pixels: 4 on top, and 2 on the bottom
- tabH = fontMetrics.getMaxAscent() + tabipady + 3*bd;
-
- // Create the image buffer
- buffer = createImage(tabW, tabH);
- }
- }
-
- private synchronized void flushCache() {
- tabx = null;
- tabtext = null;
- tabW = 0;
- tabH = 0;
- buffer = null;
- if (isValid())
- invalidate();
- }
-
- //
- // Drawing methods
- //
-
- public void update(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
-
- cacheTabInfo();
- Dimension size = size();
- int x, y;
-
- x = folderInsets.left + tabW;
- y = folderInsets.top + tabH;
-
- // Clear the background
- g.setColor(getBackground());
- g.fillRect(0, 0, size.width, folderInsets.top);
- g.fillRect(0, y, size.width, size.height-y);
- g.fillRect(0, 0, folderInsets.left, size.height);
- g.fillRect(x, 0, size.width-x, size.height);
-
- draw(g);
- }
-
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- draw(g);
- }
-
- private synchronized void draw(Graphics g) {
- cacheTabInfo();
- Dimension size = size();
-
- if (buffer != null) {
- drawTabs(size);
- g.drawImage(buffer, folderInsets.left,
- folderInsets.top, null);
- }
-
- drawBox(g, size);
- }
-
- private synchronized void drawTabs(Dimension size) {
- Graphics g = buffer.getGraphics();
- String card = getCurrentCard();
- int selIndex = -1;
- if (card != null)
- selIndex = tabs.indexOf(card);
-
- g.setColor(getBackground());
- g.fillRect(0, 0, tabW, tabH);
-
- for (int i = 0; i < tabtext.length; i++) {
- if (i != selIndex) {
- drawTab(g, i, false);
- }
- }
-
- for (int i = 0; i < tabtext.length; i++) {
- if (i == selIndex) {
- drawTab(g, i, true);
- break;
- }
- }
-
- // Draw the left extra bit
- g.setColor(brighter(getBackground()));
- g.fillRect(0, tabH-bd, bd, bd);
-
- // Draw the right extra bit
- int rightEdge = tabx[tabx.length-1];
- if ((size.width - tabW) > (folderInsets.left +
- folderInsets.right)) {
- // The corner does not lie within the image.
- // This can happen
- // when the tabs do not completely fill
- // the top of the folder.
- g.setColor(brighter(getBackground()));
- g.fillRect(tabW-bd, tabH-bd, bd, bd);
- } else {
- drawUpperRightCorner(g, tabW-bd, tabH-bd);
- }
- }
-
- private void drawUpperRightCorner(Graphics g, int x, int y) {
- String card = getCurrentCard();
- int selIndex = -1;
- if (card != null)
- selIndex = tabs.indexOf(card);
-
- g.setColor(darker(getBackground()));
- fillRect(g, x, y, bd, bd);
-
- int size = tabs.size();
- if (size == 0 || selIndex != size-1) {
- g.setColor(brighter(getBackground()));
- fillRect(g, x, y, 1, 1);
- }
- }
-
- private void drawTab(Graphics g, int index, boolean selected) {
- int x = tabx[index];
- int y = bd;
- int w = tabx[index+1]-tabx[index]-1;
- int h = tabH-bd-1;
-
- if (selected) {
- x -= bd;
- y -= bd;
- w += 2*bd;
- h += 2*bd;
- }
-
- g.setColor(getBackground());
- draw3DOuterTab(g, x, y, w, h, selected);
- draw3DInnerTab(g, x+1, y+1, w-2, h-2, selected);
-
- x = tabx[index] + bd + (tabipadx/2);
- y = tabH - bd - tabipady/2;
- if (selected)
- y -= bd;
-
- g.setColor(getForeground());
- g.setFont(getFont());
- g.drawString(tabtext[index], x, y-1);
- }
-
- private void drawBox(Graphics g, Dimension size) {
- int x = folderInsets.left;
- int y = folderInsets.top + tabH;
- int w = size.width - (folderInsets.left +
- folderInsets.right) - 1;
- int h = size.height - (tabH + folderInsets.top +
- folderInsets.bottom) - 1;
-
- if (x >= size.width || y >= size.height || w <= 0 || h <= 0)
- return;
-
- g.setColor(getBackground());
- draw3DU(g, x, y, w, h, true);
-
- // Draw the extra line on the top-right side if the tab image
- // does not cover the area. The tab image is only as wide as
- // the tabs, so we need to account for any possible extra space
- // here.
- if ((size.width - tabW) > (folderInsets.left +
- folderInsets.right)) {
- g.setColor(brighter(getBackground()));
- fillRect(g, folderInsets.left + tabW,
- folderInsets.top + tabH - bd,
- size.width - (folderInsets.left + folderInsets.right +
- tabW),
- bd);
- drawUpperRightCorner(g,
- size.width - folderInsets.right - bd,
- folderInsets.top + tabH - bd);
- }
- }
-
- private void draw3DU(Graphics g, int x, int y, int width,
- int height, boolean raised) {
- Color c = g.getColor();
- Color brighter = brighter(c);
- Color darker = darker(c);
-
- g.setColor(raised ? brighter : darker);
- g.drawLine(x, y, x, y + height);
- g.drawLine(x+1, y, x+1, y + height);
-
- g.setColor(raised ? darker : brighter);
- g.drawLine(x + 1, y + height, x + width, y + height);
- g.drawLine(x + 2, y + height - 1, x + width - 1,
- y + height - 1);
-
- g.drawLine(x + width, y, x + width, y + height - 1);
- g.drawLine(x + width - 1, y, x + width - 1, y + height - 1);
- g.setColor(c);
- }
-
- private void draw3DInnerTab(Graphics g,
- int x, int y, int width, int height,
- boolean selected) {
- Color c = g.getColor();
- Color brighter = brighter(c);
- Color darker = darker(c);
-
- g.setColor(brighter);
- g.drawLine(x, y, x, y + height);
- g.drawLine(x + 1, y, x + width - 1, y);
- if (!selected)
- g.drawLine(x + 1, y + height, x + width + 1, y + height);
- g.setColor(darker);
- g.drawLine(x + width, y, x + width, y + height - 1);
- g.setColor(c);
- }
-
- private void draw3DOuterTab(Graphics g,
- int x, int y, int width, int height,
- boolean selected) {
- Color c = g.getColor();
- Color brighter = brighter(c);
- Color darker = darker(c);
-
- // Left, Top, Bottom, Right
-
- g.setColor(brighter);
- g.drawLine(x, y + 2, x, y + height);
- g.drawLine(x + 2, y, x + width - 2, y);
- if (!selected)
- g.drawLine(x + 1, y + height, x + width, y + height);
- g.setColor(darker);
- g.drawLine(x + width, y + 2, x + width, y + height - 2);
- g.setColor(c);
- }
-
- /**
- * Returns a brighter version of this color.
- */
- private Color brighter(Color c) {
- // fix for bug where the brighter color doesn't show up
- // against a white background The Util.brighter will return
- // new Color(<some light grey>) for whites.
- return Global.util.brighter(c);
- }
-
- /**
- * Returns a darker version of this color.
- */
- private Color darker(Color c) {
- return new Color(Math.max((int)(c.getRed() *DFACTOR), 0),
- Math.max((int)(c.getGreen()*DFACTOR), 0),
- Math.max((int)(c.getBlue() *DFACTOR), 0));
- }
-
- // Workaround for Windows fillRect bug.
- // The Windows fillRect sometimes
- // fills the lower-right edges when it shouldn't.
- // The bug appears to
- // only happen is certain situations. It does
- // not seem to happen when
- // drawing inside an off-screen buffer.
- private void fillRect(Graphics g, int x, int y, int w, int h) {
- if (Global.isWindows()) {
- w -= 1;
- h -= 1;
- g.drawRect(x, y, w, h);
- }
- g.fillRect(x, y, w, h);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TextList.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TextList.java
deleted file mode 100644
index dd46a5b35c..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TextList.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) TextList.java 1.15 - last change made 11/26/96
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.*;
-import java.util.Vector;
-
-/**
- * An alternate to the regular AWT List widget.
- *
- * @version 1.15, 11/26/96
- */
-public class TextList extends ScrollPanel {
- TextView view;
- private StringVector items;
-
- public TextList() {
- items = new StringVector();
- view = new TextView();
- view.items(items.vector);
-
- add(view);
- }
-
- //
- // Methods that are forwarded to the view.
- //
- public void enable(boolean value) {
- super.enable(value);
- view.enable(value);
- }
-
- public StringVector items() {
- return items;
- }
-
- public void updateView() {
- view.updateView();
- updateWindow();
- }
-
- public void setMinimumRows(int num) {
- view.setMinimumRows(num);
- }
-
- public int getMinimumRows() {
- return view.getMinimumRows();
- }
-
- public void setMinimumColumns(int num) {
- view.setMinimumColumns(num);
- }
-
- public int getMinimumColumns() {
- return view.getMinimumColumns();
- }
-
- public int getRows() {
- return view.getRows();
- }
-
- public void select(int index) {
- view.select(index);
- }
-
- public void select(String item) {
- view.select(item);
- }
-
- public void deselect(int index) {
- view.deselect(index);
- }
-
- public void deselectAll() {
- view.deselectAll();
- }
-
- public void setMultipleSelections(boolean v) {
- view.setMultipleSelections(v);
- }
-
- public boolean allowsMultipleSelections() {
- return view.allowsMultipleSelections();
- }
-
- public int getSelectedIndex() {
- return view.getSelectedIndex();
- }
-
- public int[] getSelectedIndexes() {
- return view.getSelectedIndexes();
- }
-
- public String getSelectedItem() {
- return (String)view.getSelectedItem();
- }
-
- public String[] getSelectedItems() {
- Object items[] = view.getSelectedItems();
- String str[] = new String[items.length];
- for (int i = 0; i < items.length; i++)
- str[i] = (String)items[i];
- return str;
- }
-
- public void addItem(String item) {
- items.addElement(item);
- updateView();
- }
-
- public void addItem(String item, int index) {
- if (index == -1) {
- if (items.size() == 0) {
- items.addElement(item);
- } else {
- items.insertElementAt(item, 0);
- }
- } else if (index < items.size()) {
- items.insertElementAt(item, index);
- } else {
- items.addElement(item);
- }
- updateView();
- }
-
- public void replaceItem(String newValue, int index) {
- if (index < items.size()) {
- items.setElementAt(newValue, index);
- updateView();
- }
- }
-
- public int countItems() {
- return items.size();
- }
-
- public void clear() {
- items.removeAllElements();
- updateView();
- }
-
- public void delItem(int position) {
- if (position < items.size()) {
- items.removeElementAt(position);
- updateView();
- }
- }
-
- public void delItems(int start, int end) {
- for (int index = start; index <= end; index++) {
- if (index < items.size()) {
- items.removeElementAt(start);
- }
- }
- updateView();
- }
-
- public String getItem(int index) {
- if (index < items.size()) {
- return (items.elementAt(index));
- } else return null;
- }
-
- public void makeVisible(int index) {
- updateView();
- super.makeVisible(index);
- }
-
- public int lineHeight() {
- return view.lineHeight();
- }
-
- public void menuMode(CLChoice choice) {
- view.menuMode(choice);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TextView.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TextView.java
deleted file mode 100644
index 69f01096d0..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/TextView.java
+++ /dev/null
@@ -1,682 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) TextView.java 1.29 - last change made 08/12/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.*;
-import java.util.Vector;
-import java.util.Hashtable;
-
-public class TextView extends VJCanvas implements Scrollable {
- private static final int RIGHT_MOUSE = 4;
-
- protected Vector items;
-
- protected int fontHeight, lineWidth, lineHeight;
- protected FontMetrics fontMetrics;
- protected int minrows = 10;
- protected int mincolumns = 15;
- protected int minWidth = 0;
-
- static protected final int textIndent = 6;
- static protected final int textBorder = 2;
- static protected final int viewBorder = 0;
- static protected final int viewIPad = 2;
-
- private int selected[] = new int[0];
- private int numSelected;
-
- private int scrollx = 0;
- private int scrolly = 0;
- private Image buffer;
- private boolean multipleSelections;
- private Hashtable stringWidthTable;
-
- private boolean menuMode;
- private CLChoice menuChoice;
- boolean menuDrag;
-
- private boolean gotEventInside;
- private int prevMenuY;
-
- public TextView() {
- stringWidthTable = new Hashtable();
- // why was the background hardcoded to white?
- // setBackground(Color.white);
- }
-
- //
- // Accessor methods. These are forwarded from the TextList class.
- //
- public void setMinimumRows(int num) {
- minrows = num;
- }
-
- public int getMinimumRows() {
- return minrows;
- }
-
- public void setMinimumColumns(int num) {
- mincolumns = num;
- }
-
- public int getMinimumColumns() {
- return mincolumns;
- }
-
- public int getRows() {
- if (lineHeight == 0)
- return 0;
-
- Dimension size = size();
- int h = size.height - (viewBorder + viewIPad);
- return ((h+lineHeight-1)/lineHeight);
- }
-
- public void updateView() {
- for (int i = 0; i < numSelected; i++) {
- if (selected[i] >= items.size()) {
- shift(selected, i+1, numSelected, -1);
- numSelected--;
- }
- }
-
- cacheMinWidth();
- repaint();
- }
-
- private void shift(int[] data, int offset, int length, int shift) {
- System.arraycopy(data, offset, data, offset+shift,
- length-offset);
- }
-
- public void select(int index) {
- if (index >= items.size())
- return;
- if (index < -1)
- return;
-
- if (!multipleSelections) {
- if (index == -1) {
- if (numSelected != 0) {
- numSelected = 0;
- repaint();
- }
- } else {
- if (numSelected == 0) {
- selected = ensureCapacity(selected, numSelected, 1);
- numSelected = 1;
- selected[0] = -1;
- }
- if (selected[0] != index) {
- selected[0] = index;
- repaint();
- }
- }
- } else {
- if (index == -1)
- return;
-
- boolean inserted = false;
- for (int i = 0; i < numSelected; i++) {
- if (index == selected[i]) {
- inserted = true;
- break;
- } else if (index < selected[i]) {
- inserted = true;
- selected = ensureCapacity(selected,
- numSelected, numSelected+1);
- shift(selected, i, numSelected, 1);
- selected[i] = index;
- numSelected++;
- repaint();
- break;
- }
- }
-
- if (!inserted) {
- selected = ensureCapacity(selected, numSelected,
- numSelected+1);
- selected[numSelected] = index;
- numSelected++;
- repaint();
- }
- }
- }
-
- public void select(Object item) {
- if (item != null)
- select(items.indexOf(item));
- }
-
- public void deselect(int index) {
- if (index < 0 || index >= items.size())
- return;
-
- for (int i = 0; i < numSelected; i++) {
- if (selected[i] == index) {
- shift(selected, i+1, numSelected, -1);
- numSelected--;
- repaint();
- break;
- }
- }
- }
-
- public void deselectAll() {
- if (numSelected != 0) {
- numSelected = 0;
- repaint();
- }
- }
-
- public boolean isSelected(int index) {
- for (int i = 0; i < numSelected; i++) {
- if (selected[i] == index)
- return true;
- }
-
- return false;
- }
-
- public void setMultipleSelections(boolean v) {
- multipleSelections = v;
- }
-
- public boolean allowsMultipleSelections() {
- return multipleSelections;
- }
-
- public int getSelectedIndex() {
- if (numSelected == 0)
- return -1;
- else
- return selected[0];
- }
-
- public int[] getSelectedIndexes() {
- int[] data = new int[numSelected];
- System.arraycopy(selected, 0, data, 0, numSelected);
- return data;
- }
-
- public Object getSelectedItem() {
- if (numSelected == 0)
- return null;
- else
- return items.elementAt(selected[0]);
- }
-
- public Object[] getSelectedItems() {
- Object[] data = new Object[numSelected];
- for (int i = 0; i < numSelected; i++)
- data[i] = items.elementAt(selected[i]);
- return data;
- }
-
- private int[] ensureCapacity(int[] elementData, int elementCount,
- int minCapacity) {
- int oldCapacity = elementData.length;
- if (minCapacity > oldCapacity) {
- int oldData[] = elementData;
- int newCapacity = oldCapacity * 2;
- if (newCapacity < minCapacity) {
- newCapacity = minCapacity;
- }
- elementData = new int[newCapacity];
- System.arraycopy(oldData, 0, elementData, 0, elementCount);
- }
-
- return elementData;
- }
-
- //
- // Package private accessor methods
- //
- protected void items(Vector items) {
- this.items = items;
- }
-
- //
- // Component methods
- //
- public Dimension minimumSize() {
- int bd = getBD();
- return new Dimension(minWidth + bd, (minrows * lineHeight)
- + bd);
- }
-
- public Dimension preferredSize() {
- return minimumSize();
- }
-
- //
- // Scrollable methods
- //
- public void scrollX(int x) {
- scrollx = x;
- repaint();
- }
-
- public void scrollY(int y) {
- scrolly = y;
- repaint();
- }
-
- public Dimension scrollSize() {
- return new Dimension(minWidth, items.size()*lineHeight);
- }
-
- public Dimension viewSize(Dimension size) {
- int bd = getBD();
- size.width -= bd;
- size.height -= bd;
- return size;
- }
-
- public int lineHeight() {
- return lineHeight;
- }
-
- private int getBD() {
- return 2 * (viewBorder + viewIPad);
- }
-
- //
- // Event handling for selections
- //
- public boolean mouseDown(Event e, int x, int y) {
- //
- // On Windows95, we sometimes get bogus
- // mouseDown events. This happens
- // when the TextView is being used as a
- // menu for the CLChoice component.
- // The user presses the mouse over the CLChoice
- // item in the list, causing
- // the menu to be mapped. Then, without
- // releasing the mouse, the user
- // drags the mouse into the menu. This
- // sometimes causes a bogus
- // mouseDown event to be sent to the menu /* JSTYLED */
- // (actually to the TextView
- // inside the menu).
- //
- // The workaround is to ignore mouseDown
- // events that occur before there
- // has been either a mouseDrag or a
- // mouseMove event. This check is only
- // made if menuChoice is not null /* JSTYLED */
- // (indicating that this TextView is being
- // used as a CLChoice menu).
- //
- if (menuChoice != null && !menuDrag)
- return true;
-
- selectY(e, true);
-
- menuMode = false;
- menuChoice = null;
- menuDrag = false;
-
- return true;
- }
-
- public boolean mouseDrag(Event e, int x, int y) {
- // Workaround for bug observed on WindowsNT
- // where you get spurious
- // mouse drag events when pressing the mouse.
- // The spurious event
- // has coordinates x=-1 and y=-1.
- if (!Global.isWindows() || e.y != -1) {
- if (menuMode) {
- menuDrag = true;
- menuEvent(e);
- } else if (!multipleSelections) {
- selectY(e, true);
- }
- }
-
- return true;
- }
-
- public boolean mouseUp(Event e, int x, int y) {
- if (menuMode)
- menuEvent(e);
-
- return true;
- }
-
- public boolean mouseMove(Event e, int x, int y) {
- if (menuMode) {
- menuDrag = true;
- menuEvent(e);
- return true;
- } else {
- return false;
- }
- }
-
- private void selectY(Event e, boolean doPost) {
- int evtX = e.x;
- int evtY = e.y + scrolly - (viewBorder + viewIPad);
- int index = evtY/lineHeight;
- int size = items.size();
- int id;
-
- if (size == 0)
- return;
- if (index >= size)
- index = size-1;
- if (index < 0)
- index = 0;
-
- if (multipleSelections) {
- if (isSelected(index)) {
- id = Event.LIST_DESELECT;
- deselect(index);
- } else {
- id = Event.LIST_SELECT;
- select(index);
- }
-
- if (doPost) {
- Event evt = new Event(getParent(), id,
- items.elementAt(index));
- if (menuChoice != null)
- menuChoice.handleEvent(evt);
- else
- postEvent(evt);
- }
- } else {
- id = Event.LIST_SELECT;
-
- //
- // Ignore double-clicks on Windows because
- // they are sent spuriously.
- //
- if ((e.clickCount == 2 && !Global.isWindows()) ||
- e.modifiers == RIGHT_MOUSE) {
- id = Event.ACTION_EVENT;
- }
-
- if (!isSelected(index)) {
- select(index);
- repaint();
- if (doPost) {
- Event evt = new Event(getParent(), id,
- items.elementAt(index));
- if (menuChoice != null)
- menuChoice.handleEvent(evt);
- else
- postEvent(evt);
- }
- } else if (e.id == Event.MOUSE_DOWN ||
- e.id == Event.MOUSE_UP) {
- if (doPost) {
- Event evt = new Event(getParent(), id,
- items.elementAt(index));
- if (menuChoice != null)
- menuChoice.handleEvent(evt);
- else
- postEvent(evt);
- }
- }
- }
- }
-
- //
- // Painting
- //
- public void reshape(int x, int y, int width, int height) {
- super.reshape(x, y, width, height);
- cacheLineWidth();
-
- if (width <= 0 || height <= 0)
- return;
-
- // Create the image used for double-buffering
- if (buffer == null ||
- (width != buffer.getWidth(this) ||
- height != buffer.getHeight(this)))
- buffer = createImage(width, height);
- }
-
- public void update(Graphics g) {
- paint(g);
- }
-
- public void paint(Graphics g) {
- if (buffer == null)
- return;
-
- g = buffer.getGraphics();
- g.setFont(getFont());
-
- Dimension d = size();
-
- g.setColor(getBackground());
- g.fillRect(0, 0, d.width, d.height);
-
- if (isEnabled())
- g.setColor(getForeground());
- else
- g.setColor(getBackground().darker());
- drawItems(g);
-
- g.setColor(getBackground());
- drawBorder(g);
-
- g = getGraphics();
- g.drawImage(buffer, 0, 0, this);
- }
-
- private void drawItems(Graphics g) {
- Dimension d = size();
- int size = items.size();
-
- int viewTop, viewBottom, lineTop, lineBottom;
- int bd = viewBorder + viewIPad;
- int yoff;
-
- viewTop = scrolly;
- viewBottom = scrolly + d.height;
-
- for (int i = 0; i < size; i++) {
- lineTop = i*lineHeight;
- lineBottom = lineTop + lineHeight;
-
- if (lineTop > viewBottom || lineBottom < viewTop)
- continue;
-
- yoff = lineTop - viewTop + bd;
- drawLine(g, i, -scrollx+bd, yoff);
- }
- }
-
- protected void drawLine(Graphics g, int index, int xoff, int yoff) {
- String name = (String)items.elementAt(index);
-
- int x = textIndent;
- int y = (lineHeight + fontHeight)/2 - 1;
-
- if (isSelected(index)) {
- g.setColor(new Color(0, 0, 128));
- g.fillRect(xoff, yoff, lineWidth, lineHeight);
- g.setColor(Color.white);
- }
-
- // Useful for pixel debugging
- // g.drawRect(xoff, yoff, lineWidth-1, lineHeight-1);
-
- g.drawString(name, x+xoff, y+yoff);
-
- if (isSelected(index)) {
- g.setColor(getForeground());
- }
- }
-
- private void drawBorder(Graphics g) {
- Dimension size = size();
-
- for (int i = 0; i < viewIPad; i++)
- g.drawRect(viewBorder+i, viewBorder+i,
- size.width-1-2*(i+viewBorder),
- size.height-1-2*(i+viewBorder));
- }
-
- public void addNotify() {
- super.addNotify();
- cacheAll();
- }
-
- public void setFont(Font f) {
- super.setFont(f);
-
- stringWidthTable.clear();
- if (getPeer() != null)
- cacheAll();
- }
-
- private void cacheAll() {
- cacheLineHeight();
- cacheMinWidth();
- }
-
- //
- // Need to call this when the list of items
- // changes, the font changes,
- // or the mincolumns changes. The mincolumns
- // change should be followed
- // by a call to updateView for the change
- // to take effect. It is only
- // necessary to call updateView if addNotify
- // has not yet been called.
- //
- protected void cacheMinWidth() {
- minWidth = mincolumns * getStringWidth(/* NOI18N */"0");
-
- int count = items.size();
- for (int i = 0; i < count; i++)
- minWidth = Math.max(minWidth,
- getStringWidth((String)items.elementAt(i)));
-
- minWidth += textIndent * 2;
- cacheLineWidth();
- }
-
- protected int getStringWidth(String s) {
- if (fontMetrics == null)
- return 0;
-
- Integer val = (Integer)stringWidthTable.get(s);
- if (val == null) {
- val = new Integer(fontMetrics.stringWidth(s));
- stringWidthTable.put(s, val);
- }
-
- return val.intValue();
- }
-
- //
- // Need to call this when the size
- // changes and when the minWidth changes.
- //
- protected void cacheLineWidth() {
- Dimension size = size();
- int bd = getBD();
- lineWidth = Math.max(minWidth, size.width-bd);
- }
-
- //
- // Need to call this when the font changes.
- //
- protected void cacheLineHeight() {
- lineHeight = 0;
- Graphics g = getGraphics();
- if (g == null)
- return;
-
- Font f = getFont();
- if (f == null)
- return;
-
- fontMetrics = g.getFontMetrics(f);
- fontHeight = fontMetrics.getMaxAscent();
-
- lineHeight = fontHeight + 2*textBorder;
- }
-
- //
- // Methods used by CLChoice
- //
-
- void menuMode(CLChoice choice) {
- menuChoice = choice;
- menuMode = true;
- menuDrag = false;
- gotEventInside = false;
- prevMenuY = 0;
- }
-
- private void menuEvent(Event e) {
- if (checkBounds(e)) {
- selectY(e, (e.id == Event.MOUSE_UP));
-
- // Auto-scrolling
- int bd = getBD();
- if (e.id != Event.MOUSE_MOVE &&
- ((e.y < bd && e.y < prevMenuY) ||
- (e.y > (size().height-bd) && e.y > prevMenuY))) {
- ((TextList)getParent()).makeVisible(getSelectedIndex());
- }
-
- prevMenuY = e.y;
- }
- }
-
- private boolean checkBounds(Event e) {
- if (!gotEventInside) {
- Dimension d = size();
- int bd = getBD();
- if (e.x >= bd && e.y >= bd &&
- e.x <= (d.width-bd) && e.y <= (d.height-bd))
- gotEventInside = true;
- }
-
- return gotEventInside;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJButton.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJButton.java
deleted file mode 100644
index 974f47dd8f..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJButton.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) VJButton.java 1.3 - last change made 01/08/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-
-public class VJButton extends Button {
- private boolean isStandard = true;
-
- public VJButton() {
- super();
- }
-
- public VJButton(String label) {
- super(label);
- }
-
- public Dimension minimumSize() {
- Dimension d = super.minimumSize();
- d = new Dimension(d.width, d.height);
- if (isStandard) {
- d.width = Math.max(d.width, 75);
- if (!Global.isWindows())
- d.height += 6;
- }
- return d;
- }
-
- public Dimension preferredSize() {
- Dimension d = super.preferredSize();
- d = new Dimension(d.width, d.height);
- if (isStandard) {
- d.width = Math.max(d.width, 75);
- if (!Global.isWindows())
- d.height += 6;
- }
- return d;
- }
-
- public boolean isStandard() {
- return isStandard;
- }
-
- public void setStandard(boolean value) {
- isStandard = value;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJCanvas.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJCanvas.java
deleted file mode 100644
index 3a8ebe16e7..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJCanvas.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) VJCanvas.java 1.5 - last change made 12/10/96
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-
-public class VJCanvas extends Canvas {
-
- public static final int PAINT_EVENT = 2567;
- public static final int UPDATE_EVENT = 2568;
-
- /**
- * This Canvas doesn't keep growing like the regular Canvas does.
- **/
-
- int minWidth = 100, minHeight = 100;
-
- public void setMinWidth(int minWidth) {
- this.minWidth = minWidth;
- }
-
- public void setMinHeight(int minHeight) {
- this.minHeight = minHeight;
- }
-
- public int getMinWidth() {
- return minWidth;
- }
-
- public int getMinHeight() {
- return minHeight;
- }
-
- public Dimension minimumSize() {
- return new Dimension(minWidth, minHeight);
- }
-
- public Dimension preferredSize() {
- return minimumSize();
- }
-
- public void update(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- postEvent(new Event(this, UPDATE_EVENT, g));
- paint(g);
- }
-
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- super.paint(g);
- postEvent(new Event(this, PAINT_EVENT, g));
- }
-
- //
- // Workaround for Windows95 AWT bug: If
- // you call request focus while
- // the mouse is pressed, you get spurious
- // mouse down events. Not only
- // that, but the spurious events have
- // clickCount set to 2, so you end
- // up with spurious double clicks.
- // On Windows95 the component
- // automatically gets the focus when
- // you press the mouse inside it.
- // Therefore, it isn't necessary to
- // call requestFocus at all if running
- // on Windows and the mouse is down (and this avoids the bug).
- //
- public boolean postEvent(Event e) {
- // Fix the click count
- VJPanel.fixClickCount(e);
-
- if (e.id == Event.MOUSE_DOWN)
- VJPanel.isMouseDown = true;
- else if (e.id == Event.MOUSE_UP)
- VJPanel.isMouseDown = false;
- return super.postEvent(e);
- }
-
- public void requestFocus() {
- if (!Global.isWindows() || !VJPanel.isMouseDown)
- super.requestFocus();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJErrorDialog.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJErrorDialog.java
deleted file mode 100644
index 1a78aff23c..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJErrorDialog.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) VJErrorDialog.java 1.4 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-
-public class VJErrorDialog extends RootDialog {
-
- private MultiLineLabel errorLabel;
- private VJButton okButton;
-
- public VJErrorDialog(Frame frame, boolean modal) {
- super(frame, modal);
- init();
- }
-
- public VJErrorDialog(Frame frame, String title, boolean modal) {
- super(frame, title, modal);
- init();
- }
-
- public void setLabel(String label) {
- errorLabel.setLabel(label);
- }
-
- public String getLabel() {
- return errorLabel.getLabel();
- }
-
- private void init() {
- GBLayout gb = new GBLayout();
- GBConstraints c = new GBConstraints();
- setLayout(gb);
-
- c.weightx = 1;
- c.weighty = 1;
- c.gridwidth = 0;
-
- errorLabel = new MultiLineLabel();
- c.fill = GBConstraints.BOTH;
- c.insets = new Insets(2, 2, 2, 2);
- gb.setConstraints(add(errorLabel), c);
-
- c.weightx = 0;
- c.weighty = 0;
- c.fill = GBConstraints.HORIZONTAL;
- c.insets = new Insets(0, 0, 0, 0);
- gb.setConstraints(add(new LabelBar()), c);
-
- okButton = new VJButton(Global.getMsg(
- "sunsoft.jws.visual.rt.awt.VJErrorDialog.OK"));
- c.fill = GBConstraints.NONE;
- c.insets = new Insets(2, 2, 2, 2);
- gb.setConstraints(add(okButton), c);
- }
-
- public boolean action(Event evt, Object what) {
- if (evt.target == okButton) {
- hide();
- return true;
- }
-
- return false;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJFlowLayout.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJFlowLayout.java
deleted file mode 100644
index a73a04fd36..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJFlowLayout.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * @(#)FlowLayout.java 1.18 95/12/14 Arthur van Hoff
- *
- * Copyright (c) 1994, 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software
- * and its documentation for NON-COMMERCIAL purposes and without
- * fee is hereby granted provided that this copyright notice
- * appears in all copies. Please refer to the file "copyright.html"
- * for further important copyright and licensing information.
- *
- * 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.
- */
-package sunsoft.jws.visual.rt.awt;
-
-import java.awt.*;
-
-/**
- * Flow layout is used to layout buttons in a panel. It will arrange
- * buttons left to right until no more buttons fit on the same line.
- * Each line is centered.
- *
- * @version 1.18, 14 Dec 1995
- * @author Arthur van Hoff
- * @author Sami Shaio
- */
-public class VJFlowLayout implements LayoutManager {
-
- /**
- * The left alignment variable.
- */
- public static final int LEFT = 0;
-
- /**
- * The right alignment variable.
- */
- public static final int CENTER = 1;
-
- /**
- * The right alignment variable.
- */
- public static final int RIGHT = 2;
-
- // Private variables
- private static final int PREFERREDSIZE = 0;
- private static final int MINIMUMSIZE = 1;
-
- private int align;
- private int hgap;
- private int vgap;
-
- private int minimumWidth;
-
- /**
- * Constructs a new Flow Layout with a centered alignment.
- */
- public VJFlowLayout() {
- this.align = LEFT;
- this.hgap = 5;
- this.vgap = 5;
- this.minimumWidth = 0;
- }
-
- public void setAlignment(int align) {
- this.align = align;
- }
-
- public int getAlignment() {
- return align;
- }
-
- public void setHGap(int hgap) {
- this.hgap = hgap;
- }
-
- public int getHGap() {
- return hgap;
- }
-
- public void setVGap(int vgap) {
- this.vgap = vgap;
- }
-
- public int getVGap() {
- return vgap;
- }
-
- public void setMinimumWidth(int width) {
- this.minimumWidth = width;
- }
-
- public int getMinimumWidth() {
- return minimumWidth;
- }
-
- /**
- * Adds the specified component to the layout.
- * Not used by this class.
- * @param name the name of the component
- * @param comp the the component to be added
- */
- public void addLayoutComponent(String name, Component comp) {
- }
-
- /**
- * Removes the specified component from the layout. Not used by
- * this class.
- * @param comp the component to remove
- */
- public void removeLayoutComponent(Component comp) {
- }
-
- /**
- * Returns the preferred dimensions for
- * this layout given the components
- * in the specified target container.
- * @param target the component which needs to be laid out
- * @see Container
- * @see #minimumLayoutSize
- */
- public Dimension preferredLayoutSize(Container target) {
- return calcLayoutSize(target, PREFERREDSIZE);
- }
-
- /**
- * Returns the minimum dimensions needed to layout the components
- * contained in the specified target container.
- * @param target the component which needs to be laid out
- * @see #preferredLayoutSize
- */
- public Dimension minimumLayoutSize(Container target) {
- return calcLayoutSize(target, MINIMUMSIZE);
- }
-
- private Dimension calcLayoutSize(Container target, int which) {
- Insets insets = target.insets();
- Dimension r = new Dimension(0, vgap + insets.top +
- insets.bottom);
- int nmembers = target.countComponents();
- int rowCount = 0;
- int rowWidth = insets.left + insets.right + hgap;
- int rowHeight = 0;
-
- for (int i = 0; i < nmembers; i++) {
- Component m = target.getComponent(i);
-
- if (m.isVisible()) {
- Dimension d;
- if (which == PREFERREDSIZE)
- d = m.preferredSize();
- else
- d = m.minimumSize();
-
- if (minimumWidth > 0 && rowCount != 0 &&
- rowWidth + d.width + hgap > minimumWidth) {
-
- r.width = Math.max(rowWidth, r.width);
- r.height += (rowHeight + vgap);
-
- rowCount = 0;
- rowWidth = insets.left + insets.right + hgap;
- rowHeight = 0;
- }
-
- rowWidth += (d.width + hgap);
- rowHeight = Math.max(rowHeight, d.height);
- rowCount++;
- }
- }
-
- if (rowCount > 0) {
- r.width = Math.max(rowWidth, r.width);
- r.height += (rowHeight + vgap);
- }
-
- return r;
- }
-
- /**
- * Centers the elements in the specified row, if there is any slack.
- * @param target the component which needs to be moved
- * @param x the x coordinate
- * @param y the y coordinate
- * @param width the width dimensions
- * @param height the height dimensions
- * @param rowStart the beginning of the row
- * @param rowEnd the the ending of the row
- */
- private void moveComponents(Container target, int x, int y,
- int width, int height, int rowStart, int rowEnd) {
- switch (align) {
- case LEFT:
- break;
- case CENTER:
- x += width / 2;
- break;
- case RIGHT:
- x += width;
- break;
- }
- for (int i = rowStart; i < rowEnd; i++) {
- Component m = target.getComponent(i);
- if (m.isVisible()) {
- Dimension size = m.size();
- m.move(x, y + (height - size.height) / 2);
- x += hgap + size.width;
- }
- }
- }
-
- /**
- * Lays out the container. This method will actually reshape the
- * components in the target in order to satisfy the constraints of
- * the BorderLayout object.
- * @param target the specified component being laid out.
- * @see Container
- */
- public void layoutContainer(Container target) {
- Insets insets = target.insets();
- Dimension size = target.size();
- int maxwidth = size.width - (insets.left + insets.right +
- hgap*2);
- int nmembers = target.countComponents();
- int x = 0, y = insets.top + vgap;
- int rowh = 0, start = 0;
-
- for (int i = 0; i < nmembers; i++) {
- Component m = target.getComponent(i);
- if (m.isVisible()) {
- Dimension d = m.preferredSize();
- m.resize(d.width, d.height);
-
- if ((x == 0) || ((x + d.width) <= maxwidth)) {
- if (x > 0) {
- x += hgap;
- }
- x += d.width;
- rowh = Math.max(rowh, d.height);
- } else {
- moveComponents(target, insets.left + hgap,
- y, maxwidth - x, rowh, start, i);
- x = d.width;
- y += vgap + rowh;
- rowh = d.height;
- start = i;
- }
- }
- }
- moveComponents(target, insets.left + hgap, y,
- maxwidth - x, rowh, start, nmembers);
- }
-
- /**
- * Returns the String representation of this FlowLayout's values.
- */
- public String toString() {
- String str = /* NOI18N */"";
- switch (align) {
- case LEFT: str = /* NOI18N */",align=left"; break;
- case CENTER: str = /* NOI18N */",align=center"; break;
- case RIGHT: str = /* NOI18N */",align=right"; break;
- }
- return getClass().getName() + /* NOI18N */"[hgap=" +
- hgap + /* NOI18N */",vgap=" + vgap + str + /* NOI18N */"]";
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJPanel.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJPanel.java
deleted file mode 100644
index 6975fd31f0..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJPanel.java
+++ /dev/null
@@ -1,796 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) VJPanel.java 1.31 - last change made 08/25/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.*;
-import java.awt.*;
-import java.util.Hashtable;
-
-public class VJPanel extends Panel {
- // Relief constants
- public static final int RELIEF_FLAT = Util.RELIEF_FLAT;
- public static final int RELIEF_RAISED = Util.RELIEF_RAISED;
- public static final int RELIEF_SUNKEN = Util.RELIEF_SUNKEN;
- public static final int RELIEF_RIDGE = Util.RELIEF_RIDGE;
- public static final int RELIEF_GROOVE = Util.RELIEF_GROOVE;
- public static final int WIN95_RAISED = Util.WIN95_RAISED;
- public static final int WIN95_SUNKEN = Util.WIN95_SUNKEN;
- /* BEGIN JSTYLED */
- public static final int WIN95_FIELD_BORDER = Util.WIN95_FIELD_BORDER;
- public static final int WIN95_WINDOW_BORDER = Util.WIN95_WINDOW_BORDER;
- /* END JSTYLED */
- public static final int BLACK_BORDER = Util.BLACK_BORDER;
-
- // Alignment constants
- public static final int LEFT = Label.LEFT;
- public static final int CENTER = Label.CENTER;
- public static final int RIGHT = Label.RIGHT;
-
- // Drawing constants
- private static final int labelpadx = 10;
- private static final int labelipadx = 4;
- private static final int labelpadtop = 2;
-
- // Maker event
- private static final int MARKER_EVENT = 83250;
-
- // Multiply factor for darker color
- private static double FACTOR = 0.85;
-
- // request focus workaround for Windows
- static boolean isMouseDown;
-
- // click count adjustment
- private static final int CLICK_TIMEOUT = 400;
- private static final int CLICK_DISTANCE = 2;
- private static int clickCount = 1;
- private static long clickTime = 0;
- private static long clickWhen = -1;
- private static int clickX, clickY;
-
- // Relief
- private int relief;
-
- // Border width
- int borderWidth;
-
- // Label for the upper border of the panel
- private String borderLabel;
-
- // Alignment for the borderLabel
- private int labelAlignment;
-
- // Insets between the border decoration and the child components
- private Insets borderInsets;
-
- //
- // Event forwarding to groups.
- //
- // The MARKER_EVENT stuff is necessary because AWT is broken. For
- // example, say a key is pressed in a textfield. All of the parents
- // of the textfield get a chance at the event before the textfield's
- // peer. If any of the parents returns true from handleEvent, then
- // the peer never sees the event.
- //
- // VJPanel overrides postEvent instead of handleEvent. handleEvent
- // would have been overridden if it we possible to return true from
- // handleEvent and not screw up AWT. Since this is not the case, it
- // becomes necessary to override postEvent instead of handleEvent,
- // to ensure that all AWT event handling has taken place everywhere
- // before the event is forwarded to the shadow (and from there to
- // the group).
- //
- // The panel cannot return true from postEvent or else no one
- // will ever see the event. Therefore, postEvent returns false,
- // and the MARKER_EVENT stuff ensures that the event doesn't get
- // delivered twice.
- //
- //
-
- /**
- * markEvent - Marks events that should be forwarded to the shadow.
- *
- * Returns true if the event has been marked, false otherwise.
- */
- public static boolean markEvent(Event evt, Component comp) {
- //
- // Check for events that are already marked
- //
- Event e = evt.evt;
- while (e != null) {
- if (e.id == MARKER_EVENT)
- return false;
- e = e.evt;
- }
-
- //
- // Figure out the mgr to send the mesage to, and also figure
- // out the target for the message.
- //
- Object messageTarget = null;
- AttributeManager mgr = null;
- Hashtable shadowTable = DesignerAccess.getShadowTable();
-
- if (evt.target != null) {
- mgr = (AttributeManager)shadowTable.get(evt.target);
- messageTarget = mgr;
- }
- if (mgr == null) {
- mgr = (AttributeManager)shadowTable.get(comp);
- messageTarget = evt.target;
- }
-
- //
- // If we found a mgr, then mark the event and return true.
- // Otherwise, return false.
- //
- if (mgr != null) {
- Message msg = new Message(messageTarget, /* NOI18N */"AWT",
- evt, true);
-
- e = evt;
- while (e.evt != null)
- e = e.evt;
- e.evt = new Event(mgr, MARKER_EVENT, msg);
-
- e.evt.x = e.x;
- e.evt.y = e.y;
-
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * forwardEvent - Forwards marked events to the shadow
- */
- public static void forwardEvent(Event evt, Component comp) {
- // Find the marker event and remove it
- Event p = evt;
- Event e = evt;
- while (e.evt != null) {
- p = e;
- e = e.evt;
- }
- p.evt = null;
-
- // Make sure we have a marked event
- if (e.id != MARKER_EVENT) {
- throw new Error(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.awt.VJPanel.UnmarkedEvent", "forwardEvent"));
- }
-
- // Need to untranslate the (x,y) for the event.
- evt.x = e.x;
- evt.y = e.y;
-
- Component target = null;
- if (evt.target instanceof Component)
- target = (Component)evt.target;
-
- while (target != null && target != comp) {
- Container parent = target.getParent();
- if (parent == null) {
- // We didn't hit comp on the way up the tree,
- // so don't translate
- evt.x = e.x;
- evt.y = e.y;
- break;
- }
-
- translateEvent(evt, target, parent, true);
- target = parent;
- }
-
- // Fix the click count
- fixClickCount(evt);
-
- // Send the message
- AttributeManager mgr = (AttributeManager)e.target;
- mgr.postMessage((Message)e.arg);
- }
-
- // Windows workaround: The location of most
- // components gets totally
- // screwed up on Windows. The solution is to
- // use the location in the
- // GBConstraints instead. This version of
- // postEvent translates events
- // according to the GBConstraints location variable.
- public boolean postEvent(Event e) {
- // Fix the click count
- fixClickCount(e);
-
- if (e.id == Event.MOUSE_DOWN)
- VJPanel.isMouseDown = true;
- else if (e.id == Event.MOUSE_UP)
- VJPanel.isMouseDown = false;
-
- boolean marked = markEvent(e, this);
- boolean handled = doPostEvent(e);
- if (marked)
- VJPanel.forwardEvent(e, this);
-
- return handled;
- }
-
- private boolean doPostEvent(Event e) {
- boolean handled = false;
-
- if (Global.isWindows()) {
- if (handleEvent(e)) {
- handled = true;
- } else {
- Container parent = getParent();
- if (parent != null) {
- translateEvent(e, this, parent);
-
- if (parent.postEvent(e)) {
- handled = true;
- }
- }
- }
- } else {
- handled = super.postEvent(e);
- }
-
- return handled;
- }
-
-
- //
- // This is a workaround for two different problems.
- //
- // The first problem is that on Motif, the
- // click count sometimes does
- // not work. Sometimes is does sort of work,
- // but you have to double-
- // click REALLY fast. This workaround adjusts
- // the clickCount according
- // to a reasonable click timeout.
- //
- // The second problem is that on Windows you can get double-clicks
- // even if the second click is at a different x,y
- // location than the first
- // click. This workaround makes sure that
- // if the clicks are far apart,
- // then it isn't a double click.
- //
-
- static void fixClickCount(Event evt) {
- if (evt.id != Event.MOUSE_DOWN || evt.when == clickWhen)
- return;
-
- if (Global.isMotif()) {
- long curtime = System.currentTimeMillis();
- if (evt.when == 0)
- evt.when = curtime;
-
- int d = Math.abs(clickX - evt.x) + Math.abs(clickY - evt.y);
-
- if ((curtime - clickTime) < CLICK_TIMEOUT
- && (d <= CLICK_DISTANCE)) {
- clickCount++;
- evt.clickCount = clickCount;
- } else {
- clickCount = 1;
- }
-
- if (evt.clickCount == 1)
- evt.clickCount = clickCount;
- clickTime = curtime;
- clickWhen = evt.when;
- clickX = evt.x;
- clickY = evt.y;
- } else if (Global.isWindows()) {
- long curtime = System.currentTimeMillis();
- if (evt.when == 0)
- evt.when = curtime;
-
- int d = Math.abs(clickX - evt.x) + Math.abs(clickY - evt.y);
-
- if (d > CLICK_DISTANCE) {
- evt.clickCount = 1;
- }
-
- clickWhen = evt.when;
- clickX = evt.x;
- clickY = evt.y;
- }
- }
-
- public void translateEvent(Event e, Component child,
- Container parent) {
- translateEvent(e, child, parent, false);
- }
-
- private static void translateEvent(Event e,
- Component child, Container parent,
- boolean negate) {
-
- LayoutManager parentMgr = parent.getLayout();
-
- // Translate the event using the location
- // from the GridBagLayout,
- // if available. This solves the location problem if you use
- // GridBagLayout for all your containers.
- if (parentMgr instanceof GBLayout) {
- GBLayout gb = (GBLayout)parentMgr;
- GBConstraints c = gb.getConstraints(child);
-
- Point p = null;
- if (c != null)
- p = c.location;
- if (p == null)
- p = child.location();
-
- if (negate)
- e.translate(-p.x, -p.y);
- else
- e.translate(p.x, p.y);
- } else {
- Point p = child.location();
- if (negate)
- e.translate(-p.x, -p.y);
- else
- e.translate(p.x, p.y);
- }
- }
-
- //
- // Constructor
- //
-
- public VJPanel() {
- relief = Util.RELIEF_FLAT;
- borderLabel = null;
- borderWidth = 2;
- borderInsets = new Insets(5, 5, 5, 5);
- labelAlignment = LEFT;
- }
-
- public VJPanel(int relief) {
- this();
- setRelief(relief);
- }
-
- public VJPanel(int relief, String label) {
- this(relief);
- setBorderLabel(label);
- }
-
- public VJPanel(int relief, String label,
- int borderWidth, Insets borderInsets) {
- this(relief, label);
- setBorderWidth(borderWidth);
- setBorderInsets(borderInsets);
- }
-
- //
- // Children that are not visible should
- // not be layed out. The reason
- // for this is that layout managers ignore non-visible components,
- // therefore non-visible components do not get reshaped.
- //
- // In the case of a non-visible, non-container component, there is
- // no problem. But if you have a non-visible container, then the
- // layout method should not be called on that container. But AWT
- // ignores visibility and calls layout on
- // all containers regardless.
- //
- // The problem with this is that a non-visible container will not
- // have been reshaped when its parent was layed out. Therefore,
- // calling layout on this container causes it to do a layout based
- // on its own bogus size. This means that all the child components
- // get reshaped and validated with incorrect sizes! If the
- // non-visible container is later made
- // visible, all of its components
- // are already valid so they don't get layed out again. But these
- // components have incorrect sizes.
- //
- // This workaround ensures that layout is not called on non-visible
- // children of the container.
- //
- public void validate() {
- if (!isValid() && getPeer() != null) {
- layout();
-
- // Unfortunately, we don't have access to the valid flag.
- // Fortunately, it is okay to leave the component invalid.
- //
- // Components in an AWT application
- // are invalid most of the time
- // anyways, because if any child component invalidate, then
- // all the parents are invalidated. And there are many
- // situations where a child calls
- // invalidate where you don't
- // want to call validate again. So many components end up
- // invalid all the time. This is okay, because
- // it just means
- // that if you do call validate, then everything will get
- // layed out again.
-
- // valid = true;
- }
-
- int ncomponents = countComponents();
- for (int i = 0; i < ncomponents; i++) {
- Component comp = getComponent(i);
- if (!comp.isValid() && comp.getPeer() !=
- null && comp.isVisible()) {
- comp.validate();
- }
- }
- }
-
- protected void validateTree() {
- if (!isValid() && getPeer() != null) {
- layout();
-
- int ncomponents = countComponents();
- for (int i = 0; i < ncomponents; ++i) {
- Component comp = getComponent(i);
- if ((comp instanceof Container) &&
- !(comp instanceof Window) &&
- (!comp.isValid() && comp.getPeer() != null) &&
- comp.isVisible()) {
- ((Container)comp).validate();
- }
- }
- }
- }
-
- // Workaround for idiotic JDK1.1 bug where if you add a
- // component to a container that it is already in, then
- // the component will be removed from the container!
- //
- // #ifdef JDK1.1
- protected void addImpl(Component comp, Object constraints,
- int index) {
- if (comp.getParent() != this)
- super.addImpl(comp, constraints, index);
- }
- // #endif
-
- public void setRelief(int relief) {
- this.relief = relief;
-
- // Need to invalidate because changing
- // from a flat relief to something
- // else will cause the preferredSize to change.
- invalidate();
- repaint();
- }
-
- public int getRelief() {
- return relief;
- }
-
- public void setBorderWidth(int borderWidth) {
- if (borderWidth != this.borderWidth) {
- this.borderWidth = borderWidth;
- invalidate();
- repaint();
- }
- }
-
- public int getBorderWidth() {
- return borderWidth;
- }
-
- public void setBorderLabel(String label) {
- borderLabel = label;
- invalidate();
- repaint();
- }
-
- public String getBorderLabel() {
- return borderLabel;
- }
-
- public void setLabelAlignment(int alignment) {
- labelAlignment = alignment;
- repaint();
- }
-
- public int getLabelAlignment() {
- return labelAlignment;
- }
-
- public void setBorderInsets(Insets insets) {
- if (insets == null)
- this.borderInsets = new Insets(0, 0, 0, 0);
- else
- this.borderInsets = (Insets)insets.clone();
- invalidate();
- }
-
- public Insets getBorderInsets() {
- return (Insets)borderInsets.clone();
- }
-
- public Insets insets() {
- int bd = getBD();
- int h = getLabelAdjustedTop();
- Insets insets = getAdjustedInsets();
-
- return new Insets(h + insets.top,
- bd + insets.left,
- bd + insets.bottom,
- bd + insets.right);
- }
-
- public Dimension minimumSize() {
- Dimension d = super.minimumSize();
- int w = getLabelAdjustedMinWidth();
- if (w > d.width)
- d = new Dimension(w, d.height);
- return d;
- }
-
- public Dimension preferredSize() {
- Dimension d = super.preferredSize();
- int w = getLabelAdjustedMinWidth();
- if (w > d.width)
- d = new Dimension(w, d.height);
- return d;
- }
-
- private int getBD() {
- int bd = 0;
- if (relief != Util.RELIEF_FLAT || borderLabel != null)
- bd = borderWidth;
- return bd;
- }
-
- private Insets getAdjustedInsets() {
- Insets insets;
- if (relief == Util.RELIEF_FLAT && borderLabel == null)
- insets = new Insets(0, 0, 0, 0);
- else
- insets = borderInsets;
- return insets;
- }
-
- private int getLabelAdjustedTop() {
- if (relief == Util.RELIEF_FLAT && borderLabel == null)
- return 0;
-
- int bd = borderWidth;
- int top = bd;
- Font font = getFont();
-
- if (borderLabel != null && font != null) {
- FontMetrics fm = getFontMetrics(font);
- top = fm.getAscent() + fm.getDescent() + labelpadtop;
-
- if (!isLabelInBorder())
- top += bd;
- else if (top < bd)
- top = bd;
- }
-
- return top;
- }
-
- private int getLabelAdjustedMinWidth() {
- if (relief == Util.RELIEF_FLAT && borderLabel == null)
- return 0;
-
- int bd = borderWidth;
- int w = 2*bd + borderInsets.left + borderInsets.right;
-
- Font font = getFont();
- if (borderLabel != null && font != null) {
- FontMetrics fm = getFontMetrics(font);
- w = Math.max(w, 2*bd + fm.stringWidth(borderLabel)
- + labelpadx + labelipadx);
- }
-
- return w;
- }
-
- private boolean isLabelInBorder() {
- switch (relief) {
- case Util.RELIEF_RAISED:
- case Util.RELIEF_SUNKEN:
- case Util.WIN95_RAISED:
- case Util.WIN95_SUNKEN:
- case Util.WIN95_FIELD_BORDER:
- case Util.WIN95_WINDOW_BORDER:
- return false;
-
- case Util.RELIEF_GROOVE:
- case Util.RELIEF_RIDGE:
- case Util.BLACK_BORDER:
- case Util.RELIEF_FLAT:
- default:
- return true;
- }
- }
-
- public void update(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- Dimension size = size();
- Insets insets = insets();
-
- g.setColor(getBackground());
- if (insets.left > 0)
- g.fillRect(0, 0, insets.left, size.height);
- if (insets.top > 0)
- g.fillRect(0, 0, size.width, insets.top);
- if (insets.bottom > 0)
- g.fillRect(0, size.height-insets.bottom,
- size.width, insets.bottom);
- if (insets.right > 0)
- g.fillRect(size.width-insets.right, 0,
- insets.right, size.height);
-
- paint(g);
- }
-
- public void paint(Graphics g) {
- // XXX This workaround is needed for both
- // Windows and Solaris to ensure
- // all lightweight components contained
- // within VJPanel are repainted
- // correctly; For some reasons, VJPanel
- // is entirely filled with
- // the background color whenever update()
- // is called. If only the
- // components within the clip region
- // of the "Graphics g" parameter
- // is repainted, then the other lightweight
- // components become
- // invisible because they get painted
- // over with the VJPanel background.
- // The obvious suspect for filling
- // the VJPanel background is the
- // fillRect calls in update(), but
- // the problem exists even when
- // those fillRect calls are not executed. See bug 4074362.
- g = getGraphics();
- // end of workaround
-
- super.paint(g);
-
- Dimension size = size();
- Insets insets = insets();
- int bd = borderWidth;
-
- FontMetrics fm = null;
- if (borderLabel != null) {
- fm = getFontMetrics(getFont());
- }
-
- // Draw the border
- if (relief != Util.RELIEF_FLAT && bd > 0) {
- switch (relief) {
- case Util.RELIEF_FLAT:
- case Util.RELIEF_RAISED:
- case Util.RELIEF_SUNKEN:
- case Util.RELIEF_RIDGE:
- case Util.RELIEF_GROOVE:
- case Util.WIN95_RAISED:
- case Util.WIN95_SUNKEN:
- case Util.BLACK_BORDER:
- g.setColor(getBackground());
- break;
-
- case Util.WIN95_FIELD_BORDER:
- case Util.WIN95_WINDOW_BORDER:
- g.setColor(getParent().getBackground());
- break;
- }
- int yoff = 0;
- if (borderLabel != null) {
- int ascent = fm.getAscent();
- int descent = fm.getDescent();
-
- if (isLabelInBorder())
- yoff = (ascent + descent + labelpadtop - bd)/2;
- else
- yoff = ascent + descent + labelpadtop;
-
- if (yoff < 0)
- yoff = 0;
- }
-
- Global.util.draw3DRect(g, 0, yoff,
- size.width-1, size.height-1-yoff,
- relief, bd);
- }
-
- // Draw the label
- if (borderLabel != null) {
- int stringWidth = fm.stringWidth(borderLabel);
- int ascent = fm.getAscent();
- int descent = fm.getDescent();
- int x, y, h;
-
- switch (labelAlignment) {
- case LEFT:
- default:
- x = bd + (labelpadx + labelipadx)/2;
- break;
- case CENTER:
- x = (size.width - stringWidth)/2;
- break;
- case RIGHT:
- x = size.width - (stringWidth + (labelpadx
- + labelipadx)/2 + bd);
- break;
- }
-
- y = labelpadtop + ascent;
- h = labelpadtop + ascent + descent;
-
- if (isLabelInBorder() && bd > h) {
- y = (bd - h)/2 + (labelpadtop + ascent);
- h = bd;
- }
-
- g.setColor(getBackground());
- g.fillRect(x - labelipadx/2, 0, stringWidth +
- labelipadx, h);
-
- g.setColor(getForeground());
- g.setFont(getFont());
- g.drawString(borderLabel, x, y-1);
- }
- }
-
- //
- // Workaround for Windows95 AWT bug: If you call
- // request focus while
- // the mouse is pressed, you get spurious
- // mouse down events. Not only
- // that, but the spurious events have
- // clickCount set to 2, so you end
- // up with spurious double clicks. On Windows95 the component
- // automatically gets the focus when you press the mouse inside it.
- // Therefore, it isn't necessary to call
- // requestFocus at all if running
- // on Windows and the mouse is down (and this avoids the bug).
- //
- public void requestFocus() {
- if (!Global.isWindows() || !VJPanel.isMouseDown)
- super.requestFocus();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJScrollbar.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJScrollbar.java
deleted file mode 100644
index c679534cde..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/VJScrollbar.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) VJScrollbar.java 1.9 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-
-
-public class VJScrollbar extends Panel {
-
- /**
- * The horizontal Scrollbar variable.
- */
- public static final int HORIZONTAL = Scrollbar.HORIZONTAL;
-
- /**
- * The vertical Scrollbar variable.
- */
- public static final int VERTICAL = Scrollbar.VERTICAL;
-
- /**
- * Are we running on Windows
- */
- private boolean win;
-
- /**
- * Workaround scrollbar if we are running on Windows
- */
- private WinScrollbar winScrollbar;
-
- /**
- * Normal scrollbar if we are not running on Windows
- */
- private Scrollbar scrollbar;
-
- /**
- * Constructs a new vertical Scrollbar.
- */
- public VJScrollbar() {
- this(VERTICAL);
- }
-
- /**
- * Constructs a new Scrollbar with the specified orientation.
- */
- public VJScrollbar(int orientation) {
- win = Global.isWindows();
-
- GBLayout gridbag = new GBLayout();
- setLayout(gridbag);
-
- GBConstraints c = new GBConstraints();
- c.gridx = 0;
- c.gridy = 0;
- c.weightx = 1;
- c.weighty = 1;
- c.fill = GBConstraints.BOTH;
-
- if (win) {
- winScrollbar = new WinScrollbar(orientation);
-
- // #ifdef JDK1.1
- super.addImpl(winScrollbar, null, -1);
- // #else
- // super.add(winScrollbar, -1);
- // #endif
-
- gridbag.setConstraints(winScrollbar, c);
- } else {
- scrollbar = new Scrollbar(orientation);
-
- // #ifdef JDK1.1
- super.addImpl(scrollbar, null, -1);
- // #else
- // super.add(scrollbar, -1);
- // #endif
-
- gridbag.setConstraints(scrollbar, c);
- }
- }
-
- /**
- * Constructs a new Scrollbar with the specified orientation,
- * value, page size, and minumum and maximum values.
- */
- public VJScrollbar(int orientation, int value, int visible,
- int minimum, int maximum) {
- this(orientation);
- setValues(value, visible, minimum, maximum);
- }
-
- // #ifdef JDK1.1
- protected void addImpl(Component comp, Object constraints,
- int index) {
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.awt.VJScrollbar.CantAdd"));
- }
- // #else
- // public Component add(Component comp, int pos) {
- // throw new Error("Cannot add components to a VJScrollbar");
- // }
- // #endif
-
- /**
- * Don't allow any components to be removed
- */
- public void remove(Component comp) {
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.awt.VJScrollbar.CantRemove"));
- }
-
- /**
- * Returns the orientation for this Scrollbar.
- */
- public int getOrientation() {
- if (win)
- return winScrollbar.getOrientation();
- else
- return scrollbar.getOrientation();
- }
-
- /**
- * Returns the current value of this Scrollbar.
- */
- public int getValue() {
- if (win)
- return winScrollbar.getValue();
- else
- return scrollbar.getValue();
- }
-
- /**
- * Returns the current value of this Scrollbar.
- */
- public void setValue(int value) {
- if (win)
- winScrollbar.setValue(value);
- else
- scrollbar.setValue(value);
- }
-
- /**
- * Returns the minimum value of this Scrollbar.
- */
- public int getMinimum() {
- if (win)
- return winScrollbar.getMinimum();
- else
- return scrollbar.getMinimum();
- }
-
- /**
- * Returns the maximum value of this Scrollbar.
- */
- public int getMaximum() {
- if (win)
- return winScrollbar.getMaximum();
- else
- return scrollbar.getMaximum();
- }
-
- /**
- * Returns the visible amount of the Scrollbar.
- */
- public int getVisible() {
- if (win)
- return winScrollbar.getVisible();
- else
- return scrollbar.getVisible();
- }
-
- /**
- * Sets the line increment for this scrollbar. This is the value
- * that will be added (subtracted) when the user hits the line down
- * (up) gadgets.
- */
- public void setLineIncrement(int l) {
- // Workaround for Motif increment warning
- if (l < 1)
- l = 1;
-
- if (win)
- winScrollbar.setLineIncrement(l);
- else
- scrollbar.setLineIncrement(l);
- }
-
- /**
- * Gets the line increment for this scrollbar.
- */
- public int getLineIncrement() {
- if (win)
- return winScrollbar.getLineIncrement();
- else
- return scrollbar.getLineIncrement();
- }
-
- /**
- * Sets the page increment for this scrollbar. This is the value
- * that will be added (subtracted) when the user hits the page down
- * (up) gadgets.
- */
- public void setPageIncrement(int l) {
- // Workaround for Motif page increment warning
- if (l < 1)
- l = 1;
-
- if (win)
- winScrollbar.setPageIncrement(l);
- else
- scrollbar.setPageIncrement(l);
- }
-
- /**
- * Gets the page increment for this scrollbar.
- */
- public int getPageIncrement() {
- if (win)
- return winScrollbar.getPageIncrement();
- else
- return scrollbar.getPageIncrement();
- }
-
- /**
- * Sets the values for this Scrollbar.
- */
- public void setValues(int value, int visible, int minimum,
- int maximum) {
- if (win)
- winScrollbar.setValues(value, visible, minimum, maximum);
- else
- scrollbar.setValues(value, visible, minimum, maximum);
- }
-
- /**
- * Returns the String parameters for this Scrollbar.
- */
- protected String paramString() {
- return super.paramString();
- }
-
- /**
- * Need to set the target of any scrollbar events to ourselves.
- */
- public boolean handleEvent(Event evt) {
- switch (evt.id) {
- case Event.SCROLL_LINE_UP:
- case Event.SCROLL_LINE_DOWN:
- case Event.SCROLL_PAGE_UP:
- case Event.SCROLL_PAGE_DOWN:
- case Event.SCROLL_ABSOLUTE:
- if (win) {
- if (evt.target == winScrollbar)
- evt.target = this;
- } else {
- if (evt.target == scrollbar)
- evt.target = this;
- }
- break;
- default: return true;
- }
-
- return super.handleEvent(evt);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/WinScrollbar.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/WinScrollbar.java
deleted file mode 100644
index bcf70a9a83..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/awt/WinScrollbar.java
+++ /dev/null
@@ -1,948 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- *
- * Copyright (c) 1994-1995, 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software
- * and its documentation for NON-COMMERCIAL purposes and without
- * fee is hereby granted provided that this copyright notice
- * appears in all copies. Please refer to the file "copyright.html"
- * for further important copyright and licensing information.
- *
- * 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
- *
- *
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) WinScrollbar.java 1.13 - last change made 05/02/97
- */
-
-package sunsoft.jws.visual.rt.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.base.Util;
-import java.awt.*;
-
-
-public class WinScrollbar extends Canvas implements Runnable {
-
- /**
- * The horizontal Scrollbar variable.
- */
- public static final int HORIZONTAL = Scrollbar.HORIZONTAL;
-
- /**
- * The vertical Scrollbar variable.
- */
- public static final int VERTICAL = Scrollbar.VERTICAL;
-
- /**
- * The value of the Scrollbar.
- */
- int value;
-
- /**
- * The maximum value of the Scrollbar.
- */
- int maximum; // doesn't include the visible area
-
- /**
- * The minimum value of the Scrollbar.
- */
- int minimum;
-
- /**
- * The size of the visible portion of the Scrollbar.
- */
- int sVisible;
-
- /**
- * The Scrollbar's orientation--being either horizontal or vertical.
- */
- int orientation;
-
- /**
- * The amount by which the scrollbar value will change when going
- * up or down by a line.
- */
- int lineIncrement = 1;
-
- /**
- * The amount by which the scrollbar value will change when going
- * up or down by a page.
- */
- int pageIncrement = 10;
-
- /**
- * Are we running on WindowsNT
- */
- private boolean winNT;
-
- private static WinScrollbar threadScrollbar;
- private static Thread scrollThread;
- private WinScrollbar currentScrollbar;
- private int currentScrollAction;
- private int currentScrollPosition;
-
- private static final int SCROLL_DELAY = 250;
- private static final int SCROLL_INTERVAL = 40;
-
- /**
- * Constructs a new vertical Scrollbar.
- */
- public WinScrollbar() {
- this(VERTICAL);
- }
-
-
- /**
- * Constructs a new Scrollbar with the specified orientation.
- * @param orientation either Scrollbar.HORIZONTAL
- * or Scrollbar.VERTICAL
- * @exception IllegalArgumentException When an
- * illegal scrollbar orientation is given.
- */
- public WinScrollbar(int orientation) {
- switch (orientation) {
- case Scrollbar.HORIZONTAL:
- case Scrollbar.VERTICAL:
- this.orientation = orientation;
- break;
-
- default:
- /* JSTYLED */
- throw new IllegalArgumentException(Global.getMsg("sunsoft.jws.visual.rt.awt.WinScrollbar.IllegalOrientation"));
- }
-
- winNT = Global.isWindowsNT();
- }
-
- /**
- * Constructs a new Scrollbar with the specified orientation,
- * value, page size, and minumum and maximum values.
- * @param orientation either Scrollbar.HORIZONTAL
- * or Scrollbar.VERTICAL
- * @param value the scrollbar's value
- * @param visible the size of the visible portion of the
- * scrollable area. The scrollbar will use this value when paging up
- * or down by a page.
- * @param minimum the minimum value of the scrollbar
- * @param maximum the maximum value of the scrollbar
- */
- public WinScrollbar(int orientation, int value, int visible,
- int minimum, int maximum) {
- this(orientation);
- setValues(value, visible, minimum, maximum);
- }
-
- /**
- * Returns the orientation for this Scrollbar.
- */
- public int getOrientation() {
- return orientation;
- }
-
- /**
- * Returns the current value of this Scrollbar.
- * @see #getMinimum
- * @see #getMaximum
- */
- public int getValue() {
- return value;
- }
-
- /**
- * Sets the value of this Scrollbar to the specified value.
- * @param value the new value of the Scrollbar. If this value is
- * below the current minimum or above
- * the current maximum, it becomes the
- * new one of those values, respectively.
- * @see #getValue
- */
- public void setValue(int value) {
- if (value < minimum) {
- value = minimum;
- }
- if (value > (maximum - sVisible)) {
- value = maximum - sVisible;
- }
- if (value != this.value) {
- this.value = value;
- if (getPeer() != null)
- peerSetValue(value);
- }
- }
-
- /**
- * Returns the minimum value of this Scrollbar.
- * @see #getMaximum
- * @see #getValue
- */
- public int getMinimum() {
- return minimum;
- }
-
- /**
- * Returns the maximum value of this Scrollbar.
- * @see #getMinimum
- * @see #getValue
- */
- public int getMaximum() {
- return maximum;
- }
-
- /**
- * Returns the visible amount of the Scrollbar.
- */
- public int getVisible() {
- return sVisible;
- }
-
- /**
- * Sets the line increment for this scrollbar. This is the value
- * that will be added (subtracted) when the user hits the line down
- * (up) gadgets.
- */
- public void setLineIncrement(int l) {
- lineIncrement = l;
- if (getPeer() != null)
- peerSetLineIncrement(l);
- }
-
- /**
- * Gets the line increment for this scrollbar.
- */
- public int getLineIncrement() {
- return lineIncrement;
- }
-
- /**
- * Sets the page increment for this scrollbar. This is the value
- * that will be added (subtracted) when the user hits the page down
- * (up) gadgets.
- */
- public void setPageIncrement(int l) {
- pageIncrement = l;
- if (getPeer() != null)
- peerSetPageIncrement(l);
- }
-
- /**
- * Gets the page increment for this scrollbar.
- */
- public int getPageIncrement() {
- return pageIncrement;
- }
-
- /**
- * Sets the values for this Scrollbar.
- * @param value is the position in the current window.
- * @param visible is the amount visible per page
- * @param minimum is the minimum value of the scrollbar
- * @param maximum is the maximum value of the scrollbar
- */
- public void setValues(int value, int visible, int minimum,
- int maximum) {
- if (visible < 0)
- visible = 0;
-
- if (visible > maximum)
- visible = maximum;
-
- if (maximum < minimum) {
- maximum = minimum;
- }
- if (value < minimum) {
- value = minimum;
- }
- if (value > (maximum - visible)) {
- value = (maximum - visible);
- }
-
- this.value = value;
- this.sVisible = visible;
- this.minimum = minimum;
- this.maximum = maximum;
-
- if (getPeer() != null)
- peerSetValues(value, sVisible, minimum, maximum);
- }
-
- /**
- * Returns the String parameters for this Scrollbar.
- */
- protected String paramString() {
- return super.paramString() +
- /* NOI18N */",val=" + value +
- /* NOI18N */",vis=" + isVisible() +
- /* NOI18N */",min=" + minimum +
- /* NOI18N */",max=" + maximum +
- ((orientation == VERTICAL) ? /* NOI18N */
- ",vert" : /* NOI18N */",horz");
- }
-
- /**
- * Returns the minimum size for the scrollbar
- */
- public Dimension minimumSize() {
- if (orientation == VERTICAL)
- return new Dimension(16, 50);
- else
- return new Dimension(50, 16);
- }
-
- /**
- * Returns the preferred size for the scrollbar
- */
- public Dimension preferredSize() {
- return minimumSize();
- }
-
-
- // The rest of this code does the things
- // that the peer would normally
- // if the peer weren't so badly broken.
-
- private Image buffer;
- private int prevWidth = 0;
- private int prevHeight = 0;
- private int action = 0;
-
- private int anchorPos;
- private int anchorValue;
- private int dragSpace;
-
- private static final int UP = 10;
- private static final int DOWN = 11;
- private static final int LEFT = 12;
- private static final int RIGHT = 13;
-
- private static final int LINEUP = 20;
- private static final int LINEDOWN = 21;
- private static final int PAGEUP = 22;
- private static final int PAGEDOWN = 23;
- private static final int DRAG = 24;
-
- private void peerSetValue(int value) {
- repaint();
- }
-
- private void peerSetLineIncrement(int l) {
- }
-
- private void peerSetPageIncrement(int l) {
- }
-
- private void peerSetValues(int value, int sVisible,
- int minimum, int maximum) {
- repaint();
- }
-
- public void reshape(int x, int y, int width, int height) {
- super.reshape(x, y, width, height);
-
- if (prevWidth != width || prevHeight != height) {
- if (width > 0 && height > 0)
- buffer = createImage(width, height);
- else
- buffer = null;
-
- prevWidth = width;
- prevHeight = height;
- }
- }
-
- public void update(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- draw(g);
- }
-
- public void paint(Graphics g) {
- if (Global.isWindows())
- g = getGraphics();
- draw(g);
- }
-
- private void draw(Graphics g) {
- if (buffer == null)
- return;
-
- drawScrollbar();
- g.drawImage(buffer, 0, 0, null);
- }
-
- private void drawScrollbar() {
- Graphics g = buffer.getGraphics();
- Dimension size = size();
- int w = size.width;
- int h = size.height;
-
- // Erase the old version
- g.setColor(getBackground());
- g.fillRect(0, 0, size.width, size.height);
-
- drawOutline(g, w-1, h-1);
- drawEndBoxes(g, w-1, h-1);
-
- int info[] = getDragBoxInfo();
- fillPageBox(g, w, h, info);
- drawDragBox(g, w-1, h-1, info);
- }
-
- private void drawOutline(Graphics g, int w, int h) {
- g.setColor(Global.util.darker(getBackground()));
- if (orientation == VERTICAL) {
- g.drawRect(0, 0, w, w);
- g.drawRect(0, w, w, h-2*w);
- g.drawRect(0, h-w, w, w);
- } else {
- g.drawRect(0, 0, h, h);
- g.drawRect(h, 0, w-2*h, h);
- g.drawRect(w-h, 0, h, h);
- }
- }
-
- private void drawEndBoxes(Graphics g, int w, int h) {
- if (orientation == VERTICAL) {
- if (action != LINEUP) {
- drawArrow(g, 0, 0, w, w, UP);
- drawBox(g, 0, 0, w, w);
- } else {
- drawArrow(g, 1, 1, w, w, UP);
- }
-
- if (action != LINEDOWN) {
- drawArrow(g, 0, h-w, w, w, DOWN);
- drawBox(g, 0, h-w, w, w);
- } else {
- drawArrow(g, 1, h-w+1, w, w, DOWN);
- }
- } else {
- if (action != LINEUP) {
- drawArrow(g, 0, 0, h, h, LEFT);
- drawBox(g, 0, 0, h, h);
- } else {
- drawArrow(g, 1, 1, h, h, LEFT);
- }
-
- if (action != LINEDOWN) {
- drawArrow(g, w-h, 0, h, h, RIGHT);
- drawBox(g, w-h, 0, h, h);
- } else {
- drawArrow(g, w-h+1, 1, h, h, RIGHT);
- }
- }
- }
-
- private void fillPageBox(Graphics g, int w, int h, int info[]) {
- g.setColor(pageDarker(getBackground()));
- if (orientation == VERTICAL) {
- if (action == PAGEUP) {
- g.fillRect(1, w, w-2, info[0]-w);
- } else if (action == PAGEDOWN) {
- g.fillRect(1, info[0]+info[1]+1, w-2,
- h-(w+info[0]+info[1])-1);
- }
- } else {
- if (action == PAGEUP) {
- g.fillRect(h, 1, info[0]-h, h-2);
- } else if (action == PAGEDOWN) {
- g.fillRect(info[0]+info[1]+1, 1,
- w-(h+info[0]+info[1])-1, h-2);
- }
- }
- }
-
- private void drawDragBox(Graphics g, int w, int h, int info[]) {
- if (orientation == VERTICAL) {
- drawBox(g, 0, info[0], w, info[1]);
- } else {
- drawBox(g, info[0], 0, info[1], h);
- }
- }
-
- private int [] getDragBoxInfo() {
- int info[] = new int[2];
- int minpix;
- int deltapix;
- Dimension size = size();
-
- if (orientation == VERTICAL) {
- minpix = size.width;
- deltapix = size.height - 2 * size.width;
- } else {
- minpix = size.height;
- deltapix = size.width - 2 * size.height;
- }
-
- int deltaval = maximum - minimum;
- double d = (double)deltapix/(double)deltaval;
- double xory = minpix + (value-minimum) * d;
- double worh = sVisible * d;
-
- info[0] = (int)xory;
- info[1] = (int)worh;
-
- return info;
- }
-
- private void drawBox(Graphics g, int x, int y, int w, int h) {
- g.setColor(getBackground());
- Global.util.draw3DRect(g, x, y, w, h,
- Util.WIN95_WINDOW_BORDER, 2);
-
- if (true)
- return;
- else {
- g.setColor(Global.util.brighter(getBackground()));
- g.drawLine(x, y, x+w-1, y);
- g.drawLine(x, y, x, y+h-1);
-
- g.setColor(Color.white);
- g.drawLine(x+1, y+1, x+w-2, y+1);
- g.drawLine(x+1, y+1, x+1, y+h-2);
-
- g.setColor(Color.black);
- g.drawLine(x+w, y, x+w, y+h);
- g.drawLine(x, y+h, x+w, y+h);
-
- g.setColor(Global.util.darker(getBackground()));
- g.drawLine(x+w-1, y+1, x+w-1, y+h-1);
- g.drawLine(x+1, y+h-1, x+w-1, y+h-1);
- }
- }
-
- private void drawArrow(Graphics g, int x, int y, int w, int h,
- int direction) {
- Polygon p = new Polygon();
-
- // xoff=4 and yoff=4 for the default case where w=15 and y=15
- int xoff = (w-3)/3;
- int yoff = (h-3)/3;
- int bd = 2;
-
- g.setColor(Color.black);
-
- switch (direction) {
- case LEFT:
- if (winNT) {
- x -= xoff/4;
- g.fillRect(x+bd+2*xoff-1, y+bd+(5*yoff/4)-1,
- xoff/2+1, yoff/2+1);
- }
- p.addPoint(x+bd+xoff-1, y+bd+(3*yoff/2)-1);
- p.addPoint(x+bd+2*xoff-1, y+bd+yoff-3);
- p.addPoint(x+bd+2*xoff-1, y+bd+2*yoff+1);
- break;
-
- case RIGHT:
- if (winNT) {
- x += xoff/4+1;
- g.fillRect(x+bd+(xoff/2)-1, y+bd+(5*yoff/4)-1,
- xoff/2+2, yoff/2+1);
- }
- p.addPoint(x+bd+xoff, y+bd+yoff-3);
- p.addPoint(x+bd+xoff*2, y+bd+(3*yoff/2)-1);
- p.addPoint(x+bd+xoff, y+bd+2*yoff+1);
- break;
-
- case UP:
- if (winNT) {
- y -= yoff/4+1;
- g.fillRect(x+bd+(5*xoff/4)-1, y+bd+2*yoff,
- xoff/2+1, yoff/2+1);
- }
- p.addPoint(x+bd+xoff-3, y+bd+2*yoff);
- p.addPoint(x+bd+(3*xoff/2)-1, y+bd+yoff);
- p.addPoint(x+bd+(3*xoff/2), y+bd+yoff);
- p.addPoint(x+bd+2*xoff+2, y+bd+2*yoff);
- break;
-
- case DOWN:
- if (winNT) {
- y += yoff/4+1;
- g.fillRect(x+bd+(5*xoff/4)-1, y+bd+(yoff/2)-1,
- xoff/2+1, yoff/2+2);
- }
- p.addPoint(x+bd+xoff-2, y+bd+yoff);
- p.addPoint(x+bd+2*xoff+1, y+bd+yoff);
- p.addPoint(x+bd+(3*xoff/2)-1, y+bd+2*yoff);
- p.addPoint(x+bd+(3*xoff/2)-1, y+bd+2*yoff-1);
- break;
- }
-
- g.fillPolygon(p);
- }
-
- private static final double PAGE_DFACTOR = 0.8;
-
- /**
- * Returns a darker version of this color used for the paging
- * highlight color.
- */
- private Color pageDarker(Color c) {
- return new Color(Math.max((int)(c.getRed() *PAGE_DFACTOR), 0),
- Math.max((int)(c.getGreen()*PAGE_DFACTOR), 0),
- Math.max((int)(c.getBlue() *PAGE_DFACTOR), 0));
- }
-
- public boolean mouseDown(Event evt, int x, int y) {
- Dimension size = size();
- int w = size.width;
- int h = size.height;
-
- if (orientation == VERTICAL) {
- if (y < w) {
- lineUp(y);
- } else if (y >= (h-w)) {
- lineDown(y);
- } else {
- int info[] = getDragBoxInfo();
- if (y >= (w+1) && y < info[0]) {
- pageUp(y);
- } else if (y >= info[0]+info[1] && y < (h-w)) {
- pageDown(y);
- } else if (y >= info[0] && y < info[0]+info[1]) {
- dragStart(x, y);
- }
- }
-
- } else {
- if (x < h) {
- lineUp(x);
- } else if (x >= (w-h)) {
- lineDown(x);
- } else {
- int info[] = getDragBoxInfo();
- if (x >= (h+1) && x < info[0]) {
- pageUp(x);
- } else if (x >= info[0]+info[1] && x < (w-h)) {
- pageDown(x);
- } else if (x >= info[0] && x < info[0]+info[1]) {
- dragStart(x, y);
- }
- }
- }
-
- return false;
- }
-
- public boolean mouseDrag(Event evt, int x, int y) {
- if (action == DRAG) {
- drag(x, y);
- return true;
- } else if (threadScrollbar != null &&
- threadScrollbar.currentScrollbar == this) {
- synchronized (threadScrollbar) {
- if (orientation == VERTICAL)
- threadScrollbar.currentScrollPosition = y;
- else
- threadScrollbar.currentScrollPosition = x;
- }
- }
-
- return false;
- }
-
- public boolean mouseUp(Event evt, int x, int y) {
- cancelAutoScroll();
-
- if (action == DRAG) {
- dragStop(x, y);
- }
-
- action = 0;
- repaint();
-
- return false;
- }
-
- private boolean lineUp(int pos) {
- boolean status = false;
- action = LINEUP;
- initAutoScroll(action, pos);
-
- int prevValue = value;
- value = Math.max(minimum, value-lineIncrement);
- if (value != prevValue) {
- status = true;
- postEvent(new Event(this, Event.SCROLL_LINE_UP,
- new Integer(value)));
- }
-
- repaint();
- return status;
- }
-
- private boolean lineDown(int pos) {
- boolean status = false;
- action = LINEDOWN;
- initAutoScroll(action, pos);
-
- int prevValue = value;
- value = Math.min(maximum-sVisible, value+lineIncrement);
- if (value != prevValue) {
- postEvent(new Event(this, Event.SCROLL_LINE_DOWN,
- new Integer(value)));
- status = true;
- }
-
- repaint();
- return status;
- }
-
- private boolean pageUp(int pos) {
- boolean status = false;
- action = PAGEUP;
- initAutoScroll(action, pos);
-
- int prevValue = value;
- value = Math.max(minimum, value-pageIncrement);
- if (value != prevValue) {
- status = true;
- postEvent(new Event(this, Event.SCROLL_PAGE_UP,
- new Integer(value)));
- }
-
- repaint();
- return status;
- }
-
- private boolean pageDown(int pos) {
- boolean status = false;
- action = PAGEDOWN;
- initAutoScroll(action, pos);
-
- int prevValue = value;
- value = Math.min(maximum-sVisible, value+pageIncrement);
- if (value != prevValue) {
- status = true;
- postEvent(new Event(this, Event.SCROLL_PAGE_DOWN,
- new Integer(value)));
- }
-
- repaint();
- return status;
- }
-
- private void dragStart(int x, int y) {
- action = DRAG;
-
- if (orientation == VERTICAL)
- anchorPos = y;
- else
- anchorPos = x;
-
- anchorValue = value;
-
- Dimension size = size();
- int info[] = getDragBoxInfo();
-
- if (orientation == VERTICAL)
- dragSpace = size.height - size.width*2 - info[1];
- else
- dragSpace = size.width - size.height*2 - info[1];
- }
-
- private void drag(int x, int y) {
- if (orientation == VERTICAL)
- newDragValue(y);
- else
- newDragValue(x);
- }
-
- private void dragStop(int x, int y) {
- action = 0;
- drag(x, y);
- }
-
- private void newDragValue(int pos) {
- int pixelsDiff = pos - anchorPos;
- int valDiff = (pixelsDiff * (maximum-minimum) / dragSpace);
- int prevValue = value;
-
- value = anchorValue + valDiff;
- if (valDiff < 0)
- value = Math.max(value, minimum);
- else
- value = Math.min(value, maximum-sVisible);
-
- if (value != prevValue)
- postEvent(new Event(this, Event.SCROLL_ABSOLUTE,
- new Integer(value)));
-
- repaint();
- }
-
- private void initAutoScroll(int action, int pos) {
- if (Thread.currentThread() == scrollThread)
- return;
-
- if (threadScrollbar == null) {
- threadScrollbar = this;
- scrollThread = new Thread(threadScrollbar, /* NOI18N */
- "WindowsScrollbarThread");
- scrollThread.setDaemon(true);
- scrollThread.start();
- }
-
- synchronized (threadScrollbar) {
- threadScrollbar.currentScrollbar = this;
- threadScrollbar.currentScrollAction = action;
- threadScrollbar.currentScrollPosition = pos;
- threadScrollbar.notify();
- }
- }
-
- private void cancelAutoScroll() {
- if (threadScrollbar != null) {
- synchronized (threadScrollbar) {
- threadScrollbar.currentScrollbar = null;
- threadScrollbar.currentScrollAction = -1;
- threadScrollbar.currentScrollPosition = -1;
- threadScrollbar.notify();
- }
- }
- }
-
- public synchronized void run() {
- boolean scrolling = false;
- long waitTime;
-
- while (scrollThread == Thread.currentThread()) {
- long startTime = System.currentTimeMillis();
-
- if (currentScrollbar == null) {
- waitTime = 0;
- scrolling = false;
- } else {
- if (scrolling) {
- if (!doScroll(currentScrollbar,
- currentScrollAction,
- currentScrollPosition)) {
- cancelAutoScroll();
- waitTime = 0;
- } else {
- waitTime = SCROLL_INTERVAL;
- }
- } else {
- waitTime = SCROLL_DELAY;
- scrolling = true;
- }
- }
-
- // Wait for "waitTime" milliseconds.
- // But if "waitTime" is zero,
- // then just wait for a notify. If
- // the currentScrollbar changes,
- // then don't wait any longer.
- if (waitTime == 0 || currentScrollbar == null) {
- try { wait(0); }
- catch (InterruptedException ex) {}
- } else {
- WinScrollbar initScrollbar = currentScrollbar;
- long targetTime = startTime + waitTime;
- long diff = targetTime - System.currentTimeMillis();
-
- while (currentScrollbar == initScrollbar && diff > 0) {
- try { wait(diff); }
- catch (InterruptedException ex) {}
- diff = targetTime - System.currentTimeMillis();
- }
-
- if (currentScrollbar != initScrollbar)
- scrolling = false;
- }
- }
- }
-
- private boolean doScroll(WinScrollbar scrollbar,
- int action, int pos) {
- boolean status = false;
-
- switch (action) {
- case LINEUP:
- status = scrollbar.lineUp(pos);
- break;
-
- case LINEDOWN:
- status = scrollbar.lineDown(pos);
- break;
-
- case PAGEUP:
- if (continuePaging(scrollbar, action, pos)) {
- status = scrollbar.pageUp(pos);
- } else {
- // Keep trying to scroll for the case
- // where the user drags
- // the mouse while paging. We want to
- // track the drag position
- // in the direction of the original paging action.
- status = true;
- }
- break;
-
- case PAGEDOWN:
- if (continuePaging(scrollbar, action, pos)) {
- status = scrollbar.pageDown(pos);
- } else {
- // Keep trying to scroll for the case
- // where the user drags
- // the mouse while paging. We want to
- // track the drag position
- // in the direction of the original paging action.
- status = true;
- }
- break;
-
- default:
- break;
- }
-
- return status;
- }
-
- private boolean continuePaging(WinScrollbar scrollbar, int action,
- int pos) {
- boolean status = false;
- int info[] = scrollbar.getDragBoxInfo();
-
- if (pos < info[0]) {
- status = (action == PAGEUP);
- } else if (pos >= info[0]+info[1]) {
- status = (action == PAGEDOWN);
- }
-
- return status;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AMContainer.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AMContainer.java
deleted file mode 100644
index 079b59fcfe..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AMContainer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AMContainer.java 1.8 - last change made 04/25/96
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.util.Enumeration;
-
-/**
- * Interface that must be implemented by the containers in shadow trees.
- *
- * @version 1.8, 04/25/96
- */
-public interface AMContainer {
- public void add(AttributeManager child);
- public void remove(AttributeManager child);
- public void addChildBody(Shadow child);
- public void updateContainerAttribute(AttributeManager child,
- String key, Object value);
- public void removeChildBody(Shadow child);
- public void createChildren();
- public void destroyChildren();
- public AttributeManager getChild(String name);
- public Enumeration getChildList();
- public int getChildCount();
- public void reparentChildren();
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AMContainerHelper.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AMContainerHelper.java
deleted file mode 100644
index 3f0a3537ec..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AMContainerHelper.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AMContainerHelper.java 1.41 - last change made 06/17/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.ComponentShadow;
-
-import java.util.Vector;
-import java.util.Enumeration;
-
-/**
- * This is a helper class for shadow containers. Shadow containers are
- * nodes in the shadow tree. A shadow container should implement the
- * AMContainer interface.
- *
- * @version 1.41, 06/17/97
- */
-public class AMContainerHelper {
- /**
- * The container that is being assisted by this helper class.
- */
- private AMContainer container;
-
- /**
- * A list of any shadow children a particular shadow instance
- * might have.
- * This is used to describe the hierarchical relationship of
- * graphical
- * objects in the interface.
- */
- private Vector children;
-
- /**
- * Constructor.
- */
- public AMContainerHelper(AMContainer container) {
- this.container = container;
- children = new Vector();
- }
-
- /**
- * Returns the list of children this helper is keeping track
- * of for the
- * container.
- */
- public Vector getChildren() {
- return children;
- }
-
- /**
- * Returns a list of the children that the caller can use
- * only for reading
- * and cannot alter. The list is cloned because the caller
- * might use it
- * for removing children from the container.
- */
- public Enumeration getChildList() {
- return ((Vector) children.clone()).elements();
- }
-
- /**
- * Returns the number of children in the container.
- */
- public int getChildCount() {
- return children.size();
- }
-
- /**
- * Adds a child.
- */
- public void add(AttributeManager child) {
- if (child != null && !children.contains(child)) {
- // check to see that child isn't one of this container's parents
- if (child instanceof AMContainer) {
- for (AMContainer cn = container; cn != null;
- cn = ((AttributeManager)cn).getParent()) {
- if (cn == child) {
- throw new IllegalArgumentException(Global.getMsg(
-"sunsoft.jws.visual.rt.base.AMContainerHelper.adding__container's__p.0"));
- }
- }
- }
-
- if (child.getParent() != null) {
- child.getParent().remove(child);
- }
-
- child.setParent(container);
- children.addElement(child);
-
- // Update the group tree
- recurseCheckAdd(child);
-
- // Update the AWT tree
- if ((child instanceof Shadow) && ((Shadow)child).getBody()
- != null) {
- container.addChildBody((Shadow) child);
- }
-
- // Update the mode
- AttributeManager mgr = (AttributeManager)container;
- if (mgr.isLayoutMode() != child.isLayoutMode()) {
- if (mgr.isLayoutMode())
- child.layoutMode();
- else
- child.previewMode();
- }
- }
- }
-
- private void recurseCheckAdd(AttributeManager child) {
- /**
- * AttributeManager instances are created with the "name"
- * attribute set to null. This is fine when the new instances
- * are being created by generated code (runtime mode) or
- * are being
- * loaded from a file. In both these cases the name has
- * just been
- * or is about to be set to something unique.
- *
- * The case we are watching for here is when the top-level
- * root in
- * the designer (build mode) tries to to create and add a new
- * AtttributeManager object. In this case a unique default name
- * must be created here (so that every object in a new
- * application
- * has a unique name.)
- */
- Root root = child.getRoot();
- if (root != null && child.get(/* NOI18N */"name") == null
- && ((Boolean)
- root.get(/* NOI18N */"autoNaming")).booleanValue())
- child.set(/* NOI18N */"name", root.getUniqueName(child));
-
- if (child instanceof Group) {
- if (child.getRoot() != null) {
- Group group = child.getRoot().getGroup();
- if (group != null)
- group.add((Group)child);
-
- ((Group)child).setParentBody();
- }
- } else if (child instanceof AMContainer) {
- AMContainer cntr = (AMContainer)child;
- Enumeration e = cntr.getChildList();
- while (e.hasMoreElements())
- recurseCheckAdd((AttributeManager)e.nextElement());
- }
- }
-
- /**
- * Removes a child.
- */
- public void remove(AttributeManager child) {
- if (child != null) {
- if (child.getParent() != container)
- return;
-
- // update the the global register for unsaved changes
- Root theRoot = child.getRoot();
- if (theRoot != null && theRoot.isLoadedRoot())
- DesignerAccess.setChangesMade(true);
-
- // Update the AWT tree
- if ((child instanceof Shadow) && ((Shadow)child).getBody()
- != null) {
- container.removeChildBody((Shadow) child);
- }
-
- // Update the group tree
- recurseCheckRemove(child);
-
- // Remove the child from the tree
- child.setParent(null);
- children.removeElement(child);
- }
- }
-
- private void recurseCheckRemove(AttributeManager child) {
- if (child instanceof Group) {
- if (child.getRoot() != null) {
- Group group = child.getRoot().getGroup();
- if (group != null)
- group.remove((Group)child);
-
- ((Group)child).unsetParentBody();
- }
- } else if (child instanceof AMContainer) {
- AMContainer cntr = (AMContainer)child;
- Enumeration e = cntr.getChildList();
- while (e.hasMoreElements())
- recurseCheckRemove((AttributeManager)e.nextElement());
- }
- }
-
- /**
- * Finds a child (by name.)
- */
- public AttributeManager getChild(String name) {
- if (name != null) {
- for (Enumeration e = children.elements();
- /* JSTYLED */
- e.hasMoreElements(); ) {
- AttributeManager child = (AttributeManager)
- e.nextElement();
- if (name.equals(child.get(/* NOI18N */"name")))
- return (child);
- }
- }
- return (null);
- }
-
- /**
- * Create the container's children.
- */
- public void createChildren() {
- for (Enumeration e = children.elements(); e.hasMoreElements(); )
-
- {
- AttributeManager mgr = (AttributeManager) e.nextElement();
-
- // Don't create the child if it isn't visible
- if (mgr.hasAttribute(/* NOI18N */"visible")) {
- Boolean v = (Boolean)mgr.get(/* NOI18N */"visible");
- if (v.booleanValue())
- mgr.create();
- }
- else
- {
- mgr.create();
- }
- }
- }
-
- /**
- * Destroy all the children of the container.
- */
- public void destroyChildren() {
- for (Enumeration e = children.elements(); e.hasMoreElements(); )
- ((AttributeManager) e.nextElement()).destroy();
- }
-
- /**
- * Reparent the children of the container. This is called when the
- * container is being recreated.
- */
- public void reparentChildren() {
- for (Enumeration e = children.elements(); e.hasMoreElements(); )
-
- {
- AttributeManager child = (AttributeManager)e.nextElement();
- if ((child instanceof Shadow) && ((Shadow)child).getBody()
- != null) {
- container.addChildBody((Shadow) child);
- }
- }
- }
-
- //
- // Layout and Preview mode
- //
-
- public void layoutMode() {
- for (Enumeration e = children.elements(); e.hasMoreElements(); )
-
- {
- AttributeManager child = (AttributeManager)e.nextElement();
- child.layoutMode();
- }
- }
-
- public void previewMode() {
- for (Enumeration e = children.elements(); e.hasMoreElements(); )
-
- {
- AttributeManager child = (AttributeManager)e.nextElement();
- child.previewMode();
- }
- }
-
- public void preValidate() {
- for (Enumeration e = children.elements(); e.hasMoreElements(); )
-
- {
- AttributeManager child = (AttributeManager)e.nextElement();
- child.preValidate();
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Attribute.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Attribute.java
deleted file mode 100644
index 7c71c4da76..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Attribute.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Attribute.java 1.25 - last change made 07/30/96
- */
-
-package sunsoft.jws.visual.rt.base;
-
-/**
- * Storage for a single attribute.
- *
- * @version 1.25, 07/30/96
- */
-public class Attribute implements Cloneable {
- /**
- * Name of this attribute.
- */
- private String name;
-
- /**
- * The full class name of the type of the value of this attribute.
- */
- private String type;
-
- /**
- * The actual value of this attribute. It is of the type specified
- * by the type field.
- */
- private Object value;
-
- /**
- * The default value of this attribute. It is of the type specified
- * by the type field.
- */
- private Object defaultValue;
-
- /**
- * Contains description flags about the nature of this attribute.
- */
- private int flags;
-
- /**
- * The constructor initializes the value for the attribute.
- * The initial value of the attribute is set to be the same
- * as the default value. If the default value is not a simple
- * type, you
- * may want to set the value again after cloning the default value,
- * otherwise, directly setting internal members of the value will
- * change
- * the default value as well.
- */
- public Attribute(String name, String type, Object defaultValue,
- int flags) {
- this.name = name;
- this.type = type;
-
- // throwOnBadType is commented out for performance reasons.
- // Shadow class construction is 15% faster with this
- // commented out.
- //
- // throwOnBadType(defaultValue);
-
- this.value = defaultValue;
- this.defaultValue = defaultValue;
- this.flags = flags;
- }
-
- private void throwOnBadType(Object checkee) {
- // allow null
- if (checkee == null)
- return;
-
- if (checkee.getClass().getName().equals(type))
- return; // FIX for 4059234
-
- // type must pass "instance of" test (except for null)
- Class typeClass = null;
- try {
- typeClass = Global.util.getClassLoader().loadClass(type);
- } catch (ClassNotFoundException e) {
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Attribute.ClassNotFound", type));
- }
-
- if (typeClass.isInstance(checkee))
- return;
-
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Attribute.IllegalAttribute",
- name, type, checkee.getClass().getName(), checkee));
- }
-
- public String getName() {
- return (name);
- }
-
- public String getType() {
- return (type);
- }
-
- public Object getDefaultValue() {
- return (defaultValue);
- }
-
- void setDefaultValue(Object value) {
- defaultValue = value;
- }
-
- public boolean isModified() {
- if (value == null)
- return (defaultValue != null);
- else
- return (!value.equals(defaultValue));
- }
-
- /**
- * Resets the value to the default
- */
- public void reset() {
- setValue(defaultValue);
- }
-
- public Object getValue() {
- return (value);
- }
-
- /**
- * Sets the value of the attribute.
- */
- public void setValue(Object value) {
- // Commented out the "does new value equal old value"
- // check, because:
- // 1) Setting a value to "null" can cause a null pointer
- // exception
- // 2) Some attributes may not implement equals properly
- throwOnBadType(value);
-
-
- this.value = value;
- }
-
- public int getFlags() {
- return (flags);
- }
-
- public void addFlags(int flags) {
- this.flags = (this.flags | flags);
- }
-
- public boolean flagged(int flags) {
- return ((flags & this.flags) != 0);
- }
-
- /**
- * Shallow clone for this attribute. It's not a deep clone,
- * only the
- * references to the value and default value are cloned,
- * not the actual
- * values themselves.
- */
- public Object clone() {
- Object retval;
- try {
- retval = super.clone();
- }
- catch (CloneNotSupportedException e) {
- throw new Error(e.getMessage());
- }
- return (retval);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AttributeList.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AttributeList.java
deleted file mode 100644
index e4c083564b..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AttributeList.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AttributeList.java 1.31 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.Enumeration;
-
-/**
- * Class for storing information about the attributes available on a
- * particular type of GUI object.
- *
- * @version 1.31, 07/25/97
- */
-public class AttributeList implements Cloneable {
- private Hashtable table;
- private Hashtable aliasTable;
-
- public AttributeList() {
- table = new Hashtable();
- aliasTable = new Hashtable();
- }
-
- public void add(Attribute attr) {
- table.put(attr.getName(), attr);
- }
-
- public void add(String name, String type, Object defaultValue) {
- Attribute a = lookup(name);
- if (a == null)
- add(new Attribute(name, type, defaultValue, 0));
- else
- add(new Attribute(name, type, defaultValue, a.getFlags()));
- }
-
- public void add(String name, String type, Object defaultValue,
- int flags) {
- table.put(name, (new Attribute(name, type, defaultValue,
- flags)));
- }
-
- public void alias(String name1, String name2) {
- aliasTable.put(name1, name2);
- }
-
- public Enumeration aliasKeys() {
- return aliasTable.keys();
- }
-
- public String resolveAlias(String name) {
- String s1, s2;
-
- s1 = name;
- s2 = s1;
- while (s1 != null) {
- s2 = s1;
- s1 = (String)aliasTable.get(s1);
- }
-
- return s2;
- }
-
- public void remove(String name) {
- table.remove(name);
- aliasTable.remove(name);
- }
-
- private Attribute lookup(String name) {
- Attribute attr = (Attribute)table.get(name);
- if (attr == null) {
- name = resolveAlias(name);
- attr = (Attribute)table.get(name);
- }
- return attr;
- }
-
- public Attribute get(String name) {
- return lookup(name);
- }
-
- public boolean contains(String name) {
- return (lookup(name) != null);
- }
-
- /**
- * Returns an enumeration of attributes with the given flags.
- */
- public Enumeration attributesWithFlags(int flags) {
- Attribute s;
- Vector set = new Vector();
- for (Enumeration e = table.elements(); e.hasMoreElements(); ) {
- s = (Attribute) e.nextElement();
- if ((s.getFlags() & flags) != 0) {
- set.addElement(s);
- }
- }
- return (set.elements());
- }
-
- /**
- * Returns an enumeration of attributes that do not have
- * the given flags.
- */
- public Enumeration attributesWithoutFlags(int flags) {
- Attribute s;
- Vector set = new Vector();
- for (Enumeration e = table.elements(); e.hasMoreElements(); ) {
- s = (Attribute) e.nextElement();
- if ((s.getFlags() & flags) == 0) {
- set.addElement(s);
- }
- }
- return (set.elements());
- }
-
- /**
- * Returns an enumeration of all elements in the attribute list.
- */
- public Enumeration elements() {
- return (table.elements());
- }
-
- /**
- * Returns the number of elements in the attribute list.
- */
- public int size() {
- return (table.size());
- }
-
- /**
- * Merge the contents of the given list with this one. New elements
- * by the same name will overwrite old ones. Attributes are cloned
- * before merging with this list.
- */
- public void merge(AttributeList list) {
- if (list != null) {
- for (Enumeration e = list.elements(); e.hasMoreElements(); )
-
- {
- add((Attribute) ((Attribute) e.nextElement()).clone());
- }
- for (Enumeration e = list.aliasKeys();
- /* JSTYLED */
- e.hasMoreElements(); ) {
- String s = (String)e.nextElement();
- alias(s, list.resolveAlias(s));
- }
- }
- }
-
- /**
- * Returns an alphabetized enumeration of attributes.
- */
- public static Enumeration alphabetize(Enumeration e) {
- Vector v = new Vector();
- for (; e.hasMoreElements(); ) {
- int i;
- Attribute a = (Attribute) e.nextElement();
- for (i = 0; i < v.size(); i++) {
- if (((Attribute)
- v.elementAt(i)).getName().compareTo(a.getName()) > 0)
-
- {
- v.insertElementAt(a, i);
- break;
- }
- }
- if (i >= v.size()) {
- v.addElement(a);
- }
- }
- return (v.elements());
- }
-
- /**
- * Clones the attribute list. The attributes in the list
- * are cloned, but the attribute's value is not cloned (see
- * the comment for the clone method in Attribute).
- *
- * @see Attribute
- */
- public Object clone() {
- AttributeList retval = new AttributeList();
- retval.merge(this);
- return (retval);
- }
-
- public String toString() {
- StringBuffer buf = new StringBuffer();
-
- for (Enumeration e = table.keys(); e.hasMoreElements(); ) {
- String key = (String) e.nextElement();
- buf.append(key + /* NOI18N */"(" + ((Attribute)
- table.get(key)).getType() + /* NOI18N */") ");
- }
-
- for (Enumeration e = aliasTable.keys(); e.hasMoreElements(); ) {
- String alias = (String) e.nextElement();
- buf.append(/* NOI18N */"alias:" + alias + /* NOI18N */"->"
- + (String) aliasTable.get(alias) + /* NOI18N */" ");
- }
-
- return (buf.toString());
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AttributeManager.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AttributeManager.java
deleted file mode 100644
index 190ead92d7..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/AttributeManager.java
+++ /dev/null
@@ -1,806 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AttributeManager.java 1.83 - last change made 07/29/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import sunsoft.jws.visual.rt.type.Op;
-
-import java.awt.Event;
-import java.util.*;
-
-/*
- * NOTE: Whenever a new public or protected variable is added to this
- * class
- * the name of the variable must be added to the reserved words list
- * in the
- * Root class so that the user doesn't use it in one of the
- * generated Root
- * sub-classes.
- */
-
-/**
- * The AttributeManager class is a base class for objects that
- * have attributes. The Shadow and Group classes are sub-classed
- * from AttributeManager.
- * <p>
- * The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin
- * with "rt".
- *
- * <pre>
- * name type default value
- * -----------------------------------------------------------------------
- * name java.lang.String null
-* < /pre>
-*
-* @version 1.83, 07/29/97
-*/
-public class AttributeManager {
- /**
- * Flags
- */
-
- /**
- * Indicates a readonly attribute. An attempt
- * to set the attribute will result in an error.
- */
- public static final int READONLY = 0x1;
-
- /**
- * Flags attributes that will not be shown in the Visual Java
- * attribute editor.
- */
- public static final int HIDDEN = 0x2;
-
- /**
- * Flags attributes that will not be stored in the
- * save file.
- */
- public static final int TRANSIENT = 0x4;
-
- /**
- * The parent will be notified by calling updateContainerAttribute
- * on the parent whenever a CONTAINER attribute is changed.
- */
- public static final int CONTAINER = 0x8;
-
- /**
- * This flag indicates that the default value for the attribute
- * matches the default value for the AWT body. If this flag is
- * set, the setOnBody method will not be called during
- * creation unless the value is actually changed.
- * <p>
- * Similarly for groups, if the DEFAULT flag is set, then
- * setOnGroup will only be called during initialization if the
- * attribute has actually changed. Otherwise setOnGroup will
- * be called regardless of whether the attribute has changed.
- * <p>
- * Note: This flag should only be used where performance is a
- * concern, since resetting the default value on the AWT body
- * should not change its behavior.
- * <p>
- */
- public static final int DEFAULT = 0x10;
-
- /**
- * This flag tells the attribute manager to not refetch the value
- * of the attribute list during the refetchAttributes call. This
- * is useful for the AWT component fonts and colors that are
- * inherited from their parent when set to null.
- * If this flag were not set for those attributes, then they
- * would end up everywhere in the save file.
- */
- public static final int DONTFETCH = 0x20;
-
- /**
- * This flag tells the attribute editor's slot that it should
- * not use
- * a type editor for this attribute, even if there is one
- * registered.
- */
- public static final int NOEDITOR = 0x400;
-
- /**
- * The table where attributes are stored.
- * Attributes may be added to this list during construction, but
- * should not be added at any other time.
- */
- protected AttributeList attributes;
-
- /**
- * The parent of this object.
- */
- AMContainer parent;
-
- /**
- * A flag that is true once create() has been performed on a shadow
- * object and remains so until destroy() is called.
- */
- boolean isCreated = false;
-
- /**
- * Flag for storing the return value of inDesignerRoot while we
- * are created. This speeds up the check in sendToOps.
- */
- private Boolean inDesignerRoot = null;
-
- /**
- * Creates the attributes list and assigns a unique name to this
- * attribute manager. Attributes may be added to the list of
- * attributes
- * in sub-class constructors, but should not be added at any
- * other time.
- */
- public AttributeManager() {
- attributes = new AttributeList();
-
- // name will be set around the time this object is added
- // to a container
- attributes.add(/* NOI18N */"name",
- /* NOI18N */"java.lang.String", null,
- Shadow.NONBODY | NOEDITOR);
-
- // operations for defining callbacks
- attributes.add(/* NOI18N */"operations",
- /* NOI18N */"[Lsunsoft.jws.visual.rt.type.Op;", null,
- Shadow.NONBODY);
- }
-
- /**
- * Returns the parent for this attribute manager.
- */
- public AMContainer getParent() {
- return parent;
- }
-
- /**
- * Sets the parent for this attribute manager.
- */
- public void setParent(AMContainer parent) {
- this.parent = parent;
- }
-
- /**
- * Returns true if we are not running inside the designer.
- */
- public boolean isLive() {
- Root r = getRoot();
- while (r != null) {
- if (r.isLoadedRoot())
- return false;
-
- Group group = r.getGroup();
- if (group == null)
- break;
-
- r = group.getRoot();
- }
-
- return true;
- }
-
- /**
- * Returns true if this instance is a direct descendant
- * of the designer root. Being a direct descendant means
- * that there are no intermediate groups between this
- * attribute manager and the root.
- * The designer root is the root that is built inside
- * Visual Java.
- */
- public boolean inDesignerRoot() {
- if (inDesignerRoot != null)
- return inDesignerRoot.booleanValue();
- else
- return checkDesignerRoot();
- }
-
- private boolean checkDesignerRoot() {
- Root myRoot = getRoot();
- return (myRoot != null && myRoot.isLoadedRoot());
- }
-
- /**
- * Returns a type name suitable for use in making unique names for
- * instances of this class (or one of its sub-classes). This should
- * be overridden in sub-classes to give more useful names.
- */
- protected String getUserTypeName() {
- return (/* NOI18N */"manager");
- }
-
- /**
- * Puts an attribute's value directly into the attribute table.
- */
- protected final void putInTable(String key, Object value) {
- Attribute a = attributes.get(key);
- if (a == null)
- throw new Error(Global.fmtMsg(
-"sunsoft.jws.visual.rt.base.AttributeManager.SetInvalidAttribute", key));
- if (a.flagged(READONLY))
- throw new Error(Global.fmtMsg(
-"sunsoft.jws.visual.rt.base.AttributeManager.ReadonlyAttribute", key));
-
- a.setValue(value);
- }
-
- /**
- * Gets an attribute's value directly from the attribute table.
- */
- protected final Object getFromTable(String key) {
- Attribute a = attributes.get(key);
- if (a == null)
- throw new Error(Global.fmtMsg(
-"sunsoft.jws.visual.rt.base.AttributeManager.GetInvalidAttribute", key));
-
- return (a.getValue());
- }
-
- /**
- * Sets an attribute in this object's attribute list. This may be
- * overridden in sub-classes to introduce special behavior for the
- * setting of some attributes.
- */
- public void set(String key, Object value) {
- putInTable(key, value);
-
- // update the the global register for unsaved changes
- if (inDesignerRoot())
- DesignerAccess.setChangesMade(true);
- }
-
- /**
- * Gets an attribute from this shadow object's attribute list. This
- * may be overridden in sub-classes to introduce special behavior
- * for the getting of some attributes.
- */
- public Object get(String key) {
- return (getFromTable(key));
- }
-
- /**
- * Returns the type string for the attribute,
- * or null if the attribute does not exist.
- */
- public String getType(String key) {
- Attribute attr = attributes.get(key);
- if (attr != null)
- return attr.getType();
- else
- return null;
- }
-
- /**
- * Returns true if the attribute has the flag set, otherwise false.
- */
- public int getFlags(String key) {
- Attribute attr = attributes.get(key);
- if (attr != null)
- return attr.getFlags();
- else
- return 0;
- }
-
- /**
- * Returns true if the attribute exists, otherwise return false.
- */
- public boolean hasAttribute(String key) {
- return (attributes.get(key) != null);
- }
-
- /**
- * Return true if the attribute exists and the type matches,
- * otherwise return false.
- */
- public boolean hasAttribute(String key, String type) {
- Attribute attr = attributes.get(key);
- if (attr != null)
- return attr.getType().equals(type);
- else
- return false;
- }
-
- /**
- * Apply all the CONTAINER attributes in the child to the
- * given parent.
- */
- public void updateContainerAttributes(AMContainer parent,
- AttributeManager child)
- {
- Enumeration e = child.attributes.elements();
- while (e.hasMoreElements()) {
- Attribute a = (Attribute)e.nextElement();
- if (a.flagged(CONTAINER))
- parent.updateContainerAttribute(child, a.getName(),
- a.getValue());
- }
- }
-
- /**
- * Return a reference to the entire table of attributes.
- */
- public AttributeList getAttributeList() {
- refetchAttributeList();
-
- // Perhaps the attribute list should be cloned here.
- // But this would
- // cause a performance loss. Anyone using getAttributeList
- // should NOT modify the values of any of the attributes,
- // especially those
- // that have the DONTFETCH flag set.
- return attributes;
- }
-
- Attribute getAttribute(String name) {
- return (Attribute)attributes.get(name);
- }
-
- /**
- * Calls get for all the attributes, and then stores the values
- * directly in the attribute hash table. This ensures that the
- * list of attributes is up to date.
- */
- public void refetchAttributeList() {
- Enumeration e = attributes.elements();
- while (e.hasMoreElements()) {
- Attribute attr = (Attribute)e.nextElement();
- if (!attr.flagged(DONTFETCH | READONLY)) {
- String name = attr.getName();
- putInTable(name, get(name));
- }
- }
- }
-
- /*
- * Finds a component recursively by name.
- */
- public AttributeManager resolve(String name) {
- if (name == null)
- return null;
-
- if (name.equals(getFromTable(/* NOI18N */"name")))
- return this;
-
- if (this instanceof AMContainer) {
- for (Enumeration e = ((AMContainer) this).getChildList();
- /* JSTYLED */
- e.hasMoreElements(); ) {
- AttributeManager child = (AttributeManager)
- e.nextElement();
- AttributeManager s = child.resolve(name);
- if (s != null)
- return s;
- }
- }
-
- return null;
- }
-
- /**
- * Finds a component from its full path name.
- */
- public AttributeManager resolveFullName(String name) {
- Group group = getGroup();
- if (group != null)
- return group.resolveFullName(name);
- else
- return null;
- }
-
- /**
- * Returns the body for a shadow after resolving it.
- */
- public Object resolveBody(String name) {
- AttributeManager obj = resolve(name);
- if (obj == null)
- return null;
- if (!(obj instanceof Shadow))
- return null;
-
- return ((Shadow)obj).getBody();
- }
-
- /**
- * Returns the name for this attribute manager.
- */
- public String getName() {
- return (String)get(/* NOI18N */"name");
- }
-
- /**
- * Returns a hierarchy name based on the group tree.
- */
- public String getFullName() {
- String name = getName();
-
- Group group = getGroup();
- if (group != null) {
- String groupName = group.getFullName();
- if (groupName != null)
- name = groupName + /* NOI18N */"." + name;
- }
-
- return name;
- }
-
- /**
- * Initialize the object. Only useful for groups.
- */
- public void initialize() {
- }
-
- /**
- * Create the object. The AWT components are constructed
- * during creation.
- */
- public void create() {
- isCreated = true;
- inDesignerRoot = new Boolean(checkDesignerRoot());
-
- // if this is a container create its children
- if (this instanceof AMContainer)
- ((AMContainer) this).createChildren();
- }
-
- /**
- * Returns true if the attribute manager is created.
- */
- public boolean isCreated() {
- return isCreated;
- }
-
- /**
- * Recreates this object after a CONSTRUCTOR attribute has been set
- * (overridden in Shadow).
- */
- public void recreate() {
- }
-
- /**
- * This method is overridden in most sub-classes. It should be the
- * opposite of create() and should have the same ability to be
- * called safely multiple times.
- */
- public void destroy() {
- isCreated = false;
- inDesignerRoot = null;
-
- // destroy all the children of this shadow object
- if (this instanceof AMContainer)
- ((AMContainer) this).destroyChildren();
- }
-
- /**
- * Returns a string that shows the hierarchy of shadow objects.
- * Starts first one (the caller) off as the top level.
- */
- public String hierarchy() {
- return (hierarchy(0));
- }
-
- /**
- * Returns a string that shows the hierarchy of shadow objects.
- */
- private String hierarchy(int level) {
- String indent = /* NOI18N */"";
- for (int i = 0; i < level; i++)
- indent = indent + /* NOI18N */" ";
-
- String kids = /* NOI18N */"";
- if (this instanceof AMContainer) {
- for (Enumeration e = ((AMContainer) this).getChildList();
- /* JSTYLED */
- e.hasMoreElements(); )
- kids = kids + ((AttributeManager)
- e.nextElement()).hierarchy(level + 1);
- }
-
- return (indent + getFromTable(/* NOI18N */"name")
- + Global.newline() + kids);
- }
-
- /**
- * Returns a String that represents the value of this Object.
- */
- public String toString() {
- return (super.toString() + /* NOI18N */"["
- + ((this instanceof AMContainer) ?
- /* NOI18N */"container" : /* NOI18N */"nonContainer")
- + /* NOI18N */"]");
- }
-
- /**
- * Returns the root for this object, or null if these is no root.
- */
- public Root getRoot() {
- AttributeManager mgr = this;
-
- while (mgr != null && !(mgr instanceof Root))
- mgr = (AttributeManager)mgr.getParent();
-
- return (Root)mgr;
- }
-
- /**
- * Returns the group for this object, or null if there is none.
- */
- public Group getGroup() {
- Root root = getRoot();
- if (root != null)
- return root.getGroup();
- else
- return null;
- }
-
- /**
- * Returns the group that is forwarding the specified attribute
- * to this attribute manager. Return null if the attribute is not
- * being forwarded from any group.
- */
- protected Group getForwardingGroup(String attributeName) {
- Root root = getRoot();
- Group group = root.getGroup();
- Group parent;
-
- if (group != null) {
- if (group.hasAttributeForward(this, attributeName)) {
- parent = group.getParentGroup();
- while (parent != null &&
- parent.hasAttributeForward(group, attributeName)) {
- group = parent;
- parent = group.getParentGroup();
- }
- return group;
- }
- }
-
- return null;
- }
-
- /**
- * replicate is used by Visual Java for cut and paste.
- */
- public AttributeManager replicate() {
- // Create a new instance of the AttributeManager
- AttributeManager newMgr = null;
- try {
- newMgr = (AttributeManager)getClass().newInstance();
- }
- catch (InstantiationException ex) {
- // Perhaps this should be an Exception?
- System.out.println(ex.getMessage()
- + /* NOI18N */" " + this);
- }
- catch (IllegalAccessException ex) {
- // Perhaps this should be an Exception?
- System.out.println(ex.getMessage()
- + /* NOI18N */" " + this);
- }
- if (newMgr == null)
- return null;
-
- // Copy the attribute list
- AttributeList list = getAttributeList();
- Enumeration e = list.elements();
- while (e.hasMoreElements()) {
- Attribute attr = (Attribute)e.nextElement();
- if (!attr.flagged(TRANSIENT | READONLY))
- newMgr.set(attr.getName(), attr.getValue());
- }
-
- // Replicate the children
- if (this instanceof AMContainer) {
- AMContainer newCntr = (AMContainer)newMgr;
- e = ((AMContainer)this).getChildList();
-
- while (e.hasMoreElements()) {
- AttributeManager child = (AttributeManager)
- e.nextElement();
- newCntr.add(child.replicate());
- }
- }
-
- return newMgr;
- }
-
- //
- // Events
- //
-
- /**
- * Posts a message to this object's parent.
- */
- public void postMessageToParent(Message msg) {
- if (parent != null)
- ((AttributeManager)parent).postMessage(msg);
- }
-
- /**
- * Posts a message to this object.
- */
- public void postMessage(Message msg) {
- if (inDesignerRoot())
- sendToOps(msg);
-
- if (!handleMessage(msg) && parent != null)
- ((AttributeManager)parent).postMessage(msg);
- }
-
- private void sendToOps(Message msg) {
- Op ops[] = (Op[])get(/* NOI18N */"operations");
- if (ops != null) {
- for (int i = 0; i < ops.length; i++) {
- ops[i].filter.target = this;
-
- if (ops[i].scope == null)
- ops[i].scope = getRoot();
-
- // Don't handle GROUP actions
- if (ops[i].action != null &&
- ops[i].action.target != null &&
- ops[i].action.target.getName() != null &&
- ops[i].action.target.getName().equals(/* NOI18N */"GROUP"))
- continue;
-
- ops[i].handleMessage(msg);
- }
- }
- }
-
- /**
- * May be overridden by subclasses that want to act
- * on messages that are sent to this object.
- */
- public boolean handleMessage(Message msg) {
- if (msg.isAWT)
- return handleEvent(msg, (Event)msg.arg);
- else
- return false;
- }
-
- /**
- * May be overridden by subclasses that want to act
- * on AWT events that are sent to this object.
- */
- public boolean handleEvent(Message msg, Event evt) {
- switch (evt.id) {
- case Event.MOUSE_ENTER:
- return mouseEnter(msg, evt, evt.x, evt.y);
- case Event.MOUSE_EXIT:
- return mouseExit(msg, evt, evt.x, evt.y);
- case Event.MOUSE_MOVE:
- return mouseMove(msg, evt, evt.x, evt.y);
- case Event.MOUSE_DOWN:
- return mouseDown(msg, evt, evt.x, evt.y);
- case Event.MOUSE_DRAG:
- return mouseDrag(msg, evt, evt.x, evt.y);
- case Event.MOUSE_UP:
- return mouseUp(msg, evt, evt.x, evt.y);
-
- case Event.KEY_PRESS:
- case Event.KEY_ACTION:
- return keyDown(msg, evt, evt.key);
- case Event.KEY_RELEASE:
- case Event.KEY_ACTION_RELEASE:
- return keyUp(msg, evt, evt.key);
-
- case Event.ACTION_EVENT:
- return action(msg, evt, evt.arg);
- case Event.GOT_FOCUS:
- return gotFocus(msg, evt, evt.arg);
- case Event.LOST_FOCUS:
- return lostFocus(msg, evt, evt.arg);
-
- default:
- return false;
- }
- }
-
- public boolean mouseDown(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseDrag(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseUp(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseMove(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseEnter(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseExit(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean keyDown(Message msg, Event evt, int key) {
- return false;
- }
-
- public boolean keyUp(Message msg, Event evt, int key) {
- return false;
- }
-
- public boolean action(Message msg, Event evt, Object what) {
- return false;
- }
-
- public boolean gotFocus(Message msg, Event evt, Object what) {
- return false;
- }
-
- public boolean lostFocus(Message msg, Event evt, Object what) {
- return false;
- }
-
- /**
- * isLayoutMode - Are we in layout mode?
- */
- private boolean layoutMode = false;
-
- /**
- * Returns a boolean indicating if this object is in layout mode.
- */
- public boolean isLayoutMode() {
- return layoutMode;
- }
-
- /**
- * Called when Visual Java switches to layout mode.
- */
- public void layoutMode() {
- layoutMode = true;
- }
-
- /**
- * Called when Visual Java switches to preview mode.
- */
- public void previewMode() {
- layoutMode = false;
- }
-
- /**
- * Called after addNotify and before the window is reshaped.
- */
- protected void preValidate() {
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/BeanSerialization.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/BeanSerialization.java
deleted file mode 100644
index c06695e398..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/BeanSerialization.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- *
- * ident "%Z%%M% %I% %E% SMI"
- *
- */
-
-/*
- * @(#) BeanSerialization.java 1.5 - last change made 08/06/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.io.*;
-
-import sunsoft.jws.visual.rt.encoding.*;
-
-public class BeanSerialization {
-
- final static private boolean debug = false;
- final static private boolean test = false;
-
- static public String serializeObject(Object obj) {
- if (debug) System.out.println(/* NOI18N */"\nserializeObject: entered");
-
- /*
- ** serialize the bean
- */
-
- ByteArrayOutputStream byteOutStrm = new ByteArrayOutputStream();
- try {
- ObjectOutputStream objOutStrm = new ObjectOutputStream(byteOutStrm);
- objOutStrm.writeObject(obj);
- objOutStrm.flush();
- } catch (NotSerializableException ex) {
- // skip it since it is not serializable - not an err
- if (debug) System.out.println(ex.toString());
- return null;
- } catch (Exception ex) {
- throw new VJException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.BeanSerialization.serExcpt",
- obj, ex.toString()));
- }
- byte[] buf = byteOutStrm.toByteArray();
-
- if (debug) System.out.println(/* NOI18N */
- "serializeObject: serialized");
-
- /*
- ** encode the string
- */
-
- UCEncoder encoder = new UCEncoder();
- String str = encoder.encodeBuffer(buf);
-
- if (debug) System.out.println(/* NOI18N */"serializeObject: encoded");
-
- return str;
- }
-
- static public Object deserializeObject(String value, String objName) {
- if (debug) System.out.println(/* NOI18N */
- "\ndeserializeObject: entered");
-
- if (value == null || value.length() == 0) {
- if (debug) {
-/* JSTYLED */
- System.out.println(/* NOI18N */"deserializeObject: value is null");
- }
- return null;
- }
-
- /*
- ** decode the string first
- */
-
- byte buf[] = null;
- try {
- UCDecoder decoder = new UCDecoder();
- buf = decoder.decodeBuffer(value);
- } catch (Exception ex) {
- if (debug) System.out.println(ex.toString());
- throw new VJException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.BeanSerialization.decoderExcpt",
- objName));
- }
- if (debug) System.out.println(/* NOI18N */"deserializeObject: decoded");
-
- /*
- ** deserialize the object
- */
-
- Object newBody = null;
- try {
- ByteArrayInputStream byteInStrm = new ByteArrayInputStream(buf);
- ObjectInputStream objInStrm = new ObjectInputStream(byteInStrm);
- newBody = objInStrm.readObject();
- } catch (Exception ex) {
- // ClassNotFoundException from readObject
- // OptionalDataException from readObject
- // StreamCorruptedException from ObjectInputStream
- // IOException from ObjectInputStream
- String errMsg = Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.BeanSerialization.deserExcpt",
- objName, ex.toString());
- if (java.beans.Beans.isDesignTime()) {
- DesignerAccess.reportInstantiationError(errMsg);
- }
- else
- {
- throw new VJException(errMsg);
- }
- }
- if (debug) {
- System.out.println(/* NOI18N */"deserializeObject: deserialized");
- }
- return newBody;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/CustomClassLoader.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/CustomClassLoader.java
deleted file mode 100644
index 5a87d1f280..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/CustomClassLoader.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * @(#) CustomClassLoader.java 1.1 - last change made 04/25/97
- *
- * Copyright (c) 1995, 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software
- * and its documentation for NON-COMMERCIAL purposes and without
- * fee is hereby granted provided that this copyright notice
- * appears in all copies. Please refer to the file "copyright.html"
- * for further important copyright and licensing information.
- *
- * 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.
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.lang.Class;
-
-public interface CustomClassLoader {
- /**
- * This method is called to load a class indicated by the
- * className argument.
- *
- * @param className the name of the class to load
- */
- Class loadClass(String className) throws ClassNotFoundException;
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/DesignerAccess.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/DesignerAccess.java
deleted file mode 100644
index 2f3ab58ccc..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/DesignerAccess.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) DesignerAccess.java 1.25 - last change made 08/07/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-import java.util.Hashtable;
-import java.awt.Insets;
-
-/**
- * Accessor class for use by Visual Java. Gives
- * access to specific methods in the rt package that are package
- * private. The methods in this class should not be used by any other
- * application; they are for use by Visual Java only and are subject
- * to change.
- *
- * @version 08/07/97, 1.25
- */
-public class DesignerAccess {
- //
- // Constants
- //
- public static final int STATUS_BAR = 2002;
-
- //
- // Internal "Group" methods
- //
- public static ContainerShadow getContainer(Group group) {
- return group.getContainer();
- }
-
- public static PanelShadow getPanel(Group group) {
- return group.getPanel();
- }
-
- public static WindowShadow getWindow(Group group) {
- return group.getWindow();
- }
-
- public static void internalShowGroup(Group group) {
- group.internalShowGroup();
- }
-
- public static void internalHideGroup(Group group) {
- group.internalHideGroup();
- }
-
- public static boolean doingShow(Group group) {
- return group.doingShow();
- }
-
- public static void preValidate(Group group) {
- group.preValidate();
- }
-
- //
- // Internal "AttributeManager" methods
- //
- public static AttributeManager replicate(AttributeManager mgr) {
- return mgr.replicate();
- }
-
- //
- // Internal "Root" methods
- //
- public static void setMainChild(Root root, AttributeManager
- container, boolean isPanel) {
- root.setMainChild(container, isPanel);
- }
-
- public static void addRootObserver(Root root, RootObserver observer)
-
- {
- root.addRootObserver(observer);
- }
-
- public static void removeRootObserver(Root root, RootObserver
- observer) {
- root.removeRootObserver(observer);
- }
-
- public static void disableEventForwarding(Root root) {
- root.disableEventForwarding();
- }
-
- public static void enableEventForwarding(Root root) {
- root.enableEventForwarding();
- }
-
- public static void clearUniqueNameTable(Root root) {
- root.clearUniqueNameTable();
- }
-
- public static boolean isValidName(String name) {
- return Root.isValidName(name);
- }
-
- public static boolean isUniqueName(Root root, String name) {
- return root.isUniqueName(name);
- }
-
- public static boolean isUniqueName(Root root, String name,
- AttributeManager skip) {
- return root.isUniqueName(name, skip);
- }
-
- public static boolean isUniqueName(Root root, String name,
- AttributeManager skip,
- AttributeManager prune) {
- return root.isUniqueName(name, skip, prune);
- }
-
- public static String getUniqueName(Root root, AttributeManager
- child) {
- return root.getUniqueName(child);
- }
-
- public static String getUniqueName(Root root, AttributeManager
- child, Root otherTree) {
- return root.getUniqueName(child, otherTree);
- }
-
- public static String getProblemWithName(Root root, String name) {
- return root.getProblemWithName(name);
- }
-
- public static void setCursor(Root root, int cursor) {
- root.setCursor(cursor);
- }
-
- //
- // LOADED ROOT
- //
-
- /*
- * Sets the loaded root flag.
- */
- public static void setLoadedRoot(Root root, boolean flag) {
- root.setLoadedRoot(flag);
- }
-
- //
- // Designer classes used by FrameShadow, DialogShadow,
- // GBPanel, RootFrame
- // and RootDialog.
- //
-
- private static Class frameClass;
- private static Class dialogClass;
- private static Class gbPanelClass;
- private static Class rootWindowHelperClass;
-
- public static void setFrameClass(Class fc) {
- frameClass = fc;
- }
-
- public static Class getFrameClass() {
- return frameClass;
- }
-
- public static void setDialogClass(Class dc) {
- dialogClass = dc;
- }
-
- public static Class getDialogClass() {
- return dialogClass;
- }
-
- public static void setGBPanelClass(Class gbc) {
- gbPanelClass = gbc;
- }
-
- public static Class getGBPanelClass() {
- return gbPanelClass;
- }
-
- public static void setRootWindowHelperClass(Class c) {
- rootWindowHelperClass = c;
- }
-
- public static Class getRootWindowHelperClass() {
- return rootWindowHelperClass;
- }
-
- //
- // The current working directory for the designer
- //
- private static String cwd;
-
- public static void setCWD(String cwd) {
- DesignerAccess.cwd = cwd;
- }
-
- public static String getCWD() {
- return cwd;
- }
-
- //
- // UNSAVED EDITS REGISTRY
- //
-
- /**
- * Is true when there are unsaved changes. Isn't going to get used
- * unless the visual designer is running.
- */
- private static boolean changesMade = false;
-
- /*
- * Returns whether there have been any changes made
- * since the last save.
- */
- public static boolean getChangesMade() {
- return (changesMade);
- }
-
- /*
- * Sets the changes made flag. Set to true when a change is made.
- * This needs to set to false at the top-level of the designer's GUI
- * whenever a file is opened, a "New" is done, a file is saved, etc.
- * This doesn't work all the time, so we might replace it with
- * something else in the future.
- */
- public static void setChangesMade(boolean b) {
- // if (b != changesMade) {
- // Error e = new Error("DesignerAccess.changesMade
- // switched to " + b);
- // e.printStackTrace();
- // }
- changesMade = b;
- }
-
- //
- // COMPONENT -> SHADOW HASHTABLE
- //
-
- /*
- * Storage to map components (keys) to their shadow objects (values)
- */
- private static Hashtable shadowTable = new Hashtable();
-
- /*
- * Returns the shadow table, which contains components (as keys) and
- * their associated shadow objects (as the values.) This one table
- * is shared by all of runtime and the visual designer.
- * It is used to
- * find the Group that should handle the event for a particular
- * component
- * and to find the shadow object for components in the designer.
- */
- public static Hashtable getShadowTable() {
- return (shadowTable);
- }
-
- /**
- * Global lock (for paint workaround.)
- */
- public static Object mutex = new Object();
-
- /*
- *
- */
-
- private static DesignerErrorInterface designerError = null;
-
- static public void
- setDesignerErrorInterface(DesignerErrorInterface obj) {
- designerError = obj;
- }
-
- static public void reportInstantiationError(String msg) {
- if (!java.beans.Beans.isDesignTime())
- return;
-
- if (designerError != null) {
- designerError.reportInstantiationError(msg);
- }
- else
- {
- System.out.println(msg);
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/DesignerErrorInterface.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/DesignerErrorInterface.java
deleted file mode 100644
index 212e34e841..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/DesignerErrorInterface.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- *
- * ident "%Z%%M% %I% %E% SMI"
- *
- */
-
-/*
- * @(#) DesignerErrorInterface.java 1.1 - last change made 08/06/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-public interface DesignerErrorInterface {
- public void reportInstantiationError(String errMsg);
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/ExternalCallOut.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/ExternalCallOut.java
deleted file mode 100644
index 86a9f162b2..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/ExternalCallOut.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ExternalCallOut.java 1.3 - last change made 04/29/96
- */
-
-package sunsoft.jws.visual.rt.base;
-
-/**
- * An interface for an external call-out classes that know how to do
- * something with a Group object once its been created
- * and initialized
- * in the main.
- *
- * @version 1.3, 04/29/96
- */
-public interface ExternalCallOut {
- /**
- * Set the Group that the main class has loaded and initialized.
- */
- public void initExternal(Group group);
-
- /**
- * Start the operations of the external class.
- */
- public void startExternal();
-
-
- /**
- * Stop the operations of the external class.
- */
- public void stopExternal();
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Global.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Global.java
deleted file mode 100644
index dd72c001ad..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Global.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Global.java 1.53 - last change made 08/12/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.util.StringTokenizer;
-import sunsoft.jws.visual.rt.props.MessageCatalog;
-
-/**
- * Globals for runtime area.
- *
- * @version 1.53, 08/12/97
- */
-public class Global {
- private static final double version = 1.0;
- private static final String vendor = /* NOI18N */"SunSoft, Inc.";
- private static final char PERIOD = /* NOI18N */ '.';
-
- /**
- * Returns the version number of this runtime package.
- */
- public static double getVersion() { return (version); }
-
- /**
- * Returns the vendor of this runtime package.
- */
- public static String getVendor() { return (vendor); }
-
- /**
- * A convenient instance of the Util class,
- * easy access to the utility
- * functions there.
- */
- public static Util util = new Util();
-
- // Which OS are we running?
- // If we know we can work-around some AWT bugs.
- private static boolean isWindows;
- private static boolean isWindows95;
- private static boolean isWindowsNT;
- private static boolean isSolaris;
- private static boolean isUnix;
- private static boolean isIrix;
- private static boolean isMotif;
-
- // What version of java are we using?
- private static double javaVersion;
-
- // What do we use for new lines (when printing, generating, etc.)
- private static String newline;
-
- // current message catalog for the current locale
- private static MessageCatalog messageCatalog;
-
- static {
- String osname = System.getProperty(/* NOI18N */"os.name");
- isWindows = osname.startsWith(/* NOI18N */"Windows");
- isWindows95 = osname.startsWith(/* NOI18N */"Windows 95");
- isWindowsNT = osname.startsWith(/* NOI18N */"Windows NT");
- isSolaris = osname.startsWith(/* NOI18N */"Solaris");
- isUnix = !osname.startsWith(/* NOI18N */"Windows");
- isIrix = osname.startsWith(/* NOI18N */"Irix");
- isMotif = isUnix;
-
- // work-around for the fact that newline character
- // sequences are different on Unix and Windows
- newline = (isWindows ? /* NOI18N */"\r\n" : /* NOI18N */"\n");
-
- initJavaVersion();
-
- // ORIGINAL CODE
- // load the msg catalog for the runtime classes for
- // the current locale
- // messageCatalog = new MessageCatalog(
- // /* NOI18N */"sunsoft.jws.visual.rt.VisualRTProperties");
- // END OFF ORIGINAL CODE
-
- // WORKAROUND
- // XXX To workaround the JDK bug 4071131,
- // which reports bogus errors,
- // we always load VisualRTProperties_en_US for the
- // Atlantis release.
- // Since we don't have localized catalogs for
- // any other locale in
- // the Atlantis release, this works for Atlantis. For releases
- // after Atlantis, we have to undo this workaround
- // and fix the real
- // JDK problem.
- messageCatalog = new MessageCatalog(
- /* NOI18N */"sunsoft.jws.visual.rt.props.VisualRTProperties",
- java.util.Locale.US);
- // END OF WORKAROUND
- }
-
- private static void initJavaVersion() {
- String jv;
- int i, len;
-
- javaVersion = 0.0;
- jv = System.getProperty(/* NOI18N */"java.version");
-
- // Strip everything off starting at the first non-numeric
- // character.
- // The JWS java version will soon look like
- // this: "1.0.1ss:<date-time>"
- len = jv.length();
- for (i = 0; i < len; i++) {
- char c = jv.charAt(i);
- if (!Character.isDigit(c) && c != PERIOD)
- break;
- }
- jv = jv.substring(0, i);
-
- // JWS screws up the "java.version" property. This will
- // be fixed soon.
- if (jv.equals(/* NOI18N */"")) {
- javaVersion = 1.01;
- return;
- }
-
- // Count up the number of dot characters.
- // This is necessary because
- // the JDK java version looks like this: "1.0.2"
- int dotcount = 0;
- len = jv.length();
- for (i = 0; i < len; i++) {
- if (jv.charAt(i) == PERIOD)
- dotcount++;
- }
-
- // The netscape java version looks like this: "1.021"
- if (dotcount <= 1) {
- try {
- javaVersion = Double.valueOf(jv).doubleValue();
- return;
- }
- catch (NumberFormatException ex) {
- }
- }
-
- // The JDK java version looks like this: "1.0.2"
- double mult = 1;
- StringTokenizer st = new StringTokenizer(jv, /* NOI18N */".");
- while (st.hasMoreTokens()) {
- javaVersion += Integer.parseInt(st.nextToken()) * mult;
- mult *= 0.1;
- }
- }
-
- /**
- * Returns true if running on Windows 95 or NT.
- */
- public static boolean isWindows() { return isWindows; }
-
- /**
- * Returns true if running on Windows 95.
- */
- public static boolean isWindows95() { return isWindows95; }
-
- /**
- * Returns true if running on Windows NT.
- */
- public static boolean isWindowsNT() { return isWindowsNT; }
-
- /**
- * Returns true if running on Solaris.
- */
- public static boolean isSolaris() { return isSolaris; }
-
- /**
- * Returns true if running on Unix.
- */
- public static boolean isUnix() { return isUnix; }
-
- /**
- * Returns true if running on SGI Irix.
- */
- public static boolean isIrix() { return isIrix; }
-
- /**
- * Returns true if using Motif.
- */
- public static boolean isMotif() { return isMotif; }
-
- /**
- * Returns a string that can be used as a newline.
- * This string includes
- * a carriage return if we are running on Windows.
- */
- public static String newline() { return newline; }
-
- /**
- * Appends a newline to buf. This also appends a carriage return
- * if we are running on Windows.
- */
- public static void newline(StringBuffer buf)
- { buf.append(newline); }
-
- /**
- * Returns the version of Java we are using.
- */
- public static double javaVersion() {
- return javaVersion;
- }
-
- /**
- * Returns a msg string from the current msg catalog
- */
- public static String getMsg(String key) {
- return messageCatalog.getKeyMessage(key, null);
- }
-
- public static String fmtMsg(String key, Object arg1) {
- return messageCatalog.getFormattedKeyMessage(key, null, arg1);
- }
-
- public static String fmtMsg(String key, Object arg1, Object arg2) {
- return messageCatalog.getFormattedKeyMessage(key, null, arg1,
- arg2);
- }
-
- public static String fmtMsg(String key, Object arg1, Object arg2,
- Object arg3) {
- return messageCatalog.getFormattedKeyMessage(key, null, arg1,
- arg2, arg3);
- }
-
- public static String fmtMsg(String key, Object arg1, Object arg2,
- Object arg3, Object arg4)
- {
- Object [] args = { arg1, arg2, arg3, arg4 };
- return messageCatalog.getFormattedKeyMessage(key, null, args);
- }
-
- public static String fmtMsg(String key, Object arg1, Object arg2,
- Object arg3, Object arg4, Object arg5)
- {
- Object [] args = { arg1, arg2, arg3, arg4, arg5 };
- return messageCatalog.getFormattedKeyMessage(key, null, args);
- }
-
- public static String fmtMsg(String key, Object arg1, Object arg2,
- Object arg3, Object arg4, Object arg5,
- Object arg6)
- {
- Object [] args = { arg1, arg2, arg3, arg4, arg5, arg6 };
- return messageCatalog.getFormattedKeyMessage(key, null, args);
- }
-
- public static String fmtMsg(String key, Object arg1, Object arg2,
- Object arg3, Object arg4, Object arg5,
- Object arg6, Object arg7)
- {
- Object [] args = { arg1, arg2, arg3, arg4, arg5, arg6, arg7 };
- return messageCatalog.getFormattedKeyMessage(key, null, args);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Group.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Group.java
deleted file mode 100644
index cf920a2e36..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Group.java
+++ /dev/null
@@ -1,1716 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Group.java 1.143 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import sunsoft.jws.visual.rt.awt.RootFrame;
-import sunsoft.jws.visual.rt.shadow.*;
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-import sunsoft.jws.visual.rt.type.Converter;
-import sunsoft.jws.visual.rt.type.AMConverter;
-import sunsoft.jws.visual.rt.type.AMRef;
-import sunsoft.jws.visual.rt.base.Global;
-
-
-import java.awt.*;
-import java.util.*;
-import java.net.URL;
-import java.applet.Applet;
-
-/**
- * The base class for every kind of group.
- * <p>
- * The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin
- * with "rt".
- *
- * <pre>
- * name type default value
- * ---------------------------------------------------------------
- * visible java.lang.Boolean true
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @version 1.143, 07/25/97
-*/
-public abstract class Group extends AttributeManager {
-
- // Print the warning message only once.
- private boolean warned = false;
-
- /**
- * This flag is used to detect when showGroup is called
- * recursively during create.
- * We don't want to execute the showGroup code twice
- * because modal dialogs block during "show".
- * This means that if
- * show is called twice, the modal dialog will pop up
- * again after it is hidden.
- */
- private boolean doingShow = false;
-
- /**
- * This flag indicates whether or not the group is
- * currently shown.
- */
- private boolean isShowing = false;
-
- /**
- * This flag is set for forwarded attributes in a group.
- */
- public static final int FORWARD = 0x100;
-
- /**
- * This flag is set for forwarded attributes that will
- * be removed during initialization if the group's
- * container does not define the attribute.
- */
- public static final int FORWARD_REMOVE = 0x200;
-
- /**
- * This constant can be passed to the setCursor call.
- * It indicates
- * that the cursor should be restored to its previous value.
- */
- public static final int RESTORE_CURSOR = 50000;
-
- public static final int BACKSPACE_KEY = 8;
- public static final int TAB_KEY = 9;
- public static final int RETURN_KEY = 10;
- public static final int ESCAPE_KEY = 27;
- public static final int DELETE_KEY = 127;
-
- // The root of the shadow tree.
- private Root root;
-
- /**
- * Set to true when this group is initialized.
- */
- private boolean isInitialized;
-
- /**
- * Set to true when this group has been started, but
- * has not yet been stopped.
- */
- private boolean isStarted = false;
-
- /**
- * Parent group for this group.
- */
- private Group parentGroup = null;
-
- private Vector children = new Vector();
-
- // Operations
- private Vector operations = null;
-
- /**
- * Time Bomb
- */
- private void checkDate() {
- // August 1, 1996 : 838882801
- // August 15, 1996 : 840092401
- // October 15, 1996 : 845362801
-
- Date date = new Date(840092401000L);
- if (System.currentTimeMillis() >= 840092401000L) {
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.base.Group.ExpiredVersion"));
- } else if (!warned) {
- warned = true;
- System.out.println(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Group.ExpiredVersionDate",
- date.toString()));
- }
- }
-
- // NOTE: Any changes made to this comment should also
- // be made in the lib/visual/gen/group.java file.
- /**
- * All the attributes used by this group must be defined in the
- * constructor. setOnGroup is called at initialization for all
- * the attributes. If the attribute has not been set prior to
- * initialization, setOnGroup is called with the default value.
- */
- public Group() {
- // The "visible" attribute MUST have the DEFAULT
- // flag set! We don't want "visible"
- // being set during initialization.
- attributes.add(/* NOI18N */"visible",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, DEFAULT);
- }
-
- /**
- * Initialize the group. The shadow tree for the group
- * is created during initialization.
- */
- public void initialize() {
- boolean wasInitialized = isInitialized;
-
- if (!isInitialized) {
- if (!hasEnvironment()) {
- throw new Error(Global.getMsg(
-"sunsoft.jws.visual.rt.base.Group.GroupInitializationWarning"));
- }
-
- isInitialized = true;
-
- /**
- * AMREF: We could have started a recording of all
- * new AMRef's
- * here, but it's a performance hit that doesn't buy us
- * anything, the user shouldn't be making AMRef's
- * that point to
- * an object by a certain name, changing the name
- * of that object, and expecting it to work.
- * The stopRecording call
- * further down goes with this call.
- */
- // AMRef.startRecording();
-
- root = initRoot();
-
- if (root == null && !(this instanceof NVGroup))
- throw new Error(Global.fmtMsg(
-"sunsoft.jws.visual.rt.base.Group.RootIsNull", this.getClass().getName()));
-
- /** AMREF: resolves all AMRef's loaded */
- // AMRef.stopRecording(root);
-
- removeForwardedAttributes();
-
- initGroup();
-
- if (operations != null) {
- Enumeration e = operations.elements();
- while (e.hasMoreElements()) {
- Operations ops =
- (Operations)e.nextElement();
- ops.setRoot(root);
- }
- }
- }
-
- // Initialize the visible sub-groups
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- Group child = (Group)e.nextElement();
- if (wouldBeVisible(child))
- child.initialize();
- }
-
- if (!wasInitialized) {
- // Set attributes on the newly initialized group
- e = attributes.elements();
- while (e.hasMoreElements()) {
- Attribute a = (Attribute) e.nextElement();
- String name = a.getName();
-
- if (a.isModified() ||
- !a.flagged(DEFAULT | READONLY)) {
- set(name, a.getValue());
- }
- }
-
- if (isLayoutMode()) {
- WindowShadow s = getWindow();
- if (s != null)
- s.setLayout(true);
- }
- }
- }
-
- /**
- * Returns true if the group is currently initialized.
- */
- public boolean isInitialized() {
- return isInitialized;
- }
-
- // NOTE: Any changes made to this comment should
- // also be made in the
- // lib/visual/gen/group.java file.
- /**
- * initRoot must be overridden in group subclasses to
- * initialize the shadow tree. The return value must be the
- * root of the newly initialized shadow tree.
- */
- protected abstract Root initRoot();
-
- // NOTE: Any changes made to this comment should
- // also be made in the
- // lib/visual/gen/group.java file.
- /**
- * Called during initialization. It is called just after
- * initRoot is called, but before the sub-groups
- * are initialized and
- * before the attributes are sent to the setOnGroup method.
- *
- * initGroup is only called once in the lifetime of the Group.
- * This is because groups cannot be uninitialized.
- * Anything that
- * needs to be cleaned up should be created in
- * createGroup instead
- * of initGroup, and then can be cleaned up in destroyGroup.
- * createGroup and destroyGroup may be called multiple
- * times during
- * the lifetime of a group.
- */
- protected void initGroup() {};
-
- /**
- * Returns a type name for this group to be used by visual java.
- * May be overridden in sub-classes to give more useful names.
- */
- protected String getUserTypeName() {
- return (Converter.shortClassName(getClass().getName()).toLowerCase());
- }
-
- /**
- * Returns the main container for this group. This can
- * be either a WindowShadow or a PanelShadow.
- */
- public ContainerShadow getContainer() {
- if (root == null)
- return null;
-
- AttributeManager mgr = root.getMainChild();
- if (mgr == null)
- return null;
- else if (mgr instanceof ContainerShadow)
- return (ContainerShadow)mgr;
- else if (mgr instanceof Group)
- return ((Group)mgr).getContainer();
- else
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Group.UnexpectedMainChildType",
- mgr));
- }
-
- /**
- * Returns the main panel for this group. Returns
- * null if the main container is not a panel.
- */
- public PanelShadow getPanel() {
- ContainerShadow c = getContainer();
- if (c instanceof PanelShadow)
- return (PanelShadow)c;
- else
- return null;
- }
-
- /**
- * Returns the main window for this group. Returns
- * null if the main container is not a window.
- */
- public WindowShadow getWindow() {
- ContainerShadow c = getContainer();
- if (c instanceof WindowShadow)
- return (WindowShadow)c;
- else
- return null;
- }
-
- /**
- * Calls show or hide, depending on the value of cond.
- */
- public void show(boolean cond) {
- if (cond)
- show();
- else
- hide();
- }
-
- /**
- * Shows the group by setting the visible attribute to true.
- */
- public void show() {
- set(/* NOI18N */"visible", Boolean.TRUE);
- }
-
- /**
- * Hides the group by setting the visible attribute to false.
- */
- public void hide() {
- set(/* NOI18N */"visible", Boolean.FALSE);
- }
-
- /**
- * Returns true if the group is currently visible.
- *
- * If the application has not yet been fully initialized
- * and created,
- * then isVisible may return true for a group that is not yet
- * visible on the screen. This means that by the time the
- * initialization is complete, the group will be visible
- * on the screen.
- */
- public boolean isVisible() {
- Group base = getBase();
- if (base == null)
- return false;
- else
- return base.wouldBeVisible(this);
- }
-
- /**
- * Returns true if the child group passed as a parameter
- * will be visible
- * when this group is made visible. If the group parameter
- * is not a
- * child of this group, then the return value will be false.
- */
- public boolean wouldBeVisible(Group group) {
- while (group != null && group != this) {
- Boolean v = (Boolean)group.get(/* NOI18N */"visible");
- if (!v.booleanValue())
- return false;
-
- AttributeManager mgr = (AttributeManager)group.getParent();
- while (!(mgr instanceof Root)) {
- v = (Boolean)mgr.get(/* NOI18N */"visible");
- if (!v.booleanValue())
- return false;
- mgr = (AttributeManager)mgr.getParent();
- }
-
- if (mgr == null)
- return false;
-
- group = ((Root)mgr).getGroup();
- }
-
- if (group == null)
- return false;
-
- return true;
- }
-
- /**
- * Returns true if the group is currently showing.
- */
- public boolean isShowing() {
- return isShowing;
- }
-
- /**
- * The only reason that this method exists if because
- * the FrameEditor
- * bypasses the visible attribute, and calls internalShowGroup
- * directly. This means that the group becomes visible
- * even though
- * the visible attribute is set to false. In this situation, we
- * still want the isVisible call for child groups to
- * return true,
- * hence the need for the isContainerVisible method.
- */
- private boolean isContainerVisible() {
- if (inDesignerRoot()) {
- ComponentShadow s = getContainer();
- if (s == null)
- return false;
-
- Component comp = (Component)s.getBody();
- if (comp == null)
- return false;
-
- return comp.isVisible();
- } else {
- return false;
- }
- }
-
- // NOTE: Any changes made to this comment should also
- // be made in the
- // lib/visual/gen/group.java file.
- /**
- * May be overridden by group subclasses that want
- * to know when the group becomes visible.
- * It is called just before
- * the group becomes visible.
- * The group will already be initialized
- * and created at this point.
- */
- protected void showGroup() {
- }
-
- /**
- * Shows the group. Calling internalShowGroup does
- * not affect the
- * value of the visible attribute.
- */
- void internalShowGroup() {
- Group base = null;
-
- // Initialize ourselves if we haven't been initialized yet
- if (!isInitialized) {
- base = getBase();
- if (base != null)
- base.setCursor(Frame.WAIT_CURSOR);
-
- initialize();
- }
-
- // Create ourselves if we haven't been created yet
- if (!isCreated) {
- doingShow = true;
- create();
- doingShow = false;
- }
-
- if (!isShowing) {
- isShowing = true;
-
- if (root != null)
- showGroup();
-
- // showGroup might call hide (trust me, it can happen)
- if (!isShowing)
- return;
- }
-
- //
- // Invoke "show" on all the child groups that
- // are not directly
- // descended from the root. This solves two problems:
- //
- // 1) Panel groups are not immediate children of the root,
- // therefore showRoot does not show the panel groups.
- //
- // 2) Some of the groups may not yet be created due
- // to delayed
- // instantiation. Calling internalShowGroup
- // on these groups
- // will cause them to be initialized and created, as well as
- // shown. For example, say that this group was created while
- // its visible attribute was set to false. This means that
- // none of its child groups would be created because
- // isVisible
- // would return false for them.
- // Now say that visibile is set
- // to true for this group, causing internalShowGroup to be
- // called. At this point, the child groups need to be
- // initialized, created and shown, because now
- // isVisible will
- // return true for them.
- //
- // Note that this needs to be done before the call
- // to showRoot.
- // This is because panel groups must be created
- // before the frames
- // that contain them are shown in showRoot,or else the frame
- // will come up the wrong size.
- //
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- Group child = (Group)e.nextElement();
- if (wouldBeVisible(child) && child.getParent() != root)
- child.internalShowGroup();
- }
-
- // Invoke "show" on all the children of the root
- if (root != null)
- root.showRoot();
-
- // Start the group if it isn't already started
- if (hasStarted() && !isStarted)
- start();
-
- // Revert the cursor
- if (base != null)
- base.setCursor(RESTORE_CURSOR);
- }
-
- // NOTE: Any changes made to this comment should
- // also be made in the
- // lib/visual/gen/group.java file.
- /**
- * May be overridden by group subclasses that want
- * to know when the group becomes non-visible.
- * It is called just
- * before the group becomes non-visible.
- */
- protected void hideGroup() {
- }
-
- /**
- * Hides the group. Calling hideGroup does not affect the
- * value of the visible attribute.
- * You should normally use "hide"
- * instead of "hideGroup" so that the visible attribute is
- * properly
- * updated.
- */
- void internalHideGroup() {
- if (!isInitialized)
- return;
-
- if (isShowing) {
- isShowing = false;
- if (root != null)
- hideGroup();
- }
-
- // Invoke "hide" on all the child groups
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- Group group = (Group)e.nextElement();
- if (group.getParent() != root)
- group.internalHideGroup();
- }
-
- // Invoke "hide" on all the children of the root
- if (root != null)
- root.hideRoot();
- }
-
- //
- // Create and Destroy - Life span of the shadow bodies
- //
-
- /**
- * Create the group. Creating the group causes
- * all the AWT components
- * to be created. Also, the createGroup method is called during
- * group creation.
- */
- public void create() {
- // Initialize ourselves if we haven't been initialized yet
- if (!isInitialized)
- initialize();
-
- if (!hasBase()) {
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.base.Group.GroupCreationWarning"));
- }
-
- boolean wasCreated = isCreated;
- boolean tmpShow = doingShow;
- boolean shouldShow = false;
-
- if (!wasCreated && !doingShow() && isVisible()) {
- // Set the doingShow flag to true so that the windows
- // under the
- // root will not show while they are being created.
- // We want to
- // have them wait to be shown until internalShowGroup
- // is called.
- doingShow = true;
- shouldShow = true;
- }
-
- super.create();
-
- if (root == null && !(this instanceof NVGroup))
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.base.Group.RootIsNull2"));
-
- if (root != null)
- root.create();
-
- if (!wasCreated) {
- createGroup();
-
- // Show the group if it is visible
- if (shouldShow)
- internalShowGroup();
- }
-
- doingShow = tmpShow;
- }
-
- // NOTE: Any changes made to this comment should
- // also be made in the
- // lib/visual/gen/group.java file.
- /**
- * Called during group creation. Groups can be
- * created and destroyed multiple times during their lifetime.
- * Anything that is created in createGroup should be cleaned up
- * in destroyGroup. createGroup is called just after the group
- * has been created. Anything that needs to be done before the
- * group is created should be done in initGroup.
- */
- protected void createGroup() {}
-
- /**
- * Destroy the group. This will destroy all AWT components, but
- * does not destroy the shadow tree or the group tree. The group
- * can be created again after a destroy by calling the "create"
- * method.
- */
- public void destroy() {
- if (!isInitialized)
- return;
-
- stop();
-
- if (isCreated)
- destroyGroup();
-
- super.destroy();
-
- if (root != null)
- root.destroy();
- }
-
- // NOTE: Any changes made to this comment should also
- // be made in the
- // lib/visual/gen/group.java file.
- /**
- * Called during the destroy operation. Groups can
- * be created and destroyed multiple times during their
- * lifetime.
- * Anything that has been created in createGroup should be
- * cleaned up
- * in destroyGroup. destroyGroup is called just before the
- * group
- * is destroyed.
- */
- protected void destroyGroup() {}
-
- //
- // start/stop
- //
-
- /**
- * This method should not be overridden by group subclasses.
- * The "startGroup" method should be overridden instead.
- */
- public void start() {
- if (!isInitialized)
- return;
-
- if (!isCreated)
- create();
-
- if (!isStarted) {
- isStarted = true;
- startGroup();
- }
-
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- Group child = (Group)e.nextElement();
- if (wouldBeVisible(child))
- child.start();
- }
- }
-
- // NOTE: Any changes made to this comment should also
- // be made in the
- // lib/visual/gen/group.java file.
- /**
- * May be overridden by group subclasses that want
- * to be informed when the application is starting.
- * This method is
- * only called after the entire application has been
- * initialized and created.
- *
- * For applets, startGroup is called whenever start
- * is called on the applet.
- */
- protected void startGroup() {}
-
- /**
- * Returns true if the group is currently started.
- */
- public boolean isStarted() {
- return isStarted;
- }
-
- /**
- * This method should not be overridden by group subclasses.
- * The "stopGroup" method should be overridden instead.
- */
- public void stop() {
- if (!isInitialized)
- return;
-
- if (isStarted) {
- isStarted = false;
- stopGroup();
- }
-
- Enumeration e = children.elements();
- while (e.hasMoreElements())
- ((Group)e.nextElement()).stop();
- }
-
- // NOTE: Any changes made to this comment should also
- // be made in the
- // lib/visual/gen/group.java file.
- /**
- * May be overridden by group subclasses that want
- * to be informed when the application is stopping. This method
- * will be called before a destroy is done.
- *
- * For applets, stopGroup is called whenever stop is called
- * on the applet.
- */
- protected void stopGroup() {}
-
- /**
- * Returns true if the base group has been started.
- */
- protected boolean hasStarted() {
- if (isBase()) {
- return isStarted;
- } else if (parentGroup != null) {
- return parentGroup.hasStarted();
- } else {
- return false;
- }
- }
-
- //
- // Group tree - An group can be either a node or a leaf.
- //
-
- void add(Group child) {
- if (!children.contains(child)) {
- child.setParentGroup(this);
- children.addElement(child);
- }
- }
-
- void remove(Group child) {
- if (children.contains(child)) {
- child.setParentGroup(null);
- children.removeElement(child);
- }
- }
-
- void addRootChildren(Root root) {
- addChildren((AMContainer)root);
- }
-
- private void addChildren(AMContainer cntr) {
- Enumeration e = cntr.getChildList();
- while (e.hasMoreElements()) {
- AttributeManager child = (AttributeManager)e.nextElement();
- if (child instanceof Group)
- add((Group)child);
- if (child instanceof AMContainer)
- addChildren((AMContainer)child);
- }
- }
-
- void removeRootChildren(Root root) {
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- Group child = (Group)e.nextElement();
- if (child.getRoot() == root)
- remove(child);
- }
- }
-
- /**
- * Looks up a named child group of this group. Not recursive.
- */
- public Group getChild(String name) {
- for (Enumeration e = children.elements(); e.hasMoreElements(); )
- {
- Group child = (Group)e.nextElement();
- if (name.equals(child.get(/* NOI18N */"name")))
- return (child);
- }
- return (null);
- }
-
- /**
- * Returns an enumerated list of this group's children. The list
- * is cloned because the caller might use it for removing child
- * groups from this group.
- */
- public Enumeration getChildList() {
- return ((Vector)children.clone()).elements();
- }
-
- private void setParentGroup(Group parent) {
- parentGroup = parent;
- }
-
- /**
- * Returns this group's parent.
- */
- public Group getParentGroup() {
- return parentGroup;
- }
-
- /**
- * Returns this group (overrides the behavior of getGroup
- * as defined in AttributeManager).
- */
- public Group getGroup() {
- return this;
- }
-
- /**
- * Returns a hierarchy name based on the group tree.
- */
- public String getFullName() {
- String name = getName();
- if (name == null)
- return null;
-
- if (parentGroup != null) {
- String parentName = parentGroup.getFullName();
- if (parentName != null)
- name = parentName + /* NOI18N */"." + name;
- }
-
- return name;
- }
-
- /**
- * Find a component from its full path name.
- */
- public AttributeManager resolveFullName(String name) {
- AttributeManager mgr = null;
- Group group = this;
- Group newGroup;
-
- while (group != null && !group.isBase())
- group = group.parentGroup;
- if (group == null)
- return null;
-
- StringTokenizer st = new StringTokenizer(name, /* NOI18N */".");
-
- if (group.getName() != null) {
- if (!st.hasMoreTokens())
- return null;
-
- name = st.nextToken();
- if (!name.equals(group.getName()))
- return null;
- }
-
- while (st.hasMoreTokens()) {
- name = st.nextToken();
- newGroup = group.resolveGroup(name);
-
- if (newGroup == null) {
- if (group.root == null)
- return null;
-
- mgr = group.root.resolve(name);
- break;
- } else {
- group = newGroup;
- }
- }
-
- if (st.hasMoreTokens())
- return null;
-
- return mgr;
- }
-
- /**
- * Recursively looks for a named sub-group of this group.
- */
- public Group resolveGroup(String name) {
- Group group;
- String groupName;
-
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- group = (Group)e.nextElement();
- groupName = group.getName();
- if (groupName != null &&
- groupName.equals(name)) {
- return group;
- }
- }
-
- return null;
- }
-
- //
- // AWT parenting
- //
-
- void setParentBody() {
- if (root != null)
- root.addChildBody(getContainer());
- }
-
- void unsetParentBody() {
- if (root != null)
- root.removeChildBody(getContainer());
- }
-
- /**
- * Add an operations class.
- */
- public synchronized void addOperations(Operations ops) {
- if (operations == null)
- operations = new Vector();
-
- if (!operations.contains(ops)) {
- ops.setGroup(this);
- if (root != null)
- ops.setRoot(root);
- operations.addElement(ops);
- }
- }
-
- /**
- * Remove an operations class.
- */
- public synchronized void removeOperations(Operations ops) {
- if (operations != null)
- operations.removeElement(ops);
- }
-
- //
- // Events
- //
-
- /**
- * Posts a message to this group's parent. This method should
- * be used when sending a message from within this group.
- */
- public void postMessageToParent(Message msg) {
- if (parentGroup != null)
- parentGroup.postMessage(msg);
- }
-
- /**
- * Posts a message to this group. This method should
- * be used when sending a message to this group.
- */
- public void postMessage(Message msg) {
- // Distribute the message to the operations classes
- if (operations != null) {
- Enumeration e = operations.elements();
- while (e.hasMoreElements()) {
- Operations ops = (Operations)e.nextElement();
- if (ops.handleMessage(msg))
- return;
- }
- }
-
- // Handle the message
- if (handleMessage(msg))
- return;
-
- // Don't pass AWT events up to the parent. If you want
- // an AWT event
- // to go to the parent group, call
- // "parent.postEvent()" directly.
- if (!msg.isAWT && parentGroup != null)
- parentGroup.postMessage(msg);
- }
-
- // NOTE: Any changes made to this comment should also be
- // made in the
- // lib/visual/gen/group.java file.
- /**
- * May be overridden by subclasses that want to act
- * on messages that are sent to the group.
- * Typically, messages are
- * either AWT events that have been translated to
- * messages, or they
- * are messages that have been sent by other groups.
- * super.handleMessage should be called for any messages
- * that aren't handled. If super.handleMessage is not
- * called, then handleEvent
- * will not be called.
- * <p>
- * AWT events are not propagated regardless of the return
- * value from
- * handleEvent. If you want an AWT event to go to the parent
- * group, you need to call postMessageToParent()
- * with the event message.
- * <p>
- */
- public boolean handleMessage(Message msg) {
- if (msg.isAWT) {
- Event evt = (Event)msg.arg;
-
- handleEvent(msg, evt);
-
- // Post AcceleratorKey messages for certain keys
- if (evt.id == Event.KEY_PRESS && evt.key != 0 &&
- (evt.key < 32 || evt.key >= 127)) {
- postMessage(new Message(this,
- /* NOI18N */"AcceleratorKey", evt));
- }
-
- return true;
- }
-
- return false;
- }
-
- // NOTE: Any changes made to this comment should also be
- // made in the
- // lib/visual/gen/group.java file.
- /**
- * May be overridden by subclasses that want to get
- * notified when AWT events that are sent by the gui components.
- * The return value should be true for handled events, and
- * super.handleEvent should be called for unhandled events.
- * If super.handleEvent is not called, then the specific event
- * handling methods will not be called.
- * <p>
- * The message's target is set to the shadow that sent
- * the event.
- * The event's target is set to the AWT component that
- * sent the event.
- * <p>
- * The following more specific methods may also be overridden:
- * <pre>
- * public boolean mouseDown(Message msg,
- * Event evt, int x, int y);
- * public boolean mouseDrag(Message msg, Event evt,
- * int x, int y);
- * public boolean mouseUp(Message msg, Event evt, int x, int y);
- * public boolean mouseMove(Message msg, Event evt,
- * int x, int y);
- * public boolean mouseEnter(Message msg, Event evt,
- * int x, int y);
- * public boolean mouseExit(Message msg, Event evt,
- * int x, int y);
- * public boolean keyDown(Message msg, Event evt, int key);
- * public boolean keyUp(Message msg, Event evt, int key);
- * public boolean action(Message msg, Event evt, Object what);
- * public boolean gotFocus(Message msg, Event evt, Object what);
- * public boolean lostFocus(Message msg,
- * Event evt, Object what);
- * </pre>
- */
- public boolean handleEvent(Message msg, Event evt) {
- if (super.handleEvent(msg, evt))
- return true;
-
- // Intercept some of the WINDOW events.
- // Sub-groups that want to do
- // something different with these WINDOW events
- // should return true
- // after handling the event.
-
- switch (evt.id) {
- case Event.WINDOW_DESTROY:
- windowDestroy(msg);
- return true;
-
- case Event.WINDOW_ICONIFY:
- if (evt.target instanceof Window) {
- if (isBaseWindow((Window)evt.target)) {
- hide();
- return true;
- }
- }
- return false;
-
- case Event.WINDOW_DEICONIFY:
- if (evt.target instanceof Window) {
- if (isBaseWindow((Window)evt.target)) {
- show();
- return true;
- }
- }
- return false;
- }
-
- return false;
- }
-
- /**
- * Exit the application with no error code.
- */
- public void exit() {
- exit(0);
- }
-
- /**
- * Exit the application. Calls exit on the parent
- * if there is a parent.
- * Only calls System.exit() if there is no applet.
- */
- public void exit(int errCode) {
- if (isBase()) {
- destroy();
- if (applet == null)
- System.exit(errCode);
- } else if (parentGroup != null) {
- parentGroup.exit(errCode);
- } else {
- destroy();
- }
- }
-
- /**
- * Called when a WINDOW_DESTROY event is received by this group.
- * The default behavior for WINDOW_DESTROY events is to
- * set the visible
- * attribute to false for the target of the event.
- * If the target of
- * the event is the main window, then set this group's
- * visible attribute
- * to false. If this group is the base group, then exit the
- * application.
- */
- protected void windowDestroy(Message msg) {
- if (msg.target == getContainer()) {
- if (inDesignerRoot())
- internalHideGroup();
- else if (isBase())
- exit();
- else
- hide();
- } else {
- if (msg.target instanceof AttributeManager)
- ((AttributeManager)msg.target).set(/* NOI18N */"visible",
- Boolean.FALSE);
- else if (msg.target instanceof Component)
- ((Component)msg.target).hide();
- }
- }
-
- /**
- * Attribute forwarding
- */
-
- private Vector forwardVector = new Vector();
-
- /**
- * Adds the attribute manager to the list of forwards. When
- * an attribute is set and is flagged FORWARD, the value for the
- * attribute will be forwarded to every matching attribute
- * manager
- * in the list of forwards.
- */
- protected void addAttributeForward(AttributeManager mgr) {
- if (forwardVector.contains(mgr))
- return;
-
- // Add this guy to the list of attribute forwards
- forwardVector.addElement(mgr);
-
- // Override values in mgr with values from forwards
- Enumeration e = attributes.attributesWithFlags(FORWARD);
-
- while (e.hasMoreElements()) {
- Attribute attr = (Attribute)e.nextElement();
- String name = attr.getName();
- String type = attr.getType();
-
- if (mgr.hasAttribute(name, type)) {
- Object value = mgr.get(name);
-
- if (!attr.flagged(READONLY)) {
- if (!attr.isModified())
- putInTable(name, value);
- else
- if (!mgr.getAttribute(name).flagged(READONLY))
- mgr.set(name, attr.getValue());
- }
-
- attr.setDefaultValue(value);
- }
- }
- }
-
- /**
- * Adds a set of attributes to this group that
- * are suitable for forwarding to a frame, dialog or panel.
- */
- protected void addForwardedAttributes() {
- if (genericAttrList == null) {
- genericAttrList = new AttributeList();
- mergeForward(genericAttrList, new VJPanelShadow());
- mergeForward(genericAttrList, new FrameShadow());
- mergeForward(genericAttrList, new DialogShadow());
- }
-
- Enumeration e = genericAttrList.elements();
- while (e.hasMoreElements()) {
- Attribute attr = (Attribute)e.nextElement();
- if (!hasAttribute(attr.getName()))
- attributes.add((Attribute)attr.clone());
- }
-
- if (!hasAttribute(/* NOI18N */"text"))
- attributes.alias(/* NOI18N */"text", /* NOI18N */"title");
- }
-
- private void mergeForward(AttributeList list, Shadow shadow) {
- AttributeList shadowList =
- (AttributeList)shadow.getAttributeList().clone();
- Enumeration e = shadowList.elements();
-
- while (e.hasMoreElements()) {
- Attribute attr = (Attribute)e.nextElement();
- if (!list.contains(attr.getName())) {
- // System.out.println(/* NOI18N */"add " +
- // attr.getName() + /* NOI18N */" " + attr.getType());
- attr.addFlags(FORWARD | FORWARD_REMOVE);
- list.add(attr);
- }
- }
- }
-
- private void removeForwardedAttributes() {
- ContainerShadow cntr = getContainer();
- if (cntr == null)
- return;
-
- Enumeration e = attributes.attributesWithFlags(FORWARD_REMOVE);
- while (e.hasMoreElements()) {
- Attribute attr = (Attribute)e.nextElement();
- if (!cntr.hasAttribute(attr.getName())) {
- attributes.remove(attr.getName());
- }
- }
- }
-
- /**
- * Return true if we are forwarding the attribute "attrName"
- * to "mgr",
- * otherwise return false.
- */
- boolean hasAttributeForward(AttributeManager mgr, String attrName) {
- return (forwardVector.contains(mgr) &&
- attributes.get(attrName).flagged(FORWARD));
- }
-
- /**
- * These are helper routines for the group.
- * If you are fowarding
- * attributes to a component, dialog or frame, you should call
- * one of these methods in the constructor.
- */
-
- private static AttributeList genericAttrList = null;
-
- /**
- * Compatibility method - do not use!
- */
- protected void addComponentAttributes() {
- addForwardedAttributes();
- }
-
- /**
- * Compatibility method - do not use!
- */
- protected void addPanelAttributes() {
- addForwardedAttributes();
- }
-
- /**
- * Compatibility method - do not use!
- */
- protected void addFrameAttributes() {
- addForwardedAttributes();
- }
-
- /**
- * Compatibility method - do not use!
- */
- protected void addDialogAttributes() {
- addForwardedAttributes();
- }
-
- //
- // Attributes - get and set
- //
-
- /**
- * Get the value of a named attribute.
- */
- public Object get(String key) {
- Attribute attr = attributes.get(key);
-
- if (key.equals(/* NOI18N */"name")) {
- return super.get(key);
- } else if (key.equals(/* NOI18N */"visible")) {
- return super.get(key);
- } else if (!isInitialized) {
- return super.get(key);
- } else if (attr != null && attr.flagged(FORWARD)) {
- Enumeration e = forwardVector.elements();
- AttributeManager mgr;
-
- while (e.hasMoreElements()) {
- mgr = (AttributeManager)e.nextElement();
- if (mgr.hasAttribute(key, attr.getType())) {
- return mgr.get(key);
- }
- }
-
- return null;
- } else {
- return getOnGroup(key);
- }
- }
-
- // NOTE: Any changes made to this comment should also
- // be made in the
- // lib/visual/gen/group.java file.
- /**
- * May be overridden by sub-groups that
- * store attribute values themselves, and do not depend on the
- * group superclass to store them.
- * This method should be overridden
- * instead of "get". Any attributes handled in setOnGroup where
- * super.setOnGroup is not called must also be handled
- * in getOnGroup.
- * <p>
- * The default implementation of getOnGroup retrieves the value
- * from the attribute table.
- * <p>
- * The reason that "getOnGroup" should be overridden instead
- * of "get" is that "getOnGroup" is guaranteed not to be called
- * until the group class is initialized.
- * This means that initRoot
- * will always be called before any calls to getOnGroup
- * are made.
- * <p>
- * Also, this method is only for attributes that are defined
- * in the
- * sub-groups. It is not called for forwarded attributes.
- * <p>
- */
- protected Object getOnGroup(String key) {
- return super.get(key);
- }
-
- /**
- * Set the value of a named attribute.
- */
- public void set(String key, Object value) {
- Attribute attr = attributes.get(key);
-
- if (key.equals(/* NOI18N */"name")) {
- super.set(key, value);
- } else if (key.equals(/* NOI18N */"visible")) {
- super.set(key, value);
- if (((Boolean)value).booleanValue()) {
- if (isVisible())
- internalShowGroup();
- } else
- internalHideGroup();
- } else if (!isInitialized) {
- super.set(key, value);
- } else if (attr != null && attr.flagged(FORWARD)) {
- super.set(key, value);
-
- Enumeration e = forwardVector.elements();
- AttributeManager mgr;
- boolean set = false;
-
- while (e.hasMoreElements()) {
- mgr = (AttributeManager)e.nextElement();
- if (mgr.hasAttribute(key, attr.getType())) {
- mgr.set(key, value);
- set = true;
- }
- }
-
- if (set) {
- // update the the global register for unsaved changes
- if (inDesignerRoot())
- DesignerAccess.setChangesMade(true);
- }
- } else {
- setOnGroup(key, value);
- }
- }
-
- // NOTE: Any changes made to this comment should also
- // be made in the
- // lib/visual/gen/group.java file.
- /**
- * May be overridden by sub-groups that
- * want notification when attributes are changed. This method
- * should be overridden instead of "set".
- * Any attributes handled
- * in setOnGroup where super.setOnGroup is not called
- * must also be
- * handled in getOnGroup.
- * <p>
- * The default implementation of setOnGroup puts the value
- * in the attribute table.
- * <p>
- * The reason that "setOnGroup" should be overridden instead
- * of "set" is that "setOnGroup" is guaranteed not to be called
- * until the group class is initialized.
- * This means that initRoot
- * will always be called before any calls to setOnGroup
- * are made.
- * <p>
- * During initialization, "setOnGroup" will be called for all
- * the group's attributes even if they have not be changed from
- * the default value. But for attributes that have the DEFAULT
- * flag set, "setOnGroup" will only be called if the value
- * of the attribute has changed from the default.
- * <p>
- * Also, this method is only called when attributes defined
- * in the
- * sub-groups are updated. It is not called for forwarded
- * attributes.
- * <p>
- */
- protected void setOnGroup(String key, Object value) {
- super.set(key, value);
- }
-
- /**
- * Base group information.
- */
-
- private Applet applet = null;
- private String cmdLineArgs[];
- private Frame topLevel = null;
- private Registry registry = null;
-
- private boolean hasEnvironment = false;
-
- private boolean hasEnvironment() {
- if (hasEnvironment)
- return true;
- else if (parentGroup != null)
- return parentGroup.hasEnvironment();
- else
- return false;
- }
-
- /**
- * Returns true if this group is the base group.
- */
- public boolean isBase() {
- return hasEnvironment;
- }
-
- /**
- * Returns true if the given window this group's base window.
- */
- protected boolean isBaseWindow(Window win) {
- WindowShadow shadow =
- (WindowShadow)DesignerAccess.getShadowTable().get(win);
- return (isBase() && (getWindow() == shadow));
- }
-
- /**
- * Returns true if this group is either the base group
- * or is a descendant
- * of the base group.
- */
- public boolean hasBase() {
- if (hasEnvironment)
- return true;
- else if (parentGroup != null)
- return parentGroup.hasBase();
- else
- return false;
- }
-
- /**
- * Returns the base group.
- */
- public Group getBase() {
- if (hasEnvironment)
- return this;
- else if (parentGroup != null)
- return parentGroup.getBase();
- else
- return null;
- }
-
- /**
- * Returns true if we are doing a create operation in the
- * middle of a show operation. Create likes to call show if the
- * visible attribute is set to true, but create shouldn't call
- * show if show caused create to be called if the first place.
- */
- boolean doingShow() {
- if (doingShow)
- return true;
- else if (parentGroup != null)
- return parentGroup.doingShow();
- else
- return false;
- }
-
- /**
- * Sets the environment information for the group.
- * This method should
- * be invoked only on the top-most group in the application.
- * Invoking
- * setEnvironmentInfo and setTopLevel on a group makes
- * it the base group.
- */
- public void setEnvironmentInfo(Applet applet, String args[]) {
- // checkDate();
- this.applet = applet;
- this.cmdLineArgs = args;
- hasEnvironment = true;
- }
-
- /**
- * Sets the top level frame for the group. This method should
- * be invoked only on the top most group in the application.
- * Invoking setEnvironmentInfo and setTopLevel on a group
- * makes it
- * the base group.
- */
- public void setTopLevel(Frame topLevel) {
- this.topLevel = topLevel;
- }
-
- /**
- * Sets the cursor for all of the group's frames to the given
- * cursor value. Calls setCursor on all the child groups.
- */
- public void setCursor(int cursor) {
- if (root != null)
- root.setCursor(cursor);
-
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- Group child = (Group)e.nextElement();
- child.setCursor(cursor);
- }
- }
-
- /**
- * Accessor method for the applet. Null is returned
- * when you're not
- * running as an applet.
- */
- public Applet getApplet() {
- if (applet != null)
- return applet;
- else if (parentGroup != null)
- return parentGroup.getApplet();
- else
- return null;
- }
-
- /**
- * Accessor method for the command line arguments.
- * Null is returned
- * when you're not running from the command line.
- */
- public String[] getCmdLineArgs() {
- if (cmdLineArgs != null)
- return cmdLineArgs;
- else if (parentGroup != null)
- return parentGroup.getCmdLineArgs();
- else
- return null;
- }
-
- /**
- * Returns the first frame found while traversing up the
- * group tree. If no frame is found, then the top level
- * frame is returned.
- */
- public Frame getFrame() {
- WindowShadow win = getWindow();
- if (win != null && win.getBody() != null)
- {
- if (win instanceof DialogShadow)
- return (Frame)((Window) win.getBody()).getParent();
- else
- return (Frame)win.getBody();
- } else if (parentGroup != null)
- return parentGroup.getFrame();
- else
- return getTopLevel();
- }
-
- /**
- * Accessor method for the top level frame. This will not
- * return null providing that the base group has been
- * initialized properly.
- */
- public Frame getTopLevel() {
- if (topLevel != null)
- return topLevel;
- else if (parentGroup != null)
- return parentGroup.getTopLevel();
- else
- return null;
- }
-
- /**
- * Accessor method for the registry. The registry is
- * created when
- * the application starts.
- */
- public Registry getRegistry() {
- if (isBase()) {
- initRegistry();
- return registry;
- } else if (parentGroup != null)
- return parentGroup.getRegistry();
- else
- return null;
- }
-
- private synchronized void initRegistry() {
- if (registry == null)
- registry = new Registry();
- }
-
- public void layoutMode() {
- super.layoutMode();
-
- WindowShadow s = getWindow();
- if (s != null)
- s.setLayout(true);
- }
-
- public void previewMode() {
- super.previewMode();
-
- WindowShadow s = getWindow();
- if (s != null)
- s.setPreview(true);
- }
-
- protected void preValidate() {
- PanelShadow panel = getPanel();
- if (panel != null)
- panel.preValidate();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/MainHelper.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/MainHelper.java
deleted file mode 100644
index 8b8663f03d..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/MainHelper.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) MainHelper.java 1.29 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import sunsoft.jws.visual.rt.awt.RootFrame;
-import sunsoft.jws.visual.rt.awt.GBLayout;
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import sunsoft.jws.visual.rt.shadow.java.awt.PanelShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.DialogShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.FrameShadow;
-import sunsoft.jws.visual.rt.shadow.java.awt.WindowShadow;
-
-import java.awt.*;
-import java.util.Date;
-import java.applet.Applet;
-
-/**
- * Helper class for the generated main class.
- *
- * @version 1.29, 07/25/97
- */
-public class MainHelper {
- /**
- * The base group
- */
- private Group baseGroup;
-
- /**
- * Name of an external call-out class if there is one.
- */
- private String ecoClassName;
-
- /**
- * Pointer to an external call-out class if there is one.
- */
- private ExternalCallOut eco;
-
-
- /**
- * Checks the version of the runtime.
- */
- public void checkVersion(double version) {
- if (Global.getVersion() < version) {
- Double d1 = new Double(version);
- Double d2 = new Double(Global.getVersion());
- System.out.println(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.MainHelper.NeedRuntimeVersion",
- d1, d2));
- }
- }
-
- /**
- * Accepts the command line arguments.
- * Sets an external class callout
- * name if there is one. Registers the remaining
- * command line arguments
- * with the Global class.
- */
- private String[] parseCmdLineArgs(String args[]) {
- String registerArgs[] = args;
- // args that will be registered
-
- if (args.length >= 2) {
- for (int i = 0; i < args.length - 1; i++) {
- if (args[i].equals(/* NOI18N */"-external")) {
- // set the class name for use in external callout later
- ecoClassName = args[i + 1];
-
- // create a new argument list from the remaining
- // cmd line args
- registerArgs = new String[args.length - 2];
- int count = 0;
- for (int j = 0; j < args.length; j++) {
- if (j < i || j > i + 1) {
- registerArgs[count] = args[j];
- count++;
- }
- }
- break;
- }
- }
- }
-
- return registerArgs;
- }
-
- /**
- * Called when application is run from the command line.
- */
- public void main(Group group, String args[]) {
- // Set the base group
- baseGroup = group;
-
- RootFrame frame = null;
-
- // Set the environment information. This must be done before
- // initialization.
- args = parseCmdLineArgs(args);
- baseGroup.setEnvironmentInfo(null, args);
-
- // Initialize the group
- baseGroup.initialize();
-
- WindowShadow win = baseGroup.getWindow();
-
- // The top level frame must be set before the group
- // is created.
- if (win instanceof FrameShadow) {
- win.createBody();
- baseGroup.setTopLevel((Frame)win.getBody());
- } else if (win instanceof DialogShadow) {
- // Create a frame for the dialog
- // if there are no other frames
- String title = win.getName();
- if (title == null || title.equals(/* NOI18N */""))
- title = /* NOI18N */"Unnamed";
-
- RootFrame f = new RootFrame(title);
- f.setSubGroup(baseGroup);
-
- // SGI and Windows have bad defaults for
- // font and background
- if (Global.isIrix()) {
- f.setFont(new Font(/* NOI18N */"Sansserif",
- Font.PLAIN, 12));
- }
- if (Global.isWindows()) {
- f.setBackground(Color.lightGray);
- f.setFont(new Font(/* NOI18N */"Dialog",
- Font.PLAIN, 12));
- }
-
- baseGroup.setTopLevel(f);
-
- f.resize(25, 25);
- f.show();
- f.reshape(20, 20, 120, 80);
- f.validate();
- } else if (baseGroup.getPanel() != null) {
- // Put a frame around the group's panel
- // if it is a panel group
- String title = group.getPanel().getName();
- if (title == null || title.equals(/* NOI18N */""))
- title = /* NOI18N */"Unnamed";
-
- frame = new RootFrame(title);
- frame.setSubGroup(baseGroup);
-
- // SGI and Windows have bad defaults for
- // font and background
- if (Global.isIrix()) {
- frame.setFont(new Font(/* NOI18N */"Sansserif",
- Font.PLAIN, 12));
- }
- if (Global.isWindows()) {
- frame.setBackground(Color.lightGray);
- frame.setFont(new Font(/* NOI18N */"Dialog",
- Font.PLAIN, 12));
- }
-
- baseGroup.setTopLevel(frame);
- } else {
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.MainHelper.BaseGroupMustBeNonVis",
- group));
- }
-
- // Create the group
- baseGroup.create();
-
- // This part needs to happen after the group is created
- if (frame != null) {
- frame.add(/* NOI18N */"Center",
- (Panel)baseGroup.getPanel().getBody());
- // Window managers get confused when a window is shown with
- // zero width and height
- frame.resize(25, 25);
- frame.show();
- Dimension d = frame.preferredSize();
- frame.reshape(20, 20, d.width, d.height);
- frame.validate();
- }
-
- // Start the group
- baseGroup.start();
-
- if (ecoClassName != null) {
- initExternalCallOut(ecoClassName, baseGroup);
- startExternalCallOut();
- stopExternalCallOut();
- }
- }
-
- /**
- * Called when the applet is loaded.
- */
- public void init(Applet applet, Group group) {
- // Set the base group
- baseGroup = group;
-
- // Set the environment information. This must be done before
- // initialization.
- baseGroup.setEnvironmentInfo(applet, null);
-
- // Initialize the group
- baseGroup.initialize();
-
- WindowShadow win = baseGroup.getWindow();
-
- // The top level frame must be set before the
- // group is created.
- if (win instanceof FrameShadow) {
- win.createBody();
- baseGroup.setTopLevel((Frame)win.getBody());
- } else {
- // Figure out the applet's frame
- Component comp = applet;
- while (comp != null && !(comp instanceof Frame))
- comp = comp.getParent();
-
- baseGroup.setTopLevel((Frame)comp);
- }
-
- // Create the group
- baseGroup.create();
-
- // Adjust the font of the panel
- if (Global.isIrix())
- applet.setFont(new Font(/* NOI18N */"Sansserif",
- Font.PLAIN, 12));
- else if (Global.isWindows())
- applet.setFont(new Font(/* NOI18N */"Dialog",
- Font.PLAIN, 12));
-
- // Set up the layout for the Applet panel
- GBLayout gridbag = new GBLayout();
- applet.setLayout(gridbag);
- GBConstraints c = new GBConstraints();
- c.fill = GBConstraints.BOTH;
- c.weightx = 1;
- c.weighty = 1;
-
- // Add the group panel to the applet
- PanelShadow panelshadow = baseGroup.getPanel();
- if (panelshadow != null) {
- Panel panel = (Panel)panelshadow.getBody();
- gridbag.setConstraints(applet.add(panel), c);
- }
-
- // Check for and initialize an external call-out class
- ecoClassName = applet.getParameter(/* NOI18N */"external");
- if (ecoClassName != null)
- initExternalCallOut(ecoClassName, baseGroup);
- }
-
- /**
- * Called whenever the applet's page is visited.
- */
- public void start() {
- if (baseGroup != null)
- baseGroup.start();
- startExternalCallOut();
- }
-
- /**
- * Called by the browser when the user leaves the page.
- */
- public void stop() {
- if (baseGroup != null)
- baseGroup.stop();
- stopExternalCallOut();
- }
-
- /**
- * Called by the browser when the applet should be destroyed.
- */
- public void destroy() {
- if (baseGroup != null)
- baseGroup.destroy();
- }
-
- /**
- * Initializes a call-out to an external class.
- * Gives the external
- * class a reference to this main's Group object.
- */
- private void initExternalCallOut(String name, Group group) {
- try {
- Class c = Global.util.getClassLoader().loadClass(name);
- eco = (ExternalCallOut) c.newInstance();
- }
- catch (ClassNotFoundException e) {
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.MainHelper.ClassNotFound",
- name));
- }
- catch (InstantiationException e) {
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.MainHelper.InstantiationException",
- name));
- }
- catch (IllegalAccessException e) {
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.MainHelper.illegalAccess",
- name));
- }
- if (eco != null)
- eco.initExternal(group);
- }
-
- /**
- * Starts the external call-out class, if there is one.
- */
- private void startExternalCallOut() {
- if (eco != null)
- eco.startExternal();
- }
-
- /**
- * Stops the external call-out class, if there is one.
- */
- private void stopExternalCallOut() {
- if (eco != null)
- eco.stopExternal();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Makefile b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Makefile
deleted file mode 100644
index d51cb8d4c1..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Makefile
+++ /dev/null
@@ -1,62 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/Makefile.master
-include $(SRC)/cmd/Makefile.cmd
-include ../Makefile.com
-
-CLASSES= AMContainer AMContainerHelper Attribute AttributeList \
- AttributeManager BeanSerialization CustomClassLoader \
- DesignerAccess DesignerErrorInterface ExternalCallOut \
- Global Group MainHelper Message NVGroup Operations \
- QSortCompare Registry RegistryEntry Root RootObserver \
- Shadow Util VBClassLoader VJException
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d $(VRT) -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
-
-install: all
-
-clean clobber:
- $(RM) *.class
- $(RM) -r ./javadoc
-
-javadoc:
- mkdir -p ./javadoc
- $(JAVADOC) -d ./javadoc -classpath $(CLASSPATH) *.java
-
-_msg: $(JFILES)
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Message.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Message.java
deleted file mode 100644
index 84dd801202..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Message.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Message.java 1.14 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-/**
- * An event structure that can hold either an AWT event
- * or a specialized
- * event passed between Group objects.
- *
- * @version 1.7, 23 Apr 1996
- */
-public class Message {
- public String name;
- public Object arg;
- public Object target;
- public long when;
-
- public String type;
- public String targetName;
- public boolean isAWT;
-
- public Message() {
- this(null, null, null, /* NOI18N */"", null);
- }
-
- public Message(Object target, String name, Object arg) {
- this(target, null, null, name, arg);
- }
-
- public Message(Object target, String name, Object arg, boolean isAWT) {
- this(target, null, null, name, arg);
- this.isAWT = isAWT;
- }
-
- public Message(Object target, String targetName, String type, String name,
- Object arg) {
- this.target = target;
- this.name = name;
- this.arg = arg;
- this.when = System.currentTimeMillis();
- this.type = type;
- this.targetName = targetName;
- this.isAWT = false;
- }
-
- public Message(Message msg) {
- this(msg.target, msg.targetName, msg.type, msg.name, msg.arg);
- this.isAWT = msg.isAWT;
- this.when = msg.when;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/NVGroup.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/NVGroup.java
deleted file mode 100644
index 7e02892a93..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/NVGroup.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) NVGroup.java 1.11 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-public abstract class NVGroup extends Group {
-
- public NVGroup() {
- attributes.add(/* NOI18N */"visible", /* NOI18N */
- "java.lang.Boolean", Boolean.TRUE, HIDDEN | TRANSIENT);
- attributes.add(/* NOI18N */"initialized",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- }
-
- public Object get(String key) {
- if (key.equals(/* NOI18N */"initialized"))
- key = /* NOI18N */"visible";
-
- return super.get(key);
- }
-
- public void set(String key, Object value) {
- if (key.equals(/* NOI18N */"initialized"))
- key = /* NOI18N */"visible";
-
- super.set(key, value);
- }
-
- protected Root initRoot() {
- return null;
- }
-
- public void setParentBody() {
- }
-
- public void unsetParentBody() {
- }
-
- protected void removeForwardedAttributes() {
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Operations.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Operations.java
deleted file mode 100644
index 29ce89af9f..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Operations.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Operations.java 1.2 - last change made 07/18/96
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.awt.Event;
-
-public abstract class Operations {
-
- /**
- * Set the group class.
- */
- public abstract void setGroup(Group group);
-
- /**
- * Set the root from the group class.
- * This is called as soon as the root
- * becomes available.
- */
- public abstract void setRoot(Root root);
-
- //
- // Events
- //
-
- public boolean handleMessage(Message msg) {
- if (msg.isAWT)
- return handleEvent(msg, (Event)msg.arg);
- else
- return false;
- }
-
- public boolean handleEvent(Message msg, Event evt) {
- switch (evt.id) {
- case Event.MOUSE_ENTER:
- return mouseEnter(msg, evt, evt.x, evt.y);
- case Event.MOUSE_EXIT:
- return mouseExit(msg, evt, evt.x, evt.y);
- case Event.MOUSE_MOVE:
- return mouseMove(msg, evt, evt.x, evt.y);
- case Event.MOUSE_DOWN:
- return mouseDown(msg, evt, evt.x, evt.y);
- case Event.MOUSE_DRAG:
- return mouseDrag(msg, evt, evt.x, evt.y);
- case Event.MOUSE_UP:
- return mouseUp(msg, evt, evt.x, evt.y);
-
- case Event.KEY_PRESS:
- case Event.KEY_ACTION:
- return keyDown(msg, evt, evt.key);
- case Event.KEY_RELEASE:
- case Event.KEY_ACTION_RELEASE:
- return keyUp(msg, evt, evt.key);
-
- case Event.ACTION_EVENT:
- return action(msg, evt, evt.arg);
- case Event.GOT_FOCUS:
- return gotFocus(msg, evt, evt.arg);
- case Event.LOST_FOCUS:
- return lostFocus(msg, evt, evt.arg);
-
- default:
- return false;
- }
- }
-
- public boolean mouseDown(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseDrag(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseUp(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseMove(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseEnter(Message msg,
- Event evt, int x, int y) {
- return false;
- }
-
- public boolean mouseExit(Message msg, Event evt, int x, int y) {
- return false;
- }
-
- public boolean keyDown(Message msg, Event evt, int key) {
- return false;
- }
-
- public boolean keyUp(Message msg, Event evt, int key) {
- return false;
- }
-
- public boolean action(Message msg, Event evt, Object what) {
- return false;
- }
-
- public boolean gotFocus(Message msg, Event evt, Object what) {
- return false;
- }
-
- public boolean lostFocus(Message msg, Event evt, Object what) {
- return false;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/QSortCompare.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/QSortCompare.java
deleted file mode 100644
index 5c83926ba5..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/QSortCompare.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) QSortCompare.java 1.1 - last change made 10/17/96
- */
-
-package sunsoft.jws.visual.rt.base;
-
-public interface QSortCompare {
- public int qsortCompare(Object obj1, Object obj2);
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Registry.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Registry.java
deleted file mode 100644
index 04254d2e0d..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Registry.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Registry.java 1.9 - last change made 07/16/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.util.Vector;
-
-/**
- * The event registry
- *
- * @version 1.9, 07/16/97
- */
-public class Registry implements Runnable {
-
- private static final char STAR = /* NOI18N */ '*';
-
- /**
- * Constructor.
- */
- public Registry() {
- // Initialize publisher records
- num_pubs = 0;
- pubs = new RegistryEntry[0];
-
- // Initialize subscriber records
- num_subs = 0;
- sub_events = new Message[0];
- sub_objects = new AttributeManager[0];
-
- // The thread
- publish_thread = null;
- queue = new Vector(1);
- }
-
- // Data Members
- private int num_pubs;
- private RegistryEntry pubs[];
- private int num_subs;
- private Message sub_events[];
- private AttributeManager sub_objects[];
- private Thread publish_thread;
- private Vector queue;
-
-
- /**
- * Subscribe to events using the supplied Message as a
- * template for
- * requested events. <br>
- * Only 'name', 'type' and 'targetName' can be set on the
- * template event.
- * (all other fields should be null, zero or false as
- * appropriate).
- * The strings are compared for equality. If the last
- * character of the
- * string is '*', then all strings beginning with the
- * rest of the string
- * are considered to be matching. <br>
- * <b>Note:</b> the callback object should be written to
- * handle callbacks
- * on multiple threads.
- */
- public synchronized int subscribe(Message msg,
- AttributeManager obj) {
- // Check for bad params
- if ((obj == null) || (msg == null))
- return -1;
-
- // Look for empty subscription ID
- int i;
- for (i = 0; i < sub_events.length; ++i) {
- if (sub_events[i] == null) {
- // Found it
- break;
- }
- }
- if (i >= sub_events.length) {
- // None found, so grow the arrays
- Message new_events[] = new Message[sub_events.length + 5];
- AttributeManager new_objects[] = new AttributeManager[
- sub_events.length +5];
-
- System.arraycopy(sub_events, 0, new_events, 0, sub_events.length);
- System.arraycopy(sub_objects, 0, new_objects, 0, sub_events.length);
-
- sub_events = new_events;
- sub_objects = new_objects;
- }
-
- // Add the entry
- sub_events[i] = new Message(msg);
- sub_objects[i] = obj;
-
- return i;
- }
-
- /**
- * Cancel a subscription.The 'id' is the value returned from the
- * subscribe call.
- */
- public synchronized void unsubscribe(int id) {
- if ((id < 0) || (id >= sub_events.length))
- return;
- sub_events[id] = null;
- sub_objects[id] = null;
- }
-
- /**
- * Send an event via the registry to all subscribers.
- */
- public synchronized void publish(Message msg) {
- if (publish_thread == null) {
- publish_thread = new Thread(this);
- publish_thread.setDaemon(true);
- publish_thread.start();
- }
-
- queue.addElement(msg);
- notify();
- }
-
- /**
- * The actual run method
- */
- public void run()
- {
- Message msg = null;
-
- while (true) {
- synchronized (this) {
- if (queue.size() == 0) {
- try {
- wait();
- } catch (Exception ex) {
- }
- }
- if (queue.size() != 0) {
- msg = (Message)queue.firstElement();
- queue.removeElementAt(0);
- } else {
- msg = null;
- }
- }
- if (msg != null) {
- // Look for matching subscriptions
- for (int i = 0; i < sub_events.length; ++i) {
- // Match events code is here
- if ((sub_events[i] != null) &&
- matchString(sub_events[i].name, msg.name) &&
- matchString(sub_events[i].type, msg.type) &&
- matchString(sub_events[i].targetName,
- msg.targetName)) {
- // Call the object
- sub_objects[i].postMessage(msg);
- }
- }
- }
- }
- }
-
- /**
- * Compare strings. A filter value of 'null' matches anything.
- * A filter
- * string ending in '*' matches any string beginning with
- * the filter's
- * string.
- */
- private boolean matchString(String filter, String actual) {
- if ((filter == null) || (filter.equals(actual)))
- return true;
- try {
- if (filter.charAt(filter.length()-1) == STAR) {
- if ((actual != null) &&
- (actual.startsWith(filter.substring(0, filter.length()-1))))
- {
- return true;
- }
- }
- } catch (java.lang.Exception ex) { /* do nothing */ }
- return false;
- }
-
- /**
- * Register a publisher with the registry.
- * This is not necessary in order
- * to actually publish. It is just used to advertise
- * yourself in the
- * publishers list.
- */
- public synchronized void register(String publisher_name,
- String description,
- Object obj) {
- // Check for illegal params
- if (publisher_name == null)
- return;
-
- // Look for empty publication entry
- int i;
- for (i = 0; i < pubs.length; ++i) {
- if (pubs[i] == null) {
- // Found it
- break;
- }
- }
- if (i >= pubs.length) {
- // None found, so grow the array
- RegistryEntry new_pubs[] = new RegistryEntry[pubs.length + 5];
-
- System.arraycopy(pubs, 0, new_pubs, 0, pubs.length);
-
- pubs = new_pubs;
- }
-
- // Add the entry
- pubs[i] = new RegistryEntry(publisher_name, description, obj);
- }
-
- /**
- * Unregister a publisher.
- */
- public synchronized void unregister(String publisher_name) {
- // Look for the entry
- for (int i = 0; i < pubs.length; ++i) {
- if ((pubs[i] != null) && (publisher_name.equals(pubs[i].name)))
- {
- // Found it
- pubs[i] = null;
- }
- }
- }
-
- /**
- * Get the list of registered publishers.
- */
- public synchronized RegistryEntry[] getPublishers() {
- // First count the entries
- int count = 0;
- for (int i = 0; i < pubs.length; ++i) {
- if (pubs[i] != null) ++count;
- }
-
- // Then copy them
- RegistryEntry rc[] = new RegistryEntry[count];
- count = 0;
- for (int i = 0; i < pubs.length; ++i) {
- if (pubs[i] != null) {
- rc[count] = new RegistryEntry(pubs[i]);
- ++count;
- }
- }
- return rc;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/RegistryEntry.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/RegistryEntry.java
deleted file mode 100644
index 43be21563d..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/RegistryEntry.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) RegistryEntry.java 1.3 - last change made 04/25/96
- */
-
-package sunsoft.jws.visual.rt.base;
-
-/**
- * The Registry publisher entry.
- */
-public class RegistryEntry {
- public RegistryEntry(String pub_name,
- String pub_description,
- Object pub_object) {
- name = pub_name;
- description = pub_description;
- obj = pub_object;
- }
-
- public RegistryEntry(RegistryEntry re) {
- name = re.name;
- description = re.description;
- }
-
- String name;
- String description;
- Object obj;
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Root.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Root.java
deleted file mode 100644
index 2b6a9e2e15..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Root.java
+++ /dev/null
@@ -1,755 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Root.java 1.88 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-
-import java.awt.Event;
-import java.awt.Frame;
-import java.util.*;
-
-/*
- * NOTE: Whenever a new public or protected variable is added to this
- * class the name of the variable must be added to the reservedWords
- * list, so that the user doesn't use it in one of the generated Root
- * sub-classes.
- */
-
-/**
- * Instances of the Root class are used for the root of the group's
- * shadow tree. The direct child shadows of an instantiation of this
- * object will typically be top-level windows or the top panel of an
- * applet.
- *
- * @version 1.88, 07/25/97
- */
-public class Root extends AttributeManager implements AMContainer {
-
- private AMContainerHelper containerHelper = new AMContainerHelper(this);
-
- /**
- * This flag is set to true if this is the loaded root.
- */
- private boolean isLoadedRoot = false;
-
- /**
- * The constructor defines the Root's attributes.
- */
- public Root() {
- attributes.add(/* NOI18N */"generateClass",
- /* NOI18N */"java.lang.String", null, 0);
- attributes.add(/* NOI18N */"generateDirectory",
- /* NOI18N */"java.lang.String", null, 0);
- attributes.add(/* NOI18N */"generatePackage",
- /* NOI18N */"java.lang.String", null, 0);
- attributes.add(/* NOI18N */"willGenerateGUI",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"willGenerateMain",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"willGenerateGroup",
- /* NOI18N */"java.lang.Boolean", Boolean.FALSE, 0);
- attributes.add(/* NOI18N */"willGenerateHTML",
- /* NOI18N */"java.lang.Boolean", Boolean.FALSE, 0);
- attributes.add(/* NOI18N */"suffixForGUIClass",
- /* NOI18N */"java.lang.String", /* NOI18N */"Root", 0);
- attributes.add(/* NOI18N */"suffixForMainClass",
- /* NOI18N */"java.lang.String", /* NOI18N */"Main", 0);
- attributes.add(/* NOI18N */"suffixForOpsClass",
- /* NOI18N */"java.lang.String", /* NOI18N */"Ops", 0);
- attributes.add(/* NOI18N */"suffixForGroupClass",
- /* NOI18N */"java.lang.String", /* NOI18N */"", 0);
- attributes.add(/* NOI18N */"showGenerateConsole",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
-
- attributes.add(/* NOI18N */"groupType",
- /* NOI18N */"java.lang.String", null, 0);
- attributes.add(/* NOI18N */"appletSize",
- /* NOI18N */"java.awt.Dimension", null, 0);
-
- /**
- * When autoNaming is true, new shadows added somewhere
- * under the
- * root will automatically be assigned unique names if their
- * name
- * attribute is null (see AMContainerHelper.)
- */
- attributes.add(/* NOI18N */"autoNaming",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE,
- HIDDEN | TRANSIENT);
-
- set(/* NOI18N */"name", getUniqueName(this));
- }
-
- protected String getUserTypeName() {
- return (/* NOI18N */"root");
- }
-
- /**
- * Sets the loaded root flag for this root.
- */
- void setLoadedRoot(boolean flag) {
- isLoadedRoot = flag;
- }
-
- /**
- * Returns the value of the loaded root flag.
- */
- public boolean isLoadedRoot() {
- return isLoadedRoot;
- }
-
- /**
- * The first child in the children vector is the main container.
- * To set the main child, we simply move the item to be selected
- * to the top of the list.
- *
- * This method should only called by the builder because this method
- * assumes that panels are wrapped with a window shadow.
- */
- void setMainChild(AttributeManager container, boolean isPanel) {
- AttributeManager prev = getMainChild();
-
- // menubar should be removed from a frame about to become the
- // surrounder for a main panel
- if ((container instanceof FrameShadow) &&
- !((FrameShadow)container).isPanel() &&
- isPanel && container.get(/* NOI18N */"menubar") != null) {
- container.set(/* NOI18N */"menubar", null);
- }
-
- WindowShadow win = null;
- WindowShadow prevwin = null;
-
- if (container instanceof WindowShadow)
- win = (WindowShadow)container;
- if (prev instanceof WindowShadow)
- prevwin = (WindowShadow)prev;
-
- if (prev == container) {
- if (win != null) {
- win.isPanel(isPanel);
- win.show();
- }
- } else {
- if (prevwin != null)
- prevwin.isPanel(false);
-
- // Select the prev so that the NameEditor will
- // load prev's "title"
- // attribute. This way, when we switch off of prev,
- // prev's title won't
- // be wiped out by the name editor.
- observerSelect(prev);
-
- if (win != null) {
- win.isPanel(isPanel);
- win.show();
- }
-
- Vector children = containerHelper.getChildren();
- if (!children.removeElement(container))
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Root.RootMissingContainer",
- getName(), container.getName()));
- children.insertElementAt(container, 0);
- }
-
- observerReload();
- observerSelect(container);
- }
-
- /**
- * Returns the main child of the root. This will typically be
- * either a window or a panel.
- */
- public AttributeManager getMainChild() {
- Vector children = containerHelper.getChildren();
- if (children.size() > 0)
- return (AttributeManager)children.elementAt(0);
- else
- return null;
- }
-
- // List of root observers
- private Hashtable observers = new Hashtable();
-
- /**
- * Registers an observer for this root object.
- * The observer will receive
- * updates concerning groups or window shadows that are
- * added or removed
- * from this root.
- */
- void addRootObserver(RootObserver observer) {
- if (observer == null)
- return;
-
- if (observers.put(observer, observer) != null)
- return;
-
- observer.clear();
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- AttributeManager mgr = (AttributeManager)e.nextElement();
- observer.add(mgr);
- }
- }
-
- /**
- * Unregisters an observer for this root object.
- */
- void removeRootObserver(RootObserver observer) {
- if (observer == null)
- return;
-
- observers.remove(observer);
- }
-
- private void observerAdd(AttributeManager mgr) {
- if (!(mgr instanceof WindowShadow) && !(mgr instanceof Group) &&
- !(mgr instanceof BeanShadow))
- return;
-
- Enumeration e = observers.elements();
- while (e.hasMoreElements())
- ((RootObserver)e.nextElement()).add(mgr);
- }
-
- private void observerRemove(AttributeManager mgr) {
- if (!(mgr instanceof WindowShadow) && !(mgr instanceof Group) &&
- !(mgr instanceof BeanShadow))
- return;
-
- Enumeration e = observers.elements();
- while (e.hasMoreElements())
- ((RootObserver)e.nextElement()).remove(mgr);
- }
-
- private void observerSelect(AttributeManager mgr) {
- Enumeration e = observers.elements();
-
- while (e.hasMoreElements())
- ((RootObserver)e.nextElement()).select(mgr);
- }
-
- private void observerReload() {
- Enumeration e1 = observers.elements();
-
- while (e1.hasMoreElements()) {
- RootObserver observer = (RootObserver)e1.nextElement();
-
- observer.clear();
- Enumeration e2 = containerHelper.getChildren().elements();
- while (e2.hasMoreElements())
- observer.add((AttributeManager)e2.nextElement());
- }
- }
-
- // Naming children validly and uniquely
-
- /**
- * A table containing ever-increasing counters for unique new names.
- * Isn't needed in runtime mode, only when the designer is running.
- */
- private Hashtable uniqueNameTable = null;
-
- /**
- * Clears the hashtable of unique name counters.
- * Should only be used when
- * restarting (user selects "File->New").
- */
- void clearUniqueNameTable() {
- uniqueNameTable = null;
- }
-
- /**
- * Returns true if the name chosen is unique and has not already
- * been used by one of the descendants of this root object.
- */
- boolean isUniqueName(String name) {
- return isUniqueName(this, name, null, null);
- }
-
- /**
- * Returns true if the name chosen is unique and has not already
- * been used by something under this root. When encountered, the
- * "self" object is not compared, so you can also use this function
- * to test whether the name of an object that is within the tree is
- * unique unto itself.
- */
- boolean isUniqueName(String name, AttributeManager skip) {
- return isUniqueName(this, name, skip, null);
- }
-
- boolean isUniqueName(String name,
- AttributeManager skip, AttributeManager prune) {
- return isUniqueName(this, name, skip, prune);
- }
-
- /**
- * Returns true if the name chosen is unique and has not already
- * been used by one of the descendants of the given AMContainer
- * object. When encountered, the "self" object is not compared,
- * so you can also use this function to test whether the name of an
- * object that is within the tree is unique unto itself.
- */
- private boolean isUniqueName(AttributeManager mgr,
- String name,
- AttributeManager skip,
- AttributeManager prune)
- {
- if (mgr == prune)
- return true;
-
- if ((mgr != skip) && name.equals(mgr.get(/* NOI18N */"name")))
- return false;
-
- if (mgr instanceof AMContainer) {
- AMContainer cntr = (AMContainer)mgr;
- Enumeration e = cntr.getChildList();
- while (e.hasMoreElements()) {
- mgr = (AttributeManager)e.nextElement();
- if (!isUniqueName(mgr, name, skip, prune))
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * The list of reserved words. The java language reserved words and
- * also instance variable names already taken in the
- * AttributeManager or Root classes that cannot be used in names of
- * objects in the designer.
- */
- private static final String reservedWords[] = {
- /* NOI18N */"abstract", /* NOI18N */"boolean",
- /* NOI18N */"break", /* NOI18N */"byte",
- /* NOI18N */"byvalue",
- /* NOI18N */"case", /* NOI18N */"cast",
- /* NOI18N */"catch", /* NOI18N */"char", /* NOI18N */"class",
- /* NOI18N */"const", /* NOI18N */"continue",
- /* NOI18N */"default", /* NOI18N */"do",
- /* NOI18N */"double", /* NOI18N */"else",
- /* NOI18N */"extends",
- /* NOI18N */"false", /* NOI18N */"final",
- /* NOI18N */"finally", /* NOI18N */"float",
- /* NOI18N */"for", /* NOI18N */"future",
- /* NOI18N */"generic", /* NOI18N */"goto",
- /* NOI18N */"if",
- /* NOI18N */"implements", /* NOI18N */"import",
- /* NOI18N */"inner", /* NOI18N */"instanceof",
- /* NOI18N */"int",
- /* NOI18N */"interface", /* NOI18N */"long",
- /* NOI18N */"native",
- /* NOI18N */"new", /* NOI18N */"null",
- /* NOI18N */"operator", /* NOI18N */"outer",
- /* NOI18N */"package",
- /* NOI18N */"private",
- /* NOI18N */"protected", /* NOI18N */"public",
- /* NOI18N */"rest", /* NOI18N */"return",
- /* NOI18N */"short", /* NOI18N */"static",
- /* NOI18N */"super", /* NOI18N */"switch",
- /* NOI18N */"synchronized", /* NOI18N */"this",
- /* NOI18N */"throw",
- /* NOI18N */"throws",
- /* NOI18N */"transient", /* NOI18N */"true", /* NOI18N */"try",
- /* NOI18N */"var", /* NOI18N */"void", /* NOI18N */"volatile",
- /* NOI18N */"while",
- /* NOI18N */"containerHelper", /* NOI18N */"READONLY",
- /* NOI18N */"HIDDEN", /* NOI18N */"TRANSIENT",
- /* NOI18N */"CONTAINER", /* NOI18N */"attributes",
- /* NOI18N */"parent", /* NOI18N */"isCreated",
- /* NOI18N */"GROUP", /* NOI18N */"ROOT" };
-
- // valid characters in variable names
- // I18N bug
- // private static final String
- // validNameStarters="$abcdefghijklmnopqrstuvwxyz";
- // private static final String
- // validNameAnys=validNameStarters + "_0123456789";
-
- /**
- * Returns true if the given name could be legally
- * placed in generated
- * code where it would be compiled as a variable name.
- */
- static boolean isValidName(String name) {
- // check that the name isn't blank
- if (name == null || name.length() == 0)
- return (false);
-
- // check that the name is not a reserved word (case counts!)
- for (int i = 0; i < reservedWords.length; i++)
- if (name.equals(reservedWords[i]))
- return (false);
- /* JSTYLED */
- /* I18n BUG
- // check that the name starts with a valid start
- // character (not a number)
- String s = name.toLowerCase();
- if (validNameStarters.indexOf(s.substring(0, 1)) == -1)
- return (false);
-
- // check that the rest of the characters in the name
- // are valid
- for (int i = 1; i < name.length(); i++)
- if (validNameAnys.indexOf(s.substring(i, i+1)) == -1)
- return (false);
- */
-
- for (int i = 0; i < name.length(); i++) {
- if ((i == 0) &&
- (!Character.isJavaIdentifierStart(name.charAt(i))))
- return false;
- else
- if (!Character.isJavaIdentifierPart(name.charAt(i)))
- return false;
- }
- return (true);
- }
-
- /**
- * Returns a unique name that can be used for a new
- * shadow object.
- * The names are guaranteed to be valid variable names for a
- * generated Root sub-class later on.
- */
- String getUniqueName(AttributeManager child) {
- // delayed creation of the table (this routine never
- // called in runtime)
- if (uniqueNameTable == null)
- uniqueNameTable = new Hashtable();
-
- String type = child.getUserTypeName();
- String retval = null;
-
- while (retval == null || !isUniqueName(retval) ||
- !isValidName(retval)) {
- if (uniqueNameTable.containsKey(type)) {
- int count = ((Integer)
- uniqueNameTable.get(type)).intValue();
- uniqueNameTable.put(type, new Integer(count + 1));
- retval = type + Integer.toString(count);
- } else {
- uniqueNameTable.put(type, new Integer(2));
- retval = type + /* NOI18N */"1";
- }
- }
- return (retval);
- }
-
- /**
- * Returns a name that is unique not only within this root,
- * but within
- * another as well. This is useful when merging two roots.
- */
- String getUniqueName(AttributeManager child, Root otherTree) {
- // because of the unique name counters, we can repeatedly call
- // getUniqueName without getting the same name over again
- String newName = getUniqueName(child);
- while (!otherTree.isUniqueName(newName))
- newName = getUniqueName(child);
- return (newName);
- }
-
- /**
- * Returns a string describing what is wrong with given
- * name choice.
- * The string can be used in an error popup or status bar line.
- * Null is returned when there is no problem with the name.
- */
- String getProblemWithName(String name) {
- String errorMsg = null;
-
- if (name == null || name.length() == 0)
- errorMsg = Global.getMsg(
- "sunsoft.jws.visual.rt.base.Root.NeedName");
- else if (!isUniqueName(name))
- errorMsg = Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Root.NotUniqueName", name);
- else if (!isValidName(name))
- errorMsg = Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Root.NotValidName", name);
-
- return (errorMsg);
- }
-
- //
- // Overridden to deal with the special "GROUP" and "ROOT" names.
- //
- public AttributeManager resolve(String name) {
- if (name == null)
- return null;
- else if (name.equals(/* NOI18N */"GROUP"))
- return group;
- else if (name.equals(/* NOI18N */"ROOT"))
- return this;
- else
- return super.resolve(name);
- }
-
- // AMContainer interfaces
-
- public void add(AttributeManager child) {
- containerHelper.add(child);
- observerAdd(child);
- }
-
- public void remove(AttributeManager child) {
- containerHelper.remove(child);
- observerRemove(child);
- }
-
- //
- // The root's "addChildBody" and "removeChildBody"
- // methods are only
- // called when the root has a panel as a child.
- // In this case, it should
- // add the panel as a child of the group's parent.
- //
-
- public void addChildBody(Shadow child) {
- // Don't add frames and dialogs to the group's parent
- if (child instanceof WindowShadow)
- return;
-
- if (group == null)
- return;
-
- AMContainer parent = group.getParent();
- if (parent == null)
- return;
-
- if (child != null && child.getBody() != null)
- parent.addChildBody(child);
- }
-
- public void updateContainerAttribute(AttributeManager child,
- String key, Object value) {
- if (group == null)
- return;
-
- AMContainer parent = (AMContainer)group.getParent();
- if (parent == null)
- return;
-
- parent.updateContainerAttribute(child, key, value);
- }
-
- public void removeChildBody(Shadow child) {
- // Don't need to remove frames and dialogs from
- // the group's parent
- if (child instanceof WindowShadow)
- return;
-
- if (group == null)
- return;
-
- AMContainer parent = group.getParent();
- if (parent == null)
- return;
-
- if (child != null && child.getBody() != null)
- parent.removeChildBody(child);
- }
-
- public void createChildren() {
- containerHelper.createChildren();
- }
-
- public void reparentChildren() {
- containerHelper.reparentChildren();
- }
-
- public void destroyChildren() {
- containerHelper.destroyChildren();
- }
-
- public AttributeManager getChild(String name) {
- return (containerHelper.getChild(name));
- }
-
- public Enumeration getChildList() {
- return (containerHelper.getChildList());
- }
-
- public int getChildCount() {
- return (containerHelper.getChildCount());
- }
-
- /**
- * Groups
- */
-
- private Group group;
-
- public void setGroup(Group group) {
- if (this.group != null)
- this.group.removeRootChildren(this);
-
- this.group = group;
-
- if (this.group != null)
- this.group.addRootChildren(this);
- }
-
- public Group getGroup() {
- return group;
- }
-
- /**
- * Sets the cursor for all of the root's frames. This method is
- * declared package private so that it won't be
- * confused with the
- * group's setCursor method.
- */
- void setCursor(int cursor) {
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- AttributeManager mgr = (AttributeManager)e.nextElement();
- if (mgr instanceof FrameShadow) {
- FrameShadow fs = (FrameShadow)mgr;
- Frame f = (Frame)fs.getBody();
-
- if (f != null) {
- int prevCursor = f.getCursorType();
- if (cursor == prevCursor) {
- JAShadowAccess.incrCursor(fs);
- } else if (cursor == Group.RESTORE_CURSOR) {
- if (JAShadowAccess.decrCursor(fs) == 0) {
- f.setCursor(
- JAShadowAccess.getPrevCursor(fs));
- JAShadowAccess.setPrevCursor(fs,
- Frame.DEFAULT_CURSOR);
- }
- } else {
- JAShadowAccess.setPrevCursor(fs, prevCursor);
- f.setCursor(cursor);
- f.getToolkit().sync();
- }
- }
- }
- }
- }
-
- /**
- * Maps all the visible children of the root. Do not call this
- * method directly. It is called from the Group class when the
- * group is shown.
- */
- public void showRoot() {
- AttributeManager mgr;
- Enumeration e = getChildList();
-
- while (e.hasMoreElements()) {
- mgr = (AttributeManager)e.nextElement();
- if (mgr instanceof ComponentShadow) {
- ComponentShadow comp = (ComponentShadow)mgr;
- Boolean v = (Boolean)comp.get(/* NOI18N */"visible");
- if (v.booleanValue())
- comp.showComponent();
- } else if (mgr instanceof Group) {
- Group group = (Group)mgr;
- Boolean v = (Boolean)group.get(/* NOI18N */"visible");
- if (v.booleanValue())
- group.internalShowGroup();
- }
- }
- }
-
- /**
- * Unmaps all the children of the root. Do not call this
- * method directly. It is called from the Group class when the
- * group is hidden.
- */
- public void hideRoot() {
- AttributeManager mgr;
- Enumeration e = getChildList();
-
- while (e.hasMoreElements()) {
- mgr = (AttributeManager)e.nextElement();
- if (mgr instanceof ComponentShadow)
- ((ComponentShadow)mgr).hideComponent();
- else if (mgr instanceof Group)
- ((Group)mgr).internalHideGroup();
- }
- }
-
- /**
- * Events
- */
-
- private boolean eventForwardingDisabled;
-
- public void postMessageToParent(Message msg) {
- if (group != null && !eventForwardingDisabled)
- group.postMessage(msg);
- }
-
- public void postMessage(Message msg) {
- if (!handleMessage(msg) && group != null &&
- !eventForwardingDisabled)
- group.postMessage(msg);
- }
-
- public void postEvent(Message msg) {
- if (handleMessage(msg))
- return;
-
- if (group != null && !eventForwardingDisabled)
- group.postMessage(msg);
- }
-
- void disableEventForwarding() {
- eventForwardingDisabled = true;
- }
-
- void enableEventForwarding() {
- eventForwardingDisabled = false;
- }
-
- public void layoutMode() {
- super.layoutMode();
- containerHelper.layoutMode();
- }
-
- public void previewMode() {
- super.previewMode();
- containerHelper.previewMode();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/RootObserver.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/RootObserver.java
deleted file mode 100644
index 8dbd480e31..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/RootObserver.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) RootObserver.java 1.4 - last change made 04/25/96
- */
-
-package sunsoft.jws.visual.rt.base;
-
-/**
- * Interface to be provided by those who which to watch
- * the comings and
- * goings of WindowShadows and Groups in a particular Root
- * object. This
- * is used in the visual designer to keep a list of the
- * top-level windows
- * currently under the main application root.
- * It registers itself as an
- * observer with the root object and then through this
- * interface receives
- * updates.
- *
- * @version 1.4, 04/25/96
- */
-public interface RootObserver {
- public void add(AttributeManager mgr);
- public void remove(AttributeManager mgr);
- public void select(AttributeManager mgr);
- public void clear();
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Shadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Shadow.java
deleted file mode 100644
index 2c63872b2a..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Shadow.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Shadow.java 1.89 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.util.Enumeration;
-import java.util.StringTokenizer;
-
-/**
- * This class implements the basic interfaces
- * that Visual Java requires
- * for its visual components. Objects that wish to be added to
- * the Visual Java palette must be sub-classed from Shadow.
- * <p>
- * The attributes this class adds to an AttributeManager
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin
- * with "rt".
- *
- * <pre>
- * name type default value
- * --------------------------------------------------------------------
- * none
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @version 1.89, 07/25/97
-*/
-public class Shadow extends AttributeManager {
- /**
- * Flags
- */
-
- /**
- * When this flag is set, a provision must be made in order
- * to set
- * the attribute in the body's constructor. It is up to the
- * caller to call
- * recreate on the shadow and validate on the shadow's
- * parent after
- * a constructor attribute has been set.
- */
- public static final int CONSTRUCTOR = 0x40;
-
- /**
- * This flag signifies that the attribute has nothing to
- * do with a shadow 'body' and therefore
- * <a href="sunsoft.jws.visual.rt.base.Shadow.html
- * #getOnBody(java.lang.String)">getOnBody</a> and
- * <a href="sunsoft.jws.visual.rt.base.Shadow.html
- * #setOnBody(java.lang.String, java.lang.Object)">setOnBody</a>
- * will not be called for this attribute.
- */
- public static final int NONBODY = 0x80;
-
- /**
- * Constructor
- */
- public Shadow() {
- super();
- }
-
- /**
- * The AWT component for this shadow.
- */
- protected Object body;
-
- /**
- * Returns the AWT component for this shadow.
- * The return value is of
- * type Object, therefore the caller must do a cast to the
- * appropriate AWT component type.
- */
- public Object getBody() {
- return (body);
- }
-
- /**
- * Returns a type name suitable for use in naming instances of
- * shadow sub-classes (i.e. names that make sense to a user.)
- * This
- * can be overridden in sub-classes to give more useful
- * names when
- * this (default) algorithm comes up with something ugly.
- */
- protected String getUserTypeName() {
- // get the final word after the last '.'
- String last = /* NOI18N */"unknown";
- StringTokenizer st = new StringTokenizer(
- getClass().getName(), /* NOI18N */".", false);
- while (st.hasMoreTokens()) {
- last = st.nextToken();
- }
-
- // remove "Shadow" from the end of the string
- int index = last.lastIndexOf(/* NOI18N */"Shadow");
- if (index != -1) {
- last = last.substring(0, index);
- }
-
- // always return a lower case word
- if (last.length() > 0)
- return (last.toLowerCase());
- else
- return (/* NOI18N */"shadow");
- }
-
- /**
- * Gets attributes from this shadow's body.
- * Should be overridden in each sub-class which has its own
- * attributes. There should be an entry for every
- * attribute that
- * doesn't have the NONBODY flag, even if it's just to return
- * the value from the attribute list when a certain attribute
- * can't
- * be looked up from the body.
- */
- protected Object getOnBody(String key) {
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Shadow.NoSuchKey", key));
- }
-
- /**
- * Gets an attribute either from the body (if available)
- * or from the
- * shadow's attribute list.
- */
- public Object get(String key) {
- key = attributes.resolveAlias(key);
- if (attributes.contains(key)) {
- Attribute a = attributes.get(key);
- if (body != null && !a.flagged(NONBODY))
- return (getOnBody(key));
- else
- return (a.getValue());
- } else {
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Shadow.UnknownAttribute",
- key, getClass().getName()));
- }
- }
-
- /**
- * Sets attributes on this shadow's body.
- * Should be overridden in each sub-class which has its own
- * attributes. There should be an entry for every attribute that
- * doesn't have the NONBODY flag, even if it's just to set the
- * value in the attribute list when a certain attribute
- * can't be set on the body.
- */
- protected void setOnBody(String key, Object value) {
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Shadow.NoSuchKey2", key));
- }
-
- /**
- * Sets an attribute either in the body (if available) or in the
- * shadow's attribute list. Destroys the body when
- * a CONSTRUCTOR attribute is set.
- * It is up to the caller to call
- * recreate on the shadow and validate on the shadow's
- * parent after a constructor attribute has been set.
- */
- public void set(String key, Object value) {
- key = attributes.resolveAlias(key);
- Attribute a = attributes.get(key);
- if (a == null)
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Shadow.InvalidAttributeSet",
- key));
- if (a.flagged(READONLY))
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Shadow.ReadOnlyAttributeSet",
- key));
-
- if (a.flagged(CONSTRUCTOR)) {
- if (isCreated) {
- isCreated = false;
- refetchAttributeList();
- unregisterBody();
- destroyBody();
- if (body != null)
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.base.Shadow.BodyNotDestroyed"));
- }
- }
-
- // Save the previous value
- Object prev = a.getValue();
- a.setValue(value);
-
- if (body != null && !a.flagged(NONBODY)) {
- // If setOnBody throws a VJException, then restore
- // the old value. I couldn't just move the setValue
- // to be after
- // setOnBody, because many shadows depend on the value
- // being set first.
- try {
- setOnBody(key, value);
- }
- catch (VJException ex) {
- a.setValue(prev);
- throw ex;
- }
- }
-
- // update the the global register for unsaved changes
- if (inDesignerRoot())
- DesignerAccess.setChangesMade(true);
-
- if (parent != null && a.flagged(CONTAINER))
- ((AMContainer)parent).updateContainerAttribute(this,
- key, value);
- }
-
- /**
- * Creates this shadow.
- * It is safe to call create multiple times on a shadow object.
- */
- public void create() {
- if (!isCreated) {
- isCreated = true;
-
- if (getGroup() == null || !getGroup().hasBase()) {
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.base.Group.ShadowCreationWarning"));
- }
-
- if (body == null)
- createBody();
- if (body == null)
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.base.Group.BodyNotCreated"));
-
- registerBody();
-
- super.create();
- if (parent != null && body != null)
- parent.addChildBody(this);
-
- postCreate();
- } else {
- super.create();
- if (parent != null && body != null)
- parent.addChildBody(this);
- }
- }
-
- /**
- * Called just after this shadow has been created.
- */
- protected void postCreate() {};
-
- /**
- * Creates the AWT component for this shadow.
- * Sub-classes must override this method.
- */
- public void createBody() {};
-
- /**
- * Registers newly created shadows.
- * Sub-classes should not override
- * this method.
- */
- protected void registerBody() {
- // Add this shadow's body to the global shadow table.
- DesignerAccess.getShadowTable().put(body, this);
-
- // Set attributes on the new body
- for (Enumeration e = attributes.attributesWithoutFlags(
- NONBODY|READONLY);
- /* JSTYLED */
- e.hasMoreElements(); ) {
- Attribute a = (Attribute) e.nextElement();
- if (a.isModified() || !a.flagged(DEFAULT)) {
- setOnBody(a.getName(), a.getValue());
- }
- }
-
- // System.out.println("Shadow created: " + toString());
- }
-
- /**
- * Creates this shadow again after a constructor
- * attribute has been set.
- */
- public void recreate() {
- if (!isCreated) {
- isCreated = true;
-
- createBody();
-
- // Reparent the children
- if (this instanceof AMContainer)
- ((AMContainer)this).reparentChildren();
-
- registerBody();
-
- postCreate();
- }
-
- if (parent != null && body != null)
- parent.addChildBody(this);
- }
-
- /**
- * Destroys this shadow and all its children.
- */
- public void destroy() {
- if (isCreated) {
- isCreated = false;
-
- preDestroy();
-
- super.destroy();
-
- unregisterBody();
-
- destroyBody();
- if (body != null)
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.base.Shadow.BodyNotDestroyed"));
- } else {
- super.destroy();
- }
- }
-
- /**
- * Called during destroy, but before the children are
- * destroyed. By the time destroyBody is called, all
- * the children have already been destroyed.
- */
- protected void preDestroy() {
- }
-
- /**
- * Destroys the body for this shadow.
- * Sub-classes are not required to override this method.
- */
- protected void destroyBody() {
- body = null;
- }
-
- /**
- * Unregisters destroyed shadows. Sub-classes should not
- * override this method.
- */
- protected void unregisterBody() {
- // remove this shadow's body from its container and from the
- // global shadow table
- if (body != null) {
- if (parent != null && body != null)
- parent.removeChildBody(this);
- DesignerAccess.getShadowTable().remove(body);
- }
- }
-
- public String toString() {
- return (super.toString() + /* NOI18N */"["
- + /* NOI18N */"," + /* NOI18N */"body=" +
- ((body == null) ? /* NOI18N */"null" : body.toString())
- + /* NOI18N */"]");
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Util.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Util.java
deleted file mode 100644
index eaa85c60bb..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/Util.java
+++ /dev/null
@@ -1,683 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Util.java 1.43 - last change made 07/16/97
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.awt.*;
-import java.util.*;
-import java.io.*;
-
-import java.awt.image.RGBImageFilter;
-import java.awt.image.FilteredImageSource;
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.applet.Applet;
-
-/**
- * Utilities needed by run-time.
- *
- * @version 1.32, 03/09/97
- */
-public class Util {
- // Relief constants
- public static final int RELIEF_FLAT = 0;
- public static final int RELIEF_RAISED = 1;
- public static final int RELIEF_SUNKEN = 2;
- public static final int RELIEF_RIDGE = 3;
- public static final int RELIEF_GROOVE = 4;
- public static final int WIN95_RAISED = 6;
- public static final int WIN95_SUNKEN = 7;
- public static final int WIN95_FIELD_BORDER = 8;
- public static final int WIN95_WINDOW_BORDER = 9;
- public static final int BLACK_BORDER = 10;
-
- // Character constants
- public static final char BACKSLASH = /* NOI18N */ '\\';
- public static final char COLON = /* NOI18N */ ':';
- public static final char NEWLINE = /* NOI18N */ '\n';
- public static final char RETURN = /* NOI18N */ '\r';
- public static final char SLASH = /* NOI18N */ '/';
- public static final char SPACE = /* NOI18N */ ' ';
-
-
- // codebase the user specified in the project - used at design time
- private String codebaseStr = null;
-
- // default class loader
- private CustomClassLoader classLoader;
-
- // Darkness constants
- private static final double BFACTOR = 0.82;
- private static final double DFACTOR = 0.7;
-
- // Buffer size for reading files
- private static final int BUFSIZE = 2048;
-
- public Util() {
- classLoader = new VBClassLoader();
- }
-
- /**
- * Returns a brighter version of this color.
- *
- * This version is adjusted to compensate for border cases:
- * If the base is white, the brighter color sometimes gets lost
- * against the background, so the border of the panel (or whatever)
- * is not seen. (Sun Bug # 4035733)
- * The solution is to check if the "brighter" color
- * is too bright, and if
- * so, set it to a light grey.
- *
- */
-
- public Color brighter(Color c) {
- int r = c.getRed();
- int g = c.getGreen();
- int b = c.getBlue();
-
- r = Math.min((int)(r * (1/BFACTOR)), 255);
- g = Math.min((int)(g * (1/BFACTOR)), 255);
- b = Math.min((int)(b * (1/BFACTOR)), 255);
-
- if (r > 250 && g > 250 && b > 250) {
- // note: we use the JDK darker, which simply makes
- // the color darker,
- // rather than this.darker, which will turn
- // values of 255 into
- // 128.
- return new Color(225, 225, 225);
- }
- /* JSTYLED */
- return new Color(r, g, b);
- }
-
- /**
- * Returns a darker version of this color.
- */
- public Color darker(Color c) {
- int r = c.getRed();
- int g = c.getGreen();
- int b = c.getBlue();
-
- if (r == 255)
- r = 128;
- else
- r = Math.max((int)(r * DFACTOR), 0);
-
- if (g == 255)
- g = 128;
- else
- g = Math.max((int)(g * DFACTOR), 0);
-
- if (b == 255)
- b = 128;
- else
- b = Math.max((int)(b * DFACTOR), 0);
-
- return new Color(r, g, b);
- }
-
- /**
- * Draw a 3D rectable with the given relief and border width.
- */
- public void draw3DRect(Graphics g, int x, int y, int w, int h,
- int relief, int bd) {
- int bd2 = (bd+1)/2;
- for (int i = 0; i < bd; i++)
- draw3DRect(g, x+i, y+i, w-2*i, h-2*i, relief,
- (i < bd2));
- }
-
- /**
- * Draw a 3D rectable with the given relief and outer boolean.
- */
- private void draw3DRect(Graphics g, int x, int y, int w, int h,
- int relief, boolean isOuter) {
- Color color = g.getColor();
-
- g.setColor(getEdgeColor(color, relief, true, isOuter));
- g.drawLine(x, y, x+w, y);
- g.drawLine(x, y, x, y+h);
-
- g.setColor(getEdgeColor(color, relief, false, isOuter));
- g.drawLine(x, y+h, x+w, y+h);
- g.drawLine(x+w, y, x+w, y+h);
-
- g.setColor(color);
- }
-
-
- /**
- * Returns an adjusted color for the given
- * edge and the given relief.
- */
- private Color getEdgeColor(Color base, int relief,
- boolean isTopEdge, boolean isOuter) {
-
- Color color = null;
-
- switch (relief) {
- case RELIEF_RAISED:
- if (isTopEdge)
- color = brighter(base);
- else
- color = darker(base);
- break;
-
- case RELIEF_SUNKEN:
- if (isTopEdge)
- color = darker(base);
- else
- color = brighter(base);
- break;
-
- case RELIEF_RIDGE:
- if (isTopEdge) {
- if (isOuter)
- color = brighter(base);
- else
- color = darker(base);
- } else {
- if (isOuter)
- color = darker(base);
- else
- color = brighter(base);
- }
- break;
-
- case RELIEF_GROOVE:
- if (isTopEdge) {
- if (isOuter)
- color = darker(base);
- else
- color = brighter(base);
- } else {
- if (isOuter)
- color = brighter(base);
- else
- color = darker(base);
- }
- break;
-
- case WIN95_RAISED:
- if (isTopEdge) {
- if (isOuter)
- color = Color.white;
- else
- color = brighter(base);
- } else {
- if (isOuter)
- color = Color.black;
- else
- color = darker(base);
- }
- break;
-
- case WIN95_SUNKEN:
- if (isTopEdge) {
- if (isOuter)
- color = Color.black;
- else
- color = darker(base);
- } else {
- if (isOuter)
- color = Color.white;
- else
- color = brighter(base);
-
- }
- break;
-
- case WIN95_FIELD_BORDER:
- if (isTopEdge) {
- if (isOuter)
- color = darker(base);
- else
- color = Color.black;
- } else {
- if (isOuter)
- color = Color.white;
- else
- color = brighter(base);
- // was: base; // brighter(base);
- }
- break;
-
- case WIN95_WINDOW_BORDER:
- if (isTopEdge) {
- if (isOuter)
- color = brighter(base);
- else
- color = Color.white;
- } else {
- if (isOuter)
- color = Color.black;
- else
- color = darker(base);
- }
- break;
-
- case BLACK_BORDER:
- color = Color.black;
- break;
-
- case RELIEF_FLAT:
- default:
- color = base;
- break;
- }
-
- return color;
- }
-
- /**
- * Get an image given a url. If we are on Windows 95, then we
- * need to use a filter to get around the transparency bugs.
- */
- public Image getWorkaroundImage(URL url, Component comp) {
- Image image = comp.getToolkit().getImage(url);
- return getWorkaroundImage(image, comp);
- }
-
- /**
- * Get an image given another. If we are on Windows 95, then we
- * need to use a filter to get around the transparency bugs.
- * Otherwise, just return the image directly.
- */
- public Image getWorkaroundImage(Image image, Component comp) {
- if (image == null)
- return null;
-
- if (Global.isWindows95() && Global.javaVersion() == 1.0) {
- RGBImageFilter filter = new TransFilter(comp);
- image = comp.createImage(
- new FilteredImageSource(image.getSource(),
- filter));
- }
-
- return image;
- }
-
- /**
- * When the user specifies/changes the codebase attribute
- * in the project,
- * this method is called to update the value of "codebase" here.
- * When we calculate an URL relative to codebase(such as the
- * ImageLabel "image" attribute at design time, we use this
- * codebase value.
- */
- public boolean setUserCodebase(String newCodebase) {
- codebaseStr = newCodebase;
- return true;
- }
-
- public CustomClassLoader getClassLoader() {
- return (classLoader);
- }
-
- public void setClassLoader(CustomClassLoader newLoader) {
- classLoader = newLoader;
- }
-
- /**
- * Returns a URL based on a relative path to a file or directory.
- * If we are running under a browser, then a URL is created based
- * off of the code base. Otherwise, a file URL will be created
- * by searching the CLASSPATH for the file.
- */
- public URL pathToURL(String path, Applet applet) {
- // general info: determine delimiter and urlPrefix
- String delimiter, urlPrefix;
- if (Global.isWindows()) {
- delimiter = /* NOI18N */";";
- urlPrefix = /* NOI18N */"file:/";
- } else {
- delimiter = /* NOI18N */":";
- urlPrefix = /* NOI18N */"file:";
- }
-
- // First see if the path is a full URL path
- // Note that the user must specify "file:" for files
- try {
- URL url = new URL(path);
- // System.out.println(
- // " detected full URL - URL=" + url);
- return url;
- }
- catch (MalformedURLException ex) {
- }
-
- // Are we running as an applet? If running as the Visual Java
- // applet in JWS can't use applet.getCodeBase because it is the
- // codebase of Visual Java, not the users applet, so fall
- // through
- // and use the CLASSPATH
- // Note: There's probably a better way to check if we're the
- // Visual Java applet than checking for classname starting
- // with "sun.jws"
- if ((applet != null) &&
- !(applet.getClass().getName().startsWith(/* NOI18N */
- "sun.jws"))) {
- String s = applet.getCodeBase().toExternalForm();
- if (s.charAt(s.length()-1) != SLASH)
- path = /* NOI18N */"/" + path;
-
- URL url;
- try {
- url = new URL(applet.getCodeBase(), path);
- }
- catch (MalformedURLException ex) {
- url = null;
- }
- // System.out.println(" based on codebase="
- // + s + " URL=" + url);
- return url;
- }
-
-// Search the CLASSPATH for the file
- String classpath;
- try {
- classpath = System.getProperty(
- /* NOI18N */"java.class.path");
- }
- catch (SecurityException ex) {
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Util.NeedAppletparam",
- Global.newline()));
- }
-
- classpath = DesignerAccess.getCWD() + delimiter + classpath;
-
- StringTokenizer st = new StringTokenizer(classpath, delimiter);
- boolean keepGoing = true;
- while (st.hasMoreTokens() && keepGoing) {
- String p = st.nextToken();
-
- if (p == /* NOI18N */"")
- p = /* NOI18N */".";
-
- p = makeAbsolute(p);
-
- char c = p.charAt(p.length()-1);
- if (c != SLASH && c != BACKSLASH)
- p = p + separator;
-
- p = p + path;
-
- if (Global.isWindows()) {
-// Java allows the use of SLASH in the classpath,
-// so we need
-// convert SLASH to BACKSLASH.
- char buf[] = p.toCharArray();
- for (int i = 0; i < buf.length; i++) {
- if (buf[i] == SLASH)
- buf[i] = BACKSLASH;
- }
- p = new String(buf);
- }
-
- File f = new File(p);
- if (f.exists()) {
- try {
- URL url = new URL(urlPrefix + p);
-// System.out.println(" based on
-// classpath; found in " + p
-// + "; URL=" + url +
-// " classpath=" + classpath);
- return url;
- }
- catch (MalformedURLException ex) {
- // System.out.println(" based on
- // classpath=" + classpath
- // +
- // " URL=null");
- keepGoing = false;
- }
- }
- }
-
-// Search relative to project's codebase attrib
-// (meant for design time only)
- if (codebaseStr != null) {
- URL url;
- String tmpPath;
- if (!codebaseStr.endsWith(/* NOI18N */"/") &&
- !codebaseStr.endsWith(File.separator)) {
- tmpPath = codebaseStr + /* NOI18N */"/" + path;
- } else {
- tmpPath = codebaseStr + path;
- }
- File f = new File(tmpPath);
- if (f.exists()) {
- tmpPath = urlPrefix + tmpPath;
- }
- try {
- url = new URL(tmpPath);
- // System.out.println(" based on proj
- // codebase=" + codebase + " URL=" + url);
- return url;
- }
- catch (MalformedURLException e) {
- url = null;
- }
- }
-
-// System.out.println(" all attempts
-// failed - returning null");
- return null;
- }
-
- private static String separator;
- private static String cwd;
-
- private String makeAbsolute(String path) {
- if (separator == null) {
- separator = System.getProperty(/* NOI18N */
- "file.separator");
- }
-
- if (cwd == null) {
- cwd = System.getProperty(/* NOI18N */"user.dir");
- if (cwd.charAt(cwd.length()-1) != separator.charAt(0))
- cwd = cwd + separator;
- }
-
- if (Global.isWindows()) {
- if (path.length() < 3 ||
- (path.charAt(1) != COLON ||
- (path.charAt(2) != SLASH && path.charAt(2)
- != BACKSLASH))) {
- path = cwd + path;
- }
- } else {
- if (path.charAt(0) != SLASH)
- path = cwd + path;
- }
-
- return path;
- }
-
-/**
- * Compares two objects and returns if they are equal.
- * Will work with
- * null objects
- */
-
- public boolean isEqual(Object o1, Object o2) {
- if (o1 == null) {
- return (o2 == null);
- } else {
- return (o1.equals(o2));
- }
- }
-
-/**
- * Quicksort for strings. Could not get James Gosling's
- * example working
- * properly, or the "fixed" example, so wrote my own using
- * algorithms
- * book.
- */
-
- public void qsort(String[] list) {
- quicksort(list, 0, list.length-1);
- }
-
- private void quicksort(String[] list, int p, int r) {
- if (p < r) {
- int q = partition(list, p, r);
- if (q == r) {
- q--;
- }
- quicksort(list, p, q);
- quicksort(list, q+1, r);
- }
- }
-
- private int partition(String[] list, int p, int r) {
- String pivot = list[p];
- int lo = p;
- int hi = r;
-
- while (true) {
- while (list[hi].compareTo(pivot) >= 0 &&
- lo < hi) {
- hi--;
- }
- while (list[lo].compareTo(pivot) < 0 &&
- lo < hi) {
- lo++;
- }
- if (lo < hi) {
- String T = list[lo];
- list[lo] = list[hi];
- list[hi] = T;
- } else return hi;
- }
- }
-
-/**
- * Quicksort for objects. The is a parameter for a
- * QSortCompare object that is used to do the sorting.
- */
-
- public void qsort(Object[] list, QSortCompare comp) {
- if (list != null)
- quicksort(list, 0, list.length-1, comp);
- }
-
- private void quicksort(Object[] list, int p, int r,
- QSortCompare comp) {
- if (p < r) {
- int q = partition(list, p, r, comp);
- if (q == r) {
- q--;
- }
- quicksort(list, p, q, comp);
- quicksort(list, q+1, r, comp);
- }
- }
-
- private int partition(Object[] list, int p, int r,
- QSortCompare comp) {
- Object pivot = list[p];
- int lo = p;
- int hi = r;
-
- while (true) {
- while (comp.qsortCompare(list[hi], pivot) >= 0 &&
- lo < hi) {
- hi--;
- }
- while (comp.qsortCompare(list[lo], pivot) < 0 &&
- lo < hi) {
- lo++;
- }
- if (lo < hi) {
- Object T = list[lo];
- list[lo] = list[hi];
- list[hi] = T;
- } else return hi;
- }
- }
-
-/**
- * A workaround routine for the Windows95 pack bug in 1.0.2
- *
- * @param c The component to pack
- */
- static public void pack(Window c) {
- c.pack();
- if (Global.isWindows95() || Global.isWindowsNT()) {
- Thread.yield();
- c.pack();
- }
- }
-}
-
-
-/**
-* A Work-around filter.
-*
-* Transparent gifs don't display properly on Windows 95.
-* The work-around
-* is to replace transparent pixels with the background color of the
-* component they're being displayed in before drawing them.
-*/
-class TransFilter extends RGBImageFilter {
- private Color bg;
- private Component comp;
-
- TransFilter(Component comp) {
- if (comp == null)
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.base.Util.NullComp",
- "TransWorkAroundFilter"));
-
- this.comp = comp;
- canFilterIndexColorModel = false;
- }
-
- public int filterRGB(int x, int y, int rgb) {
- if (bg == null)
- bg = comp.getBackground();
-
- if ((rgb & 0xff000000) == 0)
- return (bg.getRGB());
- else
- return (rgb);
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/VBClassLoader.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/VBClassLoader.java
deleted file mode 100644
index 761e24775e..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/VBClassLoader.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * @(#) VBClassLoader.java 1.1 - last change made 04/25/97
- *
- * Copyright (c) 1995, 2001 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software
- * and its documentation for NON-COMMERCIAL purposes and without
- * fee is hereby granted provided that this copyright notice
- * appears in all copies. Please refer to the file "copyright.html"
- * for further important copyright and licensing information.
- *
- * 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.
- */
-
-package sunsoft.jws.visual.rt.base;
-
-import java.lang.Class;
-
-public class VBClassLoader implements CustomClassLoader {
- /**
- * This method is called to load a class indicated by the
- * className argument.
- *
- * @param className the name of the class to load
- */
- public Class loadClass(String className)
- throws ClassNotFoundException {
- Class c = Class.forName(className);
- return (c);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/VJException.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/VJException.java
deleted file mode 100644
index e30ab55ba3..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/base/VJException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) VJException.java 1.1 - last change made 04/27/96
- */
-
-package sunsoft.jws.visual.rt.base;
-
-public class VJException extends RuntimeException {
- public VJException() {
- super();
- }
-
- public VJException(String s) {
- super(s);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/CEStreamExhausted.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/CEStreamExhausted.java
deleted file mode 100644
index fce2767021..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/CEStreamExhausted.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- */
-
-package sunsoft.jws.visual.rt.encoding;
-
-import java.io.IOException;
-
-public class CEStreamExhausted extends IOException
-{
-
- public CEStreamExhausted()
- {
- super();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/CRC16.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/CRC16.java
deleted file mode 100644
index d41c1cf19b..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/CRC16.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- */
-
-package sunsoft.jws.visual.rt.encoding;
-
-
-public class CRC16
-{
-
- public CRC16()
- {
- super();
- value = 0;
- }
-
- public void update(byte aByte)
- {
- int a = aByte;
- for (int count = 7; count >= 0; count--)
- {
- a <<= 1;
- int b = a >>> 8 & 0x1;
- if ((value & 0x8000) != 0)
- value = (value << 1) + b ^ 0x1021;
- else
- value = (value << 1) + b;
- }
-
- value = value & 0xffff;
- }
-
- public void reset()
- {
- value = 0;
- }
-
- public int value;
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/Makefile b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/Makefile
deleted file mode 100644
index 02f3b227a2..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/Makefile.master
-include $(SRC)/cmd/Makefile.cmd
-include ../Makefile.com
-
-CLASSES= CEStreamExhausted CRC16 UCDecoder UCEncoder
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d $(VRT) -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
-
-install: all
-
-clean clobber:
- $(RM) *.class
- $(RM) -r ./javadoc
-
-javadoc:
- mkdir -p ./javadoc
- $(JAVADOC) -d ./javadoc -classpath $(CLASSPATH) *.java
-
-_msg: $(JFILES)
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/UCDecoder.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/UCDecoder.java
deleted file mode 100644
index 5bc50be0da..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/UCDecoder.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- */
-
-package sunsoft.jws.visual.rt.encoding;
-
-import java.io.*;
-
-// Referenced classes of package sunsoft.jws.visual.rt.encoding:
-// CEStreamExhausted, CRC16
-
-public class UCDecoder
-{
-
- protected int bytesPerAtom()
- {
- return 2;
- }
-
- protected int bytesPerLine()
- {
- return 48;
- }
-
- protected void decodeAtom(InputStream inStream,
- OutputStream outStream, int l)
- throws IOException
- {
- byte a = -1;
- byte b = -1;
- byte c = -1;
- byte tmp[] = new byte[3];
- int i = inStream.read(tmp);
- if (i != 3)
- throw new CEStreamExhausted();
- for (i = 0; i < 64 && (a == -1 || b == -1 || c == -1); i++)
- {
- if (tmp[0] == map_array[i])
- a = (byte)i;
- if (tmp[1] == map_array[i])
- b = (byte)i;
- if (tmp[2] == map_array[i])
- c = (byte)i;
- }
-
- byte high_byte = (byte)(((a & 0x38) << 2) + (b & 0x1f));
- byte low_byte = (byte)(((a & 0x7) << 5) + (c & 0x1f));
- int p1 = 0;
- int p2 = 0;
- for (i = 1; i < 256; i *= 2)
- {
- if ((high_byte & i) != 0)
- p1++;
- if ((low_byte & i) != 0)
- p2++;
- }
-
- int np1 = (b & 0x20) / 32;
- int np2 = (c & 0x20) / 32;
- if ((p1 & 0x1) != np1)
- throw new IOException("UCDecoder: High byte parity error.");
- if ((p2 & 0x1) != np2)
- throw new IOException("UCDecoder: Low byte parity error.");
- outStream.write(high_byte);
- crc.update(high_byte);
- if (l == 2)
- {
- outStream.write(low_byte);
- crc.update(low_byte);
- }
- }
-
- protected void decodeBufferPrefix(InputStream inStream,
- OutputStream outStream)
- {
- sequence = 0;
- }
-
- protected int decodeLinePrefix(InputStream inStream,
- OutputStream outStream)
- throws IOException
- {
- crc.value = 0;
- do
- {
- int c = inStream.read(tmp, 0, 1);
- if (c == -1)
- throw new CEStreamExhausted();
- }
- while (tmp[0] != 42);
- lineAndSeq.reset();
- decodeAtom(inStream, lineAndSeq, 2);
- byte xtmp[] = lineAndSeq.toByteArray();
- int nLen = xtmp[0] & 0xff;
- int nSeq = xtmp[1] & 0xff;
- if (nSeq != sequence)
- {
- throw new IOException("UCDecoder: Out of sequence line.");
- }
- else
- {
- sequence = sequence + 1 & 0xff;
- return nLen;
- }
- }
-
- protected void decodeLineSuffix(InputStream inStream,
- OutputStream outStream)
- throws IOException
- {
- int lineCRC = crc.value;
- lineAndSeq.reset();
- decodeAtom(inStream, lineAndSeq, 2);
- byte tmp[] = lineAndSeq.toByteArray();
- int readCRC = (tmp[0] << 8 & 0xff00) + (tmp[1] & 0xff);
- if (readCRC != lineCRC)
- throw new IOException("UCDecoder: CRC check failed.");
- else
- return;
- }
-
- public void decodeBuffer(InputStream aStream, OutputStream bStream)
- throws IOException
- {
- int totalBytes = 0;
- decodeBufferPrefix(aStream, bStream);
- try
- {
- do
- {
- int length = decodeLinePrefix(aStream, bStream);
- int i;
- for (i = 0; i + bytesPerAtom() < length;
- i += bytesPerAtom())
- {
- decodeAtom(aStream, bStream, bytesPerAtom());
- totalBytes += bytesPerAtom();
- }
-
- if (i + bytesPerAtom() == length)
- {
- decodeAtom(aStream, bStream, bytesPerAtom());
- totalBytes += bytesPerAtom();
- }
- else
- {
- decodeAtom(aStream, bStream, length - i);
- totalBytes += length - i;
- }
- decodeLineSuffix(aStream, bStream);
- }
- while (true);
- }
- catch (CEStreamExhausted ex)
- {
- decodeBufferSuffix(aStream, bStream);
- }
- }
-
- public byte[] decodeBuffer(String inputString)
- throws IOException
- {
- byte inputBuffer[] = new byte[inputString.length()];
- inputString.getBytes(0, inputString.length(), inputBuffer, 0);
- ByteArrayInputStream inStream =
- new ByteArrayInputStream(inputBuffer);
- ByteArrayOutputStream outStream = new ByteArrayOutputStream();
- decodeBuffer(inStream, outStream);
- return outStream.toByteArray();
- }
-
- protected void decodeBufferSuffix(InputStream inputstream,
- OutputStream outputstream)
- throws IOException
- {
- }
-
- public UCDecoder()
- {
- super();
- tmp = new byte[2];
- crc = new CRC16();
- lineAndSeq = new ByteArrayOutputStream(2);
- }
-
- private static final byte map_array[] = {
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 40, 41
- };
- private int sequence;
- private byte tmp[];
- CRC16 crc;
- private ByteArrayOutputStream lineAndSeq;
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/UCEncoder.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/UCEncoder.java
deleted file mode 100644
index 5e8d421adf..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/encoding/UCEncoder.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- */
-
-package sunsoft.jws.visual.rt.encoding;
-
-import java.io.*;
-
-// Referenced classes of package sunsoft.jws.visual.rt.encoding:
-// CRC16
-
-public class UCEncoder
-{
-
- protected int bytesPerAtom()
- {
- return 2;
- }
-
- protected int bytesPerLine()
- {
- return 48;
- }
-
- protected void encodeAtom(OutputStream outStream, byte data[],
- int offset, int len)
- throws IOException
- {
- byte a = data[offset];
- byte b;
- if (len == 2)
- b = data[offset + 1];
- else
- b = 0;
- crc.update(a);
- if (len == 2)
- crc.update(b);
- outStream.write(map_array[(a >>> 2 & 0x38) + (b >>> 5 & 0x7)]);
- int p1 = 0;
- int p2 = 0;
- for (int i = 1; i < 256; i *= 2)
- {
- if ((a & i) != 0)
- p1++;
- if ((b & i) != 0)
- p2++;
- }
-
- p1 = (p1 & 0x1) * 32;
- p2 = (p2 & 0x1) * 32;
- outStream.write(map_array[(a & 0x1f) + p1]);
- outStream.write(map_array[(b & 0x1f) + p2]);
- }
-
- protected void encodeLinePrefix(OutputStream outStream, int length)
- throws IOException
- {
- outStream.write(42);
- crc.value = 0;
- tmp[0] = (byte)length;
- tmp[1] = (byte)sequence;
- sequence = sequence + 1 & 0xff;
- encodeAtom(outStream, tmp, 0, 2);
- }
-
- protected void encodeLineSuffix(OutputStream outStream)
- throws IOException
- {
- tmp[0] = (byte)(crc.value >>> 8 & 0xff);
- tmp[1] = (byte)(crc.value & 0xff);
- encodeAtom(outStream, tmp, 0, 2);
- pStream.println();
- }
-
- protected void encodeBufferPrefix(OutputStream a)
- throws IOException
- {
- sequence = 0;
- pStream = new PrintStream(a);
- }
-
- public void encodeBuffer(InputStream inStream,
- OutputStream outStream)
- throws IOException
- {
- byte tmpbuffer[] = new byte[bytesPerLine()];
- encodeBufferPrefix(outStream);
- int numBytes;
- do
- {
- numBytes = readFully(inStream, tmpbuffer);
- if (numBytes == -1)
- break;
- encodeLinePrefix(outStream, numBytes);
- for (int j = 0; j < numBytes; j += bytesPerAtom())
- if (j + bytesPerAtom() <= numBytes)
- encodeAtom(outStream, tmpbuffer, j, bytesPerAtom());
- else
- encodeAtom(outStream, tmpbuffer, j, numBytes - j);
-
- encodeLineSuffix(outStream);
- }
- while (numBytes >= bytesPerLine());
- encodeBufferSuffix(outStream);
- }
-
- protected int readFully(InputStream in, byte buffer[])
- throws IOException
- {
- for (int i = 0; i < buffer.length; i++)
- {
- int q = in.read();
- if (q == -1)
- return i;
- buffer[i] = (byte)q;
- }
-
- return buffer.length;
- }
-
- protected void encodeBufferSuffix(OutputStream outputstream)
- throws IOException
- {
- }
-
- public String encodeBuffer(byte aBuffer[])
- {
- ByteArrayOutputStream outStream = new ByteArrayOutputStream();
- ByteArrayInputStream inStream =
- new ByteArrayInputStream(aBuffer);
- try
- {
- encodeBuffer(inStream, outStream);
- }
- catch (Exception ex)
- {
- throw new Error("encodeBuffer internal error");
- }
- return outStream.toString();
- }
-
- public UCEncoder()
- {
- super();
- tmp = new byte[2];
- crc = new CRC16();
- }
-
- private PrintStream pStream;
- private static final byte map_array[] = {
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 40, 41
- };
- private int sequence;
- private byte tmp[];
- private CRC16 crc;
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/Makefile b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/Makefile
deleted file mode 100644
index db95e8b759..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/Makefile
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/Makefile.master
-include $(SRC)/cmd/Makefile.cmd
-include ../Makefile.com
-
-CLASSES= MessageCatalog VisualRTProperties \
- VisualRTProperties_en VisualRTProperties_en_US
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d $(VRT) -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
-
-install: all
-
-clean clobber:
- $(RM) *.class
- $(RM) -r ./javadoc
-
-javadoc:
- mkdir -p ./javadoc
- $(JAVADOC) -d ./javadoc -classpath $(CLASSPATH) *.java
-
-_msg: $(JFILES)
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/MessageCatalog.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/MessageCatalog.java
deleted file mode 100644
index 19ddb95e93..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/MessageCatalog.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- */
-
-package sunsoft.jws.visual.rt.props;
-
-import java.text.Format;
-import java.text.MessageFormat;
-import java.util.*;
-
-public class MessageCatalog
-{
-
- public MessageCatalog(String domainname, Locale locale)
- {
- super();
- this.domainname = domainname;
- this.locale = locale;
- try
- {
- resource = ResourceBundle.getBundle(domainname, locale);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- public MessageCatalog(String domainname)
- {
- this(domainname, Locale.getDefault());
- }
-
- public String getMessage(String defaultMessage)
- {
- return getKeyMessage(defaultMessage, defaultMessage);
- }
-
- public String getFormattedMessage(String defaultMessage,
- Object arg)
- {
- return getFormattedKeyMessage(defaultMessage, defaultMessage,
- arg);
- }
-
- public String getFormattedMessage(String defaultMessage,
- Object arg1, Object arg2)
- {
- return getFormattedKeyMessage(defaultMessage, defaultMessage,
- arg1, arg2);
- }
-
- public String getFormattedMessage(String defaultMessage,
- Object arg1, Object arg2,
- Object arg3)
- {
- return getFormattedKeyMessage(defaultMessage, defaultMessage,
- arg1, arg2, arg3);
- }
-
- public String getFormattedMessage(String defaultMessage,
- Object arg[])
- {
- return getFormattedKeyMessage(defaultMessage, defaultMessage,
- arg);
- }
-
- public String getKeyMessage(String key, String defaultMessage)
- {
- String result = null;
- if (resource == null)
- result = defaultMessage;
- else
- try
- {
- result = resource.getString(key);
- }
- catch (MissingResourceException ex)
- {
- result = defaultMessage;
- }
- catch (Exception ex)
- {
- result = defaultMessage;
- }
- return result;
- }
-
- public String getFormattedKeyMessage(String key,
- String defaultMessage,
- Object arg)
- {
- String result = getKeyMessage(key, defaultMessage);
- Object rarg[] = {
- arg
- };
- return new MessageFormat(result).format(rarg);
- }
-
- public String getFormattedKeyMessage(String key,
- String defaultMessage,
- Object arg1, Object arg2)
- {
- String result = getKeyMessage(key, defaultMessage);
- Object arg[] = {
- arg1, arg2
- };
- return new MessageFormat(result).format(arg);
- }
-
- public String getFormattedKeyMessage(String key,
- String defaultMessage,
- Object arg1, Object arg2,
- Object arg3)
- {
- String result = getKeyMessage(key, defaultMessage);
- Object arg[] = {
- arg1, arg2, arg3
- };
- return new MessageFormat(result).format(arg);
- }
-
- public String getFormattedKeyMessage(String key,
- String defaultMessage,
- Object arg[])
- {
- String result = getKeyMessage(key, defaultMessage);
- return new MessageFormat(result).format(arg);
- }
-
- public String noTranslation(String message)
- {
- return message;
- }
-
- public String noTranslation(String message, Object arg1)
- {
- String result = noTranslation(message);
- Object arg[] = {
- arg1
- };
- return new MessageFormat(result).format(arg);
- }
-
- public String noTranslation(String message, Object arg1,
- Object arg2)
- {
- String result = noTranslation(message);
- Object arg[] = {
- arg1, arg2
- };
- return new MessageFormat(result).format(arg);
- }
-
- public String noTranslation(String message, Object arg1,
- Object arg2, Object arg3)
- {
- String result = noTranslation(message);
- Object arg[] = {
- arg1, arg2, arg3
- };
- return new MessageFormat(result).format(arg);
- }
-
- public String noTranslation(String message, Object arg[])
- {
- String result = noTranslation(message);
- return new MessageFormat(result).format(arg);
- }
-
- private String domainname;
- private ResourceBundle resource;
- private Locale locale;
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties.java
deleted file mode 100644
index 0a9e9d3653..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties.java
+++ /dev/null
@@ -1,609 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- */
-
-package sunsoft.jws.visual.rt.props;
-
-import java.util.ListResourceBundle;
-
-public class VisualRTProperties extends ListResourceBundle
-{
-
- public Object[][] getContents()
- {
- return contents;
- }
-
- public VisualRTProperties()
- {
- super();
- }
-
- static final Object contents[][] = {
-/* BEGIN JSTYLED */
- {
- "sunsoft.jws.visual.rt.shadow.GenericComponentShadow.Class__not__found",
- "Class not found: "
- }, {
- "sunsoft.jws.visual.rt.shadow.GenericComponentShadow.FMT.1",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.shadow.GenericComponentShadow.NotAComponentSubclass",
- "\" {0}\" is not a sublcass of Component"
- }, {
- "sunsoft.jws.visual.rt.shadow.GenericComponentShadow.IllegalAccess",
- "Illegal access: \" {0}\""
- }, {
- "sunsoft.jws.visual.rt.shadow.GenericComponentShadow.InstantiationException",
- "\" {0}\" could not be instantiated"
- }, {
- "sunsoft.jws.visual.rt.shadow.GenericComponentShadow.Noconstructor",
- "\" {0}\" does not have a null constructor"
- }, {
- "sunsoft.jws.visual.rt.shadow.GenericWindowShadow.Class__not__found",
- "\"Class not found: {0}"
- }, {
- "sunsoft.jws.visual.rt.shadow.GenericWindowShadow.NotARootSubclass",
- "\" {0}\" is not a subclass of RootFrame or RootDialog"
- }, {
- "sunsoft.jws.visual.rt.shadow.GenericWindowShadow.IllegalAccess",
- "Illegal access: \" {0}\""
- }, {
- "sunsoft.jws.visual.rt.shadow.GenericWindowShadow.InstantiationException",
- "\" {0}\" could not be instantiated"
- },
- {
- "sunsoft.jws.visual.rt.shadow.GenericWindowShadow.Noconstructor",
- "\" {0}\" does not have a null constructor"
- }, {
- "sunsoft.jws.visual.rt.shadow.Error", "Error: {0}"
- }, {
- "sunsoft.jws.visual.rt.shadow.FlowPanelShadow.DefaultText",
- "Flow Layout"
- }, {
- "sunsoft.jws.visual.rt.shadow.ColumnListShadow.Column__Format",
- "\"Column format must be(l)eft, (r)ight or (c)enter only"
- }, {
- "sunsoft.jws.visual.rt.shadow.MultiLineLabelShadow.DefaultText",
- "MultiLineLabel"
- }, {
- "sunsoft.jws.visual.rt.shadow.java.awt.ButtonShadow.button",
- "button"
- }, {
- "sunsoft.jws.visual.rt.shadow.java.awt.LabelShadow.text",
- "label"
- }, {
- "sunsoft.jws.visual.rt.shadow.java.awt.CheckboxShadow.text",
- "checkbox"
- }, {
- "sunsoft.jws.visual.rt.shadow.java.awt.DialogShadow.title",
- "Unnamed Dialog"
- }, {
- "sunsoft.jws.visual.rt.shadow.java.awt.FileDialogShadow.title",
- "File Dialog (not viewable)"
- },
- {
- "sunsoft.jws.visual.rt.shadow.java.awt.FrameShadow.title",
- "Unnamed Frame"
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.FMT.0", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.FMT.1", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.FMT.2", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.FMT.3", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.AMConverter__convertF.0",
- "AMConverter convertFromString needs a version"
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.________Incomplete__attri.1",
- " Incomplete attribute manager line:"
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.____________type__-eq-__",
- " type = "
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.____________name__-eq-__",
- " name = "
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.____________attr__-eq-__",
- " attr = "
- },
- {
- "sunsoft.jws.visual.rt.type.AMConverter.Could__not__access__",
- "Could not access "
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.Could__not__instantiat.2",
- "Could not instantiate "
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.________Incomplete__attri.3",
- " Incomplete attribute manager line:"
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.will__not__generate__co.4",
- "will not generate code,"
- }, {
- "sunsoft.jws.visual.rt.type.AMConverter.implementation__of__th.5",
- "implementation of this is in the GUI builder"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.4",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.5",
- "{0}{1}{2}{3}{4}{5}{6}{7}"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.6",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.7",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.AttributeConverter__n.6",
- "AttributeConverter needs a shadow object "
- },
- {
- "sunsoft.jws.visual.rt.type.AttributeConverter.argument__to__operate",
- "argument to operate"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.internal__error__-__",
- "internal error - "
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.convertToCode__with__m.11",
- "convertToCode with minimal arguments cannot be called"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeListConverter.AttributeListConvert.12",
- "AttributeListConverter cannot work without a shadow object argument"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeListConverter.________Incomplete__attri.13",
- " Incomplete attribute line:"
- }, {
- "sunsoft.jws.visual.rt.type.BaseEnum.FMT.8", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.BaseEnum.FMT.9", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.BaseEnum.invalid__int__choice__",
- "invalid int choice "
- }, {
- "sunsoft.jws.visual.rt.type.BaseEnum.__given__to__Enum__class.14",
- " given to Enum class"
- }, {
- "sunsoft.jws.visual.rt.type.BaseEnum.invalid__string__choic.15",
- "invalid string choice "
- },
- {
- "sunsoft.jws.visual.rt.type.BaseEnum.__given__to__Enum__class.16",
- " given to Enum class"
- }, {
- "sunsoft.jws.visual.rt.type.BooleanConverter.FMT.10", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.BooleanConverter.Illegal__boolean__valu.17",
- "Illegal boolean value: "
- }, {
- "sunsoft.jws.visual.rt.type.ColorConverter.FMT.11", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.ColorConverter.FMT.12", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.ColorConverter.Illegal__color__value-co-.18",
- "Illegal color value: "
- }, {
- "sunsoft.jws.visual.rt.type.ColorConverter.Badly__formatted__colo.19",
- "Badly formatted color value: "
- }, {
- "sunsoft.jws.visual.rt.type.Converter.FMT.13", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.Converter.FMT.14", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.Converter.FMT.15", "{0}{1}{2}{3}{4}"
- },
- {
- "sunsoft.jws.visual.rt.type.Converter.FMT.16", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.Converter.No__converter__defined.20",
- "No converter defined for the \"unknown\" type."
- }, {
- "sunsoft.jws.visual.rt.type.Converter.Class__not__found__for__.21",
- "Class not found for type \""
- }, {
- "sunsoft.jws.visual.rt.type.Converter.Sub-classes__of__Conve.22",
- "Sub-classes of Converter MUST override at least one "
- }, {
- "sunsoft.jws.visual.rt.type.Converter.of__the__-ba--qu-convertToSt.23",
- "of the \"convertToString\" methods, and at least one "
- }, {
- "sunsoft.jws.visual.rt.type.Converter.of__the__-ba--qu-convertToCo.24",
- "of the \"convertToCode\" methods."
- }, {
- "sunsoft.jws.visual.rt.type.Converter.Convert__exit__without.25",
- "Convert exit without enter"
- }, {
- "sunsoft.jws.visual.rt.type.Converter.isBuffered__mismatch__.26",
- "isBuffered mismatch in exitConvert"
- }, {
- "sunsoft.jws.visual.rt.type.DimensionConverter.FMT.17",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.DimensionConverter.FMT.18",
- "{0}{1}"
- },
- {
- "sunsoft.jws.visual.rt.type.DimensionConverter.Badly__formatted__dime.27",
- "Badly formatted dimension value: "
- }, {
- "sunsoft.jws.visual.rt.type.DoubleArrayConverter.FMT.19",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.DoubleArrayConverter.Badly__formatted__doub.28",
- "Badly formatted double: "
- }, {
- "sunsoft.jws.visual.rt.type.FontConverter.FMT.20", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.FontConverter.FMT.21", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.FontConverter.FMT.22", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.FontConverter.FMT.23", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.FontConverter.FMT.24", "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.FontConverter.Warning-co-__unknown__fon.29",
- "Warning: unknown font style: "
- }, {
- "sunsoft.jws.visual.rt.type.FontConverter.Missing__font__name-co-__",
- "Missing font name: "
- },
- {
- "sunsoft.jws.visual.rt.type.FontConverter.Invalid__font__style-co-__.30",
- "Invalid font style: "
- }, {
- "sunsoft.jws.visual.rt.type.FontConverter.Invalid__font__size-co-__",
- "Invalid font size: "
- }, {
- "sunsoft.jws.visual.rt.type.FontConverter.Negative__font__size-co-__.31",
- "Negative font size: "
- }, {
- "sunsoft.jws.visual.rt.type.GBConstraintsConverter.FMT.25",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.GBConstraintsConverter.FMT.26",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.ImageRef.FMT.27", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.ImageRef.FMT.28", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.ImageRef.could__not__find__file__.32",
- "could not find file \""
- }, {
- "sunsoft.jws.visual.rt.type.ImageRef.-ba--qu-__relative__to__class.33",
- "\" relative to classpath/codebase"
- }, {
- "sunsoft.jws.visual.rt.type.ImageRef.Error-co-__could__not__loa.34",
- "Error: could not load image \""
- },
- {
- "sunsoft.jws.visual.rt.type.GBConstraintsConverter.FMT.29",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.GBConstraintsConverter.unknown__constant",
- "unknown constant"
- }, {
- "sunsoft.jws.visual.rt.type.BaseEnum.FMT.30", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.DimensionConverter.FMT.31",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.type.DimensionConverter.illegal__dimension__value",
- "Illegal dimension value: "
- }, {
- "sunsoft.jws.visual.rt.type.ImageRef.FMT.32", "{0}{1}{2}"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.33",
- "Unknown attribute {0}\n\nclass {1}\ntype {2}\nkey {3}\nvalue {4}"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.34",
- "Unknown attribute type {0}"
- }, {
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.35",
- "Type in gui file {0} \ndoes not match expected type {1}."
- }, {
- "sunsoft.jws.visual.rt.base.AMContainerHelper.adding__container's__p.0",
- "adding container's parent to itself"
- },
- {
- "sunsoft.jws.visual.rt.base.BeanSerialization.serExcpt",
- "The following error occured during serialization of \" {0}\":\n\" {1}\"."
- }, {
- "sunsoft.jws.visual.rt.base.BeanSerialization.decoderExcpt",
- "An error occured during deserialization of \" {0}\"."
- }, {
- "sunsoft.jws.visual.rt.base.BeanSerialization.deserExcpt",
- "The following error occured during deserialization of \" {0}\":\n\" {1}\"."
- }, {
- "sunsoft.jws.visual.rt.base.Attribute.ClassNotFound",
- "Class \" {0}\" not found"
- }, {
- "sunsoft.jws.visual.rt.base.Attribute.IllegalAttribute",
- "Illegal attribute value for {0}. Expected type : {1} Actual type : {2} value = {3}"
- }, {
- "sunsoft.jws.visual.rt.base.AttributeManager.SetInvalidAttribute",
- "Attempt to set invalid attribute {0}"
- }, {
- "sunsoft.jws.visual.rt.base.AttributeManager.ReadonlyAttribute",
- "Attempt to set read-only attribute {0}"
- }, {
- "sunsoft.jws.visual.rt.base.AttributeManager.GetInvalidAttribute",
- "Attempt to get invalid attribute {0}"
- }, {
- "sunsoft.jws.visual.rt.base.Group.ExpiredVersion",
- "This version of Visual Java GUI Builder has expired"
- }, {
- "sunsoft.jws.visual.rt.base.Group.ExpiredVersionDate",
- "Warning: This version of Visual Java GUI Builder has expires on {0}"
- },
- {
- "sunsoft.jws.visual.rt.base.Group.GroupInitializationWarning",
- "Warning: A group must be a child of another group before it can be initialized."
- }, {
- "sunsoft.jws.visual.rt.base.Group.GroupCreationWarning",
- "Warning: A group must be a child of another group before it can be created."
- }, {
- "sunsoft.jws.visual.rt.base.Group.RootIsNull",
- "\"Root\" is null. {0} is returning null from initRoot."
- }, {
- "sunsoft.jws.visual.rt.base.Group.RootIsNull2",
- "\"Root\" is null. Make sure that initialize is called before create"
- }, {
- "sunsoft.jws.visual.rt.base.Group.UnexpectedMainChildType",
- "Unexpected type for main child: {0}"
- }, {
- "sunsoft.jws.visual.rt.base.MainHelper.NeedRuntimeVersion",
- "Warning: need runtime version {0}, version {1} is what is available, continuing..."
- }, {
- "sunsoft.jws.visual.rt.base.MainHelper.BaseGroupMustBeNonVis",
- "The base group cannot be a non-visual group: {0}"
- }, {
- "sunsoft.jws.visual.rt.base.MainHelper.ClassNotFound",
- "Could not find external class {0}"
- }, {
- "sunsoft.jws.visual.rt.base.MainHelper.InstantiationException",
- "Could not instantiate external class {0}"
- }, {
- "sunsoft.jws.visual.rt.base.MainHelper.illegalAccess",
- "Could not construct external class {0}"
- },
- {
- "sunsoft.jws.visual.rt.base.Root.RootMissingContainer",
- "Root {0} does not contain {1}"
- }, {
- "sunsoft.jws.visual.rt.base.Root.NeedName",
- "Every component must have a name."
- }, {
- "sunsoft.jws.visual.rt.base.Root.NotUniqueName",
- "Name {0} is not unique"
- }, {
- "sunsoft.jws.visual.rt.base.Root.NotValidName",
- "Name {0} isn't a valid variable name."
- }, {
- "sunsoft.jws.visual.rt.base.Shadow.NoSuchKey",
- "No match for {0} in getOnBody()"
- }, {
- "sunsoft.jws.visual.rt.base.Shadow.UnknownAttribute",
- "Unknown attribute {0} for class [1}"
- }, {
- "sunsoft.jws.visual.rt.base.Shadow.NoSuchKey2",
- "No match for {0} in setOnBody()"
- }, {
- "sunsoft.jws.visual.rt.base.Shadow.InvalidAttributeSet",
- "Attempt to set invalid attribute {0}"
- }, {
- "sunsoft.jws.visual.rt.base.Shadow.ReadOnlyAttributeSet",
- "Attempt to set read-only attribute {0}"
- }, {
- "sunsoft.jws.visual.rt.base.Shadow.BodyNotDestroyed",
- "Shadow body was not destroyed"
- },
- {
- "sunsoft.jws.visual.rt.base.Group.ShadowCreationWarning",
- "Warning: A shadow must be a child of another shadow before it can be created."
- }, {
- "sunsoft.jws.visual.rt.base.Shadow.BodyNotCreated",
- "Shadow body was not created"
- }, {
- "sunsoft.jws.visual.rt.base.Util.NeedAppletparam",
- "You must provide a non-null applet parameter to \"pathToURL\" {0} when running as an applet."
- }, {
- "sunsoft.jws.visual.rt.base.Util.SecurityException",
- "SECURITY EXCEPTION1: {0}"
- }, {
- "sunsoft.jws.visual.rt.base.Util.NullComp",
- "null comp argument to {0}"
- }, {
- "sunsoft.jws.visual.rt.encoder.UCDecoder.HighByteparity",
- "UCDecoder: High byte parity error."
- }, {
- "sunsoft.jws.visual.rt.encoder.UCDecoder.LowByteparity",
- "UCDecoder: Low byte parity error."
- }, {
- "sunsoft.jws.visual.rt.encoder.UCDecoder.OutOfSequence",
- "UCDecoder: Out of sequence line."
- }, {
- "sunsoft.jws.visual.rt.encoder.UCDecoder.CRCFailed",
- "UCDecoder: CRC check failed."
- }, {
- "sunsoft.jws.visual.rt.type.InsetsConverter.BadInsets",
- "Badly formatted insets value: {0}"
- },
- {
- "sunsoft.jws.visual.rt.type.InsetsConverter.IllegalInsets",
- "Illegal inset value: {0}"
- }, {
- "sunsoft.jws.visual.rt.type.IntArrayConverter.BadFormatInteger",
- "Badly formatted integer: {0}"
- }, {
- "sunsoft.jws.visual.rt.type.ListParser.SpaceExpected",
- "list element in braces followed by {0} instead of space"
- }, {
- "sunsoft.jws.visual.rt.type.ListParser.SpaceExpected2",
- "list element in quotes followed by \" {0}\" {1} instead of space"
- }, {
- "sunsoft.jws.visual.rt.type.ListParser.UnmatchedBrace",
- "unmatched open brace in list"
- }, {
- "sunsoft.jws.visual.rt.type.ListParser.UnmatchedQuote",
- "unmatched open quote in list"
- }, {
- "sunsoft.jws.visual.rt.type.ListParser.ExpectingTwoElements",
- "Expecting two list elements: {0}"
- }, {
- "sunsoft.jws.visual.rt.type.OpAction.NumberFormatException",
- "Number format exception: {0}"
- }, {
- "sunsoft.jws.visual.rt.type.OpAction.ValWithoutType",
- "Got a value without a valueType: {0}"
- }, {
- "sunsoft.jws.visual.rt.type.OpAction.NoConverter",
- "Could not find converter for {0}"
- },
- {
- "sunsoft.jws.visual.rt.type.PointConverter.IllegalPoint",
- "Illegal point value: {0}"
- }, {
- "sunsoft.jws.visual.rt.type.PointConverter.BadFormattedValue",
- "Badly formatted point value: {0}"
- }, {
- "sunsoft.jws.visual.rt.type.TypeEditor.AddChildError",
- "Adding type editor's parent to itself"
- }, {
- "sunsoft.jws.visual.rt.type.TypeEditor.Error", "Error"
- }, {
- "sunsoft.jws.visual.rt.type.UnknownTypeConverter.NoTypeConverter",
- "Warning: no type converter for type: {0}"
- }, {
- "sunsoft.jws.visual.rt.type.UnknownTypeConverter.CantConvert",
- "Warning: don't know what type to convert this to: {0}"
- }, {
- "sunsoft.jws.visual.rt.awt.CardPanel.FMT.0", "{0}{1}{2}{3}{4}"
- }, {
- "sunsoft.jws.visual.rt.awt.CardPanel.Card__Panel", "Card Panel"
- }, {
- "sunsoft.jws.visual.rt.awt.CardPanel.________There__is__no__tab__.0",
- " There is no tab for \""
- }, {
- "sunsoft.jws.visual.rt.awt.CardPanel.________You__must__call__ad.1",
- " You must call addTab before addCard."
- },
- {
- "sunsoft.jws.visual.rt.awt.ColumnListThread.FMT.1",
- "{0}{1}"
- }, {
- "sunsoft.jws.visual.rt.awt.ColumnListThread.Exception__in__sleep-co-__.2",
- "Exception in sleep: "
- }, {
- "sunsoft.jws.visual.rt.awt.GBConstraints.FMT.2",
- "{0}{1}{2}{3}{4}"
- }, {
- "sunsoft.jws.visual.rt.awt.GBConstraints.-ba-r-ba-n-ba-tSyntax__error__i.3",
- "\r\n\tSyntax error in GBConstraints string:\r\n"
- }, {
- "sunsoft.jws.visual.rt.awt.GBLayout.illegal__anchor__value.4",
- "illegal anchor value"
- }, {
- "sunsoft.jws.visual.rt.awt.GBLayout.illegal__anchor__value.5",
- "illegal anchor value"
- }, {
- "sunsoft.jws.visual.rt.awt.GBLayout.illegal__anchor__value.6",
- "illegal anchor value"
- }, {
- "sunsoft.jws.visual.rt.awt.GBLayout.illegal__anchor__value.7",
- "illegal anchor value"
- }, {
- "sunsoft.jws.visual.rt.awt.GBPanel.null__constraints",
- "null constraints"
- }, {
- "sunsoft.jws.visual.rt.awt.ImageLabel.nullColor",
- "null color argument to "
- },
- {
- "sunsoft.jws.visual.rt.awt.ImageLabel.ImproperAlignment",
- "Improper alignment"
- }, {
- "sunsoft.jws.visual.rt.awt.ScrollPanel.OnlyOneInstance",
- "Can only add an instance of Scrollable to the ScrollPanel"
- }, {
- "sunsoft.jws.visual.rt.awt.TabbedFolder.Empty", "<Empty>"
- }, {
- "sunsoft.jws.visual.rt.awt.TabbedFolder.NewCardLabel",
- "TabbedFolder"
- }, {
- "sunsoft.jws.visual.rt.awt.VJErrorDialog.OK", "OK"
- }, {
- "sunsoft.jws.visual.rt.awt.VJPanel.UnmarkedEvent",
- "{0} was called with an unmarked event"
- }, {
- "sunsoft.jws.visual.rt.awt.VJScrollbar.CantAdd",
- "Cannot add components to a VJScrollbar"
- }, {
- "sunsoft.jws.visual.rt.awt.VJScrollbar.CantRemove",
- "Cannot remove components from a VJScrollbar"
- }, {
- "sunsoft.jws.visual.rt.awt.WinScrollbar.IllegalOrientation",
- "Illegal scrollbar orientation"
- }, {
- "sunsoft.jws.visual.rt.awt.java.awt.ComponentShadow.IllegalSetVisible",
- "It is illegal to set a container's visible attribute to false if it is the main container for its group."
- },
- {
- "sunsoft.jws.visual.rt.awt.java.awt.DialogShadow.NullFrameShadow",
- "FrameShadow reference is null"
- }, {
- "sunsoft.jws.visual.rt.awt.java.awt.DialogShadow.NullFrame",
- "Frame is null"
- }, {
- "sunsoft.jws.visual.rt.awt.java.awt.FrameShadow.AlreadyHasMenubar",
- "frame already has a menubar while trying to add {0}"
- }, {
- "sunsoft.jws.visual.rt.awt.java.awt.FrameShadow.MenubarNotInstalled",
- "This menubar was never installed: {0}"
- }, {
- "sunsoft.jws.visual.rt.awt.java.awt.MenuBarShadow.CantResolveHelpMenu",
- "Menu bar {0} ould not resolve help menu {1}"
- }, {
- "sunsoft.jws.visual.rt.awt.java.awt.ScrollbarShadow.NoLayoutConstraints",
- "scrollbar does not have layout constraints!"
- }, {
- "sunsoft.jws.visual.rt.awt.java.awt.WindowShadow.IllegalSetVisible",
- "It is illegal to set a window's visible attribute to false if it is the main window for its group."
- }, {
- "the last line cannot have a comma so this has been added to make",
- "automatic code generation easier. it is never used."
- }
- };
-/* END JSTYLED */
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties_en.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties_en.java
deleted file mode 100644
index a8e648dfc7..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties_en.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- */
-
-package sunsoft.jws.visual.rt.props;
-
-
-// Referenced classes of package sunsoft.jws.visual.rt:
-// VisualRTProperties
-
-public class VisualRTProperties_en extends VisualRTProperties
-{
-
- public VisualRTProperties_en()
- {
- super();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties_en_US.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties_en_US.java
deleted file mode 100644
index 8aa90ab6ac..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/props/VisualRTProperties_en_US.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 1999-2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/**
- * Copyright 1996 Active Software Inc.
- */
-
-package sunsoft.jws.visual.rt.props;
-
-
-// Referenced classes of package sunsoft.jws.visual.rt:
-// VisualRTProperties
-
-public class VisualRTProperties_en_US extends VisualRTProperties
-{
-
- public VisualRTProperties_en_US()
- {
- super();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/BorderPanelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/BorderPanelShadow.java
deleted file mode 100644
index 00ceb810b2..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/BorderPanelShadow.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) BorderPanelShadow.java 1.19 - last change made 06/12/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.VJPanel;
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.shadow.GBPanelShadow;
-import java.awt.*;
-import java.util.Enumeration;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre >
-name type default value
------------------------------------------------------------------------
-useCenter java.lang.Boolean true
-useEast java.lang.Boolean true
-useNorth java.lang.Boolean true
-useSouth java.lang.Boolean true
-useWest java.lang.Boolean true
-* < /pre>
-*
-* The attributes for this class allow you to select which of the five
-* border panel cells are going to be used. When you set them to
-* false, whatever was in that cell is deleted and the cell will no
-* longer appear in the border layout for use in arranging components.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see BorderLayout
-* @version 1.19, 06/12/97
-*/
-public class BorderPanelShadow extends VJPanelShadow {
- public BorderPanelShadow() {
- attributes.add(/* NOI18N */"useCenter",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"useNorth",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"useSouth",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"useEast",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"useWest",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- }
-
- protected Object getOnBody(String key) {
- Panel panel = (Panel)body;
-
- if (key.equals(/* NOI18N */"useCenter") ||
- key.equals(/* NOI18N */"useNorth") ||
- key.equals(/* NOI18N */"useSouth") ||
- key.equals(/* NOI18N */"useEast") ||
- key.equals(/* NOI18N */"useWest")) {
- return getFromTable(key);
- } else {
- return super.getOnBody(key);
- }
- }
-
- protected void setOnBody(String key, Object value) {
- Panel panel = (Panel)body;
-
- if (key.equals(/* NOI18N */"useCenter") ||
- key.equals(/* NOI18N */"useNorth") ||
- key.equals(/* NOI18N */"useSouth") ||
- key.equals(/* NOI18N */"useEast") ||
- key.equals(/* NOI18N */"useWest")) {
- // border names differ from the keys "useWest" -> "West"
- adjustChild(key.substring(3),
- ((Boolean)value).booleanValue());
- } else {
- super.setOnBody(key, value);
- }
- }
-
- private void adjustChild(String borderName, boolean create) {
- AttributeManager mgr = lookupChild(borderName);
-
- if (create) {
- if (mgr != null)
- return;
-
- double wx[] = {1};
- double wy[] = {1};
-
- GBPanelShadow panel = new GBPanelShadow();
- panel.set(/* NOI18N */"layoutName", borderName);
- panel.set(/* NOI18N */"columnWeights", wx);
- panel.set(/* NOI18N */"rowWeights", wy);
-
- add(panel);
- panel.create();
- } else {
- if (mgr == null)
- return;
-
- GBPanelShadow panel = (GBPanelShadow)mgr;
- panel.destroy();
- remove(panel);
- }
- }
-
- private AttributeManager lookupChild(String borderName) {
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- AttributeManager mgr = (AttributeManager)e.nextElement();
- String name = (String)mgr.get(/* NOI18N */"layoutName");
-
- if (name == null)
- continue;
-
- if (name.equals(borderName))
- return mgr;
- }
-
- return null;
- }
-
- public void updateContainerAttribute(AttributeManager child,
- String key, Object value) {
- if (!key.equals(/* NOI18N */"layoutName"))
- return;
-
- Shadow s = (Shadow)child;
- Component comp = (Component)s.getBody();
- if (comp == null)
- return;
-
- String borderName = (String)value;
- if (borderName == null)
- borderName = /* NOI18N */"Center";
-
- Panel panel = (Panel)body;
- BorderLayout bd = (BorderLayout)panel.getLayout();
-
- bd.addLayoutComponent(borderName, comp);
- }
-
- public void createBody() {
- Panel panel = new VJPanel();
- panel.setLayout(new BorderLayout());
- body = panel;
- }
-
- protected void postCreate() {
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- AttributeManager mgr = (AttributeManager)e.nextElement();
- String borderName =
- (String)mgr.get(/* NOI18N */"layoutName");
-
- if (borderName == null)
- continue;
-
- if (borderName.equals(/* NOI18N */"Center"))
- set(/* NOI18N */"useCenter", Boolean.TRUE);
- else if (borderName.equals(/* NOI18N */"North"))
- set(/* NOI18N */"useNorth", Boolean.TRUE);
- else if (borderName.equals(/* NOI18N */"South"))
- set(/* NOI18N */"useSouth", Boolean.TRUE);
- else if (borderName.equals(/* NOI18N */"East"))
- set(/* NOI18N */"useEast", Boolean.TRUE);
- else if (borderName.equals(/* NOI18N */"West"))
- set(/* NOI18N */"useWest", Boolean.TRUE);
- }
-
- super.postCreate();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/CardPanelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/CardPanelShadow.java
deleted file mode 100644
index 061d058502..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/CardPanelShadow.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) CardPanelShadow.java 1.33 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.*;
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-
-import java.awt.*;
-import java.util.*;
-
-/**
- * CardPanelShadow - Panel with card layout.
- * The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre >
-name type default value
------------------------------------------------------------------------
-cards [Lrt.shadow.GBPanelShadow initial label
-delayedCreation java.lang.Boolean true
-currentCard java.lang.String null
-* < /pre>
-*
-* Check the super class for additional attributes. < p>
-*
-* The "delayedCreation" attribute delays the creation of cards until
-* after they are shown. This is good for performance. But it is bad
-* because the initial size of the card panel will be determined by the
-* first card, and not by the largest card in the panel. So if
-* "delayedCreation" is set to true, you need to make sure that the
-* initial card is bigger than all the other cards.
-*
-* @see CardLayout
-* @version 1.33, 07/25/97
-*/
-public class CardPanelShadow extends VJPanelShadow {
-
- protected CardPanel cardPanel;
- private GBPanelShadow cards[];
-
- // Layout mode stuff
- private boolean inDesignerRoot;
- private Choice cardMenu;
- private GBLayout gridbag;
- private GBConstraints cardMenuConstraints;
-
- public CardPanelShadow() {
- attributes.add(/* NOI18N */"cards",
- /* NOI18N */"[Lsunsoft.jws.visual.rt.shadow.GBPanelShadow;",
- null, DEFAULT | TRANSIENT);
- attributes.add(/* NOI18N */"delayedCreation",
- /* NOI18N */"java.lang.Boolean", Boolean.FALSE, 0);
- attributes.add(/* NOI18N */"currentCard",
- /* NOI18N */"java.lang.String", null,
- HIDDEN | TRANSIENT);
- }
-
- //
- // Public methods
- //
-
- public void show(String name) {
- set(/* NOI18N */"currentCard", name);
- }
-
- public GBPanelShadow getCard(String name) {
- GBPanelShadow cards[] = getCards();
- String str;
-
- for (int i = 0; i < cards.length; i++) {
- str = (String)cards[i].get(/* NOI18N */"layoutName");
- if (str != null && str.equals(name))
- return cards[i];
- }
-
- return null;
- }
-
- //
- // Attributes
- //
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"cards")) {
- return getCards();
- } else if (key.equals(/* NOI18N */"delayedCreation")) {
- return getFromTable(key);
- } else if (key.equals(/* NOI18N */"currentCard")) {
- return cardPanel.getCurrentCard();
- } else {
- return super.getOnBody(key);
- }
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"cards")) {
- setCards((GBPanelShadow[])value);
- } else if (key.equals(/* NOI18N */"delayedCreation")) {
- putInTable(key, value);
- if (!((Boolean)value).booleanValue())
- create();
- } else if (key.equals(/* NOI18N */"currentCard")) {
- if (value != null)
- cardPanel.show((String)value);
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void updateContainerAttribute(AttributeManager child,
- String key, Object value) {
- if (!key.equals(/* NOI18N */"layoutName"))
- return;
-
- GBPanelShadow cards[] = getCards();
- int i;
- for (i = 0; i < cards.length; i++) {
- if (cards[i] == child)
- break;
- }
-
- String name = (String)value;
- if (name == null)
- name = /* NOI18N */"null";
-
- if (cardPanel != null) {
- Component comp = (Component)((Shadow)child).getBody();
- if (comp != null)
- cardPanel.renameTab(cardPanel.getCardName(comp), name);
- else
- cardPanel.renameTab(cardPanel.getTab(i), name);
- }
- }
-
- //
- // Private methods
- //
-
- private void createCard(String name) {
- GBPanelShadow card = getCard(name);
- if (card != null) {
- if (!card.isCreated()) {
- Group base = null;
- Group g = getGroup();
- if (g != null)
- base = g.getBase();
-
- if (base != null)
- base.setCursor(Frame.WAIT_CURSOR);
- card.create();
- if (base != null)
- base.setCursor(Group.RESTORE_CURSOR);
- }
- }
- }
-
- private void updateCards() {
- GBPanelShadow cards[] = getCards();
- Component comp;
-
- for (int i = 0; i < cards.length; i++) {
- comp = (Component)cards[i].getBody();
-
- boolean shadowVisible =
- /* JSTYLED */
- ((Boolean)cards[i].get(/* NOI18N */"visible")).booleanValue();
- boolean compVisible =
- (comp == null) ? false : comp.isVisible();
-
-
- if (shadowVisible != compVisible) {
- // Update the card in the option menu
- if (compVisible && cardMenu != null)
- cardMenu.select(i);
-
- cards[i].set(/* NOI18N */"visible",
- new Boolean(compVisible));
- }
- }
- }
-
- protected synchronized GBPanelShadow[] getCards() {
- if (cards == null) {
- int i = 0;
- cards = new GBPanelShadow[getChildCount()];
-
- Enumeration e = getChildList();
- while (e.hasMoreElements())
- cards[i++] = (GBPanelShadow)e.nextElement();
- }
-
- return cards;
- }
-
- protected void setCards(GBPanelShadow cards[]) {
- boolean showFirst = false;
- GBPanelShadow currentCard = getCard(cardPanel.getCurrentCard());
-
- // Remove all cards, and destroy cards that are no longer used.
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- GBPanelShadow s = (GBPanelShadow)e.nextElement();
-
- remove(s);
-
- if (cards == null) {
- if (s == currentCard)
- showFirst = true;
- s.destroy();
- } else {
- int i;
- for (i = 0; i < cards.length; i++) {
- if (cards[i] == s)
- break;
- }
- if (i == cards.length) {
- if (s == currentCard)
- showFirst = true;
- s.destroy();
- }
- }
- }
-
- if (cards != null) {
- boolean createFirst = true;
-
- for (int i = 0; i < cards.length; i++) {
- if (cards[i].getParent() != this) {
- // All new cards start out non-visible
- cards[i].set(/* NOI18N */"visible", Boolean.FALSE);
- add(cards[i]);
-
- // Make sure the card is created if we
- // are not delaying creation.
- if (!isDelayed()) {
- cards[i].create();
- }
- } else if (cards[i] == currentCard) {
- createFirst = false;
- }
- }
-
- if (createFirst && cards.length > 0 && isDelayed()) {
- cards[0].create();
- }
- }
-
- this.cards = cards;
-
- if (showFirst && cards.length > 0) {
- cardPanel.show(
- (String)cards[0].get(/* NOI18N */"layoutName"));
- }
-
- resetChoice();
- }
-
- private boolean isDelayed() {
- return (
- (Boolean)get(/* NOI18N */"delayedCreation")).booleanValue();
- }
-
- private void resetChoice() {
- if (inDesignerRoot) {
- GBPanelShadow cards[] = getCards();
- Panel panel = (Panel)body;
-
- if (cardMenu != null) {
- panel.remove(cardMenu);
- cardMenu.removeNotify();
- cardMenu = null;
- }
-
- if (cards != null && cards.length != 0) {
- cardMenu = new Choice();
-
- for (int i = 0; i < cards.length; i++)
- cardMenu.addItem(
- (String)cards[i].get(/* NOI18N */"layoutName"));
-
- gridbag.setConstraints(((Panel)body).add(cardMenu),
- cardMenuConstraints);
-
- String current = cardPanel.getCurrentCard();
- if (current != null)
- cardMenu.select(current);
- }
- }
- }
-
- public void add(AttributeManager child) {
- if (cardPanel != null)
- cardPanel.addTab(
- (String)child.get(/* NOI18N */"layoutName"));
- cards = null;
-
- super.add(child);
- }
-
- public void remove(AttributeManager child) {
- if (cardPanel != null)
- cardPanel.removeTab(
- (String)child.get(/* NOI18N */"layoutName"));
- cards = null;
-
- super.remove(child);
- }
-
- public void addChildBody(Shadow child) {
- if (body != null) {
- cardPanel.addCard(
- (String)child.get(/* NOI18N */"layoutName"),
- (Component)child.getBody());
- updateContainerAttributes((AMContainer)this, child);
- }
- }
-
- public void removeChildBody(Shadow child) {
- if (body != null) {
- // Cause the card to be removed, but not the tab
- // (if the tab is still there).
- String name = (String)child.get(/* NOI18N */"layoutName");
- int index = cardPanel.getTabIndex(name);
- if (index != -1) {
- cardPanel.removeTab(name);
- cardPanel.addTab(name, index);
- }
- }
- }
-
- public void createChildren() {
- if (isDelayed()) {
- super.createChildren();
- } else {
- // Force creation of all the children
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- AttributeManager mgr =
- (AttributeManager) e.nextElement();
- mgr.create();
- }
- }
- }
-
- public void createBody() {
- inDesignerRoot = inDesignerRoot();
-
- if (inDesignerRoot) {
- gridbag = new GBLayout();
- GBConstraints c = new GBConstraints();
-
- VJPanel panel = new VJPanel();
- panel.setLayout(gridbag);
-
- c.insets = new Insets(2, 2, 3, 5);
- c.gridx = 0;
- c.gridy = 0;
- cardMenuConstraints = (GBConstraints)c.clone();
-
- cardPanel = new CardPanel();
- c.insets = new Insets(2, 2, 2, 2);
- c.gridx = 0;
- c.gridy = 1;
- c.weightx = 1;
- c.weighty = 1;
- c.fill = GBConstraints.BOTH;
- gridbag.setConstraints(panel.add(cardPanel), c);
-
- body = panel;
- } else {
- cardPanel = new CardPanel();
- body = cardPanel;
- }
- }
-
- public CardPanel getCardPanel() {
- return cardPanel;
- }
-
- protected void registerBody() {
- GBPanelShadow cards[] = getCards();
- for (int i = 0; i < cards.length; i++) {
- cardPanel.addTab(
- (String)cards[i].get(/* NOI18N */"layoutName"));
- }
-
- super.registerBody();
- }
-
- protected void postCreate() {
- super.postCreate();
-
- if (inDesignerRoot)
- resetChoice();
- }
-
- protected void destroyBody() {
- super.destroyBody();
- cardPanel = null;
- cardMenu = null;
- }
-
- //
- // Layout and preview modes
- //
-
- public void layoutMode() {
- super.layoutMode();
-
- if (inDesignerRoot) {
- VJPanel panel = (VJPanel)body;
-
- if (cardMenu != null)
- cardMenu.show();
-
- GBConstraints c = gridbag.getConstraints(cardPanel);
- c.insets = new Insets(2, 2, 2, 2);
- gridbag.setConstraints(cardPanel, c);
- }
- }
-
- public void previewMode() {
- super.previewMode();
-
- if (inDesignerRoot) {
- if (cardMenu != null)
- cardMenu.hide();
-
- GBConstraints c = gridbag.getConstraints(cardPanel);
- c.insets = null;
- gridbag.setConstraints(cardPanel, c);
- }
- }
-
- //
- // Events
- //
-
- public boolean handleEvent(Message msg, Event evt) {
- if (evt.target == cardPanel) {
- if (evt.id == CardPanel.CURRENTCARD) {
- updateCards();
- } else if (evt.id == CardPanel.FETCHCARD) {
- if (isDelayed())
- createCard((String)evt.arg);
- }
- }
-
- return super.handleEvent(msg, evt);
- }
-
- public boolean action(Message msg, Event evt, Object what) {
- if (cardMenu != null && msg.target == cardMenu) {
- cardPanel.show((String)what);
- }
-
- return false;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/CheckboxPanelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/CheckboxPanelShadow.java
deleted file mode 100644
index b8516ede89..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/CheckboxPanelShadow.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) CheckboxPanelShadow.java 1.7 - last change made 06/03/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.CheckboxPanel;
-import sunsoft.jws.visual.rt.shadow.GBPanelShadow;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
-name type default value
------------------------------------------------------------------------
-none
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see CheckboxPanel
-* @version 1.7, 06/03/97
-*/
-public class CheckboxPanelShadow extends GBPanelShadow {
-
- /* added -kp bug id */
- static final int minColumnWidth = 14;
- static final int minRowHeight = 14;
- static final int columns = 2;
- static final int rows = 2;
- /* end added -kp */
-
-
- public void createBody() {
- body = new CheckboxPanel();
- }
- /* added -kp */
- protected void postCreate() {
- super.postCreate();
- if (inDesignerRoot())
- {
- CheckboxPanel c = (CheckboxPanel)body;
- int gw[] = c.getColumnWidths();
- int gh[] = c.getRowHeights();
- int w[] = new int[columns];
- int h[] = new int[rows];
- double ww[] = new double[columns];
- double hh[] = new double[rows];
- for (int x = 0; x < columns; x++)
- {
- w[x] = minColumnWidth;
- ww[x] = 0.0;
- }
- for (int y = 0; y < rows; y++)
- {
- h[y] = minRowHeight;
- hh[y] = 0.0;
- }
- if ((gw == null) || (gw.length <= 1))
- {
- if (c.getComponentCount() <= 0)
- {
- c.setColumnWidths(w);
- c.setColumnWeights(ww);
- }
- }
- if ((gh == null) || (gh.length <= 1))
- {
- if (c.getComponentCount() <= 0)
- {
- c.setRowHeights(h);
- c.setRowWeights(hh);
- }
- }
- }
- }
- /* end added -kp */
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ColumnListShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ColumnListShadow.java
deleted file mode 100644
index 4857ccc3d4..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ColumnListShadow.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ColumnListShadow.java 1.39 - last change made 08/12/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.ColumnList;
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import sunsoft.jws.visual.rt.shadow.java.awt.CanvasShadow;
-import sunsoft.jws.visual.rt.base.VJException;
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.SystemColor;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
-name type default value
------------------------------------------------------------------------
-autoWidth java.lang.Boolean true
-visibleChars java.lang.Integer 0
-visibleRows java.lang.Integer 5
-headers [Ljava.lang.String; header1, header2, header3
-formats java.lang.String lll
-highlightItems java.lang.Boolean false
-selectable java.lang.Boolean true
-editable java.lang.Boolean true
-showHeaders java.lang.Boolean true
-showVerticalLines java.lang.Boolean false
-showHorizontalLines java.lang.Boolean false
-sortColumns [Ljava.lang.String; null
-* < /pre>
-*
-* headers: An array of Strings. The size of this array determines the
-* number of columns in the list. There will be one additional, hidden
-* column that can be used for any Object. The length of the header
-* string defines the initial width of the column. To make it wider,
-* add spaces to the end of the string. If a header field is of the
-* form "name=header", then only the "header" part will actually be
-* used for the visible header. The "name" part is available through
-* getNames() or getNameColumn() interfaces on the ColumnList widget.
-* If the "name" part is started with a '*', then that column is
-* considered a "key column." When addItem() is used to add a new row
-* of data to the column list, a check is made to see if the key
-* columns of data in the new item exactly match all of the key
-* columns in any of the current rows. If there is a match, the new
-* data replaces what was in the matched row, rather than the new data
-* being added to the end in a new row.
-* < p>
-* formats: A string with format characters for each column. The default
-* is to left justify each column. 'l' left justifies, 'c' centers,
-* and 'r' right justifies.
-* < p>
-* selectable: If true, records(rows) can be selected with the
-* mouse. A LIST_EVENT gets posted.
-* < p>
-* editable: If true, records can be edited with the mouse. Columns
-* containing a checkbox are currently the only editable columns.
-* < p>
-* highlight_items: If true, new entries will be highlighted in
-* orange, slowly fading out.
-* < p>
-* showHeaders: If set to false, the headers will not be shown.
-* < p>
-* showVerticalLines: If set to true, columns will be separated by lines
-* < p>
-* showHorizontalLines: If set to true, rows will be separated by lines
-* < p>
-* sortColumns: an array of column names(see headers), optionally
-* preceded with a '+' f o r ascending(default) or '-' for descending
-* sort. Affects where new entries will be added.
-* < p>
-* autoWidth: when set to true, a column will automatically become
-* wider to accomodate a new piece of data in that column that doesn't
-* fit within the current width of the column.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see ColumnList
-* @version 1.39, 08/12/97
-*/
-public class ColumnListShadow extends CanvasShadow {
- public ColumnListShadow() {
- String sa[] = { /* NOI18N */"header1",
- /* NOI18N */"header2",
- /* NOI18N */"header3"};
- attributes.add(/* NOI18N */"headers",
- /* NOI18N */"[Ljava.lang.String;", sa, 0);
- attributes.add(/* NOI18N */"formats",
- /* NOI18N */"java.lang.String",
- /* NOI18N */"lll", 0);
- attributes.add(/* NOI18N */"showHeaders",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"showHorizontalLines",
- /* NOI18N */"java.lang.Boolean",
- Boolean.FALSE, 0);
- attributes.add(/* NOI18N */"showVerticalLines",
- /* NOI18N */"java.lang.Boolean", Boolean.FALSE, 0);
- attributes.add(/* NOI18N */"visibleRows",
- /* NOI18N */"java.lang.Integer",
- new Integer(5), 0);
- attributes.add(/* NOI18N */"visibleChars",
- /* NOI18N */"java.lang.Integer",
- new Integer(0), 0);
- attributes.add(/* NOI18N */"selectable",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"editable",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"highlightItems",
- /* NOI18N */"java.lang.Boolean", Boolean.FALSE, 0);
- attributes.add(/* NOI18N */"autoWidth",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"sortColumns",
- /* NOI18N */"[Ljava.lang.String;", null, 0);
-
- GBConstraints c =
- (GBConstraints)get(/* NOI18N */"GBConstraints");
- c.fill = GBConstraints.BOTH;
- attributes.add(/* NOI18N */"GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.GBConstraints", c);
- // This is a work around for JDK color bug.
- // The defaults are not correctly set
- if (Global.isWindows()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.window, DONTFETCH);
- }
- if (Global.isMotif()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.text, DONTFETCH);
- attributes.add(/* NOI18N */"foreground",
- /* NOI18N */"java.awt.Color",
- SystemColor.textText, DONTFETCH);
- }
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"headers"))
- return (getFromTable(/* NOI18N */"headers"));
- else if (key.equals(/* NOI18N */"formats"))
- return (getFromTable(/* NOI18N */"formats"));
- else if (key.equals(/* NOI18N */"showHeaders"))
- return (getFromTable(/* NOI18N */"showHeaders"));
- else if (key.equals(/* NOI18N */"showHorizontalLines"))
- return (getFromTable(/* NOI18N */"showHorizontalLines"));
- else if (key.equals(/* NOI18N */"showVerticalLines"))
- return (getFromTable(/* NOI18N */"showVerticalLines"));
- else if (key.equals(/* NOI18N */"visibleRows"))
- return (getFromTable(/* NOI18N */"visibleRows"));
- else if (key.equals(/* NOI18N */"visibleChars"))
- return (getFromTable(/* NOI18N */"visibleChars"));
- else if (key.equals(/* NOI18N */"selectable"))
- return (getFromTable(/* NOI18N */"selectable"));
- else if (key.equals(/* NOI18N */"editable"))
- return (getFromTable(/* NOI18N */"editable"));
- else if (key.equals(/* NOI18N */"highlightItems"))
- return (getFromTable(/* NOI18N */"highlightItems"));
- else if (key.equals(/* NOI18N */"autoWidth"))
- return (getFromTable(/* NOI18N */"autoWidth"));
- else if (key.equals(/* NOI18N */"foreground"))
- return (((ColumnList)body).getCanvasForeground());
- else if (key.equals(/* NOI18N */"background"))
- return (((ColumnList)body).getCanvasBackground());
- else if (key.equals(/* NOI18N */"font"))
- return (((ColumnList)body).getCanvasFont());
- else if (key.equals(/* NOI18N */"sortColumns"))
- return (getFromTable(/* NOI18N */"sortColumns"));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"headers"))
- ((ColumnList) body).setHeaders((String []) value);
- else if (key.equals(/* NOI18N */"sortColumns"))
- ((ColumnList) body).setSort((String []) value);
- else if (key.equals(/* NOI18N */"formats"))
- {
- // check if the string consists only of
- // l, c, r characters..
- String s = (String) value;
- for (int i = 0; i < s.length(); i++)
- {
- char c = s.charAt(i);
- if ((c == /* NOI18N */ 'c') ||
- (c == /* NOI18N */ 'l') ||
- (c == /* NOI18N */ 'r'))
- continue;
- else
-/* BEGIN JSTYLED */
- throw new VJException(Global.getMsg("sunsoft.jws.visual.rt.shadow.ColumnListShadow.Column__Format"));
- }
- ((ColumnList) body).setFormats(s);
- }
- else if (key.equals(/* NOI18N */"showHeaders"))
- ((ColumnList) body).setShowHeaders(((Boolean) value).booleanValue());
- else if (key.equals(/* NOI18N */"showHorizontalLines"))
- ((ColumnList) body).setShowHorizontalLines(((Boolean) value).booleanValue());
- else if (key.equals(/* NOI18N */"showVerticalLines"))
- ((ColumnList) body).setShowVerticalLines(((Boolean) value).booleanValue());
- else if (key.equals(/* NOI18N */"visibleRows"))
- ((ColumnList) body).setVisibleRows(((Integer) value).intValue());
- else if (key.equals(/* NOI18N */"visibleChars"))
- {
- if(((Integer) value).intValue () < 0)
- throw new VJException(/* NOI18N */"visibleChars value cannot be negative");
- ((ColumnList) body).setVisibleChars(((Integer) value).intValue());
- }
- else if (key.equals(/* NOI18N */"selectable"))
- ((ColumnList) body).setSelectable(((Boolean) value).booleanValue());
- else if (key.equals(/* NOI18N */"editable"))
- ((ColumnList) body).setEditable(((Boolean) value).booleanValue());
- else if (key.equals(/* NOI18N */"highlightItems"))
- ((ColumnList) body).setHighlightItems(((Boolean) value).booleanValue());
- else if (key.equals(/* NOI18N */"autoWidth"))
- ((ColumnList) body).setAutoWidth(((Boolean) value).booleanValue());
-/* END JSTYLED */
- else if (key.equals(/* NOI18N */"foreground"))
- ((ColumnList)body).setCanvasForeground((Color)value);
- else if (key.equals(/* NOI18N */"background"))
- ((ColumnList)body).setCanvasBackground((Color)value);
- else if (key.equals(/* NOI18N */"font"))
- ((ColumnList)body).setCanvasFont((Font)value);
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- body = new ColumnList(
- (String[]) getFromTable(/* NOI18N */"headers"),
-/* BEGIN JSTYLED */
- ((Boolean) getFromTable(/* NOI18N */"selectable")).booleanValue(),
- ((Boolean) getFromTable(/* NOI18N */"highlightItems")).booleanValue());
- ((ColumnList) body).setFormats((String) getFromTable(/* NOI18N */"formats"));
- ((ColumnList) body).setVisibleRows(((Integer) getFromTable(/* NOI18N */"visibleRows")).intValue());
- ((ColumnList) body).setVisibleChars(((Integer) getFromTable(/* NOI18N */"visibleChars")).intValue());
- ((ColumnList) body).setShowHeaders(((Boolean) getFromTable(/* NOI18N */"showHeaders")).booleanValue());
- ((ColumnList) body).setShowHorizontalLines(((Boolean) getFromTable(/* NOI18N */"showHorizontalLines")).booleanValue());
- ((ColumnList) body).setShowVerticalLines(((Boolean) getFromTable(/* NOI18N */"showVerticalLines")).booleanValue());
- ((ColumnList) body).setAutoWidth(((Boolean) getFromTable(/* NOI18N */"autoWidth")).booleanValue());
- ((ColumnList) body).setSort((String []) getFromTable(/* NOI18N */"sortColumns"));
-/* END JSTYLED */
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/FlowPanelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/FlowPanelShadow.java
deleted file mode 100644
index d7cf00d56e..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/FlowPanelShadow.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) FlowPanelShadow.java 1.21 - last change made 07/29/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.*;
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-import sunsoft.jws.visual.rt.type.AlignmentEnum;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.*;
-import java.util.*;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
-name type default value
------------------------------------------------------------------------
-alignment rt.type.AlignmentEnum left
-hgap java.lang.Integer 5
-items [Lrt.shadow.GBPanelShadow initial label
-vgap java.lang.Integer 5
-* < /pre>
-* alignment: left, center, or right; determines how each row will be
-* aligned if it doesn't require all of the horizontal space
-* available.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see FlowLayout
-* @version 1.21, 07/29/97
-*/
-public class FlowPanelShadow extends VJPanelShadow {
-
- private GBPanelShadow items[];
-
- public FlowPanelShadow() {
- GBConstraints c =
- (GBConstraints)get(/* NOI18N */"GBConstraints");
- c.fill = GBConstraints.BOTH;
- c.shrinkx = true;
- c.shrinky = false;
- attributes.add(/* NOI18N */"GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.GBConstraints", c);
-
- attributes.add(/* NOI18N */"items",
- /* NOI18N */"[Lsunsoft.jws.visual.rt.shadow.GBPanelShadow;",
- null, DEFAULT | TRANSIENT);
- attributes.add(/* NOI18N */"alignment",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AlignmentEnum",
- new AlignmentEnum(VJFlowLayout.LEFT), 0);
- attributes.add(/* NOI18N */"hgap",
- /* NOI18N */"java.lang.Integer", new Integer(5), 0);
- attributes.add(/* NOI18N */"vgap",
- /* NOI18N */"java.lang.Integer", new Integer(5), 0);
- }
-
- protected Object getOnBody(String key) {
- Panel panel = (Panel)body;
- VJFlowLayout flow = (VJFlowLayout)panel.getLayout();
-
- if (key.equals(/* NOI18N */"items")) {
- return getItems();
- } else if (key.equals(/* NOI18N */"alignment")) {
- return new AlignmentEnum(flow.getAlignment());
- } else if (key.equals(/* NOI18N */"hgap")) {
- return new Integer(flow.getHGap());
- } else if (key.equals(/* NOI18N */"vgap")) {
- return new Integer(flow.getVGap());
- } else {
- return super.getOnBody(key);
- }
- }
-
- protected void setOnBody(String key, Object value) {
- Panel panel = (Panel)body;
- Component parent = panel.getParent();
- VJFlowLayout flow = (VJFlowLayout)panel.getLayout();
-
- if (key.equals(/* NOI18N */"items")) {
- setItems((GBPanelShadow[])value);
- } else if (key.equals(/* NOI18N */"alignment")) {
- flow.setAlignment(((AlignmentEnum)value).intValue());
- } else if (key.equals(/* NOI18N */"hgap")) {
- flow.setHGap(((Integer)value).intValue());
- } else if (key.equals(/* NOI18N */"vgap")) {
- flow.setVGap(((Integer)value).intValue());
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void add(AttributeManager child) {
- super.add(child);
- items = null;
- }
-
- public void remove(AttributeManager child) {
- super.remove(child);
- items = null;
- }
-
- private synchronized GBPanelShadow[] getItems() {
- if (items == null) {
- int i = 0;
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- if (e.nextElement() instanceof GBPanelShadow)
- i++;
- }
-
- items = new GBPanelShadow[i];
-
- i = 0;
- e = getChildList();
- while (e.hasMoreElements()) {
- ComponentShadow s = (ComponentShadow)e.nextElement();
- if (s instanceof GBPanelShadow)
- items[i++] = (GBPanelShadow)s;
- }
- }
-
- return items;
- }
-
- private void setItems(GBPanelShadow items[]) {
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- ComponentShadow s = (ComponentShadow)e.nextElement();
- remove(s);
-
- // Destroy items that are no longer used
- if (items == null) {
- s.destroy();
- } else {
- int i;
- for (i = 0; i < items.length; i++) {
- if (items[i] == s)
- break;
- }
- if (i == items.length)
- s.destroy();
- }
- }
-
- if (items == null || items.length == 0) {
- addLabel();
- } else {
- for (int i = 0; i < items.length; i++) {
- add(items[i]);
-
- // Make sure the item is created
- items[i].create();
- }
- }
-
- this.items = items;
- }
-
- public void createBody() {
- Panel panel = new VJPanel();
- panel.setLayout(new VJFlowLayout());
- body = panel;
- }
-
- protected void postCreate() {
- super.postCreate();
-
- if (getChildCount() == 0)
- addLabel();
- }
-
- private void addLabel() {
- LabelShadow s = new LabelShadow();
- s.set(/* NOI18N */"layoutName", /* NOI18N */"");
- s.set(/* NOI18N */"text",
- /* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.shadow.FlowPanelShadow.DefaultText"));
- add(s);
- s.create();
- s.show();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GBPanelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GBPanelShadow.java
deleted file mode 100644
index 325be616e0..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GBPanelShadow.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) GBPanelShadow.java 1.49 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.PanelShadow;
-import sunsoft.jws.visual.rt.base.AttributeManager;
-import sunsoft.jws.visual.rt.base.Group;
-import sunsoft.jws.visual.rt.base.Shadow;
-import sunsoft.jws.visual.rt.awt.GBPanel;
-import sunsoft.jws.visual.rt.awt.GBLayout;
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import sunsoft.jws.visual.rt.type.AnchorEnum;
-
-import java.awt.*;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
-name type default value
------------------------------------------------------------------------
-none
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see GBConstraints
-* @see VJPanelShadow
-* @see PanelShadow
-* @version 1.49, 07/25/97
-*/
-public class GBPanelShadow extends VJPanelShadow {
- public GBPanelShadow() {
- attributes.add(/* NOI18N */"columnWidths",
- /* NOI18N */"[I", null, HIDDEN);
- attributes.add(/* NOI18N */"rowHeights",
- /* NOI18N */"[I", null, HIDDEN);
- attributes.add(/* NOI18N */"columnWeights",
- /* NOI18N */"[D", null, HIDDEN);
- attributes.add(/* NOI18N */"rowWeights",
- /* NOI18N */"[D", null, HIDDEN);
- }
-
- protected Object getOnBody(String key) {
- GBPanel panel = (GBPanel)body;
-
- if (key.equals(/* NOI18N */"columnWidths"))
- return panel.getColumnWidths();
- else if (key.equals(/* NOI18N */"rowHeights"))
- return panel.getRowHeights();
- else if (key.equals(/* NOI18N */"columnWeights"))
- return panel.getColumnWeights();
- else if (key.equals(/* NOI18N */"rowWeights"))
- return panel.getRowWeights();
- else
- return super.getOnBody(key);
- }
-
- protected void setOnBody(String key, Object value) {
- GBPanel panel = (GBPanel)body;
-
- if (key.equals(/* NOI18N */"columnWidths"))
- panel.setColumnWidths((int[])value);
- else if (key.equals(/* NOI18N */"rowHeights"))
- panel.setRowHeights((int[])value);
- else if (key.equals(/* NOI18N */"columnWeights"))
- panel.setColumnWeights((double[])value);
- else if (key.equals(/* NOI18N */"rowWeights"))
- panel.setRowWeights((double[])value);
- else
- super.setOnBody(key, value);
- }
-
- public void updateContainerAttribute(AttributeManager child,
- String key, Object value) {
- if (key.equals(/* NOI18N */"anchor")) {
- GBConstraints c =
- (GBConstraints)child.get(/* NOI18N */"GBConstraints");
- if (c == null)
- return;
-
- int anchor = ((AnchorEnum)value).intValue();
- if (anchor != c.anchor) {
- c.anchor = anchor;
- child.set(/* NOI18N */"GBConstraints", c);
- }
- } else if (key.equals(/* NOI18N */"insets")) {
- GBConstraints c =
- (GBConstraints)child.get(/* NOI18N */"GBConstraints");
- if (c == null)
- return;
-
- Insets insets = (Insets)value;
- if (c.insets != insets) {
- c.insets = insets;
- child.set(/* NOI18N */"GBConstraints", c);
- }
- } else if (key.equals(/* NOI18N */"GBConstraints")) {
- GBConstraints c = (GBConstraints)value;
- if (c == null)
- c = new GBConstraints();
-
- Shadow s = (Shadow)child;
- Component comp = (Component)s.getBody();
- if (comp == null)
- return;
-
- int anchor =
- ((AnchorEnum)child.get(/* NOI18N */"anchor")).intValue();
- c.anchor = anchor;
- c.insets = (Insets)child.get(/* NOI18N */"insets");
-
- ((GBPanel)body).setConstraints(comp, c);
- }
- }
-
- public void createBody() {
- body = new GBPanel();
- }
-
- protected void postCreate() {
- super.postCreate();
- if (isLayoutMode())
- ((GBPanel)body).layoutMode();
- else
- ((GBPanel)body).previewMode();
- }
-
- /**
- * Set the runtime flag in registerBody so that subclasses of
- * GBPanelShadow will work properly.
- */
- protected void registerBody() {
- ((GBPanel)body).setRuntime(!inDesignerRoot());
- super.registerBody();
- }
-
- public void layoutMode() {
- super.layoutMode();
- if (body != null)
- ((GBPanel)body).layoutMode();
- }
-
- public void previewMode() {
- super.previewMode();
- if (body != null)
- ((GBPanel)body).previewMode();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GenericComponentShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GenericComponentShadow.java
deleted file mode 100644
index 51b71a79c3..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GenericComponentShadow.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) GenericComponentShadow.java 1.14 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.CanvasShadow;
-import sunsoft.jws.visual.rt.awt.GBPanel;
-import sunsoft.jws.visual.rt.base.VJException;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.Button;
-import java.awt.Component;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
- name type default value
- -----------------------------------------------------------------------
- class java.lang.String java.awt.Button
- * < /pre>
- *
- * class: the java class(that must be a sub-class of
- * java.awt.Component and have a null constructor) of a user-written
- * AWT class that there is no wrapper shadow class for yet.
- * GenericComponentShadow is useful for quickly incorporating a user's
- * existing custom AWT components in a Visual Java GUI.
- * < p>
- * Check the super class for additional attributes.
- *
- * @see Component
- * @see GenericWindowShadow
- * @version 1.14, 07/25/97
- */
-public class GenericComponentShadow extends CanvasShadow {
- private String className;
- private Class genericClass;
-
- public GenericComponentShadow() {
- attributes.add(/* NOI18N */"class",
- /* NOI18N */"java.lang.String",
- /* NOI18N */"java.awt.Button", NOEDITOR);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"class"))
- return getFromTable(/* NOI18N */"class");
- else
- return super.getOnBody(key);
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"class")) {
- // Don't create a new instance unless the
- // class name has changed
- if (className.equals((String)value))
- return;
-
- Object obj = loadClass((String)value);
- destroy();
- body = obj;
- create();
- }
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- body = loadClass((String)get(/* NOI18N */"class"));
- }
-
- private Object loadClass(String name) {
- Class c;
- Object obj;
-
- // Load the class if the name doesn't match the previous name
- if (!name.equals(className)) {
- try {
- c = Class.forName(name);
- }
- catch (ClassNotFoundException ex) {
- throw new VJException(Global.fmtMsg(
-/* JSTYLED */
- "sunsoft.jws.visual.rt.shadow.GenericComponentShadow.FMT.1",
- Global.getMsg(
-/* JSTYLED */
- "sunsoft.jws.visual.rt.shadow.GenericComponentShadow.Class__not__found"),
- name));
- }
- } else {
- c = genericClass;
- }
-
- // Create a new instance from the class
- try {
- obj = c.newInstance();
- if (!(obj instanceof Component)) {
- throw new VJException(
-/* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.GenericComponentShadow.NotAComponentSubclass", name));
- }
- }
- catch (IllegalAccessException ex) {
- throw new VJException(
-/* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.GenericComponentShadow.IllegalAccess", name));
- }
- catch (InstantiationException ex) {
- throw new VJException(
-/* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.GenericComponentShadow.InstantiationException", name));
- }
- catch (NoSuchMethodError ex) {
- throw new VJException(
-/* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.GenericComponentShadow.Noconstructor", name));
- }
-
- // No errors occurred, so update the name and class variables.
- genericClass = c;
- className = name;
-
- // Set the runtime flag for GBPanel instances
- if ((obj instanceof GBPanel) && inDesignerRoot())
- ((GBPanel)obj).setRuntime(false);
-
- return obj;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GenericWindowShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GenericWindowShadow.java
deleted file mode 100644
index bb92831759..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/GenericWindowShadow.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) GenericWindowShadow.java 1.13 - last change made 05/02/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.WindowShadow;
-import sunsoft.jws.visual.rt.awt.RootFrame;
-import sunsoft.jws.visual.rt.awt.RootDialog;
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.base.VJException;
-import sunsoft.jws.visual.rt.base.Message;
-
-
-import java.awt.*;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
-name type default value
------------------------------------------------------------------------
-class java.lang.String rt.awt.RootFrame
-title java.lang.String "Generic Window"
-* < /pre>
-*
-* class: the java class(that must be a sub-class of
-* sunsoft.jws.visual.rt.awt.RootFrame and have a null constructor) of
-* a user-written window class. The GenericWindowShadow class can be
-* used for quickly incorporating user's existing windows into a
-* Visual Java GUI.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see RootFrame
-* @see RootDialog
-* @see GenericComponentShadow
-* @version 1.13, 05/02/97
-*/
-public class GenericWindowShadow extends WindowShadow {
- private String className;
- private Class genericClass;
-
- public GenericWindowShadow() {
- attributes.add(/* NOI18N */"class",
- /* NOI18N */"java.lang.String",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.RootFrame",
- NOEDITOR);
- attributes.add(/* NOI18N */"title",
- /* NOI18N */"java.lang.String",
- /* NOI18N */"Generic Window", NOEDITOR);
- attributes.alias(/* NOI18N */"text", /* NOI18N */"title");
-
- if (Global.isIrix())
- attributes.add(/* NOI18N */"font", /* NOI18N */"java.awt.Font",
- new Font(/* NOI18N */"Sansserif", Font.PLAIN, 12),
- DONTFETCH);
-
- if (Global.isWindows()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- Color.lightGray, DONTFETCH);
- attributes.add(/* NOI18N */"font",
- /* NOI18N */"java.awt.Font",
- new Font(/* NOI18N */"Dialog", Font.PLAIN, 12),
- DONTFETCH);
- }
- }
-
- protected boolean useLayoutSize() {
- return false;
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"class"))
- return getFromTable(/* NOI18N */"class");
- else if (key.equals(/* NOI18N */"title")) {
- if (body instanceof RootFrame)
- return ((RootFrame)body).getTitle();
- else
- return ((RootDialog)body).getTitle();
- }
- else
- return super.getOnBody(key);
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"class")) {
- // Don't create a new instance unless
- // the class name has changed
- if (className.equals((String)value))
- return;
-
- Object obj = loadClass((String)value);
- destroy();
- body = obj;
- create();
- } else if (key.equals(/* NOI18N */"title")) {
- if (body instanceof RootFrame)
- ((RootFrame)body).setTitle((String)value);
- else
- ((RootDialog)body).setTitle((String)value);
- }
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- body = loadClass((String)get(/* NOI18N */"class"));
- }
-
- protected void registerBody() {
- super.registerBody();
-
- Window win = (Window)body;
- if (win.countComponents() == 0)
- win.add(new Label(/* NOI18N */"Generic Window"));
- }
-
- private Object loadClass(String name) {
- Class c;
- Object obj;
-
- // Load the class if the name doesn't match the previous name
- if (!name.equals(className)) {
- try {
- c = Class.forName(name);
- }
- catch (ClassNotFoundException ex) {
- throw new VJException(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.GenericWindowShadow.Class__not__found", name));
- }
- } else {
- c = genericClass;
- }
-
- // Create a new instance from the class
- try {
- obj = c.newInstance();
- if (!(obj instanceof RootFrame)
- && !(obj instanceof RootDialog)) {
- throw new VJException(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.GenericWindowShadow.NotARootSubclass", name));
- }
- }
- catch (IllegalAccessException ex) {
- throw new VJException(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.GenericWindowShadow.IllegalAccess", name));
- }
- catch (InstantiationException ex) {
- throw new VJException(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.GenericWindowShadow.InstantiationException", name));
- }
- catch (NoSuchMethodError ex) {
- throw new VJException(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.GenericWindowShadow.Noconstructor", name));
- }
-
- // No errors occurred, so update the name and class variables.
- genericClass = c;
- className = name;
-
- return obj;
- }
-
- public boolean handleEvent(Message msg, Event evt)
- {
- if (msg.target == this && evt.id == Event.WINDOW_DESTROY)
- {
- Window win = (Window)body;
- win.hide();
- return true;
- } else
- return super.handleEvent(msg, evt);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ImageButtonShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ImageButtonShadow.java
deleted file mode 100644
index 9d302f5713..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ImageButtonShadow.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ImageButtonShadow.java 1.28 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.type.ImageRef;
-import sunsoft.jws.visual.rt.awt.ImageButton;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
-name type default value
------------------------------------------------------------------------
-lineWidth java.lang.Integer 2
-+ padWidth java.lang.Integer 2
-pressMovement java.lang.Integer 1
-* < /pre>
-*
-* + = this attribute overrides one inherited from an ancestor class.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see ImageButton
-* @version 1.28, 07/25/97
-*/
-public class ImageButtonShadow extends ImageLabelShadow {
- public ImageButtonShadow() {
- attributes.add(/* NOI18N */"padWidth",
- /* NOI18N */"java.lang.Integer",
- new Integer(2), 0);
- attributes.add(/* NOI18N */"lineWidth",
- /* NOI18N */"java.lang.Integer", new Integer(2), 0);
- attributes.add(/* NOI18N */"pressMovement",
- /* NOI18N */"java.lang.Integer", new Integer(1), 0);
- }
-
- protected Object getOnBody(String key) {
- ImageButton button = (ImageButton)body;
-
- if (key.equals(/* NOI18N */"lineWidth"))
- return (new Integer(button.getLineWidth()));
- else if (key.equals(/* NOI18N */"pressMovement"))
- return (new Integer(button.getPressMovement()));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- ImageButton button = (ImageButton)body;
-
- if (key.equals(/* NOI18N */"lineWidth"))
- button.setLineWidth(((Integer) value).intValue());
- else if (key.equals(/* NOI18N */"pressMovement"))
- button.setPressMovement(((Integer) value).intValue());
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- body = new ImageButton(null);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ImageLabelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ImageLabelShadow.java
deleted file mode 100644
index e080533c93..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ImageLabelShadow.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ImageLabelShadow.java 1.30 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.base.VJException;
-import sunsoft.jws.visual.rt.type.ImageRef;
-import sunsoft.jws.visual.rt.shadow.java.awt.CanvasShadow;
-import sunsoft.jws.visual.rt.awt.ImageLabel;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.applet.Applet;
-import java.awt.Color;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
-name type default value
------------------------------------------------------------------------
-image rt.type.ImageRef null
-padWidth java.lang.Integer 0
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see ImageLabel
-* @version 1.30, 07/25/97
-*/
-public class ImageLabelShadow extends CanvasShadow {
- public ImageLabelShadow() {
- attributes.add(/* NOI18N */"image",
- /* NOI18N */"sunsoft.jws.visual.rt.type.ImageRef",
- null, 0);
- attributes.add(/* NOI18N */"padWidth",
- /* NOI18N */"java.lang.Integer",
- new Integer(0), 0);
-
- // foreground color is meaningless to an image label or button
- // so don't let it be user editable
- attributes.add(/* NOI18N */"foreground",
- /* NOI18N */"java.awt.Color", Color.black, HIDDEN);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"padWidth"))
- return (new Integer(((ImageLabel) body).getPadWidth()));
- else if (key.equals(/* NOI18N */"image"))
- // no value available from body
- return (getFromTable(/* NOI18N */"image"));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- ImageLabel label = (ImageLabel)body;
-
- if (key.equals(/* NOI18N */"padWidth"))
- label.setPadWidth(((Integer) value).intValue());
- else if (key.equals(/* NOI18N */"image")) {
- ImageRef ref = (ImageRef)value;
- if (ref == null)
- label.setImage(null);
- else {
- Applet applet = getGroup().getApplet();
- try {
- label.setImage(ref.getImage(label, applet));
- label.setDefaultWidth(ref.getWidth(label, applet));
- label.setDefaultHeight(
- ref.getHeight(label, applet));
- }
- catch (VJException ex) {
- // XXX If the image file is not found
- // while loading the root, then
- // isLive() will return false even
- // though it should return true.
- // Throwing an exception can cause the
- // whole root not to load, which is
- // too drastic. The layout windows
- // has to come up so that the user can
- // fix the problem.
- // if (isLive())
- System.out.println(
- Global.fmtMsg("sunsoft.jws.visual.rt.shadow.Error",
- ex.getMessage()));
- // else
- // throw ex;
- }
- }
- }
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- body = new ImageLabel(null);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/LabelBarShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/LabelBarShadow.java
deleted file mode 100644
index 82685a562e..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/LabelBarShadow.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) LabelBarShadow.java 1.27 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import sunsoft.jws.visual.rt.awt.LabelBar;
-import sunsoft.jws.visual.rt.shadow.java.awt.CanvasShadow;
-import sunsoft.jws.visual.rt.type.AlignmentEnum;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * < pre>
- * name type default value
- * -----------------------------------------------------------------------
- * alignment rt.type.AlignmentEnum left
- * text java.lang.String ""
- * textOffsetFromEdge java.lang.Integer 10
- * < /pre>
- *
- * alignment: label bars can have a text label, if can be either
- * "left", "center", or "right"
- * < p>
- * textOffsetFromEdge: if alignment is "left" or "right", this
- * attribute controls how many pixels from the edge the label will be
- * < p>
- * Check the super class for additional attributes.
- *
- * @see LabelBar
- * @version 1.27, 07/25/97
- */
-public class LabelBarShadow extends CanvasShadow {
- public LabelBarShadow() {
- attributes.add(/* NOI18N */"text",
- /* NOI18N */"java.lang.String",
- /* NOI18N */"", NOEDITOR);
- attributes.add(/* NOI18N */"alignment",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AlignmentEnum",
- new AlignmentEnum(LabelBar.LEFT), 0);
- attributes.add(/* NOI18N */"textOffsetFromEdge",
- /* NOI18N */"java.lang.Integer", new Integer(10),
- 0);
-
- GBConstraints c =
- (GBConstraints)get(/* NOI18N */"GBConstraints");
- c.fill = GBConstraints.HORIZONTAL;
- attributes.add(/* NOI18N */"GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.GBConstraints",
- c);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"text"))
- return (((LabelBar) body).getLabel());
- else if (key.equals(/* NOI18N */"alignment"))
- return (new AlignmentEnum(
- ((LabelBar) body).getAlignment()));
- else if (key.equals(/* NOI18N */"textOffsetFromEdge"))
- return (new Integer(
- ((LabelBar) body).getLabelOffsetFromEdge()));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"text"))
- ((LabelBar) body).setLabel((String) value);
- else if (key.equals(/* NOI18N */"alignment"))
-/* JSTYLED */
- ((LabelBar) body).setAlignment(((AlignmentEnum) value).intValue());
- else if (key.equals(/* NOI18N */"textOffsetFromEdge"))
-/* JSTYLED */
- ((LabelBar) body).setLabelOffsetFromEdge(((Integer) value).intValue());
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- body = new LabelBar(
- (String) (getFromTable(/* NOI18N */"text")));
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/Makefile b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/Makefile
deleted file mode 100644
index 596a681032..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/Makefile
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2001 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/Makefile.master
-include $(SRC)/cmd/Makefile.cmd
-include ../Makefile.com
-
-CLASSES= BorderPanelShadow CardPanelShadow \
- CheckboxPanelShadow ColumnListShadow \
- FlowPanelShadow GBPanelShadow \
- GenericComponentShadow GenericWindowShadow \
- ImageButtonShadow ImageLabelShadow \
- LabelBarShadow MultiLineLabelShadow \
- ScrollPanelShadow ScrollableAreaShadow \
- TabbedFolderShadow TextListShadow \
- VJCanvasShadow VJPanelShadow
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d $(VRT) -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
- ( cd java/awt ; $(MAKE) $@ )
-
-install: all
-
-clean clobber:
- $(RM) *.class
- $(RM) -r ./javadoc
- ( cd java/awt ; $(MAKE) $@ )
-
-javadoc:
- mkdir -p ./javadoc
- $(JAVADOC) -d ./javadoc -classpath $(CLASSPATH) *.java
- ( cd java/awt ; $(MAKE) $@ )
-
-_msg: $(JFILES)
- ( cd java/awt ; $(MAKE) $@ )
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/MultiLineLabelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/MultiLineLabelShadow.java
deleted file mode 100644
index 36c2455cc0..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/MultiLineLabelShadow.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) MultiLineLabelShadow.java 1.7 - last change made 08/04/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.CanvasShadow;
-import sunsoft.jws.visual.rt.awt.MultiLineLabel;
-import sunsoft.jws.visual.rt.type.AlignmentEnum;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.util.*;
-import java.awt.*;
-
-/*
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * < pre>
- * name type default value
- * -----------------------------------------------------------------------
- * + text java.lang.String "MultiLineLabel"
- * alignment rt.type.AlignmentEnum left
- * maxColumns java.lang.Integer -1
- * < /pre>
- *
- * maxColumns: the maximum number of columns allowed in a single line.
- * If a line has more than this number it will be wrapped. Set this to -1
- * do deactivate automatic line wrapping.
- *
- * Check the super class for additional attributes.
- *
- * @see MultiLineLabel
- * @version 1.7, 08/04/97
- */
-public class MultiLineLabelShadow extends CanvasShadow {
- public MultiLineLabelShadow() {
- attributes.add(/* NOI18N */"text",
- /* NOI18N */"java.lang.String",
-/* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.shadow.MultiLineLabelShadow.DefaultText"),
- 0);
- attributes.add(/* NOI18N */"alignment",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AlignmentEnum",
- new AlignmentEnum(Label.LEFT), 0);
- attributes.add(/* NOI18N */"maxColumns",
- /* NOI18N */"java.lang.Integer",
- new Integer(-1), 0);
- }
-
- protected Object getOnBody(String key) {
- MultiLineLabel label = (MultiLineLabel)body;
-
- if (key.equals(/* NOI18N */"text")) {
- return label.getLabel();
- } else if (key.equals(/* NOI18N */"alignment")) {
- return new AlignmentEnum(label.getAlignment());
- } else if (key.equals(/* NOI18N */"maxColumns")) {
- return new Integer(label.getMaxColumns());
- } else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- MultiLineLabel label = (MultiLineLabel)body;
-
- if (key.equals(/* NOI18N */"text")) {
- label.setLabel((String)value);
- } else if (key.equals(/* NOI18N */"alignment")) {
- label.setAlignment(((AlignmentEnum)value).intValue());
- } else if (key.equals(/* NOI18N */"maxColumns")) {
- label.setMaxColumns(((Integer) value).intValue());
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void createBody() {
- body = new MultiLineLabel();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ScrollPanelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ScrollPanelShadow.java
deleted file mode 100644
index 4f32514cdc..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ScrollPanelShadow.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ScrollPanelShadow.java 1.7 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.ScrollPanel;
-import sunsoft.jws.visual.rt.base.Util;
-import sunsoft.jws.visual.rt.type.ReliefEnum;
-
-import java.awt.Insets;
-import java.util.Enumeration;
-
-/*
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * < pre>
- * name type default value
- * -----------------------------------------------------------------------
- * + borderRelief rt.type.ReliefEnum win95 field border
- * scrollAreaInsets java.awt.Insets null
- * scrollAreaWidth java.awt.Integer null
- * scrollAreaHeight java.awt.Integer null
- * < /pre>
- *
- * + = this attribute overrides one inherited from an ancestor class.
- * < p>
- * borderRelief: There are a number of different border drawing styles
- * available for panels, and the user can see what they look like by
- * trying them out: "flat", "raised", "sunken", "ridge", "groove",
- * "win95 raised", "win95 sunken", "win95 field border", "win95 window
- * border"
- * < p>
- * Check the super class for additional attributes.
- *
- * @see ScrollPanel
- * @see ScrollableAreaShadow
- * @version 1.7, 07/25/97
- */
-public class ScrollPanelShadow extends VJPanelShadow {
- public ScrollPanelShadow() {
- attributes.add(/* NOI18N */"borderRelief",
- /* NOI18N */"sunsoft.jws.visual.rt.type.ReliefEnum",
- new ReliefEnum(Util.WIN95_FIELD_BORDER), 0);
- attributes.add(/* NOI18N */"scrollAreaInsets",
- /* NOI18N */"java.awt.Insets", null, 0);
- attributes.add(/* NOI18N */"scrollAreaWidth",
- /* NOI18N */"java.lang.Integer", null, 0);
- attributes.add(/* NOI18N */"scrollAreaHeight",
- /* NOI18N */"java.lang.Integer", null, 0);
- }
-
- public Object getOnBody(String key) {
- ScrollPanel scrollPanel = (ScrollPanel)body;
-
- if (key.equals(/* NOI18N */"scrollAreaInsets"))
- return scrollPanel.getScrollAreaInsets();
- else if (key.equals(/* NOI18N */"scrollAreaWidth"))
- return new Integer(scrollPanel.getScrollAreaWidth());
- else if (key.equals(/* NOI18N */"scrollAreaHeight"))
- return new Integer(scrollPanel.getScrollAreaHeight());
- else
- return super.getOnBody(key);
- }
-
- public void setOnBody(String key, Object value) {
- ScrollPanel scrollPanel = (ScrollPanel)body;
-
- if (key.equals(/* NOI18N */"scrollAreaInsets")) {
- scrollPanel.setScrollAreaInsets((Insets)value);
- } else if (key.equals(/* NOI18N */"scrollAreaWidth")) {
- int val = 0;
- if (value != null)
- val = ((Integer)value).intValue();
- scrollPanel.setScrollAreaWidth(val);
- } else if (key.equals(/* NOI18N */"scrollAreaHeight")) {
- int val = 0;
- if (value != null)
- val = ((Integer)value).intValue();
- scrollPanel.setScrollAreaHeight(val);
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void create() {
- // Add a ScrollableAreaShadow child if there isn't one already.
- if (inDesignerRoot()) {
- boolean found = false;
-
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- if (e.nextElement()
- instanceof ScrollableAreaShadow)
- found = true;
- }
-
- if (!found) {
- add(new ScrollableAreaShadow());
- }
- }
-
- super.create();
- }
-
- public void createBody() {
- body = new ScrollPanel();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ScrollableAreaShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ScrollableAreaShadow.java
deleted file mode 100644
index b4fc9967ad..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/ScrollableAreaShadow.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ScrollableAreaShadow.java 1.5 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.ScrollableArea;
-import sunsoft.jws.visual.rt.shadow.java.awt.PanelShadow;
-
-import java.util.Enumeration;
-
-/*
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * < pre>
- * name type default value
- * -----------------------------------------------------------------------
- * lineHeight java.lang.Integer 4
- * < /pre>
- *
- * Check the super class for additional attributes.
- *
- * @see ScrollableArea
- * @see ScrollPanelShadow
- * @version 1.5, 07/25/97
- */
-public class ScrollableAreaShadow extends PanelShadow {
-
- public ScrollableAreaShadow() {
- attributes.add(/* NOI18N */"lineHeight",
- /* NOI18N */"java.lang.Integer",
- new Integer(4), 0);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"lineHeight"))
- return new Integer(
- ((ScrollableArea)body).lineHeight());
- else
- return super.getOnBody(key);
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"lineHeight"))
- ((ScrollableArea)body).setLineHeight(
- ((Integer)value).intValue());
- else
- super.setOnBody(key, value);
- }
-
- public void create() {
- // Add a GBPanelShadow child if there isn't one already.
- if (inDesignerRoot()) {
- boolean found = false;
-
- Enumeration e = getChildList();
- while (e.hasMoreElements()) {
- if (e.nextElement() instanceof GBPanelShadow)
- found = true;
- }
-
- if (!found) {
- GBPanelShadow s = new GBPanelShadow();
- int w[] = {14, 14};
- s.set(/* NOI18N */"columnWidths", w);
- int h[] = {14, 14};
- s.set(/* NOI18N */"rowHeights", h);
- add(s);
- }
- }
-
- super.create();
- }
-
- public void createBody() {
- body = new ScrollableArea();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/TabbedFolderShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/TabbedFolderShadow.java
deleted file mode 100644
index 75f30eb4ae..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/TabbedFolderShadow.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) TabbedFolderShadow.java 1.5 - last change made 07/19/96
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.TabbedFolder;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
-name type default value
------------------------------------------------------------------------
-none
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see TabbedFolder
-* @version 1.5, 07/19/96
-*/
-public class TabbedFolderShadow extends CardPanelShadow {
- public void createBody() {
- cardPanel = new TabbedFolder();
- body = cardPanel;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/TextListShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/TextListShadow.java
deleted file mode 100644
index 2996f2397d..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/TextListShadow.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) TextListShadow.java 1.11 - last change made 08/12/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.CanvasShadow;
-import sunsoft.jws.visual.rt.awt.TextList;
-import sunsoft.jws.visual.rt.awt.StringVector;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.util.*;
-import java.awt.SystemColor;
-import java.awt.*;
-
-/*
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
- * name type default value
- * -----------------------------------------------------------------------
- * allowMultipleSelections java.lang.Boolean false
- * items [Ljava.lang.String; item1, item2
- * selectedItem java.lang.String null
- * selectedItems [Ljava.lang.String; null
- * visibleRows java.lang.Integer 10
- * < /pre>
- *
- * visibleRows: how many rows are visible in the list, changing the
- * number affects the size of the component in the vertical dimension.
- * < p>
- * Check the super class for additional attributes.
- *
- * @see TextList
- * @see StringVector
- * @version 1.11, 08/12/97
- */
-public class TextListShadow extends CanvasShadow {
- public TextListShadow() {
- attributes.add(/* NOI18N */"allowMultipleSelections",
- /* NOI18N */"java.lang.Boolean",
- Boolean.FALSE, 0);
- String sa[] = { /* NOI18N */"item1", /* NOI18N */"item2"};
- attributes.add(/* NOI18N */"items",
- /* NOI18N */"[Ljava.lang.String;", sa, 0);
- attributes.add(/* NOI18N */"selectedItem",
- /* NOI18N */"java.lang.String", null, HIDDEN);
- attributes.add(/* NOI18N */"selectedItems",
- /* NOI18N */"[Ljava.lang.String;", null, HIDDEN);
- attributes.add(/* NOI18N */"visibleRows",
- /* NOI18N */"java.lang.Integer",
- new Integer(10), 0);
-
- // This is a work around for JDK color bug.
- // The defaults are not correctly set
- if (Global.isWindows()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.window, DONTFETCH);
- }
- if (Global.isMotif()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.text, DONTFETCH);
- attributes.add(/* NOI18N */"foreground",
- /* NOI18N */"java.awt.Color",
- SystemColor.textText, DONTFETCH);
- }
- }
-
- protected Object getOnBody(String key) {
- TextList list = (TextList)body;
-
- if (key.equals(/* NOI18N */"allowMultipleSelections")) {
- return new Boolean(list.allowsMultipleSelections());
- } else if (key.equals(/* NOI18N */"items")) {
- return getFromTable(/* NOI18N */"items");
- } else if (key.equals(/* NOI18N */"visibleRows")) {
- return new Integer(list.getMinimumRows());
- } else if (key.equals(/* NOI18N */"selectedItem")) {
- return list.getSelectedItem();
- } else if (key.equals(/* NOI18N */"selectedItems")) {
- return list.getSelectedItems();
- } else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- TextList list = (TextList)body;
-
- if (key.equals(/* NOI18N */"allowMultipleSelections")) {
- list.setMultipleSelections(
- ((Boolean)value).booleanValue());
- } else if (key.equals(/* NOI18N */"items")) {
- String names[] = (String [])value;
- StringVector items = list.items();
- items.removeAllElements();
-
- if (names != null) {
- for (int i = 0; i < names.length; i++)
- items.addElement(names[i]);
- }
-
- list.updateView();
- } else if (key.equals(/* NOI18N */"visibleRows")) {
- list.setMinimumRows(((Integer)value).intValue());
- } else if (key.equals(/* NOI18N */"selectedItem")) {
- int index = -1;
- if (value != null)
- index = list.items().indexOf((String)value);
- list.select(index);
- } else if (key.equals(/* NOI18N */"selectedItems")) {
- String items[] = (String[])value;
- if (list.allowsMultipleSelections()) {
- list.deselectAll();
- if (items != null) {
- for (int i = 0; i < items.length; i++)
- list.select(items[i]);
- }
- } else {
- if (items != null && items.length != 0)
- list.select(items[0]);
- else
- list.select(null);
- }
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void createBody() {
- body = new TextList();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/VJCanvasShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/VJCanvasShadow.java
deleted file mode 100644
index 66e3a777b6..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/VJCanvasShadow.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) VJCanvasShadow.java 1.8 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.CanvasShadow;
-import sunsoft.jws.visual.rt.awt.VJCanvas;
-
-/*
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * < pre>
- * name type default value
- * -----------------------------------------------------------------------
- * minHeight java.lang.Integer 100
- * minWidth java.lang.Integer 100
- * < /pre>
- *
- * Check the super class for additional attributes.
- *
- * @see VJCanvas
- * @version 1.8, 07/25/97
- */
-public class VJCanvasShadow extends CanvasShadow {
-
- public VJCanvasShadow() {
- attributes.add(/* NOI18N */"minWidth",
- /* NOI18N */"java.lang.Integer",
- new Integer(100), 0);
- attributes.add(/* NOI18N */"minHeight",
- /* NOI18N */"java.lang.Integer",
- new Integer(100), 0);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"minWidth"))
- return (new Integer(((VJCanvas) body).getMinWidth()));
- else if (key.equals(/* NOI18N */"minHeight"))
- return (new Integer(((VJCanvas) body).getMinHeight()));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- VJCanvas canvas = (VJCanvas)body;
-
- if (key.equals(/* NOI18N */"minWidth")) {
- canvas.setMinWidth(((Integer)value).intValue());
- } else if (key.equals(/* NOI18N */"minHeight")) {
- canvas.setMinHeight(((Integer)value).intValue());
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void createBody() {
- body = new VJCanvas();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/VJPanelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/VJPanelShadow.java
deleted file mode 100644
index 4fa0cbbbad..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/VJPanelShadow.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) VJPanelShadow.java 1.7 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.shadow;
-
-import sunsoft.jws.visual.rt.awt.VJPanel;
-import sunsoft.jws.visual.rt.base.AttributeManager;
-import sunsoft.jws.visual.rt.type.AlignmentEnum;
-import sunsoft.jws.visual.rt.type.ReliefEnum;
-import sunsoft.jws.visual.rt.shadow.java.awt.PanelShadow;
-
-import java.awt.FlowLayout;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with
- * "rt".
- *
- * < pre>
-name type default value
------------------------------------------------------------------------
-borderLabel java.lang.String null
-borderLabelAlignment rt.type.AlignmentEnum left
-borderRelief rt.type.ReliefEnum flat
-borderWidth java.lang.Integer 2
-* < /pre>
-*
-* borderLabel: a recently added new feature: panels can have bevelled
-* borders and a labelin the top line somewhere, borderLabel is the
-* text of the label. When null, there is no label.
-* < p>
-* borderLabelAlignment: either "left", "center", or "right",
-* determines where
-* on the top bevel line the label goes.
-* < p>
-* borderRelief: There are a number of different border drawing styles
-* available for panels, and the user can see what they look like by
-* trying them out: "flat", "raised", "sunken", "ridge", "groove",
-* "win95 raised", "win95 sunken", "win95 field border", "win95 window
-* border"
-* < p>
-* borderWidth: the number of pixels wide the border will be drawn
-* < p>
-*
-* Check the super class for additional attributes.
-*
-* @see VJPanel
-* @version 1.7, 07/25/97
-*/
-public class VJPanelShadow extends PanelShadow {
- public VJPanelShadow() {
- attributes.add(/* NOI18N */"borderLabel",
- /* NOI18N */"java.lang.String", null, NOEDITOR);
- attributes.add(/* NOI18N */"borderRelief",
- /* NOI18N */"sunsoft.jws.visual.rt.type.ReliefEnum",
- new ReliefEnum(), 0);
- attributes.add(/* NOI18N */"borderWidth",
- /* NOI18N */"java.lang.Integer", new Integer(2), 0);
- attributes.add(/* NOI18N */"borderLabelAlignment",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AlignmentEnum",
- new AlignmentEnum(), 0);
-
- // These attributes are needed for top level panels
- // that are loaded in the designer. A frame is placed
- // around the panel, and the frame needs to know what
- // size to be. The panel can ignore the settings for
- // these attributes.
- attributes.add(/* NOI18N */"layoutLocation",
- /* NOI18N */"java.awt.Point",
- null, HIDDEN | NONBODY);
- attributes.add(/* NOI18N */"layoutSize",
- /* NOI18N */"java.awt.Dimension",
- null, HIDDEN | NONBODY);
- }
-
- public void createBody() {
- VJPanel panel = new VJPanel();
- panel.setLayout(new FlowLayout());
- body = panel;
- }
-
- protected Object getOnBody(String key) {
- VJPanel panel = (VJPanel)body;
-
- if (key.equals(/* NOI18N */"borderRelief")) {
- return new ReliefEnum(panel.getRelief()); }
- else if (key.equals(/* NOI18N */"borderWidth")) {
- return new Integer(panel.getBorderWidth());
- } else if (key.equals(/* NOI18N */"borderLabel")) {
- return panel.getBorderLabel();
- } else if (key.equals(/* NOI18N */"borderLabelAlignment")) {
- return new AlignmentEnum(panel.getLabelAlignment());
- } else {
- return super.getOnBody(key);
- }
- }
-
- protected void setOnBody(String key, Object value) {
- VJPanel panel = (VJPanel)body;
-
- if (key.equals(/* NOI18N */"borderRelief")) {
- panel.setRelief(((ReliefEnum)value).intValue());
- } else if (key.equals(/* NOI18N */"borderWidth")) {
- panel.setBorderWidth(((Integer)value).intValue());
- } else if (key.equals(/* NOI18N */"borderLabel")) {
- panel.setBorderLabel((String)value);
- } else if (key.equals(/* NOI18N */"borderLabelAlignment")) {
- panel.setLabelAlignment(((AlignmentEnum)value).intValue());
- } else {
- super.setOnBody(key, value);
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanComponentShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanComponentShadow.java
deleted file mode 100644
index 3f9e7b53a2..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanComponentShadow.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.awt.*;
-import sunsoft.jws.visual.rt.base.Global;
-
-public abstract class BeanComponentShadow extends ComponentShadow
- implements BeanableComponent {
-
- protected boolean bodyCreated = false;
- protected Object beanBody = null;
-
- // boolean needsBeans() is defined in subclasses
- // boolean needsJDK1_1() is defined in subclasses
-
- private boolean hasDeserialized = false; // should only deserialize once
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"serializationData")) {
- if (!bodyCreated || getBody() == null) {
- return null;
- }
- return BeanSerialization.serializeObject(getBody());
- } else {
- return (super.getOnBody(key));
- }
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"serializationData") && !hasDeserialized) {
- if (!bodyCreated || getBody() == null) {
- return;
- }
- Object newBody = BeanSerialization.deserializeObject(
- (String)value, getName());
- if (newBody != null) {
- body = beanBody = newBody;
- hasDeserialized = true;
- DesignerAccess.getShadowTable().put(body, this);
- }
- } else {
- super.setOnBody(key, value);
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanShadow.java
deleted file mode 100644
index 6a522c5b2b..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanShadow.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.awt.*;
-import sunsoft.jws.visual.rt.base.Global;
-
-public abstract class BeanShadow extends Shadow implements BeanableComponent {
-
- protected Object beanBody = null;
- protected boolean bodyCreated = false;
-
- // boolean needsBeans() is defined in subclasses
- // boolean needsJDK1_1() is defined in subclasses
-
- private boolean hasDeserialized = false; // should only deserialize once
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"serializationData")) {
- if (!bodyCreated || getBody() == null) {
- return null;
- }
- return BeanSerialization.serializeObject(getBody());
- } else {
- return (super.getOnBody(key));
- }
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"serializationData") && !hasDeserialized) {
- if (!bodyCreated || getBody() == null) {
- return;
- }
- Object newBody = BeanSerialization.deserializeObject(
- (String)value, getName());
- if (newBody != null) {
- body = beanBody = newBody;
- hasDeserialized = true;
- DesignerAccess.getShadowTable().put(body, this);
- }
- } else {
- super.setOnBody(key, value);
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanableComponent.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanableComponent.java
deleted file mode 100644
index 6a94e71d0b..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/BeanableComponent.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-public interface BeanableComponent {
- public boolean needsBeans();
- public boolean needsJDK1_1();
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ButtonShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ButtonShadow.java
deleted file mode 100644
index 7e00a4e186..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ButtonShadow.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ButtonShadow.java 1.26 - last change made 06/17/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.awt.*;
-
-import java.awt.Button;
-import java.awt.Insets;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-standard java.lang.Boolean true
-text java.lang.String button
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see Button
-* @version 1.26, 06/17/97
-*/
-public class ButtonShadow extends ComponentShadow {
- public ButtonShadow() {
- attributes.add(/* NOI18N */"text",
- /* NOI18N */"java.lang.String",
- /* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.shadow.java.awt.ButtonShadow.button"),
- NOEDITOR);
- attributes.add(/* NOI18N */"standard",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
-
- if (Global.isWindows()) {
- attributes.add(/* NOI18N */"insets", /* NOI18N */"java.awt.Insets",
- new Insets(2, 2, 2, 2), NONBODY | CONTAINER);
- }
- }
-
- protected Object getOnBody(String key) {
- Button button = (Button)body;
-
- if (key.equals(/* NOI18N */"text")) {
- return button.getLabel();
- } else if (key.equals(/* NOI18N */"standard")) {
- if (button instanceof VJButton)
- return new Boolean(((VJButton)button).isStandard());
- else
- return Boolean.FALSE;
- } else {
- return super.getOnBody(key);
- }
- }
-
- protected void setOnBody(String key, Object value) {
- Button button = (Button)body;
-
- if (key.equals(/* NOI18N */"text")) {
- String text = button.getLabel();
- if ((value == null && text != null)
- || (value != null && !value.equals(text)))
- button.setLabel((String) value);
- } else if (key.equals(/* NOI18N */"standard")) {
- if (button instanceof VJButton)
- ((VJButton)button).setStandard(((Boolean)value).booleanValue());
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void createBody() {
- body = new VJButton();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/CanvasShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/CanvasShadow.java
deleted file mode 100644
index 9d0d0ad3b8..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/CanvasShadow.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) CanvasShadow.java 1.11 - last change made 07/19/96
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import java.awt.Canvas;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-none
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see Canvas
-* @see sunsoft.jws.visual.rt.shadow.VJCanvasShadow
-* @version 1.11, 07/19/96
-*/
-public class CanvasShadow extends ComponentShadow {
- public void createBody() {
- body = new Canvas();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/CheckboxShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/CheckboxShadow.java
deleted file mode 100644
index 20eb54eeae..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/CheckboxShadow.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) CheckboxShadow.java 1.22 - last change made 08/04/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import java.awt.Checkbox;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-state java.lang.Boolean false
-text java.lang.String checkbox
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see Checkbox
-* @version 1.22, 08/04/97
-*/
-public class CheckboxShadow extends ComponentShadow {
- public CheckboxShadow() {
- // A bug in AWT keeps us from changing the label in a checkbox
- // (the setLabel() method doesn't work.) For now the "text" attribute
- // is given the CONSTRUCTOR flag to work around this bug.
- attributes.add(/* NOI18N */"text", /* NOI18N */"java.lang.String",
- /* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.shadow.java.awt.CheckboxShadow.text"),
- CONSTRUCTOR | NOEDITOR);
- attributes.add(/* NOI18N */"state",
- /* NOI18N */"java.lang.Boolean", Boolean.FALSE, 0);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"text"))
- return (((Checkbox) body).getLabel());
- else if (key.equals(/* NOI18N */"state"))
- return (new Boolean((((Checkbox) body).getState())));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"text")) {
- // WORK-AROUND: this is a constructor attribute because the
- // call below doesn't actually work (it causes a Motif error)
- // ((Checkbox) body).setLabel((String) value);
- } else if (key.equals(/* NOI18N */"state")) {
- if (((Checkbox) body).getState()
- != ((Boolean) value).booleanValue())
- ((Checkbox) body).setState(((Boolean) value).booleanValue());
- } else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- String text = (String) get(/* NOI18N */"text");
- if (text != null)
- body = new Checkbox(text);
- else
- body = new Checkbox();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ChoiceShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ChoiceShadow.java
deleted file mode 100644
index 76096220dd..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ChoiceShadow.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ChoiceShadow.java 1.13 - last change made 05/02/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.*;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-items [Ljava.lang.String; item1, item2
-selectedItem java.lang.String ""
-* < /pre>
-*
-* selectedItem: is the item(amoung the the strings in the "items"
-* attribute) that is currently showing in the choice field. This
-* attribute is not available in the attribute editor, but is instead
-* expected to be used programmatically to change the setting on the
-* choice as the result of a callback or some such.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see Choice
-* @version 1.13, 05/02/97
-*/
-public class ChoiceShadow extends ComponentShadow {
- public ChoiceShadow() {
- String items[] = { /* NOI18N */"item1", /* NOI18N */"item2"};
- // changed for bugid 4006105 -kp
- // attributes.add("items", "[Ljava.lang.String;", items, CONSTRUCTOR);
- attributes.add(/* NOI18N */"items",
- /* NOI18N */"[Ljava.lang.String;", items, 0);
- attributes.add(/* NOI18N */"selectedItem",
- /* NOI18N */"java.lang.String", /* NOI18N */"", HIDDEN);
-
- // On WindowsNT, choice menus look bad because they have extra
- // space on the bottom. Setting the insets here tries to adjust
- // for this problem.
- if (Global.isWindowsNT()) {
- attributes.add(/* NOI18N */"insets",
- /* NOI18N */"java.awt.Insets",
- new Insets(2, 0, 0, 0));
- } else if (Global.isMotif()) {
- // Motif choice menus hang out over their bottom and right edges.
- // The problem is worse on SGI than Sun.
- if (Global.isIrix())
- attributes.add(/* NOI18N */"insets",
- /* NOI18N */"java.awt.Insets",
- new Insets(0, 0, 4, 12));
- else
- attributes.add(/* NOI18N */"insets",
- /* NOI18N */"java.awt.Insets",
- new Insets(0, 0, 2, 6));
- }
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"items")) {
- Choice choice = (Choice)body;
- int count = choice.countItems();
- String value[] = new String[count];
-
- for (int i = 0; i < count; i++)
- value[i] = choice.getItem(i);
- return value;
- } else if (key.equals(/* NOI18N */"selectedItem")) {
- Choice choice = (Choice)body;
- return choice.getSelectedItem();
- }
- else
- return (super.getOnBody(key));
- }
-
- /**
- * This makes changes to the Choice body when the user changes
- * items in it. it updates the Choice body from the new data.
- */
- private void equalizeChoices(Object value) {
-
- String s[] = (String[])value;
- Choice choice = (Choice) body;
- int count = choice.countItems();
- // remove all the items and add the new list...
- if (count > 0)
- choice.removeAll();
- // Motif workaround: Need to add at least one item to the choice menu
- // or else Motif will cause a core dump.
- if (s == null || s.length == 0)
- choice.addItem(/* NOI18N */" ");
- else {
- for (int i = 0; i < s.length; i++)
- if (s[i] != null)
- choice.addItem(s[i]);
- }
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"items")) {
-
- // added -kp for bugid 4006105
- equalizeChoices(value);
- // end of addition -kp
- } else if (key.equals(/* NOI18N */"selectedItem")) {
- String str = (String)value;
- if (str == null)
- str = /* NOI18N */"";
-
- Choice choice = (Choice)body;
- boolean selected = false;
- int count = choice.countItems();
-
- for (int i = 0; i < count; i++) {
- if (choice.getItem(i).equals(str)) {
- selected = true;
- choice.select(i);
- break;
- }
- }
-
- if (!selected && count != 0)
- choice.select(0);
- } else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- Choice choice = new Choice();
- body = choice;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ComponentShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ComponentShadow.java
deleted file mode 100644
index f3f1837146..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ComponentShadow.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ComponentShadow.java 1.82 - last change made 08/05/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.awt.GBLayout;
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import sunsoft.jws.visual.rt.type.AnchorEnum;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.Component;
-import java.awt.Container;
-import java.awt.Window;
-import java.awt.LayoutManager;
-import java.awt.SystemColor;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.Panel;
-
-/**
- * Shadow class that wraps the AWT Component class. The attributes
- * available for this class are listed below. Check the super class
- * for additional attributes.
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-anchor rt.type.AnchorEnum center
-background java.awt.Color null
-enabled java.lang.Boolean true
-font java.awt.Font null
-foreground java.awt.Color null
-GBConstraints rt.awt.GBConstraints new GBConstraints()
-insets java.awt.Insets null
-visible java.lang.Boolean true
-* < /pre>
-*
-* All shadow classes(except for the menu-related ones) include the
-* attributes from the ComponentShadow class in addition to their own,
-* and they do so by subclassing it. This class is a super class and
-* isn't available directly from the palette.
-*
-* @see Component
-* @version 1.75, 05/02/97
-*/
-public class ComponentShadow extends Shadow {
-
- // Set to true while a show operation is in progress
- protected boolean doingShow = false;
-
- ComponentShadow() {
- GBConstraints c = new GBConstraints();
- c.gridx = 0;
- c.gridy = 0;
- attributes.add(/* NOI18N */"GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.GBConstraints",
- c, HIDDEN | NONBODY | CONTAINER);
-
- attributes.add(/* NOI18N */"layoutName",
- /* NOI18N */"java.lang.String", null,
- HIDDEN | NONBODY | CONTAINER);
- attributes.add(/* NOI18N */"anchor",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AnchorEnum",
- new AnchorEnum(GBConstraints.CENTER),
- NONBODY | CONTAINER);
- attributes.add(/* NOI18N */"insets",
- /* NOI18N */"java.awt.Insets",
- null, NONBODY | CONTAINER);
-
- attributes.add(/* NOI18N */"visible",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE,
- HIDDEN | DEFAULT);
- attributes.add(/* NOI18N */"enabled",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, DEFAULT);
-
- if (Global.isMotif()) {
- // Default colors should be null for motif since they inherit the
- // colors from the Containers.
- attributes.add(/* NOI18N */"foreground",
- /* NOI18N */"java.awt.Color",
- null, DEFAULT | DONTFETCH);
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- null, DEFAULT | DONTFETCH);
- } else {
- // Component bg and fg must be explicitly set for
- // Windows. Unfortunately, JDK implements setBackground
- // and setForground the Motif way. That is, if the default
- // color is null then retrieve the parent's color. This is
- // not how the peer is implemented. For Windows, the
- // container's colors are not inherited by the container.
- attributes.add(/* NOI18N */"foreground",
- /* NOI18N */"java.awt.Color",
- SystemColor.controlText, DONTFETCH);
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.control, DONTFETCH);
- }
- attributes.add(/* NOI18N */"font",
- /* NOI18N */"java.awt.Font", null,
- DEFAULT | DONTFETCH);
- }
-
- protected Object getOnBody(String key) {
- Component comp = (Component)body;
-
- if (key.equals(/* NOI18N */"visible"))
- return (getFromTable(/* NOI18N */"visible"));
- else if (key.equals(/* NOI18N */"enabled"))
- return (new Boolean(comp.isEnabled()));
- else if (key.equals(/* NOI18N */"foreground"))
- return (comp.getForeground());
- else if (key.equals(/* NOI18N */"background"))
- return (comp.getBackground());
- else if (key.equals(/* NOI18N */"font"))
- return (comp.getFont());
- else
- return (super.getOnBody(key));
- }
-
- public void set(String key, Object value) {
- if (key.equals(/* NOI18N */"visible")) {
- boolean oldValue =
- ((Boolean)getFromTable(/* NOI18N */"visible")).booleanValue();
- boolean newValue = ((Boolean)value).booleanValue();
-
- if (newValue != oldValue) {
- if (newValue) {
- if (!isCreated()) {
- doingShow = true;
- create();
- doingShow = false;
- }
-
- super.set(key, value);
-
- if (this instanceof ContainerShadow)
- ((ContainerShadow)this).showGroups();
- } else {
- super.set(key, value);
-
- if (this instanceof ContainerShadow)
- ((ContainerShadow)this).hideGroups();
- }
-
- return;
- }
- }
-
- super.set(key, value);
- }
-
- protected void setOnBody(String key, Object value) {
- Component comp = (Component)body;
-
- if (key.equals(/* NOI18N */"visible")) {
- // Don't let visible be set to false if we are the main container
- // and we are running inside vjava.
- if (inDesignerRoot() && isMainContainer() &&
- !((Boolean)value).booleanValue()) {
- /* JSTYLED */
- throw new VJException(Global.getMsg("sunsoft.jws.visual.rt.awt.java.awt.ComponentShadow.IllegalSetVisible"));
- }
-
- // We don't need to use the doingShow() method, because
- // the "visible" attribute has the DEFAULT flag set,
- // therefore setOnBody will be called during creation for
- // the "visible" attribute only if the "visible" attribute
- // is false.
- if (!doingShow)
- showComponent(((Boolean) value).booleanValue());
- } else if (key.equals(/* NOI18N */"enabled"))
- comp.setEnabled(((Boolean) value).booleanValue());
- else if (key.equals(/* NOI18N */"foreground")) {
- comp.setForeground((Color) value);
- } else if (key.equals(/* NOI18N */"background")) {
- comp.setBackground((Color) value);
- } else if (key.equals(/* NOI18N */"font"))
- comp.setFont((Font) value);
- else
- super.setOnBody(key, value);
- }
-
- protected boolean isMainContainer() {
- Root r = getRoot();
- if (r == null)
- return false;
-
- AttributeManager mgr = r.getMainChild();
- if (mgr instanceof WindowShadow) {
- WindowShadow win = (WindowShadow)mgr;
- if (win.isPanel())
- mgr = win.getPanel();
- }
-
- return (mgr == this);
- }
-
- public void createBody() {};
-
- /**
- * Overrides destroyBody() in Shadow so that removeNotify() gets called on
- * AWT components when there will be no more references to them.
- */
- protected void destroyBody() {
- if (body != null) {
- ((Component)body).removeNotify();
- body = null;
- }
- }
-
- /**
- * Calls show or hide, depending on the value of cond.
- */
- public void show(boolean cond) {
- if (cond)
- show();
- else
- hide();
- }
-
- /**
- * Sets the visible attribute to true.
- */
- public void show() {
- set(/* NOI18N */"visible", Boolean.TRUE);
- }
-
- /**
- * Sets the visible attribute to false.
- */
- public void hide() {
- set(/* NOI18N */"visible", Boolean.FALSE);
- }
-
- /**
- * Calls showComponent or hideComponent, depending on the value of cond.
- */
- public void showComponent(boolean cond) {
- if (cond)
- showComponent();
- else
- hideComponent();
- }
-
- /**
- * Shows the component. Calling showComponent does not affect the
- * value of the visible attrbute. You should use "show" instead of
- * "showComponent". The only reason this method exists is that
- * Visual Java needs to use it in certain situations.
- */
- public void showComponent() {
- // Call create if it hasn't already been called.
- if (!isCreated()) {
- doingShow = true;
- create();
- doingShow = false;
- }
-
- ((Component)body).show();
- validateMain();
- }
-
- /**
- * Hides the component. Calling hideComponent does not affect the
- * value of the visible attrbute. You should use "hide" instead of
- * "hideComponent". The only reason this method exists is that
- * Visual Java needs to use it in certain situations.
- */
- public void hideComponent() {
- if (body != null)
- {
- ((Component)body).hide();
- validateMain();
- }
- }
-
- /**
- * Returns true if we are doing a create operation in the
- * middle of a show operation. Create likes to call show if the
- * visible attribute is set to true, but create shouldn't call
- * show if show caused create to be called if the first place.
- */
- protected boolean doingShow() {
- if (doingShow) {
- return true;
- } else {
- Group g = getGroup();
- if (g != null)
- return DesignerAccess.doingShow(g);
- else
- return false;
- }
- }
-
- /**
- * Call validate to lay out the component and its children if they
- * are not valid.
- */
- public void validate() {
- if (body != null)
- ((Component)body).validate();
- }
-
- /**
- * Call invalidate to force the component to not be valid, so that
- * it will be layed out again when validate is called.
- */
- public void invalidate() {
- if (body != null)
- ((Component)body).invalidate();
- }
-
- /**
- * Returns the result from calling isShowing on the body.
- */
- public boolean isShowing() {
- if (body != null)
- return ((Component)body).isShowing();
- else
- return false;
- }
-
- public void validateMain()
- {
- Root root = getRoot();
- if (root == null)
- return;
- // Try the main container
- AttributeManager mgr = root.getMainChild();
- if (mgr instanceof Group)
- mgr = DesignerAccess.getContainer((Group)mgr);
-
- if (mgr instanceof ContainerShadow)
- {
- ContainerShadow fs = ((ContainerShadow)mgr);
- Container f = (Container)fs.getBody();
- f.validate();
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ContainerShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ContainerShadow.java
deleted file mode 100644
index 5ab42dad11..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ContainerShadow.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ContainerShadow.java 1.48 - last change made 08/05/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.awt.GBLayout;
-import java.util.Enumeration;
-import java.awt.Container;
-import java.awt.Component;
-import java.awt.SystemColor;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-none
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see Container
-* @version 1.48, 08/05/97
-*/
-public class ContainerShadow
- extends ComponentShadow implements AMContainer
-{
- private AMContainerHelper helper = new AMContainerHelper(this);
-
- ContainerShadow() {
- attributes.add("enabled", "java.lang.Boolean", Boolean.TRUE, HIDDEN);
-
- if (Global.isMotif()) {
- // Set the Container colors to use the system colors. In
- // Motif Components inherit colors from the Container.
- // ComponentShadow, the bg and fg were set to null so all
- // components will use these colors.
- attributes.add(/* NOI18N */"foreground",
- /* NOI18N */"java.awt.Color",
- SystemColor.controlText, DONTFETCH);
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.control, DONTFETCH);
- }
- }
-
- public void createBody() {};
-
- void showGroups() {
- AttributeManager mgr;
- Enumeration e = getChildList();
-
- while (e.hasMoreElements()) {
- mgr = (AttributeManager)e.nextElement();
- if (mgr instanceof Group) {
- if (((Boolean)mgr.get("visible")).booleanValue())
- DesignerAccess.internalShowGroup((Group)mgr);
- } else if (mgr instanceof ContainerShadow) {
- if (((Boolean)mgr.get("visible")).booleanValue())
- ((ContainerShadow)mgr).showGroups();
- }
- }
- }
-
- void hideGroups() {
- AttributeManager mgr;
- Enumeration e = getChildList();
-
- while (e.hasMoreElements()) {
- mgr = (AttributeManager)e.nextElement();
- if (mgr instanceof Group) {
- DesignerAccess.internalHideGroup((Group)mgr);
- } else if (mgr instanceof ContainerShadow) {
- ((ContainerShadow)mgr).hideGroups();
- }
- }
- }
-
- // AMContainer interfaces
-
- public void add(AttributeManager child) {
- helper.add(child);
- }
-
- public void remove(AttributeManager child) {
- helper.remove(child);
- }
-
- public void addChildBody(Shadow child) {
- if (body != null) {
- Container cntr = (Container)body;
- Component comp = (Component)child.getBody();
-
- if (comp.getParent() != cntr) {
- cntr.add(comp);
- updateContainerAttributes((AMContainer)this, child);
- }
- }
- }
-
- public void updateContainerAttribute(AttributeManager child,
- String key, Object value) {
- // Do nothing. Sub-classes should override this method to deal with
- // specific layout managers.
- }
-
- public void removeChildBody(Shadow child) {
- if (body != null) {
- ((Container) body).remove((Component) child.getBody());
- }
- }
-
- public void createChildren() {
- helper.createChildren();
- }
-
- public void reparentChildren() {
- helper.reparentChildren();
- }
-
- public void destroyChildren() {
- helper.destroyChildren();
- }
-
- public AttributeManager getChild(String name) {
- return (helper.getChild(name));
- }
-
- public Enumeration getChildList() {
- return (helper.getChildList());
- }
-
- public int getChildCount() {
- return (helper.getChildCount());
- }
-
- public void layoutMode() {
- super.layoutMode();
- helper.layoutMode();
- }
-
- public void previewMode() {
- super.previewMode();
- helper.previewMode();
- }
-
- public void preValidate() {
- helper.preValidate();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/DialogShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/DialogShadow.java
deleted file mode 100644
index f9f8074429..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/DialogShadow.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) DialogShadow.java 1.60 - last change made 08/11/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.DesignerAccess;
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.type.AMRef;
-import sunsoft.jws.visual.rt.awt.RootDialog;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.*;
-import java.util.Enumeration;
-
-// This class makes the assumption that dialogClass is either null or a
-// subclass of Frame. No error checking is done here to enforce this.
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-frame rt.type.AMRef null
-modal java.lang.Boolean false
-resizable java.lang.Boolean true
-title java.lang.String "Unnamed Dialog"
-* < /pre>
-*
-* modal: when set to true, the dialog's presence(its being visible)
-* keeps the user from doing anything else in the generated application
- * until the dialog is popped down.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see Dialog
-* @version 1.60, 08/11/97
-*/
-public class DialogShadow extends WindowShadow {
-
- protected Frame dialogFrame;
-
- public DialogShadow() {
- attributes.add(/* NOI18N */"frame",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AMRef",
- null, CONSTRUCTOR | NONBODY | HIDDEN);
- attributes.alias(/* NOI18N */"text", /* NOI18N */"title");
- attributes.add(/* NOI18N */"title", /* NOI18N */"java.lang.String",
- /* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.shadow.java.awt.DialogShadow.title"),
- NOEDITOR);
- attributes.add(/* NOI18N */"modal",
- /* NOI18N */"java.lang.Boolean",
- Boolean.FALSE, CONSTRUCTOR);
- attributes.add(/* NOI18N */"resizable",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- }
-
- //
- // getOnBody
- //
- protected Object getOnBody(String key) {
- if (body instanceof Dialog)
- return getOnDialogBody(key);
- else
- return getOnFrameBody(key);
- }
-
- private Object getOnDialogBody(String key) {
- Dialog dialog = (Dialog)body;
-
- if (key.equals(/* NOI18N */"modal")) {
- if (isLive())
- return new Boolean(dialog.isModal());
- else
- return getFromTable(/* NOI18N */"modal");
- } else if (key.equals(/* NOI18N */"resizable"))
- return (new Boolean(dialog.isResizable()));
- else if (key.equals(/* NOI18N */"title"))
- return (dialog.getTitle());
- else
- return (super.getOnBody(key));
- }
-
- private Object getOnFrameBody(String key) {
- Frame frame = (Frame)body;
-
- if (key.equals(/* NOI18N */"modal"))
- return (getFromTable(/* NOI18N */"modal"));
- else if (key.equals(/* NOI18N */"resizable"))
- return (new Boolean(frame.isResizable()));
- else if (key.equals(/* NOI18N */"title"))
- return (frame.getTitle());
- else
- return (super.getOnBody(key));
- }
-
- //
- // setOnBody
- //
- protected void setOnBody(String key, Object value) {
- if (body instanceof Dialog)
- setOnDialogBody(key, value);
- else
- setOnFrameBody(key, value);
- }
-
- private void setOnDialogBody(String key, Object value) {
- Dialog dialog = (Dialog)body;
-
- if (key.equals(/* NOI18N */"modal"))
- return; // cannot set modal once dialog is created
- else if (key.equals(/* NOI18N */"resizable"))
- dialog.setResizable(((Boolean)value).booleanValue());
- else if (key.equals(/* NOI18N */"title"))
- dialog.setTitle((String)value);
- else
- super.setOnBody(key, value);
- }
-
- private void setOnFrameBody(String key, Object value) {
- Frame frame = (Frame)body;
-
- if (key.equals(/* NOI18N */"modal"))
- return; // cannot set modal once dialog is created
- else if (key.equals(/* NOI18N */"resizable"))
- frame.setResizable(((Boolean)value).booleanValue());
- else if (key.equals(/* NOI18N */"title"))
- frame.setTitle((String)value);
- else
- super.setOnBody(key, value);
- }
-
- public void create() {
- if (!isCreated() && Global.isWindows()) {
- createBody();
- if (!(body instanceof Dialog)) {
- if (attributes.get(/* NOI18N */"font").flagged(DEFAULT)) {
- attributes.add(/* NOI18N */"font",
- /* NOI18N */"java.awt.Font",
- new Font(/* NOI18N */"Dialog",
- Font.PLAIN, 12), DONTFETCH);
- }
- }
- }
-
- super.create();
- }
-
- public void createBody() {
- dialogFrame = getFrame();
-
- // Create the dialog
- if (!inDesignerRoot()) {
- boolean modal;
- if (isLive())
- /* JSTYLED */
- modal = ((Boolean) getFromTable(/* NOI18N */"modal")).booleanValue();
- else
- modal = false;
-
- String title = (String) getFromTable(/* NOI18N */"title");
-
- Dialog dialog = new RootDialog(dialogFrame, title, modal);
- body = dialog;
- } else {
- try {
- body = DesignerAccess.getDialogClass().newInstance();
- } catch (InstantiationException ex) {
- throw new Error(ex.toString());
- } catch (IllegalAccessException ex) {
- throw new Error(ex.toString());
- }
- }
- }
-
- public void showComponent() {
- // Call addNotify on our frame if necessary. Need to check for
- // null because we might not be created yet.
- if (dialogFrame != null && dialogFrame.getPeer() == null)
- dialogFrame.addNotify();
-
- super.showComponent();
- }
-
- protected Frame getFrame() {
- AMRef ref;
- FrameShadow frameShadow;
- Frame frame;
-
- // Determine the frame that this dialog hangs off of
- ref = (AMRef) getFromTable(/* NOI18N */"frame");
- if (ref != null) {
- AttributeManager scope = getForwardingGroup(/* NOI18N */"frame");
- if (scope == null)
- scope = this;
-
- frameShadow = (FrameShadow)ref.getRef(scope);
-
- if (frameShadow == null)
- /* JSTYLED */
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.awt.java.awt.DialogShadow.NullFrameShadow"));
-
- frame = getFrameBody(frameShadow);
- } else {
- frame = lookupFrame();
- }
-
- if (frame == null)
- /* JSTYLED */
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.awt.java.awt.DialogShadow.NullFrame"));
-
- return frame;
- }
-
- private Frame lookupFrame() {
- Root root = getRoot();
-
- // Try the main container
- AttributeManager mgr = root.getMainChild();
- if (mgr instanceof Group)
- mgr = DesignerAccess.getContainer((Group)mgr);
-
- if (mgr instanceof FrameShadow)
- return getFrameBody((FrameShadow)mgr);
-
- // Try any other child of the root if we aren't the main container
- if (mgr != this) {
- Enumeration e = root.getChildList();
- while (e.hasMoreElements()) {
- mgr = (AttributeManager)e.nextElement();
- if (mgr instanceof FrameShadow) {
- Boolean v = (Boolean)mgr.get(/* NOI18N */"visible");
- if (v.booleanValue())
- return getFrameBody((FrameShadow)mgr);
- }
- }
- }
-
- // Try for a shadow parent of the root
- FrameShadow frameShadow = lookupGroupFrame(root.getGroup());
- if (frameShadow != null) {
- Boolean v = (Boolean)mgr.get(/* NOI18N */"visible");
- if (v.booleanValue())
- return getFrameBody(frameShadow);
- }
-
- // Try the toplevel
- return getGroup().getTopLevel();
- }
-
- private Frame getFrameBody(FrameShadow frameShadow) {
- Frame frame = (Frame)frameShadow.getBody();
-
- if (frame == null) {
- frameShadow.createBody();
- frame = (Frame)frameShadow.getBody();
- }
-
- return frame;
- }
-
- private FrameShadow lookupGroupFrame(Group group) {
- if (group == null)
- return null;
-
- AttributeManager mgr = DesignerAccess.getContainer(group);
- if (mgr instanceof FrameShadow)
- return (FrameShadow)mgr;
- else
- return lookupGroupFrame(group.getParentGroup());
- }
-
- // Overridden AMContainer interfaces
-
- public void addChildBody(Shadow child) {
- if (body != null) {
- Container cntr = (Container)body;
- if ((cntr.getLayout() instanceof BorderLayout)
- && getChildCount() == 1)
- cntr.add(/* NOI18N */"Center", (Component) child.getBody());
- else
- super.addChildBody(child);
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/FileDialogShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/FileDialogShadow.java
deleted file mode 100644
index d5de2615ba..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/FileDialogShadow.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) FileDialogShadow.java 1.15 - last change made 08/09/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.type.ModeEnum;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.FileDialog;
-import java.io.FilenameFilter;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-directory java.lang.String null
-file java.lang.String null
-+ modal java.lang.Boolean true
-mode rt.type.ModeEnum load
-+ title java.lang.String "Unnamed File Dialog"
-+ visible java.lang.Boolean false
-* < /pre>
-*
-* + = this attribute overrides one inherited from an ancestor class.
-* < p>
-* mode: can be "load" or "save", and determines whether the file dialog
-* is to be used for opening or saving a file, repectively(the text in
-* the lower left button of the file dialog will read either "Open" or
-* "Save" depending on the mode.)
-* < p>
-* Check the super class for additional attributes.
-*
-* @see FileFialog
-* @version 1.15, 08/09/97
-*/
-public class FileDialogShadow extends DialogShadow {
-
- public FileDialogShadow() {
- attributes.add(/* NOI18N */"title", /* NOI18N */"java.lang.String",
- /* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.shadow.java.awt.FileDialogShadow.title"),
- NOEDITOR);
- attributes.add(/* NOI18N */"directory",
- /* NOI18N */"java.lang.String", null, NOEDITOR);
- attributes.add(/* NOI18N */"file",
- /* NOI18N */"java.lang.String", null, NOEDITOR);
-
- // REMIND: This is commented out because Java WorkShop's version of
- // the JDK does not implement the FileDialog.setFilenameFilter()
- // method.
- // attributes.add(/* NOI18N */"filenameFilter",
- // /* NOI18N */"java.io.FilenameFilter",
- // null, HIDDEN);
-
- // which mode, load or save?
- attributes.add(/* NOI18N */"mode",
- /* NOI18N */"sunsoft.jws.visual.rt.type.ModeEnum",
- new ModeEnum(FileDialog.LOAD), CONSTRUCTOR);
-
- // Always modal
- attributes.add(/* NOI18N */"modal",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, HIDDEN);
-
- // Always resizeable
- attributes.add(/* NOI18N */"resizable",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, HIDDEN);
-
- // Not visible by default
- attributes.add(/* NOI18N */"visible",
- /* NOI18N */"java.lang.Boolean", Boolean.FALSE,
- HIDDEN | NONBODY);
- }
-
- public void showComponent() {
- checkCreate();
- ((FileDialog)body).show();
- set(/* NOI18N */"visible", Boolean.FALSE);
- }
-
- protected Object getOnBody(String key) {
- FileDialog fd = (FileDialog)body;
-
- if (key.equals(/* NOI18N */"directory")) {
- return fd.getDirectory();
- } else if (key.equals(/* NOI18N */"file")) {
- String file = fd.getFile();
-
- // WORK-AROUND: remove the .*.* that Win95 puts on filename
- if (file != null && file.endsWith(/* NOI18N */".*.*"))
- file = file.substring(0, file.length() - 4);
-
- return file;
- }
-
- // REMIND: This is commented out because Java WorkShop's version of
- // the JDK does not implement the FileDialog.setFilenameFilter()
- // method.
- // else if (key.equals(/* NOI18N */"filenameFilter"))
- // return fd.getFilenameFilter();
-
- else if (key.equals(/* NOI18N */"mode"))
- return (new ModeEnum(fd.getMode()));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- FileDialog fd = (FileDialog)body;
-
- if (key.equals(/* NOI18N */"directory"))
- fd.setDirectory((String)value);
- else if (key.equals(/* NOI18N */"file"))
- fd.setFile((String)value);
-
- // REMIND: This is commented out because Java WorkShop's version of
- // the JDK does not implement the FileDialog.setFilenameFilter()
- // method.
- // else if (key.equals(/* NOI18N */"filenameFilter"))
- // fd.setFilenameFilter((FilenameFilter)value);
-
- else if (key.equals(/* NOI18N */"mode")) {
- // Do nothing ; constructor attribute
- }
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- dialogFrame = getFrame();
- String title = (String) getFromTable(/* NOI18N */"title");
- int mode = ((ModeEnum) getFromTable(/* NOI18N */"mode")).intValue();
-
- body = new FileDialog(dialogFrame, title, mode);
- }
-
- /**
- * Disposes of the AWT top-level window so that window system
- * resources are reclaimed.
- */
- protected void destroyBody() {
- //
- // Workaround for Motif bug during removeNotify
- //
- // java.lang.NullPointerException
- // at sun.awt.motif.MComponentPeer.dispose(MComponentPeer.java:175)
- // at sun.awt.motif.MDialogPeer.dispose(MDialogPeer.java:73)
- // at java.awt.Component.removeNotify(Component.java:1037)
- // at java.awt.Container.removeNotify(Container.java:385)
- // at java.awt.Window.dispose(Window.java:127)
- // at sunsoft.jws.visual.rt.shadow.java.awt.
- // FileDialogShadow.destroyBody(FileDialogShadow.java:103)
- //
- if (!Global.isMotif())
- ((FileDialog)body).dispose();
-
- body = null;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/FrameShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/FrameShadow.java
deleted file mode 100644
index 62c5e2b5ce..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/FrameShadow.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) FrameShadow.java 1.65 - last change made 08/11/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.base.DesignerAccess;
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.type.ImageRef;
-import sunsoft.jws.visual.rt.awt.RootFrame;
-
-import java.awt.*;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-+ background java.awt.Color #c0c0c0
-icon rt.type.ImageRef null
-menubar rt.type.MenuBarRef null
-resizable java.lang.Boolean true
-title java.lang.String "Unnamed Frame"
-* < /pre>
-*
-* + = this attribute overrides one inherited from an ancestor class.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see Frame
-* @version 1.65, 08/11/97
-*/
-public class FrameShadow extends WindowShadow {
-
- private int cursorCount = 0;
- private int prevCursor = Frame.DEFAULT_CURSOR;
-
- public FrameShadow() {
- attributes.add(/* NOI18N */"title", /* NOI18N */"java.lang.String",
- /* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.shadow.java.awt.FrameShadow.title"),
- NOEDITOR);
- attributes.alias(/* NOI18N */"text", /* NOI18N */"title");
- attributes.add(/* NOI18N */"resizable",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"icon",
- /* NOI18N */"sunsoft.jws.visual.rt.type.ImageRef",
- null, 0);
- attributes.add(/* NOI18N */"menubar",
- /* JSTYLED */
- /* NOI18N */"sunsoft.jws.visual.rt.shadow.java.awt.MenuBarShadow",
- null, DEFAULT | TRANSIENT);
-
- if (Global.isIrix())
- attributes.add(/* NOI18N */"font", /* NOI18N */"java.awt.Font",
- new Font(/* NOI18N */"Sansserif",
- Font.PLAIN, 12), DONTFETCH);
-
- if (Global.isWindows()) {
- attributes.add(/* NOI18N */"font", /* NOI18N */"java.awt.Font",
- new Font(/* NOI18N */"Dialog",
- Font.PLAIN, 12), DONTFETCH);
- }
- }
-
- protected Object getOnBody(String key) {
- Frame frame = (Frame)body;
-
- if (key.equals(/* NOI18N */"title"))
- return frame.getTitle();
- else if (key.equals(/* NOI18N */"resizable"))
- return new Boolean(frame.isResizable());
- else if (key.equals(/* NOI18N */"icon"))
- return getFromTable(/* NOI18N */"icon");
- else if (key.equals(/* NOI18N */"menubar")) {
- MenuBar menuBar = frame.getMenuBar();
- if (menuBar == null)
- return null;
- else
- return DesignerAccess.getShadowTable().get(menuBar);
- } else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- Frame frame = (Frame)body;
-
- if (key.equals(/* NOI18N */"title")) {
- frame.setTitle((String) value);
- } else if (key.equals(/* NOI18N */"resizable")) {
- frame.setResizable(((Boolean) value).booleanValue());
- } else if (key.equals(/* NOI18N */"menubar")) {
- MenuBarShadow s = (MenuBarShadow)getOnBody(/* NOI18N */"menubar");
- if (s != null) {
- remove(s);
- s.destroy();
- }
-
- if (value != null) {
- s = (MenuBarShadow)value;
- add(s);
- s.create();
- }
- } else if (key.equals(/* NOI18N */"icon")) {
- if (value != null) {
- try {
- frame.setIconImage(((ImageRef) value).
- getImage(frame, getGroup().getApplet()));
- }
- catch (VJException ex) {
- if (isLive())
- /* JSTYLED */
- System.out.println(/* NOI18N */"Error: " + ex.getMessage());
- else
- throw ex;
- }
- } else if (frame.getPeer() == null)
- frame.setIconImage(null);
- }
- else
- super.setOnBody(key, value);
- }
-
- protected String getUserTypeName() {
- return (/* NOI18N */"frame");
- }
-
- public void createBody() {
- if (!inDesignerRoot())
- body = new RootFrame();
- else {
- try {
- body = DesignerAccess.getFrameClass().newInstance();
- } catch (InstantiationException ex) {
- throw new Error(ex.toString());
- } catch (IllegalAccessException ex) {
- throw new Error(ex.toString());
- }
- }
- }
-
- // Overridden AMContainer interfaces
-
- public void addChildBody(Shadow child) {
- // frames will have a single central child and maybe a menubar
- if (body != null) {
- Frame frame = (Frame)body;
-
- if (child instanceof MenuBarShadow) {
- // add the menubar
- MenuBar currentMenuBar = frame.getMenuBar();
- if (currentMenuBar != null
- && currentMenuBar != child.getBody()) {
- /* JSTYLED */
- throw new Error(Global.fmtMsg("sunsoft.jws.visual.rt.awt.java.awt.FrameShadow.AlreadyHasMenubar", child.get(/* NOI18N */"name")));
- } else {
- frame.setMenuBar((MenuBar) child.getBody());
- }
- } else {
- // add a component
- if (frame.getLayout() instanceof BorderLayout) {
- frame.add(/* NOI18N */"Center",
- (Component) child.getBody());
- } else {
- super.addChildBody(child);
- }
- }
- }
- }
-
- public void removeChildBody(Shadow child) {
- if (body != null) {
- if ((child instanceof MenuBarShadow)) {
- /* JSTYLED */
- if (!((Frame) body).getMenuBar().equals((MenuBar) child.getBody())) {
- /* JSTYLED */
- throw new Error(Global.fmtMsg("sunsoft.jws.visual.rt.awt.java.awt.FrameShadow.MenubarNotInstalled", child.get(/* NOI18N */"name")));
- } else {
- // remove the menubar
- ((Frame) body).remove((MenuComponent) child.getBody());
- }
- } else {
- // remove a component
- ((Frame) body).remove((Component) child.getBody());
- }
- }
- }
-
- int incrCursor() {
- cursorCount++;
- return cursorCount;
- }
-
- int decrCursor() {
- cursorCount--;
- if (cursorCount < 0)
- cursorCount = 0;
- return cursorCount;
- }
-
- void setPrevCursor(int cursor) {
- prevCursor = cursor;
- }
-
- int getPrevCursor() {
- return prevCursor;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/JAShadowAccess.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/JAShadowAccess.java
deleted file mode 100644
index ec97153529..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/JAShadowAccess.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) JAShadowAccess.java 1.2 - last change made 07/25/96
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.*;
-
-/**
- * Accessor class for use only by graphical interface builders. Gives
- * a GUI builder access to methods in this package which are package
- * private. The methods in this class should not be used by any other
- * application, they are for use by Visual Java only and are subject
- * to change.
- *
- * @version 1.2, 07/25/96
- */
-public class JAShadowAccess {
-
- //
- // These instantiate methods are needed so that the ComponentShadow
- // and ContainerShadow classes can be instantiated when we are
- // generating the list of attribute names.
- //
-
- public static AttributeManager instantiate(String classname) {
- Class c;
- try {
- c = Class.forName(classname);
- }
- catch (Exception ex) {
- System.out.println(ex.toString());
- return null;
- }
- return instantiate(c);
- }
-
- public static AttributeManager instantiate(Class c) {
- Object obj;
- try {
- obj = c.newInstance();
- }
- catch (Exception ex) {
- System.out.println(ex.toString());
- return null;
- }
-
- if (obj instanceof AttributeManager)
- return (AttributeManager)obj;
- else
- return null;
- }
-
- //
- // Internal "FrameShadow" methods
- //
-
- public static int incrCursor(FrameShadow fs) {
- return fs.incrCursor();
- }
-
- public static int decrCursor(FrameShadow fs) {
- return fs.decrCursor();
- }
-
- public static void setPrevCursor(FrameShadow fs, int cursor) {
- fs.setPrevCursor(cursor);
- }
-
- public static int getPrevCursor(FrameShadow fs) {
- return fs.getPrevCursor();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/LabelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/LabelShadow.java
deleted file mode 100644
index 833f4e3ea2..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/LabelShadow.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) LabelShadow.java 1.26 - last change made 08/04/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.type.AlignmentEnum;
-import java.awt.Label;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-alignment rt.type.AlignmentEnum center
-text java.lang.String label
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see Label
-* @version 1.26, 08/04/97
-*/
-public class LabelShadow extends ComponentShadow {
- public LabelShadow() {
- attributes.add(/* NOI18N */"text", /* NOI18N */"java.lang.String",
- /* JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.shadow.java.awt.LabelShadow.text"),
- NOEDITOR);
- attributes.add(/* NOI18N */"alignment",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AlignmentEnum",
- new AlignmentEnum(Label.CENTER), 0);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"text"))
- return (((Label) body).getText());
- else if (key.equals(/* NOI18N */"alignment"))
- return (new AlignmentEnum(((Label) body).getAlignment()));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- Label label = (Label) body;
-
- if (key.equals(/* NOI18N */"text")) {
- String text = label.getText();
- if ((value == null && text != null)
- || (value != null && !value.equals(text)))
- label.setText((String) value);
- } else if (key.equals(/* NOI18N */"alignment"))
- label.setAlignment(((AlignmentEnum) value).intValue());
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- body = new Label();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ListShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ListShadow.java
deleted file mode 100644
index eef50791d7..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ListShadow.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) ListShadow.java 1.32 - last change made 08/12/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import java.awt.List;
-import java.awt.SystemColor;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-allowMultipleSelections java.lang.Boolean false
-items [Ljava.lang.String; item1, item2
-selectedItem java.lang.String null
-selectedItems [Ljava.lang.String; null
-visibleRows java.lang.Integer 4
-* < /pre>
-*
-* selectedItem: is the item(amoung the the strings in the "items"
-* attribute) that is currently showing in the list. This attribute is
-* not available in the attribute editor, but is instead expected to be
-* used programmatically to change or check the setting.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see List
-* @version 1.32, 08/12/97
-*/
-public class ListShadow extends ComponentShadow {
- public ListShadow() {
- attributes.add(/* NOI18N */"allowMultipleSelections",
- /* NOI18N */"java.lang.Boolean",
- Boolean.FALSE, 0);
- String sa[] = { /* NOI18N */"item1", /* NOI18N */"item2"};
- attributes.add(/* NOI18N */"items",
- /* NOI18N */"[Ljava.lang.String;", sa, 0);
- attributes.add(/* NOI18N */"selectedItem",
- /* NOI18N */"java.lang.String", null, HIDDEN);
- attributes.add(/* NOI18N */"selectedItems",
- /* NOI18N */"[Ljava.lang.String;", null, HIDDEN);
- attributes.add(/* NOI18N */"visibleRows",
- /* NOI18N */"java.lang.Integer", new Integer(4),
- CONSTRUCTOR);
-
- GBConstraints c = (GBConstraints)get(/* NOI18N */"GBConstraints");
- c.fill = GBConstraints.BOTH;
- attributes.add(/* NOI18N */"GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.GBConstraints",
- c);
-
- // This is a work around for JDK color bug. The defaults are
- // not correctly set
- if (Global.isWindows()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.window, DONTFETCH);
- }
- if (Global.isMotif()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.text, DONTFETCH);
- attributes.add(/* NOI18N */"foreground",
- /* NOI18N */"java.awt.Color",
- SystemColor.textText, DONTFETCH);
- }
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"visibleRows"))
- return (new Integer(((List) body).getRows()));
- else if (key.equals(/* NOI18N */"allowMultipleSelections"))
- return (new Boolean(((List) body).allowsMultipleSelections()));
- else if (key.equals(/* NOI18N */"items")) {
- if (((List) body).countItems() == 0)
- return null;
- else {
- int index;
- String[] listContents = new String[((List)body).countItems()];
- for (index = 0; index < listContents.length; index++)
- listContents[index] = ((List)body).getItem(index);
- return listContents;
- }
- } else if (key.equals(/* NOI18N */"selectedItem")) {
- List list = (List)body;
- return list.getSelectedItem();
- } else if (key.equals(/* NOI18N */"selectedItems")) {
- return ((List)body).getSelectedItems();
- }
- else
- return (super.getOnBody(key));
- }
-
- /**
- * This efficiently makes changes to the List body when the user changes
- * items in it. it updates the List body from the new data.
- */
- private void equalizeLists(Object value) {
- String[] newList = ((String[]) (value));
-
- int newListIndex = 0, oldListIndex = 0;
- int dummyIndex;
-
- // If the user deleted all of the entries, the newList would be null
- if (newList == null) {
- if (((List) body).countItems() > 0) {
- ((List) body).delItems(0, ((List)body).countItems()-1);
- }
- } else {
- while (newListIndex < newList.length &&
- oldListIndex < ((List) body).countItems())
- {
- String curOldItem = ((List) (body)).getItem(oldListIndex);
-
- if (newList[newListIndex].equals(curOldItem)) {
- newListIndex++;
- oldListIndex++;
- } else {
- for (dummyIndex = newListIndex;
- dummyIndex < newList.length; dummyIndex++) {
- if (curOldItem.equals(newList[dummyIndex])) {
- ((List) body).delItem(oldListIndex);
- break;
- }
- }
- ((List) body).addItem(newList[newListIndex],
- oldListIndex);
- newListIndex++;
- oldListIndex++;
- }
- }
-
- if (oldListIndex < ((List) body).countItems()) {
- ((List) body).delItems(oldListIndex,
- ((List)body).countItems()-1);
- }
-
- while (newListIndex < newList.length) {
- ((List) body).addItem(newList[newListIndex]);
- newListIndex++;
- }
- }
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"allowMultipleSelections"))
- /* JSTYLED */
- ((List) body).setMultipleSelections(((Boolean)value).booleanValue());
- else if (key.equals(/* NOI18N */"items"))
- equalizeLists(value);
- else if (key.equals(/* NOI18N */"visibleRows"))
- return; // this must be set in constructor
- else if (key.equals(/* NOI18N */"selectedItem")) {
- List list = (List)body;
- if (list.allowsMultipleSelections())
- unselectAll(list);
- select((List)body, (String)value);
- } else if (key.equals(/* NOI18N */"selectedItems")) {
- List list = (List)body;
- String items[] = (String[])value;
- if (list.allowsMultipleSelections()) {
- unselectAll(list);
- if (items != null) {
- for (int i = 0; i < items.length; i++)
- select(list, items[i]);
- }
- } else {
- if (items != null && items.length != 0)
- select(list, items[0]);
- else
- select(list, null);
- }
- }
- else
- super.setOnBody(key, value);
- }
-
- private void select(List list, String s) {
- if (s == null) {
- int index = list.getSelectedIndex();
- if (index != -1)
- list.deselect(index);
- return;
- }
-
- int num = list.countItems();
- for (int i = 0; i < num; i++) {
- if (s.equals(list.getItem(i))) {
- list.select(i);
- break;
- }
- }
- }
-
- private void unselectAll(List list) {
- int indexes[] = list.getSelectedIndexes();
- if (indexes != null) {
- for (int i = 0; i < indexes.length; i++)
- list.deselect(indexes[i]);
- }
- }
-
- public void createBody() {
- /* JSTYLED */
- body = new List(((Integer) getFromTable(/* NOI18N */"visibleRows")).intValue(),
- /* JSTYLED */
- ((Boolean) getFromTable(/* NOI18N */"allowMultipleSelections")).booleanValue());
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/Makefile b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/Makefile
deleted file mode 100644
index 8ad0749dc8..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/Makefile.master
-include $(SRC)/cmd/Makefile.cmd
-include ../../../Makefile.com
-
-CLASSES= BeanComponentShadow BeanShadow BeanableComponent \
- ButtonShadow CanvasShadow CheckboxShadow \
- ChoiceShadow ComponentShadow ContainerShadow \
- DialogShadow FileDialogShadow FrameShadow \
- JAShadowAccess LabelShadow ListShadow \
- MenuBarShadow MenuComponentShadow MenuItemShadow \
- MenuShadow PanelShadow ScrollbarShadow \
- TextAreaShadow TextComponentShadow TextFieldShadow \
- WindowShadow
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d $(VRT) -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
-
-install: all
-
-clean clobber:
- $(RM) *.class
- $(RM) -r ./javadoc
-
-javadoc:
- mkdir -p ./javadoc
- $(JAVADOC) -d ./javadoc -classpath $(CLASSPATH) *.java
-
-_msg: $(JFILES)
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuBarShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuBarShadow.java
deleted file mode 100644
index b864e231ae..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuBarShadow.java
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) MenuBarShadow.java 1.43 - last change made 07/28/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.type.AMRef;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.util.Enumeration;
-import java.awt.MenuBar;
-import java.awt.MenuComponent;
-import java.awt.Menu;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-helpMenu rt.type.AMRef null
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see MenuBar
-*/
-public class MenuBarShadow extends MenuComponentShadow implements AMContainer {
- private AMContainerHelper helper = new AMContainerHelper(this);
- private boolean fHelpMenu = false;
- private boolean fCreate = false;
- private Menu helpMenu = null;
-
- public MenuBarShadow() {
- attributes.add(/* NOI18N */"helpMenu",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AMRef",
- null, 0);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"helpMenu"))
- // a menu shadow ref is returned
- return (getFromTable(/* NOI18N */"helpMenu"));
- else
- return (super.getOnBody(key));
- }
-
- public void create()
- {
- fCreate = true;
- super.create();
- fCreate = false;
- }
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"helpMenu")) {
- // Check to make sure value is set yet
- if (value != null) {
- // a reference to the help menu shadow is what is
- // stored as attribute
- MenuShadow ms = (MenuShadow)((AMRef)value).getRef(this);
- // Create the body if it does not yet exist
- if (ms != null && ms.getBody() == null)
- ms.createBody();
-
- if (ms != null && ms.getBody() != null)
- {
-
-
- if (Global.isWindows())
- {
- if (fCreate) // from create Menubar
- {
- fHelpMenu = true;
- helpMenu = (Menu) ms.getBody();
- // no create just setting the help menu...
- } else
- /* JSTYLED */
- ((MenuBar) body).setHelpMenu((Menu) ms.getBody());
- }
- else
- {
- /* JSTYLED */
- ((MenuBar) body).setHelpMenu((Menu) ms.getBody());
- }
- }
- else
- /* JSTYLED */
- System.out.println(Global.fmtMsg("sunsoft.jws.visual.rt.awt.java.awt.MenuBarShadow.CantResolveHelpMenu",
- getName(),
- ((AMRef)value).getName()));
- }
- }
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- body = new MenuBar();
- }
-
-
-
- protected void postCreate() {
-
- /*
- * note that the sethelpMenu call in the jdk creates and adds
- * it if the menu does not exists.
- * so during the setOnBody the help menu is created first.
- * and since on windows the menu appear as they are added we
- * see the help menu first. I believe it is
- * a bug in the windows peer. This is a workaround for that..
- * we remove and add the help menu again..
- * after all the menus are created.. bug id 4033014....-kp
- */
-
- Menu m;
- MenuBar menubar;
- menubar = (MenuBar)body;
- int i;
-
- if (Global.isWindows())
- {
- if (fHelpMenu) // help menu present so add it..
- {
- if (helpMenu != null)
- menubar.setHelpMenu(helpMenu);
- }
- }
- super.postCreate();
- }
-
- // AMContainer interfaces
-
- public void add(AttributeManager child) {
- helper.add(child);
- }
-
- public void remove(AttributeManager child) {
- helper.remove(child);
- }
-
- public void addChildBody(Shadow child) {
- if (body != null) {
- MenuBar menubar = (MenuBar)body;
- Menu menu = (Menu)child.getBody();
-
- if (menu.getParent() != menubar) {
- menubar.add(menu);
- updateContainerAttributes((AMContainer)this, child);
- }
- }
- }
-
- public void updateContainerAttribute(AttributeManager child,
- String key, Object value) {
- // Menus could have a layout constraint specifying their position
- // in the menubar. This is not yet implemented.
- }
-
- public void removeChildBody(Shadow child) {
- if (body != null) {
- ((MenuBar) body).remove((MenuComponent) child.getBody());
- }
- }
-
- public void createChildren() {
- helper.createChildren();
- }
-
- public void reparentChildren() {
- helper.reparentChildren();
- }
-
- public void destroyChildren() {
- helper.destroyChildren();
- }
-
- public AttributeManager getChild(String name) {
- return (helper.getChild(name));
- }
-
- public Enumeration getChildList() {
- return (helper.getChildList());
- }
-
- public int getChildCount() {
- return (helper.getChildCount());
- }
-
- /**
- * replicate is used by Visual Java for cut and paste.
- */
- //
- // Normally this method resides in AttributeManager (super-duper class).
- // We override it here to put in special handling for the helpMenu --
- // fix for Sun Bug # 4043169: help menu getting duplicated on
- // copy/paste frame with help menu. -- Simran 5/16/97
- //
- public AttributeManager replicate() {
-
- // System.out.println("MenuBarShadow.replicate: ");
- // System.out.println(" this: "+this);
-
- // Create a new instance of the AttributeManager
- AttributeManager newMgr = null;
- try {
- newMgr = (AttributeManager)getClass().newInstance();
- }
- catch (InstantiationException ex) {
- System.out.println(ex.getMessage() + /* NOI18N */" " + this);
- }
- catch (IllegalAccessException ex) {
- System.out.println(ex.getMessage() + /* NOI18N */" " + this);
- }
- if (newMgr == null)
- return null;
-
- // Copy the attribute list
- AttributeList list = getAttributeList();
- // System.out.println(" ----- attribute list: ");
- // printAttList(list);
- Enumeration e = list.elements();
- String helpMenuName = null;
- AttributeManager helpMenuMgr = null;
- while (e.hasMoreElements()) {
- Attribute attr = (Attribute)e.nextElement();
- String aName = attr.getName();
-
- //
- // Find the name of the helpMenu, don't set it until
- // we replicate the help menu. Then set it to the name of the
- // newly replicated helpMenu.
- // Fix for Sun Bug # 4043169: help menu getting duplicated on
- // copy/paste frame with help menu. -- Simran 5/16/97
- //
- if (aName.equals(/* NOI18N */"helpMenu")) {
- Object gv = attr.getValue();
- AMRef helpMenuRef = (AMRef)gv;
- if (helpMenuRef != null) {
- helpMenuMgr = helpMenuRef.getRef(this);
- helpMenuName = helpMenuRef.getName();
- }
-
- // System.out.println("FOund help menu
- // attribute. *NOT* setting it in new mgr. (yet)");
-
- } else if (!attr.flagged(TRANSIENT | READONLY)) {
- newMgr.set(aName, attr.getValue());
- }
- }
-
- // Replicate the children
- if (this instanceof AMContainer) {
- AMContainer newCntr = (AMContainer)newMgr;
- e = ((AMContainer)this).getChildList();
-
- // System.out.print(" childList: (isMenuBar: "+isMenuBar+")");
- // printChildList(this);
- while (e.hasMoreElements()) {
- AttributeManager child = (AttributeManager)e.nextElement();
-
- // Check for helpmenu
- //
-
- // System.out.println(); System.out.println("IS
- // MENUBAR: child name="+child.getName());
- // System.out.println(" looking for: "+helpMenuName);
-
- // Is the name test going to be sufficient for finding
- // the help menu? It seems that if we're restricted
- // to doing the test only if isMenuBar, then we're
- // OK. How unique do names have to be?
- if (child.getName().equals(helpMenuName)) {
- // System.out.println(" replicating
- // (helpMenu)child: "+child);
- AttributeManager replicantChild = child.replicate();
- newMgr.set(/* NOI18N */"helpMenu",
- new AMRef(replicantChild));
- newCntr.add(replicantChild);
- } else {
- // System.out.println(" replicating (normal) child
- // of MenuBar: "+child);
- newCntr.add(child.replicate());
- }
- }
- }
-
- return newMgr;
- }
-
- void printAttList(AttributeList list) {
- Enumeration e = list.elements();
- while (e.hasMoreElements()) {
- Attribute attr = (Attribute)e.nextElement();
- // System.out.println(" name: "+attr.getName()+"; value:
- // "+(String)attr.getValue());
- System.out.print(/* NOI18N */" name: "
- + attr.getName()+ /* NOI18N */"; ");
- Object gv = attr.getValue();
- System.out.println(/* NOI18N */" value.toString(): "
- + ((gv != null) ? gv.toString()
- : /* NOI18N */"<null value>"));
- if (attr.getName().equals(/* NOI18N */"helpMenu")) {
- System.out.println();
- System.out.println(/* NOI18N */" found help menu att: "
- + ((gv != null) ? gv.toString()
- : /* NOI18N */"<null value>"));
- System.out.println();
- }
- }
- }
-
- void printChildList(AttributeManager mgr) {
- int i = 0;
- for (Enumeration e = ((AMContainer) this).getChildList();
- /* JSTYLED */
- e.hasMoreElements();) {
-
- System.out.print(/* NOI18N */" child["+i+ /* NOI18N */"] ");
- System.out.println(((AttributeManager)e.nextElement())
- + /* NOI18N */"");
- i++;
- }
- System.out.println(/* NOI18N */"==============");
- System.out.println();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuComponentShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuComponentShadow.java
deleted file mode 100644
index 9565fb3a10..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuComponentShadow.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) MenuComponentShadow.java 1.22 - last change made 07/28/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.Shadow;
-import java.awt.MenuComponent;
-import java.awt.Font;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-font java.awt.Font null
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see MenuComponent
-* @version 1.22, 07/28/97
-*/
-public class MenuComponentShadow extends Shadow {
- public MenuComponentShadow() {
- attributes.add(/* NOI18N */"font",
- /* NOI18N */"java.awt.Font",
- null, DONTFETCH | CONSTRUCTOR);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"font"))
- return (((MenuComponent) body).getFont());
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"font"))
- ((MenuComponent) body).setFont((Font) value);
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {};
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuItemShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuItemShadow.java
deleted file mode 100644
index 80811a5701..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuItemShadow.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) MenuItemShadow.java 1.28 - last change made 07/28/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import java.awt.Font;
-import java.awt.MenuItem;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-enabled java.lang.Boolean true
-separator java.lang.Boolean false
-text java.lang.String menuitem
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see MenuItem
-* @version 1.28, 07/28/97
-*/
-public class MenuItemShadow extends MenuComponentShadow {
- boolean hasSeparator = false;
-
- public MenuItemShadow() {
- attributes.add(/* NOI18N */"enabled",
- /* NOI18N */"java.lang.Boolean",
- Boolean.TRUE, 0);
- attributes.add(/* NOI18N */"text",
- /* NOI18N */"java.lang.String",
- /* NOI18N */"menuitem", NOEDITOR);
- attributes.add(/* NOI18N */"separator",
- /* NOI18N */"java.lang.Boolean", Boolean.FALSE,
- NONBODY | CONTAINER);
-
- if (Global.isIrix())
- attributes.add(/* NOI18N */"font", /* NOI18N */"java.awt.Font",
- new Font(/* NOI18N */"Sansserif",
- Font.PLAIN, 12), DONTFETCH);
- else if (Global.isMotif())
- attributes.add(/* NOI18N */"font", /* NOI18N */"java.awt.Font",
- new Font(/* NOI18N */"Dialog",
- Font.PLAIN, 12), DONTFETCH);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"enabled"))
- return (new Boolean(((MenuItem) body).isEnabled()));
- else if (key.equals(/* NOI18N */"text"))
- return (((MenuItem) body).getLabel());
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"enabled"))
- ((MenuItem) body).enable(((Boolean) value).booleanValue());
- else if (key.equals(/* NOI18N */"text"))
- ((MenuItem) body).setLabel((String) value);
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- body = new MenuItem((String) getFromTable(/* NOI18N */"text"));
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuShadow.java
deleted file mode 100644
index 8bef86aab3..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/MenuShadow.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) MenuShadow.java 1.40 - last change made 07/28/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.*;
-import java.util.Enumeration;
-import java.awt.*;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-canTearOff java.lang.Boolean true
-+ text java.lang.String menu
-* < /pre>
-*
-* + = this attribute overrides one inherited from an ancestor class.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see Menu
-* @version 1.40, 07/28/97
-*/
-public class MenuShadow extends MenuItemShadow implements AMContainer {
- private AMContainerHelper helper = new AMContainerHelper(this);
-
- public MenuShadow() {
- attributes.add(/* NOI18N */"canTearOff",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE,
- CONSTRUCTOR | NONBODY);
- attributes.add(/* NOI18N */"text",
- /* NOI18N */"java.lang.String", /* NOI18N */"menu",
- CONSTRUCTOR | NONBODY);
-
- if (Global.isIrix())
- attributes.add(/* NOI18N */"font", /* NOI18N */"java.awt.Font",
- new Font(/* NOI18N */"Sansserif",
- Font.PLAIN, 12), DONTFETCH);
- else if (Global.isMotif())
- attributes.add(/* NOI18N */"font", /* NOI18N */"java.awt.Font",
- new Font(/* NOI18N */"Dialog",
- Font.PLAIN, 12), DONTFETCH);
- }
-
- public void createBody() {
- Boolean canTearOff = (Boolean) getFromTable(/* NOI18N */"canTearOff");
- if (canTearOff != null)
- body = new Menu((String) getFromTable(/* NOI18N */"text"),
- canTearOff.booleanValue());
- else
- body = new Menu((String) getFromTable(/* NOI18N */"text"));
- }
-
-
- // AMContainer interfaces
-
- public void add(AttributeManager child) {
- helper.add(child);
- }
-
- public void remove(AttributeManager child) {
- helper.remove(child);
- }
-
- public void addChildBody(Shadow child) {
- if (body != null) {
- Menu menu = (Menu)body;
- MenuItem menuitem = (MenuItem)child.getBody();
-
- if (menuitem.getParent() != menu) {
- menu.add(menuitem);
- updateContainerAttributes((AMContainer)this, child);
- }
- }
- }
-
- public void updateContainerAttribute(AttributeManager child,
- String key, Object value) {
- if (key.equals(/* NOI18N */"separator")) {
- Menu menu = (Menu)body;
- MenuItemShadow menuItemShadow = (MenuItemShadow)child;
- MenuItem menuItem = (MenuItem)menuItemShadow.getBody();
-
- if (menu == null || menuItem == null)
- return;
-
- int count = menu.countItems();
- boolean val = ((Boolean)value).booleanValue();
- if (val == menuItemShadow.hasSeparator)
- return;
-
- if (val) {
- if (menu.getItem(count-1) == menuItem) {
- menuItemShadow.hasSeparator = true;
- ((Menu)body).addSeparator();
- } else {
- menuItemShadow.hasSeparator = false;
- MenuBarShadow menubar = (MenuBarShadow)getParent();
- if (menubar != null) {
- menubar.destroy();
- menubar.create();
- }
- }
- } else {
- menuItemShadow.hasSeparator = false;
- MenuBarShadow menubar = (MenuBarShadow)getParent();
- if (menubar != null) {
- menubar.destroy();
- menubar.create();
- }
- }
- }
- }
-
- public void removeChildBody(Shadow child) {
- if (body != null) {
- ((Menu) body).remove((MenuComponent) child.getBody());
- }
- }
-
- public void createChildren() {
- helper.createChildren();
- }
-
- public void reparentChildren() {
- helper.reparentChildren();
- }
-
- public void destroyChildren() {
- helper.destroyChildren();
- }
-
- public AttributeManager getChild(String name) {
- return (helper.getChild(name));
- }
-
- public Enumeration getChildList() {
- return (helper.getChildList());
- }
-
- public int getChildCount() {
- return (helper.getChildCount());
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/PanelShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/PanelShadow.java
deleted file mode 100644
index 74213c419a..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/PanelShadow.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) PanelShadow.java 1.15 - last change made 07/28/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import java.awt.Panel;
-import java.awt.FlowLayout;
-import sunsoft.jws.visual.rt.base.Global;
-
-/* BEGIN JSTYLED */
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
- name type default value
- -----------------------------------------------------------------------
- none
- * </pre>
- *
- * Check the super class for additional attributes.
- *
- * @see Panel
- * @see sunsoft.jws.visual.rt.shadow.VJPanelShadow
- * @version 1.15, 07/28/97
- */
-/* END JSTYLED */
-public class PanelShadow extends ContainerShadow {
- public PanelShadow() {
- GBConstraints c = (GBConstraints)get(/* NOI18N */"GBConstraints");
- c.fill = GBConstraints.BOTH;
- attributes.add(/* NOI18N */"GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.GBConstraints",
- c);
- }
-
- public void createBody() {
- Panel panel = new Panel();
- panel.setLayout(new FlowLayout());
- body = panel;
- }
-
- protected Object getOnBody(String key) {
- return super.getOnBody(key);
- }
-
- protected void setOnBody(String key, Object value) {
- super.setOnBody(key, value);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ScrollbarShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ScrollbarShadow.java
deleted file mode 100644
index 91e8a60645..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/ScrollbarShadow.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) ScrollbarShadow.java 1.32 - last change made 07/28/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import sunsoft.jws.visual.rt.awt.VJScrollbar;
-import sunsoft.jws.visual.rt.type.OrientationEnum;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-lineIncrement java.lang.Integer 10
-maximum java.lang.Integer 100
-minimum java.lang.Integer 0
-orientation rt.type.OrientationEnum vertical
-pageIncrement java.lang.Integer 10
-value java.lang.Integer 0
-visiblePageSize java.lang.Integer 50
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see VJScrollbar
-* @see Scrollbar
-* @version 1.32, 07/28/97
-*/
-public class ScrollbarShadow extends ComponentShadow {
-
- public ScrollbarShadow() {
- attributes.add(/* NOI18N */"orientation",
- /* NOI18N */"sunsoft.jws.visual.rt.type.OrientationEnum",
- new OrientationEnum(VJScrollbar.VERTICAL),
- CONSTRUCTOR);
- attributes.add(/* NOI18N */"lineIncrement",
- /* NOI18N */"java.lang.Integer", new Integer(10), 0);
- attributes.add(/* NOI18N */"maximum",
- /* NOI18N */"java.lang.Integer", new Integer(100), 0);
- attributes.add(/* NOI18N */"minimum",
- /* NOI18N */"java.lang.Integer", new Integer(0), 0);
- attributes.add(/* NOI18N */"pageIncrement",
- /* NOI18N */"java.lang.Integer", new Integer(10), 0);
- attributes.add(/* NOI18N */"value",
- /* NOI18N */"java.lang.Integer", new Integer(0), 0);
- attributes.add(/* NOI18N */"visiblePageSize",
- /* NOI18N */"java.lang.Integer", new Integer(50), 0);
-
- GBConstraints c = (GBConstraints)get(/* NOI18N */"GBConstraints");
- c.fill = GBConstraints.VERTICAL;
- attributes.add(/* NOI18N */"GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.GBConstraints",
- c);
- }
-
- /**
- * A change in the orientation of a scrollbar should also result
- * in a change of the fill mode in its GBConstraints.
- */
- private void setProperFill(int orientation) {
- GBConstraints c = (GBConstraints)get(/* NOI18N */"GBConstraints");
-
- if (c == null)
- /* JSTYLED */
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.awt.java.awt.ScrollbarShadow.NoLayoutConstraints"));
- else if ((c.fill == GBConstraints.VERTICAL
- && orientation == VJScrollbar.HORIZONTAL) ||
- (c.fill == GBConstraints.HORIZONTAL
- && orientation == VJScrollbar.VERTICAL)) {
- c = (GBConstraints) c.clone();
- if (orientation == VJScrollbar.VERTICAL)
- c.fill = GBConstraints.VERTICAL;
- else
- c.fill = GBConstraints.HORIZONTAL;
- set(/* NOI18N */"GBConstraints", c);
- }
- }
-
- protected Object getOnBody(String key) {
- VJScrollbar sbar = (VJScrollbar)body;
-
- if (key.equals(/* NOI18N */"orientation"))
- return (new OrientationEnum(sbar.getOrientation()));
- else if (key.equals(/* NOI18N */"lineIncrement"))
- return (new Integer(sbar.getLineIncrement()));
- else if (key.equals(/* NOI18N */"maximum"))
- return (new Integer(sbar.getMaximum()));
- else if (key.equals(/* NOI18N */"minimum"))
- return (new Integer(sbar.getMinimum()));
- else if (key.equals(/* NOI18N */"pageIncrement"))
- return (new Integer(sbar.getPageIncrement()));
- else if (key.equals(/* NOI18N */"value"))
- return (new Integer(sbar.getValue()));
- else if (key.equals(/* NOI18N */"visiblePageSize"))
- return (new Integer(sbar.getVisible()));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- VJScrollbar sbar = (VJScrollbar)body;
-
- if (key.equals(/* NOI18N */"lineIncrement")) {
- sbar.setLineIncrement(((Integer) value).intValue());
- } else if (key.equals(/* NOI18N */"maximum")) {
- sbar.setValues(sbar.getValue(), sbar.getVisible(),
- sbar.getMinimum(), ((Integer) value).intValue());
- } else if (key.equals(/* NOI18N */"minimum")) {
- sbar.setValues(sbar.getValue(), sbar.getVisible(),
- ((Integer) value).intValue(), sbar.getMaximum());
- } else if (key.equals(/* NOI18N */"pageIncrement")) {
- sbar.setPageIncrement(((Integer) value).intValue());
- } else if (key.equals(/* NOI18N */"value")) {
- sbar.setValue(((Integer) value).intValue());
- } else if (key.equals(/* NOI18N */"visiblePageSize")) {
- sbar.setValues(sbar.getValue(),
- ((Integer) value).intValue(),
- sbar.getMinimum(), sbar.getMaximum());
- } else if (key.equals(/* NOI18N */"orientation")) {
- setProperFill(((OrientationEnum) value).intValue());
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void createBody() {
- /* JSTYLED */
- int orientation = ((OrientationEnum) getFromTable(/* NOI18N */"orientation")).intValue();
-
- // Use the VJScrollbar because it has workarounds for the broken
- // scrollbars on Windows.
- body = new VJScrollbar(orientation);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextAreaShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextAreaShadow.java
deleted file mode 100644
index 9fe05721a2..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextAreaShadow.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) TextAreaShadow.java 1.19 - last change made 08/12/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import java.awt.TextArea;
-import java.awt.SystemColor;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-numColumns java.lang.Integer 10
-numRows java.lang.Integer 10
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see TextArea
-* @version 1.19, 08/12/97
-*/
-public class TextAreaShadow extends TextComponentShadow {
- public TextAreaShadow() {
- attributes.add(/* NOI18N */"numColumns",
- /* NOI18N */"java.lang.Integer", new Integer(10),
- CONSTRUCTOR);
- attributes.add(/* NOI18N */"numRows",
- /* NOI18N */"java.lang.Integer", new Integer(10),
- CONSTRUCTOR);
-
- GBConstraints c = (GBConstraints)get(/* NOI18N */"GBConstraints");
- c.fill = GBConstraints.BOTH;
- attributes.add(/* NOI18N */"GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.GBConstraints",
- c);
-
- // This is a work around for JDK color bug. The defaults are
- // not correctly set
- if (Global.isWindows()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.window, DONTFETCH);
- }
- if (Global.isMotif()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.text, DONTFETCH);
- attributes.add(/* NOI18N */"foreground",
- /* NOI18N */"java.awt.Color",
- SystemColor.textText, DONTFETCH);
- }
- }
-
- protected Object getOnBody(String key) {
- TextArea textarea = (TextArea)body;
-
- if (key.equals(/* NOI18N */"text")) {
- return textarea.getText();
- } else if (key.equals(/* NOI18N */"numColumns")) {
- return new Integer(textarea.getColumns());
- } else if (key.equals(/* NOI18N */"numRows")) {
- return new Integer(textarea.getRows());
- } else {
- return super.getOnBody(key);
- }
- }
-
- protected void setOnBody(String key, Object value) {
- TextArea textarea = (TextArea)body;
-
- if (key.equals(/* NOI18N */"text")) {
- String text = (String)value;
- String text2 = textarea.getText();
- if (text == null)
- text = /* NOI18N */"";
- if (!text.equals(text2))
- textarea.setText(text);
- } else if (key.equals(/* NOI18N */"numColumns")) {
- return; // can't set this attribute dynamically
- } else if (key.equals(/* NOI18N */"numRows")) {
- return; // can't set this attribute dynamically
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void createBody() {
- boolean initText, initColumns, initRows;
- String initTextValue;
- Integer initColumnsValue, initRowsValue;
-
- initTextValue = (String)getFromTable(/* NOI18N */"text");
- initText = (initTextValue != null);
-
- initColumnsValue = (Integer) (getFromTable(/* NOI18N */"numColumns"));
- initColumns = (initColumnsValue != null);
-
- initRowsValue = (Integer) (getFromTable(/* NOI18N */"numRows"));
- initRows = (initRowsValue != null);
-
- if (initText & initColumns & initRows) {
- body = new TextArea(initTextValue, initRowsValue.intValue(),
- initColumnsValue.intValue());
- } else if (initColumns & initRows) {
- body = new TextArea(initRowsValue.intValue(),
- initColumnsValue.intValue());
- } else if (initText) {
- body = new TextArea(initTextValue);
- } else {
- body = new TextArea();
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextComponentShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextComponentShadow.java
deleted file mode 100644
index a2759030df..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextComponentShadow.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) TextComponentShadow.java 1.20 - last change made 07/28/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import java.awt.TextComponent;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-editable java.lang.Boolean true
-text java.lang.String ""
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see TextComponent
-* @version 1.20, 07/28/97
-*/
-public class TextComponentShadow extends ComponentShadow {
- public TextComponentShadow() {
- attributes.add(/* NOI18N */"text",
- /* NOI18N */"java.lang.String", /* NOI18N */"", 0);
- attributes.add(/* NOI18N */"editable",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, 0);
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"text"))
- return ((((TextComponent) body).getText()));
- else if (key.equals(/* NOI18N */"editable"))
- return (new Boolean(((TextComponent) body).isEditable()));
- else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- TextComponent textcomp = (TextComponent)body;
-
- if (key.equals(/* NOI18N */"text")) {
- String text = textcomp.getText();
-
- if ((value == null && text != null && !text.equals(/* NOI18N */""))
- || (value != null && !value.equals(text))) {
- textcomp.setText((String) value);
- }
- } else if (key.equals(/* NOI18N */"editable")) {
- textcomp.setEditable(((Boolean) value).booleanValue());
- } else {
- super.setOnBody(key, value);
- }
- }
-
- public void createBody() {};
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextFieldShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextFieldShadow.java
deleted file mode 100644
index 4934511272..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/TextFieldShadow.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) TextFieldShadow.java 1.34 - last change made 08/12/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import java.awt.TextField;
-import java.awt.Insets;
-import java.awt.SystemColor;
-
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
-name type default value
------------------------------------------------------------------------
-numColumns java.lang.Integer 10
-echoCharacter java.lang.Character new Character((char) 0)
-* < /pre>
-*
-* Check the super class for additional attributes.
-*
-* @see TextField
-* @version 1.34, 08/12/97
-*/
-public class TextFieldShadow extends TextComponentShadow {
-
- public TextFieldShadow() {
- attributes.add(/* NOI18N */"text",
- /* NOI18N */"java.lang.String",
- /* NOI18N */"", NOEDITOR);
- attributes.add(/* NOI18N */"numColumns",
- /* NOI18N */"java.lang.Integer", new Integer(10),
- CONSTRUCTOR);
-
- // This is a constructor attribute because the "setEchoCharater"
- // method does not actually update the text on Windows. Also,
- // the workaround which is to set the text again does not
- // work on Motif!
- attributes.add(/* NOI18N */"echoCharacter",
- /* NOI18N */"java.lang.Character",
- new Character((char)0), CONSTRUCTOR);
- GBConstraints c = (GBConstraints)get(/* NOI18N */"GBConstraints");
- c.fill = GBConstraints.HORIZONTAL;
- attributes.add(/* NOI18N */"GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.awt.GBConstraints",
- c);
-
- // Workaround for layout problems caused by the fact that
- // textfields on all platforms except WindowsNT have gaps around
- // the border of the textfield.
- if (Global.isWindowsNT()) {
- attributes.add(/* NOI18N */"insets",
- /* NOI18N */"java.awt.Insets",
- new Insets(2, 2, 2, 2));
- }
-
- // This is a work around for JDK color bug. The defaults are
- // not correctly set
- if (Global.isWindows()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.window, DONTFETCH);
- }
- if (Global.isMotif()) {
- attributes.add(/* NOI18N */"background",
- /* NOI18N */"java.awt.Color",
- SystemColor.text, DONTFETCH);
- attributes.add(/* NOI18N */"foreground",
- /* NOI18N */"java.awt.Color",
- SystemColor.textText, DONTFETCH);
- }
-
- }
-
- protected Object getOnBody(String key) {
- if (key.equals(/* NOI18N */"numColumns"))
- return (new Integer((((TextField) body).getColumns())));
- if (key.equals(/* NOI18N */"echoCharacter")) {
- return (new Character((((TextField) body).getEchoChar())));
- } else
- return (super.getOnBody(key));
- }
-
- protected void setOnBody(String key, Object value) {
- if (key.equals(/* NOI18N */"numColumns")) {
- return; // can't set this attribute dynamically
- } else if (key.equals(/* NOI18N */"echoCharacter")) {
- if (value != null) {
- /* JSTYLED */
- ((TextField) body).setEchoCharacter(((Character)value).charValue());
- }
- }
- else
- super.setOnBody(key, value);
- }
-
- public void createBody() {
- boolean initText, initColumns;
- String initTextValue;
- Integer initColumnsValue;
- Character echoChar;
-
- initTextValue = (String) (getFromTable(/* NOI18N */"text"));
- initText = (initTextValue != null);
-
- initColumnsValue = (Integer) (getFromTable(/* NOI18N */"numColumns"));
- initColumns = (initColumnsValue != null);
-
- if (initText & initColumns)
- body = new TextField(initTextValue, initColumnsValue.intValue());
- else if (initColumns)
- body = new TextField(initColumnsValue.intValue());
- else if (initText)
- body = new TextField(initTextValue);
- else
- body = new TextField();
-
- echoChar = (Character) get(/* NOI18N */"echoCharacter");
- if (echoChar != null) {
- ((TextField) body).setEchoCharacter(echoChar.charValue());
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/WindowShadow.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/WindowShadow.java
deleted file mode 100644
index c8e20d7552..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/shadow/java/awt/WindowShadow.java
+++ /dev/null
@@ -1,908 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) WindowShadow.java 1.119 - last change made 07/28/97
- */
-
-package sunsoft.jws.visual.rt.shadow.java.awt;
-
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.awt.*;
-import sunsoft.jws.visual.rt.type.AnchorEnum;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.util.*;
-import java.awt.*;
-
-/* BEGIN JSTYLED */
-/**
- * Wraps an AWT widget. The attributes available for this
- * class are listed below. In the type column, type names beginning
- * with "sunsoft.jws.visual.rt" have been abbreviated to begin with "rt".
- *
- * <pre>
- name type default value
- -----------------------------------------------------------------------
- location java.awt.Point null
- size java.awt.Dimension null
- * < /pre>
-*
-* location: location for the window, if the location is set before
-* the window is mapped, then when the window is mapped, it will come
-* up at the specified location. If the location is set while the
-* window is mapped, then window will immediately be moved to the new
-* location.
-* < p>
-* size: desired size for the window, if set before mapping, the
-* window will later be mapped with this size. However, the size
-* dimensions are first checked to ensure that the dimensions are at
-* least as big as the preferredSize. If set after mapping and
-* non-null, the window will be resized to the new size after maxing
-* with preferredSize. "get" returns the value for the desired size,
-* NOT the actual size of the window. The "size" attribute does not
-* take effect when in layout mode.
-* < p>
-* Check the super class for additional attributes.
-*
-* @see Window
-* @version 1.119, 07/28/97
-*/
-/* END JSTYLED */
-
-public class WindowShadow extends ContainerShadow {
- private static final int PADX = 100;
- private static final int PADY = 100;
-
- private static Point defaultLocation = new Point(100, 100);
- private static Dimension defaultSize = new Dimension(100, 100);
-
- private boolean packed = false;
-
- public static void setDefaultLocation(Point p) {
- defaultLocation = p;
- }
-
- public static Point getDefaultLocation() {
- return defaultLocation;
- }
-
- public static void setDefaultSize(Dimension d) {
- defaultSize = d;
- }
-
- public static Dimension getDefaultSize() {
- return defaultSize;
- }
-
- private boolean layoutMode = false;
-
- public WindowShadow() {
- attributes.remove(/* NOI18N */"GBConstraints");
- attributes.remove(/* NOI18N */"borderName");
- attributes.remove(/* NOI18N */"flowRank");
- attributes.remove(/* NOI18N */"anchor");
- attributes.remove(/* NOI18N */"insets");
-
- attributes.add(/* NOI18N */"visible",
- /* NOI18N */"java.lang.Boolean", Boolean.TRUE, NONBODY);
-
- attributes.add(/* NOI18N */"location",
- /* NOI18N */"java.awt.Point", null, 0);
- attributes.add(/* NOI18N */"layoutLocation",
- /* NOI18N */"java.awt.Point", null, HIDDEN);
- attributes.add(/* NOI18N */"currentLocation",
- /* NOI18N */"java.awt.Point", null,
- HIDDEN | TRANSIENT | READONLY);
-
- attributes.add(/* NOI18N */"size",
- /* NOI18N */"java.awt.Dimension", null, 0);
- attributes.add(/* NOI18N */"layoutSize",
- /* NOI18N */"java.awt.Dimension", null, HIDDEN);
- attributes.add(/* NOI18N */"currentSize",
- /* NOI18N */"java.awt.Dimension", null,
- HIDDEN | TRANSIENT | READONLY);
- }
-
- protected boolean useLayoutLocation() {
- if (!layoutMode)
- return false;
-
- if (inDesignerRoot())
- return true;
-
- Group g = getGroup();
- if (g == null)
- return false;
-
- if (DesignerAccess.getWindow(g) != this)
- return false;
-
- return (g.inDesignerRoot());
- }
-
- protected boolean useLayoutSize() {
- return (layoutMode && inDesignerRoot());
- }
-
- protected Object getOnBody(String key) {
- Window win = (Window)body;
-
- if (key.equals(/* NOI18N */"location")) {
- return getFromTable(key);
- } else if (key.equals(/* NOI18N */"layoutLocation")) {
- if (useLayoutLocation()) {
- // fix for Sun bug #4037679: layout window locations
- // are not being remembered. This is because
- // win.location() returns the location that the window
- // was created with, rather than the screen location.
- // So if the window moved, the location() method
- // doesn't report the new location. However,
- // locationOnScreen() only works if the window is
- // actually showing. Otherwise it throws an exception.
- // -- Simran. 5/7/97
- Point loc;
- try {
- loc = win.getLocationOnScreen();
- } catch (IllegalComponentStateException e) {
- loc = win.getLocation();
- }
-
- return loc;
- } else
- return getFromTable(key);
- } else if (key.equals(/* NOI18N */"currentLocation")) {
- return win.location();
- } else if (key.equals(/* NOI18N */"size")) {
- return getFromTable(key);
- } else if (key.equals(/* NOI18N */"layoutSize")) {
- if (useLayoutSize())
- return win.size();
- else
- return getFromTable(key);
- } else if (key.equals(/* NOI18N */"currentSize")) {
- return win.size();
- } else {
- return super.getOnBody(key);
- }
- }
-
- protected void setOnBody(String key, Object value) {
- Window win = (Window)body;
-
- if (key.equals(/* NOI18N */"location")) {
- putInTable(key, value);
- if (value != null && !useLayoutLocation()) {
- Point p = getWindowLocation(false);
- win.move(p.x, p.y);
- }
- } else if (key.equals(/* NOI18N */"layoutLocation")) {
- putInTable(key, value);
- if (value != null && useLayoutLocation()) {
- Point p = getWindowLocation(true);
- win.move(p.x, p.y);
- }
- } else if (key.equals(/* NOI18N */"size")) {
- putInTable(key, value);
- if (value != null && !useLayoutSize())
- win.resize(getWindowSize(win, false));
- } else if (key.equals(/* NOI18N */"layoutSize")) {
- putInTable(key, value);
- if (value != null && useLayoutSize())
- win.resize(getWindowSize(win, true));
- } else {
- super.setOnBody(key, value);
- }
- }
-
- // REMIND: if Window had a frame attribute like a dialog it could be
- // instantiated here (but would probably only work on Windows 96 at
- // the moment)
- public void createBody() {};
-
- protected void registerBody() {
- Window win = (Window)body;
- if (!(win.getLayout() instanceof GBLayout)) {
- GBLayout gridbag = new GBLayout();
- double w[] = {1};
- gridbag.columnWeights = w;
- gridbag.rowWeights = w;
-
- win.setLayout(gridbag);
- }
-
- super.registerBody();
- }
-
- protected void postCreate() {
- super.postCreate();
-
- if (body instanceof RootWindow) {
- if (layoutMode)
- ((RootWindow)body).layoutMode();
- else
- ((RootWindow)body).previewMode();
- }
-
- if (!doingShow())
- showComponent(isVisible());
- }
-
- protected void preDestroy() {
- packed = false;
- }
-
- /**
- * Returns true if the window's group is currently visible,
- * and the window's visible attribute is set to true.
- */
- public boolean isVisible() {
- if (!hasAttribute(/* NOI18N */"visible"))
- return false;
-
- Boolean v = (Boolean) getFromTable(/* NOI18N */"visible");
- if (!v.booleanValue())
- return false;
-
- Group g = getRoot().getGroup();
- if (g != null)
- return g.isShowing();
-
- return true;
- }
-
- public void updateContainerAttribute(AttributeManager child,
- String key, Object value) {
- if (key.equals(/* NOI18N */"anchor")) {
- GBConstraints c =
- (GBConstraints)child.get(/* NOI18N */"GBConstraints");
- if (c == null)
- return;
-
- int anchor = ((AnchorEnum)value).intValue();
- if (anchor != c.anchor) {
- c.anchor = anchor;
- child.set(/* NOI18N */"GBConstraints", c);
- }
- } else if (key.equals(/* NOI18N */"insets")) {
- GBConstraints c =
- (GBConstraints)child.get(/* NOI18N */"GBConstraints");
- if (c == null)
- return;
-
- Insets insets = (Insets)value;
- if (c.insets != insets) {
- c.insets = insets;
- child.set(/* NOI18N */"GBConstraints", c);
- }
- } else if (key.equals(/* NOI18N */"GBConstraints")) {
- GBConstraints c = (GBConstraints)value;
- if (c == null)
- c = new GBConstraints();
-
- Shadow s = (Shadow)child;
- Component comp = (Component)s.getBody();
- if (comp == null)
- return;
-
- int anchor =
- ((AnchorEnum)child.get(/* NOI18N */"anchor")).intValue();
- c.anchor = anchor;
- c.insets = (Insets)child.get(/* NOI18N */"insets");
-
- GBLayout gb = (GBLayout)((Window)body).getLayout();
- gb.setConstraints(comp, c);
- }
- }
-
- public void pack() {
- checkCreate();
-
- // Get the body AFTER the call to checkCreate
- Window win = (Window)body;
-
- boolean hasPeer = (win.getPeer() != null);
-
- if (!hasPeer) {
- //
- // Workaround for SGI: When a frame is shown with size
- // (0,0), it will fill the entire screen area momentarily
- // until reshape is called. This causes annoying
- // flickering behavior.
- //
- if (Global.isIrix()) {
- Dimension size = win.size();
- if (size.width == 0 || size.height == 0)
- win.reshape(0, 0, 40, 40);
- }
-
- win.addNotify();
-
- Group g = getGroup();
- if (g != null && DesignerAccess.getWindow(g) == this)
- DesignerAccess.preValidate(g);
-
- preValidate();
- }
-
- // Reshape the window
- resizePreferredSize(win, hasPeer);
-
- // Validate the window.
- win.validate();
-
- // Set the packed flag to true
- packed = true;
- }
-
- /**
- * Shows the component. Calling showComponent does not affect the
- * value of the visible attrbute. You should use "show" instead of
- * "showComponent". The only reason this method exists is that
- * Visual Java needs to use it in certain situations.
- */
- public void showComponent() {
- checkCreate();
-
- // Pack the window if necessary
- Window win = (Window)body;
-
- if (packed && win.getPeer() == null)
- packed = false;
-
- if (!packed)
- pack();
-
- // Show the window
- win.show();
-
- // Usually, calling show() on a visible Window will bring it
- // to the front. Unfortunately, it doesn't behave like this.
- if (Global.isWindows()) {
- win.toFront();
- }
-
- // Make sure the window shows up right away. This tends to make
- // the user happier.
- win.getToolkit().sync();
- }
-
- protected void checkCreate() {
- // Call create if it hasn't already been called.
- if (!isCreated()) {
- doingShow = true;
- create();
- doingShow = false;
- }
- }
-
- private void resizePreferredSize(Window win, boolean hasPeer) {
- Point location = getWindowLocation(useLayoutLocation());
- Dimension size = getWindowSize(win, useLayoutSize());
-
- constrainToScreen(win, location, size);
-
- if (win instanceof Dialog) {
- // Adjust the location the first time the dialog is mapped
- // after the peer has been created. There is an AWT bug
- // that screws up the location of the dialog, so we have
- // to make this adjustment.
- if (Global.isMotif() && !hasPeer) {
- location.x -= size.width/2;
- location.y -= size.height/2;
- }
-
- win.reshape(location.x, location.y, size.width, size.height);
- } else {
- if (hasPeer)
- win.resize(size.width, size.height);
- else
- win.reshape(location.x, location.y, size.width, size.height);
- }
- }
-
- private Point getDialogLocation(Dialog dialog) {
- Frame frame = (Frame)dialog.getParent();
- Point p = frame.location();
- Dimension fsize = frame.size();
- Dimension dsize = dialog.preferredSize();
-
- p.x += (fsize.width - dsize.width)/2;
- p.y += (fsize.height - dsize.height)/2;
-
- return p;
- }
-
- private Point getWindowLocation(boolean layoutLocation) {
- if (body instanceof Dialog)
- return getDialogLocation((Dialog)body);
-
- ContainerShadow panel = getPanel();
- Point location = null;
-
- if (layoutLocation) {
- if (panel != null)
- location = (Point) panel.get(/* NOI18N */"layoutLocation");
- else
- location = (Point) getFromTable(/* NOI18N */"layoutLocation");
-
- if (location == null)
- location = getDefaultLocation();
- } else {
- location = (Point) getFromTable(/* NOI18N */"location");
-
- if (location == null)
- location = getDefaultLocation();
- }
-
- return location;
- }
-
- private Dimension getWindowSize(Window win, boolean layoutSize) {
- ContainerShadow panel = getPanel();
- Dimension size;
-
- if (layoutSize) {
- if (panel != null)
- size = (Dimension) panel.get(/* NOI18N */"layoutSize");
- else
- size = (Dimension) getFromTable(/* NOI18N */"layoutSize");
-
- if (size == null)
- size = getDefaultSize();
- } else {
- Dimension prefSize = win.preferredSize();
- size = (Dimension) getFromTable(/* NOI18N */"size");
-
- if (size == null) {
- size = prefSize;
- } else {
- size.width = Math.max(size.width, prefSize.width);
- size.height = Math.max(size.height, prefSize.height);
- }
- }
-
- return size;
- }
-
- private void constrainToScreen(Window win, Point location, Dimension size) {
- // Constrain the window to fit on the screen
- Dimension screenSize = getScreenSize(win);
-
- int x = screenSize.width - size.width;
- if (location.x > x)
- location.x = x;
- if (location.x < 0)
- location.x = 0;
-
- int y = screenSize.height - size.height;
- if (location.y > y)
- location.y = y;
- if (location.y < 0)
- location.y = 0;
-
- int width = screenSize.width - location.x;
- if (size.width > width)
- size.width = width;
-
- int height = screenSize.height - location.y;
- if (size.height > height)
- size.height = height;
- }
-
- private Dimension getScreenSize(Window win) {
- Dimension d = win.getToolkit().getScreenSize();
- d.width -= 6;
- d.height -= 6;
-
- if (Global.isWindows95()) {
- // Subtract some extra space for the icon bar
- d.height -= 30;
- }
-
- return d;
- }
-
- private void recurseInvalidate(Component comp) {
- comp.invalidate();
- if (comp instanceof Container) {
- Container cntr = (Container)comp;
- int count = cntr.countComponents();
- for (int i = 0; i < count; i++)
- recurseInvalidate(cntr.getComponent(i));
- }
- }
-
- /**
- * Disposes of the AWT top-level window so that window system
- * resources are reclaimed.
- */
- protected void destroyBody() {
- //
- // Cache the location when the window is destroyed.
- //
- // "put" is called directly because "set" won't work if
- // "isPanel" is true.
- //
- if (useLayoutLocation()) {
- Point location = ((Window)body).location();
- putInTable(/* NOI18N */"layoutLocation", location);
- }
-
- ((Window)body).dispose();
- body = null;
- }
-
- /**
- * "isPanel" flag. If this flag is set, then this frame exists only
- * to allow the panel to be edited in the builder. When a saving or
- * generation is performed, this window should be omitted.
- */
-
- private boolean isPanel = false;
- private String prevTitle = /* NOI18N */"Unnamed Window";
-
- public boolean isPanel() {
- return isPanel;
- }
-
- public void isPanel(boolean isPanel) {
- if (this.isPanel != isPanel) {
- if (isPanel) {
- prevTitle = (String)get(/* NOI18N */"title");
- set(/* NOI18N */"title", /* NOI18N */"PANEL");
- this.isPanel = isPanel; // this must be last
- } else {
- // Ordering is important here. As soon as isPanel is
- // changed, the nature of this window changes (and
- // affects the isUniqueName call, for example.) While
- // isPanel is still true, get("name") returns the name
- // of the surrounded panel.
- //
- this.isPanel = isPanel; // this must be first
-
- // It is possible that a new frame has been imported
- // or created that has the same name as this one (that
- // was surrounding a panel and was invisible in the
- // hierarchy.) Until a frame has isPanel set to
- // false, it is never included in a unique name check,
- // so make sure that the window's name is unique in
- // the Root tree. If the frame isn't in a Root tree
- // then don't worry about it.
- //
- if (getRoot() != null) {
- String name = (String) get(/* NOI18N */"name");
- if ((name == null)
- || !DesignerAccess.isUniqueName(getRoot(), name, this))
- set(/* NOI18N */"name",
- DesignerAccess.getUniqueName(getRoot(), this));
- }
-
- set(/* NOI18N */"title", prevTitle);
- }
- }
- }
-
- /**
- * If the "isPanel" flag is set, all the attributes should come from
- * the child panel, not the frame.
- */
-
- public ContainerShadow getPanel() {
- if (!isPanel)
- return null;
-
- if (getChildCount() == 0)
- return null;
-
- return (ContainerShadow)getChildList().nextElement();
- }
-
- // Bug 4054883 Mark Davison July 9, 1997
- // The next series of methods are implemented as a work around in which
- // attributes are set on the VJLayout frame instead of the GBPanel
- // if isPanel == false. This is just a quick and safe fix. The real solution
- // is to get rid of the isPanel flag and associated behaviour altogether.
-
- private static Class enclosingFrame = null;
-
- /**
- * Caching method which returns the enclosing frame (most likely VJLayout)
- */
- private Class getEnclosingFrameClass() {
- if (enclosingFrame == null)
- enclosingFrame = DesignerAccess.getFrameClass();
-
- return enclosingFrame;
- }
-
- /**
- * Tests to see if the object is an enclosing frame.
- */
- private boolean isEnclosingFrame(Object obj) {
- Class frame = getEnclosingFrameClass();
- if (frame != null && frame.isInstance(body))
- return true;
- else
- return false;
- }
-
- /**
- * Puts the attribute on the enclosed PanelShadow rather than on the
- * WindowShadow.
- * This bypasses the getPanel method because if VJLayout represents
- * a Frame
- * or Dialog, the attributes will be set on the VJLayout (which
- * is incorrect).
- */
- protected void setOnPanel(String key, Object value) {
- ContainerShadow panel = (ContainerShadow)getChildList().nextElement();
- if (panel != null && panel instanceof PanelShadow)
- panel.set(key, value);
- }
-
- /**
- * Retrieves the attributes from the panel thereby bypassing the
- * isPanel flag.
- */
- protected Object getOnPanel(String key) {
- ContainerShadow panel = (ContainerShadow)getChildList().nextElement();
- if (panel != null && panel instanceof PanelShadow)
- return panel.get(key);
- return null;
- }
-
- public void set(String key, Object value) {
- ContainerShadow panel = getPanel();
-
- if (panel != null &&
- !key.equals(/* NOI18N */"location") &&
- !key.equals(/* NOI18N */"layoutLocation") &&
- !key.equals(/* NOI18N */"size") &&
- !key.equals(/* NOI18N */"layoutSize")) {
- panel.set(key, value);
- } else if (key.equals(/* NOI18N */"visible")) {
- if (!hasAttribute(/* NOI18N */"visible"))
- return;
-
- Boolean oldValue, newValue;
-
- oldValue = (Boolean)get(/* NOI18N */"visible");
- newValue = (Boolean)value;
-
- // Don't let visible be set to false if we are the main
- // container and we are running inside vjava.
- if (inDesignerRoot() && isMainContainer()
- && !newValue.booleanValue()) {
- /* JSTYLED */
- throw new VJException(Global.getMsg("sunsoft.jws.visual.rt.awt.java.awt.WindowShadow.IllegalSetVisible"));
- }
-
- super.set(key, value);
-
- if (!doingShow()) {
- if (oldValue.booleanValue() != newValue.booleanValue()) {
- showComponent(isVisible());
- }
- }
- } else {
- // If the body is an enclosing frame, the atributes should not be
- // set on the body.
- if (isEnclosingFrame(body)) {
- if (key.equals(/* NOI18N */"background") ||
- key.equals(/* NOI18N */"foreground")) {
- setOnPanel(key, value);
- return;
- }
- }
-
- super.set(key, value);
- }
- }
-
- public Object get(String key) {
- ContainerShadow panel = getPanel();
- if (panel != null &&
- !key.equals(/* NOI18N */"location") &&
- !key.equals(/* NOI18N */"layoutLocation") &&
- !key.equals(/* NOI18N */"size") &&
- !key.equals(/* NOI18N */"layoutSize"))
- return panel.get(key);
- else {
- // If the body is an enclosing frame, the atributes should
- // be retrieved from the panel.
- if (isEnclosingFrame(body)) {
- if (key.equals(/* NOI18N */"background") ||
- key.equals(/* NOI18N */"foreground"))
- return getOnPanel(key);
- }
-
- return super.get(key);
- }
- }
-
- public String getType(String key) {
- ContainerShadow panel = getPanel();
- if (panel != null)
- return panel.getType(key);
- else
- return super.getType(key);
- }
-
- public int getFlags(String key) {
- ContainerShadow panel = getPanel();
- if (panel != null)
- return panel.getFlags(key);
- else
- return super.getFlags(key);
- }
-
- public boolean hasAttribute(String key) {
- ContainerShadow panel = getPanel();
- if (panel != null)
- return panel.hasAttribute(key);
- else
- return super.hasAttribute(key);
- }
-
- public boolean hasAttribute(String key, String type) {
- ContainerShadow panel = getPanel();
- if (panel != null)
- return panel.hasAttribute(key, type);
- else
- return super.hasAttribute(key, type);
- }
-
- public AttributeList getAttributeList() {
- ContainerShadow panel = getPanel();
- if (panel != null)
- return panel.getAttributeList();
- else
- return super.getAttributeList();
- }
-
- public void refetchAttributeList() {
- ContainerShadow panel = getPanel();
- if (panel != null)
- panel.refetchAttributeList();
- else
- super.refetchAttributeList();
- }
-
- public void layoutMode() {
- super.layoutMode();
- setLayout(true);
- }
-
- public void previewMode() {
- super.previewMode();
- setPreview(true);
- }
-
- public void setLayout(boolean shouldResize) {
- if (layoutMode)
- return;
-
- layoutMode = true;
-
- if (body != null) {
- Window win = (Window)body;
-
- if (body instanceof RootWindow)
- ((RootWindow)body).layoutMode();
-
- if (shouldResize) {
- if (win.getPeer() != null) {
- if (useLayoutLocation() || useLayoutSize()) {
- Point p = getWindowLocation(useLayoutLocation());
- Dimension d = getWindowSize(win, useLayoutSize());
- win.reshape(p.x, p.y, d.width, d.height);
- }
- }
-
- win.validate();
- }
- }
- }
-
- public void setPreview(boolean shouldResize) {
- if (!layoutMode)
- return;
-
- if (body != null) {
- Window win = (Window)body;
-
- if (win instanceof RootWindow)
- ((RootWindow)win).previewMode();
-
- if (shouldResize) {
- if (win.getPeer() != null) {
- if (useLayoutLocation()) {
- putInTable(/* NOI18N */"layoutLocation",
- win.location());
- }
- if (useLayoutSize()) {
- putInTable(/* NOI18N */"layoutSize", win.size());
- }
-
- if (useLayoutLocation() || useLayoutSize()) {
- // fix for bug id 1263220 -kp commented out
- // was in their originally
- // Point p = getWindowLocation(false);
- Point p = getWindowLocation(useLayoutLocation());
- Dimension d = getWindowSize(win, false);
- constrainToScreen(win, p, d);
- win.reshape(p.x, p.y, d.width, d.height);
- }
- }
-
- win.validate();
- }
- }
-
- layoutMode = false;
- }
-
- public Dimension previewSize() {
- boolean isLayout = layoutMode;
-
- if (isLayout) {
- setPreview(false);
- super.previewMode();
- }
-
- Dimension size = ((Window)body).preferredSize();
- size = new Dimension(size.width, size.height);
-
- if (isLayout) {
- setLayout(false);
- super.layoutMode();
- }
-
- return size;
- }
-
- public boolean handleEvent(Message msg, Event evt) {
- if (msg.target == this && evt.id == Event.WINDOW_MOVED) {
- ContainerShadow panel = getPanel();
- if (panel != null) {
- boolean dirty = DesignerAccess.getChangesMade();
- panel.set(/* NOI18N */"layoutLocation",
- get(/* NOI18N */"layoutLocation"));
- panel.set(/* NOI18N */"layoutSize",
- get(/* NOI18N */"layoutSize"));
- DesignerAccess.setChangesMade(dirty);
- }
- }
-
- return super.handleEvent(msg, evt);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMConverter.java
deleted file mode 100644
index 2f14bf5ee8..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMConverter.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AMConverter.java 1.63 - last change made 06/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.shadow.java.awt.*;
-import sunsoft.jws.visual.rt.awt.CardPanel;
-import sunsoft.jws.visual.rt.shadow.CardPanelShadow;
-import java.util.*;
-
-/**
- * This class can convert attribute managment trees to strings and
- * such strings back again to attribute management trees. The string
- * produced is a complete description of an application, and so it can
- * be used to save a tree to a file.
- *
- * @see AttributeManager
- * @version 1.63, 06/25/97
- */
-public class AMConverter extends Converter {
-
- private static AttributeListConverter attrlistconv =
- new AttributeListConverter();
-
- public AMConverter() {
- }
-
- /**
- * List of paths (package prefixes) to groups of Shadow classes
- * also a few individual Shadow classes. The Hashtables are for
- * caching the matches after they are discovered.
- */
- private static Vector shadows = new Vector();
- private static Hashtable shortShadowKeyed = new Hashtable();
- private static Hashtable longShadowKeyed = new Hashtable();
-
- /**
- * Caches the matches after they are discovered.
- */
- private static void cacheShadowPair(String shortName,
- String longName) {
- shortShadowKeyed.put(shortName, longName);
- longShadowKeyed.put(longName, shortName);
- }
-
- /**
- * Adds the name of a package where custom shadow
- * classes can be found.
- * Package names in this list always end with a "."
- */
- private static void addShadowPath(String pkgName) {
- if (pkgName.endsWith(/* NOI18N */"."))
- shadows.addElement(pkgName);
- else
- shadows.addElement(/* NOI18N */(pkgName + "."));
- }
-
- /**
- * Adds a specific shadow class to the list.
- * Specific shadow classes
- * in the list never end with a "."
- */
- private static void addShadowItem(String className) {
- cacheShadowPair(Converter.shortClassName(className),
- className);
- }
-
- static {
- // add packages where shadow classes might be found
- //
- // Don't add any more of these or the quick
- // code generation will
- // be screwed!
- addShadowPath(/* NOI18N */"sunsoft.jws.visual.rt.shadow");
-
- // add individual exceptions
- addShadowItem
- (/* NOI18N */"sunsoft.jws.visual.rt.base.Root");
- }
-
- /**
- * Figures out the short name for a shadow class. Removes the
- * initial component of a class name if it's one of the currently
- * listed paths for finding shadow classes. The result is the
- * abbreviated name for the shadow class that can be placed in the
- * save file.
- *
- * Warning: you should not nest shadow packages in the path within
- * each other, as this routine might return the wrong shortened
- * form
- * of the class name.
- */
- private static String shortenShadowPath(String longClassName) {
- // return the cached value if available
- if (longShadowKeyed.containsKey(longClassName))
- return ((String) longShadowKeyed.get(longClassName));
- /* JSTYLED */
- for (Enumeration e = shadows.elements(); e.hasMoreElements(); ) {
- String s = (String) e.nextElement();
- if (longClassName.startsWith(s))
- return (longClassName.substring(s.length()));
- }
-
- // the long class name was not found in any of the paths
- return (longClassName);
- }
-
- /**
- * Searches the currently listed shadow paths for the shadow class
- * given. Returns a runtime class reference to the shadow class
- * once it finds that class under one of the paths (or, in the end,
- * under the actual name given.)
- *
- * This is basically the reverse of shortenShadowPath.
- */
- private static Class searchShadowPath(String shortClassName) {
- // return the cached value if available
- if (shortShadowKeyed.containsKey(shortClassName)) {
- try {
- return (Global.util.getClassLoader().loadClass
- ((String) shortShadowKeyed.get
- (shortClassName)));
- }
- catch (ClassNotFoundException ex) {
- // that didn't work, silently try something else...
- }
- }
-
- Class retval = null;
- /* JSTYLED */
- for (Enumeration e = shadows.elements(); e.hasMoreElements(); ) {
- String path = (String) e.nextElement();
- try {
- retval = Global.util.getClassLoader().loadClass
- (path + shortClassName);
- break;
- }
- catch (ClassNotFoundException ex) {
- // that didn't work, silently try again...
- }
- }
-
- if (retval == null) {
- try {
- retval = Global.util.getClassLoader().loadClass
- (shortClassName);
- }
- catch (ClassNotFoundException ex) {
- // that didn't work either, how sad
- throw new ParseException(Global.fmtMsg
- ("sunsoft.jws.visual.rt.type.AMConverter.FMT.0",
- Global.newline(), /* NOI18N */"\t",
- ex.toString()));
- }
- }
-
- // cache this pairing so it won't have to be looked up again
- if (retval != null && !shortShadowKeyed.containsKey
- (shortClassName))
- cacheShadowPair(retval.getName(), shortClassName);
-
- return (retval);
- }
-
- /**
- * Creates a string from the reference to the root or branch of the
- * attribute management tree given. Appends the string to the given
- * string buffer.
- *
- * @param obj attribute management tree reference
- * @param buf string buffer to append to
- * @return string that describes the tree
- */
- public void convertToString(Object obj, StringBuffer buf) {
- if (obj == null)
- return;
-
- // Make sure the first card is showing before saving the card panel.
- if (obj instanceof CardPanelShadow) {
- CardPanel cardPanel = (CardPanel)
- ((CardPanelShadow)obj).getCardPanel();
- if (cardPanel != null)
- cardPanel.first();
- }
-
- AttributeManager tree = (AttributeManager) obj;
-
- //
- // Skip over any windows that are marked as panels.
- //
- /* JSTYLED */
- if ((tree instanceof WindowShadow) && ((WindowShadow)tree).isPanel()) {
- AttributeManager child = ((WindowShadow)tree).getPanel();
- if (child != null)
- convertToString(child, buf);
- return;
- }
-
- // this object's own attributes
- indent(buf);
- buf.append(shortenShadowPath(tree.getClass().getName()));
- buf.append(/* NOI18N */" ");
-
- ListParser.quote(tree.getName(), buf, false);
-
- buf.append(/* NOI18N */" {");
- newline(buf);
- incrIndent();
- attrlistconv.convertToString(tree.getAttributeList(), buf);
- decrIndent();
-
- // children
- if (tree instanceof AMContainer) {
- Enumeration e = ((AMContainer) tree).getChildList();
- AttributeManager child;
-
- if (e.hasMoreElements()) {
- incrIndent();
- indent(buf);
- buf.append(/* NOI18N */"child list {");
- newline(buf);
-
- incrIndent();
- while (e.hasMoreElements()) {
- child = (AttributeManager) e.nextElement();
- convertToString(child, buf);
- }
- decrIndent();
-
- indent(buf);
- buf.append(/* NOI18N */"}");
- newline(buf);
- decrIndent();
- }
- }
-
- indent(buf);
- buf.append(/* NOI18N */"}");
- newline(buf);
- }
-
- /**
- * Call the convertFromString function that takes a version number
- * instead. Tree conversion cannot take place without a version
- * number (for the string description.)
- *
- * @exception Error when an attempt is made to call this method
- */
- public Object convertFromString(String s) {
- throw new Error(Global.getMsg(
- /* JSTYLED */
- "sunsoft.jws.visual.rt.type.AMConverter.AMConverter__convertF.0"));
- }
-
- /**
- * Creates a new tree based upon the description string given.
- * There should only be one object (as the root of the tree) in the
- * string. That root object may contain other objects, or children,
- * as it were.
- *
- * @param version the version number for the gui description string
- * @param s the string to convert to a tree @return new shadow tree
- * @exception ParseException when there is an error in the string
- */
- public Object convertFromString(double version, String s) {
- if (s == null)
- return null;
-
- // Parse the string
- Enumeration e = ListParser.getListElements(s, 3);
- String type = null, name = null, attr = null;
-
- try {
- type = (String)e.nextElement();
- name = (String)e.nextElement();
- attr = (String)e.nextElement();
- }
- catch (NoSuchElementException ex) {
- throw new ParseException(Global.newline() +
- /* BEGIN JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.type.AMConverter.________Incomplete__attri.1") +
- /* END JSTYLED */
- Global.newline() + /* NOI18N */" type = " + type +
- Global.newline() + /* NOI18N */" name = " + name +
- Global.newline() + /* NOI18N */" attr = " + attr);
- }
-
- // Start recording AMRef's made during construction of tree
- AMRef.startRecording();
-
- // Create the attribute manager
- AttributeManager mgr = convertParent(type, name);
- if (mgr == null)
- return null;
-
- // Parse the attributes and children
- convertChildren(version, mgr, attr);
-
- // Stop recording and resolve all AMRef's that were made
- AMRef.stopRecording(mgr);
-
- return mgr;
- }
-
- private AttributeManager convertParent(String type, String name) {
- AttributeManager mgr = null;
-
- // Instantiate a new attribute manager
- Class onLineType = searchShadowPath(type);
- if (onLineType == null)
- return null;
-
- try {
- mgr = (AttributeManager) onLineType.newInstance();
- }
- catch (IllegalAccessException e) {
- /* BEGIN JSTYLED */
- throw new ParseException(Global.fmtMsg("sunsoft.jws.visual.rt.type.AMConverter.FMT.1", Global.getMsg("sunsoft.jws.visual.rt.type.AMConverter.Could__not__access__"), onLineType.getName()));
- /* END JSTYLED */
- }
- catch (InstantiationException e) {
- /* BEGIN JSTYLED */
- throw new ParseException(Global.fmtMsg("sunsoft.jws.visual.rt.type.AMConverter.FMT.2", Global.getMsg("sunsoft.jws.visual.rt.type.AMConverter.Could__not__instantiat.2"), onLineType.getName()));
- /* END JSTYLED */
- }
-
- if (mgr != null) {
- // Assign name of shadow object
- mgr.set(/* NOI18N */"name", name);
- }
-
- return mgr;
- }
-
- private void convertChildren(double version,
- AttributeManager parent, String attr) {
- String type, name;
- String children = attrlistconv.convertFromString
- (version, parent, attr);
- if (children == null)
- return;
-
- Enumeration e = ListParser.getListElements(children, 3);
-
- while (e.hasMoreElements()) {
- type = null;
- name = null;
- attr = null;
-
- try {
- type = (String)e.nextElement();
- name = (String)e.nextElement();
- attr = (String)e.nextElement();
- }
- catch (NoSuchElementException ex) {
- throw new ParseException(Global.newline() +
- /* BEGIN JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.type.AMConverter.________Incomplete__attri.3") +
- /* END JSTYLED */
- Global.newline() + /* NOI18N */" type = " + type +
- Global.newline() + /* NOI18N */" name = " + name +
- Global.newline() + /* NOI18N */" attr = " + attr);
- }
-
- AttributeManager child = convertParent(type, name);
- if (child == null)
- continue;
-
- //
- // Insert a frame around any panels that are
- // immediate children
- // of the root, and mark the frame as a panel.
- //
- if ((parent instanceof Root) &&
- (child instanceof PanelShadow)) {
- FrameShadow f = new FrameShadow();
- f.isPanel(true);
-
- ((AMContainer)parent).add(f);
- f.add(child);
- } else {
- // REMIND: add error check for non-AMContainer type
- ((AMContainer)parent).add(child);
- }
-
- convertChildren(version, child, attr);
- }
- }
-
- /**
- * The conversion of shadow trees into code is performed within the
- * designer and not implemented here. This method should never be
- * called.
- *
- * @exception Error when an attempt is made to call this method
- */
- public String convertToCode(Object obj) {
- /* BEGIN JSTYLED */
- throw new Error(Global.fmtMsg("sunsoft.jws.visual.rt.type.AMConverter.FMT.3", Global.getMsg("sunsoft.jws.visual.rt.type.AMConverter.will__not__generate__co.4"),
- Global.getMsg("sunsoft.jws.visual.rt.type.AMConverter.implementation__of__th.5")));
- /* END JSTYLED */
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMRef.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMRef.java
deleted file mode 100644
index 8deaff0944..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMRef.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AMRef.java 1.14 - last change made 07/18/96
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.AttributeManager;
-import sunsoft.jws.visual.rt.base.Root;
-import java.util.*;
-
-/**
- * A reference to an attribute manager object. The reference can
- * merely be the expected name of the object, if necessary. That way
- * there will be no error until the reference is actually needed.
- * This reference can be made to serve in forward-referencing
- * situations (like file loads) when the object referred to hasn't
- * been loaded yet.
- *
- * @see AttributeManager
- * @version 1.14, 07/18/96
- */
-public class AMRef {
- private String name;
- private AttributeManager mgr;
-
- // AMRef Table: a record of unresolved AMRefs created
- private static Vector refRecord = null;
-
- /**
- * Starts recording the AMRefs that are created using a name only.
- * Later a call to the stopRecording method can be used in order to
- * force the resolution of all the AMRefs created since this call
- * was made. The Designer uses this in order to insure that all
- * AMRefs created during the loading of a file are force to resolve
- * and bind to the real AttributeManager objects to which they
- * refer.
- *
- * @see #stopRecording
- */
- public static void startRecording() {
- refRecord = new Vector();
- }
-
- /**
- * Stops recording the AMRefs that are created and resolves them.
- * Resolution occurrs within the scope of the tree given. If scope
- * is null then stops recording, clears the list, and doesn't
- * resolve anything.
- *
- * @param scope the attribute manager tree in which to resolve names
- * @see #startRecording
- */
- public static void stopRecording(AttributeManager scope) {
- if (refRecord != null) {
- if (scope != null) {
- /* BEGIN JSTYLED */
- for (Enumeration e = refRecord.elements(); e.hasMoreElements(); ) {
- /* END JSTYLED */
- AMRef ref = (AMRef) e.nextElement();
- ref.getRef(scope);
- }
- }
- refRecord = null;
- }
- }
-
- /**
- * Creates a shadow reference from the name only.
- *
- * @see #getRef
- * @param name name of object to which this reference refers
- */
- public AMRef(String name) {
- this.name = name;
- if (refRecord != null)
- refRecord.addElement(this);
- }
-
- /**
- * Creates an already-resolved reference.
- *
- * @param mgr the object referred to
- */
- public AMRef(AttributeManager mgr) {
- this.mgr = mgr;
- }
-
- /**
- * Returns the object referred to. Resolves it from
- * the name if necessary.
- *
- * @param scope the attribute manager tree in which
- * to resolve the name
- */
- public AttributeManager getRef(AttributeManager scope) {
- if (mgr == null) {
- Root root = scope.getRoot();
- if (root != null)
- mgr = root.resolve(name);
- }
-
- return (mgr);
- }
-
- /**
- * Returns the name of the object referred to.
- */
- public String getName() {
- if (mgr != null)
- name = mgr.getName();
- return (name);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMRefConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMRefConverter.java
deleted file mode 100644
index ca67bab7f8..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AMRefConverter.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AMRefConverter.java 1.15 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-/**
- * Converts references to attribute manager objects into their
- * names and back again.
- *
- * @see AMRef
- * @version 1.15, 07/25/97
- */
-public class AMRefConverter extends Converter {
- /**
- * Converts an AMRef object to a string.
- */
- public String convertToString(Object obj) {
- if (obj != null)
- return (((AMRef) obj).getName());
- else
- return (/* NOI18N */"");
- }
-
- /**
- * Converts a string into an AMRef object.
- *
- * @param s string to convert
- */
- public Object convertFromString(String s) {
- if (s != null && s.length() != 0)
- return (new AMRef(s));
- else
- return (null);
- }
-
- /**
- * Returns code for creating an AMRef object.
- *
- * @param obj AMRef object for which to generate code
- */
- public String convertToCode(Object obj) {
- return (/* NOI18N */"new AMRef(\"" + convertToString(obj)
- + /* NOI18N */"\")");
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AlignmentEnum.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AlignmentEnum.java
deleted file mode 100644
index 18ec61b00e..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AlignmentEnum.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AlignmentEnum.java 1.9 - last change made 06/18/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.awt.Label;
-
-/**
- * A class that knows the alignment attributes of labels, and in an
- * instantiation, can store a single alignment selection.
- *
- * @see Label
- * @version 1.9, 06/18/97
- */
-public class AlignmentEnum extends BaseEnum {
- private static BaseEnumHelper helper = new BaseEnumHelper();
-
- static {
- helper.add(Label.LEFT, /* NOI18N */"left");
- helper.add(Label.CENTER, /* NOI18N */"center");
- helper.add(Label.RIGHT, /* NOI18N */"right");
- helper.setDefaultChoice(Label.LEFT);
- }
-
- /**
- * Creates an instance with the choice set to LEFT.
- */
- public AlignmentEnum() {
- super();
- }
-
- /**
- * Creates an instance with the choice set to the given int value.
- *
- * @param choice Label.LEFT, Label.CENTER, or Label.RIGHT
- */
- public AlignmentEnum(int choice) {
- super(choice);
- }
-
- /**
- * Creates an instance with the choice set to the given string.
- *
- * @param choice "left", "center", or "right"
- */
- public AlignmentEnum(String choice) {
- super(choice);
- }
-
- protected BaseEnumHelper getHelper() {
- return (helper);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AnchorEnum.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AnchorEnum.java
deleted file mode 100644
index 624e7748a1..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AnchorEnum.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AnchorEnum.java 1.8 - last change made 06/18/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-
-/**
- * A class that knows all the possible anchor attribute choices. In an
- * instantiation, can store a single alignment selection.
- *
- * @see GBConstraints
- * @version 1.8, 06/18/97
- */
-public class AnchorEnum extends BaseEnum {
- private static BaseEnumHelper helper = new BaseEnumHelper();
-
- static {
- helper = new BaseEnumHelper();
- helper.add(GBConstraints.CENTER, /* NOI18N */"center");
- helper.add(GBConstraints.NORTH, /* NOI18N */"north");
- helper.add(GBConstraints.SOUTH, /* NOI18N */"south");
- helper.add(GBConstraints.EAST, /* NOI18N */"east");
- helper.add(GBConstraints.WEST, /* NOI18N */"west");
- helper.add(GBConstraints.NORTHWEST, /* NOI18N */"northwest");
- helper.add(GBConstraints.SOUTHWEST, /* NOI18N */"southwest");
- helper.add(GBConstraints.NORTHEAST, /* NOI18N */"northeast");
- helper.add(GBConstraints.SOUTHEAST, /* NOI18N */"southeast");
- helper.setDefaultChoice(GBConstraints.CENTER);
- }
-
- /**
- * Constructs an instance with choice set to GBConstraints.CENTER.
- */
- public AnchorEnum() {
- super();
- }
-
- /**
- * Constructs an instance from an int value.
- *
- * @param choice GBConstraints.CENTER, GBConstraints.NORTH,
- * GBConstraints.SOUTH, GBConstraints.EAST, GBConstraints.WEST,
- * GBConstraints.NORTHWEST, GBConstraints.SOUTHWEST,
- * GBConstraints.NORTHEAST, or GBConstraints.SOUTHEAST
- */
- public AnchorEnum(int choice) {
- super(choice);
- }
-
- /**
- * Constructs an instance from a string value.
- *
- * @param choice "center", "north", "south", "east", "west",
- * "northwest", "southwest", "northeast", or "southeast"
- */
- public AnchorEnum(String choice) {
- super(choice);
- }
-
- protected BaseEnumHelper getHelper() {
- return (helper);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ApplyException.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ApplyException.java
deleted file mode 100644
index 1b596bb62e..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ApplyException.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ApplyException.java 1.2 - last change made 07/18/96
- */
-
-package sunsoft.jws.visual.rt.type;
-
-/**
- * An exception thrown by type editors when there is a problem with
- * the value during an apply. The Designer will place the error
- * message into a popup window.
- *
- * @see TypeEditor
- * @version 1.2, 07/18/96
- */
-public class ApplyException extends Exception {
- public ApplyException() {
- super();
- }
-
- public ApplyException(String s) {
- super(s);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AttributeConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AttributeConverter.java
deleted file mode 100644
index 81136420f2..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AttributeConverter.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AttributeConverter.java 1.32 - last change made 08/12/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import sunsoft.jws.visual.rt.base.*;
-import java.util.Enumeration;
-
-/**
- * This class converts Attributes to strings and back again.
- *
- * @see Attribute
- * @version 1.32, 08/12/97
- */
-public class AttributeConverter extends Converter {
-
- /**
- * Converts an attribute to a string.
- *
- * @param obj Attribute instance to convert
- * @param buf buffer to which to add the string
- * @return string representation of an attribute
- * (type, name, and value)
- */
- public void convertToString(Object obj, StringBuffer buf) {
- if (obj != null) {
- Attribute a = (Attribute) obj;
-
- String type = a.getType();
- // Special case for GBConstraints to make
- // the save file neater
- if (type.equals(/* NOI18N */
- "sunsoft.jws.visual.rt.awt.GBConstraints"))
- type = /* NOI18N */"GBC";
- ListParser.quote(type, buf, false);
- buf.append(/* NOI18N */ ' ');
-
- ListParser.quote(a.getName(), buf, false);
- buf.append(/* NOI18N */ ' ');
-
- Converter c = getConverter(a.getType());
- if (c == null) {
- buf.append(/* NOI18N */"null");
- } else {
- ListParser.quote(c.convertToString(a.getValue()),
- buf, false);
- }
- }
- }
-
- /**
- * Call the convertFromString method that takes additionhal
- * arguments. An AttributeManager object is needed to operate on.
- *
- * @exception Error when called
- */
- public Object convertFromString(String s) {
- /* BEGIN JSTYLED */
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.type.AttributeConverter.AttributeConverter__n.6") +
- Global.getMsg("sunsoft.jws.visual.rt.type.AttributeConverter.argument__to__operate"));
- /* END JSTYLED */
- }
-
- /**
- * Converts a string (type, name, and value) to an Attribute.
- *
- * @param version description file version
- * @param mgr object in which the attribute will be used
- * @param type type of the attribute
- * @param key name of the attribute
- * @param value value of the attribute
- * @return a new instance of Attribute
- * @exception ParseError when there is an error
- * in one of the strings
- */
- public Object convertFromString(double version,
- AttributeManager mgr, String type, String key, String value) {
-
- // get the targeted attribute from the shadow object
- if (!mgr.hasAttribute(key)) {
- String errMsg = Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.33",
- key, mgr.getClass().getName(), type, key, value);
- if (java.beans.Beans.isDesignTime()) {
- DesignerAccess.reportInstantiationError(errMsg);
- return null;
- } else {
- throw new ParseException(errMsg);
- }
- }
-
- // get type of attribute and convert and set the value
- String mgrType = mgr.getType(key);
-
- if (version >= 3) {
- if (!type.equals(mgrType) &&
- !type.equals(/* NOI18N */"GBC")) {
- String errMsg = Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.35",
- type, mgrType);
- if (java.beans.Beans.isDesignTime()) {
- DesignerAccess.reportInstantiationError(errMsg);
- return null;
- } else {
- throw new ParseException(errMsg);
- }
- }
- }
-
- Converter valueConverter = getConverter(mgrType);
- if (valueConverter == null) {
- String errMsg = Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.AttributeConverter.FMT.34",
- mgrType);
- if (java.beans.Beans.isDesignTime()) {
- DesignerAccess.reportInstantiationError(errMsg);
- return null;
- } else {
- throw new ParseException(errMsg);
- }
- }
-
- mgr.set(key, valueConverter.convertFromString(value));
- return null;
- }
-
- /**
- * Converts an attribute to the code that would set it for an
- * AttributeManager object.
- *
- * @param amName name of the AttributeManager
- * @param a attribute (which contains type, name, and value)
- * @param indent number of spaces to indent the code line(s)
- * @param buf buffer to which to add the code
- */
- public void convertToCodeBlock(String amName, Attribute a,
- int indent, StringBuffer buf) {
-
- Converter c = getConverter(a.getType());
- c.convertToCodeBlock(amName, a, indent, buf);
- }
-
- /**
- * Call the convertToCode method that takes more arguments instead.
- *
- * @exception Error when called
- */
- public String convertToCode(Object obj) {
- throw new Error(
- /* BEGIN JSTYLED */
- Global.getMsg(
- "sunsoft.jws.visual.rt.type.AttributeConverter.internal__error__-__") +
- Global.getMsg(
- "sunsoft.jws.visual.rt.type.AttributeConverter.convertToCode__with__m.11") );
- /* END JSTYLED */
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AttributeListConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AttributeListConverter.java
deleted file mode 100644
index d33fa5c320..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/AttributeListConverter.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) AttributeListConverter.java 1.29 - last change made 06/17/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import sunsoft.jws.visual.rt.base.*;
-import java.util.*;
-
-/**
- * The class converts AttributeLists to strings and back again.
- *
- * @see AttributeList
- * @version 1.29, 06/17/97
- */
-public class AttributeListConverter extends Converter {
-
- private static AttributeConverter ac = new AttributeConverter();
-
- /**
- * Returns true if the attribute is one that should be placed in a
- * save file. Include only non-default attributes (and skip the
- * name attribute.)
- */
- private boolean shouldConvertAttribute(Attribute a) {
- return (a.isModified() && !a.getName().equals
- (/* NOI18N */"name") && !isTransient(a));
- }
-
- private boolean isTransient(Attribute a) {
- return ((a.getFlags() & (AttributeManager.TRANSIENT |
- AttributeManager.READONLY)) != 0);
- }
-
- /**
- * Converts an AttributeList to a string.
- *
- * @param obj AttributeList to convert
- * @param buf buffer to which to add the string
- */
- public void convertToString(Object obj, StringBuffer buf) {
- if (obj != null) {
- AttributeList l = (AttributeList) obj;
- for (Enumeration e = l.elements(); e.hasMoreElements(); ) {
- Attribute a = (Attribute) e.nextElement();
- if (shouldConvertAttribute(a)) {
- indent(buf);
- ac.convertToString(a, buf);
- newline(buf);
- }
- }
- }
- }
-
- /**
- * Call convertFromString that takes more arguments instead.
- *
- * @exception Error when called
- */
- public Object convertFromString(String s) {
- /* BEGIN JSTYLED */
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.type.AttributeListConverter.AttributeListConvert.12"));
- /* END JSTYLED */
- }
-
- /**
- * Converts a string to an AttributeList.
- *
- * @param version description file version
- * @param mgr AttributeManager from which the attribute list came
- * @param s string to convert
- * @return string representation of AttributeList
- * @exception ParseError when there is a problem with the string
- */
- public String convertFromString(double version,
- AttributeManager mgr, String s) {
- String children = null;
- String type = null, key = null, value = null;
- boolean isChildren;
-
- if (s == null || mgr == null)
- return null;
-
- Enumeration e;
- if (version >= 3)
- e = ListParser.getListElements(s, 3);
- else
- e = ListParser.getListElements(s, 2);
-
- try {
- while (e.hasMoreElements()) {
- type = null;
- key = null;
- value = null;
-
- if (version >= 3) {
- type = (String)e.nextElement();
- key = (String)e.nextElement();
- value = (String)e.nextElement();
- isChildren = (type.equals(/* NOI18N */"child") &&
- key.equals(/* NOI18N */"list"));
- } else {
- key = (String)e.nextElement();
- value = (String)e.nextElement();
- isChildren = (key.equals(/* NOI18N */"children"));
- }
-
- if (isChildren)
- children = value;
- else
- ac.convertFromString(version, mgr, type,
- key, value);
- }
- }
- catch (NoSuchElementException ex) {
- throw new ParseException(Global.newline() +
- /* BEGIN JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.type.AttributeListConverter.________Incomplete__attri.13") +
- /* END JSTYLED */
- Global.newline() + /* NOI18N */" type = " + type +
- Global.newline() + /* NOI18N */" key = " + key +
- Global.newline() + /* NOI18N */" value = " + value);
- }
-
- return children;
- }
-
- /**
- * Returns true if the attribute is one that should be placed in a
- * generated code file. Include only non-default attributes.
- */
- private boolean shouldGenerateAttribute(Attribute a) {
- return (a.isModified() && !isTransient(a) &&
- !a.getName().equals(/* NOI18N */"operations"));
- }
-
- /**
- * Converts an AttributeManager's AttributeList to code.
- *
- * Skips the name attribute because it is generated
- * separately in GenCode.
- * This is done because during initialization for the
- * generated root, the
- * name must be set before add is called. All the other attributes
- * must be set after add is called.
- *
- * @param amName name of the AttributeManager
- * @param list the list to convert
- * @param indent number of spaces to indent on each line
- * @param buf buffer to which to add the code
- */
- public void convertToCodeBlock(String amName, AttributeList list,
- int indent, StringBuffer buf) {
- Enumeration e = list.elements();
- while (e.hasMoreElements()) {
- Attribute a = (Attribute) e.nextElement();
- if (shouldGenerateAttribute(a) && (!a.getName().equals
- (/* NOI18N */"name"))) {
- ac.convertToCodeBlock(amName, a, indent, buf);
- }
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnum.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnum.java
deleted file mode 100644
index 00842bfa94..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnum.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) BaseEnum.java 1.17 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.util.Enumeration;
-
-/* BEGIN JSTYLED */
-/**
- * Base class for types that implement enumerations
- * (in the C style) where
- * an integer signifies an important answer to a
- * multiple-choice question.
- * Sub-classers are supposed to supply the list of strings
- * that describe the
- * enumerations values available (and their corresponding integer values)
- * in their static initializers. Sub-classes should set up their own
- * instance of the BaseEnumHelper class to hold their
- * enumeration definition.
- * <p>
- * When you sub-class off of BaseEnum, Visual Java will automatically
- * recognize your type as an enumeration, and offer a choice menu in
- * the attribute editor of Visual Java for selecting the value of an
- * attribute of that type.
- * <p>
- * The AlignmentEnum, shown below, is used for setting whether the
- * text in a Label will appear on the left, center, or right.
- * <p>
- * To use the example below to create a new enumerated type, copy
- * everything and then modify the imports and static constructor to use
- * the constants and names for the choices you'd like to offer in your
- * enumeration.
- * <p>
- * The addConverter call will register your type with Visual Java's
- * type conversion interface and make it understood that this type is
- * an enumeration. Change the
- * "sunsoft.jws.visual.rt.type.AlignmentEnum" argument to reflect the
- * package name and class of your new enumerated type.
- *
- * <pre>
- * package sunsoft.jws.visual.rt.type;
- *
- * import sunsoft.jws.visual.rt.type.BaseEnum;
- * import sunsoft.jws.visual.rt.type.BaseEnumHelper;
- * import sunsoft.jws.visual.rt.type.Converter;
- * import java.awt.Label;
- *
- * public class AlignmentEnum extends BaseEnum {
- * private static BaseEnumHelper helper = new BaseEnumHelper();
- *
- * static {
- * helper.add(Label.LEFT, "left");
- * helper.add(Label.CENTER, "center");
- * helper.add(Label.RIGHT, "right");
- * helper.setDefaultChoice(Label.LEFT);
- * Converter.addConverter("sunsoft.jws.visual.rt.type.AlignmentEnum",
- * "sunsoft.jws.visual.rt.type.BaseEnumConverter");
- * }
- *
- * public AlignmentEnum() {
- * super();
- * }
- *
- * public AlignmentEnum(int choice) {
- * super(choice);
- * }
- *
- * public AlignmentEnum(String choice) {
- * super(choice);
- * }
- *
- * protected BaseEnumHelper getHelper() {
- * return(helper);
- * }
- * }
- * </pre>
- *
- * @see BaseEnumHelper
- * @see AlignmentEnum
- * @see java.awt.Label
- * @version 1.17, 07/25/97
-*/
-
-/* END JSTYLED */
-public abstract class BaseEnum implements Cloneable {
- /**
- * The currently selected value from the enum.
- */
- protected Integer currentChoice;
-
- /**
- * Constructor, sets the choice to the default.
- */
- protected BaseEnum() {
- set(getHelper().getDefaultChoice());
- }
-
- /**
- * Constructor to use when integer value is available.
- *
- * @param choice enumerated value
- */
- protected BaseEnum(int choice) {
- set(choice);
- }
-
- /**
- * Constructor to use when string of choice is available.
- *
- * @param choice enumerated value
- */
- protected BaseEnum(String choice) {
- set(choice);
- }
-
- /**
- * Gets the helper class that stores the enum definition.
- *
- * Each sub-classer should override this so that a different
- * class-wide instance of BaseEnumHelper is returned. If there
- * weren't a mechanism like this, then all sub-classers would be
- * sharing a single helper, and that would be bad.
- *
- * @return a helper use by all enumeration instances of
- * a single class
- */
- protected abstract BaseEnumHelper getHelper();
-
- /**
- * Sets the enumeration to the given integer value.
- * Checks validity
- * of the choice.
- *
- * @param choice enumerated value
- * @exception Error when an invalid choice is given
- */
- public void set(int choice) {
- if (getHelper().isValid(choice))
- currentChoice = new Integer(choice);
- else
- throw new ParseException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.BaseEnum.FMT.30",
- Global.getMsg(
- "sunsoft.jws.visual.rt.type.BaseEnum.invalid__int__choice__"),
- new Integer(choice),
- /* BEGIN JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.type.BaseEnum.__given__to__Enum__class.14")));
- /* END JSTYLED */
- }
-
- /**
- * Sets the enumeration to the given string value. Checks validity
- * of the choice.
- *
- * @param choice string version of the enumerated value
- * @exception Error when an invalid choice is given
- */
- public void set(String choice) {
- if (getHelper().isValid(choice))
- currentChoice = getHelper().getInteger(choice);
- else
- throw new ParseException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.BaseEnum.FMT.30",
- /* BEGIN JSTYLED */
- Global.getMsg("sunsoft.jws.visual.rt.type.BaseEnum.invalid__string__choic.15"),
- choice,
- Global.getMsg("sunsoft.jws.visual.rt.type.BaseEnum.__given__to__Enum__class.16")));
- /* END JSTYLED */
- }
-
- /**
- * Returns the int value of the current selection
- * from the enumeration.
- */
- public int intValue() {
- return (currentChoice.intValue());
- }
-
- /**
- * Returns the String description of the current selection from the
- * enumeration.
- */
- public String toString() {
- return (getHelper().getString(currentChoice));
- }
-
- /**
- * Returns a java.util.Enumeration of the String descriptions
- * available in this enum.
- */
- public Enumeration elements() {
- return (getHelper().elements());
- }
-
- /**
- * Returns an array containing all of the String descriptions
- * available in this enum.
- */
- public String[] descriptions() {
- return (getHelper().descriptions());
- }
-
- /**
- * Returns a copy of this enumeration instance.
- */
- public Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- // this shouldn't happen, since we are Cloneable
- throw new InternalError();
- }
- }
-
- /**
- * Returns true if this enumeration instance and the one given have
- * the same selection made.
- */
- public boolean equals(Object obj) {
- if (obj instanceof BaseEnum) {
- if (getClass() == obj.getClass()) {
- Integer otherChoice = ((BaseEnum)obj).currentChoice;
- if (currentChoice != null)
- return (currentChoice.equals(otherChoice));
- else
- return (otherChoice == null);
- }
- }
- return false;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnumConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnumConverter.java
deleted file mode 100644
index 2306d64ca3..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnumConverter.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) BaseEnumConverter.java 1.16 - last change made 06/18/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-/**
- * Converts enum types to and from strings and to code. This converter
- * can handle any sub-class of BaseEnum.
- *
- * @see BaseEnum
- * @version 1.16, 06/18/97
- */
-public class BaseEnumConverter extends Converter {
- private Class enumClass = null;
-
- public BaseEnumConverter() {
- }
-
- /**
- * Constructs an instance of this converter that can be used for the
- * given subclass of BaseEnum.
- *
- * @param type the fully qualified class name of the subclass
- */
- public BaseEnumConverter(String type) {
- setConverterType(type);
- }
-
- private BaseEnum makeEnum(String s) {
- if (enumClass == null) {
- try {
- enumClass = Class.forName(getConverterType());
- }
- catch (ClassNotFoundException e) {
- throw new Error(e.getMessage());
- }
- }
-
- try {
- BaseEnum retval = (BaseEnum) enumClass.newInstance();
- retval.set(s);
- return (retval);
- }
- catch (Exception e) {
- throw new Error(e.getMessage());
- }
- }
-
- /**
- * Returns the string representation of the enumeration
- * selected in the
- * given BaseEnum object.
- *
- * @param obj an instance of BaseEnum or one of its subclasses
- */
- public String convertToString(Object obj) {
- return (((BaseEnum) obj).toString());
- }
-
- /**
- * Returns a new instance of BaseEnum (or subclass) for enumeration
- * value given.
- *
- * @param s string version of the enumeration choice
- */
- public Object convertFromString(String s) {
- return (makeEnum(s));
- }
-
- /**
- * Returns a block of code that creates a new BaseEnum (or subclass)
- * like the one given.
- *
- * @param the BaseEnum instance to emulate
- */
- public String convertToCode(Object obj) {
- StringBuffer buf = new StringBuffer();
-
- buf.append(/* NOI18N */"new ");
- buf.append(obj.getClass().getName());
- buf.append(/* NOI18N */"(");
-
- ListParser.quote(obj.toString(), buf, true);
-
- buf.append(/* NOI18N */")");
-
- return buf.toString();
- }
-
- /**
- * Helps signify that in an attribute editor (like the
- * one in the Desginer), an instance of BaseEnum
- * is not viewable in a
- * textfield. It will be displayed using a choice menu instead.
- *
- * @return false
- */
- public boolean viewableAsString() {
- return false;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnumHelper.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnumHelper.java
deleted file mode 100644
index d19cd9eca3..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BaseEnumHelper.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) BaseEnumHelper.java 1.5 - last change made 07/18/96
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.Enumeration;
-
-/**
- * Keeps track of the string/int pairs in sub-classes of BaseEnum.
- * This is meant to be a class-wide member for each subclass of
- * BaseEnum. Each subclass of BaseEnum should provide a single
- * instance of BaseEnumHelper for use by all instances of that subclass.
- *
- * @see BaseEnum
- * @version 1.5, 07/18/96
- */
-public class BaseEnumHelper {
- /**
- * Ordered list of the enum names.
- */
- private Vector names = new Vector();
-
- /**
- * Pairs keyed by the description.
- */
- private Hashtable keyedByString = new Hashtable();
-
- /**
- * Pairs keyed by the integer value.
- */
- private Hashtable keyedByInteger = new Hashtable();
-
- /**
- * The default if no choice is initially specified. Sub-classers
- * shouldn't rely on this and should call setDefaultChoice in their
- * static initializer.
- */
- private int defaultChoice = 0;
-
- /**
- * Sets the default choice for newly constructed
- * instances of the enum.
- */
- public void setDefaultChoice(int value) {
- defaultChoice = value;
- }
-
- /**
- * Gets the default choice for newly constructed
- * instances of the enum.
- */
- public int getDefaultChoice() {
- return (defaultChoice);
- }
-
- /**
- * Adds a new string/int pair to the internal hashtable.
- */
- public void add(int value, String name) {
- Integer I = new Integer(value);
- names.addElement(name);
- keyedByString.put(name, I);
- keyedByInteger.put(I, name);
- }
-
- /**
- * Returns true if the choice is valid for this enum type.
- */
- public boolean isValid(int choice) {
- return (keyedByInteger.containsKey(new Integer(choice)));
- }
-
- /**
- * Returns true if the choice is valid for this enum type.
- */
- public boolean isValid(String choice) {
- return (keyedByString.containsKey(choice));
- }
-
- /**
- * Returns the Integer associated with a String key.
- */
- public Integer getInteger(String key) {
- return ((Integer) keyedByString.get(key));
- }
-
- /**
- * Returns the String associated with an Integer key.
- */
- public String getString(Integer key) {
- return ((String) keyedByInteger.get(key));
- }
-
- /**
- * Returns an Enumeration of the String descriptions
- * available in this enum.
- */
- public Enumeration elements() {
- return (names.elements());
- }
-
- /**
- * Returns an array containing all of the String descriptions
- * available in this enum.
- */
- public String[] descriptions() {
- String retval[] = new String[names.size()];
- names.copyInto(retval);
- return (retval);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BooleanConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BooleanConverter.java
deleted file mode 100644
index 7aa930a1de..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/BooleanConverter.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) BooleanConverter.java 1.10 - last change made 06/17/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Converts Booleans to strings and back again.
- *
- * @see Boolean
- * @version 1.10, 06/17/97
- */
-public class BooleanConverter extends Converter {
- /**
- * Converts a Boolean to a string.
- *
- * @param obj an instance of Boolean
- * @return its string equivalent, "true" or "false"
- */
- public String convertToString(Object obj) {
- return (((Boolean) obj).booleanValue() ? /* NOI18N */"true"
- : /* NOI18N */"false");
- }
-
- /**
- * Converts a string to a new instance of Boolean.
- *
- * @exception ParseException when a lower-cased version
- * of the string is not "true" or "false"
- */
- public Object convertFromString(String s) {
- if (s.toLowerCase().equals(/* NOI18N */"true")) {
- return (Boolean.TRUE);
- } else if (s.toLowerCase().equals(/* NOI18N */"false")) {
- return (Boolean.FALSE);
- } else {
- /* BEGIN JSTYLED */
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.BooleanConverter.Illegal__boolean__valu.17") + s);
- /* END JSTYLED */
- }
- }
-
- /**
- * Returns a block of code representing a Boolean
- * like the one given.
- *
- * @param obj an instance of Boolean
- */
- public String convertToCode(Object obj) {
- if (((Boolean) obj).booleanValue())
- return (/* NOI18N */"Boolean.TRUE");
- else
- return (/* NOI18N */"Boolean.FALSE");
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/CharacterConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/CharacterConverter.java
deleted file mode 100644
index 3f9aeebe40..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/CharacterConverter.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) CharacterConverter.java 1.10 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-/**
- * Converts Character objects to strings and back again.
- *
- * @see Character
- * @version 1.10, 07/25/97
- */
-public class CharacterConverter extends Converter {
- /**
- * Converts a Character to a string.
- *
- * @param obj a instance of Character
- */
- public String convertToString(Object obj) {
- Character c = (Character)obj;
- if (c.charValue() == (char)0)
- return /* NOI18N */"";
- else
- return (c.toString());
- }
-
- /**
- * Converts a string into a Character. Uses only the
- * first letter in the
- * string.
- */
- public Object convertFromString(String s) {
- if (s == null || s.equals(/* NOI18N */"")) {
- return new Character((char)0);
- } else {
- return new Character(s.charAt(0));
- }
- }
-
- /**
- * Returns a block of code that will create a
- * Character liek the one given.
- *
- * @param obj a instance of Character
- */
- public String convertToCode(Object obj) {
- return (/* NOI18N */"new Character('" +
- ((Character) obj).toString() + /* NOI18N */"')");
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ColorConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ColorConverter.java
deleted file mode 100644
index b68799cfde..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ColorConverter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ColorConverter.java 1.16 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.Color;
-
-/**
- * Converts Color objects to strings and back again.
- *
- * @see Color
- * @version 1.16, 07/25/97
- */
-public class ColorConverter extends Converter {
- /**
- * Returns the string for a given color value. Looks in the
- * ColorStore fisrt, for a good name for the color, or if it can't
- * find one, returns rgb hexadecimal format (e.g. #ef6caf).
- *
- * @param obj instance of Color
- * @see ColorStore
- */
- public String convertToString(Object obj) {
- Color c = (Color)obj;
- if (c == null)
- return /* NOI18N */"";
-
- // check the color store for a name
- /* JSTYLED */
- String colorName = ColorStore.getDefaultColorStore().getColorName(c);
- if (colorName != null)
- return colorName;
-
- // create a string contain the hexidecimal rgb value
- int rgb = c.getRGB();
- rgb = rgb & 0xffffff; // RGB is 3 bytes
- StringBuffer sb = new StringBuffer(Integer.toString(rgb, 16));
- while (sb.length() < 6) {
- sb.insert(0, /* NOI18N */ '0');
- }
- return (/* NOI18N */"#" + sb.toString());
- }
-
- /**
- * Figures out the color the given string represents.
- *
- * @exception ParseException when the color can't be figured
- */
- public Object convertFromString(String s) {
- if (s == null || s.length() == 0)
- return null;
-
- Color color = ColorStore.getDefaultColorStore().getColor(s);
- if (color != null)
- return color;
-
- if (!s.startsWith(/* NOI18N */"#")) {
- /* JSTYLED */
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.ColorConverter.Illegal__color__value-co-.18") + s);
- }
-
- Integer colorValue;
- try {
- colorValue = Integer.valueOf(s.substring(1), 16);
- }
- catch (NumberFormatException ex) {
- /* JSTYLED */
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.ColorConverter.Badly__formatted__colo.19") + s);
- }
-
- int i = colorValue.intValue();
- color = new Color((i >> 16) & 0xFF,
- (i >> 8) & 0xFF,
- (i >> 0) & 0xFF);
-
- return color;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ColorStore.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ColorStore.java
deleted file mode 100644
index 3b1d56a67f..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ColorStore.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ColorStore.java 1.15 - last change made 07/10/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.Color;
-import java.util.Hashtable;
-import java.util.Enumeration;
-
-/**
- * Stores colors by name and rgb value. Names are always stored in
- * lower case, and searches are done after converting the search key
- * into lower case. Two hashtables are used so colors can be accessed
- * efficiently either by color or name.
- *
- * @version 1.15, 07/10/97
- */
-public class ColorStore {
- // COLOR <-> NAME HASHTABLES
-
- /**
- * Storage place for Color RGB values and named colors.
- * It's like a two-way hashtable.
- */
- private static ColorStore defaultColorStore;
-
- /**
- * Returns a reference to the single global instance of ColorStore.
- */
- public static ColorStore getDefaultColorStore() {
- initColorStore();
- return (defaultColorStore);
- }
-
- private static void initColorStore() {
- if (defaultColorStore != null)
- return;
- defaultColorStore = new ColorStore();
- defaultColorStore.initDefaultColorList();
- }
-
-
- /**
- * Storage place for Color RGB values (keys) and named colors (values)
- */
- private Hashtable rgbkeys;
-
- /**
- * Storage place for named colors (keys) Color RGB values (values)
- */
- private Hashtable namekeys;
-
- /**
- * A list sorted by colorName (a-z)
- */
-
- private String[] colorNameArray;
-
- public ColorStore() {
- rgbkeys = new Hashtable();
- namekeys = new Hashtable();
- }
-
- /**
- * Returns the name of a color. If the color name is not in
- * our table, return #RRGGBB (a string of hex numbers).
- */
- public String getColorName(Color c) {
- return (String) rgbkeys.get(c);
- }
-
- /**
- * Given the name of a color, return the Color corresponding to it.
- */
- public Color getColor(String name) {
- if (name == null) {
- return null;
- } else {
- return ((Color) namekeys.get(name.toLowerCase()));
- }
- }
-
- /**
- * Given a Color, return the name of the color listed in the
- * ColorStore closest to that color.
- */
- public String getClosestColorName(Color c) {
-
- Enumeration e;
- int difference = 255*3, newDifference;
- Color bestColor = null, cKey;
-
- if (rgbkeys.containsKey(c)) {
- return (getColorName(c));
- }
-
- e = rgbkeys.keys();
- while (e.hasMoreElements()) {
- cKey = (Color) e.nextElement();
-
- if ((newDifference =
- (Math.abs(cKey.getRed() - c.getRed())) +
- (Math.abs(cKey.getGreen() - c.getGreen())) +
- (Math.abs(cKey.getBlue() - c.getBlue()))) <=
- difference)
- {
- difference = newDifference;
- bestColor = cKey;
- }
- }
- return getColorName(bestColor);
- }
-
- /**
- * Adds the color/name pair to the color store is it is not already
- * there and returns the name of the color. If the color is already
- * registered, the previous name of the color is returned.
- */
- public String add(Color c, String name) {
- if (rgbkeys.containsKey(c)) {
- return (getColorName(c));
- } else {
- rgbkeys.put(c, name.toLowerCase());
- namekeys.put(name, c);
- colorNameArray = null;
- return (name);
- }
- }
-
- /**
- * Returns the list of Colors named in the ColorStore.
- */
- public String[] getColorList() {
- int index;
-
- if (colorNameArray == null) {
- colorNameArray = new String[rgbkeys.size()];
-
- index = 0;
- Enumeration e = namekeys.keys();
-
- while (e.hasMoreElements()) {
- String colorName = (String)(e.nextElement());
- colorNameArray[index] = colorName;
- index++;
- }
-
- Global.util.qsort(colorNameArray);
- }
- return colorNameArray;
- }
-
- private void initDefaultColorList() {
- // Java.awt.Color constants:
-
- add(Color.black, /* NOI18N */"black");
- add(Color.blue, /* NOI18N */"blue");
- add(Color.cyan, /* NOI18N */"cyan");
- add(Color.darkGray, "darkgray");
- add(Color.gray, /* NOI18N */"gray");
- add(Color.green, /* NOI18N */"green");
- add(Color.lightGray, "lightgray");
- add(Color.magenta, /* NOI18N */"magenta");
- add(Color.orange, /* NOI18N */"orange");
- add(Color.pink, /* NOI18N */"pink");
- add(Color.red, /* NOI18N */"red");
- add(Color.white, /* NOI18N */"white");
- add(Color.yellow, /* NOI18N */"yellow");
-
- // Colors from rgb.txt:
-
- add(new Color(133, 133, 133), /* NOI18N */"gray52");
- add(new Color(122, 122, 122), /* NOI18N */"gray48");
- add(new Color(186, 186, 186), /* NOI18N */"gray73");
- add(new Color(94, 94, 94), /* NOI18N */"gray37");
- add(new Color(196, 196, 196), /* NOI18N */"gray77");
- add(new Color(84, 84, 84), /* NOI18N */"gray33");
- add(new Color(66, 66, 66), /* NOI18N */"gray26");
- add(new Color(48, 48, 48), /* NOI18N */"gray19");
- add(new Color(92, 92, 92), /* NOI18N */"gray36");
- add(new Color(74, 74, 74), /* NOI18N */"gray29");
- add(new Color(163, 163, 163), /* NOI18N */"gray64");
- add(new Color(28, 28, 28), /* NOI18N */"gray11");
- add(new Color(46, 46, 46), /* NOI18N */"gray18");
- add(new Color(173, 173, 173), /* NOI18N */"gray68");
- add(new Color(36, 36, 36), /* NOI18N */"gray14");
- add(new Color(54, 54, 54), /* NOI18N */"gray21");
- add(new Color(194, 194, 194), /* NOI18N */"gray76");
- add(new Color(150, 150, 150), /* NOI18N */"gray59");
- add(new Color(171, 171, 171), /* NOI18N */"gray67");
- add(new Color(3, 3, 3), /* NOI18N */"gray1");
- add(new Color(181, 181, 181), /* NOI18N */"gray71");
- add(new Color(20, 20, 20), /* NOI18N */"gray8");
- add(new Color(10, 10, 10), /* NOI18N */"gray4");
- add(new Color(207, 207, 207), /* NOI18N */"gray81");
- add(new Color(99, 99, 99), /* NOI18N */"gray39");
- add(new Color(237, 237, 237), /* NOI18N */"gray93");
- add(new Color(79, 79, 79), /* NOI18N */"gray31");
- add(new Color(87, 87, 87), /* NOI18N */"gray34");
- add(new Color(204, 204, 204), /* NOI18N */"gray80");
- add(new Color(214, 214, 214), /* NOI18N */"gray84");
- add(new Color(235, 235, 235), /* NOI18N */"gray92");
- add(new Color(245, 245, 245), /* NOI18N */"gray96");
- add(new Color(8, 8, 8), /* NOI18N */"gray3");
- add(new Color(71, 71, 71), /* NOI18N */"gray28");
- add(new Color(201, 201, 201), /* NOI18N */"gray79");
- add(new Color(61, 61, 61), /* NOI18N */"gray24");
- add(new Color(51, 51, 51), /* NOI18N */"gray20");
- add(new Color(33, 33, 33), /* NOI18N */"gray13");
- add(new Color(15, 15, 15), /* NOI18N */"gray6");
- add(new Color(117, 117, 117), /* NOI18N */"gray46");
- add(new Color(31, 31, 31), /* NOI18N */"gray12");
- add(new Color(13, 13, 13), /* NOI18N */"gray5");
- add(new Color(105, 105, 105), /* NOI18N */"gray41");
- add(new Color(148, 148, 148), /* NOI18N */"gray58");
- add(new Color(252, 252, 252), /* NOI18N */"gray99");
- add(new Color(115, 115, 115), /* NOI18N */"gray45");
- add(new Color(158, 158, 158), /* NOI18N */"gray62");
- add(new Color(179, 179, 179), /* NOI18N */"gray70");
- add(new Color(240, 240, 240), /* NOI18N */"gray94");
- add(new Color(189, 189, 189), /* NOI18N */"gray74");
- add(new Color(250, 250, 250), /* NOI18N */"gray98");
- add(new Color(199, 199, 199), /* NOI18N */"gray78");
- add(new Color(145, 145, 145), /* NOI18N */"gray57");
- add(new Color(70, 130, 180), /* NOI18N */"steel blue");
- add(new Color(233, 150, 122), /* NOI18N */"darksalmon");
- add(new Color(100, 149, 237), /* NOI18N */"cornflowerblue");
- add(new Color(30, 144, 255), /* NOI18N */"dodgerblue");
- add(new Color(238, 221, 130), /* NOI18N */"lightgoldenrod");
- add(new Color(205, 133, 63), /* NOI18N */"peru");
- add(new Color(154, 205, 50), /* NOI18N */"yellow green");
- add(new Color(175, 238, 238), /* NOI18N */"paleturquoise");
- add(new Color(0, 100, 0), /* NOI18N */"darkgreen");
- add(new Color(160, 82, 45), /* NOI18N */"sienna");
- add(new Color(143, 188, 143), /* NOI18N */"darkseagreen");
- add(new Color(255, 228, 196), /* NOI18N */"bisque");
- add(new Color(147, 112, 219), /* NOI18N */"mediumpurple");
- add(new Color(148, 0, 211), /* NOI18N */"dark violet");
- add(new Color(124, 252, 0), /* NOI18N */"lawn green");
- add(new Color(119, 136, 153), /* NOI18N */"lightslategray");
- add(new Color(230, 230, 250), /* NOI18N */"lavender");
- add(new Color(248, 248, 255), /* NOI18N */"ghostwhite");
- add(new Color(176, 224, 230), /* NOI18N */"powderblue");
- add(new Color(218, 165, 32), /* NOI18N */"goldenrod");
- add(new Color(255, 228, 181), /* NOI18N */"moccasin");
- add(new Color(255, 228, 225), /* NOI18N */"mistyrose");
- add(new Color(255, 255, 224), /* NOI18N */"light yellow");
- add(new Color(255, 99, 71), /* NOI18N */"tomato");
- add(new Color(245, 255, 250), /* NOI18N */"mintcream");
- add(new Color(138, 43, 226), /* NOI18N */"blueviolet");
- add(new Color(32, 178, 170), /* NOI18N */"light sea green");
- add(new Color(255, 240, 245), /* NOI18N */"lavender blush");
- add(new Color(127, 255, 212), /* NOI18N */"aquamarine");
- add(new Color(165, 42, 42), /* NOI18N */"brown");
- add(new Color(219, 112, 147), /* NOI18N */"pale violet red");
- add(new Color(240, 255, 255), /* NOI18N */"azure");
- add(new Color(107, 142, 35), /* NOI18N */"olivedrab");
- add(new Color(47, 79, 79), /* NOI18N */"darkslategray");
- add(new Color(139, 69, 19), /* NOI18N */"saddle brown");
- add(new Color(160, 32, 240), /* NOI18N */"purple");
- add(new Color(186, 85, 211), /* NOI18N */"medium orchid");
- add(new Color(240, 255, 240), /* NOI18N */"honeydew");
- add(new Color(176, 196, 222), /* NOI18N */"lightsteelblue");
- add(new Color(64, 224, 208), /* NOI18N */"turquoise");
- add(new Color(255, 127, 80), /* NOI18N */"coral");
- add(new Color(184, 134, 11), /* NOI18N */"darkgoldenrod");
- add(new Color(60, 179, 113), /* NOI18N */"mediumseagreen");
- add(new Color(210, 180, 140), /* NOI18N */"tan");
- add(new Color(255, 222, 173), /* NOI18N */"navajo white");
- add(new Color(46, 139, 87), /* NOI18N */"sea green");
- add(new Color(123, 104, 238), /* NOI18N */"mediumslateblue");
- add(new Color(250, 250, 210), /* NOI18N */
- "light goldenrod yellow");
- add(new Color(135, 206, 235), /* NOI18N */"sky blue");
- add(new Color(132, 112, 255), /* NOI18N */"lightslateblue");
- add(new Color(250, 240, 230), /* NOI18N */"linen");
- add(new Color(218, 112, 214), /* NOI18N */"orchid");
- add(new Color(0, 0, 128), /* NOI18N */"navy blue");
- add(new Color(253, 245, 230), /* NOI18N */"old lace");
- add(new Color(240, 248, 255), /* NOI18N */"aliceblue");
- add(new Color(72, 209, 204), /* NOI18N */"mediumturquoise");
- add(new Color(255, 140, 0), /* NOI18N */"dark orange");
- add(new Color(72, 61, 139), /* NOI18N */"dark slate blue");
- add(new Color(255, 160, 122), /* NOI18N */"light salmon");
- add(new Color(221, 160, 221), /* NOI18N */"plum");
- add(new Color(238, 130, 238), /* NOI18N */"violet");
- add(new Color(34, 139, 34), /* NOI18N */"forest green");
- add(new Color(0, 255, 127), /* NOI18N */"springgreen");
- add(new Color(85, 107, 47), /* NOI18N */"darkolivegreen");
- add(new Color(238, 232, 170), /* NOI18N */"pale goldenrod");
- add(new Color(245, 245, 220), /* NOI18N */"beige");
- add(new Color(255, 250, 240), /* NOI18N */"floralwhite");
- add(new Color(255, 218, 185), /* NOI18N */"peach puff");
- add(new Color(50, 205, 50), /* NOI18N */"limegreen");
- add(new Color(152, 251, 152), /* NOI18N */"palegreen");
- add(new Color(240, 230, 140), /* NOI18N */"khaki");
- add(new Color(188, 143, 143), /* NOI18N */"rosybrown");
- add(new Color(244, 164, 96), /* NOI18N */"sandybrown");
- add(new Color(189, 183, 107), /* NOI18N */"darkkhaki");
- add(new Color(25, 25, 112), /* NOI18N */"midnight blue");
- add(new Color(255, 235, 205), /* NOI18N */"blanched almond");
- add(new Color(224, 255, 255), /* NOI18N */"light cyan");
- add(new Color(255, 182, 193), /* NOI18N */"lightpink");
- add(new Color(95, 158, 160), /* NOI18N */"cadetblue");
- add(new Color(106, 90, 205), /* NOI18N */"slate blue");
- add(new Color(245, 222, 179), /* NOI18N */"wheat");
- add(new Color(255, 69, 0), /* NOI18N */"orangered");
- add(new Color(127, 255, 0), /* NOI18N */"chartreuse");
- add(new Color(255, 255, 255), /* NOI18N */"white");
- add(new Color(65, 105, 225), /* NOI18N */"royalblue");
- add(new Color(173, 216, 230), /* NOI18N */"light blue");
- add(new Color(255, 250, 250), /* NOI18N */"snow");
- add(new Color(255, 245, 238), /* NOI18N */"seashell");
- add(new Color(250, 128, 114), /* NOI18N */"salmon");
- add(new Color(255, 255, 240), /* NOI18N */"ivory");
- add(new Color(255, 239, 213), /* NOI18N */"papaya whip");
- add(new Color(153, 50, 204), /* NOI18N */"dark orchid");
- add(new Color(208, 32, 144), /* NOI18N */"violet red");
- add(new Color(255, 248, 220), /* NOI18N */"cornsilk");
- add(new Color(255, 105, 180), /* NOI18N */"hotpink");
- add(new Color(176, 48, 96), /* NOI18N */"maroon");
- add(new Color(178, 34, 34), /* NOI18N */"firebrick");
- add(new Color(240, 128, 128), /* NOI18N */"lightcoral");
- add(new Color(220, 220, 220), /* NOI18N */"gainsboro");
- add(new Color(216, 191, 216), /* NOI18N */"thistle");
- add(new Color(135, 206, 250), /* NOI18N */"light sky blue");
- add(new Color(210, 105, 30), /* NOI18N */"chocolate");
- add(new Color(173, 255, 47), /* NOI18N */"green yellow");
- add(new Color(112, 128, 144), /* NOI18N */"slate gray");
- add(new Color(0, 191, 255), /* NOI18N */"deepskyblue");
- add(new Color(255, 250, 205), /* NOI18N */"lemon chiffon");
- add(new Color(0, 206, 209), /* NOI18N */"dark turquoise");
- add(new Color(222, 184, 135), /* NOI18N */"burlywood");
- add(new Color(199, 21, 133), /* NOI18N */"mediumvioletred");
- add(new Color(250, 235, 215), /* NOI18N */"antique white");
- add(new Color(255, 215, 0), /* NOI18N */"gold");
- add(new Color(255, 20, 147), /* NOI18N */"deep pink");
- add(new Color(205, 92, 92), /* NOI18N */"indianred");
- add(new Color(0, 250, 154), /* NOI18N */"medium spring green");
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Converter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Converter.java
deleted file mode 100644
index 52ad9f0ca5..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Converter.java
+++ /dev/null
@@ -1,546 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Converter.java 1.65 - last change made 08/20/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import sunsoft.jws.visual.rt.base.*;
-
-import java.util.*;
-
-/**
-* Base class for all converters. Converts a type of
-* object to a string
-* and back again.
-*
-* @version 1.65, 08/20/97
-*/
-
-public abstract class Converter {
- /**
- * Table of names for each registered converter.
- */
- private static Hashtable converterNameTable = new Hashtable();
-
- /**
- * Table of instances for each converter that has
- * been instantiated.
- */
- private static Hashtable converterInstanceTable = new Hashtable();
-
- /**
- * Adds a new type converter to the global table of converters. A
- * converter must be listed for this table in order for the search
- * for a converter for that particular type to be successful.
- *
- * @param typeName the name of the type (what is returned by a
- * call to getClass().getType() for an instance of that type)
- * @param converterClassName the full name of the converter class
- */
- public static void addConverter(String typeName,
- String converterClassName) {
- converterNameTable.put(typeName, converterClassName);
- }
-
- /**
- * Initialize the type converters for the types we know about.
- */
- static {
- addConverter(/* NOI18N */"[I", /* NOI18N */
- "sunsoft.jws.visual.rt.type.IntArrayConverter");
- addConverter(/* NOI18N */"[D", /* NOI18N */
- "sunsoft.jws.visual.rt.type.DoubleArrayConverter");
- addConverter(/* NOI18N */"java.lang.String",
- /* NOI18N */"sunsoft.jws.visual.rt.type.StringConverter");
- addConverter(/* NOI18N */"[Ljava.lang.String;",
- /* NOI18N */"sunsoft.jws.visual.rt.type.StringArrayConverter");
- addConverter(/* NOI18N */"java.lang.Boolean",
- /* NOI18N */"sunsoft.jws.visual.rt.type.BooleanConverter");
- addConverter(/* NOI18N */"java.lang.Character",
- /* NOI18N */"sunsoft.jws.visual.rt.type.CharacterConverter");
- addConverter(/* NOI18N */"java.lang.Integer",
- /* NOI18N */"sunsoft.jws.visual.rt.type.IntegerConverter");
- addConverter(/* NOI18N */"java.awt.Color",
- /* NOI18N */"sunsoft.jws.visual.rt.type.ColorConverter");
- addConverter(/* NOI18N */"java.awt.SystemColor",
- /* NOI18N */"sunsoft.jws.visual.rt.type.ColorConverter");
- addConverter(/* NOI18N */"java.awt.Font",
- /* NOI18N */"sunsoft.jws.visual.rt.type.FontConverter");
- addConverter(/* NOI18N */"java.awt.Point",
- /* NOI18N */"sunsoft.jws.visual.rt.type.PointConverter");
- addConverter(/* NOI18N */"java.awt.Dimension",
- /* NOI18N */"sunsoft.jws.visual.rt.type.DimensionConverter");
- addConverter(/* NOI18N */"java.awt.Insets",
- /* NOI18N */"sunsoft.jws.visual.rt.type.InsetsConverter");
- addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.awt.GBConstraints",
- /* NOI18N */"sunsoft.jws.visual.rt.type.GBConstraintsConverter");
- addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.base.AttributeManager",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AMConverter");
- addConverter(/* NOI18N */"sunsoft.jws.visual.rt.type.AMRef",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AMRefConverter");
- addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.base.Attribute",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AttributeConverter");
- addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.base.AttributeList",
- /* NOI18N */"sunsoft.jws.visual.rt.type.AttributeListConverter");
- addConverter(/* NOI18N */"sunsoft.jws.visual.rt.type.ImageRef",
- /* NOI18N */"sunsoft.jws.visual.rt.type.ImageRefConverter");
- addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.type.AlignmentEnum",
- /* NOI18N */"sunsoft.jws.visual.rt.type.BaseEnumConverter");
- addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.type.AnchorEnum",
- /* NOI18N */"sunsoft.jws.visual.rt.type.BaseEnumConverter");
- addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.type.OrientationEnum",
- /* NOI18N */"sunsoft.jws.visual.rt.type.BaseEnumConverter");
- addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.type.ReliefEnum",
- /* NOI18N */"sunsoft.jws.visual.rt.type.BaseEnumConverter");
- addConverter(/* NOI18N */"sunsoft.jws.visual.rt.type.ModeEnum",
- /* NOI18N */"sunsoft.jws.visual.rt.type.BaseEnumConverter");
- addConverter(/* NOI18N */"unknown", /* NOI18N */
- "sunsoft.jws.visual.rt.type.UnknownTypeConverter");
- }
-
- /**
- * Returns an existing converter for the given type. Creates a new
- * converter only if necessary (typically the first
- * time one is asked for.)
- */
- public static Converter getConverter(String typeName) {
- Converter converter;
-
- converter = (Converter)converterInstanceTable.get(typeName);
- if (converter != null)
- return converter;
-
- String converterType = (String) converterNameTable.get
- (typeName);
- if (converterType == null) {
- /* JSTYLED */
- // Load the class for the type and try again. Some types have
- // static initializers that register their converters.
- loadType(typeName);
- converterType = (String) converterNameTable.get(typeName);
- }
-
- if (converterType == null) {
- converterType = (String) converterNameTable.get
- (/* NOI18N */"unknown");
- if (converterType == null)
- /* JSTYLED */
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.type.Converter.No__converter__defined.20"));
- }
- try {
- Class c = Class.forName(converterType);
- converter = (Converter) c.newInstance();
- converter.setConverterType(typeName);
- converterInstanceTable.put(typeName, converter);
- return converter;
- }
- catch (Exception e) {
- throw new Error(e.getMessage());
- }
- }
-
- private static void loadType(String typeName) {
- // For arrays, use the array type
- if (typeName.charAt(0) == /* NOI18N */ '[') {
- int i;
- int len = typeName.length();
- for (i = 0; i < len; i++) {
- if (typeName.charAt(i) != /* NOI18N */ '[')
- break;
- }
- i++;
- if (i < len)
- typeName = typeName.substring(i, len-1);
- }
-
- try {
- Class.forName(typeName);
- }
- catch (ClassNotFoundException ex) {
- /* JSTYLED */
- System.out.println(Global.getMsg("sunsoft.jws.visual.rt.type.Converter.Class__not__found__for__.21") + typeName + /* NOI18N */"\".");
- }
- }
-
- /**
- * Returns true if there is a converter for the given type.
- */
- public static boolean hasConverter(String typeName) {
- return (converterNameTable.containsKey(typeName));
- }
-
- /**
- * The type editors (for more complex types.)
- */
- private static Hashtable typeEditorNameTable = new Hashtable();
-
- /**
- * Registers a type editor for a type. At run-time (in generated
- * applications) there will typically be no editors, but they are
- * needed for the attribute editor in the designer. The designer
- * will set up all the standard ones.
- *
- * @see TypeEditor
- */
- public static void addTypeEditor(String typeName,
- String editorClassName) {
- typeEditorNameTable.put(typeName, editorClassName);
- }
-
- /**
- * Returns true if there is an editor for the given type.
- *
- * @see TypeEditor
- */
- public static boolean hasTypeEditor(String typeName) {
- return (typeEditorNameTable.containsKey(typeName));
- }
-
- /* BEGIN JSTYLED */
- /**
- * Returns a new instance of a type editor.
- * The caller (typically the
- * Designer) gets a new one of these every time, one for each
- * attribute being edited, even if they are the same type. Caching
- * instances of these type editors is up to the caller.
- */
- /* END JSTYLED */
-
- public static TypeEditor newTypeEditor(String typeName) {
- String editorType = (String) typeEditorNameTable.get(typeName);
-
- if (editorType != null) {
- try {
- // instances of type editors are NOT cached
- Class c = Class.forName(editorType);
- return ((TypeEditor) c.newInstance());
- }
- catch (Exception ex) {
- /* JSTYLED */
- throw new VJException(Global.newline() + /* NOI18N */" " + ex.toString());
- }
- }
-
- return null;
- }
-
- /**
- * Returns whether a converter instance has an
- * associated type editor.
- *
- * @see TypeEditor
- */
- public boolean hasTypeEditor() {
- return (hasTypeEditor(getConverterType()));
- }
-
- /**
- * Returns a new instance of the type editor associated with this
- * converter.
- */
- public TypeEditor newTypeEditor() {
- return (newTypeEditor(getConverterType()));
- }
- /* JSTYLED */
- // ------ Interfaces for Sub-Classers -----------------------------------
-
- /**
- * The name of the type being edited.
- */
- protected String converterType;
-
- /**
- * An interface that can be overridden in sub-classes
- * to whom the type
- * converted is important.
- *
- * @see BaseEnumConverter
- */
- protected void setConverterType(String type) {
- converterType = type;
- }
-
- /**
- * Returns the type of object converted by this converter.
- */
- public String getConverterType() {
- return (converterType);
- }
-
- /* BEGIN JSTYLED */
- /**
- * Returns the string representation for an instance of
- * the type this
- * converter converts. Must be declared in subclasses
- * to convert an
- * object of the type specific to that subclass of Converter.
- * <p>
- * One of the two "convertToString" methods must be overridden in
- * the converter sub-class. The overridden "convertToString"
- * method
- * should NOT call "super.convertToString". It is preferrable to
- * override the StringBuffer version (the other one) because this
- * will result in better performance.
- */
- /* END JSTYLED */
- public String convertToString(Object obj) {
- enterConvert(TOSTRING, false);
- StringBuffer buf = new StringBuffer();
- convertToString(obj, buf);
- exitConvert(TOSTRING, false);
-
- return buf.toString();
- }
-
- /**
- * Places a string representation of an instance of the type this
- * converter converts into a string buffer.
- */
- public void convertToString(Object obj, StringBuffer buf) {
- enterConvert(TOSTRING, true);
- buf.append(convertToString(obj));
- exitConvert(TOSTRING, true);
- }
-
- /**
- * Returns a new instance of the type this converter converts, as
- * specified by the string given. Must be declared
- * in subclasses of
- * Converter to convert a string representation into an object of
- * the type converted by the subclass.
- */
- public abstract Object convertFromString(String s);
-
- /**
- * Converts an instance of the type into a block of code.
- */
- public void convertToCodeBlock(String amName,
- Attribute a, int indent, StringBuffer buf) {
-
- Converter c = getConverter(a.getType());
- String attr_name;
-
- indent(buf, indent);
- buf.append(amName);
- buf.append(/* NOI18N */".set(\"");
- attr_name = a.getName();
- buf.append(attr_name);
- buf.append(/* NOI18N */"\", ");
- buf.append(c.convertToCode(a.getValue()));
- buf.append(/* NOI18N */");");
- newline(buf);
- }
-
- /**
- * Converts an instance of the type converted into a line of code.
- * This method provides a default way for any type to get a
- * convertToCode method into it. It generates code that will feed
- * the string representation of the object into the
- * appropriate type
- * converter. The performance isn't as good as customized
- * convertToCode functions in subclasses since more classes have to
- * be loaded at runtime.
- */
- public String convertToCode(Object obj) {
- if (obj != null)
- return (/* NOI18N */"convert(\"" +
- obj.getClass().getName() + /* NOI18N */"\", \""
- + convertToString(obj) + /* NOI18N */"\")");
- else
- return (/* NOI18N */"null");
- }
-
- /**
- * Returns the string that should be displayed in the attribute
- * editor. Subclassers that want something displayed other than
- * what is returned from convertToString should override this
- * method to return that.
- */
- public String displayString(Object obj) {
- return (convertToString(obj));
- }
-
- /**
- * Returns true if this type should be displayed in an editor.
- *
- * For the attribute editor, a return value of false means that the
- * the textfield will be hidden.
- *
- * @return true
- */
- public boolean viewableAsString() {
- return true;
- }
-
- /**
- * Returns true if this type is simple enough to be
- * edited as a string
- * in an editor.
- *
- * Sub-classers that represent type too complex for
- * this should override
- * this function to return false. For the attribute editor,
- * this means
- * that the textfield will be read-only.
- *
- * @see #viewableAsString
- * @return same as viewableAsString
- */
- public boolean editableAsString() {
- return viewableAsString();
- }
-
- /**
- * These weird looking enter/exit methods ensure that the converter
- * sub-class is overriding at least one of the "convertToString"
- * methods, and at least one of the "convertToCode" methods.
- * An error will be thrown at runtime if this in not the case.
- * If this check wasn't done here , then the failure to
- * override one
- * of the methods would result in an infinite loop.
- */
- private static final int TOSTRING = 0;
- private static final int TOCODE = 1;
-
- private boolean converting[] = {false, false};
- private boolean isBuffered[] = {false, false};
- private int convertRecurse[] = {0, 0};
-
- private void enterConvert(int c, boolean isBuffered) {
- if (converting[c] && this.isBuffered[c] != isBuffered)
- throw new Error(Global.getMsg(
- "sunsoft.jws.visual.rt.type.Converter.Sub-classes__of__Conve.22"));
-
- this.isBuffered[c] = isBuffered;
- converting[c] = true;
- convertRecurse[c]++;
- }
-
- private void exitConvert(int c, boolean isBuffered) {
- if (!converting[c])
- /* BEGIN JSTYLED */
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.type.Converter.Convert__exit__without.25"));
-
- if (this.isBuffered[c] != isBuffered)
- throw new Error(Global.getMsg("sunsoft.jws.visual.rt.type.Converter.isBuffered__mismatch__.26"));
-
- /* END JSTYLED */
- convertRecurse[c]--;
- if (convertRecurse[c] == 0)
- converting[c] = false;
- }
- /* BEGIN JSTYLED */
- // ------ Utility Functions ----------------------------------------------
-
- /**
- * Returns a string that can be used as a newline.
- * This string includes
- * a carriage return if we are running on Windows.
- */
- /* END JSTYLED */
- public static String newline() {
- return Global.newline();
- }
-
- /**
- * Appends a newline to buf. This also appends a carriage return
- * if we are running on Windows.
- */
- public static void newline(StringBuffer buf) {
- Global.newline(buf);
- }
-
- private static final String indentString = /* NOI18N */" ";
- private static int indentLevel = 0;
-
- /**
- * Appends spaces to "buf" based on the current indent level.
- */
- protected static void indent(StringBuffer buf) {
- for (int i = 0; i < indentLevel; i++)
- buf.append(indentString);
- }
-
- /**
- * Appends spaces to "buf" based on the given indent level.
- */
- protected static void indent(StringBuffer buf, int indentLevel) {
- for (int i = 0; i < indentLevel; i++)
- buf.append(/* NOI18N */ ' ');
- }
-
- /**
- * Increments the indent level.
- */
- protected static void incrIndent() {
- indentLevel++;
- }
-
- /**
- * Decrements the indent level.
- */
- protected static void decrIndent() {
- indentLevel--;
- }
-
- /**
- * Returns the current indent level.
- */
- protected static int indentLevel() {
- return indentLevel;
- }
-
- /**
- * Returns the last token in a class name. i.e. the name that you
- * can use for a class when you've imported the class already.
- */
- public static String shortClassName(String className) {
- int index = className.lastIndexOf(/* NOI18N */ '.');
- if (index == -1)
- return (className);
- else
- return (className.substring(index + 1));
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DimensionConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DimensionConverter.java
deleted file mode 100644
index d46783ae60..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DimensionConverter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) DimensionConverter.java 1.12 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.Dimension;
-import java.util.Hashtable;
-import java.util.Enumeration;
-
-/**
- * Converts Dimension objects to strings and back again. The format
- * of the string representation is "width=#;height=#", where # can be
- * any non-negative number.
- *
- * @see Dimension
- * @version 1.12, 07/25/97
- */
-public class DimensionConverter extends Converter {
- public String convertToString(Object obj) {
- if (obj == null)
- return /* NOI18N */"";
-
- Dimension d = (Dimension)obj;
- return (/* NOI18N */"width=" + d.width
- + /* NOI18N */";height=" + d.height);
- }
-
- public Object convertFromString(String s) {
- if (s == null || s.length() == 0)
- return null;
-
- SubFieldTokenizer sft = new SubFieldTokenizer(s);
- Hashtable table = sft.getHashtable();
- Dimension d = new Dimension();
-
- Enumeration e = table.keys();
- while (e.hasMoreElements()) {
- String key = (String)e.nextElement();
- if (!key.equals(/* NOI18N */"width") &&
- !key.equals(/* NOI18N */"height")) {
- /* BEGIN JSTYLED */
- // throw new ParseException(/* NOI18N */"Illegal dimension value: " + key);
- throw new ParseException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.DimensionConverter.FMT.31",
- Global.getMsg("sunsoft.jws.visual.rt.type.DimensionConverter.illegal__dimension__value"),
- key));
- /* END JSTYLED */
- }
- }
-
- if (table.containsKey(/* NOI18N */"width"))
- d.width = getIntegerFromTable(table, /* NOI18N */"width");
- if (table.containsKey(/* NOI18N */"height"))
- d.height = getIntegerFromTable(table, /* NOI18N */"height");
-
- return d;
- }
-
- private int getIntegerFromTable(Hashtable table, String key) {
- String value = (String) table.get(key);
- if (value != null) {
- try {
- return Integer.valueOf(value).intValue();
- }
- catch (NumberFormatException ex) {
- /* JSTYLED */
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.DimensionConverter.Badly__formatted__dime.27") + value);
- }
- } else {
- return (0);
- }
- }
-
- public String convertToCode(Object obj) {
- if (obj == null) {
- return /* NOI18N */"new java.awt.Dimension()";
- } else {
- Dimension d = (Dimension)obj;
- return (/* NOI18N */"new java.awt.Dimension(" + d.width
- + /* NOI18N */", " + d.height + /* NOI18N */")");
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DoubleArrayConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DoubleArrayConverter.java
deleted file mode 100644
index d61b0ac323..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DoubleArrayConverter.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) DoubleArrayConverter.java 1.15 - last change made 06/17/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Attribute;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.util.Vector;
-import java.util.StringTokenizer;
-
-/**
-* Converts array of double to a string and back again.
-* The string representation is a single line of
-* comma-separated numbers.
-*
-* @version 1.15, 06/17/97
-*/
-public class DoubleArrayConverter extends Converter {
- /**
- * Converts and array of double to a string representation.
- */
- public String convertToString(Object obj) {
- if (obj != null) {
- double[] a = (double[]) obj;
-
- StringBuffer retval = new StringBuffer();
- for (int i = 0; i < a.length; i++) {
- retval.append(a[i]);
- if (i != (a.length-1))
- retval.append(/* NOI18N */",");
- }
-
- return (retval.toString());
- } else {
- return (/* NOI18N */"");
- }
- }
-
- /**
- * Converts a string to an array of double.
- *
- * @exception ParseException when one of the numbers
- * is badly formatted
- */
- public Object convertFromString(String s) {
- if (s != null) {
- Vector doublebuf = new Vector();
-
- StringTokenizer st = new StringTokenizer(s, /* NOI18N */",");
- for (; st.hasMoreTokens(); ) {
- try {
- s = st.nextToken().trim();
- doublebuf.addElement(Double.valueOf(s));
- } catch (NumberFormatException e) {
- /* JSTYLED */
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.DoubleArrayConverter.Badly__formatted__doub.28") + s);
- }
- }
-
- if (doublebuf.size() > 0) {
- double retval[] = new double[doublebuf.size()];
- for (int i = 0; i < doublebuf.size(); i++)
- retval[i] = ((Double) doublebuf.elementAt(i)).
- doubleValue();
- return (retval);
- }
- }
- return (null);
- }
-
- /**
- * Converts an array of double (stored in an attribute) into
- * a block
- * of code that will create the array without using this
- * converter at
- * runtime.
- */
- public void convertToCodeBlock(String amName, Attribute a,
- int indent, StringBuffer buf) {
- indent(buf, indent);
- buf.append(/* NOI18N */"{");
- Global.newline(buf);
-
- indent += 2;
- indent(buf, indent);
- buf.append(/* NOI18N */"double _tmp[] = {");
- convertToString(a.getValue(), buf);
- buf.append(/* NOI18N */"};");
- Global.newline(buf);
-
- super.convertToCodeBlock(amName, a, indent, buf);
-
- indent -= 2;
- indent(buf, indent);
- buf.append(/* NOI18N */"}");
- Global.newline(buf);
- }
-
- /**
- * Use convertToCodeBlock instead.
- */
- public String convertToCode(Object obj) {
- return (/* NOI18N */"_tmp");
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DoubleHolder.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DoubleHolder.java
deleted file mode 100644
index 3fd4fa1f5c..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/DoubleHolder.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) DoubleHolder.java 1.2 - last change made 07/18/96
- */
-
-package sunsoft.jws.visual.rt.type;
-
-/**
- * A utility class that can be used to pass a mutable double preceision
- * number by reference.
- *
- * @version 1.2, 07/18/96
- */
-public class DoubleHolder {
- public double value;
-
- public DoubleHolder() {}
-
- public DoubleHolder(double value) {
- this.value = value;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/FontConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/FontConverter.java
deleted file mode 100644
index 236613a034..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/FontConverter.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) FontConverter.java 1.14 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.awt.Font;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-/**
- * Converts Font objects to strings and back again. An example of the
- * string representation: "name=Helvetica;style=bold;size=14". The
- * styles that can currently be used are "plain", "bold", and
- * "italic".
- *
- * @version 1.14, 07/25/97
- */
-public class FontConverter extends Converter {
-
- private static final int styleDefault = Font.PLAIN;
- private static final int sizeDefault = 12;
-
- /**
- * Converts a Font instance to a string.
- */
- public String convertToString(Object obj) {
- if (obj == null)
- return /* NOI18N */"";
-
- Font font = (Font) obj;
- String style;
-
- switch (font.getStyle()) {
- case Font.PLAIN:
- style = /* NOI18N */"plain";
- break;
- case Font.BOLD:
- style = /* NOI18N */"bold";
- break;
- case Font.ITALIC:
- style = /* NOI18N */"italic";
- break;
- default:
- /* JSTYLED */
- System.out.println(Global.getMsg("sunsoft.jws.visual.rt.type.FontConverter.Warning-co-__unknown__fon.29") + font.getStyle());
- style = /* NOI18N */"plain";
- break;
- }
-
- return (/* NOI18N */"name=" + font.getName()
- + /* NOI18N */";style=" + style
- + /* NOI18N */";size=" + font.getSize());
- }
-
- /**
- * Converts a string to a new instance of Font.
- *
- * @exception ParseException when there is a format
- * problem with the string
- */
- public Object convertFromString(String s) {
- if (s == null || s.length() == 0)
- return null;
-
- SubFieldTokenizer sft = new SubFieldTokenizer(s);
- Hashtable table = sft.getHashtable();
-
- String name = (String) table.get(/* NOI18N */"name");
- if (name == null || name.length() <= 0)
- /* BEGIN JSTYLED */
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.FontConverter.Missing__font__name-co-__") + s);
- /* END JSTYLED */
- int style;
- String styleString = (String) table.get(/* NOI18N */"style");
- if (styleString != null) {
- if (styleString.equals(/* NOI18N */"italic"))
- style = Font.ITALIC;
- else if (styleString.equals(/* NOI18N */"bold"))
- style = Font.BOLD;
- else if (styleString.equals(/* NOI18N */"plain"))
- style = Font.PLAIN;
- else {
- /* BEGIN JSTYLED */
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.FontConverter.Invalid__font__style-co-__.30") + s);
- /* END JSTYLED */
- }
- } else {
- style = styleDefault;
- }
-
- int size;
- String sizeString = (String) table.get(/* NOI18N */"size");
- if (sizeString != null) {
- try {
- size = Integer.valueOf(sizeString).intValue();
- } catch (NumberFormatException e) {
- /* BEGIN JSTYLED */
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.FontConverter.Invalid__font__size-co-__") + s);
- }
- if (size <= 0) {
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.FontConverter.Negative__font__size-co-__.31") + s);
- /* END JSTYLED */
- }
- } else {
- size = sizeDefault;
- }
-
- return (new Font(name, style, size));
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/GBConstraintsConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/GBConstraintsConverter.java
deleted file mode 100644
index 39f1736344..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/GBConstraintsConverter.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) GBConstraintsConverter.java 1.21 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.base.Shadow;
-import sunsoft.jws.visual.rt.awt.GBConstraints;
-import java.util.Hashtable;
-
-/**
- * Converts instances of GBConstraints to strings and back again.
- *
- * @version 1.21, 07/25/97
- */
-public class GBConstraintsConverter extends Converter {
-
- private static final GBConstraints constraintsDefault =
- new GBConstraints();
-
- private String constantToString(int c) {
- if (c == GBConstraints.RELATIVE)
- return (/* NOI18N */"relative");
- else if (c == GBConstraints.REMAINDER)
- return (/* NOI18N */"remainder");
- else if (c == GBConstraints.NONE)
- return (/* NOI18N */"none");
- else if (c == GBConstraints.BOTH)
- return (/* NOI18N */"both");
- else if (c == GBConstraints.HORIZONTAL)
- return (/* NOI18N */"horizontal");
- else if (c == GBConstraints.VERTICAL)
- return (/* NOI18N */"vertical");
- else if (c == GBConstraints.CENTER)
- return (/* NOI18N */"center");
- else if (c == GBConstraints.NORTH)
- return (/* NOI18N */"north");
- else if (c == GBConstraints.NORTHEAST)
- return (/* NOI18N */"northeast");
- else if (c == GBConstraints.EAST)
- return (/* NOI18N */"east");
- else if (c == GBConstraints.SOUTHEAST)
- return (/* NOI18N */"southeast");
- else if (c == GBConstraints.SOUTH)
- return (/* NOI18N */"south");
- else if (c == GBConstraints.SOUTHWEST)
- return (/* NOI18N */"southwest");
- else if (c == GBConstraints.WEST)
- return (/* NOI18N */"west");
- else if (c == GBConstraints.NORTHWEST)
- return (/* NOI18N */"northwest");
- else
- /* BEGIN JSTYLED */
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.GBConstraintsConverter.FMT.29",
- Global.getMsg("sunsoft.jws.visual.rt.type.GBConstraintsConverter.unknown__constant"),
- new Integer(c)));
- /* END JSTYLED */
- }
-
- private int stringToConstant(String s) {
- if (s.equals(/* NOI18N */"relative"))
- return GBConstraints.RELATIVE;
- else if (s.equals(/* NOI18N */"remainder"))
- return GBConstraints.REMAINDER;
- else if (s.equals(/* NOI18N */"none"))
- return GBConstraints.NONE;
- else if (s.equals(/* NOI18N */"both"))
- return GBConstraints.BOTH;
- else if (s.equals(/* NOI18N */"horizontal"))
- return GBConstraints.HORIZONTAL;
- else if (s.equals(/* NOI18N */"vertical"))
- return GBConstraints.VERTICAL;
- else if (s.equals(/* NOI18N */"center"))
- return GBConstraints.CENTER;
- else if (s.equals(/* NOI18N */"north"))
- return GBConstraints.NORTH;
- else if (s.equals(/* NOI18N */"northeast"))
- return GBConstraints.NORTHEAST;
- else if (s.equals(/* NOI18N */"east"))
- return GBConstraints.EAST;
- else if (s.equals(/* NOI18N */"southeast"))
- return GBConstraints.SOUTHEAST;
- else if (s.equals(/* NOI18N */"south"))
- return GBConstraints.SOUTH;
- else if (s.equals(/* NOI18N */"southwest"))
- return GBConstraints.SOUTHWEST;
- else if (s.equals(/* NOI18N */"west"))
- return GBConstraints.WEST;
- else if (s.equals(/* NOI18N */"northwest"))
- return GBConstraints.NORTHWEST;
- else
- /* BEGIN JSTYLED */
- throw new Error(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.GBConstraintsConverter.FMT.29",
- Global.getMsg("sunsoft.jws.visual.rt.type.GBConstraintsConverter.unknown__constant"),
- s));
- /* END JSTYLED */
- }
-
- /**
- * Converts an instance of GBConstraints to a string representation.
- */
- public String convertToString(Object obj) {
- if (obj != null) {
- GBConstraints c = (GBConstraints) obj;
- String retval = /* NOI18N */"";
-
- if (c.gridx != constraintsDefault.gridx) {
- retval = retval + /* NOI18N */"x=" + c.gridx
- + /* NOI18N */";";
- }
- if (c.gridy != constraintsDefault.gridy) {
- retval = retval + /* NOI18N */"y=" + c.gridy
- + /* NOI18N */";";
- }
- if (c.gridwidth != constraintsDefault.gridwidth) {
- retval = retval + /* NOI18N */"width=" + c.gridwidth
- + /* NOI18N */";";
- }
- if (c.gridheight != constraintsDefault.gridheight) {
- retval = retval + /* NOI18N */"height="
- + c.gridheight + /* NOI18N */";";
- }
- if (c.weightx != constraintsDefault.weightx) {
- retval = retval + /* NOI18N */"weightx=" + c.weightx
- + /* NOI18N */";";
- }
- if (c.weighty != constraintsDefault.weighty) {
- retval = retval + /* NOI18N */"weighty=" + c.weighty
- + /* NOI18N */";";
- }
- if (c.fill != constraintsDefault.fill) {
- retval = retval + /* NOI18N */"fill="
- + constantToString(c.fill) + /* NOI18N */";";
- }
- if (c.ipadx != constraintsDefault.ipadx) {
- retval = /* NOI18N */(retval + "ipadx="
- + c.ipadx + ";");
- }
- if (c.ipady != constraintsDefault.ipady) {
- retval = /* NOI18N */(retval + "ipady="
- + c.ipady + ";");
- }
- if (c.shrinkx != constraintsDefault.shrinkx) {
- retval = /* NOI18N */(retval + "shrinkx="
- + c.shrinkx + ";");
- }
- if (c.shrinky != constraintsDefault.shrinky) {
- retval = /* NOI18N */(retval + "shrinky="
- + c.shrinky + ";");
- }
-
- if (retval.length() > 0 &&
- retval.charAt(retval.length() - 1) == /* NOI18N */ ';')
- return (retval.substring(0, retval.length() - 1));
- else
- return (retval);
- } else {
- return (null);
- }
- }
-
- /**
- * Returns a code for creating a GBConstraints instance
- * like the one given.
- *
- * @param obj an instance of GBConstraints
- */
- public String convertToCode(Object obj) {
- return (/* NOI18N */("new GBConstraints(\""
- + convertToString(obj) + "\")"));
- }
-
- private int getIntegerFromTable(Hashtable table, String key) {
- String value = (String) table.get(key);
- if (value != null)
- return (Integer.valueOf(value).intValue());
- else
- return (0);
- }
-
- private boolean getBooleanFromTable(Hashtable table, String key) {
- String value = (String) table.get(key);
- if (value != null)
- return (Boolean.valueOf(value).booleanValue());
- else
- return (false);
- }
-
- private double getDoubleFromTable(Hashtable table, String key) {
- String value = (String) table.get(key);
- if (value != null)
- return (Double.valueOf(value).doubleValue());
- else
- return (0.0);
- }
-
- private int getConstantFromTable(Hashtable table, String key) {
- String value = (String) table.get(key);
- if (value != null)
- return (stringToConstant(value));
- else
- return (0);
- }
-
- /**
- * Converts a string into a new instance of GBConstraints.
- *
- * @exception Error when there is a problem with the string
- */
- public Object convertFromString(String s) {
- if (s != null && s.length() > 0) {
- SubFieldTokenizer sft = new SubFieldTokenizer(s);
- Hashtable table = sft.getHashtable();
- GBConstraints retval = new GBConstraints();
-
- if (table.containsKey(/* NOI18N */"x")) {
- retval.gridx = getIntegerFromTable(table, /* NOI18N */"x");
- }
- if (table.containsKey(/* NOI18N */"y")) {
- retval.gridy = getIntegerFromTable(table, /* NOI18N */"y");
- }
- if (table.containsKey(/* NOI18N */"width")) {
- retval.gridwidth = getIntegerFromTable(
- table, /* NOI18N */"width");
- }
- if (table.containsKey(/* NOI18N */"height")) {
- retval.gridheight = getIntegerFromTable(
- table, /* NOI18N */"height");
- }
- if (table.containsKey(/* NOI18N */"weightx")) {
- retval.weightx = getDoubleFromTable(
- table, /* NOI18N */"weightx");
- }
- if (table.containsKey(/* NOI18N */"weighty")) {
- retval.weighty = getDoubleFromTable(
- table, /* NOI18N */"weighty");
- }
- if (table.containsKey(/* NOI18N */"fill")) {
- retval.fill = getConstantFromTable(
- table, /* NOI18N */"fill");
- }
- if (table.containsKey(/* NOI18N */"ipadx")) {
- retval.ipadx = getIntegerFromTable(
- table, /* NOI18N */"ipadx");
- }
- if (table.containsKey(/* NOI18N */"ipady")) {
- retval.ipady = getIntegerFromTable(
- table, /* NOI18N */"ipady");
- }
- if (table.containsKey(/* NOI18N */"shrinkx")) {
- retval.shrinkx = getBooleanFromTable(
- table, /* NOI18N */"shrinkx");
- }
- if (table.containsKey(/* NOI18N */"shrinky")) {
- retval.shrinky = getBooleanFromTable(
- table, /* NOI18N */"shrinky");
- }
-
- return (retval);
- } else {
- return (null);
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ImageRef.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ImageRef.java
deleted file mode 100644
index eefbecbe5e..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ImageRef.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ImageRef.java 1.17 - last change made 08/07/96
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-import sunsoft.jws.visual.rt.base.VJException;
-
-import java.awt.Component;
-import java.awt.Image;
-import java.awt.MediaTracker;
-import java.awt.image.ImageObserver;
-import java.applet.Applet;
-import java.net.URL;
-import java.net.MalformedURLException;
-
-/**
- * Stores an image and the URL or filename that it came from. This
- * class is capable of converting a filename to a URL and will do so
- * in order to load the image using a "file:" URL. The creation of
- * the image is delayed until the image is requested.
- *
- * @see Image
- * @version 1.17, 08/07/96
- */
-public class ImageRef implements ImageObserver {
- private Image img;
- private String filename;
- private URL url;
- private int imgWidth, imgHeight;
- private boolean gotWidth, gotHeight;
- private boolean errorFlagged = false; // set in imageUpdate
- /* JSTYLED */
- private boolean disableErrorPrint = false; // allow println in imageUpdate
-
- /**
- * Constructs a new instance of ImageRef that use a
- * URL to find the image when it is requested.
- * The size of the image
- * cannot be appended to the URL.
- */
- public ImageRef(URL url) {
- init(null, url, -1, -1);
- }
-
- /**
- * Constructs a new instance of ImageRef given the name of a file
- * for the image. The filename may be relative to the codebase or
- * any of the directories in the classpath. The size of the image
- * may be appended to the filename to help with initial layout of
- * widgets containing images, like this: "imagefile.gif;24x48".
- */
- public ImageRef(String filename) {
- int index = filename.indexOf(/* NOI18N */ ';');
- if (index != -1) {
- String dims = filename.substring(index+1);
- filename = filename.substring(0, index);
-
- index = dims.indexOf(/* NOI18N */ 'x');
-
- try {
- int w, h;
-
- w = Integer.parseInt(dims.substring(0, index));
- h = Integer.parseInt(dims.substring(index+1));
-
- init(filename, null, w, h);
- } catch (Exception e) {
- init(filename, null, -1, -1);
- }
- } else {
- init(filename, null, -1, -1);
- }
- }
-
- private void init(String filename, URL url, int imgWidth,
- int imgHeight) {
- this.img = null;
- this.filename = filename;
- this.url = url;
- this.imgWidth = imgWidth;
- this.imgHeight = imgHeight;
- }
-
- /**
- * Gets the image stored here (or referenced by the URL). */
- public Image getImage(Component comp, Applet applet) {
- try {
- cacheImage(comp, applet);
- }
- catch (VJException vje) {
- return null;
- }
- return img;
- }
-
- /**
- * Returns the width of the image. If the image is not yet loaded,
- * then returns the expected width of the image.
- */
- public int getWidth(Component comp, Applet applet) {
- try {
- cacheImage(comp, applet);
- }
- catch (VJException vje) {
- return 0;
- }
- return imgWidth;
- }
-
- /**
- * Returns the height of the image. If the image is not
- * yet loaded,
- * then returns the expected height of the image.
- */
- public int getHeight(Component comp, Applet applet) {
- try {
- cacheImage(comp, applet);
- }
- catch (VJException vje) {
- return 0;
- }
- return imgHeight;
- }
-
- /**
- * Returns the URL stored here.
- */
- public URL getURL() {
- return (url);
- }
-
- /**
- * Returns the file name of the image.
- */
- public String getFileName() {
- String name;
-
- if (filename != null)
- name = filename;
- else
- name = getURL().toExternalForm();
-
- return name;
- }
-
- /**
- * Returns the preferred string representation of this
- * image reference.
- */
- public String toString() {
- String s = getFileName();
-
- if (imgWidth != -1 && imgHeight != -1)
- s = s + /* NOI18N */";" + imgWidth + /* NOI18N */"x"
- + imgHeight;
-
- return s;
- }
-
- /**
- * Start loading the image if we haven't already.
- * Attempt to cache the
- * width and height of the image.
- */
- private void cacheImage(Component comp, Applet applet)
- throws VJException {
- if (img != null)
- return;
-
- if (url == null) {
- url = Global.util.pathToURL(filename, applet);
- if (url == null)
- /* BEGIN JSTYLED */
- throw new VJException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.ImageRef.FMT.32",
- Global.getMsg("sunsoft.jws.visual.rt.type.ImageRef.could__not__find__file__.32"),
- filename,
- Global.getMsg("sunsoft.jws.visual.rt.type.ImageRef.-ba--qu-__relative__to__class.33")));
- /* END JSTYLED */
- }
-
- img = comp.getToolkit().getImage(url);
- if (img == null)
- return;
-
- int w = img.getWidth(this);
- if (w != -1)
- imgWidth = w;
-
- int h = img.getHeight(this);
- if (h != -1)
- imgHeight = h;
- }
-
- /**
- * Verifies that the image for this image ref loaded successfully,
- * returns true if it does. Warning: will wait until image is
- * loaded before returning, so you shouldn't make this call unless
- * you are really interested in reporting an error message when
- * images can't be loaded.
- */
- public boolean verifyImage(Component comp, Applet applet) {
- disableErrorPrint = true;
-
- if (img != null) {
- // image has already been set up
- if (errorFlagged)
- return false;
- if (gotWidth && gotHeight)
- return true;
- } else {
- // set up the image
- try {
- cacheImage(comp, applet);
- }
- catch (VJException vje) {
- return false;
- }
- return true;
- }
-
- // start loading the image and wait for it to finish
- MediaTracker tracker = new MediaTracker(comp);
- tracker.addImage(img, 0);
- try {
- tracker.waitForID(0);
- }
- catch (InterruptedException e) {
- return false;
- }
- return ((tracker.statusID(0, false)
- & MediaTracker.ERRORED) == 0);
- }
-
- /**
- * Gets called when an update of the image's width
- * and height are available.
- */
- public boolean imageUpdate(Image img, int infoflags,
- int x, int y, int width, int height) {
- if (((infoflags & ERROR) != 0) && !errorFlagged) {
- if (!disableErrorPrint)
- /* JSTYLED */
- System.out.println(Global.getMsg("sunsoft.jws.visual.rt.type.ImageRef.Error-co-__could__not__loa.34")
- + getFileName() + /* NOI18N */"\"");
- errorFlagged = true;
- }
-
- if ((infoflags & WIDTH) != 0) {
- gotWidth = true;
- imgWidth = width;
- }
-
- if ((infoflags & HEIGHT) != 0) {
- gotHeight = true;
- imgHeight = height;
- }
-
- return (gotWidth && gotHeight);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ImageRefConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ImageRefConverter.java
deleted file mode 100644
index 99ad8ea5fb..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ImageRefConverter.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ImageRefConverter.java 1.14 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.net.URL;
-import java.net.MalformedURLException;
-
-/**
- * Converts Image filenames/urls (strings) to instances of ImageRef and
- * back again.
- *
- * @see ImageRef
- * @version 1.14, 07/25/97
- */
-public class ImageRefConverter extends Converter {
- /**
- * Converts an ImageRef to a string.
- *
- * @param obj an instance of ImageRef
- */
- public String convertToString(Object obj) {
- if (obj != null)
- return (((ImageRef) obj).toString());
- else
- return (/* NOI18N */"");
- }
-
- /**
- * Converts a string to a new instance of ImageRef.
- */
- public Object convertFromString(String s) {
- if (s != null && !s.equals(/* NOI18N */""))
- return (new ImageRef(s));
- else
- return (null);
- }
-
- /**
- * Returns code that will create a new instance
- * of an ImageRef like the one
- * given.
- *
- * @param obj an instance of ImageRef
- */
- public String convertToCode(Object obj) {
- StringBuffer buf = new StringBuffer();
-
- if (obj == null)
- buf.append(/* NOI18N */"null");
- else {
- buf.append(/* NOI18N */"new ImageRef(");
- ListParser.quote(convertToString(obj), buf, true);
- buf.append(/* NOI18N */")");
- }
-
- return buf.toString();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/InsetsConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/InsetsConverter.java
deleted file mode 100644
index 1b9354517c..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/InsetsConverter.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) InsetsConverter.java 1.12 - last change made 05/02/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.awt.Insets;
-import java.util.*;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Converts Insets to strings and back again.
- * An example of the inset string format: "top=14;left=5;bottom=10;right=4".
- *
- * @see Insets
- * @version 1.12, 05/02/97
- */
-public class InsetsConverter extends Converter {
-
- /**
- * Converts an instance of Insets to its string representation.
- *
- * @param obj an instance of Insets
- */
- public String convertToString(Object obj) {
- if (obj == null)
- return /* NOI18N */"top=0;left=0;bottom=0;right=0;";
- String s = /* NOI18N */"";
- Insets insets = (Insets)obj;
-
-
- s = s + /* NOI18N */"top=" + insets.top + /* NOI18N */";";
-
- s = s + /* NOI18N */"left=" + insets.left + /* NOI18N */";";
-
- s = s + /* NOI18N */"bottom=" + insets.bottom
- + /* NOI18N */";";
-
- s = s + /* NOI18N */"right=" + insets.right + /* NOI18N */";";
-
- return s;
- }
-
- private int getIntegerFromTable(Hashtable table, String key) {
- String value = (String) table.get(key);
- if (value != null) {
- try {
- return Integer.valueOf(value).intValue();
- }
- catch (NumberFormatException ex) {
- throw new ParseException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.InsetsConverter.BadInsets",
- value));
- }
- } else {
- return (0);
- }
- }
-
- /**
- * Returns a new instance of Insets according to the string
- * representation
- * given.
- *
- * @exception ParseException when there is a format error in the
- * string
- */
- public Object convertFromString(String s) {
- if (s == null || s.length() == 0)
- return null;
-
- SubFieldTokenizer sft = new SubFieldTokenizer(s);
- Hashtable table = sft.getHashtable();
- Insets insets = new Insets(0, 0, 0, 0);
-
- Enumeration e = table.keys();
- while (e.hasMoreElements()) {
- String key = (String)e.nextElement();
- if (!key.equals(/* NOI18N */"top") && !key.equals
- (/* NOI18N */"bottom") &&
- !key.equals(/* NOI18N */"left") && !key.equals
- (/* NOI18N */"right")) {
- /* JSTYLED */
- throw new ParseException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.InsetsConverter.IllegalInsets",
- key));
- }
- }
-
- if (table.containsKey(/* NOI18N */"top"))
- insets.top = getIntegerFromTable(table,
- /* NOI18N */"top");
- if (table.containsKey(/* NOI18N */"left"))
- insets.left = getIntegerFromTable(table,
- /* NOI18N */"left");
- if (table.containsKey(/* NOI18N */"bottom"))
- insets.bottom = getIntegerFromTable(table,
- /* NOI18N */"bottom");
- if (table.containsKey(/* NOI18N */"right"))
- insets.right = getIntegerFromTable(table,
- /* NOI18N */"right");
-
- return insets;
- }
-
- /**
- * Returns code to create an instance of Insets like the one given.
- *
- * @param obj an instance of Insets
- */
- public String convertToCode(Object obj) {
- if (obj == null) {
- return /* NOI18N */"null";
- } else {
- Insets i = (Insets)obj;
- return (/* NOI18N */"new java.awt.Insets(" +
- i.top + /* NOI18N */", " + i.left + /* NOI18N */", "
- + i.bottom + /* NOI18N */", " + i.right
- + /* NOI18N */")");
-
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntArrayConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntArrayConverter.java
deleted file mode 100644
index 40dcba1427..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntArrayConverter.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) IntArrayConverter.java 1.14 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Attribute;
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.util.Vector;
-import java.util.StringTokenizer;
-
-/**
-* Converts array of int to a string and back again.
-* The string representation is a single line of
-* comma-separated numbers.
-*
-* @version 1.14, 07/25/97
-*/
-public class IntArrayConverter extends Converter {
- /**
- * Converts and array of int to a string representation.
- */
- public String convertToString(Object obj) {
- if (obj != null) {
- int[] a = (int[]) obj;
-
- StringBuffer retval = new StringBuffer();
- for (int i = 0; i < a.length; i++) {
- retval.append(a[i]);
- if (i != (a.length-1))
- retval.append(/* NOI18N */",");
- }
-
- return (retval.toString());
- } else {
- return (/* NOI18N */"");
- }
- }
-
- /**
- * Converts a string to an array of int.
- *
- * @exception ParseException when one of the numbers
- * is badly formatted
- */
- public Object convertFromString(String s) {
- if (s != null) {
- Vector intbuf = new Vector();
-
- StringTokenizer st = new StringTokenizer(
- s, /* NOI18N */",");
- for (; st.hasMoreTokens(); ) {
- try {
- s = st.nextToken().trim();
- intbuf.addElement(Integer.valueOf(s));
- } catch (NumberFormatException e) {
- /* JSTYLED */
- throw new ParseException(Global.fmtMsg("sunsoft.jws.visual.rt.type.IntArrayConverter.BadFormatInteger", s));
- }
- }
-
- if (intbuf.size() > 0) {
- int retval[] = new int[intbuf.size()];
- for (int i = 0; i < intbuf.size(); i++)
- retval[i] = ((Integer) intbuf.elementAt(i)).intValue();
- return (retval);
- }
- }
- return (null);
- }
-
- /**
- * Converts an array of int (stored in an attribute) into a block
- * of code that will create the array without using
- * this converter at
- * runtime.
- */
- public void convertToCodeBlock(String amName, Attribute a,
- int indent, StringBuffer buf) {
- indent(buf, indent);
- buf.append(/* NOI18N */"{");
- Global.newline(buf);
-
- indent += 2;
- indent(buf, indent);
- buf.append(/* NOI18N */"int _tmp[] = {");
- convertToString(a.getValue(), buf);
- buf.append(/* NOI18N */"};");
- Global.newline(buf);
-
- super.convertToCodeBlock(amName, a, indent, buf);
-
- indent -= 2;
- indent(buf, indent);
- buf.append(/* NOI18N */"}");
- Global.newline(buf);
- }
-
- /**
- * Use convertToCodeBlock instead.
- */
- public String convertToCode(Object obj) {
- return (/* NOI18N */"_tmp");
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntHolder.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntHolder.java
deleted file mode 100644
index 3196fb831f..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntHolder.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) IntHolder.java 1.3 - last change made 07/18/96
- */
-
-package sunsoft.jws.visual.rt.type;
-
-/**
- * A utility class that can be used to pass a mutable integer
- * number by reference.
- *
- * @version 1.3, 07/18/96
- */
-public class IntHolder {
- public int value;
-
- public IntHolder() {}
-
- public IntHolder(int value) {
- this.value = value;
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntegerConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntegerConverter.java
deleted file mode 100644
index c956e959bf..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/IntegerConverter.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) IntegerConverter.java 1.12 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-import sunsoft.jws.visual.rt.base.Global;
-
-/**
- * Converts Integers to strings and back again.
- *
- * @version 1.12, 07/25/97
- */
-public class IntegerConverter extends Converter {
- public String convertToString(Object obj) {
- if (obj != null)
- return (((Integer) obj).toString());
- else
- return (/* NOI18N */"0");
- }
-
- /**
- * Converts a string to a new instance of Integer.
- *
- * @exception ParseException when the string is badly formatted
- */
- public Object convertFromString(String s) {
- Integer retval = null;
- try {
- retval = new Integer(s);
- } catch (NumberFormatException e) {
- /* JSTYLED */
- throw new ParseException(Global.fmtMsg("sunsoft.jws.visual.rt.type.IntArrayConverter.BadFormatInteger", s));
- }
- return (retval);
- }
-
- public String convertToCode(Object obj) {
- if (obj != null)
- return (/* NOI18N */"new Integer(" +
- ((Integer) obj).toString() + /* NOI18N */")");
- else
- return (/* NOI18N */"new Integer(0)");
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ListParser.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ListParser.java
deleted file mode 100644
index a0852a32e9..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ListParser.java
+++ /dev/null
@@ -1,1104 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ListParser.java 1.16 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Global;
-
-import java.util.*;
-
-/**
- * Utility class for parsing lists of things in the style of Tcl.
- *
- * @version 1.16, 07/25/97
- */
-public class ListParser {
-
- // Character constants
- private static final char CHAR_a = /* NOI18N */ 'a';
- private static final char CHAR_b = /* NOI18N */ 'b';
- private static final char CHAR_f = /* NOI18N */ 'f';
- private static final char CHAR_n = /* NOI18N */ 'n';
- private static final char CHAR_r = /* NOI18N */ 'r';
- private static final char CHAR_t = /* NOI18N */ 't';
- private static final char CHAR_x = /* NOI18N */ 'x';
- private static final char CHAR_A = /* NOI18N */ 'A';
- private static final char CHAR_F = /* NOI18N */ 'F';
- private static final char BACKSLASH = /* NOI18N */ '\\';
- private static final char BACKSPACE = /* NOI18N */ '\b';
- private static final char DQUOTE = /* NOI18N */ '"';
- private static final char EQUALS = /* NOI18N */ '=';
- private static final char FORMFEED = /* NOI18N */ '\f';
- private static final char LBRACE = /* NOI18N */ '{';
- private static final char NEWLINE = /* NOI18N */ '\n';
- private static final char NINE = /* NOI18N */ '9';
- private static final char NULL = /* NOI18N */ '\0';
- private static final char RBRACE = /* NOI18N */ '}';
- private static final char RETURN = /* NOI18N */ '\r';
- private static final char SPACE = /* NOI18N */ ' ';
- private static final char TAB = /* NOI18N */ '\t';
- private static final char ZERO = /* NOI18N */ '0';
-
- private Vector list;
-
- public ListParser(String str) {
- int begin = 0;
- int end = str.length();
- initList(str, begin, end);
- }
-
- public ListParser(String str, int offset) {
- int begin, end = str.length();
- if (offset >= 0 && offset < end)
- begin = offset;
- else
- begin = end;
-
- initList(str, begin, end);
- }
-
- public ListParser(String str, int begin, int end) {
- int len = str.length();
- if (end < 0 || end > len)
- end = len;
- if (begin < 0)
- begin = 0;
- if (begin > end)
- begin = end;
-
- initList(str, begin, end);
- }
-
- public Enumeration elements() {
- return list.elements();
- }
-
- public int size() {
- return list.size();
- }
-
- private void initList(String str, int begin, int end) {
- list = new Vector();
-
- int len = end-begin;
- char buf[] = new char[len];
- str.getChars(begin, end, buf, 0);
-
- parseList(list, buf);
- }
-
- private void parseList(Vector list, char buf[]) {
- nextIndex = 0;
-
- while (nextIndex < buf.length && buf[nextIndex] != 0) {
- try {
- findElement(buf, nextIndex);
- }
- catch (ParseException ex) {
- list.removeAllElements();
- throw ex;
- }
-
- if (elementSize != 0 ||
- (elementIndex < buf.length && buf[elementIndex] != 0)) {
- if (brace) {
- list.addElement(new String(buf, elementIndex,
- elementSize));
- } else {
- list.addElement(collapse(buf, elementIndex,
- elementSize));
- }
- }
- }
- }
-
- /* BEGIN JSTYLED */
- /*
- *----------------------------------------------------------------------
- *
- * findElement --
- *
- * Given a character buffer containing a Tcl list, locate the first
- * (or next) element in the list.
- *
- * Results:
- * None.
- *
- * Side effects:
- * If an exception is not thrown, then elementIndex will be set to
- * the position of the first element of the list,
- * and nextIndex will
- * be set to the position of the character just after
- * any white space
- * following the last character that's part of the element. If this
- * is the last argument in the list, then nextIndex will point to the
- * NULL character at the end of list. elementSize is set to
- * the number of characters in the element. If the element is in
- * braces, then elementIndex will point to the character after the
- * opening brace and elementSize will not include either of the braces.
- * If there isn't an element in the list, elementSize will be zero,
- * elementIndex will refer to the null character at the end of list,
- * and brace will be set to true.
- *
- * Note: this procedure does NOT collapse backslash sequences.
- *
- *----------------------------------------------------------------------
- */
-
- /* END JSTYLED */
- // Side effect variables
- private int elementIndex;
- private int nextIndex;
- private int elementSize;
- private boolean brace;
-
- private void findElement(char buf[], int offset) {
-
- int list = offset;
- int p;
- int openBraces = 0;
- boolean inQuotes = false;
- int size = 0;
- char c;
-
- /*
- * Skim off leading white space and check for
- * an opening brace or
- * quote.
- */
-
- while (list < buf.length && Character.isSpace(buf[list])) {
- list++;
- }
-
- if (list < buf.length && buf[list] == LBRACE) {
- openBraces = 1;
- list++;
- } else if (list < buf.length && buf[list] == DQUOTE) {
- inQuotes = true;
- list++;
- }
- brace = (openBraces == 1);
- p = list;
-
- /*
- * Find the end of the element (either a space or a
- * close brace or
- * the end of the string).
- */
-
- try {
- while (true) {
- if (p < buf.length)
- c = buf[p];
- else
- c = 0;
- switch (c) {
-
- /*
- * Open brace: don't treat specially unless
- * the element is
- * in braces. In this case, keep a nesting count.
- */
-
- case LBRACE:
- if (openBraces != 0) {
- openBraces++;
- }
- break;
-
- /*
- * Close brace: if element is in braces,
- * keep nesting
- * count and quit when the last close brace
- * is seen.
- */
-
- case RBRACE:
- if (openBraces == 1) {
- int p2;
-
- size = p - list;
- p++;
- if (p >= buf.length || buf[p] == 0 ||
- Character.isSpace(buf[p])) {
- throw new DoneException();
- }
- for (p2 = p; p2 < buf.length && buf[p2] != 0 &&
- !Character.isSpace(buf[p2]) && (p2 < p+20);
- p2++) {
- /* null body */
- }
-
- String err = new String(buf, p, p2-p);
- throw new ParseException(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.type.ListParser.SpaceExpected", String.valueOf(buf, p, p2-p)));
-
- } else if (openBraces != 0) {
- openBraces--;
- }
- break;
-
- /*
- * Backslash: skip over everything up to
- * the end of the
- * backslash sequence.
- */
-
- case BACKSLASH: {
- IntHolder backslashSize = new IntHolder();
- backslash(buf, p, backslashSize);
- p += backslashSize.value - 1;
- break;
- }
-
- /*
- * Space: ignore if element is in braces or
- * quotes; otherwise
- * terminate element.
- */
-
- case SPACE:
- case FORMFEED:
- case NEWLINE:
- case RETURN:
- case TAB:
- if ((openBraces == 0) && !inQuotes) {
- size = p - list;
- throw new DoneException();
- }
- break;
-
- /*
- * Double-quote: if element is in quotes then
- * terminate it.
- */
-
- case DQUOTE:
- if (inQuotes) {
- int p2;
-
- size = p-list;
- p++;
- if (p >= buf.length || buf[p] == 0 ||
- Character.isSpace(buf[p])) {
- throw new DoneException();
- }
- for (p2 = p; (p2 < buf.length && buf[p2] != 0)
- &&
- (!Character.isSpace(buf[p2])) && (p2 < p+20);
- p2++) {
- /* null body */
- }
-
- throw new ParseException(
- /* JSTYLED */
- Global.fmtMsg("sunsoft.jws.visual.rt.type.ListParser.SpaceExpected2",
- String.valueOf(buf, p, p2-p), String.valueOf
- (buf, p, buf.length-1)));
-
- }
- break;
-
- /*
- * End of list: terminate element.
- */
-
- case 0:
- if (openBraces != 0) {
- /* BEGIN JSTYLED */
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.ListParser.UnmatchedBrace"));
- } else if (inQuotes) {
- throw new ParseException(Global.getMsg("sunsoft.jws.visual.rt.type.ListParser.UnmatchedQuote"));
- }
-
- size = p - list;
- throw new DoneException();
- }
- p++;
- }
- }
- catch (DoneException ex) {
- }
-
- while (p < buf.length && Character.isSpace(buf[p])) {
- p++;
- }
-
- elementIndex = list;
- nextIndex = p;
- elementSize = size;
- }
-
- /*
- *----------------------------------------------------------------------
- *
- * collapse --
- *
- * Return a new string after eliminating any backslashes that
- * aren't in braces.
- *
- * Results:
- * Returns a string that is a substring of buf starting at offset,
- * and count characters long. If backslash sequences are found
- * outside braces, the backslashes are eliminated in the new string.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
- /* END JSTYLED */
-
- private String collapse(char buf[], int offset, int count) {
- int p = offset;
- char c;
- IntHolder numRead = new IntHolder();
- char dst[] = new char[buf.length+1];
- int p2 = 0;
-
- while (count > 0) {
- if (p < buf.length)
- c = buf[p];
- else
- c = 0;
-
- if (c == BACKSLASH) {
- dst[p2] = backslash(buf, p, numRead);
- p2++;
- p += numRead.value-1;
- count -= numRead.value-1;
- } else {
- dst[p2] = c;
- p2++;
- }
- p++;
- count--;
- }
- dst[p2] = 0;
-
- return new String(dst, 0, p2);
- }
-
- /*
- *------------------------------------------
- *
- * backslash --
- *
- * Figure out how to handle a backslash sequence.
- *
- * Results:
- * The return value is the character that should be substituted
- * in place of the backslash sequence that starts at src.
- * The "readPtr" variable is set to the number of characters
- * in the backslash sequence.
- *
- * Side effects:
- * none
- *
- * Parameters:
- * char buf[]; Character buffer containing
- * the backslash
- * sequence.
- * int offset; Offset within buf where the backslash
- * sequence begins.
- *------------------------------------------
- */
-
- private static char backslash(char buf[], int offset,
- IntHolder readPtr) {
-
- int p = offset+1;
- char result;
- int count;
- char c;
-
- count = 2;
-
- if (p < buf.length)
- c = buf[p];
- else
- c = 0;
- switch (c) {
- case CHAR_a:
- result = 0x7; /* Don't say '\a' here, */
- /* since some compilers */
- break; /* don't support it. */
- case CHAR_b:
- result = BACKSPACE;
- break;
- case CHAR_f:
- result = FORMFEED;
- break;
- case CHAR_n:
- result = NEWLINE;
- break;
- case CHAR_r:
- result = RETURN;
- break;
- case CHAR_t:
- result = TAB;
- break;
- case CHAR_x:
- if (isxdigit(buf[p+1])) {
- int p2 = p+1;
- while (isxdigit(buf[p2])) {
- p2++;
- }
-
- result = (char)
- Integer.parseInt(String.valueOf(buf, p+1, p2), 16);
- count = p2 - offset;
- } else {
- count = 2;
- result = CHAR_x;
- }
- break;
- case NEWLINE:
- do {
- p++;
- } while ((buf[p] == SPACE) || (buf[p] == TAB));
- result = SPACE;
- count = p - offset;
- break;
- case 0:
- result = BACKSLASH;
- count = 1;
- break;
- default:
- if (isdigit(buf[p])) {
- result = (char)(buf[p] - ZERO);
- p++;
- if (!isdigit(buf[p])) {
- break;
- }
- count = 3;
- result = (char)((result << 3) + (buf[p] - ZERO));
- p++;
- if (!isdigit(buf[p])) {
- break;
- }
- count = 4;
- result = (char)((result << 3) + (buf[p] - ZERO));
- break;
- }
- result = buf[p];
- count = 2;
- break;
- }
-
- if (readPtr != null)
- readPtr.value = count;
-
- return result;
- }
- /* BEGIN JSTYLED */
-
- /*
- * The following values are used in the flags
- * returned by Tcl_ScanElement
- * and used by Tcl_ConvertElement. The value
- * TCL_DONT_USE_BRACES is also
- * defined in tcl.h; make sure its value doesn't
- * overlap with any of the
- * values below.
- *
- * TCL_DONT_USE_BRACES - 1 means the string mustn't
- * be enclosed in
- * braces (e.g. it contains
- * unmatched braces,
- * or ends in a backslash
- * character, or user
- * just doesn't want braces); handle all
- * special characters by adding
- * backslashes.
- * USE_BRACES - 1 means the string contains a special
- * character that can be handled simply by
- * enclosing the entire argument
- * in braces.
- * BRACES_UNMATCHED - 1 means that braces
- * aren't properly matched
- * in the argument.
- */
-
- private static final int TCL_DONT_USE_BRACES = 1;
- private static final int USE_BRACES = 2;
- private static final int BRACES_UNMATCHED = 4;
-
- /*
- *-----------------------------------
- *
- * scanElement --
- *
- * This procedure is a companion procedure to Tcl_ConvertElement.
- * It scans a string to see what needs to be done to it (e.g.
- * add backslashes or enclosing braces) to make the string into
- * a valid Tcl list element.
- *
- * Results:
- * The return value is an overestimate of the number of characters
- * that will be needed by Tcl_ConvertElement to produce a valid
- * list element from string. The word at *flagPtr is filled in
- * with a value needed by Tcl_ConvertElement when doing the actual
- * conversion.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------
- */
-
- // char *string; /* String to convert to Tcl list element. */
- // int *flagPtr; /* Where to store information to guide */
- // /* Tcl_ConvertElement. */
-
-
- private static int scanElement(char buf[], IntHolder flagPtr) {
- int flags, nestingLevel;
- int p;
-
- /*
- * This procedure and Tcl_ConvertElement together
- * do two things:
- *
- * 1. They produce a proper list, one that will yield back the
- * argument strings when evaluated or when disassembled with
- * Tcl_SplitList. This is the most important thing.
- *
- * 2. They try to produce legible output, which means
- * minimizing the
- * use of backslashes (using braces instead). However,
- * there are
- * some situations where backslashes must be used
- * (e.g. an element
- * like "{abc": the leading brace will have to be
- * backslashed. For
- * each element, one of three things must be done:
- *
- * (a) Use the element as-is (it doesn't contain
- * anything special
- * characters). This is the most desirable option.
- *
- * (b) Enclose the element in braces, but leave the
- * contents alone.
- * This happens if the element contains embedded space,
- * or if it
- * contains characters with special interpretation
- * ($, [, ;, or \),
- * or if it starts with a brace or double-quote, or
- * if there are
- * no characters in the element.
- *
- * (c) Don't enclose the element in braces, but
- * add backslashes to
- * prevent special interpretation of special characters.
- * This is a
- * last resort used when the argument would normally
- * fall under case
- * (b) but contains unmatched braces. It also occurs
- * if the last
- * character of the argument is a backslash or if the
- * element contains
- * a backslash followed by newline.
- *
- * The procedure figures out how many bytes will be
- * needed to store
- * the result (actually, it overestimates). It also
- * collects information
- * about the element in the form of a flags word.
- */
-
- /* END JSTYLED */
- nestingLevel = 0;
- flags = 0;
- if (buf == null) {
- buf = new char[0];
- }
- p = 0;
- if ((p >= buf.length) || (buf[p] == LBRACE) ||
- (buf[p] == DQUOTE) || (buf[p] == 0)) {
- flags |= USE_BRACES;
- }
- for (; p < buf.length && buf[p] != 0; p++) {
- switch (buf[p]) {
- case LBRACE:
- nestingLevel++;
- break;
- case RBRACE:
- nestingLevel--;
- if (nestingLevel < 0) {
- flags |= TCL_DONT_USE_BRACES|BRACES_UNMATCHED;
- }
- break;
- case SPACE:
- case FORMFEED:
- case NEWLINE:
- case RETURN:
- case TAB:
- flags |= USE_BRACES;
- break;
- case BACKSLASH:
- if ((buf[p+1] == 0) || (buf[p+1] == NEWLINE)) {
- flags = TCL_DONT_USE_BRACES;
- } else {
- IntHolder size = new IntHolder();
-
- backslash(buf, p, size);
- p += size.value-1;
- flags |= USE_BRACES;
- }
- break;
- }
- }
- if (nestingLevel != 0) {
- flags = TCL_DONT_USE_BRACES | BRACES_UNMATCHED;
- }
- flagPtr.value = flags;
-
- /*
- * Allow enough space to backslash every character plus leave
- * two spaces for braces.
- */
-
- return 2*p + 2;
- }
-
- /* BEGIN JSTYLED */
- /*
- *------------------------------------------
- *
- * convertElement --
- *
- * This is a companion procedure to scanElement. Given the
- * information produced by scanElement, this procedure converts
- * a string to a list element equal to that string.
- *
- * Results:
- * Information is copied to *dst in the form of a list element
- * identical to src (i.e. if Tcl_SplitList is applied to dst it
- * will produce a string identical to src). The return value is
- * a count of the number of characters copied (not including the
- * terminating NULL character).
- *
- * Side effects:
- * None.
- *
- *--------------------------------------
- */
- /* END JSTYLED */
-
- // register char *src; /* Source information for list element. */
- // char *dst; /* Place to put list-ified element. */
- // int flags; /* Flags produced by Tcl_ScanElement. */
-
- private static int convertElement(char src[], char dst[],
- int flags) {
-
- int p = 0;
-
- /*
- * See the comment block at the beginning
- * of the Tcl_ScanElement
- * code for details of how this works.
- */
-
- if ((src == null) || (src.length == 0)) {
- dst[p] = LBRACE;
- dst[p+1] = RBRACE;
- dst[p+2] = 0;
- return 2;
- }
- if ((flags & USE_BRACES) != 0 &&
- (flags & TCL_DONT_USE_BRACES) == 0) {
- dst[p] = LBRACE;
- p++;
- for (int p2 = 0; p2 < src.length && src[p2] != 0;
- p++, p2++) {
- dst[p] = src[p2];
- }
- dst[p] = RBRACE;
- p++;
- } else {
- int p2 = 0;
- if (src[p2] == LBRACE) {
- /*
- * Can't have a leading brace unless
- * the whole element is
- * enclosed in braces. Add a backslash
- * before the brace.
- * Furthermore, this may destroy the
- * balance between open
- * and close braces, so set BRACES_UNMATCHED.
- */
-
- dst[p] = BACKSLASH;
- dst[p+1] = LBRACE;
- p += 2;
- p2++;
- flags |= BRACES_UNMATCHED;
- }
- for (; p2 < src.length && src[p2] != 0; p2++) {
- switch (src[p2]) {
- case SPACE:
- case BACKSLASH:
- case DQUOTE:
- dst[p] = BACKSLASH;
- p++;
- break;
- case LBRACE:
- case RBRACE:
- /* BEGIN JSTYLED */
- /*
- * It may not seem necessary to backslash
- * braces, but
- * it is. The reason for this is that
- * the resulting
- * list element may actually be an
- * element of a sub-list
- * enclosed in braces (e.g. if
- * Tcl_DStringStartSublist
- * has been invoked), so there may be a
- * brace mismatch
- * if the braces aren't backslashed.
- */
- /* END JSTYLED */
-
- if ((flags & BRACES_UNMATCHED) != 0) {
- dst[p] = BACKSLASH;
- p++;
- }
- break;
- case FORMFEED:
- dst[p] = BACKSLASH;
- p++;
- dst[p] = CHAR_f;
- p++;
- continue;
- case NEWLINE:
- dst[p] = BACKSLASH;
- p++;
- dst[p] = CHAR_n;
- p++;
- continue;
- case RETURN:
- dst[p] = BACKSLASH;
- p++;
- dst[p] = CHAR_r;
- p++;
- continue;
- case TAB:
- dst[p] = BACKSLASH;
- p++;
- dst[p] = CHAR_t;
- p++;
- continue;
- }
- dst[p] = src[p2];
- p++;
- }
- }
- dst[p] = NULL;
- return p;
- }
-
- /*
- * Returns a new string that is a listified version of the string
- * argument. The string will be enclosed with braces if necessary,
- * and all special characters will be escaped.
- */
- public static String list(String string) {
- char src[] = string.toCharArray();
-
- IntHolder flagPtr = new IntHolder();
- int len = scanElement(src, flagPtr);
- char dst[] = new char[len+1];
- len = convertElement(src, dst, flagPtr.value);
-
- return new String(dst, 0, len);
- }
-
- /*
- * Appends a new string to the string buffer argument that is a
- * listified version of the string argument. The string will be
- * enclosed with braces if necessary, and all special characters
- * will be escaped.
- */
- public static void list(String string, StringBuffer buf) {
- char src[] = string.toCharArray();
-
- IntHolder flagPtr = new IntHolder();
- int len = scanElement(src, flagPtr);
- char dst[] = new char[len+1];
- len = convertElement(src, dst, flagPtr.value);
-
- buf.append(dst, 0, len);
- }
-
- /*
- * Returns a new string that is a quoted version of the string
- * argument. The string will be enclosed with quotes if necessary,
- * and all special characters will be escaped. If the forceQuotes
- * argument is true, then the string will be enclosed with quotes
- * even if it is not strictly necessary. Also, if forceQuotes
- * is true, then the '\n' character will be replaced with the
- * string "\n".
- */
- public static String quote(String string, boolean forceQuotes) {
- char src[] = string.toCharArray();
- char dst[] = quote(src, forceQuotes);
- return new String(dst);
- }
-
- /*
- * Appends a new string to the string buffer argument that is a
- * quoted version of the string argument. The string will be
- * enclosed with quotes if necessary, and all special characters
- * will be escaped. If the forceQuotes argument is true, then the
- * string will be enclosed with quotes even if it is not strictly
- * necessary. Also, if forceQuotes is true, then the '\n'
- * character
- * will be replaced with the string "\n".
- */
- public static void quote(String string, StringBuffer buf,
- boolean forceQuotes) {
- char src[] = string.toCharArray();
- char dst[] = quote(src, forceQuotes);
- buf.append(dst);
- }
- /* BEGIN JSTYLED */
- /**
- * Puts quotes around the given character array if it
- * contains spaces
- * or double-quotes. Only part of the string buffer
- * is quoted, determined
- * by the "startIndex" argument. The substring of the
- * buffer starting
- * at "startIndex" and ending at the end of the buffer is quoted.
- * This method operates on a string buffer instead of a string for
- * improved performance.
- *
- * The "quote" method also does escaping. A backslash is placed in
- * front of any double-quote or backslash in the string
- * itself. Also,
- * new-line characters are replaced with the
- * characters \ and n
- *
- * Added argument: forceQuotes. If this is true, then
- * always put quotes
- * around the text (necessary for code generation).
- * Also, replace the
- * '\n' character with the string "\n".
- */
- /* END JSTYLED */
- public static char[] quote(char src[], boolean forceQuotes) {
- boolean needQuotes;
- int backslash = 0;
-
- if (src.length == 0) {
- needQuotes = true;
- } else {
- needQuotes = false;
- if (!forceQuotes && src[0] == LBRACE &&
- src[src.length-1] == RBRACE) {
- return src;
- }
- }
-
- for (int i = 0; i < src.length; i++) {
- switch (src[i]) {
- case LBRACE:
- case RBRACE:
- case SPACE:
- case TAB:
- needQuotes = true;
- break;
-
- case DQUOTE:
- case BACKSLASH:
- needQuotes = true;
- backslash++;
- break;
-
- case FORMFEED:
- case RETURN:
- case NEWLINE:
- needQuotes = true;
- if (forceQuotes)
- backslash++;
- break;
- }
- }
-
- int len = src.length + backslash;
- if (needQuotes || forceQuotes)
- len += 2;
-
- char dst[] = new char[len];
- int p = 0;
-
- if (needQuotes || forceQuotes)
- dst[p++] = DQUOTE;
-
- for (int i = 0; i < src.length; i++) {
- switch (src[i]) {
- case DQUOTE:
- case BACKSLASH:
- dst[p++] = BACKSLASH;
- break;
-
- case FORMFEED:
- case RETURN:
- case NEWLINE:
- if (forceQuotes) {
- dst[p++] = BACKSLASH;
- switch (src[i]) {
- case FORMFEED:
- dst[p++] = CHAR_f;
- break;
- case RETURN:
- dst[p++] = CHAR_r;
- break;
- case NEWLINE:
- dst[p++] = CHAR_n;
- break;
- }
- continue;
- }
- break;
- }
- dst[p++] = src[i];
- }
-
- if (needQuotes || forceQuotes)
- dst[p++] = DQUOTE;
-
- return dst;
- }
- /* BEGIN JSTYLED */
- /**
- * Returns a string that can be used as a newline.
- * This string includes
- * a carriage return if we are running on Windows.
- */
- /* END JSTYLED */
- public static String newline() {
- return (Global.newline());
- }
-
- /**
- * Appends a newline to buf. This also appends a carriage return
- * if we are running on Windows.
- */
- public static void newline(StringBuffer buf) {
- Global.newline(buf);
- }
-
- private static final String indentString = /* NOI18N */" ";
-
- /**
- * Indents "buf" based on the given indent level.
- */
- public static void indent(StringBuffer buf, int indentLevel) {
- for (int i = 0; i < indentLevel; i++)
- buf.append(indentString);
- }
-
- public static boolean isdigit(char ch) {
- return Character.isDigit(ch);
- }
-
- public static boolean isxdigit(char ch) {
- return
- ((ch >= ZERO) && (ch <= NINE)) ||
- ((ch >= CHAR_A) && (ch <= CHAR_F)) ||
- ((ch >= CHAR_a) && (ch <= CHAR_f));
- }
-
- public static Enumeration getListElements(String s, int mult) {
- ListParser parser = new ListParser(s);
-
- // if ((parser.size() % mult) != 0) {
- /* JSTYLED */
- // System.out.println("ParseWarning: Expecting a multiple of " + mult +
- // " list elements, got " + parser.size());
- // }
-
- return parser.elements();
- }
-
- public static Hashtable makeListTable(String s) {
- Enumeration e = getListElements(s, 2);
- Hashtable table = new Hashtable();
- while (e.hasMoreElements()) {
- try {
- table.put((String)e.nextElement(),
- (String)e.nextElement());
- }
- catch (NoSuchElementException ex) {
- /* JSTYLED */
- throw new ParseException(Global.fmtMsg("sunsoft.jws.visual.rt.type.ListParser.ExpectingTwoElements", s));
- }
- }
- return table;
- }
-
- public static int parseInt(String s) {
- try {
- return Integer.parseInt(s);
- }
- catch (NumberFormatException ex) {
- throw new ParseException(/* NOI18N */"\n\t" +
- ex.toString());
- }
- }
-}
-
-
-/**
- * An Exception that can be thrown and caught internally by ListParser.
- *
- * @see ListParser
- * @version 1.16, 07/25/97
- */
-class DoneException extends Exception {
- DoneException() {
- super();
- }
-
- DoneException(String message) {
- super(message);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Makefile b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Makefile
deleted file mode 100644
index 6625405237..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Makefile
+++ /dev/null
@@ -1,71 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-#
-# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
-# All rights reserved.
-#
-#ident "%Z%%M% %I% %E% SMI"
-#
-
-include $(SRC)/Makefile.master
-include $(SRC)/cmd/Makefile.cmd
-include ../Makefile.com
-
-CLASSES= AMConverter AMRef AMRefConverter \
- AlignmentEnum AnchorEnum ApplyException \
- AttributeConverter AttributeListConverter \
- BaseEnum BaseEnumConverter BaseEnumHelper \
- BooleanConverter CharacterConverter \
- ColorConverter ColorStore Converter \
- DimensionConverter DoubleArrayConverter \
- DoubleHolder FontConverter GBConstraintsConverter \
- ImageRef ImageRefConverter InsetsConverter \
- IntArrayConverter IntHolder IntegerConverter \
- ListParser ModeEnum Op OpAction \
- OpArrayConverter OpFilter OrientationEnum \
- ParseException PointConverter ReliefEnum \
- StringArrayConverter StringConverter \
- SubFieldTokenizer TypeEditor UnknownTypeConverter
-
-JFILES=$(CLASSES:%=%.java)
-
-CLFILES=$(CLASSES:%=%.class)
-
-.SUFFIXES: .java .class $(SUFFIXES)
-
-%.class: %.java
- $(JAVAC) $(JAVAFLAGS) -d $(VRT) -classpath $(CLASSPATH) $<
-
-all: $(CLFILES)
-
-install: all
-
-clean clobber:
- $(RM) *.class
- $(RM) -r ./javadoc
-
-javadoc:
- mkdir -p ./javadoc
- $(JAVADOC) -d ./javadoc -classpath $(CLASSPATH) *.java
-
-_msg: $(JFILES)
-
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ModeEnum.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ModeEnum.java
deleted file mode 100644
index 1da146f6ac..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ModeEnum.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ModeEnum.java 1.5 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.awt.FileDialog;
-
-/**
- * A class that knows the different file dialog modes.
- *
- * @see FileDialog
- * @version 1.5, 07/25/97
- */
-public class ModeEnum extends BaseEnum {
- private static BaseEnumHelper helper = new BaseEnumHelper();
-
- static {
- helper.add(FileDialog.LOAD, /* NOI18N */"load");
- helper.add(FileDialog.SAVE, /* NOI18N */"save");
- helper.setDefaultChoice(FileDialog.LOAD);
- }
-
- /**
- * Creates an instance with the choice set to FileDialog.LOAD.
- */
- public ModeEnum() {
- super();
- }
-
- /**
- * Creates an instance with the choice set to the given int value.
- *
- * @param choice FileDialog.LOAD or FileDialog.SAVE
- */
- public ModeEnum(int choice) {
- super(choice);
- }
-
- /**
- * Creates an instance with the choice set to the given string.
- *
- * @param choice "load" or "save"
- */
- public ModeEnum(String choice) {
- super(choice);
- }
-
- protected BaseEnumHelper getHelper() {
- return (helper);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Op.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Op.java
deleted file mode 100644
index 8a4d2e63e4..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/Op.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) Op.java 1.15 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.*;
-import java.awt.Event;
-import java.util.Hashtable;
-
-/**
- * Stores a single operation. An operation is an action that will
- * take place when a particular kind of event comes in on the
- * component that owns the operation. The operation has two main
- * subparts, the filter and the action. The filter is used to
- * determine which events or messages trigger the performance of the
- * operation's action. This class also simultaneously acts as its own
- * converter.
- *
- * @see OpFilter
- * @see OpAction
- * @version 1.15, 07/25/97
- */
-public class Op extends Converter implements Cloneable {
-
- // Register the converters
- static {
- Converter.addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.type.Op",
- /* NOI18N */"sunsoft.jws.visual.rt.type.Op");
- Converter.addConverter(/* NOI18N */
- "[Lsunsoft.jws.visual.rt.type.Op;",
- /* NOI18N */"sunsoft.jws.visual.rt.type.OpArrayConverter");
- }
-
- /**
- * The Root object under which this operation is held.
- */
- public Root scope;
-
- /**
- * The name of the operation.
- */
- public String name;
-
- /**
- * The filter of the operation. Used to determine
- * whether a particular
- * event should trigger the operation.
- */
- public OpFilter filter;
-
- /**
- * The action to be taken by the operation.
- */
- public OpAction action;
-
- /**
- * Constructs a new instance.
- */
- public Op() {
- }
-
- /**
- * Constructs a new instance given a scope (attribute
- * manager tree root)
- * in which to operate.
- */
- public Op(Root scope) {
- this.scope = scope;
- }
-
- /**
- * Returns true if the message given matches the
- * filter for this operation.
- */
- public boolean matchMessage(Message msg) {
- if (msg.isAWT)
- return filter.match(msg, (Event)msg.arg);
- else
- return filter.match(msg);
- }
-
- /**
- * Returns true if this operation has code associated with it.
- * The code will have been compiled in a separate section
- * of the generated
- * Ops class and must be specially called upon.
- */
- public boolean hasCode() {
- return (action != null &&
- action.actionType == OpAction.CODE);
- }
-
- /**
- * Evokes the action of this operation if the message
- * given matches with
- * the operation's filter.
- */
- public boolean handleMessage(Message msg) {
- if (msg.isAWT)
- return handleEvent(msg, (Event)msg.arg);
-
- if (filter.match(msg)) {
- action.invoke(msg.target, msg.arg, scope);
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Evokes the action of this operation if the event
- * given matches with
- * the operation's filter.
- */
- public boolean handleEvent(Message msg, Event evt) {
- if (filter.match(msg, evt)) {
- action.invoke(msg.target, evt.arg, scope);
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Returns a new copy of this operation. Makes new copies of the
- * internal action and filter members as well.
- */
- public Object clone() {
- Op op;
-
- try {
- op = (Op)super.clone();
- } catch (CloneNotSupportedException e) {
- // this shouldn't happen, since we are Cloneable
- throw new InternalError();
- }
-
- if (op.filter != null)
- op.filter = (OpFilter)op.filter.clone();
- if (op.action != null)
- op.action = (OpAction)op.action.clone();
-
- return op;
- }
-
- //
- // Code generation
- //
-
- /**
- * Appends the initialization code for this operation
- * into the buffer
- * given.
- *
- * @param name name of the operation
- * @param buf buffer onto which the code should be appended
- */
- public void genInitCode(StringBuffer buf, String name) {
- Global.newline(buf);
- buf.append(/* NOI18N */" ");
- buf.append(name);
- buf.append(/* NOI18N */" = new Op(gui);");
- Global.newline(buf);
-
- if (this.name != null) {
- buf.append(/* NOI18N */" ");
- buf.append(name);
- buf.append(/* NOI18N */".name = ");
- ListParser.quote(this.name, buf, true);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- if (filter != null) {
- buf.append(/* NOI18N */" ");
- buf.append(name);
- buf.append(/* NOI18N */".filter = new OpFilter();");
- Global.newline(buf);
- filter.genInitCode(buf, name + /* NOI18N */".filter");
- }
-
- if (action != null) {
- buf.append(/* NOI18N */" ");
- buf.append(name);
- buf.append(/* NOI18N */".action = new OpAction();");
- Global.newline(buf);
- action.genInitCode(buf, name + /* NOI18N */".action");
- }
- }
-
- public void convertToString(Object obj, StringBuffer buf) {
- Op op = (Op)obj;
-
- if (op == null)
- return;
-
- buf.append(/* NOI18N */"{");
- newline(buf);
- incrIndent();
-
- if (op.name != null) {
- indent(buf);
- buf.append(/* NOI18N */"name ");
- ListParser.quote(op.name, buf, false);
- newline(buf);
- }
-
- if (op.filter != null) {
- indent(buf);
- buf.append(/* NOI18N */"filter ");
- op.filter.convertToString(op.filter, buf);
- newline(buf);
- }
-
- if (op.action != null) {
- indent(buf);
- buf.append(/* NOI18N */"action ");
- op.action.convertToString(op.action, buf);
- newline(buf);
- }
-
- decrIndent();
- indent(buf);
- buf.append(/* NOI18N */"}");
- }
-
- public Object convertFromString(String s) {
- Op op = new Op();
- convertFromString(s, op);
- return op;
- }
-
- public void convertFromString(String s, Op op) {
- Hashtable table = ListParser.makeListTable(s);
-
- op.name = (String)table.get(/* NOI18N */"name");
-
- s = (String)table.get(/* NOI18N */"filter");
- if (s != null) {
- op.filter = new OpFilter();
- op.filter.convertFromString(s, op.filter);
- }
-
- s = (String)table.get(/* NOI18N */"action");
- if (s != null) {
- op.action = new OpAction();
- op.action.convertFromString(s, op.action);
- }
- }
-
- /**
- * Returns true if this type should be displayed in an editor.
- *
- * For the attribute editor, a return value of false means that the
- * the textfield will be hidden.
- *
- * @return false
- */
- public boolean viewableAsString() {
- return (false);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpAction.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpAction.java
deleted file mode 100644
index 6c2bbba407..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpAction.java
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) OpAction.java 1.17 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.*;
-import java.util.Hashtable;
-
-/**
-* Stores the action that should be triggered in an operation whose
-* filter has matched an event or message. This class
-* also simultaneously
-* acts as its own converter.
-*
-* @see Op
-* @version 1.17, 07/25/97
-*/
-public class OpAction extends Converter implements Cloneable {
- // Register the converter
- static {
- Converter.addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.type.OpAction",
- /* NOI18N */"sunsoft.jws.visual.rt.type.OpAction");
- }
-
- /**
- * Action is to set an attribute.
- */
- public static final int ATTRIBUTE = 0;
-
- /**
- * Action is to send a message.
- */
- public static final int MESSAGE = 1;
-
- /**
- * Action is to execute some code.
- */
- public static final int CODE = 2;
-
- // Action Details
- public static final int SHOW = 1;
- public static final int HIDE = 2;
- public static final int EXIT = 3;
-
- /* BEGIN JSTYLED */
- /**
- * Used when setting the action target, specifies
- * that the target is
- * permanently set (i.e. always use what is stored in this objects
- * target memeber.
- *
- * @see #target
- */
- /* END JSTYLED */
- public static final int CONSTANT = 10;
-
- /**
- * Used when setting the action target, specifies that
- * the target should
- * be the same as the target of the event
- * or message that triggered this
- * operation.
- */
- public static final int TARGET = 11;
-
- /**
- * Used when setting the action target, specifies
- * that the target should
- * be whatever is in the arg variable of the message or event.
- */
- public static final int ARG = 12;
-
- /**
- * Action type, ATTRIBUTE, MESSAGE, or CODE.
- */
- public int actionType;
-
- /**
- * Action detail, used by the action editor to
- * keep track of simple actions.
- */
- public int actionDetail;
-
- /**
- * Action target, used when targetSource == CONSTANT.
- */
- public AMRef target;
-
- /**
- * Specifies how the target or the action is determined, is either
- * CONSTANT, TARGET, or ARG.
- */
- public int targetSource;
-
- /**
- * Message or Attribute name.
- */
- public String name;
-
- /* BEGIN JSTYLED */
- /**
- * Message arg or Attribute value, used when valueSource == CONSTANT.
- */
- /* END JSTYLED */
- public Object value;
-
- /**
- * Where is the arg/value from for setting an attribute,
- * is either CONSTANT, TARGET, or ARG.
- */
- public int valueSource;
-
- /**
- * Message type, used when the action is to send a message.
- */
- public String type;
-
- /**
- * Message target name, used when the action is to send a message.
- */
- public String targetName;
-
- /**
- * The code associate with the action, in string form.
- */
- public String code;
-
- /**
- * Constructs an instance where targetSource and
- * valueSource are CONSTANT.
- */
- public OpAction() {
- this.targetSource = CONSTANT;
- this.valueSource = CONSTANT;
- }
-
- /**
- * Constructs an instance where targetSource and
- * valueSource are CONSTANT.
- */
- public OpAction(int actionType, AMRef target, String name,
- Object value) {
- this.actionType = actionType;
- this.target = target;
- this.name = name;
- this.targetSource = CONSTANT;
- this.value = value;
- this.valueSource = CONSTANT;
- }
-
- /**
- * Performs the action.
- *
- * @param target the target of the action if targetSource == TARGET
- * @param arg the argument of the message or event
- * and the target of the action if targetSource == ARG
- * @param scope the root tree in which to search for the target
- */
- void invoke(Object target, Object arg, Root scope) {
- if (name == null)
- return;
-
- // Lookup the target
- AttributeManager mgr = lookupTarget(target, arg, scope);
- if (mgr == null)
- return;
-
- // Lookup the value
- Object value = lookupValue(target, arg, scope);
-
- // Perform the action
- performAction(mgr, value);
- }
-
- private AttributeManager lookupTarget(Object target, Object arg,
- Root scope) {
- AttributeManager mgr = null;
-
- switch (targetSource) {
- case CONSTANT:
- if (this.target != null)
- mgr = this.target.getRef(scope);
- break;
-
- case TARGET:
- mgr = (AttributeManager)target;
- break;
-
- case ARG:
- mgr = (AttributeManager)arg;
- break;
- }
-
- return mgr;
- }
-
- private Object lookupValue(Object target, Object arg, Root scope) {
- Object value = null;
-
- switch (valueSource) {
- case CONSTANT:
- value = this.value;
- break;
-
- case TARGET:
- value = target;
- break;
-
- case ARG:
- value = arg;
- break;
- }
-
- return value;
- }
-
- private void performAction(AttributeManager target, Object value) {
- switch (actionType) {
- case ATTRIBUTE:
- if (name != null)
- target.set(name, value);
- break;
-
- case MESSAGE:
- if (name != null)
- target.postMessage(new Message(target, targetName,
- type, name, value));
- break;
-
- case CODE:
- System.out.println(/* NOI18N */"CODE: " + code);
- break;
- }
- }
-
- /**
- * Returns a new copy of this action.
- */
- public Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- // this shouldn't happen, since we are Cloneable
- throw new InternalError();
- }
- }
-
- //
- // Code generation
- //
-
- /**
- * Appends the initialization code for this operation filter into
- * the buffer given.
- *
- * @param varname variable name of the operation filter
- * @param buf buffer onto which the code should be appended
- */
- public void genInitCode(StringBuffer buf, String varname) {
- // Action type
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".actionType = ");
- buf.append(/* NOI18N */"OpAction.");
- buf.append(constantToString(actionType));
- buf.append(/* NOI18N */";");
- Global.newline(buf);
-
- // Target
- if (target != null) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".target = new AMRef(");
- ListParser.quote(target.getName(), buf, true);
- buf.append(/* NOI18N */");");
- Global.newline(buf);
- }
-
- // Target source
- if (targetSource != CONSTANT) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".targetSource = ");
- buf.append(/* NOI18N */"OpAction.");
- buf.append(constantToString(targetSource));
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- // Name
- if (name != null) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".name = ");
- ListParser.quote(name, buf, true);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- // Value source
- if (valueSource != CONSTANT) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".valueSource = ");
- buf.append(/* NOI18N */"OpAction.");
- buf.append(constantToString(valueSource));
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- // Value
- if (value != null) {
- // Lookup converter for value
- String valueType = value.getClass().getName();
- if (Converter.hasConverter(valueType)) {
- Converter c = Converter.getConverter(valueType);
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".value = ");
- buf.append(c.convertToCode(value));
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
- }
-
- // Message type
- if (type != null) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".type = ");
- ListParser.quote(type, buf, true);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- // Message target name
- if (targetName != null) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".targetName = ");
- ListParser.quote(targetName, buf, true);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
- }
-
- //
- // String converters
- //
-
- private String constantToString(int c) {
- switch (c) {
- // Action consts
- case ATTRIBUTE:
- return /* NOI18N */"ATTRIBUTE";
- case MESSAGE:
- return /* NOI18N */"MESSAGE";
- case CODE:
- return /* NOI18N */"CODE";
-
- // Source consts
- case CONSTANT:
- return /* NOI18N */"CONSTANT";
- case TARGET:
- return /* NOI18N */"TARGET";
- case ARG:
- return /* NOI18N */"ARG";
-
- default:
- return null;
- }
- }
-
- private int stringToConstant(String s) {
- // Action consts
- if (s.equals(/* NOI18N */"ATTRIBUTE"))
- return ATTRIBUTE;
- else if (s.equals(/* NOI18N */"MESSAGE"))
- return MESSAGE;
- else if (s.equals(/* NOI18N */"CODE"))
- return CODE;
-
- // Source consts
- else if (s.equals(/* NOI18N */"CONSTANT"))
- return CONSTANT;
- else if (s.equals(/* NOI18N */"TARGET"))
- return TARGET;
- else if (s.equals(/* NOI18N */"ARG"))
- return ARG;
-
- else
- return -1;
- }
-
- public void convertToString(Object obj, StringBuffer buf) {
- OpAction a = (OpAction)obj;
-
- // Open brace
- buf.append(/* NOI18N */"{");
- newline(buf);
- incrIndent();
-
- // Action type
- indent(buf);
- buf.append(/* NOI18N */"actionType ");
- buf.append(constantToString(a.actionType));
- newline(buf);
-
- // Action detail
- if (a.actionDetail != 0) {
- indent(buf);
- buf.append(/* NOI18N */"actionDetail ");
- buf.append(Integer.toString(a.actionDetail));
- newline(buf);
- }
-
- // Action target
- if (a.target != null) {
- indent(buf);
- buf.append(/* NOI18N */"target ");
- buf.append(a.target.getName());
- newline(buf);
- }
-
- // Target source
- if (a.targetSource != CONSTANT) {
- indent(buf);
- buf.append(/* NOI18N */"targetSource ");
- buf.append(constantToString(a.targetSource));
- newline(buf);
- }
-
- // Name
- if (a.name != null) {
- indent(buf);
- buf.append(/* NOI18N */"name ");
- ListParser.quote(a.name, buf, false);
- newline(buf);
- }
-
- // Value
- if (a.value != null) {
- indent(buf);
- buf.append(/* NOI18N */"value ");
-
- // Lookup converter for value
- String valueType = value.getClass().getName();
- if (Converter.hasConverter(valueType)) {
- Converter c = Converter.getConverter(valueType);
- ListParser.quote(c.convertToString(value), buf, false);
- } else {
- buf.append(/* NOI18N */"null");
- }
-
- newline(buf);
-
- indent(buf);
- buf.append(/* NOI18N */"valueType ");
- buf.append(valueType);
- newline(buf);
- }
-
- // Value source
- if (a.valueSource != CONSTANT) {
- indent(buf);
- buf.append(/* NOI18N */"valueSource ");
- buf.append(constantToString(a.valueSource));
- newline(buf);
- }
-
- // Message type
- if (a.type != null) {
- indent(buf);
- buf.append(/* NOI18N */"type ");
- ListParser.quote(a.type, buf, false);
- newline(buf);
- }
-
- // Message target name
- if (a.targetName != null) {
- indent(buf);
- buf.append(/* NOI18N */"targetName ");
- ListParser.quote(a.targetName, buf, false);
- newline(buf);
- }
-
- // Code
- if (a.code != null) {
- indent(buf);
- buf.append(/* NOI18N */"code ");
- ListParser.list(a.code, buf);
- newline(buf);
- }
-
- // Close brace
- decrIndent();
- indent(buf);
- buf.append(/* NOI18N */"}");
- }
-
- public Object convertFromString(String s) {
- OpAction action = new OpAction();
- convertFromString(s, action);
- return action;
- }
-
- public void convertFromString(String s, OpAction a) {
- Hashtable table = ListParser.makeListTable(s);
- String val;
-
- // Action type
- val = (String)table.get(/* NOI18N */"actionType");
- a.actionType = stringToConstant(val);
-
- // Action detail
- val = (String)table.get(/* NOI18N */"actionDetail");
- if (val != null) {
- try {
- a.actionDetail = Integer.parseInt(val);
- }
- catch (NumberFormatException ex) {
- /* JSTYLED */
- throw new ParseException(Global.fmtMsg("sunsoft.jws.visual.rt.type.OpAction.NumberFormatException", val));
- }
- }
-
- // Action target
- val = (String)table.get(/* NOI18N */"target");
- if (val != null)
- a.target = new AMRef(val);
-
- // Target source
- val = (String)table.get(/* NOI18N */"targetSource");
- if (val != null)
- a.targetSource = stringToConstant(val);
-
- // Name
- a.name = (String)table.get(/* NOI18N */"name");
-
- // Value
- val = (String)table.get(/* NOI18N */"value");
- if (val != null) {
- if (val.equals(/* NOI18N */"null")) {
- a.value = null;
- } else {
- String valueType = (String)table.get(/* NOI18N */
- "valueType");
- if (valueType == null) { /* JSTYLED */
- throw new ParseException(Global.fmtMsg("sunsoft.jws.visual.rt.type.OpAction.ValWithoutType", s));
- }
-
- if (!Converter.hasConverter(valueType)) {
- throw new ParseException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.OpAction.NoConverter",
- valueType));
- }
- /* JSTYLED */
- a.value = Converter.getConverter(valueType).convertFromString(val);
- }
- }
-
- // Value source
- val = (String)table.get(/* NOI18N */"valueSource");
- if (val != null)
- a.valueSource = stringToConstant(val);
-
- // Message type
- a.type = (String)table.get(/* NOI18N */"type");
-
- // Message target name
- a.targetName = (String)table.get(/* NOI18N */"targetName");
-
- // Code
- a.code = (String)table.get(/* NOI18N */"code");
-}
-
-/**
- * Returns true if this type should be displayed in an editor.
- *
- * For the attribute editor, a return value of false means that the
- * the textfield will be hidden.
- *
- * @return false
- */
-public boolean viewableAsString() {
- return (false);
-}
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpArrayConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpArrayConverter.java
deleted file mode 100644
index ddc74b3a0e..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpArrayConverter.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) OpArrayConverter.java 1.6 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.util.Enumeration;
-
-/**
- * Converts an array of Op to a string and back again.
- *
- * @see Op
- * @version 1.6, 07/25/97
- */
-public class OpArrayConverter extends Converter {
-
- public void convertToString(Object obj, StringBuffer buf) {
- if (obj == null) {
- buf.append(/* NOI18N */"null");
- return;
- }
-
- Op op[] = (Op[])obj;
-
- buf.append(/* NOI18N */"{");
- newline(buf);
- incrIndent();
-
- for (int i = 0; i < op.length; i++) {
- indent(buf);
- if (op[i] != null)
- op[i].convertToString(op[i], buf);
- newline(buf);
- }
-
- decrIndent();
- indent(buf);
- buf.append(/* NOI18N */"}");
- }
-
- public Object convertFromString(String s) {
- if (s == null)
- return null;
-
- ListParser parser = new ListParser(s);
- Enumeration e = parser.elements();
- Op ops[] = new Op[parser.size()];
- int i = 0;
-
- while (e.hasMoreElements()) {
- ops[i] = new Op();
- ops[i].convertFromString((String)e.nextElement(), ops[i]);
- i++;
- }
-
- return ops;
- }
-
- /**
- * Returns true if this type should be displayed in an editor.
- *
- * For the attribute editor, a return value of false means that the
- * the textfield will be hidden.
- *
- * @return false
- */
- public boolean viewableAsString() {
- return (false);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpFilter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpFilter.java
deleted file mode 100644
index bdcf4f5757..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OpFilter.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) OpFilter.java 1.16 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.*;
-import java.awt.Event;
-import java.util.Hashtable;
-
-/**
- * Stores the conditions under which an operation
- * should be activated. The
-* parameters stored here are compared with the fields
-* in events and messages
-* to determine a match. This class also simultaneously
-* acts as its own
-* converter.
-*
-* @see Op
-* @see Message
-* @see Event
-* @version 1.16, 07/25/97
-*/
-public class OpFilter extends Converter implements Cloneable {
- /**
- * The operation should match against an event.
- */
- public static final int EVENT = 0;
-
- /**
- * The operation should match against a message.
- */
- public static final int MESSAGE = 1;
-
- public static final int LEFT_MOUSE = 0;
- public static final int MIDDLE_MOUSE = 8;
- public static final int RIGHT_MOUSE = 4;
-
- // Converter
- static {
- Converter.addConverter(/* NOI18N */
- "sunsoft.jws.visual.rt.type.OpFilter",
- /* NOI18N */"sunsoft.jws.visual.rt.type.OpFilter");
- }
-
- /**
- * Filter type, either EVENT or MESSAGE.
- */
- public int filterType;
-
- /**
- * AttributeManager object that should be the target of a matching
- * event or message.
- */
- public AttributeManager target;
-
- /**
- * Target reference (left in for compatibility reasons.)
- */
- public AMRef targetRef;
-
- /**
- * Message filter on name.
- *
- * @see Message#name
- */
- public String name;
-
- /**
- * Message filter on type.
- *
- * @see Message#type
- */
- public String type;
-
- /**
- * Message filter on target name.
- *
- * @see Message#targetName
- */
- public String targetName;
-
- /**
- * Event filter on id.
- *
- * @see Event#id
- */
- public int id;
-
- /**
- * Event filter on key.
- *
- * @see Event#key
- */
- public int key = -1;
-
- /**
- * Event filter on modifiers.
- *
- * @see Event#modifiers
- */
- public int modifiers = -1;
-
- /**
- * Event filter on clickCount.
- *
- * @see Event#clickCount
- */
- public int clickCount = 0;
-
- /**
- * Constructs a new instance.
- */
- public OpFilter() {
- }
-
- /**
- * Constructs a new instance that filters on a message.
- */
- public OpFilter(AttributeManager target, String name) {
- filterType = MESSAGE;
- this.target = target;
- this.name = name;
- }
-
- /**
- * Constructs a new instance that filters on a message.
- */
- public OpFilter(AttributeManager target, String name,
- String type, String targetName) {
- this(target, name);
- this.type = type;
- this.targetName = targetName;
- }
-
- /**
- * Constructs a new instance that filters on an event.
- */
- public OpFilter(AttributeManager target, int id) {
- filterType = EVENT;
- this.target = target;
- this.id = id;
- }
-
- /**
- * Constructs a new instance that filters on an event.
- */
- public OpFilter(AttributeManager target, int id,
- int key, int modifiers, int clickCount) {
- this(target, id);
- this.key = key;
- this.modifiers = modifiers;
- this.clickCount = clickCount;
- }
-
- /**
- * Returns true if this filter matches with the message given.
- */
- boolean match(Message msg) {
- if (filterType != MESSAGE)
- return false;
-
- return ((target == null || target == msg.target) &&
- (name == null || name.equals(msg.name)) &&
- (type == null || type.equals(msg.type)) &&
- (targetName == null || targetName.equals(msg.targetName)));
- }
-
- /**
- * Returns true if this filter matches with the event given.
- */
- boolean match(Message msg, Event evt) {
- if (filterType != EVENT)
- return false;
-
- return (evt.id == id &&
- (target == null || target == msg.target) &&
- (key == -1 || evt.key == key) &&
- (modifiers == -1 ||
- (((evt.modifiers & modifiers) == modifiers) &&
- ((evt.modifiers & ~modifiers) == 0))) &&
- (clickCount == 0 || evt.clickCount == clickCount));
- }
-
- /**
- * Returns a new copy of this filter.
- */
- public Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- // this shouldn't happen, since we are Cloneable
- throw new InternalError();
- }
- }
-
- //
- // Code generation
- //
-
- /**
- * Appends the initialization code for this operation filter into
- * the buffer given.
- *
- * @param varname variable name of the operation filter
- * @param buf buffer onto which the code should be appended
- */
- public void genInitCode(StringBuffer buf, String varname) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".filterType = ");
- buf.append(/* NOI18N */"OpFilter.");
- buf.append(constantToString(filterType));
- buf.append(/* NOI18N */";");
- Global.newline(buf);
-
- // The targetRef is used for code generation so that QuickGen can work.
- if (targetRef != null) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".target = gui.");
- buf.append(targetRef.getName());
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- if (name != null) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".name = ");
- ListParser.quote(name, buf, true);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- if (type != null) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".type = ");
- ListParser.quote(type, buf, true);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- if (targetName != null) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".targetName = ");
- ListParser.quote(targetName, buf, true);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".id = ");
- buf.append(id);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
-
- if (key != -1) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".key = ");
- buf.append(key);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- if (modifiers != -1) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".modifiers = ");
- buf.append(modifiers);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
-
- if (clickCount != 0) {
- buf.append(/* NOI18N */" ");
- buf.append(varname);
- buf.append(/* NOI18N */".clickCount = ");
- buf.append(clickCount);
- buf.append(/* NOI18N */";");
- Global.newline(buf);
- }
- }
-
- //
- // String converters
- //
-
- private String constantToString(int c) {
- switch (c) {
- case EVENT:
- return /* NOI18N */"EVENT";
- case MESSAGE:
- return /* NOI18N */"MESSAGE";
- default:
- return null;
- }
- }
-
- private int stringToConstant(String s) {
- if (s.equals(/* NOI18N */"EVENT"))
- return EVENT;
- else if (s.equals(/* NOI18N */"MESSAGE"))
- return MESSAGE;
- else
- return -1;
- }
-
- public void convertToString(Object obj, StringBuffer buf) {
- OpFilter f = (OpFilter)obj;
-
- // Open brace
- buf.append(/* NOI18N */"{");
- newline(buf);
- incrIndent();
-
- // Filter type
- indent(buf);
- buf.append(/* NOI18N */"filterType ");
- buf.append(constantToString(f.filterType));
- newline(buf);
-
- // Don't save the target. The target is determined during code
- // generation by figuring out which shadow has the operation
- // as its attribute.
- //
- // if (f.targetRef != null) {
- // indent(buf);
- // buf.append("target ");
- // buf.append(f.targetRef.getName());
- // newline(buf);
- // }
-
- // Message filters
- if (f.name != null) {
- indent(buf);
- buf.append(/* NOI18N */"name ");
- ListParser.quote(f.name, buf, false);
- newline(buf);
- }
- if (f.type != null) {
- indent(buf);
- buf.append(/* NOI18N */"type ");
- ListParser.quote(f.type, buf, false);
- newline(buf);
- }
- if (f.targetName != null) {
- indent(buf);
- buf.append(/* NOI18N */"targetName ");
- ListParser.quote(f.targetName, buf, false);
- newline(buf);
- }
-
- // Event filters
- indent(buf);
- buf.append(/* NOI18N */"id ");
- buf.append(f.id);
- newline(buf);
-
- if (f.key != -1) {
- indent(buf);
- buf.append(/* NOI18N */"key ");
- buf.append(f.key);
- newline(buf);
- }
-
- if (f.modifiers != -1) {
- indent(buf);
- buf.append(/* NOI18N */"modifiers ");
- buf.append(f.modifiers);
- newline(buf);
- }
-
- if (f.clickCount != 0) {
- indent(buf);
- buf.append(/* NOI18N */"clickCount ");
- buf.append(f.clickCount);
- newline(buf);
- }
-
- // Close brace
- decrIndent();
- indent(buf);
- buf.append(/* NOI18N */"}");
- }
-
- public Object convertFromString(String s) {
- OpFilter filter = new OpFilter();
- convertFromString(s, filter);
- return filter;
- }
-
- public void convertFromString(String s, OpFilter f) {
- Hashtable table = ListParser.makeListTable(s);
- String val;
-
- //
- // Filter type
- //
- val = (String)table.get(/* NOI18N */"filterType");
- if (val == null) {
- throw new ParseException(/* NOI18N */
- "filterType not found: " + s);
- }
- f.filterType = stringToConstant(val);
-
- //
- // Message or event target to match against.
- // Left in for compatibility reasons.
- //
- val = (String)table.get(/* NOI18N */"target");
- if (val != null)
- f.targetRef = new AMRef(val);
-
- //
- // Message filters
- //
- f.name = (String)table.get(/* NOI18N */"name");
- f.type = (String)table.get(/* NOI18N */"type");
- f.targetName = (String)table.get(/* NOI18N */"targetName");
-
- //
- // Event filters
- //
- val = (String)table.get(/* NOI18N */"id");
- if (val != null)
- f.id = ListParser.parseInt(val);
-
- val = (String)table.get(/* NOI18N */"key");
- if (val != null)
- f.key = ListParser.parseInt(val);
-
- val = (String)table.get(/* NOI18N */"modifiers");
- if (val != null)
- f.modifiers = ListParser.parseInt(val);
-
- val = (String)table.get(/* NOI18N */"clickCount");
- if (val != null)
- f.clickCount = ListParser.parseInt(val);
- }
-
- /**
- * Returns true if this type should be displayed in an editor.
- *
- * For the attribute editor, a return value of false means that the
- * the textfield will be hidden.
- *
- * @return false
- */
- public boolean viewableAsString() {
- return (false);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OrientationEnum.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OrientationEnum.java
deleted file mode 100644
index 6cfa0701d9..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/OrientationEnum.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) OrientationEnum.java 1.8 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.awt.Scrollbar;
-
-/**
-* A class that knows the orientation attributes of scrollbars,
-* and in an
-* instantiation, can store the orientation attribute of a
-* single scrollbar.
-*
-* @see Scrollbar
-* @version 1.8, 07/25/97
-*/
-public class OrientationEnum extends BaseEnum {
- private static BaseEnumHelper helper = new BaseEnumHelper();
-
- static {
- helper = new BaseEnumHelper();
- helper.add(Scrollbar.HORIZONTAL, /* NOI18N */"horizontal");
- helper.add(Scrollbar.VERTICAL, /* NOI18N */"vertical");
- helper.setDefaultChoice(Scrollbar.VERTICAL);
- }
-
- /**
- * Creates an instance with the choice set to Scrollbar.VERTICAL.
- */
- public OrientationEnum() {
- super();
- }
-
- /**
- * Creates an instance with the choice set to the given int value.
- *
- * @param choice Scrollbar.VERTICAL or Scrollbar.HORIZONTAL
- */
- public OrientationEnum(int choice) {
- super(choice);
- }
-
- /**
- * Creates an instance with the choice set to the given string.
- *
- * @param choice "vertical" or "horizontal"
- */
- public OrientationEnum(String choice) {
- super(choice);
- }
-
- protected BaseEnumHelper getHelper() {
- return (helper);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ParseException.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ParseException.java
deleted file mode 100644
index dcc809405d..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ParseException.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ParseException.java 1.3 - last change made 07/18/96
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.VJException;
-import java.util.*;
-
-/**
- * An exception thrown by converters when there is a problem with
- * the value during an apply. The Designer will place the error
- * message into a popup window.
- *
- * @see Converter
- * @version 1.3, 07/18/96
- */
-public class ParseException extends VJException {
- public ParseException() {
- super();
- }
-
- public ParseException(String message) {
- super(message);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/PointConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/PointConverter.java
deleted file mode 100644
index 65f7d5d254..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/PointConverter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) @(#) PointConverter.java 1.8 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.awt.Point;
-import java.util.Hashtable;
-import java.util.Enumeration;
-import sunsoft.jws.visual.rt.base.Global;
-
-
-/**
- * Converts Point objects to strings and back again.
- * An example of the string representation: "x=45;y=24".
- *
- * @version 1.8, 07/25/97
- */
-public class PointConverter extends Converter {
- public String convertToString(Object obj) {
- if (obj == null)
- return /* NOI18N */"";
-
- Point p = (Point)obj;
- return (/* NOI18N */"x=" + p.x + /* NOI18N */";y=" + p.y);
- }
-
- /**
- * Converts a string representation to a new instance of Point.
- *
- * @exception ParseException when there is a format
- * problem with the string
- */
- public Object convertFromString(String s) {
- if (s == null || s.length() == 0)
- return null;
-
- SubFieldTokenizer sft = new SubFieldTokenizer(s);
- Hashtable table = sft.getHashtable();
- Point p = new Point(0, 0);
-
- Enumeration e = table.keys();
- while (e.hasMoreElements()) {
- String key = (String)e.nextElement();
- if (!key.equals(/* NOI18N */"x") &&
- !key.equals(/* NOI18N */"y")) {
- throw new ParseException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.PointConverter.IllegalPoint",
- key));
- }
- }
-
- if (table.containsKey(/* NOI18N */"x"))
- p.x = getIntegerFromTable(table, /* NOI18N */"x");
- if (table.containsKey(/* NOI18N */"y"))
- p.y = getIntegerFromTable(table, /* NOI18N */"y");
-
- return p;
- }
-
- private int getIntegerFromTable(Hashtable table, String key) {
- String value = (String) table.get(key);
- if (value != null) {
- try {
- return Integer.valueOf(value).intValue();
- }
- catch (NumberFormatException ex) {
- throw new ParseException(Global.fmtMsg(
- "sunsoft.jws.visual.rt.type.PointConverter.BadFormattedValue",
- value));
- }
- } else {
- return (0);
- }
- }
-
- public String convertToCode(Object obj) {
- if (obj == null) {
- return /* NOI18N */"new java.awt.Point(0, 0)";
- } else {
- Point p = (Point)obj;
- return (/* NOI18N */"new java.awt.Point(" + p.x
- + /* NOI18N */", " + p.y + /* NOI18N */")");
- }
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ReliefEnum.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ReliefEnum.java
deleted file mode 100644
index a959ee84be..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/ReliefEnum.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) ReliefEnum.java 1.5 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.Util;
-
-/**
- * A class that knows the different kinds of reliefs
- * available for panels.
- *
- * @see Util
- * @see sunsoft.jws.visual.rt.awt.VJPanel
- * @version 1.5, 07/25/97
- */
-public class ReliefEnum extends BaseEnum {
- private static BaseEnumHelper helper = new BaseEnumHelper();
-
- static {
- helper = new BaseEnumHelper();
-
- helper.add(Util.RELIEF_FLAT, /* NOI18N */"flat");
- helper.add(Util.RELIEF_RAISED, /* NOI18N */"raised");
- helper.add(Util.RELIEF_SUNKEN, /* NOI18N */"sunken");
- helper.add(Util.RELIEF_RIDGE, /* NOI18N */"ridge");
- helper.add(Util.RELIEF_GROOVE, /* NOI18N */"groove");
- helper.add(Util.WIN95_RAISED, /* NOI18N */"win95 raised");
- helper.add(Util.WIN95_SUNKEN, /* NOI18N */"win95 sunken");
- helper.add(Util.WIN95_FIELD_BORDER, /* NOI18N */
- "win95 field border");
- helper.add(Util.WIN95_WINDOW_BORDER, /* NOI18N */
- "win95 window border");
-
- helper.setDefaultChoice(Util.RELIEF_FLAT);
- }
-
- /**
- * Creates an instance with the choice set to Util.RELIEF_FLAT.
- */
- public ReliefEnum() {
- super();
- }
-
- /**
- * Creates an instance with the choice set to the given int value.
- *
- * @param choice Util.RELIEF_FLAT, Util.RELIEF_RAISED,
- * Util.RELIEF_SUNKEN, Util.RELIEF_RIDGE, Util.RELIEF_GROOVE,
- * Util.WIN95_RAISED, Util.WIN95_SUNKEN, Util.WIN95_FIELD_BORDER,
- * or Util.WIN95_WINDOW_BORDER
- */
- public ReliefEnum(int choice) {
- super(choice);
- }
-
- /**
- * Creates an instance with the choice set to the given string.
- *
- * @param choice "flat", "raised", "sunken", "ridge", "groove",
- * "win95 raised", "win95 sunken", "win95 field border", or
- * "win95 window border"
- */
- public ReliefEnum(String choice) {
- super(choice);
- }
-
- protected BaseEnumHelper getHelper() {
- return (helper);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/StringArrayConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/StringArrayConverter.java
deleted file mode 100644
index 3bcacf743b..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/StringArrayConverter.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) StringArrayConverter.java 1.15 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.util.Vector;
-import java.util.StringTokenizer;
-
-/**
- * Converts array of strings to a single string and back again. The
- * string representation is a string of comma-separated strings.
- * Commas are not (currently) allowed in the strings.
- *
- * @version 1.15, 07/25/97
- */
-public class StringArrayConverter extends Converter {
-
- public String convertToString(Object obj) {
- if (obj != null) {
- String[] a = (String[]) obj;
-
- StringBuffer retval = new StringBuffer();
- for (int i = 0; i < a.length; i++) {
- retval.append(a[i]);
- if (i != (a.length-1))
- retval.append(/* NOI18N */",");
- }
-
- return (retval.toString());
- } else {
- return (/* NOI18N */"");
- }
- }
-
- public Object convertFromString(String s) {
- if (s != null) {
- Vector strbuf = new Vector();
-
- StringTokenizer st = new StringTokenizer
- (s, /* NOI18N */",");
- for (; st.hasMoreTokens(); )
- strbuf.addElement(st.nextToken());
-
- if (strbuf.size() > 0) {
- String retval[] = new String[strbuf.size()];
- for (int i = 0; i < strbuf.size(); i++)
- retval[i] = (String) strbuf.elementAt(i);
- return (retval);
- }
- }
- return (null);
- }
-
- public String convertToCode(Object obj) {
- StringBuffer buf = new StringBuffer();
-
- buf.append(/* NOI18N */"convert(\"[Ljava.lang.String; \", ");
- ListParser.quote(convertToString(obj), buf, true);
- buf.append(/* NOI18N */")");
-
- return buf.toString();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/StringConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/StringConverter.java
deleted file mode 100644
index 52ed256975..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/StringConverter.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) StringConverter.java 1.16 - last change made 07/29/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-/**
- * Converts strings to strings. This is really just a place holder
- * for the String type amoung the type converters.
- *
- * @version 1.16, 07/29/97
- */
-public class StringConverter extends Converter {
- public String convertToString(Object obj) {
- if (obj != null)
- return ((String) obj);
- else
- return /* NOI18N */"<null>";
- }
-
- public Object convertFromString(String s) {
- if (!s.equals(/* NOI18N */"<null>"))
- return (s);
- else
- return null;
- }
-
- public String convertToCode(Object obj) {
- StringBuffer buf = new StringBuffer();
- ListParser.quote(convertToString(obj), buf, true);
-
- return buf.toString();
- }
-
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/SubFieldTokenizer.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/SubFieldTokenizer.java
deleted file mode 100644
index 12cbd35a5c..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/SubFieldTokenizer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) SubFieldTokenizer.java 1.7 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-/* BEGIN JSTYLED */
-/**
- * Separates a string into sub-field (key-value pairs.) The
- * syntax of the
- * string needs to be something like this:
- * <pre>
- * name=Helvetica;style=italic;size=12;
- * </pre>
- * A hashtable of the keys->values is created, which the caller can then
- * run through to determine what values were set. Case of field names
- * is always ignored.
- *
- * @version 1.7, 07/25/97
-*/
-/* END JSTYLED */
-public class SubFieldTokenizer {
- private Hashtable table;
-
- public SubFieldTokenizer(String s) {
- table = new Hashtable();
-
- StringTokenizer st = new StringTokenizer(s, /* NOI18N */";");
- while (st.hasMoreTokens()) {
- String spec = st.nextToken();
- if (spec.length() > 0) {
- int index = spec.indexOf(/* NOI18N */ '=');
- if (index != -1) {
- String key = spec.substring(0, index).
- trim().toLowerCase();
- String value = spec.substring(index + 1).trim();
- if (key.length() > 0) {
- table.put(key, value);
- }
- }
- }
- }
- }
-
- public Hashtable getHashtable() {
- return (table);
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/TypeEditor.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/TypeEditor.java
deleted file mode 100644
index fe801bb068..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/TypeEditor.java
+++ /dev/null
@@ -1,544 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) TypeEditor.java 1.11 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import sunsoft.jws.visual.rt.base.*;
-import sunsoft.jws.visual.rt.awt.VJErrorDialog;
-
-import java.util.*;
-
-/**
- * Base class for type editors. This should be subclassed for each
- * new type editor that needs to be added to the designer.
- * TypeEditors are used by the Designer's attribute editor in order to
- * edit the values of complex types, like Colors, Fonts, and arrays.
- *
- * @see Converter
- * @version 1.11, 07/25/97
- */
-public abstract class TypeEditor extends Group {
-
- /**
- * Set the hasChanges flag to true as soon as the user
- * edits anything.
- */
- protected boolean hasChanges = false;
-
- // Most recent value from setValue, or from the most recent apply
- private Object resetValue;
-
- // Disabled title
- private String disabledTitle = /* NOI18N */"<no value>";
-
- // Indicates if the resetValue has been changed while the group was
- // not showing.
- private boolean resetValueChanged;
-
- // List of child type editors
- private Vector children = new Vector();
-
- // State flag for apply
- private boolean applying = false;
-
- // Error messages
- private VJErrorDialog errorDialog;
-
- // Are we enabled?
- private boolean isEnabled = true;
-
- // Editor parent
- private TypeEditor parentEditor;
-
- /**
- * Creates a new instance of TypeEditor with an attribute called
- * "enabled" that is a Boolean and is set to true when the type
- * editor should be graphically enabled (i.e. not greyed out.)
- */
- public TypeEditor() {
- attributes.add(/* NOI18N */"enabled", /* NOI18N */
- "java.lang.Boolean", Boolean.TRUE, DEFAULT);
- }
-
- public Object get(String key) {
- if (key.equals(/* NOI18N */"enabled")) {
- return new Boolean(isEnabled);
- } else {
- return super.get(key);
- }
- }
-
- public void set(String key, Object value) {
- if (key.equals(/* NOI18N */"enabled")) {
- enable(((Boolean)value).booleanValue());
- } else {
- super.set(key, value);
- }
- }
-
- //
- // Methods that subclasses should override
- //
-
- /**
- * Subclassers should override this method.
- *
- * This method should return a new value based on the edits that
- * the user has made.
- *
- * The values from the child type editors need not be queried
- * during this method. Any children who have unapplied changes
- * will have already been dealt with by calls to
- * the updateFromChild
- * method.
- */
- protected abstract Object getApplyValue() throws ApplyException;
-
- /**
- * Subclassers should override this method.
- *
- * This method is called when the child's value has been applied.
- *
- * Do NOT call apply from this method. All you have to do is
- * record the new value for the child in your state. Then,
- * when getApplyValue is called, the new value from the child
- * should be reflected in the return value from getApplyValue.
- */
- protected void childApply(TypeEditor child, Object value) { }
-
- /**
- * Subclassers should override this method.
- *
- * This method should load the user interface from a given value.
- *
- * The loading of the child editors is dealt with using the
- * getValueForChild method.
- */
- protected abstract void resetFromValue(Object value);
-
- /**
- * Subclassers should override this method.
- *
- * Return true if the given child should be enabled for the
- * given value. Otherwise return false. If this method returns
- * true, then getValueForChild will be called next.
- */
- protected boolean shouldEnableChild(TypeEditor child,
- Object value) {
- return true;
- }
-
- /**
- * Subclassers may wish to override this method.
- *
- * This method is called during a reset operation. If this method
- * is not overridden, then the child values will be set to null.
- *
- * The return value should be some subset of the value parameter.
- * The value parameter is the same value that is passed to the
- * resetFromValue method.
- */
- protected void resetChildFromValue(TypeEditor child, Object value)
- {
- child.setValue(null);
- }
-
- /**
- * Subclassers should override this method.
- *
- * When enableEditor is called with a true value, then all the
- * editor components should be enabled.
- *
- * When invoked with a false value, all the components should
- * be disabled except for the Cancel and Help buttons.
- */
- protected abstract void enableEditor(Boolean enable);
-
- /**
- * Returns a title string based on the given component and
- * attribute names.
- */
- protected String getTitle(String compName, String attrName) {
- if (compName == null && attrName == null)
- return disabledTitle;
- else
- return compName + /* NOI18N */" " + attrName;
- }
-
- /**
- * Sets the title of the window based on the given component name
- * and attribute name.
- */
- public void setTitle(String compName, String attrName) {
- if (hasAttribute(/* NOI18N */"title"))
- set(/* NOI18N */"title", getTitle(compName, attrName));
-
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- TypeEditor child = (TypeEditor)e.nextElement();
- child.setTitle(compName, attrName);
- }
- }
-
- /**
- * Subclassers may wish to override this method.
- *
- * Returns a string to be placed within a button in the attribute
- * editor. If non-null is returned, then in place of a text field
- * or choice menu in the attribute editor, a button will be placed
- * in the slot that can only be used for calling up a type editor.
- * The button will contain the text returned.
- *
- * The default value, null, means that the type's regular converter
- * should be consulted for how to display the type in the attribute
- * editor slot.
- */
- public String editorButtonName() {
- return (null);
- }
-
- //
- // Do not override these methods in subclasses!
- //
-
- protected void showGroup() {
- enable(isEnabled);
-
- if (resetValueChanged)
- reset();
- }
-
- protected void hideGroup() {
- resetValueChanged = false;
- }
-
- /**
- * Part of TypeEditor implementation, subclassers should NOT
- * override this method.
- */
- public void setParentEditor(TypeEditor parentEditor) {
- this.parentEditor = parentEditor;
- }
-
- /**
- * Part of TypeEditor implementation, subclassers should NOT
- * override this method.
- */
- public TypeEditor getParentEditor() {
- return parentEditor;
- }
-
- /**
- * Part of TypeEditor implementation, subclassers should NOT
- * override this method.
- */
- protected void addChildEditor(TypeEditor child) {
- // check to see that child isn't one of this container's parents
- TypeEditor editor = child.getParentEditor();
- while (editor != null) {
- if (editor == child) {
- throw new VJException(Global.getMsg(
- "sunsoft.jws.visual.rt.type.TypeEditor.AddChildError"));
- }
- editor = editor.getParentEditor();
- }
-
- if (child.getParentEditor() != null)
- child.getParentEditor().removeChildEditor(child);
-
- children.addElement(child);
- child.setParentEditor(this);
- }
-
- /**
- * Part of TypeEditor implementation, subclassers should NOT
- * override this method.
- */
- protected void removeChildEditor(TypeEditor child) {
- if (child.getParentEditor() != this)
- return;
-
- children.removeElement(child);
- child.setParentEditor(null);
- }
-
- /**
- * Part of TypeEditor implementation, subclassers should NOT
- * override this method.
- */
- protected Enumeration getChildEditorList() {
- return children.elements();
- }
-
- /**
- * Returns true when changes have been made to the value in this
- * type editor (or any of its children) and they have not yet been
- * applied.
- */
- public boolean hasChanges() {
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- TypeEditor child = (TypeEditor)e.nextElement();
- if (child.hasChanges())
- return true;
- }
-
- return hasChanges;
- }
-
- /**
- * Clears the change flag in this type editor and all
- * of its children.
- */
- private void clearChanges() {
- hasChanges = false;
-
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- TypeEditor child = (TypeEditor)e.nextElement();
- child.clearChanges();
- }
- }
-
- /**
- * Sets a new value for this type editor to edit and causes the
- * editor to reset its interface based on the new value.
- */
- public void setValue(Object value) {
- resetValue = value;
- resetValueChanged = true;
- reset();
- }
-
- /**
- * Sets a new reset value for this type editor to
- * reset to, but does not
- * change the current value or cause the editor to reset.
- */
- public void setResetValue(Object value) {
- resetValue = value;
- resetValueChanged = true;
- }
-
- /**
- * Returns the value to which this type editor would
- * reset to if the user
- * chooses to "Reset".
- */
- public Object getResetValue() {
- return resetValue;
- }
-
- /**
- * Returns true if this type editor is enabled.
- */
- public boolean isEnabled() {
- return isEnabled;
- }
-
- /**
- * Applies all changes made to the value being edited
- * in this type editor.
- * If the type editor has children, they are made to
- * apply themselves
- * first. An "Apply" message is posted to the parent
- * with the message
- * argument being the new value of the object edited.
- */
- public boolean apply() {
- if (!isShowing())
- return true;
-
- if (applying || !hasChanges())
- return true;
-
- // Set this flag before calling apply on the children
- applying = true;
-
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- TypeEditor child = (TypeEditor)e.nextElement();
- if (!child.apply()) {
- applying = false;
- return false;
- }
- }
-
- Object applyValue;
- try {
- applyValue = getApplyValue();
- }
- catch (ApplyException ex) {
- applying = false;
- showError(ex.getMessage());
- return false;
- }
-
- resetValue = applyValue;
- resetValueChanged = true;
- hasChanges = false;
-
- // Order is important! Set the hasChanges flag to false BEFORE
- // posting the apply message.
-
- postMessageToParent(new Message(this, /* NOI18N */
- "Apply", applyValue));
-
- // Want to call reset here to catch bugs, but this
- // would be inefficient.
- // So let the AttributeDialog do the reset at the top level.
-
- applying = false;
- return true;
- }
-
- /**
- * Causes the type editor to throw away the current
- * value being edited
- * and reset to the value last applied.
- */
- public void reset() {
- if (!isShowing())
- return;
-
- hasChanges = false;
- resetFromValue(resetValue);
-
- Enumeration e = children.elements();
- while (e.hasMoreElements()) {
- TypeEditor child = (TypeEditor)e.nextElement();
-
- if (isEnabled && shouldEnableChild(child, resetValue)) {
- child.enable(true);
- resetChildFromValue(child, resetValue);
- } else {
- child.enable(false);
- child.setValue(null);
- }
- }
- }
-
- /**
- * Applies changes and hides the type editor.
- */
- public void ok() {
- if (!isShowing())
- return;
-
- if (apply())
- cancel();
- }
-
- /**
- * Hides the type editor and clears any changes that
- * have been made to
- * the value being edited.
- */
- public void cancel() {
- if (!isShowing())
- return;
-
- hide();
- clearChanges();
- }
-
- /**
- * Enables or disables the type editor and its children.
- */
- public void enable(boolean enable) {
- isEnabled = enable;
-
- if (!isShowing())
- return;
-
- enableEditor(new Boolean(enable));
-
- // Don't need to enable the children. The children
- // will be enabled or
- // disabled anyways as the result of a reset operation.
- }
-
- /**
- * Handles "Apply" messages. These are typically sent by children
- * of the type editor.
- */
- public boolean handleMessage(Message msg) {
- if (!msg.isAWT && msg.name.equals(/* NOI18N */"Apply")) {
- childApply((TypeEditor)msg.target, msg.arg);
- apply();
- return true;
- }
-
- return super.handleMessage(msg);
- }
-
- /**
- * Useful utility method for enabling. Enables this type editor
- * and all of its children.
- */
- protected void recurseEnable(AttributeManager mgr, Boolean value) {
- if (mgr.hasAttribute(/* NOI18N */"enabled"))
- mgr.set(/* NOI18N */"enabled", value);
-
- if (mgr instanceof AMContainer) {
- AMContainer cntr = (AMContainer)mgr;
- Enumeration e = cntr.getChildList();
- while (e.hasMoreElements()) {
- recurseEnable((AttributeManager)e.nextElement(), value);
- }
- }
- }
-
- //
- // Error messages
- //
-
- /**
- * Brings up a modal error dialog window with the
- * given message in it
- * and an "Ok" button.
- *
- * @see VJErrorDialog
- */
- protected void showError(String message) {
- if (errorDialog == null)
- errorDialog = new VJErrorDialog(getFrame(), Global.getMsg(
- "sunsoft.jws.visual.rt.type.TypeEditor.Error"), true);
-
- errorDialog.setLabel(message);
- errorDialog.pack();
- errorDialog.show();
- }
-}
diff --git a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/UnknownTypeConverter.java b/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/UnknownTypeConverter.java
deleted file mode 100644
index f4bf6f3fad..0000000000
--- a/usr/src/cmd/krb5/kadmin/gui/visualrt/sunsoft/jws/visual/rt/type/UnknownTypeConverter.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * ident "%Z%%M% %I% %E% SMI"
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- */
-
-/*
- * Copyright (C) 1996 Active Software, Inc.
- * All rights reserved.
- *
- * @(#) UnknownTypeConverter.java 1.11 - last change made 07/25/97
- */
-
-package sunsoft.jws.visual.rt.type;
-
-import java.awt.Color;
-import sunsoft.jws.visual.rt.base.Global;
-
-
-/**
-* Handles conversion of objects of unknown type to string
-* and back again.
-*
-* @version 1.11, 07/25/97
-*/
-public class UnknownTypeConverter extends Converter {
- /**
- * Handles conversion of an unknown object type.
- *
- * @exception Error when called
- */
- public String convertToString(Object obj) {
- /* BEGIN JSTYLED */
- throw new Error(Global.fmtMsg("sunsoft.jws.visual.rt.type.UnknownTypeConverter.NoTypeConverter",
- ((obj == null) ? /* NOI18N */"null" : obj.getClass().getName())));
- /* END JSTYLED */
- }
-
- /**
- * Handles conversion of an string type representation.
- *
- * @exception Error when called
- */
- public Object convertFromString(String s) {
- /* JSTYLED */
- throw new Error(Global.fmtMsg("sunsoft.jws.visual.rt.type.UnknownTypeConverter.CantConvert", s));
- }
-}
diff --git a/usr/src/man/man1m/in.rlogind.1m b/usr/src/man/man1m/in.rlogind.1m
index 9d1595393c..7a952fa7c5 100644
--- a/usr/src/man/man1m/in.rlogind.1m
+++ b/usr/src/man/man1m/in.rlogind.1m
@@ -4,7 +4,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH IN.RLOGIND 1M "Nov 10, 2005"
+.TH IN.RLOGIND 1M "Oct 29, 2015"
.SH NAME
in.rlogind, rlogind \- remote login server
.SH SYNOPSIS
@@ -56,8 +56,8 @@ file on the \fBin.rlogind\fR server. An example principal might be:
\fBhost/bigmachine.eng.example.com\fR
.sp
.LP
-See \fBkadmin\fR(1M) or \fBgkadmin\fR(1M) for instructions on adding a
-principal to a \fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
+See \fBkadmin\fR(1M) for instructions on adding a principal to a
+\fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
authentication.
.sp
.LP
@@ -306,7 +306,7 @@ user. Only if this authentication fails is the next authentication module used.
.SH SEE ALSO
.sp
.LP
-\fBlogin\fR(1), \fBsvcs\fR(1), \fBrlogin\fR(1), \fBgkadmin\fR(1M),
+\fBlogin\fR(1), \fBsvcs\fR(1), \fBrlogin\fR(1),
\fBin.rshd\fR(1M), \fBinetadm\fR(1M), \fBinetd\fR(1M), \fBkadmin\fR(1M),
\fBsvcadm\fR(1M), \fBpam\fR(3PAM), \fBhosts\fR(4), \fBhosts.equiv\fR(4),
\fBkrb5.conf\fR(4), \fBpam.conf\fR(4), \fBattributes\fR(5), \fBenviron\fR(5),
diff --git a/usr/src/man/man1m/in.rshd.1m b/usr/src/man/man1m/in.rshd.1m
index 882784155f..f5ea773773 100644
--- a/usr/src/man/man1m/in.rshd.1m
+++ b/usr/src/man/man1m/in.rshd.1m
@@ -4,7 +4,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH IN.RSHD 1M "Nov 10, 2005"
+.TH IN.RSHD 1M "Oct 29, 2015"
.SH NAME
in.rshd, rshd \- remote shell server
.SH SYNOPSIS
@@ -58,8 +58,8 @@ must have a \fBkeytab\fR entry in the \fB/etc/krb5/krb5.keytab\fR file on the
\fBhost/bigmachine.eng.example.com\fR
.sp
.LP
-See \fBkadmin\fR(1M) or \fBgkadmin\fR(1M) for instructions on adding a
-principal to a \fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
+See \fBkadmin\fR(1M) for instructions on adding a principal to a
+\fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
authentication.
.sp
.LP
@@ -316,7 +316,7 @@ Kerberos configuration file.
.SH SEE ALSO
.sp
.LP
-\fBrsh\fR(1), \fBsvcs\fR(1), \fBgkadmin\fR(1M), \fBinetadm\fR(1M),
+\fBrsh\fR(1), \fBsvcs\fR(1), \fBinetadm\fR(1M),
\fBinetd\fR(1M), \fBkadmin\fR(1M), \fBsvcadm\fR(1M), \fBpam\fR(3PAM),
\fBgetnameinfo\fR(3SOCKET), \fBhosts\fR(4), \fBkrb5.conf\fR(4),
\fBpam.conf\fR(4), \fB attributes\fR(5), \fBenviron\fR(5),
diff --git a/usr/src/man/man1m/in.telnetd.1m b/usr/src/man/man1m/in.telnetd.1m
index 2dfa35a1d1..9cd0b4874b 100644
--- a/usr/src/man/man1m/in.telnetd.1m
+++ b/usr/src/man/man1m/in.telnetd.1m
@@ -4,7 +4,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH IN.TELNETD 1M "Nov 10, 2005"
+.TH IN.TELNETD 1M "Oct 29, 2015"
.SH NAME
in.telnetd, telnetd \- DARPA TELNET protocol server
.SH SYNOPSIS
@@ -248,8 +248,8 @@ must have a \fBkeytab\fR entry in the \fB/etc/krb5/krb5.keytab\fR file on the
\fBhost/bigmachine.eng.example.com\fR
.sp
.LP
-See \fBkadmin\fR(1M) or \fBgkadmin\fR(1M) for instructions on adding a
-principal to a \fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
+See \fBkadmin\fR(1M) for instructions on adding a principal to a
+\fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
authentication.
.sp
.LP
@@ -301,7 +301,7 @@ For a Kerberized telnet service, the correct \fBPAM\fR service name is
.SH SEE ALSO
.sp
.LP
-\fBlogin\fR(1), \fBsvcs\fR(1), \fBtelnet\fR(1), \fBgkadmin\fR(1M),
+\fBlogin\fR(1), \fBsvcs\fR(1), \fBtelnet\fR(1),
\fBinetadm\fR(1M), \fBinetd\fR(1M), \fBkadmin\fR(1M), \fBsvcadm\fR(1M),
\fBpam\fR(3PAM), \fBgetnameinfo\fR(3SOCKET), \fBissue\fR(4),
\fBkrb5.conf\fR(4), \fBpam.conf\fR(4), \fBservices\fR(4), \fBattributes\fR(5),
diff --git a/usr/src/man/man1m/kadmin.1m b/usr/src/man/man1m/kadmin.1m
index bb11298ce8..d906fc4f0a 100644
--- a/usr/src/man/man1m/kadmin.1m
+++ b/usr/src/man/man1m/kadmin.1m
@@ -3,7 +3,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KADMIN 1M "Feb 29, 2008"
+.TH KADMIN 1M "Oct 29, 2015"
.SH NAME
kadmin, kadmin.local \- Kerberos database administration program
.SH SYNOPSIS
@@ -1510,7 +1510,7 @@ Interface Stability Committed
.SH SEE ALSO
.sp
.LP
-\fBkpasswd\fR(1), \fBmore\fR(1), \fBgkadmin\fR(1M), \fBkadmind\fR(1M),
+\fBkpasswd\fR(1), \fBmore\fR(1), \fBkadmind\fR(1M),
\fBkdb5_util\fR(1M), \fBkdb5_ldap_util\fR(1M), \fBkproplog\fR(1M),
\fBkadm5.acl\fR(4), \fBkdc.conf\fR(4), \fBkrb5.conf\fR(4), \fBattributes\fR(5),
\fBenviron\fR(5), \fBkerberos\fR(5), \fBkrb5envvar\fR(5)
diff --git a/usr/src/man/man1m/kadmind.1m b/usr/src/man/man1m/kadmind.1m
index f28c27a930..99ef98295b 100644
--- a/usr/src/man/man1m/kadmind.1m
+++ b/usr/src/man/man1m/kadmind.1m
@@ -4,7 +4,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KADMIND 1M "Feb 29, 2008"
+.TH KADMIND 1M "Oct 29, 2015"
.SH NAME
kadmind \- Kerberos administration daemon
.SH SYNOPSIS
@@ -20,10 +20,10 @@ kadmind \- Kerberos administration daemon
\fBkadmind\fR runs on the master key distribution center (\fBKDC\fR), which
stores the principal and policy databases. \fBkadmind\fR accepts remote
requests to administer the information in these databases. Remote requests are
-sent, for example, by \fBkpasswd\fR(1), \fBgkadmin\fR(1M), and \fBkadmin\fR(1M)
-commands, all of which are clients of \fBkadmind\fR. When you install a
-\fBKDC\fR, \fBkadmind\fR is set up in the \fBinit\fR scripts to start
-automatically when the \fBKDC\fR is rebooted.
+sent, for example, by \fBkpasswd\fR(1) and \fBkadmin\fR(1M) commands, both of
+which are clients of \fBkadmind\fR. When you install a \fBKDC\fR,
+\fBkadmind\fR is set up in the \fBinit\fR scripts to start automatically
+when the \fBKDC\fR is rebooted.
.sp
.LP
\fBkadmind\fR requires a number of configuration files to be set up for it to
@@ -369,7 +369,7 @@ Interface Stability Evolving
.SH SEE ALSO
.sp
.LP
-\fBkpasswd\fR(1), \fBsvcs\fR(1), \fBgkadmin\fR(1M), \fBkadmin\fR(1M),
+\fBkpasswd\fR(1), \fBsvcs\fR(1), \fBkadmin\fR(1M),
\fBkadmin.local\fR(1M), \fBkdb5_util\fR(1M), \fBkdb5_ldap_util\fR(1M),
\fBkproplog\fR(1M), \fBsvcadm\fR(1M), \fBpam_acct_mgmt\fR(3PAM),
\fBpam_authenticate\fR(3PAM), \fBkadm5.acl\fR(4), \fBkdc.conf\fR(4),
diff --git a/usr/src/man/man1m/kdb5_util.1m b/usr/src/man/man1m/kdb5_util.1m
index 27e6fa0fdd..344d36be05 100644
--- a/usr/src/man/man1m/kdb5_util.1m
+++ b/usr/src/man/man1m/kdb5_util.1m
@@ -3,7 +3,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KDB5_UTIL 1M "Feb 29, 2008"
+.TH KDB5_UTIL 1M "Oct 29, 2015"
.SH NAME
kdb5_util \- Kerberos Database maintenance utility
.SH SYNOPSIS
@@ -527,6 +527,6 @@ Interface Stability Evolving
.SH SEE ALSO
.sp
.LP
-\fBkpasswd\fR(1), \fBgkadmin\fR(1M), \fBkadmin\fR(1M), \fBkadmind\fR(1M),
+\fBkpasswd\fR(1), \fBkadmin\fR(1M), \fBkadmind\fR(1M),
\fBkadmin.local\fR(1M), \fBkdb5_ldap_util\fR(1M), \fBkproplog\fR(1M),
\fBkadm5.acl\fR(4), \fBkdc.conf\fR(4), \fBattributes\fR(5), \fBkerberos\fR(5)
diff --git a/usr/src/man/man1m/kprop.1m b/usr/src/man/man1m/kprop.1m
index 8fb5938bb0..2db594c81a 100644
--- a/usr/src/man/man1m/kprop.1m
+++ b/usr/src/man/man1m/kprop.1m
@@ -4,7 +4,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KPROP 1M "Nov 14, 2005"
+.TH KPROP 1M "Oct 29, 2015"
.SH NAME
kprop \- Kerberos database propagation program
.SH SYNOPSIS
@@ -157,7 +157,7 @@ Kerberos database propagated to the KDC slaves.
.SH SEE ALSO
.sp
.LP
-\fBkpasswd\fR(1), \fBsvcs\fR(1), \fBgkadmin\fR(1M), \fBinetadm\fR(1M),
+\fBkpasswd\fR(1), \fBsvcs\fR(1), \fBinetadm\fR(1M),
\fBinetd\fR(1M), \fBkadmind\fR(1M), \fBkadmin.local\fR(1M),
\fBkdb5_util\fR(1M), \fBsvcadm\fR(1M), \fBkadm5.acl\fR(4), \fBkdc.conf\fR(4),
\fBattributes\fR(5), \fBkerberos\fR(5), \fBsmf\fR(5)
diff --git a/usr/src/man/man1m/kproplog.1m b/usr/src/man/man1m/kproplog.1m
index 1a04a48dc2..ab362ae0c6 100644
--- a/usr/src/man/man1m/kproplog.1m
+++ b/usr/src/man/man1m/kproplog.1m
@@ -3,7 +3,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KPROPLOG 1M "Mar 29, 2004"
+.TH KPROPLOG 1M "Oct 29, 2015"
.SH NAME
kproplog \- display the contents of the Kerberos principal update log
.SH SYNOPSIS
@@ -121,6 +121,6 @@ Interface Stability Evolving
.SH SEE ALSO
.sp
.LP
-\fBkpasswd\fR(1), \fBgkadmin\fR(1M), \fBkadmin\fR(1M), \fBkadmind\fR(1M),
+\fBkpasswd\fR(1), \fBkadmin\fR(1M), \fBkadmind\fR(1M),
\fBkdb5_util\fR(1M), \fBkprop\fR(1M), \fBkpropd\fR(1M), \fBkadm5.acl\fR(4),
\fBkdc.conf\fR(4), \fBattributes\fR(5), \fBkerberos\fR(5)
diff --git a/usr/src/man/man1m/krb5kdc.1m b/usr/src/man/man1m/krb5kdc.1m
index 3347c5ccbe..2b2f4bd017 100644
--- a/usr/src/man/man1m/krb5kdc.1m
+++ b/usr/src/man/man1m/krb5kdc.1m
@@ -4,7 +4,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KRB5KDC 1M "Oct 24, 2007"
+.TH KRB5KDC 1M "Oct 29, 2015"
.SH NAME
krb5kdc \- KDC daemon
.SH SYNOPSIS
@@ -215,7 +215,7 @@ using \fBkprop\fR.
.SH SEE ALSO
.sp
.LP
-\fBkill\fR(1), \fBkpasswd\fR(1), \fBgkadmin\fR(1M), \fBkadmind\fR(1M),
+\fBkill\fR(1), \fBkpasswd\fR(1), \fBkadmind\fR(1M),
\fBkadmin.local\fR(1M), \fBkdb5_util\fR(1M), \fBkdb5_ldap_util\fR(1M),
\fBlogadm\fR(1M), \fBkrb5.conf\fR(4), \fBattributes\fR(5), \fBkrb5envvar\fR(5),
\fBkerberos\fR(5),
diff --git a/usr/src/man/man1m/sshd.1m b/usr/src/man/man1m/sshd.1m
index 8383f2d9bc..e01b7c746b 100644
--- a/usr/src/man/man1m/sshd.1m
+++ b/usr/src/man/man1m/sshd.1m
@@ -2,7 +2,7 @@
.\" To view license terms, attribution, and copyright for OpenSSH, the default path is /var/sadm/pkg/SUNWsshdr/install/copyright. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the
.\" installed location.
.\" Portions Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
-.TH SSHD 1M "Mar 17, 2009"
+.TH SSHD 1M "Oct 29, 2015"
.SH NAME
sshd \- secure shell daemon
.SH SYNOPSIS
@@ -1236,8 +1236,8 @@ must have a \fBkeytab\fR entry in the \fB/etc/krb5/krb5.keytab\fR file on the
\fBhost/bigmachine.eng.example.com\fR
.sp
.LP
-See \fBkadmin\fR(1M) or \fBgkadmin\fR(1M) for instructions on adding a
-principal to a \fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
+See \fBkadmin\fR(1M) for instructions on adding a principal to a
+\fBkrb5.keytab\fR file. See \fI\fR for a discussion of Kerberos
authentication.
.sp
.LP
@@ -1417,7 +1417,7 @@ The interface stability of \fB/etc/ssh/moduli\fR is Private.
.sp
.LP
\fBlogin\fR(1), \fBscp\fR(1), \fBssh\fR(1), \fBssh-add\fR(1),
-\fBssh-agent\fR(1), \fBssh-keygen\fR(1), \fBsvcs\fR(1), \fBgkadmin\fR(1M),
+\fBssh-agent\fR(1), \fBssh-keygen\fR(1), \fBsvcs\fR(1),
\fBkadmin\fR(1M), \fBsftp-server\fR(1M), \fBssh-keysign\fR(1M),
\fBsvcadm\fR(1M), \fBpam\fR(3PAM), \fBrhosts\fR(4), \fBssh_config\fR(4),
\fBsshd_config\fR(4), \fBattributes\fR(5), \fBgss_auth_rules\fR(5),
diff --git a/usr/src/man/man4/kadm5.acl.4 b/usr/src/man/man4/kadm5.acl.4
index 05fe7158e2..25e8a76e22 100644
--- a/usr/src/man/man4/kadm5.acl.4
+++ b/usr/src/man/man4/kadm5.acl.4
@@ -3,7 +3,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KADM5.ACL 4 "Apr 26, 2004"
+.TH KADM5.ACL 4 "Oct 29, 2015"
.SH NAME
kadm5.acl \- Kerberos access control list (ACL) file
.SH SYNOPSIS
@@ -390,6 +390,6 @@ Interface Stability Evolving
.SH SEE ALSO
.sp
.LP
-\fBkpasswd\fR(1), \fBgkadmin\fR(1M), \fBkadmind\fR(1M), \fBkadmin.local\fR(1M),
+\fBkpasswd\fR(1), \fBkadmind\fR(1M), \fBkadmin.local\fR(1M),
\fBkdb5_util\fR(1M), \fBkdc.conf\fR(4), \fBattributes\fR(5), \fBkerberos\fR(5),
\fBpam_krb5_migrate\fR(5)
diff --git a/usr/src/man/man4/kdc.conf.4 b/usr/src/man/man4/kdc.conf.4
index 966ecd129d..b463abdbe9 100644
--- a/usr/src/man/man4/kdc.conf.4
+++ b/usr/src/man/man4/kdc.conf.4
@@ -3,7 +3,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KDC.CONF 4 "Nov 12, 2008"
+.TH KDC.CONF 4 "Oct 29, 2015"
.SH NAME
kdc.conf \- Key Distribution Center (KDC) configuration file
.SH SYNOPSIS
@@ -202,8 +202,8 @@ a minus (\fB-\fR) or a plus (\fB+\fR) character, indicating that the option
that follows should be enabled or disabled.
.sp
Flags below marked with an asterisk (\fB*\fR) are flags that are best applied
-on an individual principal basis through the \fBkadmin\fR or \fBgkadmin\fR
-interface rather than as a blanket attribute to be applied to all principals.
+on an individual principal basis through the \fBkadmin\fR interface rather
+than as a blanket attribute to be applied to all principals.
.sp
.ne 2
.na
@@ -1074,6 +1074,6 @@ All of the keywords, except for the \fBPKINIT\fR keywords are Committed. The
.SH SEE ALSO
.sp
.LP
-\fBkpasswd\fR(1), \fBgkadmin\fR(1M), \fBkadmind\fR(1M), \fBkadmin.local\fR(1M),
+\fBkpasswd\fR(1), \fBkadmind\fR(1M), \fBkadmin.local\fR(1M),
\fBkdb5_util\fR(1M), \fBkpropd\fR(1M), \fBlibpkcs11\fR(3LIB), \fBsyslog\fR(3C),
\fBkadm5.acl\fR(4), \fBkrb5.conf\fR(4), \fBattributes\fR(5), \fBkerberos\fR(5)
diff --git a/usr/src/man/man4/krb5.conf.4 b/usr/src/man/man4/krb5.conf.4
index 40425ee7d1..63ead95eb2 100644
--- a/usr/src/man/man4/krb5.conf.4
+++ b/usr/src/man/man4/krb5.conf.4
@@ -3,7 +3,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KRB5.CONF 4 "Jan 5, 2009"
+.TH KRB5.CONF 4 "Oct 29, 2015"
.SH NAME
krb5.conf \- Kerberos configuration file
.SH SYNOPSIS
@@ -546,22 +546,6 @@ and \fBrdist\fR.
.RE
.sp
-.in +2
-.nf
-gkadmin = {
- help_url = \e
-http://docs.sun.com/app/docs/doc/816-4557/6maosrjmr?q=gkadmin&a=view
-}
-.fi
-.in -2
-.sp
-
-.sp
-.LP
-The preceding URL is subject to change. On the \fBdocs.sun.com\fR web site,
-view the chapter on the Solaris Kerberos implementation in the \fISystem
-Administration Guide: Security Services\fR.
-.sp
.LP
The following application defaults can be set to \fBtrue\fR or \fBfalse\fR:
.sp
diff --git a/usr/src/man/man5/krb5_auth_rules.5 b/usr/src/man/man5/krb5_auth_rules.5
index cb0b6cb4ab..ddb0c92ae1 100644
--- a/usr/src/man/man5/krb5_auth_rules.5
+++ b/usr/src/man/man5/krb5_auth_rules.5
@@ -3,7 +3,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH KRB5_AUTH_RULES 5 "Apr 07, 2006"
+.TH KRB5_AUTH_RULES 5 "Oct 29, 2015"
.SH NAME
krb5_auth_rules \- overview of Kerberos V5 authorization
.SH DESCRIPTION
@@ -27,8 +27,8 @@ such as \fBjdb@ENG.ACME.COM\fR and \fBjdb/happy.eng.acme.com@ENG.ACME.COM\fR
would each be legal, though not equivalent, Kerberos principals. The client is
granted access if the \fB~/.k5login\fR file is located in the login directory
of the remote user account and if the originating user can be authenticated to
-one of the principals named in the file. See \fBgkadmin\fR(1M) and
-\fBkadm5.acl\fR(4) for more information on Kerberos principal names.
+one of the principals named in the file. See \fBkadm5.acl\fR(4) for more
+information on Kerberos principal names.
.sp
.LP
When no \fB~/.k5login\fR file is found in the remote user's login account, the
@@ -123,6 +123,6 @@ Interface Stability Evolving
.sp
.LP
\fBftp\fR(1), \fBrcp\fR(1), \fBrdist\fR(1), \fBrlogin\fR(1), \fBrsh\fR(1),
-\fBtelnet\fR(1), \fBgkadmin\fR(1M), \fBgsscred\fR(1M), \fBkadm5.acl\fR(4),
+\fBtelnet\fR(1), \fBgsscred\fR(1M), \fBkadm5.acl\fR(4),
\fBkrb5.conf\fR(4), \fBpasswd\fR(4), \fBattributes\fR(5),
\fBgss_auth_rules\fR(5)
diff --git a/usr/src/pkg/manifests/system-security-kerberos-5.mf b/usr/src/pkg/manifests/system-security-kerberos-5.mf
index 7e7352fbb6..230a44c549 100644
--- a/usr/src/pkg/manifests/system-security-kerberos-5.mf
+++ b/usr/src/pkg/manifests/system-security-kerberos-5.mf
@@ -22,6 +22,7 @@
#
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright 2012 Nexenta Systems, Inc. All rights reserved.
+# Copyright 2014 Garrett D'Amore <garrett@damore.org>
#
set name=pkg.fmri value=pkg:/system/security/kerberos-5@$(PKGVERS)
@@ -41,7 +42,6 @@ dir path=lib/svc/manifest/network/security group=sys
dir path=usr group=sys
dir path=usr/lib
dir path=usr/lib/krb5
-dir path=usr/lib/krb5/ListResourceBundle
dir path=usr/lib/security
dir path=usr/sbin
dir path=usr/share
@@ -60,12 +60,8 @@ file path=etc/krb5/kdc.conf group=sys original_name=SUNWkdc:etc/krb5/kdc.conf \
file path=etc/krb5/kpropd.acl group=sys \
original_name=SUNWkdc:etc/krb5/kpropd.acl preserve=true
file path=lib/svc/manifest/network/security/krb5_prop.xml group=sys mode=0444
-file path=usr/lib/krb5/HelpIndex.html mode=0444
-file path=usr/lib/krb5/ListResourceBundle/GuiResource.java mode=0444
-file path=usr/lib/krb5/ListResourceBundle/HelpData.java mode=0444
file path=usr/lib/krb5/README.db2 mode=0444
file path=usr/lib/krb5/db2.so.1
-file path=usr/lib/krb5/gkadmin.jar mode=0444
file path=usr/lib/krb5/kadmind mode=0500
file path=usr/lib/krb5/kconf mode=0555
file path=usr/lib/krb5/kdyndns mode=0555
@@ -80,14 +76,11 @@ file path=usr/lib/krb5/ksmb mode=0555
file path=usr/lib/krb5/libdb2.so.1
file path=usr/lib/krb5/libdyn.so.1
file path=usr/lib/krb5/libkadm5srv.so.1
-file path=usr/lib/krb5/libkadmin.so.1
file path=usr/lib/krb5/libkdb.so.1
file path=usr/lib/krb5/libkdb_ldap.so.1
-file path=usr/lib/krb5/visualrt.jar mode=0444
file path=usr/lib/security/pam_krb5_first mode=0444
file path=usr/lib/security/pam_krb5_only mode=0444
file path=usr/lib/security/pam_krb5_optional mode=0444
-file path=usr/sbin/gkadmin mode=0555
file path=usr/sbin/k5srvutil mode=0555
file path=usr/sbin/kadmin mode=0555
file path=usr/sbin/kadmin.local mode=0555
@@ -128,7 +121,6 @@ link path=usr/lib/krb5/kldap.so target=kldap.so.1
link path=usr/lib/krb5/libdb2.so target=libdb2.so.1
link path=usr/lib/krb5/libdyn.so target=libdyn.so.1
link path=usr/lib/krb5/libkadm5srv.so target=libkadm5srv.so.1
-link path=usr/lib/krb5/libkadmin.so target=libkadmin.so.1
link path=usr/lib/krb5/libkdb.so target=libkdb.so.1
link path=usr/lib/krb5/libkdb_ldap.so target=libkdb_ldap.so.1
link path=usr/share/man/man1m/kadmin.local.1m target=kadmin.1m