jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java
changeset 26037 508779ce6619
parent 26033 3f7c9aad7cc0
parent 25859 3317bb8137f4
child 28235 0dfebfcb9f8a
equal deleted inserted replaced
25992:e9b05e933ddd 26037:508779ce6619
  3305                 pane.repaint();
  3305                 pane.repaint();
  3306             } else if (name == "displayedMnemonicIndexAt") {
  3306             } else if (name == "displayedMnemonicIndexAt") {
  3307                 pane.repaint();
  3307                 pane.repaint();
  3308             } else if (name == "indexForTitle") {
  3308             } else if (name == "indexForTitle") {
  3309                 calculatedBaseline = false;
  3309                 calculatedBaseline = false;
  3310                 updateHtmlViews((Integer) e.getNewValue());
  3310                 updateHtmlViews((Integer) e.getNewValue(), false);
  3311             } else if (name == "tabLayoutPolicy") {
  3311             } else if (name == "tabLayoutPolicy") {
  3312                 AquaTabbedPaneCopyFromBasicUI.this.uninstallUI(pane);
  3312                 AquaTabbedPaneCopyFromBasicUI.this.uninstallUI(pane);
  3313                 AquaTabbedPaneCopyFromBasicUI.this.installUI(pane);
  3313                 AquaTabbedPaneCopyFromBasicUI.this.installUI(pane);
  3314                 calculatedBaseline = false;
  3314                 calculatedBaseline = false;
  3315             } else if (name == "tabPlacement") {
  3315             } else if (name == "tabPlacement") {
  3343                 tabPane.revalidate();
  3343                 tabPane.revalidate();
  3344                 tabPane.repaint();
  3344                 tabPane.repaint();
  3345                 calculatedBaseline = false;
  3345                 calculatedBaseline = false;
  3346             } else if (name == "indexForNullComponent") {
  3346             } else if (name == "indexForNullComponent") {
  3347                 isRunsDirty = true;
  3347                 isRunsDirty = true;
  3348                 updateHtmlViews((Integer) e.getNewValue());
  3348                 updateHtmlViews((Integer) e.getNewValue(), true);
  3349             } else if (name == "font") {
  3349             } else if (name == "font") {
  3350                 calculatedBaseline = false;
  3350                 calculatedBaseline = false;
  3351             }
  3351             }
  3352         }
  3352         }
  3353 
  3353 
  3462             final Component child = e.getChild();
  3462             final Component child = e.getChild();
  3463             if (child instanceof UIResource) {
  3463             if (child instanceof UIResource) {
  3464                 return;
  3464                 return;
  3465             }
  3465             }
  3466             isRunsDirty = true;
  3466             isRunsDirty = true;
  3467             updateHtmlViews(tp.indexOfComponent(child));
  3467             updateHtmlViews(tp.indexOfComponent(child), true);
  3468         }
  3468         }
  3469 
  3469 
  3470         private void updateHtmlViews(int index) {
  3470         private void updateHtmlViews(int index, boolean inserted) {
  3471             final String title = tabPane.getTitleAt(index);
  3471             final String title = tabPane.getTitleAt(index);
  3472             final boolean isHTML = BasicHTML.isHTMLString(title);
  3472             final boolean isHTML = BasicHTML.isHTMLString(title);
  3473             if (isHTML) {
  3473             if (isHTML) {
  3474                 if (htmlViews == null) { // Initialize vector
  3474                 if (htmlViews == null) { // Initialize vector
  3475                     htmlViews = createHTMLVector();
  3475                     htmlViews = createHTMLVector();
  3476                 } else { // Vector already exists
  3476                 } else { // Vector already exists
  3477                     final View v = BasicHTML.createHTMLView(tabPane, title);
  3477                     final View v = BasicHTML.createHTMLView(tabPane, title);
  3478                     htmlViews.insertElementAt(v, index);
  3478                     setHtmlView(v, inserted, index);
  3479                 }
  3479                 }
  3480             } else { // Not HTML
  3480             } else { // Not HTML
  3481                 if (htmlViews != null) { // Add placeholder
  3481                 if (htmlViews != null) { // Add placeholder
  3482                     htmlViews.insertElementAt(null, index);
  3482                     setHtmlView(null, inserted, index);
  3483                 } // else nada!
  3483                 } // else nada!
  3484             }
  3484             }
  3485             updateMnemonics();
  3485             updateMnemonics();
       
  3486         }
       
  3487 
       
  3488         private void setHtmlView(View v, boolean inserted, int index) {
       
  3489             if (inserted || index >= htmlViews.size()) {
       
  3490                 htmlViews.insertElementAt(v, index);
       
  3491             } else {
       
  3492                 htmlViews.setElementAt(v, index);
       
  3493             }
  3486         }
  3494         }
  3487 
  3495 
  3488         public void componentRemoved(final ContainerEvent e) {
  3496         public void componentRemoved(final ContainerEvent e) {
  3489             final JTabbedPane tp = (JTabbedPane)e.getContainer();
  3497             final JTabbedPane tp = (JTabbedPane)e.getContainer();
  3490             final Component child = e.getChild();
  3498             final Component child = e.getChild();