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/JarlObjectView.java


1   package com.arranger.jarl.shell.views;
2   
3   import com.arranger.jarl.Jarl;
4   import com.arranger.jarl.shell.models.BaseModel;
5   import com.arranger.jarl.shell.models.JarlContextModel;
6   import com.arranger.jarl.shell.models.ViewPrefModel;
7   
8   import javax.swing.*;
9   import javax.swing.tree.TreeNode;
10  import java.awt.*;
11  
12  /**
13   * JarlObjectView is going to create a new view everytime the {@link JarlContextModel#INITIALIZED} is fired
14   */
15  public class JarlObjectView extends BaseView {
16  
17      protected static final int DEFAULT_WIDTH = 200;
18      protected static final int DEFAULT_HEIGHT = 300;
19  
20      protected JarlShellFrame m_jarlShellFrame;
21      protected TreeNode m_jarlRootNode;
22  
23      public String[] getModelsToSubscribe() {
24          return new String[]{JarlContextModel.class.getName()};
25      }
26  
27      public void onChange(BaseModel baseModel, String propertyName) {
28          if (!propertyName.equals(JarlContextModel.INITIALIZED)) {
29              return;
30          }
31  
32          JarlContextModel jarlContextModel = (JarlContextModel) baseModel;
33          ViewPrefModel viewPrefModel = (ViewPrefModel) m_jarlShell.getModel(ViewPrefModel.class.getName());
34          if (!viewPrefModel.isShowJarlObjTree()) {
35              return;
36          }
37  
38          m_jarlRootNode = buildTree(jarlContextModel);
39          JTree jTree = new JTree(m_jarlRootNode);
40          jTree.setRowHeight(30);
41          jTree.setCellRenderer(new JarlTreeCellRenderer());
42          JScrollPane jScrollPane = new JScrollPane();
43          jScrollPane.setBounds(20, 20, 200, 300);
44          jScrollPane.getViewport().add(jTree, BorderLayout.CENTER);
45  
46          m_jarlShellFrame = JarlShellFrame.createJarlShellFrame(m_jarlShell, jScrollPane,
47                  DEFAULT_WIDTH, DEFAULT_HEIGHT, jarlContextModel.getCurrentConfig());
48  
49          m_jarlShellFrame.setResizable(true);
50          m_jarlShellFrame.setVisible(true);
51          m_jarlShellFrame.show();
52      }
53  
54      protected TreeNode buildTree(JarlContextModel jarlContextModel) {
55          Jarl jarl = jarlContextModel.getJarl();
56          return JarlObjectViewTree.createTree(jarl);
57      }
58  }