mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-26 02:15:31 +02:00
[260346] RSE view for jobs does not remember resized columns
This commit is contained in:
parent
db1f37d6f2
commit
81780b4a18
1 changed files with 30 additions and 4 deletions
|
@ -22,14 +22,17 @@
|
||||||
* Martin Oberhuber (Wind River) - [218304] Improve deferred adapter loading
|
* Martin Oberhuber (Wind River) - [218304] Improve deferred adapter loading
|
||||||
* Martin Oberhuber (Wind River) - [227516] [regression] Fix ArrayIndexOutOfBoundsException in TableView
|
* Martin Oberhuber (Wind River) - [227516] [regression] Fix ArrayIndexOutOfBoundsException in TableView
|
||||||
* David McKnight (IBM) - [187058] Incorrect Right Click Menu in Remote System Details View with no selection
|
* David McKnight (IBM) - [187058] Incorrect Right Click Menu in Remote System Details View with no selection
|
||||||
|
* David McKnight (IBM) - [260346] RSE view for jobs does not remember resized columns
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.ui.view;
|
package org.eclipse.rse.ui.view;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.Hashtable;
|
import java.util.Hashtable;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
import org.eclipse.core.resources.WorkspaceJob;
|
import org.eclipse.core.resources.WorkspaceJob;
|
||||||
|
@ -297,13 +300,18 @@ public class SystemTableView
|
||||||
|
|
||||||
private boolean _showColumns = true;
|
private boolean _showColumns = true;
|
||||||
|
|
||||||
private Image _upI;
|
private Image _upI;
|
||||||
private Image _downI;
|
private Image _downI;
|
||||||
|
|
||||||
protected boolean menuListenerAdded = false;
|
protected boolean menuListenerAdded = false;
|
||||||
|
|
||||||
private static final int LEFT_BUTTON = 1;
|
private static final int LEFT_BUTTON = 1;
|
||||||
private int mouseButtonPressed = LEFT_BUTTON;
|
private int mouseButtonPressed = LEFT_BUTTON;
|
||||||
|
|
||||||
|
// for bug 260346 - to maintain list of cached column widths
|
||||||
|
private HashMap _cachedColumnWidths;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for the table view
|
* Constructor for the table view
|
||||||
*
|
*
|
||||||
|
@ -364,6 +372,8 @@ public class SystemTableView
|
||||||
|
|
||||||
_upI = RSEUIPlugin.getDefault().getImage(ISystemIconConstants.ICON_SYSTEM_ARROW_UP_ID);
|
_upI = RSEUIPlugin.getDefault().getImage(ISystemIconConstants.ICON_SYSTEM_ARROW_UP_ID);
|
||||||
_downI = RSEUIPlugin.getDefault().getImage(ISystemIconConstants.ICON_SYSTEM_ARROW_DOWN_ID);
|
_downI = RSEUIPlugin.getDefault().getImage(ISystemIconConstants.ICON_SYSTEM_ARROW_DOWN_ID);
|
||||||
|
|
||||||
|
_cachedColumnWidths = new HashMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -428,6 +438,16 @@ public class SystemTableView
|
||||||
if (newObject instanceof IAdaptable)
|
if (newObject instanceof IAdaptable)
|
||||||
{
|
{
|
||||||
getTable().setVisible(true);
|
getTable().setVisible(true);
|
||||||
|
|
||||||
|
// columns may change so we want to keep track of the current ones
|
||||||
|
int[] lastWidths = getCurrentColumnWidths();
|
||||||
|
if (lastWidths.length > 0){
|
||||||
|
ISystemViewElementAdapter contentsAdapter = getAdapterForContents();
|
||||||
|
|
||||||
|
// associate the last contents adapter with the last widths
|
||||||
|
_cachedColumnWidths.put(contentsAdapter, lastWidths);
|
||||||
|
}
|
||||||
|
|
||||||
_objectInput = newObject;
|
_objectInput = newObject;
|
||||||
computeLayout();
|
computeLayout();
|
||||||
|
|
||||||
|
@ -759,8 +779,14 @@ public class SystemTableView
|
||||||
int[] lastWidths = getLastColumnWidths();
|
int[] lastWidths = getLastColumnWidths();
|
||||||
if (numColumns > 1)
|
if (numColumns > 1)
|
||||||
{
|
{
|
||||||
|
int[] cachedWidths = (int[])_cachedColumnWidths.get(getAdapterForContents());
|
||||||
|
|
||||||
|
// if there are already cached widths, use them
|
||||||
|
if (cachedWidths != null){
|
||||||
|
setCurrentColumnWidths(cachedWidths);
|
||||||
|
}
|
||||||
// check if previous widths can be used
|
// check if previous widths can be used
|
||||||
if (lastWidths != null && lastWidths.length == numColumns)
|
else if (lastWidths != null && lastWidths.length == numColumns)
|
||||||
{
|
{
|
||||||
|
|
||||||
// use previously established widths
|
// use previously established widths
|
||||||
|
@ -1304,7 +1330,7 @@ public class SystemTableView
|
||||||
}
|
}
|
||||||
|
|
||||||
table.dispose();
|
table.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Reference in a new issue