1 14 package org.compiere.apps; 15 16 import java.awt.*; 17 import java.awt.event.*; 18 import javax.swing.*; 19 import java.io.*; 20 import java.net.*; 21 22 import org.compiere.model.*; 23 import org.compiere.grid.*; 24 import org.compiere.util.*; 25 import org.compiere.plaf.*; 26 27 33 public class Help extends JDialog implements ActionListener 34 { 35 42 public Help (Frame frame, String title, MWindow mWindow) 43 { 44 super(frame, title, false); 45 try 46 { 47 jbInit(); 48 loadInfo(mWindow); 49 } 50 catch(Exception ex) 51 { 52 Log.error("Help", ex); 53 } 54 AEnv.positionCenterWindow(frame, this); 55 } 57 64 public Help (Frame frame, String title, URL url) 65 { 66 super(frame, title, false); 67 try 68 { 69 jbInit(); 70 info.setPage(url); 71 } 72 catch(Exception ex) 73 { 74 Log.error("Help", ex); 75 } 76 AEnv.positionCenterWindow(frame, this); 77 } 79 86 public Help (Frame frame, String title, String helpHtml) 87 { 88 super(frame, title, false); 89 try 90 { 91 jbInit(); 92 info.setContentType("text/html"); 93 info.setEditable(false); 94 info.setBackground(CompierePLAF.getFieldBackground_Inactive()); 95 info.setText(helpHtml); 96 } 97 catch(Exception ex) 98 { 99 Log.error("Help", ex); 100 } 101 AEnv.positionCenterWindow(frame, this); 102 } 104 105 private JPanel mainPanel = new JPanel(); 106 private BorderLayout mainLayout = new BorderLayout(); 107 private OnlineHelp info = new OnlineHelp(); 108 private JScrollPane infoPane = new JScrollPane(); 109 private ConfirmPanel confirmPanel = new ConfirmPanel(); 110 111 116 void jbInit() throws Exception 117 { 118 mainPanel.setLayout(mainLayout); 119 mainLayout.setHgap(2); 120 mainLayout.setVgap(2); 121 infoPane.setBorder(BorderFactory.createLoweredBevelBorder()); 122 infoPane.setPreferredSize(new Dimension(500, 400)); 123 getContentPane().add(mainPanel); 124 mainPanel.add(infoPane, BorderLayout.CENTER); 125 mainPanel.add(confirmPanel, BorderLayout.SOUTH); 126 infoPane.getViewport().add(info, null); 127 confirmPanel.addActionListener(this); 128 } 130 131 132 136 private void loadInfo(MWindow mWindow) 137 { 138 StringBuffer buffer = new StringBuffer (); 139 buffer.append("<HTML>"); 140 buffer.append("<HEADER><TITLE>" + mWindow.getName() + "</TITLE></HEADER>"); 141 buffer.append("<BODY>"); 142 buffer.append("© Compiere "); 143 buffer.append("<A HREF=\"http://www.compiere.org/help/\">Online Help</A>"); 144 buffer.append("<H1>" + Msg.getMsg(Env.getCtx(), "Window") + ": " + mWindow.getName() + "</H1>"); 146 if (mWindow.getDescription().length() != 0) 147 buffer.append("<P><I>" + mWindow.getDescription() + "</I></P>"); 148 if (mWindow.getHelp().length() != 0) 149 buffer.append("<P>" + mWindow.getHelp() + "</P>"); 150 151 int size = mWindow.getTabCount(); 153 for (int i = 0; i < size; i++) 154 { 155 MTab tab = mWindow.getTab(i); 156 buffer.append("<A HREF=\"#Tab").append(i).append("\">").append(tab.getName()).append("</A> - "); 157 } 158 159 for (int i = 0; i < size; i++) 161 { 162 MTab tab = mWindow.getTab(i); 163 buffer.append("<HR><H2><A NAME=\"Tab").append(i).append("\"><FONT COLOR=green>") 164 .append(Msg.getMsg(Env.getCtx(), "Tab")).append(": ").append(tab.getName()).append("</FONT></A></H2>"); 165 if (tab.getDescription().length() != 0) 166 buffer.append("<P><I>").append(tab.getDescription()).append("</I></P>"); 167 if (tab.getHelp().length() != 0) 168 buffer.append("<P>").append(tab.getHelp()).append("</P>"); 169 170 for (int j = 0; j < tab.getFieldCount(); j++) 172 { 173 MField field = tab.getField(j); 174 String hdr = field.getHeader(); 175 if (hdr != null && hdr.length() > 0) 176 buffer.append("<A HREF=\"#Field").append(i).append(j).append("\">") 177 .append(hdr).append("</A> - "); 178 } 179 180 for (int j = 0; j < tab.getFieldCount(); j++) 182 { 183 MField field = tab.getField(j); 184 String hdr = field.getHeader(); 185 if (hdr != null && hdr.length() > 0) 186 { 187 buffer.append ("<H3><A NAME=\"Field").append (i).append (j) 188 .append ("\"><FONT COLOR=\"#FF0000\">") 189 .append (Msg.getMsg (Env.getCtx (), "Field")) 190 .append (": ").append (hdr) 191 .append ("</FONT></A></H3>"); 192 if (field.getDescription ().length () != 0) 193 buffer.append ("<P><I>").append (field.getDescription ()) 194 .append ("</I></P>"); 195 if (field.getHelp ().length () != 0) 196 buffer.append ("<P>").append (field.getHelp ()) 197 .append ("</P>"); 198 } 199 } 201 } 203 buffer.append("</BODY>"); 205 buffer.append("</HTML>"); 206 207 info.setText(buffer.toString()); 210 } 212 213 214 218 public void actionPerformed(ActionEvent e) 219 { 220 if (e.getActionCommand().equals(ConfirmPanel.A_OK)) 221 dispose(); 222 } 224 } 226 | Popular Tags |