1 9 10 package com.jaspersoft.jasperserver.irplugin; 11 12 import com.jaspersoft.jasperserver.irplugin.gui.RepositoryExplorer; 13 import it.businesslogic.ireport.gui.MainFrame; 14 import it.businesslogic.ireport.util.Misc; 15 import java.awt.BorderLayout ; 16 import java.awt.Component ; 17 import java.awt.event.ActionEvent ; 18 import java.awt.event.ActionListener ; 19 import javax.swing.JPanel ; 20 import javax.swing.border.LineBorder ; 21 import org.flexdock.docking.DockingConstants; 22 import org.flexdock.view.View; 23 24 28 public class DockingUtil { 29 30 public static View view = null; 31 32 public static void installUI(RepositoryExplorer explorer) 33 { 34 if (view == null) 35 { 36 view = createView("JasperServer", "JasperServer", true, true, explorer); 37 } 38 39 boolean visible = false; 40 if (!MainFrame.getMainInstance().getDesktopView().dock(view, DockingConstants.WEST_REGION)) 41 { 42 visible = Misc.dockAt( view, DockingConstants.WEST_REGION, 0); 43 } 44 else 45 { 46 visible = true; 47 org.flexdock.docking.DockingManager.setSplitProportion(view.getComponent(), 0.3f); 48 } 49 50 IRPlugin.getMainInstance().setViewVisible(visible ); 51 } 52 53 57 public static View createView(String id, String text, boolean closable, boolean pin, Component c) { 58 59 View view = new View(id, text); 60 61 if (closable) 62 { 63 view.getTitlebar().addAction(DockingConstants.CLOSE_ACTION); 64 if ( view.getTitlebar().getActionButton(DockingConstants.CLOSE_ACTION) != null) 65 { 66 view.getTitlebar().getActionButton(DockingConstants.CLOSE_ACTION).addActionListener( 67 new ActionListener () 68 { 69 public void actionPerformed(ActionEvent e) 70 { 71 View viewx = (View)javax.swing.SwingUtilities.getAncestorOfClass(View.class, (java.awt.Component )e.getSource()); 72 IRPlugin.getMainInstance().setViewVisible(false); 73 } 74 } 75 ); 76 } 77 } 78 if (pin) view.addAction(DockingConstants.PIN_ACTION); 79 80 81 82 JPanel p = new JPanel (); 83 p.setLayout(new BorderLayout ()); 85 p.setBorder(new LineBorder (java.awt.Color.GRAY, 1)); 86 87 88 p.add(c, BorderLayout.CENTER); 89 90 view.setContentPane(p); 91 return view; 92 93 } 94 95 } 96 | Popular Tags |