diff options
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java | 75 |
1 files changed, 57 insertions, 18 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java index 2792e9fd..040fffa5 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java @@ -6,6 +6,7 @@ import java.awt.Font; import java.awt.Frame; import java.awt.GridBagConstraints; import java.awt.Insets; +import java.awt.GridLayout; import javax.swing.BorderFactory; import javax.swing.Box; @@ -13,6 +14,7 @@ import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JDialog; +import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; @@ -20,6 +22,8 @@ import javax.swing.JScrollPane; import javax.swing.JTabbedPane; import javax.swing.JTextArea; import javax.swing.JTextField; +import javax.swing.text.StyledEditorKit; +import javax.swing.JEditorPane; import org.openslx.bwlp.thrift.iface.OperatingSystem; import org.openslx.bwlp.thrift.iface.ShareMode; @@ -40,7 +44,7 @@ public abstract class ImageDetailsWindowLayout extends JDialog { private static final int ICON_SIZE_Y = 24; protected final JTextField txtTitle; - protected final JTextArea txtDescription; + protected final JEditorPane txtDescription; protected QLabel lblError; protected final PersonLabel lblOwner; @@ -74,6 +78,10 @@ public abstract class ImageDetailsWindowLayout extends JDialog { protected final ImageVersionTable tblVersions; protected final QScrollPane scpVersions; + protected final JButton btnBold; + protected final JButton btnItalic; + protected final JButton btnUnderline; + protected JTabbedPane pnlTabs; protected ImagePermissionConfigurator ctlImagePermissionConfigurator; @@ -88,9 +96,11 @@ public abstract class ImageDetailsWindowLayout extends JDialog { setPreferredSize(Gui.getScaledDimension(630, 680)); ((JPanel) getContentPane()).setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); - /* ******************************************************************************* + /* + * ***************************************************************************** + * ** * - * Tab: Overview + * Tab: Overview * ********************************************************************************/ JPanel pnlTabOverview = new JPanel(); @@ -98,14 +108,34 @@ public abstract class ImageDetailsWindowLayout extends JDialog { // name txtTitle = new JTextField(); txtTitle.setFont(txtTitle.getFont().deriveFont(Font.BOLD, txtTitle.getFont().getSize2D() * 1.4f)); - //txtTitle.setMinimumSize(Gui.getScaledDimension(0, 24)); + // txtTitle.setMinimumSize(Gui.getScaledDimension(0, 24)); grid.add(txtTitle, 3).expand(true, false).fill(true, false); grid.nextRow(); + // buttons for text editing + JPanel editingPanel = new JPanel(); + editingPanel.setLayout(new GridLayout(1, 3)); + JPanel emptyPanel = new JPanel(); + grid.add(emptyPanel); + btnBold = new JButton(new StyledEditorKit.BoldAction()); + btnBold.setIcon(Gui.getScaledIconResource("/img/bold.png", "B", 24, this)); + btnBold.setText(""); + btnItalic = new JButton(new StyledEditorKit.ItalicAction()); + btnItalic.setIcon(Gui.getScaledIconResource("/img/italic.png", "B", 24, this)); + btnItalic.setText(""); + btnUnderline = new JButton(new StyledEditorKit.UnderlineAction()); + btnUnderline.setIcon(Gui.getScaledIconResource("/img/underline.png", "B", 24, this)); + btnUnderline.setText(""); + editingPanel.add(btnBold); + editingPanel.add(btnItalic); + editingPanel.add(btnUnderline); + grid.add(editingPanel); + grid.add(emptyPanel); + grid.nextRow(); + // description - txtDescription = new JTextArea(); - txtDescription.setLineWrap(true); - txtDescription.setWrapStyleWord(true); + txtDescription = new JEditorPane(); + txtDescription.setContentType("text/html"); grid.add(new QLabel("Beschreibung")).anchor = GridBagConstraints.FIRST_LINE_START; JScrollPane jsp = new JScrollPane(txtDescription, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); @@ -216,12 +246,14 @@ public abstract class ImageDetailsWindowLayout extends JDialog { buttonBar.add(btnUploadToMaster); grid.add(buttonBar, 3).fill(true, false).expand(true, false); grid.nextRow(); - + grid.finish(false); - /* ******************************************************************************* + /* + * ***************************************************************************** + * ** * - * Tab: VM versions + * Tab: VM versions * ********************************************************************************/ JPanel pnlTabVersions = new JPanel(); @@ -231,14 +263,17 @@ public abstract class ImageDetailsWindowLayout extends JDialog { grdVersions.add(scpVersions).fill(true, true).expand(true, true); grdVersions.finish(false); - /* ******************************************************************************* + /* + * ***************************************************************************** + * ** * - * Tab: Permissions + * Tab: Permissions * ********************************************************************************/ JPanel pnlTabPermissions = new JPanel(); ctlImagePermissionConfigurator = new ImagePermissionConfigurator(); - GridManager grdImagePermissionConfigurator = new GridManager(pnlTabPermissions, 1, false, new Insets(8, 2, 8, 2)); + GridManager grdImagePermissionConfigurator = new GridManager(pnlTabPermissions, 1, false, + new Insets(8, 2, 8, 2)); grdImagePermissionConfigurator.add(ctlImagePermissionConfigurator).fill(true, true).expand(true, true); // Panel with the permissions for other users JPanel defaultPermissionPane = new JPanel(); @@ -268,9 +303,11 @@ public abstract class ImageDetailsWindowLayout extends JDialog { grdImagePermissionConfigurator.add(defaultPermissionPane).fill(true, false).expand(false, false); grdImagePermissionConfigurator.finish(false); - /* ******************************************************************************* + /* + * ***************************************************************************** + * ** * - * Bottom panel for buttons + * Bottom panel for buttons * ********************************************************************************/ JPanel pnlButtons = new JPanel(); @@ -286,16 +323,18 @@ public abstract class ImageDetailsWindowLayout extends JDialog { pnlButtons.add(btnClose); pnlButtons.add(btnSaveChanges); - /* ******************************************************************************* + /* + * ***************************************************************************** + * ** * - * Main panel containing the tabs + * Main panel containing the tabs * ********************************************************************************/ pnlTabs = new JTabbedPane(); pnlTabs.addTab("Übersicht", pnlTabOverview); pnlTabs.addTab("VM-Versionen", pnlTabVersions); pnlTabs.addTab("Berechtigungen", pnlTabPermissions); - + add(pnlTabs, BorderLayout.CENTER); add(pnlButtons, BorderLayout.PAGE_END); } |