diff options
author | Claudia Knobloch | 2011-05-16 06:59:50 +0000 |
---|---|---|
committer | Claudia Knobloch | 2011-05-16 06:59:50 +0000 |
commit | 6cfe93feed89a90c5c76cbbe0a12a269f32c671f (patch) | |
tree | d6f74964209f83030ee78e831b41975f8299758d | |
parent | 125e405fa355e5afba6993b1f495fc70f0514bef (diff) | |
download | org.eclipse.ptp-6cfe93feed89a90c5c76cbbe0a12a269f32c671f.tar.gz org.eclipse.ptp-6cfe93feed89a90c5c76cbbe0a12a269f32c671f.tar.xz org.eclipse.ptp-6cfe93feed89a90c5c76cbbe0a12a269f32c671f.zip |
Table columns
3 files changed, 49 insertions, 6 deletions
diff --git a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/core/ILMLManager.java b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/core/ILMLManager.java index 4938a6e08..b6f3a5251 100644 --- a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/core/ILMLManager.java +++ b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/core/ILMLManager.java @@ -66,7 +66,9 @@ public interface ILMLManager{ public void removeLgui(String title); - public void setTableColumnActive(String gid, String text); + public void setTableColumnActive(String gid, String title); + + public void setTableColumnNonActive(String gid, String title); public void selectObject(String oid); diff --git a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/LMLManager.java b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/LMLManager.java index 2e40532c1..ab1862208 100644 --- a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/LMLManager.java +++ b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/LMLManager.java @@ -199,8 +199,13 @@ public class LMLManager implements ILMLManager { listeners.remove("ViewManager"); } - public void setTableColumnActive(String gid, String text) { - fSelectedLguiItem.getTableHandler().setTableColumnActive(gid, text, true); + public void setTableColumnActive(String gid, String title) { + fSelectedLguiItem.getTableHandler().setTableColumnActive(gid, title, true); + fireChangeTableColumn(); + } + + public void setTableColumnNonActive(String gid, String title) { + fSelectedLguiItem.getTableHandler().setTableColumnActive(gid, title, false); fireChangeTableColumn(); } diff --git a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/model/TableHandler.java b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/model/TableHandler.java index 74fa80d5a..21125a519 100644 --- a/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/model/TableHandler.java +++ b/rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/model/TableHandler.java @@ -217,7 +217,6 @@ public class TableHandler extends LguiHandler { } getCidsToPosition(); - ColumnType[] columns = getColumnsToCids(); ColumnlayoutType[] layoutColumns = lguiItem.getLayoutAccess().getLayoutColumsToCids(cids, gid); ITableColumnLayout[] tableColumnLayouts = new ITableColumnLayout[cids.length]; @@ -226,7 +225,6 @@ public class TableHandler extends LguiHandler { for (int i = 0; i < cids.length; i++) { sumWidthColumns += layoutColumns[i].getWidth(); } - for (int i = 0; i < cids.length; i++) { if (columns[i] == null) { tableColumnLayouts[i] = new TableColumnLayout(layoutColumns[i].getKey(), (int) (layoutColumns[i].getWidth() @@ -305,6 +303,21 @@ public class TableHandler extends LguiHandler { } return tableColumnNonActive.toArray(new String[tableColumnNonActive.size()]); } + + public String[] getTableColumnActive(String gid) { + if (this.gid != gid || cids == null) { + cids = null; + this.gid = gid; + } + TablelayoutType tableLayout = lguiItem.getLayoutAccess().getTableLayout(gid); + ArrayList<String> tableColumnNonActive = new ArrayList<String>(); + for (int i = 0; i < tableLayout.getColumn().size(); i++) { + if (tableLayout.getColumn().get(i).isActive()) { + tableColumnNonActive.add(tableLayout.getColumn().get(i).getKey()); + } + } + return tableColumnNonActive.toArray(new String[tableColumnNonActive.size()]); + } public void changeTableColumnsWidth(Double[] widths, String gid) { if (this.gid != gid || cids == null) { @@ -345,16 +358,23 @@ public class TableHandler extends LguiHandler { } public void setTableColumnActive(String gid, String text, boolean activeTableColumn) { + // gid correction if (this.gid != gid || cids == null) { this.gid = gid; } + getCidsToPosition(); List<ColumnlayoutType> columnLayouts = lguiItem.getLayoutAccess().getTableLayout(gid).getColumn(); BigInteger cid = BigInteger.valueOf(-1); for (ColumnlayoutType column : columnLayouts) { if (column.getKey().equals(text)) { cid = column.getCid(); column.setActive(activeTableColumn); - column.setPos(BigInteger.valueOf(cids.length)); + if (activeTableColumn) { + column.setPos(BigInteger.valueOf(cids.length)); + } else { + reduceColumnPos(column.getPos().intValue() + 1, cids.length); + column.setPos(null); + } break; } } @@ -376,6 +396,21 @@ public class TableHandler extends LguiHandler { } } + private void reduceColumnPos(int pos, int i) { + if (pos == i) { + return; + } + List<ColumnlayoutType> columnLayouts = lguiItem.getLayoutAccess().getTableLayout(gid).getColumn(); + for (ColumnlayoutType column : columnLayouts) { + if (column.getPos() != null && column.getPos().intValue() == pos) { + column.setPos(BigInteger.valueOf(pos - 1)); + reduceColumnPos(pos + 1, i); + break; + } + } + + } + private ColumnType[] getColumnsToCids() { ColumnType[] columns = new ColumnType[cids.length]; for (int i = 0; i < cids.length; i++) { @@ -433,4 +468,5 @@ public class TableHandler extends LguiHandler { } return tableData; } + } |