+++ /dev/null
-
-import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
-import java.net.URL;
-import java.net.*;
-import java.io.*;
-import com.easysw.cups.*;
-
-public class GLPprinterDetail
-{
-
- private CupsPrinter printer = null;
- private JScrollPane scrollPane = null;
- private JPanel mainPanel = null;
-
-
- // Constructor
- public GLPprinterDetail( CupsPrinter cp )
- {
- printer = cp;
- load();
- }
-
- public void load()
- {
- mainPanel = new JPanel();
- mainPanel = printerInfoPanel( printer );
- }
-
-
-
- // -----------------------------------------------------------
- //
- // Build an info panel for an individual printer.
- //
- private JPanel printerInfoPanel( CupsPrinter cp )
- {
- JPanel printerPanel = new JPanel();
- BoxLayout printerBox;
-
- JPanel leftHeader = new JPanel();
- JPanel rightHeader = new JPanel();
-
- JPanel leftPane = new JPanel();
- JPanel rightPane = new JPanel();
-
- GridBagLayout leftLayout = new GridBagLayout();
- GridBagLayout rightLayout = new GridBagLayout();
-
- GridBagConstraints leftConst = new GridBagConstraints();
- GridBagConstraints rightConst = new GridBagConstraints();
-
-
- JLabel printerIconLabel = null;
- JLabel printerInfoLabel = null;
- JLabel printerNameLabel = null;
- JLabel printerMakeLabel = null;
-
- JTable printerStatusTable = null;
-
- printerBox = new BoxLayout(printerPanel, BoxLayout.X_AXIS);
- printerPanel.setLayout(printerBox);
- printerPanel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
- printerPanel.setBackground(GLPcolors.backgroundColor);
-
- // Add border around the panel.
-
-
- // ------------------------------------------------------------
- // Left pane
- // ------------------------------------------------------------
- leftPane.setLayout(leftLayout);
- leftPane.setBackground(GLPcolors.backgroundColor);
-
- leftHeader.setLayout(new BorderLayout());
- leftHeader.setBackground(GLPcolors.highlightColor);
- leftHeader.setBorder(BorderFactory.createEmptyBorder(3,3,3,3));
-
- printerNameLabel = new JLabel(cp.getPrinterName());
- printerNameLabel.setForeground(Color.black);
- leftHeader.add( printerNameLabel, BorderLayout.WEST);
- leftConst.gridwidth = GridBagConstraints.RELATIVE;
- leftConst.gridx = 0;
- leftConst.gridy = 0;
- leftConst.fill = GridBagConstraints.HORIZONTAL;
- leftConst.weightx = 0.0;
- leftConst.weighty = 0.0;
- leftConst.ipady = 4;
- leftLayout.setConstraints( leftHeader, leftConst );
- leftPane.add(leftHeader);
-
- String imageName = "./images/printer-" +
- cp.getStateText() + ".gif";
- JButton printerButton;
- try
- {
- URL iconURL = ClassLoader.getSystemResource(imageName);
- ImageIcon icon = new ImageIcon(iconURL);
- printerButton = new JButton( "<html><center><b>" +
- cp.getPrinterName() +
- "</b></center></html>",
- icon );
- }
- catch (NullPointerException e)
- {
- printerButton = new JButton( "<html><center><b>" +
- cp.getPrinterName() +
- "</b></center></html>");
- }
- printerButton.setBorder(BorderFactory.createEmptyBorder(3,3,3,3));
- printerButton.setBackground(GLPcolors.backgroundColor);
- printerButton.setActionCommand( cp.getPrinterName() );
- // printerButton.addActionListener(this);
- printerButton.setToolTipText("Click to go to " + cp.getPrinterName() +
- "'s extended informtion page.");
-
- leftConst.gridwidth = GridBagConstraints.REMAINDER;
- leftConst.gridx = 0;
- leftConst.gridy = 1;
- leftConst.fill = GridBagConstraints.BOTH;
- leftConst.weightx = 1.0;
- leftConst.weighty = 1.0;
- leftConst.ipady = 4;
- leftLayout.setConstraints( printerButton, leftConst );
- leftPane.add(printerButton);
-
-
- // ------------------------------------------------------------
- // Right pane
- // ------------------------------------------------------------
- rightPane.setLayout(rightLayout);
- rightPane.setBackground(GLPcolors.backgroundColor);
-
- rightHeader.setLayout(new BorderLayout());
- rightHeader.setBackground(GLPcolors.highlightColor);
- rightHeader.setBorder(BorderFactory.createEmptyBorder(3,3,3,3));
-
- printerMakeLabel = new JLabel(cp.getMakeAndModel());
- printerMakeLabel.setForeground(Color.black);
- rightHeader.add( printerMakeLabel, BorderLayout.WEST);
-
- rightConst.gridwidth = GridBagConstraints.RELATIVE;
- rightConst.gridx = 0;
- rightConst.gridy = 0;
- rightConst.fill = GridBagConstraints.HORIZONTAL;
- rightConst.weightx = 0.0;
- rightConst.weighty = 0.0;
- rightConst.ipady = 4;
- rightLayout.setConstraints( rightHeader, rightConst );
- rightPane.add(rightHeader);
-
-
- Font labelFont = new Font("Serif",Font.BOLD, 12 );
- // Font textFont = new Font("Serif", Font.NORMAL, 12 );
- Font messageFont = new Font("Serif", Font.ITALIC, 12 );
-
- JLabel pdServerLabel = new JLabel("Server");
- JLabel pdNameLabel = new JLabel("Name");
- JLabel pdLocationLabel = new JLabel("Location");
- JLabel pdStatusLabel = new JLabel("Status");
- JLabel pdMessageLabel = new JLabel("Message");
-
- JLabel pdServerText = new JLabel(GLPvars.cupsServerName);
- JLabel pdNameText = new JLabel(cp.getPrinterName());
- JLabel pdLocationText = new JLabel(cp.getLocation());
- JLabel pdStatusText = new JLabel(cp.getStateText());
- JLabel pdMessageText = new JLabel(cp.getStateReasons());
-
- pdServerLabel.setFont(labelFont);
- pdNameLabel.setFont(labelFont);
- pdLocationLabel.setFont(labelFont);
- pdStatusLabel.setFont(labelFont);
- pdMessageLabel.setFont(labelFont);
- pdMessageText.setFont(messageFont);
-
- pdServerLabel.setForeground(Color.black);
- pdNameLabel.setForeground(Color.black);
- pdLocationLabel.setForeground(Color.black);
- pdStatusLabel.setForeground(Color.black);
- pdMessageLabel.setForeground(Color.black);
-
-
- JPanel tablePane;
- if ((cp.getStateReasons().length() > 0) &&
- (!cp.getStateReasons().equals("none")))
- {
- tablePane = new JPanel(new GridLayout(5,2,2,2));
- tablePane.add(pdServerLabel);
- tablePane.add(pdServerText);
-
- tablePane.add(pdNameLabel);
- tablePane.add(pdNameText);
-
- tablePane.add(pdLocationLabel);
- tablePane.add(pdLocationText);
-
- tablePane.add(pdStatusLabel);
- tablePane.add(pdStatusText);
-
- tablePane.add(pdMessageLabel);
- tablePane.add(pdMessageText);
- }
- else
- {
- tablePane = new JPanel(new GridLayout(4,2,2,2));
- tablePane.add(pdServerLabel);
- tablePane.add(pdServerText);
-
- tablePane.add(pdNameLabel);
- tablePane.add(pdNameText);
-
- tablePane.add(pdLocationLabel);
- tablePane.add(pdLocationText);
-
- tablePane.add(pdStatusLabel);
- tablePane.add(pdStatusText);
-
- }
- tablePane.setBackground(GLPcolors.backgroundColor);
-
- // printerStatusTable.setShowGrid(false);
- rightConst.gridwidth = GridBagConstraints.REMAINDER;
- rightConst.gridx = 0;
- rightConst.gridy = 1;
- rightConst.fill = GridBagConstraints.BOTH;
- rightConst.weightx = 1.0;
- rightConst.weighty = 1.0;
- rightConst.ipady = 4;
- rightLayout.setConstraints( tablePane, rightConst );
- rightPane.add(tablePane);
-
- printerPanel.add(leftPane);
- printerPanel.add(rightPane);
-
- return(printerPanel);
- }
-
-
- public JPanel getPanel()
- {
- return(mainPanel);
- }
-}