2424import java .io .IOException ;
2525import java .util .ArrayList ;
2626import java .util .Arrays ;
27- import java .util .Collections ;
2827import java .util .LinkedHashMap ;
2928import java .util .LinkedList ;
3029import java .util .List ;
3130import java .util .Map ;
3231import java .util .Map .Entry ;
32+ import java .util .Set ;
33+ import java .util .TreeSet ;
3334import java .util .logging .Logger ;
3435import java .util .stream .Collectors ;
3536import javax .swing .event .DocumentEvent ;
3940import org .openide .util .NbBundle ;
4041import org .openide .windows .TopComponent ;
4142import org .openide .windows .WindowManager ;
42- //import org.openide.util.ImageUtilities;
4343import org .netbeans .api .settings .ConvertAsProperties ;
4444import org .openide .cookies .SaveCookie ;
4545import org .openide .filesystems .FileUtil ;
4646import org .openide .loaders .DataObject ;
4747import org .openide .nodes .Node ;
4848import org .openide .util .HelpCtx ;
49- import org .openide .util .lookup .InstanceContent ;
5049import org .openide .windows .CloneableTopComponent ;
5150
5251/**
53- * Top component which displays something.
52+ * Top component for Material Editor
5453 */
5554@ ConvertAsProperties (dtd = "-//com.jme3.gde.materials.multiview//MaterialEditor//EN" ,
5655autostore = false )
5756@ SuppressWarnings ({"unchecked" , "rawtypes" })
5857public final class MaterialEditorTopComponent extends CloneableTopComponent implements MaterialWidgetListener , MaterialChangeProvider {
5958
6059 private static MaterialEditorTopComponent instance ;
61- /** path to the icon used by the component and its open action */
62- // static final String ICON_PATH = "SET/PATH/TO/ICON/HERE";
6360 private static final String PREFERRED_ID = "MaterialEditorTopComponent" ;
64- //private Lookup lookup;
65- private final InstanceContent lookupContents = new InstanceContent ();
66- // private SaveNode saveNode;
6761 private DataObject dataObject ;
6862 private EditableMaterialFile materialFile ;
6963 private String materialFileName ;
@@ -457,8 +451,6 @@ public int getPersistenceType() {
457451 @ Override
458452 public HelpCtx getHelpCtx () {
459453 HelpCtx ctx = new HelpCtx ("sdk.material_editing" );
460- //this call is for single components:
461- //HelpCtx.setHelpIDString(this, "com.jme3.gde.core.sceneviewer");
462454 return ctx ;
463455 }
464456
@@ -483,11 +475,8 @@ public void componentClosed() {
483475 }
484476
485477 void writeProperties (java .util .Properties p ) {
486- // better to version settings since initial version as advocated at
487- // http://wiki.apidesign.org/wiki/PropertyFiles
488478 p .setProperty ("version" , "1.0" );
489479 p .setProperty ("MaterialFileName" , materialFileName );
490- // TODO store your settings
491480 }
492481
493482 Object readProperties (java .util .Properties p ) {
@@ -543,8 +532,6 @@ public void addAllMaterialChangeListener(List<MaterialChangeListener> listeners)
543532
544533 private class DocumentChangeListener implements DocumentListener {
545534
546- String newline = "\n " ;
547-
548535 @ Override
549536 public void insertUpdate (DocumentEvent e ) {
550537 checkSave ();
@@ -598,25 +585,23 @@ public void setMatDefList(final String[] matDefs, String selected) {
598585 materialFile = null ;
599586 jComboBox1 .removeAllItems ();
600587 jComboBox1 .addItem ("" );
601- List <String > matDefList = Arrays .asList (matDefs );
602- Collections .sort (matDefList );
603- for (String matDef : matDefList ) {
604- jComboBox1 .addItem (matDef );
588+ Set <String > matDefList = new TreeSet <>(Arrays .asList (matDefs ));
589+ for (String string : matDefList ) {
590+ jComboBox1 .addItem (string );
605591 }
606-
607592 jComboBox1 .setSelectedItem (selected );
608593 materialFile = prop ;
609594 }
610595
611596 private void updateProperties () {
612597 for (Component component : optionsPanel .getComponents ()) {
613- if (component instanceof MaterialPropertyWidget ) {
614- (( MaterialPropertyWidget ) component ) .registerChangeListener (null );
598+ if (component instanceof MaterialPropertyWidget materialPropertyWidget ) {
599+ materialPropertyWidget .registerChangeListener (null );
615600 }
616601 }
617602 for (Component component : texturePanel .getComponents ()) {
618- if (component instanceof MaterialPropertyWidget ) {
619- (( MaterialPropertyWidget ) component ) .registerChangeListener (null );
603+ if (component instanceof MaterialPropertyWidget materialPropertyWidget ) {
604+ materialPropertyWidget .registerChangeListener (null );
620605 }
621606 }
622607 optionsPanel .removeAll ();
@@ -674,8 +659,8 @@ private void updateProperties() {
674659
675660 private void updateStates () {
676661 for (Component component : statesPanel .getComponents ()) {
677- if (component instanceof MaterialPropertyWidget ) {
678- (( MaterialPropertyWidget ) component ) .registerChangeListener (null );
662+ if (component instanceof MaterialPropertyWidget materialPropertyWidget ) {
663+ materialPropertyWidget .registerChangeListener (null );
679664 }
680665 }
681666 statesPanel .removeAll ();
0 commit comments