tools/JavaSettingsApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 24 Apr 2013 00:07:32 +0100
branchdevelopment
changeset 2549 6ef03f1baa82
parent 2429 ebece4dcaab9
child 2711 a00302fe5083
child 2717 16564a7101b8
permissions -rw-r--r--
Bugfix in natives (array reflection). Caused by semi-automatic refactoring of natives.

"{ Package: 'stx:libjava/tools' }"

AbstractSettingsApplication subclass:#JavaSettingsApplication
	instanceVariableNames:'javaReleaseHolder javaReleaseList javaHomeHolder
		javaReleaseIsCustomHolder infoPanel jdkBundleHolder
		environmentBundleHolder packageBundleHolder userBundleHolder'
	classVariableNames:''
	poolDictionaries:''
	category:'Languages-Java-Tools'
!



!JavaSettingsApplication class methodsFor:'initialization'!

initialize

    self installInSettings

    "Created: / 23-06-2005 / 09:27:10 / masca"
!

installInSettings
    
    Smalltalk addStartBlock:[
        AbstractLauncherApplication 
            addSettingsApplicationByClass:self name withName:'Java' icon:self defaultIcon
    ]

    "Created: / 23-06-2005 / 09:27:10 / masca"
    "Modified: / 19-07-2012 / 11:26:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !


!JavaSettingsApplication class methodsFor:'image specs'!

defaultIcon
    ^ self libjavaCupIconInTree

    "Created: / 19-07-2012 / 11:26:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

libjavaCupIcon
    "This resource specification was automatically generated
     by the ImageEditor of ST/X."

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

    "
     self libjavaCupIcon inspect
     ImageEditor openOnClass:self andSelector:#libjavaCupIcon
     Icon flushCachedIcons
    "

    <resource: #image>

    ^Icon
        constantNamed:'JavaSettingsApplication libjavaCupIcon'
        ifAbsentPut:[(Depth24Image new) width: 66; height: 66; photometric:(#rgb); bitsPerSample:(#(8 8 8)); samplesPerPixel:(3); bits:(ByteArray fromPackedString:'
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????_O)?/_1????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????/+7<+E4????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????:8X(?/#2????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????:(D >MZ6????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????;>:G\N=\FQ????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????N7_96<@<;*D????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????=\FQ96<@=,&_????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????;=:8 ,96<@>>#W????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????=,"]96<@:8$.????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?N/\:G\N96<@=,&_????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????_G'':(L$96<@:8X)??7;????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????_G'':(P%96<@97DC>.GJ????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????OC$;H,196<@96<@<;"A????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????>.KL:W8Z96<@96<@;99T??;>????????????????
?????????????????_W.????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????=<6'':GTJ96<@96<@;))M
?//8????????????????????????>>[S<;Y>=\JS?_W.????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????/39
<Z5.96<@96<@96<@;95R?/39?????????????????/''5=\VY;H,2;Y@;>>WQ????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????_K(;I@:96<@96<@96<@<*90??7<?????????????/39=\NT:''8[:GPH=\FR??7<????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????N+Z:(L#96<@96<@97DC=\NT????????????????>]&;:(H!!96<@:8 ->>''X????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????>.GJ:W,U96<@96<@:GXL>MV4??????????????7;<;U<97@B96<@;:AW?/#2????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????>>SP:W$Q96<@96<@:GXL>-?F?????????????//8;)%J
96<@96<@<Z-+??;>????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????/_0:(H"96<@96<@97DD>]":
??????????????;>;)1O96<@96<@<Z))??;>????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
<Z-*96<@96<@96<@=K.F????????????????=\FQ96<@96<@;H04??7<????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????_W.:GLG96<@96<@:(L$??7;?????????????/''5:W$Q96<@96<@==F-????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????>M^896<@96<@96<@=\BP????????????????=,2$96<@96<@96<@?_K(????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????>MR296<@96<@96<@>>#V????????????????<;Q;96<@96<@96<@
>>_T????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????OC$96<@96<@96<@?/#2????????
????????<Z-+96<@96<@96<@<;"B????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
:8 -96<@96<@?OC$????????????????=\NT96<@96<@96<@:W$Q?_O*????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????=<6&96<@96<@==F.????????????????>>[R96<@96<@96<@96<@<J]$????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????7<;H8796<@;))M????????????????????;)]F96<@96<@96<@96<@=<:)????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????N3^:G\N96<@>.KL????????????????>].?97@B96<@
96<@96<@:W0W?/_0????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????=<6''97@A;)]G??;>
????????????????<;Q;96<@96<@96<@96<@=K6K????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????=\VX96<@=\VY??????????????????7;;I@:96<@96<@96<@;91P????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????<;]?:W P?N?#????????????????>>#W:GLG96<@96<@;9=U????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????=\RW;YH>??7<????????????????;))M96<@96<@=<:(????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????=\NT=,&_????????????????
<*9096<@:(L$?/+7????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????>]*=?/''5????????????;99S:GPH>.KK????????????????????????????????????????9.713M+#2-#"9>72????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????>O+;6NO*-\''V*LCO2-#"
:^?3??????????????????????????????;=?????????_G'':W0W>].?????????????????????????????????????9.71);?O+LOR$J?CV8"%T8J!!_*F9
7>#.????????????????????????????????????????????????????????????????????????????????????????????????????????????:?G4+<WT
]Y.4W(*''$;GD3M+#>/3<??????????????????????????????????????????????;><;"A>>#W????????????????????????????????????????????
????????????=/#:"**?T8J!!V(^%6^O*????????????????????????????????????????????????????????????????????????????????????????
????????5>K)"Z&>UXN"T8J!!''[_I=O_9?????????????????????????????????????????????????????????/_1??7<????????????????????????
????????>O+;9^31?/??????????????????????>/3<ZYJ-T8J!![)Z0?/??????????????????????????????????????????????????????????????
????????????????????????????.<7ZUHJ!!T8J!!T8J!!T8J!!,L[T;/O6????????????????????????????????????????????????????????????????
=?'';8.+/3]/$.,7Y)[;N$Z?C_JB7Z)N.'';''J<?[8????????????????????????????);?OT8J!!T8J!!7._-????????????????????????????????????
????????????????????????????????????????????????????8^''. JN:UXN"T8J!!T8J!!T8J!!T8J!!ZYJ-^Y:6!!ZZ<$J?C&KSG&KSG&KSG&KSG%;SF#J3@
!!ZZ<_:J9]Y.3Z)N.XH.(U(R"T8J!!T8J!!T8J!!U8V#\9*3%KGD-L''V9^31????????????????????????????????????-\+WT8J!!T8J!!4=?''????????????
????????????????????????????????????????????????????????????????????????????????????<_W72=''#*<KQ&+WH"Z&>^):6Z)N.W(*''W(*''
VHZ$T8J!!T8J!!T8J!!UHJ!!W(*''XH2(Z)N.[YV/_ZF8$+CC)K7M-\+W2-#"7>_-?O7=????????????????????????????????????????????????????%+OF
T8J!!UHJ!!<OS7????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????<_W7WH"&T8J!!"Z&>????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????=O_9????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????/??":/@T8J!!XX2):^?3????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????:N;2"**?.,7Y????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????([/LT8J!!XH2(6>W+????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????8>/0WH"&T8J!!);?O>/3<????????????????????????????
????????????????????????????>O+;7N[,/-C\(+/L4-?''????????????????????????????>/3<$+CDT8J!!^I65:N;2????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????5NC''UHJ!!T8J!!T8J!!VHZ$]925
!!*^=$Z?C''[_I*LCO+<WS+<WS+<WS+<WS*LCO&;[H#*7A JJ9ZYJ-UHJ!!T8J!!T8J!!T8J!!UXN"''K_I;/O6????????????????8^''/\)&2Z9R.0MG\?/??????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????3=3%_ZF8UHN"T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!U(R#\)&2&[WG1MS_;?S7????????=/#:*\CP
#J/@3M+#?/;>????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????<OS72M_!!*\GP%+OF!!JZ<\I^1Z)N.Z)N.Z)N.Z)N.Z)N.Z)N.\9*3 JJ9$+CC*,GQ0-O^7._->?3=????????
????????????????6^O*>O+;????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????O7=????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????5>K)!!JZ<;_K5
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????4M7%UHJ!!T8J!!"**?0-K]8.+/<OS7?_;>?????????????????????/;>;/O66.S+/,?[(;3M"J&>,,_U>/3<????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????4-?''UHN"T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!W(*''Z)N.Z)N.Z)N.Y)B+U(R#T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!X86)*\GP
;?S7????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????4-?'']).4T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!
T8J!!T8J!!T8J!!UHN"_ZB8/=C\>O+;????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????;/O64-;&1=[ 1-W =O_9????????????????8^''.+\OR!!JZ<XH.(T8J!!T8J!!T8J!!
T8J!!T8J!!T8J!!T8J!!T8J!!XH2(_ZF8&+WH1]W_</W8????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????9^31'';''K[)Z0]).4+,SS6.S+=/'':????????????????????????
????????????=_#98N#.7^[,7^[,7^[,7>#.;_K5>/3<????????????????????????????????????????????????????????????????????5^C(=?'';
????????????????????????????????????????????????????????????????????????????????????9^31!!*^=UHJ!!]Y.36>W+????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????''[#J1-W ????????????????????????????????????????????????????????????????????????????????0MG\U8V#T8J!!T8J!!
+,SS????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????>_/<2=''# :V;#J3@>//<????????????????????????????????????????????????????????????????????????
????????^Y66T8J!!T8J!!T8J!!T8J!![)Z0(;3M2=''#;OG5?/??????????????????????????????????????????????????????????????????????????
????????????????????????????????</W86>W+1MS_(K+K^Y66WH"&#J/@5^G(?????????????_;>=O_9????????????????????????????????????
????????????????????????????????9>;2%[KEYH:*T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!VHZ$[9^0"J">''+#J*\GP-L''V0MG\2-''"4];&4];&4];&4];&4];&
4];&4];&4];&4];&1-W 1-W 1MS_-</X*,GQ''[#J$J?C!!JV<\9&2WH&&T8J!!UHJ!![9Z0&[WG1-[ =O_9????????????????:/C4#J/@=_#9????????????
????????????????????????????????????????????????????????????????????;_K55NC''/L;[)[7N#J3@]925YX>+U(R"T8J!!T8J!!T8J!!T8J!!T8J!!
T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!T8J!!U8V#Y9B,_ZB8%+OF,L[T3-3$=O_9?????????????????????/;>3=3%#J/@
XX2)5NC''????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?/??;?O67>_-4];&1-[ /L;[,,_U*LCO(;3M(;3M(;3M(;3M(;3M)+;N+<WS,\_U/,?[2-#"5.G)8.+/</W8?????????????????????????????????/??
9^310]K]$+CCXX2)U8V#%[KE:?C4????????????????????????????????????????????????????????????????????????????????????????????
?????????????????/??7>#.;_K5?/;>????????????????????????????????????????????????????????????????????????????????????????
</W85>K).,7Y''K_I_*F9WX&''T8J!!UHN"]925+\OR;?O6????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????=O_9.,7Y&KSG"**? JN:$Z?C([/L(;3M);?O+<WS+<WS.L3X.,7Y.,7Y.,7Y.,7Y.,7Y-</X*<KQ
(K+K%KKE"**?^):6ZIF,VHV$T8J!!T8J!!WX&''\9&2$+CC,<#U4=?''=O_9????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????<OS78^''.3-3$/=C\+<WT*,GQ(;3M&+WH
&KSG&KSG&KSG&KSG&KSG&KSG&KSG(;3M+\OR-\''V/,?[3=3%8>+0=?'';????????????????????????????????????????????????????????????????
????????????????????????') ; yourself]
!

libjavaCupIconInTree
    "This resource specification was automatically generated
     by the ImageEditor of ST/X."

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

    "
     self libjavaCupIconInTree inspect
     ImageEditor openOnClass:self andSelector:#libjavaCupIconInTree
     Icon flushCachedIcons
    "

    <resource: #image>

    ^Icon
        constantNamed:'JavaSettingsApplication libjavaCupIconInTree'
        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_C1<_G1<_G1<_G1<_
G1<_G1<_G1<_DA<_G1<_G1<_G1<_G1<_G1<_G1<_DA<_DQ<_G1<_G1<_G1<_G1<_G1<_DA<_D!!<_G1<_G1<_G1<_G1<_G1<_DA<_DA<_G1<_G1<_G1<_G1<_
G1<_G1@_G1@_G1<_G1<_G1<_G1<_G1<_G1<NG1<PC1<_G1<_G1<_G1<_G1<_G1<_G08_G1@_G1<_G1<_G1<_G1<_G1<_G1<_G1<PG1<_G1<_G1<_G1<_G1<_
G1<_G1<_G1<_G1<HG1<_G1<_G1<_BP0B@ HCB H_G1<_G0 _G1<_G1<_G1<_G1<_G1<_G1<_G04_G1<_G1<_G1<_B ,B@ HMA $_G1<_G1<_G1<_G1<_G1<_
G1<_G1<_G1<_G1<_G1<_G1<_G1<_BQ<_G1<HG1<_G1<_G1<_G1<_G1<_G1<DCP4GG1<_G1<_G1<_G1<_G0$_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G0(AB (J
B TA@A<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G1<_G0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[82 129 161 83 129 160 83 129 161 83 129 162 84 129 160 84 129 161 82 130 161 82 130 162 83 130 160 83 130 161 83 130 162 84 130 161 82 131 161 83 131 161 231 110 0 230 111 0 231 111 0 231 112 0 232 112 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@ @@A@@@BP@@D @@I@@@I@@@I @@D @@@ @@@A@A?  @@A@@?0@@@@@@P @@O@@D@@@A?0@@@@@') ; yourself); yourself]
! !


!JavaSettingsApplication class methodsFor:'interface opening'!

open    

    | settingsApp |

    settingsApp := SettingsDialog new.
    settingsApp addApplClass:self fullName
                withName:'Java'.
    settingsApp showRoot: false.
    settingsApp selectedItem value:
        (settingsApp applicationList root children anyOne).
    settingsApp open.

    "Created: / 19-07-2012 / 11:25:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !


!JavaSettingsApplication class methodsFor:'interface specs'!

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

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

    "
     UIPainter new openOnClass:JavaSettingsApplication andSelector:#userBundleTabSpec
     JavaSettingsApplication new openInterface:#userBundleTabSpec
    "

    <resource: #canvas>

    ^ 
     #(FullSpec
        name: packageBundleTabSpec
        window: 
       (WindowSpec
          label: 'Package Libraries'
          name: 'Package Libraries'
          min: (Point 10 10)
          bounds: (Rectangle 0 0 300 300)
        )
        component: 
       (SpecCollection
          collection: (
           (SubCanvasSpec
              name: 'SubCanvas1'
              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
              hasHorizontalScrollBar: false
              hasVerticalScrollBar: false
              majorKey: JavaCodeBundleEditor
              subAspectHolders: 
             (Array
                
               (SubChannelInfoSpec
                  subAspect: bundleHolder
                  aspect: packageBundleHolder
                ) 
               (SubChannelInfoSpec
                  subAspect: readonlyHolder
                  aspect: trueHolder
                )
              )
              createNewApplication: true
              createNewBuilder: true
            )
           )
         
        )
      )

    "Created: / 28-01-2013 / 20:33:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

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

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

    "
     UIPainter new openOnClass:JavaSettingsApplication andSelector:#userBundleTabSpec
     JavaSettingsApplication new openInterface:#userBundleTabSpec
    "

    <resource: #canvas>

    ^ 
     #(FullSpec
        name: userBundleTabSpec
        window: 
       (WindowSpec
          label: 'User Libraries'
          name: 'User Libraries'
          min: (Point 10 10)
          bounds: (Rectangle 0 0 300 300)
        )
        component: 
       (SpecCollection
          collection: (
           (SubCanvasSpec
              name: 'SubCanvas1'
              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
              hasHorizontalScrollBar: false
              hasVerticalScrollBar: false
              majorKey: JavaCodeBundleEditor
              subAspectHolders: 
             (Array
                
               (SubChannelInfoSpec
                  subAspect: bundleHolder
                  aspect: userBundleHolder
                ) 
               (SubChannelInfoSpec
                  subAspect: readonlyHolder
                  aspect: #falseHolder
                )
              )
              createNewApplication: true
              createNewBuilder: true
            )
           )
         
        )
      )

    "Modified: / 28-01-2013 / 20:34:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

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

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

    "
     UIPainter new openOnClass:JavaSettingsApplication andSelector:#windowSpec
     JavaSettingsApplication new openInterface:#windowSpec
     JavaSettingsApplication open
    "

    <resource: #canvas>

    ^ 
     #(FullSpec
        name: windowSpec
        window: 
       (WindowSpec
          label: 'Java Settings'
          name: 'Java Settings'
          min: (Point 10 10)
          bounds: (Rectangle 0 0 695 627)
        )
        component: 
       (SpecCollection
          collection: (
           (LabelSpec
              label: ' Java Settings'
              name: 'SubVersiSettingsTitle'
              layout: (LayoutFrame 0 0 0 0 0 1 66 0)
              style: (FontDescription helvetica medium roman 18 #'iso10646-1')
              backgroundColor: (Color 100.0 100.0 100.0)
              translateLabel: true
              adjust: left
            )
           (LabelSpec
              label: 'Icon'
              name: 'JavaIcon'
              layout: (LayoutFrame -75 1 0 0 0 1 66 0)
              hasCharacterOrientedLabel: false
              backgroundColor: (Color 100.0 100.0 100.0)
              translateLabel: true
              labelChannel: libjavaCupIcon
            )
           (SubCanvasSpec
              name: 'InfoPanel'
              layout: (LayoutFrame 0 0 67 0 0 1 107 0)
              level: 0
              initiallyInvisible: true
              hasHorizontalScrollBar: false
              hasVerticalScrollBar: false
              clientKey: infoPanel
              createNewBuilder: false
            )
           (VerticalPanelViewSpec
              name: 'Controls'
              layout: (LayoutFrame 0 0 70 0 0 1 0 1)
              horizontalLayout: fit
              verticalLayout: topFit
              horizontalSpace: 3
              verticalSpace: 3
              component: 
             (SpecCollection
                collection: (
                 (FramedBoxSpec
                    label: 'Basic Settings'
                    name: 'JavaReleasePanel'
                    labelPosition: topLeft
                    translateLabel: true
                    component: 
                   (SpecCollection
                      collection: (
                       (ComboListSpec
                          name: 'ReleaseList'
                          layout: (LayoutFrame 100 0 0 0 0 1 25 0)
                          model: javaReleaseHolder
                          comboList: javaReleaseList
                          useIndex: false
                        )
                       (LabelSpec
                          label: 'Release:'
                          name: 'ReleaseLabel'
                          layout: (LayoutFrame 0 0 0 0 100 0 25 0)
                          translateLabel: true
                          adjust: left
                        )
                       (LabelSpec
                          label: 'JAVA_HOME'
                          name: 'JAVA_HOME_Label'
                          layout: (LayoutFrame 0 0 30 0 100 0 55 0)
                          translateLabel: true
                          adjust: left
                        )
                       (FilenameInputFieldSpec
                          name: 'JAVA_HOME'
                          layout: (LayoutFrame 100 0 30 0 -55 1 55 0)
                          enableChannel: javaReleaseIsCustomHolder
                          model: javaHomeHolder
                          immediateAccept: true
                          acceptOnPointerLeave: true
                        )
                       (ActionButtonSpec
                          label: 'Browse'
                          name: 'JAVA_HOME_Browse'
                          layout: (LayoutFrame -50 1 30 0 0 1 55 0)
                          translateLabel: true
                          model: doBrowseJavaHome
                          enableChannel: javaReleaseIsCustomHolder
                        )
                       )
                     
                    )
                    extent: (Point 695 95)
                  )
                 (VariableVerticalPanelSpec
                    name: 'VariableVerticalPanel1'
                    component: 
                   (SpecCollection
                      collection: (
                       (NoteBookViewSpec
                          name: 'Notebook'
                          menu: tabList
                        )
                       )
                     
                    )
                    extent: (Point 695 459)
                    handles: (Any 1.0)
                  )
                 )
               
              )
            )
           )
         
        )
      )
! !


!JavaSettingsApplication class methodsFor:'list specs'!

tabList
    "This resource specification was automatically generated
     by the TabListEditor of ST/X."

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

    "
     TabListEditor new openOnClass: self andSelector:#tabList
    "

    <resource: #tabList>

    ^     #(
       (TabItem
          label: 'Package Libraries'
          minorKey: packageBundleTabSpec
        )
       (TabItem
          label: 'User Libraries'
          minorKey: userBundleTabSpec
        )
       )
     
      collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]

    "Modified: / 28-01-2013 / 20:33:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !


!JavaSettingsApplication methodsFor:'actions'!

doBrowseJavaHome
    <resource: #uiCallback>

    | java_home |

    java_home := Dialog requestDirectoryName:(resources string:'JAVA_HOME directory').
    java_home notEmptyOrNil ifTrue:[
        self javaHomeHolder value: java_home
    ]

    "Modified: / 27-07-2012 / 00:20:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !


!JavaSettingsApplication methodsFor:'aspects'!

environmentBundleHolder
    "return/create the 'environmentBundleHolder' value holder (automatically generated)"

    environmentBundleHolder isNil ifTrue:[
        environmentBundleHolder := ValueHolder new.
    ].
    ^ environmentBundleHolder
!

environmentBundleHolder:something
    "set the 'environmentBundleHolder' value holder (automatically generated)"

    environmentBundleHolder := something.
!

falseHolder
    ^false

    "Created: / 28-01-2013 / 20:34:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

infoPanel
    infoPanel isNil ifTrue:[
        infoPanel := Tools::InlineMessageDialog new.
    ].
    ^ infoPanel

    "Created: / 09-02-2012 / 19:23:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

javaHomeHolder
    <resource: #uiAspect>

    javaHomeHolder isNil ifTrue:[
        javaHomeHolder := AspectAdaptor forAspect: #javaHome.
        javaHomeHolder subjectChannel: self javaReleaseHolder.
        javaHomeHolder onChangeSend:#updateModifiedChannel to:self
    ].
    ^ javaHomeHolder.

    "Created: / 27-07-2012 / 00:06:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

javaReleaseHolder
    <resource: #uiAspect>

    javaReleaseHolder isNil ifTrue:[
        javaReleaseHolder := Java release asValue.
        javaReleaseHolder onChangeSend:#updateModifiedChannel to:self.
    ].
    ^ javaReleaseHolder.

    "Modified: / 27-07-2012 / 18:30:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    "Modified: / 06-02-2013 / 08:30:00 / jv"
!

javaReleaseIsCustomHolder
    <resource: #uiAspect>

    javaReleaseIsCustomHolder isNil ifTrue:[
        javaReleaseIsCustomHolder := AspectAdaptor forAspect: #isCustom.
        javaReleaseIsCustomHolder subjectChannel: self javaReleaseHolder
    ].
    ^ javaReleaseIsCustomHolder.

    "Created: / 27-07-2012 / 00:07:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

javaReleaseList
    <resource: #uiAspect>


    javaReleaseList isNil ifTrue:[
        javaReleaseList := JavaRelease all asList
    ].
    ^ javaReleaseList.

    "Modified: / 27-07-2012 / 00:13:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

jdkBundleHolder
    "return/create the 'jdkBundleHolder' value holder (automatically generated)"

    jdkBundleHolder isNil ifTrue:[
        jdkBundleHolder := ValueHolder new.
    ].
    ^ jdkBundleHolder
!

jdkBundleHolder:something
    "set the 'jdkBundleHolder' value holder (automatically generated)"

    jdkBundleHolder := something.
!

packageBundleHolder
    "return/create the 'packageBundleHolder' value holder (automatically generated)"

    packageBundleHolder isNil ifTrue:[
        packageBundleHolder := ValueHolder new.
    ].
    ^ packageBundleHolder
!

packageBundleHolder:something
    "set the 'packageBundleHolder' value holder (automatically generated)"

    packageBundleHolder := something.
!

tabList
    "Generated by the TabListEditor"

    |list|

    (list := builder bindingAt:#tabList) isNil ifTrue:[
        builder aspectAt:#tabList put:(list := self class tabList).
    ].
    ^ list
!

trueHolder
    ^true

    "Created: / 28-01-2013 / 20:34:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

userBundleHolder
    "return/create the 'userBundleHolder' value holder (automatically generated)"

    userBundleHolder isNil ifTrue:[
        userBundleHolder := ValueHolder new.
    ].
    ^ userBundleHolder
!

userBundleHolder:something
    "set the 'userBundleHolder' value holder (automatically generated)"

    userBundleHolder := something.
! !


!JavaSettingsApplication methodsFor:'protocol'!

basicReadSettings
    | rel cpb |

    rel := currentUserPrefs javaRelease.
    (rel isNil and:[Java notNil]) ifTrue:[
        rel := Java release
    ].
    
    self javaReleaseHolder value: rel.
    cpb := Java classPathBundle.
    self userBundleHolder value: cpb user deepCopy.
    self packageBundleHolder value: cpb packages.
    self environmentBundleHolder value: cpb environment.

    "Modified: / 28-01-2013 / 20:32:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

basicSaveSettings
    self javaReleaseHolder value notNil ifTrue:[
        currentUserPrefs javaReleaseSelector:  self javaReleaseHolder value selector.
    ] ifFalse:[
        currentUserPrefs javaReleaseSelector: nil.
    ].

    "Modified: / 25-01-2013 / 22:25:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

helpFilename
    "subclasses must return the relative name of a helpFile
     in the doc/online/<language>/help directory.
     Or nil, if no help is available."

    ^ '../programming/java-installation.html#config'

    "Modified: / 14-08-2012 / 18:57:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !


!JavaSettingsApplication methodsFor:'queries'!

hasUnsavedChanges
    "superclass AbstractSettingsApplication says that I am responsible to implement this method"

    | prefRel setRel |

    prefRel :=  currentUserPrefs javaRelease.  
    setRel := self javaReleaseHolder value.

    (setRel validateJavaHome: self javaHomeHolder value) ifFalse:[
        self infoPanel
            reset;
            beWarning;
            message: (resources string: 'JAVA_HOME is not valid');
            show.
        ^ false "/ Hack, this effectively disables the "Apply" button...
    ] ifTrue:[
        self infoPanel hide.
    ].

    prefRel ~~ setRel ifTrue:[ ^ true ].




    ^false

    "Modified: / 16-01-2013 / 13:44:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !


!JavaSettingsApplication class methodsFor:'documentation'!

version_CVS
    ^ '$Header: /cvs/stx/stx/libjava/tools/JavaSettingsApplication.st,v 1.2 2013-02-25 11:15:35 vrany Exp $'
!

version_HG

    ^ '$Changeset: <not expanded> $'
!

version_SVN
    ^ '§Id::                                                                                                                        §'
! !


JavaSettingsApplication initialize!