Package com.pegaa.uploader.ui.filelist

Source Code of com.pegaa.uploader.ui.filelist.FileList

/*
* FileList.java
*
* Created on 12 Haziran 2008 Perşembe, 21:12
*/

package com.pegaa.uploader.ui.filelist;

import com.pegaa.uploader.common.CustomGridLayout;
import com.pegaa.uploader.ui.fileselection.EmptyListMessage;
import com.pegaa.uploader.common.StackLayout;
import com.pegaa.uploader.config.ConfigHolder;
import com.pegaa.uploader.event.FileListingListener;
import com.pegaa.uploader.ui.filelist.item.ListItemUI;
import java.io.File;
import javax.swing.JPanel;

/**
*
* @author  tayfun
*/
public class FileList extends javax.swing.JPanel implements FileListingListener{
   
    private JPanel fileList = null;
    private EmptyListMessage emptyListMessage = null;
    private StackLayout layout = null;
    private ConfigHolder configHolder = null;
   
    /* actual file lister object, find files and adds them to the UI
     *
     */
    private FileLister fileLister = null;
   
    /* Loads thumb images of original images if mode is image mode */
    //private ThumbLoaderThread thumbLoaderThread = null;
    private boolean canList = true;
      
   
    /** Creates new form ListContainer */
    public FileList() {
        initComponents();
        updateComponents();
    }
   
    /**
     *      Sets the internal configHolder, we use this function to pass configHolder
     * because Netbeans IDE does not let you to use gui components in visual editor
     * which has different constructors. At least i could not find any other way.
     *
     * @param configHolder
     */
    public void setConfigHolder(ConfigHolder configHolder)
    {
        this.configHolder = configHolder;
        this.fileLister = new FileLister(this.configHolder, this.fileList, this);
        //this.thumbLoaderThread = new ThumbLoaderThread();
        initFileList();
    }
   
    private void initFileList()
    {
        updateComponents();
        updateStrings();
        initListeners();       
    }
   
    private void initListeners()
    {
        this.fileLister.addFileListingListener(this);
    }
   
    private void updateComponents()
    {
        this.layout = new StackLayout();
       
        this.setLayout(this.layout);
       
        this.fileList = new JPanel();
        fileList.setLayout(new CustomGridLayout(165, 145));
       
        this.add(this.fileList);
       
        this.emptyListMessage = new EmptyListMessage();
        this.add(this.emptyListMessage);
       
        this.layout.showComponent(this.emptyListMessage, this);
       
    }
    
    /**
     *     Updates the strings provided by Lan object
     */
    private void updateStrings()
    {
        this.emptyListMessage.setText("", "");
    }
   
    /**
     *  Selects all files from the active directory
     *
     */
    public void selectAll(){
        this.fileLister.selectAll();
    }
   
    /**
     *  Removes all selected files
     */
    public void removeAllSelected(){
        this.fileLister.removeAllSelected();
    }
   
    /**
     *      Request to list directory
     *
     * @param dir
     */
    public void listDirectory(File dir)
    {   
         this.fileList.removeAll();
         this.fileLister.listDirectory(dir);
    }
   
    /**
     *      is currently available for list dir.
     *
     * @return
     */
    public boolean isCanList()
    {
        return this.canList;
    }
   
    /**
     * Handler of directory listing finished event.
     *
     * @param count listed file count
     */
    public void listingFinished(int filecount) {
        this.canList = true;
        if(filecount == 0)
        {
            this.layout.showComponent(this.emptyListMessage, this);
        }else{
            this.layout.showComponent(fileList, this);
        }
        this.fileList.revalidate();
        this.fileList.repaint();
    }

    /**
     *  Handler of directory listing started event
     */
    public void listingStarted() {
        this.canList = false;
    }  
   
    /**
     *     Invoked when a file's itemUI added by the lister thread.
     *
     * @param c
     */
    public void listItemAdded(ListItemUI c) {
        this.fileList.add(c);
   
   
   
    /** 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.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(1)
            //.addGap(0, 515, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(1)
            //.addGap(0, 293, Short.MAX_VALUE)
        );
    }// </editor-fold>//GEN-END:initComponents

   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    // End of variables declaration//GEN-END:variables
   
}
TOP

Related Classes of com.pegaa.uploader.ui.filelist.FileList

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.