Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/arranger/jarl/shell/views/RenderedImageView.java


1   package com.arranger.jarl.shell.views;
2   
3   import com.arranger.jarl.shell.models.BaseModel;
4   import com.arranger.jarl.shell.models.JarlContextModel;
5   import com.arranger.jarl.shell.models.ViewPrefModel;
6   
7   /**
8    * RenderedImageView created on Apr 16, 2003
9    */
10  public class RenderedImageView extends BaseView {
11  
12      protected static final int SPACING_WIDTH = 5;
13      protected static final int SPACING_HEIGHT = 0; //24;
14  
15      protected RenderedImageViewContext m_frameContext;
16  
17      public String[] getModelsToSubscribe() {
18          return new String[]{JarlContextModel.class.getName()};
19      }
20  
21      public void onChange(BaseModel baseModel, String propertyName) {
22          JarlContextModel jarlContextModel = (JarlContextModel) baseModel;
23          if (propertyName.equals(JarlContextModel.CUSTOM_DIMENSION)) {
24              if (getReuseFrame() && m_frameContext != null) {
25                  m_frameContext = null;
26              }
27          }
28  
29          if (!propertyName.equals(JarlContextModel.RENDERED_IMAGE) ||
30                  jarlContextModel.getRenderedImage() == null) {
31              return;
32          }
33  
34          boolean reuseFrame = getReuseFrame();
35          if (!reuseFrame || m_frameContext == null) {
36              m_frameContext = new RenderedImageViewContext(jarlContextModel, this);
37          } else {
38              m_frameContext.updateImage(jarlContextModel);
39          }
40      }
41  
42      public void detach(RenderedImageViewContext context) {
43          if (context.equals(m_frameContext)) {
44              m_frameContext = null;  //otherwise ignore
45          }
46      }
47  
48      protected boolean getReuseFrame() {
49          ViewPrefModel viewPrefModel = (ViewPrefModel) m_jarlShell.getModel(ViewPrefModel.class.getName());
50          return viewPrefModel.isReuseFrame();
51      }
52  }