| Home >> All >> com >> arranger >> jarl >> shell >> [ views Javadoc ] |
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 }