Revision 25065

View differences:

branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/LayoutRedoExtension.java
77 77
	public boolean isEnabled() {
78 78
		if (PluginServices.getMDIManager().getActiveWindow() instanceof Layout){
79 79
			Layout layout=(Layout)PluginServices.getMDIManager().getActiveWindow();
80
			if (layout.getLayoutContext().getFrameCommandsRecord().moreRedoCommands() && layout.getLayoutContext().isEditable())
80
			if (layout.getLayoutContext().getFrameCommandsRecord().canRedo() && layout.getLayoutContext().isEditable())
81 81
			return true;
82 82
		}
83 83
		return false;
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/UndoTableExtension.java
43 43
import org.gvsig.fmap.dal.exception.DataException;
44 44
import org.gvsig.fmap.dal.feature.FeatureStore;
45 45
import org.gvsig.project.document.table.gui.FeatureTableDocumentPanel;
46
import org.gvsig.tools.undo.UndoException;
46 47

  
47 48
import com.iver.andami.PluginServices;
48 49
import com.iver.andami.messages.NotificationManager;
......
84 85
					fs.getFeatureSelection().deselectAll();
85 86
				} catch (DataException e) {
86 87
					NotificationManager.addError(e);
88
				} catch (UndoException e) {
89
					NotificationManager.addError(e);
87 90
				}
88 91

  
89 92
			}
......
104 107
				if (fs==null) {
105 108
					return false;
106 109
				}
107
				try {
108
					return fs.getCommandsRecord().canUndo();
109
				} catch (DataException e) {
110
					// TODO Auto-generated catch block
111
					e.printStackTrace();
112
				}
110
				return fs.canUndo();
113 111
			}
114 112

  
115 113
		//}
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/RedoTableExtension.java
43 43
import org.gvsig.fmap.dal.exception.DataException;
44 44
import org.gvsig.fmap.dal.feature.FeatureStore;
45 45
import org.gvsig.project.document.table.gui.FeatureTableDocumentPanel;
46
import org.gvsig.tools.undo.RedoException;
46 47

  
47 48
import com.iver.andami.PluginServices;
48 49
import com.iver.andami.messages.NotificationManager;
......
85 86
					fs.getFeatureSelection().deselectAll();
86 87
				} catch (DataException e) {
87 88
					NotificationManager.addError(e);
89
				} catch (RedoException e) {
90
					// TODO Auto-generated catch block
91
					e.printStackTrace();
88 92
				}
89
				//tabla.refresh();
90 93
			}
91 94
			tabla.getModel().setModified(true);
92 95
		}
......
105 108
			if (fs==null) {
106 109
				return false;
107 110
			}
108
			try {
109
				return fs.getCommandsRecord().canRedo();
110
			} catch (DataException e) {
111
				// TODO Auto-generated catch block
112
				e.printStackTrace();
113
			}
111
			return fs.canRedo();
114 112
		}
115 113

  
116 114
		//}
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/vectorialdb/DlgConnection.java
52 52
import javax.swing.JOptionPane;
53 53
import javax.swing.JPanel;
54 54

  
55
import org.gvsig.fmap.dal.DALLocator;
55 56
import org.gvsig.fmap.dal.DataManager;
56 57
import org.gvsig.gui.beans.AcceptCancelPanel;
57 58

  
......
112 113
        this.setTitle(PluginServices.getText(this, "database_connection"));
113 114
        this.setContentPane(getJContentPane());
114 115
        setPreferences();
115
        DataManager dm=DataManager.getManager();
116
        String[] explorers=dm.getRegistersExplorers();
116
        DataManager dm= DALLocator.getDataManager();
117
        String[] explorers=(String[])dm.getExplorerProviders().toArray(new String[0]);
117 118
        jConnPanel.setDrivers(explorers);
118 119
    }
119 120

  
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/vectorialdb/DBResourceManager.java
30 30
 */
31 31
package com.iver.cit.gvsig.vectorialdb;
32 32

  
33
import org.gvsig.fmap.data.DataManager;
34
import org.gvsig.fmap.data.InitializeException;
35
import org.gvsig.fmap.data.Resource;
36
import org.gvsig.fmap.data.ResourceManager;
37
import org.gvsig.fmap.data.ResourceNotification;
38
import org.gvsig.fmap.data.feature.db.DBExplorer;
33
import org.gvsig.fmap.dal.DALLocator;
34
import org.gvsig.fmap.dal.DataManager;
35
import org.gvsig.fmap.dal.exception.InitializeException;
36
import org.gvsig.fmap.dal.resource.Resource;
37
import org.gvsig.fmap.dal.resource.ResourceManager;
38
import org.gvsig.fmap.dal.resource.ResourceNotification;
39 39
import org.gvsig.fmap.data.feature.db.DBExplorerParameters;
40 40
import org.gvsig.fmap.data.feature.db.DBParameters;
41 41
import org.gvsig.fmap.data.feature.db.jdbc.JDBCResource;
......
56 56
			return;
57 57
		}
58 58
		ResourceNotification resNot = (ResourceNotification) notification;
59
		if (!resNot.getType().equals(ResourceNotification.BEGIN_OPEN)){
59
		if (!resNot.getType().equals(ResourceNotification.PREPARE)){
60 60
			return;
61 61
		}
62 62
		if (!(resNot.getResource() instanceof JDBCResource)){
......
86 86
	}
87 87

  
88 88
	private JDBCResource getResource(DBExplorerParameters explorerParameters) {
89
		ResourceManager rManager = DataManager.getResourceManager();
89
		ResourceManager rManager = DALLocator.getResourceManager();
90 90
		Resource res;
91 91

  
92 92

  
......
95 95
	}
96 96

  
97 97
	private JDBCResource getResource(DBParameters storeParameters) {
98
		ResourceManager rManager = DataManager.getResourceManager();
98
		ResourceManager rManager = DALLocator.getResourceManager();
99 99

  
100 100
		return null;
101 101
	}
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/vectorialdb/ConnectionPanel.java
16 16
import javax.swing.JTextField;
17 17
import javax.swing.SwingConstants;
18 18

  
19
import org.gvsig.fmap.dal.DALLocator;
19 20
import org.gvsig.fmap.dal.DataManager;
20 21
import org.gvsig.fmap.dal.exception.InitializeException;
22
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
21 23
import org.gvsig.fmap.data.feature.db.DBParameters;
22 24

  
23 25
import com.iver.andami.PluginServices;
......
462 464
            cmbDriver.addActionListener(new ActionListener() {
463 465
                public void actionPerformed(ActionEvent e) {
464 466
                    String driverName = cmbDriver.getSelectedItem().toString();
465
                    DataManager dm = DataManager.getManager();
467
                    DataManager dm = DALLocator.getDataManager();
466 468
                    DBParameters dsp=null;
467 469
					try {
468
						dsp = (DBParameters)dm.createDataStoreParameters(driverName);
470
						dsp = (DBParameters)dm.createStoreParameters(driverName);
469 471
					} catch (InitializeException e1) {
470 472
						// TODO Auto-generated catch block
471 473
						e1.printStackTrace();
474
					} catch (ProviderNotRegisteredException e1) {
475
						// TODO Auto-generated catch block
476
						e1.printStackTrace();
472 477
					}
473 478

  
474 479
                    String port=dsp.getPort();
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/vectorialdb/ConnectionSettings.java
1 1
package com.iver.cit.gvsig.vectorialdb;
2 2

  
3
import org.gvsig.fmap.dal.DALLocator;
3 4
import org.gvsig.fmap.dal.DataManager;
4 5
import org.gvsig.fmap.dal.exception.InitializeException;
6
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
5 7
import org.gvsig.fmap.data.feature.db.DBParameters;
6 8

  
7 9

  
......
77 79
        this.passw = passw;
78 80
    }
79 81
    public String getConnectionString(){
80
    	DataManager dm=DataManager.getManager();
82
    	DataManager dm=DALLocator.getDataManager();
81 83
    	try {
82
			DBParameters dsp=(DBParameters)dm.createDataStoreParameters(getDriver());
84
			DBParameters dsp=(DBParameters)dm.createStoreParameters(getDriver());
83 85
		} catch (InitializeException e) {
84 86
			// TODO Auto-generated catch block
85 87
			e.printStackTrace();
88
		} catch (ProviderNotRegisteredException e) {
89
			// TODO Auto-generated catch block
90
			e.printStackTrace();
86 91
		}
87 92

  
88 93
        String connectionString = "";//vecDriver.getConnectionStringBeginning() + "//" + getHost();
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/table/gui/tablemodel/ColumnModel.java
5 5
import javax.swing.table.DefaultTableColumnModel;
6 6
import javax.swing.table.TableColumn;
7 7

  
8
import org.gvsig.project.document.table.FeatureTableDocument;
9

  
8 10
import com.iver.andami.messages.NotificationManager;
9 11

  
10 12
public class ColumnModel extends DefaultTableColumnModel{
11
	private ProjectTable pt;
12
	public ColumnModel(ProjectTable pt) {
13
	private FeatureTableDocument pt;
14
	public ColumnModel(FeatureTableDocument pt) {
13 15
		this.pt = pt;
14 16
	}
15 17

  
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/LayoutUndoExtension.java
77 77
	public boolean isEnabled() {
78 78
		if (PluginServices.getMDIManager().getActiveWindow() instanceof Layout){
79 79
			Layout layout=(Layout)PluginServices.getMDIManager().getActiveWindow();
80
			if (layout.getLayoutContext().getFrameCommandsRecord().moreUndoCommands() && layout.getLayoutContext().isEditable())
80
			if (layout.getLayoutContext().getFrameCommandsRecord().canUndo() && layout.getLayoutContext().isEditable())
81 81
				return true;
82 82
		}
83 83
		return false;
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/gui/command/CommandStackDialog.java
17 17
import javax.swing.table.DefaultTableCellRenderer;
18 18
import javax.swing.table.TableColumn;
19 19

  
20
import org.gvsig.fmap.dal.feature.impl.commands.implementation.FeatureDeleteCommand;
21
import org.gvsig.fmap.dal.feature.impl.commands.implementation.FeatureInsertCommand;
20
import org.gvsig.fmap.dal.feature.impl.undo.command.FeatureDeleteCommand;
21
import org.gvsig.fmap.dal.feature.impl.undo.command.FeatureInsertCommand;
22 22
import org.gvsig.gui.beans.DefaultBean;
23 23
import org.gvsig.tools.observer.Observable;
24 24
import org.gvsig.tools.observer.Observer;
25
import org.gvsig.tools.undo.UndoRedoStack;
25 26

  
26 27
import com.iver.andami.PluginServices;
27 28
import com.iver.andami.ui.mdiManager.IWindowListener;
......
32 33

  
33 34
	private JTable jTable = null;
34 35
	private JPanel jPanel = null;
35
	private CommandsRecord cr;
36
	private UndoRedoStack undoRedoStack;
36 37
	private JSlider jSlider = null;
37 38
	//private int itemCount;
38 39
	private int lowLimit;
......
49 50
	private static final ImageIcon idel = PluginServices.getIconTheme()
50 51
		.get("edition-del-command");
51 52

  
53
	private MyModel mymodel = null;
52 54
	/**
53 55
	 * This is the default constructor
54 56
	 */
......
59 61
		initialize();
60 62
		//System.err.println("Identificaci�n del objeto en constructor = "+ cr.toString());
61 63
	}
62
	public void setModel(CommandsRecord cr1){
64
	public void setModel(UndoRedoStack cr1){
63 65
//		System.err.println("Identificaci�n del objeto en setModel = "+ cr1.toString());
64
		if (this.cr!= null && this.cr.equals(cr1)) {
66
		if (this.undoRedoStack!= null && this.undoRedoStack.equals(cr1)) {
65 67
			return;
66 68
		}
67
		this.cr=cr1;
68
		this.cr.addObserver(this);
69
		this.undoRedoStack=cr1;
70
		this.undoRedoStack.addObserver(this);
69 71
		initTable();
70 72
		initSlider();
71
		currentValue=cr.size()-cr.getUndoCommands().size();
73
		currentValue=mymodel.getPos();
72 74
    	refreshControls();
73 75
		//refreshSlider(cr.getCommandCount());
74 76
		refreshScroll();
......
100 102
		return jTable;
101 103
	}
102 104
	private void initTable(){
103
		MyModel mymodel=new MyModel(cr);
105
		mymodel=new MyModel(undoRedoStack);
104 106
		jTable.setModel(mymodel);
105 107
		jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
106 108
		jTable.setSelectionBackground(Color.orange);
......
126 128
			            }else{
127 129
			            	label.setIcon(imodify);
128 130
			            }
129
			         if (CommandStackDialog.this.cr.getPointer()<row){
131
			         if (mymodel.getPos()<row){
130 132
			        	 label.setBackground(Color.lightGray);
131 133
			         }else {
132 134
			        	/* if (cr.getPos()==row){
......
142 144
		jTable.addMouseListener(new java.awt.event.MouseAdapter() {
143 145
			public void mousePressed(java.awt.event.MouseEvent e) {
144 146
				int newpos=jTable.getSelectedRow();
145
				CommandStackDialog.this.cr.setPointer(newpos);
147
				mymodel.setPos(newpos);
146 148
				PluginServices.getMainFrame().enableControls();
147 149
			}
148 150
		});
......
184 186
	 * @see com.iver.cit.gvsig.fmap.edition.commands.CommandListener#executeCommand(com.iver.cit.gvsig.fmap.edition.commands.CommandEvent)
185 187
	 */
186 188
	public void commandRepaint() {
187
		setValue(cr.size()-1-cr.getPointer(),true);
189
		setValue(mymodel.getPos(),true);
188 190
		refreshScroll();
189 191
	}
190 192
	private void refreshScroll(){
191 193
		Dimension size=new Dimension(jSlider.getPreferredSize().width,((getTable().getRowCount())*getTable().getRowHeight()));
192 194
		JScrollBar verticalScrollBar=getJScrollPane().getVerticalScrollBar();//ove(size.width,size.height);
193
		verticalScrollBar.setValue(cr.getPointer()*getTable().getRowHeight());
195
		verticalScrollBar.setValue(mymodel.getPos()*getTable().getRowHeight());
194 196
		jSlider.setPreferredSize(size);
195 197
		jSlider.setSize(size);
196 198
		validateTree();
......
218 220

  
219 221

  
220 222
				public void stateChanged(javax.swing.event.ChangeEvent e) {
221
					int value = (int) (getJSlider().getValue() * cr.size() * 0.01);
223
					int value = (int) (getJSlider().getValue() * mymodel.getRowCount() * 0.01);
222 224
                   	if (!refreshing) {
223
						cr.setPointer(cr.size()-1-value);
225
						mymodel.setPos(mymodel.getRowCount()-1-value);
224 226
						//System.out.println("setPos = "+(cr.getCommandCount()-1-value));
225 227
					}
226 228
			    }
227 229
    		});
228
    	setValue(cr.size()-1-cr.getPointer(),true);
230
    	setValue(mymodel.getRowCount()-1-mymodel.getPos(),true);
229 231
	}
230 232
    public void setValue(int number, boolean fireEvent) {
231
        if (number < lowLimit) {
233
        int rowCount=mymodel.getRowCount();
234
    	if (number < lowLimit) {
232 235
			number = lowLimit;
233 236
		}
234
        if (number > cr.size()) {
235
			number = cr.size();
237
        if (number > rowCount) {
238
			number = rowCount;
236 239
		}
237 240
        if (number != currentValue) {
238 241
        	currentValue = number;
......
241 244
				callValueChanged(new Integer(currentValue));
242 245
			}
243 246
        }
244
        int selpos=cr.size()-1-number;
247
        int selpos=rowCount-1-number;
245 248
        if (selpos>=0){
246 249
       	 getTable().setRowSelectionInterval(selpos,selpos);
247 250
        } else {
......
252 255
     * Refreshes all the mutable controls in this component.
253 256
     */
254 257
    private void refreshControls() {
255
    	int normalizedValue = (int) ((currentValue / (float) cr.size())*100);
258
    	int normalizedValue = (int) ((currentValue / (float) mymodel.getRowCount())*100);
256 259
		refreshSlider(normalizedValue);
257 260
	}
258 261
    /**
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/gui/command/MyModel.java
2 2

  
3 3
import javax.swing.table.AbstractTableModel;
4 4

  
5
import org.gvsig.tools.undo.RedoException;
6
import org.gvsig.tools.undo.UndoException;
7
import org.gvsig.tools.undo.UndoRedoStack;
5 8
import org.gvsig.tools.undo.command.Command;
6 9

  
7 10

  
8 11
public class MyModel extends AbstractTableModel{
9
private CommandsRecord cr;
10

  
11
public MyModel(CommandsRecord cr) {
12
private UndoRedoStack cr;
13
public MyModel(UndoRedoStack cr) {
12 14
	this.cr=cr;
13 15
	}
14 16
	public int getPos() {
15
		return cr.getPointer();
17
		return cr.getUndoInfos().size()-1;
16 18
	}
17 19
	public int getColumnCount() {
18 20
		return 1;
19 21
	}
20 22
	public int getRowCount() {
21
		return cr.size();
23
		return cr.getRedoInfos().size()+cr.getUndoInfos().size();
22 24
	}
23 25
	public Object getValueAt(int i, int j) {
24
		Command[] undos=(Command[])cr.getUndoCommands().toArray(new Command[0]);
25
		Command[] redos=(Command[])cr.getRedoCommands().toArray(new Command[0]);
26
		Command[] undos=(Command[])cr.getUndoInfos().toArray(new Command[0]);
27
		Command[] redos=(Command[])cr.getRedoInfos().toArray(new Command[0]);
26 28
		if (i<undos.length){
27 29
			//System.out.println("undo i=" + i + " index=" + (undos.length-1-i));
28 30
			return undos[undos.length-1-i];
......
31 33
			return redos[i-undos.length];
32 34
		}
33 35
	}
36
	public void setPos(int newpos) {
37
		try {
38
			if (newpos>getPos()){
39
				cr.redo(newpos-getPos());
40

  
41
			}else{
42
				cr.undo(getPos()-newpos);
43
			}
44
		} catch (RedoException e) {
45
			e.printStackTrace();
46
		} catch (UndoException e) {
47
			e.printStackTrace();
48
		}
49
	}
34 50
}
branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/gui/filter/FilterDialog.java
71 71
import com.iver.andami.ui.mdiManager.IWindow;
72 72
import com.iver.andami.ui.mdiManager.IWindowListener;
73 73
import com.iver.andami.ui.mdiManager.WindowInfo;
74
import com.iver.cit.gvsig.project.documents.table.gui.Table;
75 74
import com.iver.utiles.DefaultCharSet;
76 75
import com.iver.utiles.StringUtilities;
77 76
import com.iver.utiles.exceptionHandling.ExceptionHandlingSupport;
......
84 83
 * @author Pablo Piqueras Bartolom? (p_queras@hotmail.com)
85 84
 */
86 85
public class FilterDialog extends TableFilterQueryJPanel implements IWindow, IWindowListener {
87
	private static Logger logger = Logger.getLogger(Table.class.getName());
86
	private static Logger logger = Logger.getLogger(FilterDialog.class.getName());
88 87
	private FeatureStore model = null;
89 88
	private ArrayList expressionListeners = new ArrayList();
90 89
	private ExceptionHandlingSupport exceptionHandlingSupport = new ExceptionHandlingSupport();

Also available in: Unified diff