Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudia Knobloch2011-05-16 06:59:50 +0000
committerClaudia Knobloch2011-05-16 06:59:50 +0000
commit6cfe93feed89a90c5c76cbbe0a12a269f32c671f (patch)
treed6f74964209f83030ee78e831b41975f8299758d
parent125e405fa355e5afba6993b1f495fc70f0514bef (diff)
downloadorg.eclipse.ptp-6cfe93feed89a90c5c76cbbe0a12a269f32c671f.tar.gz
org.eclipse.ptp-6cfe93feed89a90c5c76cbbe0a12a269f32c671f.tar.xz
org.eclipse.ptp-6cfe93feed89a90c5c76cbbe0a12a269f32c671f.zip
Table columns
-rw-r--r--rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/core/ILMLManager.java4
-rw-r--r--rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/LMLManager.java9
-rw-r--r--rms/org.eclipse.ptp.rm.lml.core/src/org/eclipse/ptp/rm/lml/internal/core/model/TableHandler.java42
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;
}
+
}

Back to the top