Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudia Knobloch2011-05-16 07:15:34 +0000
committerClaudia Knobloch2011-05-16 07:15:34 +0000
commit97ef80021855eb097f8c8429abb779c813767d1d (patch)
treeb403bc9da2f6b0f376576b0038d93b57254dbe5a
parent6cfe93feed89a90c5c76cbbe0a12a269f32c671f (diff)
downloadorg.eclipse.ptp-97ef80021855eb097f8c8429abb779c813767d1d.tar.gz
org.eclipse.ptp-97ef80021855eb097f8c8429abb779c813767d1d.tar.xz
org.eclipse.ptp-97ef80021855eb097f8c8429abb779c813767d1d.zip
Table columns
-rw-r--r--rms/org.eclipse.ptp.rm.lml.ui/plugin.xml38
-rw-r--r--rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/HideTableColumnAction.java28
-rw-r--r--rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/ShowTableColumnAction.java29
-rw-r--r--rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/LMLView.java11
-rw-r--r--rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/TableView.java131
5 files changed, 87 insertions, 150 deletions
diff --git a/rms/org.eclipse.ptp.rm.lml.ui/plugin.xml b/rms/org.eclipse.ptp.rm.lml.ui/plugin.xml
index 2df9ecde9..64ffd8b40 100644
--- a/rms/org.eclipse.ptp.rm.lml.ui/plugin.xml
+++ b/rms/org.eclipse.ptp.rm.lml.ui/plugin.xml
@@ -43,38 +43,16 @@
</perspective>
</extension>
<extension
- point="org.eclipse.ui.commands">
- <category
- id="org.eclipse.ptp.rm.lml.ui.menu.category1"
- name="Menu">
- </category>
- <command
- categoryId="org.eclipse.ptp.rm.lml.ui.menu.category1"
- defaultHandler="org.eclipse.ptp.rm.lml.ui.actions.HideTableColumnAction"
- id="org.eclipse.ptp.rm.lml.ui.menu.command1"
- name="Menu">
- </command>
- </extension>
- <extension
- point="org.eclipse.ui.commandImages">
- <image
- commandId="org.eclipse.ptp.rm.lml.ui.menu.command1"
- icon="icons/parallel.gif">
- </image>
- </extension>
- <extension
point="org.eclipse.ui.menus">
<menuContribution
- locationURI="toolbar:org.eclipse.ptp.rm.lml.ui.main.toolbar?after=additions">
- <toolbar
- id="org.eclipse.ptp.rm.lml.ui.toolbar1">
- <command
- commandId="org.eclipse.ptp.rm.lml.ui.menu.command1"
- id="org.eclipse.ptp.rm.lml.ui.menu.toolbar1.command1"
- style="pulldown"
- tooltip="Send them a message!">
- </command>
- </toolbar>
+ allPopups="false"
+ locationURI="menu:org.eclipse.ptp.rm.lml.ui..views.TableView?afetr=additions">
+ <menu
+ label="Hide column">
+ </menu>
+ <menu
+ label="Show column">
+ </menu>
</menuContribution>
</extension>
diff --git a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/HideTableColumnAction.java b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/HideTableColumnAction.java
index 03b16f2d7..60545ca8a 100644
--- a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/HideTableColumnAction.java
+++ b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/HideTableColumnAction.java
@@ -1,14 +1,28 @@
package org.eclipse.ptp.rm.lml.ui.actions;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.action.Action;
+import org.eclipse.ptp.rm.lml.core.LMLCorePlugin;
+import org.eclipse.ptp.rm.lml.core.model.ILguiItem;
+import org.eclipse.ptp.rm.lml.ui.views.TableView;
-public class HideTableColumnAction extends AbstractHandler {
+public class HideTableColumnAction extends Action {
- public Object execute(ExecutionEvent event) throws ExecutionException {
- System.out.println("Ich bin hier");
- return null;
+ private String gid;
+ private String title;
+ private TableView view;
+
+ public HideTableColumnAction(String gid, String title, TableView view) {
+ super(title);
+ this.gid = gid;
+ this.title = title;
+ this.view = view;
+ }
+
+ public void run() {
+ ILguiItem lguiItem = LMLCorePlugin.getDefault().getLMLManager().getSelectedLguiItem();
+ lguiItem.getTableHandler().changeTableColumnsWidth(view.getWidths(), gid);
+ lguiItem.getTableHandler().changeTableColumnsOrder(gid, view.getRemoveColumnOrder());
+ LMLCorePlugin.getDefault().getLMLManager().setTableColumnNonActive(gid, title);
}
} \ No newline at end of file
diff --git a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/ShowTableColumnAction.java b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/ShowTableColumnAction.java
index 0d87ef1e2..9288aa0ad 100644
--- a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/ShowTableColumnAction.java
+++ b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/actions/ShowTableColumnAction.java
@@ -10,31 +10,30 @@
*/
package org.eclipse.ptp.rm.lml.ui.actions;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.action.Action;
import org.eclipse.ptp.rm.lml.core.LMLCorePlugin;
-import org.eclipse.swt.widgets.Display;
+import org.eclipse.ptp.rm.lml.core.model.ILguiItem;
+import org.eclipse.ptp.rm.lml.ui.views.TableView;
-public class ShowTableColumnAction extends AbstractHandler {
+public class ShowTableColumnAction extends Action {
private final String gid;
+ private final String title;
+ private TableView view;
- public ShowTableColumnAction(String gid, String name) {
+ public ShowTableColumnAction(String gid, String title, TableView view) {
+ super(title);
this.gid = gid;
+ this.title = title;
+ this.view = view;
}
public void run() {
- // TODO Remove
- MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Click!",
- "There will be an update and an additional tablecolumn () will be seen");
- LMLCorePlugin.getDefault().getLMLManager().setTableColumnActive(gid, "");
+ ILguiItem lguiItem = LMLCorePlugin.getDefault().getLMLManager().getSelectedLguiItem();
+ lguiItem.getTableHandler().changeTableColumnsWidth(view.getWidths(), gid);
+ lguiItem.getTableHandler().changeTableColumnsOrder(gid, view.getRemoveColumnOrder());
+ LMLCorePlugin.getDefault().getLMLManager().setTableColumnActive(gid, title);
}
- public Object execute(ExecutionEvent event) throws ExecutionException {
- // TODO Auto-generated method stub
- return null;
- }
}
diff --git a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/LMLView.java b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/LMLView.java
index 1d988dcf2..02bcfd287 100644
--- a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/LMLView.java
+++ b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/LMLView.java
@@ -110,6 +110,7 @@ public class LMLView extends ViewPart {
/**
*
*/
+ public Composite composite;
public ListViewer viewer;
private AddLguiAction addLguiAction;
private RemoveLguiAction removeLguiAction;
@@ -126,6 +127,7 @@ public class LMLView extends ViewPart {
@Override
public void createPartControl(Composite parent) {
+ composite = parent;
viewer = new ListViewer(parent, SWT.SINGLE);
viewer.setLabelProvider(new LabelProvider() {
@Override
@@ -157,9 +159,11 @@ public class LMLView extends ViewPart {
}
private void createList() {
- list = viewer.getList();
- list.removeAll();
- list.removeSelectionListener(listListener);
+ if (!composite.isDisposed()) {
+ list = viewer.getList();
+ list.removeAll();
+ list.removeSelectionListener(listListener);
+
createContextMenu();
if (fSelected != null) {
@@ -169,6 +173,7 @@ public class LMLView extends ViewPart {
list.setSelection(lmlManager.getSelectedLguiIndex(fSelected.toString()));
}
list.addSelectionListener(listListener);
+ }
}
@Override
diff --git a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/TableView.java b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/TableView.java
index f73187d4e..905a371db 100644
--- a/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/TableView.java
+++ b/rms/org.eclipse.ptp.rm.lml.ui/src/org/eclipse/ptp/rm/lml/ui/views/TableView.java
@@ -17,6 +17,9 @@ package org.eclipse.ptp.rm.lml.ui.views;
//import org.eclipse.jface.action.IMenuManager;
//import org.eclipse.jface.action.IToolBarManager;
//import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ILazyTreeContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
@@ -36,6 +39,8 @@ import org.eclipse.ptp.rm.lml.core.model.ITableColumnLayout;
import org.eclipse.ptp.rm.lml.internal.core.model.Cell;
import org.eclipse.ptp.rm.lml.internal.core.model.LMLColor;
import org.eclipse.ptp.rm.lml.internal.core.model.Row;
+import org.eclipse.ptp.rm.lml.ui.actions.HideTableColumnAction;
+import org.eclipse.ptp.rm.lml.ui.actions.ShowTableColumnAction;
import org.eclipse.ptp.rm.lml.ui.providers.LMLViewPart;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ControlAdapter;
@@ -46,8 +51,6 @@ import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
@@ -103,7 +106,7 @@ public class TableView extends LMLViewPart {
}
- private final class LMLJobsListListener implements ILMLListener {
+ private final class LMLTableListListener implements ILMLListener {
/*
* (non-Javadoc)
@@ -175,15 +178,11 @@ public class TableView extends LMLViewPart {
public int sizeViewer;
public ILguiItem fSelectedLguiItem = null;
public String gid = null;
- private final ILMLListener lmlListener = new LMLJobsListListener();
+ private final ILMLListener lmlListener = new LMLTableListListener();
private final ILMLManager lmlManager = LMLCorePlugin.getDefault().getLMLManager();
private TreeItem selectedItem = null;
private String selectedOid = null;
- // private Action addItemAction;
- // private Action deleteItemAction;
- // private Action selectAllAction;
-
@Override
public void createPartControl(Composite parent) {
composite = new Composite(parent, SWT.None);
@@ -299,84 +298,34 @@ public class TableView extends LMLViewPart {
tree.setLinesVisible(true);
tree.setHeaderVisible(true);
createColumns();
- // createActions();
- // createMenu();
- // createToolbar();
+ createMenu();
input = fSelectedLguiItem.getTableHandler().getTableDataWithColor(gid);
viewer.setInput(input);
viewer.getTree().setItemCount(input.length);
}
- // private void createActions() {
- // addItemAction = new Action("Add...") {
- // @Override
- // public void run() {
- // addItem();
- // }
- //
- // private void addItem() {
- // System.out.println("Add");
- // }
- // };
- // addItemAction.setImageDescriptor(getImageDescriptor("parallel.gif"));
- //
- // deleteItemAction = new Action("Delete...") {
- // @Override
- // public void run() {
- // deleteItem();
- // }
- //
- // private void deleteItem() {
- // System.out.println("Delete");
- // }
- // };
- // deleteItemAction.setImageDescriptor(getImageDescriptor("legend.gif"));
- //
- // selectAllAction = new Action("Select all...") {
- // @Override
- // public void run() {
- // selectAll();
- // }
- //
- // private void selectAll() {
- // System.out.println("Select all");
- // }
- // };
- //
- // viewer.addSelectionChangedListener(new ISelectionChangedListener(){
- // public void selectionChanged(SelectionChangedEvent event) {
- // updateActionEnablement();
- // }
- // });
- // }
- //
- // private void updateActionEnablement() {
- // IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
- // deleteItemAction.setEnabled(sel.size() > 0);
- // }
- //
- // public void createMenu(){
- // IMenuManager menuManager =
- // getViewSite().getActionBars().getMenuManager();
- // System.out.println(menuManager);
- // menuManager.add(selectAllAction);
- // }
- //
- // private void createToolbar() {
- // IToolBarManager toolbarManager =
- // getViewSite().getActionBars().getToolBarManager();
- // toolbarManager.add(addItemAction);
- // toolbarManager.add(deleteItemAction);
- // }
- //
- // private ImageDescriptor getImageDescriptor(String relativePath) {
- // String iconPath = "icons/";
- // LMLUIPlugin plugin = LMLUIPlugin.getDefault();
- // URL url = plugin.getBundle().getEntry(iconPath + relativePath);
- // return ImageDescriptor.createFromURL(url);
- //
- // }
-
+ private void createMenu() {
+ IMenuManager menuManager = getViewSite().getActionBars().getMenuManager();
+
+ IMenuManager subMenuShow = new MenuManager("Show column...");
+ String[] columnNonActive = fSelectedLguiItem.getTableHandler().getTableColumnNonActive(gid);
+ for (String column : columnNonActive) {
+ IAction action = new ShowTableColumnAction(gid, column, this);
+ subMenuShow.add(action);
+ }
+ menuManager.add(subMenuShow);
+
+ IMenuManager subMenuHide = new MenuManager("Hide column...");
+ String[] columnActive = fSelectedLguiItem.getTableHandler().getTableColumnActive(gid);
+ for (String column : columnActive) {
+ IAction action = new HideTableColumnAction(gid, column, this);
+ subMenuHide.add(action);
+ }
+ menuManager.add(subMenuHide);
+
+ getViewSite().getActionBars().updateActionBars();
+ }
+
private int getColumnAlignment(String alignment) {
if (alignment.equals("LEFT")) {
return SWT.LEAD;
@@ -384,8 +333,7 @@ public class TableView extends LMLViewPart {
if (alignment.equals("RIGHT")) {
return SWT.TRAIL;
}
-
- return 0;
+ return SWT.LEAD;
}
/**
@@ -413,13 +361,6 @@ public class TableView extends LMLViewPart {
treeColumn.setText(tableColumnLayouts[i].getTitle());
treeColumn.setWidth(tableColumnLayouts[i].getWidth());
treeColumn.setMoveable(true);
- treeColumn.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- TreeColumn column = (TreeColumn) e.getSource();
- System.out.println(column.getText());
- }
- });
treeColumns[i] = treeColumn;
}
@@ -504,12 +445,8 @@ public class TableView extends LMLViewPart {
}
- private Double[] getWidths() {
+ public Double[] getWidths() {
Double[] widths = new Double[treeColumns.length];
- int widthTable = 0;
- for (int i = 0; i < treeColumns.length; i++) {
- widthTable += treeColumns[i].getWidth();
- }
Double widthColumn = Integer.valueOf(sizeViewer).doubleValue() / treeColumns.length;
for (int i = 0; i < treeColumns.length; i++) {
widths[i] = widthColumn / treeColumns[i].getWidth();
@@ -529,6 +466,10 @@ public class TableView extends LMLViewPart {
}
return orderNew;
}
+
+ public int[] getRemoveColumnOrder() {
+ return removingColumn(tree.getColumnOrder());
+ }
private void redrawColumns() {
sizeViewer = composite.getSize().x - 70;

Back to the top