|
From: Dan C. <cor...@us...> - 2010-01-10 11:49:06
|
Update of /cvsroot/jcommander/plugins/org.jcommander.ui.filepanel/src/org/jcommander/ui/filepanel/model In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv2040/src/org/jcommander/ui/filepanel/model Modified Files: FileControlModel.java Added Files: IFileControlModelListener.java Log Message: Temporary workaround: do not use SWT.VIRTUAL and the --- NEW FILE: IFileControlModelListener.java --- package org.jcommander.ui.filepanel.model; public interface IFileControlModelListener { void contentChanged(); } Index: FileControlModel.java =================================================================== RCS file: /cvsroot/jcommander/plugins/org.jcommander.ui.filepanel/src/org/jcommander/ui/filepanel/model/FileControlModel.java,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -d -r1.58 -r1.59 *** FileControlModel.java 6 Aug 2006 10:33:25 -0000 1.58 --- FileControlModel.java 10 Jan 2010 11:48:56 -0000 1.59 *************** *** 7,24 **** package org.jcommander.ui.filepanel.model; ! import java.text.*; ! import java.util.*; ! import org.apache.commons.vfs.*; ! import org.apache.log4j.*; ! import org.eclipse.jface.resource.*; ! import org.eclipse.jface.viewers.deferred.*; ! import org.eclipse.swt.graphics.*; ! import org.eclipse.swt.program.*; ! import org.eclipse.swt.widgets.*; ! import org.jcommander.ui.filepanel.*; ! import org.jcommander.ui.filepanel.controls.*; ! import org.jcommander.ui.utils.*; ! import org.jcommander.vfsextensions.*; /** --- 7,40 ---- package org.jcommander.ui.filepanel.model; ! import java.text.DateFormat; ! import java.util.Date; ! import java.util.Enumeration; ! import java.util.HashMap; ! import java.util.Hashtable; ! import java.util.Iterator; ! import java.util.LinkedList; ! import java.util.List; ! import java.util.Vector; ! import org.apache.commons.vfs.Capability; ! import org.apache.commons.vfs.FileObject; ! import org.apache.commons.vfs.FileSystemException; ! import org.apache.commons.vfs.FileType; ! import org.apache.log4j.Logger; ! import org.eclipse.jface.resource.ImageRegistry; ! import org.eclipse.swt.graphics.Color; ! import org.eclipse.swt.graphics.Image; ! import org.eclipse.swt.graphics.ImageData; ! import org.eclipse.swt.program.Program; ! import org.eclipse.swt.widgets.Display; ! import org.jcommander.ui.filepanel.FilePanelPlugin; ! import org.jcommander.ui.filepanel.TabMediator; ! import org.jcommander.ui.filepanel.controls.FileTableControl; ! import org.jcommander.ui.filepanel.controls.MarkerInfo; ! import org.jcommander.ui.utils.FixedSizeQueue; ! import org.jcommander.ui.utils.FormatUtils; ! import org.jcommander.ui.utils.ImageBroker; ! import org.jcommander.ui.utils.MessageDisplayer; ! import org.jcommander.vfsextensions.VfsManagerExtension; /** *************** *** 27,31 **** * This is the model for the file control. */ ! public class FileControlModel extends SetModel{ Logger logger = Logger.getLogger(getClass()); --- 43,47 ---- * This is the model for the file control. */ ! public class FileControlModel { Logger logger = Logger.getLogger(getClass()); *************** *** 35,43 **** private static final int MAX_NAVIGATION_HISTORY_SIZE = 20; protected Hashtable markedContents; protected Hashtable highlightedContents; protected FileObject currentParent; protected FileObject[] contents; ! protected FileDetails[] sortedDetails; /** Should this be made static? */ --- 51,63 ---- private static final int MAX_NAVIGATION_HISTORY_SIZE = 20; + /** + * A list of {@link IFileControlModelListener} + */ + protected List listeners = new LinkedList(); protected Hashtable markedContents; protected Hashtable highlightedContents; protected FileObject currentParent; protected FileObject[] contents; ! protected FileDetails[] sortedDetails = new FileDetails[]{}; /** Should this be made static? */ *************** *** 599,603 **** entered = 0; ! set(sortedDetails); } } --- 619,623 ---- entered = 0; ! fireContentChanged(sortedDetails); } } *************** *** 626,630 **** ((FileDetails)sortedDetails[index]).getDetails()[FileTableControl.FLAG_COLUMN] = flag; } ! set(sortedDetails); } --- 646,650 ---- ((FileDetails)sortedDetails[index]).getDetails()[FileTableControl.FLAG_COLUMN] = flag; } ! fireContentChanged(sortedDetails); } *************** *** 644,648 **** } entered++; ! set(sortedDetails); } } --- 664,668 ---- } entered++; ! fireContentChanged(sortedDetails); } } *************** *** 752,756 **** } ! set(sortedDetails); } --- 772,776 ---- } ! fireContentChanged(sortedDetails); } *************** *** 772,784 **** } } ! set(sortedDetails); } - public void requestUpdate(IConcurrentModelListener listener) { - - - super.requestUpdate(listener); - } - public FileTableControl getControl() { return control; --- 792,798 ---- } } ! fireContentChanged(sortedDetails); } public FileTableControl getControl() { return control; *************** *** 899,902 **** return sortedContents; } ! } \ No newline at end of file --- 913,939 ---- return sortedContents; } ! ! private void fireUpdate(FileObject[] files) { ! // TODO Auto-generated method stub ! } ! ! private void fireContentChanged(FileDetails[] sortedDetails) { ! Iterator it = listeners.iterator(); ! while (it.hasNext()) { ! IFileControlModelListener listener = (IFileControlModelListener) it.next(); ! listener.contentChanged(); ! } ! } ! ! public FileDetails[] getElements() { ! return sortedDetails; ! } ! ! public void addListener(IFileControlModelListener controlModelListener) { ! this.listeners.add(controlModelListener); ! } ! ! public void removeListener(IFileControlModelListener controlModelListener) { ! this.listeners.remove(controlModelListener); ! } } \ No newline at end of file |