summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Schwaer2015-07-14 18:06:18 +0200
committerStephan Schwaer2015-07-14 18:06:18 +0200
commit3bc4c1e4e4dd25877b71583acf4da23e1dc5b6a9 (patch)
tree47dba4d263bf977938b68c1d0234478cb4f3825d
parent[client] Actually return the return value and not null (diff)
downloadtutor-module-3bc4c1e4e4dd25877b71583acf4da23e1dc5b6a9.tar.gz
tutor-module-3bc4c1e4e4dd25877b71583acf4da23e1dc5b6a9.tar.xz
tutor-module-3bc4c1e4e4dd25877b71583acf4da23e1dc5b6a9.zip
[client] Added custom permission page for wizard without functionality.
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java93
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageCustomPermissionPageLayout.java65
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java31
4 files changed, 184 insertions, 9 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java
index 94c6e5ea..0e0af351 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java
@@ -2,6 +2,7 @@ package org.openslx.dozmod.gui.helper;
import java.text.SimpleDateFormat;
import java.util.Date;
+
import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
@@ -11,20 +12,44 @@ import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.openslx.bwlp.thrift.iface.ImageSummaryRead;
import org.openslx.bwlp.thrift.iface.OperatingSystem;
+import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.thrift.MetaDataCache;
public final class TableHelper {
private TableHelper() {
}
- private static void createColumn(TableViewer table, String colName, int width, int colNumber,
+ /**
+ * Create a column with the ability to be sorted
+ *
+ * @param tableViewer
+ * @param colName
+ * @param width column width
+ * @param colNumber index of the column
+ * @param provider the column label provider
+ */
+ private static void createSortedColumn(TableViewer tableViewer, String colName, int width, int colNumber,
ColumnLabelProvider provider) {
- TableViewerColumn col = new TableViewerColumn(table, SWT.NONE);
+ TableViewerColumn col = new TableViewerColumn(tableViewer, SWT.NONE);
col.getColumn().setWidth(width);
col.getColumn().setText(colName);
col.setLabelProvider(provider);
// for column sorting
- col.getColumn().addSelectionListener(getSelectionAdapter(col, colNumber, table));
+ col.getColumn().addSelectionListener(getSelectionAdapter(col, colNumber, tableViewer));
+ }
+
+ /**
+ * Create a column for the given table viewer without sorting functionality
+ * @param tableViewer
+ * @param colName
+ * @param width
+ * @param provider
+ */
+ private static void createUnsortedColumn(TableViewer tableViewer, String colName, int width, ColumnLabelProvider provider) {
+ TableViewerColumn col = new TableViewerColumn(tableViewer, SWT.NONE);
+ col.getColumn().setWidth(width);
+ col.getColumn().setText(colName);
+ col.setLabelProvider(provider);
}
// selection listener for column sorting
@@ -45,13 +70,13 @@ public final class TableHelper {
}
/**
- * Create the columns for the table in the VM main window.
+ * Create the columns for the table in the image main window.
* Comparator has to be set beforehand.
*
* @param table the tableViewer
*/
public static void createImageTableColumns(TableViewer table) {
- createColumn(table, "Name", 150, 0, new ColumnLabelProvider() {
+ createSortedColumn(table, "Name", 150, 0, new ColumnLabelProvider() {
@Override
public String getText(Object element) {
ImageSummaryRead image = (ImageSummaryRead) element;
@@ -59,11 +84,12 @@ public final class TableHelper {
}
});
- createColumn(table, "OS", 90, 1, new ColumnLabelProvider() {
+ createSortedColumn(table, "OS", 130, 1, new ColumnLabelProvider() {
@Override
public String getText(Object element) {
ImageSummaryRead image = (ImageSummaryRead) element;
OperatingSystem os = MetaDataCache.getOsById(image.getOsId());
+
if (os == null) {
return "Unknown";
} else {
@@ -72,7 +98,7 @@ public final class TableHelper {
}
});
- createColumn(table, "Verantwortlicher", 130, 2, new ColumnLabelProvider() {
+ createSortedColumn(table, "Verantwortlicher", 130, 2, new ColumnLabelProvider() {
@Override
public String getText(Object element) {
ImageSummaryRead image = (ImageSummaryRead) element;
@@ -80,7 +106,7 @@ public final class TableHelper {
}
});
- createColumn(table, "Letztes Update", 110, 3, new ColumnLabelProvider() {
+ createSortedColumn(table, "Letztes Update", 110, 3, new ColumnLabelProvider() {
@Override
public String getText(Object element) {
ImageSummaryRead image = (ImageSummaryRead) element;
@@ -91,7 +117,7 @@ public final class TableHelper {
}
});
- createColumn(table, "Größe", 80, 4, new ColumnLabelProvider() {
+ createSortedColumn(table, "Größe", 80, 4, new ColumnLabelProvider() {
@Override
public String getText(Object element) {
ImageSummaryRead image = (ImageSummaryRead) element;
@@ -99,5 +125,54 @@ public final class TableHelper {
}
});
+ }
+
+ /**
+ * Create the columns for the custom permission wizard page
+ * @param permissionTableViewer
+ */
+ public static void createImagePermissionTableColumns(
+ TableViewer permissionTableViewer) {
+ createUnsortedColumn(permissionTableViewer, "User", 150, new ColumnLabelProvider() {
+ @Override
+ public String getText(Object element) {
+ // TODO correct?
+ UserInfo user = (UserInfo) element;
+ return user.firstName + " " + user.lastName;
+ }
+ });
+
+ createUnsortedColumn(permissionTableViewer, "Link", 90, new ColumnLabelProvider() {
+ @Override
+ public String getText(Object element) {
+ // TODO what to show?
+ return " ";
+ }
+ });
+
+ createUnsortedColumn(permissionTableViewer, "Download", 90, new ColumnLabelProvider() {
+ @Override
+ public String getText(Object element) {
+ // TODO what to show?
+ return " ";
+ }
+ });
+
+ createUnsortedColumn(permissionTableViewer, "Edit", 90, new ColumnLabelProvider() {
+ @Override
+ public String getText(Object element) {
+ // TODO what to show?
+ return " ";
+ }
+ });
+
+ createUnsortedColumn(permissionTableViewer, "Admin", 90, new ColumnLabelProvider() {
+ @Override
+ public String getText(Object element) {
+ // TODO what to show?
+ return " ";
+ }
+ });
+
};
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
index 4812b7e2..d16f7768 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
@@ -7,6 +7,7 @@ import org.openslx.bwlp.thrift.iface.ImageBaseWrite;
import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.helper.MessageType;
+import org.openslx.dozmod.gui.wizard.page.ImageCustomPermissionPage;
import org.openslx.dozmod.gui.wizard.page.ImageMetaDataPage;
import org.openslx.dozmod.gui.wizard.page.ImageUploadPage;
import org.openslx.dozmod.state.UploadWizardState;
@@ -20,6 +21,7 @@ public class ImageWizard extends Wizard {
private UploadWizardState uploadWizardState;
protected ImageUploadPage imageUploadPage;
protected ImageMetaDataPage imageMetaDataPage;
+ //protected ImageCustomPermissionPage imageCustomPermissionPage;
protected boolean editExistingImage;
/**
@@ -44,8 +46,10 @@ public class ImageWizard extends Wizard {
// create the shared object for all pages of the wizard
imageUploadPage = new ImageUploadPage(uploadWizardState, editExistingImage);
imageMetaDataPage = new ImageMetaDataPage(uploadWizardState);
+ //imageCustomPermissionPage = new ImageCustomPermissionPage();
addPage(imageUploadPage);
addPage(imageMetaDataPage);
+ //addPage(imageCustomPermissionPage);
}
@Override
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageCustomPermissionPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageCustomPermissionPageLayout.java
new file mode 100644
index 00000000..e8341a87
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageCustomPermissionPageLayout.java
@@ -0,0 +1,65 @@
+package org.openslx.dozmod.gui.wizard.layout;
+
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Table;
+
+public class ImageCustomPermissionPageLayout extends WizardPage {
+
+ protected Composite container;
+
+ // The table viewer
+ protected TableViewer permissionTableViewer;
+
+ // Buttons
+ protected Button addUser;
+ protected Button removeUser;
+
+ protected String addUserLabel = "Benutzer Hinzufügen";
+ protected String removeUserLabel = "Benutzer entfernen";
+
+
+ /**
+ * wizard page for setting custom permissions
+ */
+ public ImageCustomPermissionPageLayout() {
+ super("Eingabe Ihrer Daten", "Eingabe Ihrer Daten", null);
+ setDescription("Setzen Sie hier spezielle Berechtigungen, sofern Sie dies wünschen.");
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ container = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ container.setLayout(layout);
+ layout.numColumns = 2;
+
+ // table
+ Table vmTable = new Table(container, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
+ GridData tableGridData = new GridData(SWT.FILL, SWT.FILL, true, true);
+ tableGridData.horizontalSpan = 2;
+ vmTable.setLayoutData(tableGridData);
+ vmTable.setHeaderVisible(true);
+ vmTable.setLinesVisible(true);
+
+ // TableViewer on the table
+ permissionTableViewer = new TableViewer(vmTable);
+ permissionTableViewer.setContentProvider(ArrayContentProvider.getInstance());
+
+ // Buttons below Table
+ addUser = new Button(container, SWT.PUSH);
+ addUser.setText(addUserLabel);
+
+ removeUser = new Button(container, SWT.PUSH);
+ removeUser.setText(removeUserLabel);
+
+ setControl(container);
+ }
+
+}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java
new file mode 100644
index 00000000..e2f4566b
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java
@@ -0,0 +1,31 @@
+package org.openslx.dozmod.gui.wizard.page;
+
+import org.apache.log4j.Logger;
+import org.eclipse.swt.widgets.Composite;
+import org.openslx.dozmod.gui.helper.TableHelper;
+import org.openslx.dozmod.gui.wizard.layout.ImageCustomPermissionPageLayout;
+
+
+public class ImageCustomPermissionPage extends ImageCustomPermissionPageLayout {
+
+ private final static Logger LOGGER = Logger.getLogger(ImageCustomPermissionPage.class);
+
+ /**
+ * wizard page for setting custom permissions
+ */
+ public ImageCustomPermissionPage() {
+ super();
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+
+ TableHelper.createImagePermissionTableColumns(permissionTableViewer);
+
+ // TODO set the input of the table then implement ColumnLabelProviders in TableHelper
+ permissionTableViewer.setInput(null);
+ permissionTableViewer.refresh();
+ }
+
+}