diff options
Diffstat (limited to 'dozentenmodul/src/main/java/org')
12 files changed, 45 insertions, 34 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java index a40600fe..72705a38 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java @@ -253,12 +253,17 @@ public class Gui { Logger logger, Throwable exception) { if (logger != null) logger.log(messageType.logPriority, message, exception); - if (parent != null) { - Window ancestor = SwingUtilities.getWindowAncestor(parent); - if (ancestor != null) { - parent = ancestor; + // Only needs to be done, if parent isn't already a window + if(!(parent instanceof Window)){ + if (parent != null) { + Window ancestor = SwingUtilities.getWindowAncestor(parent); + if (ancestor != null) { + parent = ancestor; + } } } + + if (exception != null) message += "\n\n" + exception.getClass().getSimpleName() + "\n" + exception.getMessage() + "\n" + " (Siehe Logdatei)"; diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java index a5992d17..a2655434 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java @@ -11,9 +11,9 @@ import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; -import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; +import javax.swing.SwingUtilities; import org.apache.log4j.Logger; import org.openslx.bwlp.thrift.iface.ImagePermissions; @@ -74,8 +74,7 @@ public class ImageCustomPermissionManager extends JPanel { btnAddUser.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - // TODO again: which frame to give? JOptionPane.getFrameForComponent(me) sounds cool at least :) - UserListWindow.open(JOptionPane.getFrameForComponent(me), new UserAddedCallback() { + UserListWindow.open(SwingUtilities.getWindowAncestor(me), new UserAddedCallback() { @Override public void userAdded(final UserInfo newUser, UserListWindow window) { diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java index e081c050..8d8e5806 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java @@ -11,9 +11,9 @@ import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; -import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; +import javax.swing.SwingUtilities; import org.apache.log4j.Logger; import org.openslx.bwlp.thrift.iface.LecturePermissions; @@ -80,8 +80,7 @@ public class LectureCustomPermissionManager extends JPanel{ btnAddUser.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - // TODO again: which frame to give? JOptionPane.getFrameForComponent(me) sounds cool at least :) - UserListWindow.open(JOptionPane.getFrameForComponent(me), new UserAddedCallback() { + UserListWindow.open(SwingUtilities.getWindowAncestor(me), new UserAddedCallback() { @Override public void userAdded(final UserInfo newUser, UserListWindow window) { diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java index 192fb552..22833d28 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java @@ -1,6 +1,6 @@ package org.openslx.dozmod.gui.window; -import java.awt.Frame; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Map; @@ -19,9 +19,11 @@ public class ImageCustomPermissionWindow extends ImageCustomPermissionWindowLayo private static final Logger LOGGER = Logger.getLogger(ImageCustomPermissionWindow.class); private boolean okUsed = false; + private Window parentWindow; - protected ImageCustomPermissionWindow(final Frame modalParent, final Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions) { + protected ImageCustomPermissionWindow(final Window modalParent, final Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions) { super(modalParent); + this.parentWindow = modalParent; imagePermissionManager.initPanel(permissionMap, defaultPermissions); btnOk.addActionListener(new ActionListener() { @@ -61,12 +63,12 @@ public class ImageCustomPermissionWindow extends ImageCustomPermissionWindowLayo /** * Creates a new ImageCustomPermissionWindow dialog and returns the resulting Permissions - * @param modalParent + * @param modalParent parentwindow of this dialog * @param permissionMap The current user permissions with which the permission manager to initialise, null creates empty list. * @param defaultPermissions The current default permissions, should not be null! * @return PermissionDefaultToCustomLink with resulting permissions or null, if abort has been used to exit the dialog */ - public static PermissionDefaultToCustomLink<ImagePermissions> open(Frame modalParent, Map<String, ImagePermissions> permissionMap, ImagePermissions defaultPermissions) { + public static PermissionDefaultToCustomLink<ImagePermissions> open(Window modalParent, Map<String, ImagePermissions> permissionMap, ImagePermissions defaultPermissions) { return new ImageCustomPermissionWindow(modalParent, permissionMap, defaultPermissions).runAndReturn(); } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java index 7bd6608f..d3912134 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java @@ -120,14 +120,14 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe btnUpdateImage.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - new ImageUpdateWizard(SwingUtilities.getWindowAncestor(me), image).setVisible(true); + new ImageUpdateWizard(me, image).setVisible(true); refresh(true); } }); btnChangeOwner.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - UserListWindow.open(JOptionPane.getFrameForComponent(btnChangeOwner), + UserListWindow.open(me, new UserAddedCallback() { @Override public void userAdded(UserInfo user, UserListWindow window) { @@ -142,7 +142,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe @Override public void actionPerformed(ActionEvent arg0) { - PermissionDefaultToCustomLink<ImagePermissions> pl = ImageCustomPermissionWindow.open(JOptionPane.getFrameForComponent(me), me.permissionMap, image.defaultPermissions); + PermissionDefaultToCustomLink<ImagePermissions> pl = ImageCustomPermissionWindow.open(me, me.permissionMap, image.defaultPermissions); if (pl != null && pl.defaultPermissions != null && pl.customPermissions != null){ image.defaultPermissions = pl.defaultPermissions; permissionMap = pl.customPermissions; diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureCustomPermissionWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureCustomPermissionWindow.java index 858ab5a1..082a058b 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureCustomPermissionWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureCustomPermissionWindow.java @@ -1,6 +1,6 @@ package org.openslx.dozmod.gui.window; -import java.awt.Frame; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Map; @@ -23,7 +23,7 @@ public class LectureCustomPermissionWindow extends LectureCustomPermissionWindow /** * Don't use this constructor, use static function LectureCustomPermissionWindow.open instead. */ - protected LectureCustomPermissionWindow(final Frame modalParent, final Map<String, LecturePermissions> permissionMap, final LecturePermissions defaultPermissions) { + protected LectureCustomPermissionWindow(final Window modalParent, final Map<String, LecturePermissions> permissionMap, final LecturePermissions defaultPermissions) { super(modalParent); /** @@ -68,13 +68,13 @@ public class LectureCustomPermissionWindow extends LectureCustomPermissionWindow /** * Create new LecturePermissionWindow dialog - * @param modalParent parent of the popup window + * @param modalParent parentwindow of the popup window * @param permissionMap the permissions of the lecture * @param defaultPermissions default permissions of the lecture * @return PermissionDefaultToCustomLink with new permissions of null, if abort button has been used */ - public static PermissionDefaultToCustomLink<LecturePermissions> open(Frame modalParent, Map<String, LecturePermissions> permissionMap, LecturePermissions defaultPermissions) { + public static PermissionDefaultToCustomLink<LecturePermissions> open(Window modalParent, Map<String, LecturePermissions> permissionMap, LecturePermissions defaultPermissions) { return new LectureCustomPermissionWindow(modalParent, permissionMap, defaultPermissions).runAndReturn(); } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java index dcdb938e..e06addc9 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java @@ -143,7 +143,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements btnChangeOwner.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - UserListWindow.open(JOptionPane.getFrameForComponent(btnChangeOwner), + UserListWindow.open(me, new UserAddedCallback() { @Override public void userAdded(UserInfo user, UserListWindow window) { @@ -159,7 +159,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements LOGGER.info(permissionMap); LOGGER.info(lecture.defaultPermissions); PermissionDefaultToCustomLink<LecturePermissions> pl = LectureCustomPermissionWindow.open( - JOptionPane.getFrameForComponent(me), permissionMap, lecture.defaultPermissions); + me, permissionMap, lecture.defaultPermissions); if (pl != null && pl.defaultPermissions != null && pl.customPermissions != null) { lecture.defaultPermissions = pl.defaultPermissions; permissionMap = pl.customPermissions; diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java index ba8b4d7e..b2e8d0e9 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java @@ -1,7 +1,7 @@ package org.openslx.dozmod.gui.window; import java.awt.Color; -import java.awt.Frame; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; @@ -36,7 +36,7 @@ public class UserListWindow extends UserListWindowLayout { public void userAdded(UserInfo user, UserListWindow window); } - public UserListWindow(final Frame modalParent, final UserAddedCallback callback, String actionCaption) { + public UserListWindow(final Window modalParent, final UserAddedCallback callback, String actionCaption) { super(modalParent, actionCaption); addWindowListener(new WindowAdapter() { @@ -116,10 +116,11 @@ public class UserListWindow extends UserListWindowLayout { } } }); - this.setLocationRelativeTo(modalParent); + Gui.centerShellOverShell(modalParent, this); + // this.setLocationRelativeTo(SwingUtilities.getWindowAncestor(modalParent)); } - public static void open(Frame modalParent, UserAddedCallback callback, String actionCaption) { + public static void open(Window modalParent, UserAddedCallback callback, String actionCaption) { new UserListWindow(modalParent, callback, actionCaption).setVisible(true); } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageCustomPermissionWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageCustomPermissionWindowLayout.java index 52d5856c..08ab5c32 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageCustomPermissionWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageCustomPermissionWindowLayout.java @@ -1,7 +1,7 @@ package org.openslx.dozmod.gui.window.layout; import java.awt.Dimension; -import java.awt.Frame; +import java.awt.Window; import javax.swing.BorderFactory; import javax.swing.Box; @@ -37,9 +37,10 @@ public class ImageCustomPermissionWindowLayout extends JDialog { private static String title = "Benutzerdefinierte Berechtigungen"; - protected ImageCustomPermissionWindowLayout(Frame modalParent) { + protected ImageCustomPermissionWindowLayout(Window modalParent) { super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL : ModalityType.MODELESS); + this.setTitle(title); // Panel to add everything into, needed for the border. JPanel contentPanel = new JPanel(); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureCustomPermissionWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureCustomPermissionWindowLayout.java index fe3994b2..8e53e1a7 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureCustomPermissionWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureCustomPermissionWindowLayout.java @@ -1,7 +1,7 @@ package org.openslx.dozmod.gui.window.layout; import java.awt.Dimension; -import java.awt.Frame; +import java.awt.Window; import javax.swing.BorderFactory; import javax.swing.Box; @@ -44,7 +44,7 @@ public class LectureCustomPermissionWindowLayout extends JDialog { */ private static String title = "Benutzerdefinierte Berechtigungen"; - protected LectureCustomPermissionWindowLayout(Frame modalParent) { + protected LectureCustomPermissionWindowLayout(Window modalParent) { super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL : ModalityType.MODELESS); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java index 626b8180..03b7d700 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/UserListWindowLayout.java @@ -5,6 +5,7 @@ import java.awt.Container; import java.awt.Dimension; import java.awt.Frame; import java.awt.GridBagLayout; +import java.awt.Window; import javax.swing.BorderFactory; import javax.swing.Box; @@ -42,7 +43,7 @@ public class UserListWindowLayout extends JDialog { private static String title = "Benutzerliste"; - protected UserListWindowLayout(Frame modalParent, String actionCaption) { + protected UserListWindowLayout(Window modalParent, String actionCaption) { super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL : ModalityType.MODELESS); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java index a7b9141a..c1a2c361 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java @@ -23,7 +23,7 @@ import javax.swing.JPanel; import javax.swing.JSeparator; import javax.swing.SwingConstants; -import org.openslx.dozmod.gui.MainWindow; +import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.helper.GridManager; @SuppressWarnings("serial") @@ -90,6 +90,10 @@ public abstract class Wizard extends JDialog { // setPreferredSize(new Dimension(550, 420)); setResizable(false); + + pack(); + Gui.centerShellOverShell(parent, this); + // Window events addWindowListener(new WindowAdapter() { @Override @@ -133,7 +137,6 @@ public abstract class Wizard extends JDialog { if (!pages.isEmpty()) { showPage(0); } - MainWindow.centerShell(this); } super.show(); } |
