/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * DocumentProgressWidget.java * * Created on 22.09.2009, 11:24:40 */ package de.cismet.cismap.commons.gui.progresswidgets; import org.apache.log4j.Logger; import java.awt.Component; import java.awt.event.MouseMotionListener; import javax.swing.plaf.basic.BasicInternalFrameUI; /** * Displays the loading progress of Documents, e.g. SHP Files. * * @author Pascal Dihé * @version $Revision$, $Date$ */ public class DocumentProgressWidget extends javax.swing.JInternalFrame { //~ Instance fields -------------------------------------------------------- protected final Logger logger = Logger.getLogger(this.getClass()); // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JProgressBar progressBar; private javax.swing.JLabel serviceLabel; // End of variables declaration//GEN-END:variables //~ Constructors ----------------------------------------------------------- /** * Creates new form DocumentProgressWidget. */ public DocumentProgressWidget() { // JInternalFrame fixieren, indem alle MouseMotionListener der Statusbar entfernt werden try { final BasicInternalFrameUI fui = (BasicInternalFrameUI)getUI(); final Component north = fui.getNorthPane(); final MouseMotionListener[] listener = (MouseMotionListener[])north.getListeners(MouseMotionListener.class); for (int i = 0; i < listener.length; i++) { north.removeMouseMotionListener(listener[i]); } } catch (Exception e) { logger.error("Fehler beim Entfernen von Mousemotionlisteners", e); } initComponents(); } //~ Methods ---------------------------------------------------------------- /** * DOCUMENT ME! * * @param name DOCUMENT ME! */ public void setServiceName(final String name) { this.serviceLabel.setText(name); } /** * DOCUMENT ME! * * @param progress DOCUMENT ME! */ public void setProgress(final int progress) { if (logger.isDebugEnabled()) { logger.debug("setting progress: " + progress); } if (progress == -1) { this.progressBar.setIndeterminate(true); } else { this.progressBar.setIndeterminate(false); this.progressBar.setValue(progress); } } /** * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The * content of this method is always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { final javax.swing.JPanel mainPanel = new javax.swing.JPanel(); progressBar = new javax.swing.JProgressBar(); final javax.swing.JLabel iconLabel = new javax.swing.JLabel(); serviceLabel = new javax.swing.JLabel(); final javax.swing.JLabel messageLabel = new javax.swing.JLabel(); progressBar.setPreferredSize(new java.awt.Dimension(360, 20)); iconLabel.setIcon(new javax.swing.ImageIcon( getClass().getResource("/de/cismet/cismap/commons/gui/res/blockdevice.png"))); // NOI18N serviceLabel.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N serviceLabel.setText("Service Name"); messageLabel.setText(org.openide.util.NbBundle.getMessage( DocumentProgressWidget.class, "DocumentProgressWidget.messageLabel")); // NOI18N final javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); mainPanel.setLayout(mainPanelLayout); mainPanelLayout.setHorizontalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( mainPanelLayout.createSequentialGroup().addContainerGap().addGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent( progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, 360, javax.swing.GroupLayout.PREFERRED_SIZE).addGroup( mainPanelLayout.createSequentialGroup().addComponent(iconLabel).addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( mainPanelLayout.createSequentialGroup().addComponent(messageLabel).addGap( 51, 51, 51)).addComponent( serviceLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))).addContainerGap())); mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( mainPanelLayout.createSequentialGroup().addContainerGap().addGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false).addGroup( mainPanelLayout.createSequentialGroup().addComponent(serviceLabel).addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(messageLabel)) .addComponent(iconLabel, javax.swing.GroupLayout.Alignment.TRAILING)).addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent( progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(20, Short.MAX_VALUE))); getContentPane().add(mainPanel, java.awt.BorderLayout.CENTER); pack(); } // </editor-fold>//GEN-END:initComponents }