From db588481b004b0c3d22b906f693bbc00f6eda042 Mon Sep 17 00:00:00 2001 From: Kuersat Akmaz Date: Thu, 12 Nov 2020 21:42:16 +0100 Subject: [client] added text sizing and color to htmleditor in imagedetailswindow Issue : #3732 --- .../dozmod/gui/window/ImageDetailsWindow.java | 42 ++++++++++++++++++++++ .../window/layout/ImageDetailsWindowLayout.java | 31 +++++++++++----- 2 files changed, 65 insertions(+), 8 deletions(-) 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 c8d3b5a2..7a89c54d 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 @@ -20,6 +20,7 @@ import java.util.List; import java.util.Map; import javax.swing.AbstractAction; +import javax.swing.Action; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JMenuItem; @@ -27,6 +28,7 @@ import javax.swing.JOptionPane; import javax.swing.KeyStroke; import javax.swing.ListSelectionModel; import javax.swing.SwingUtilities; +import javax.swing.text.StyledEditorKit; import org.apache.log4j.Logger; import org.apache.thrift.TException; @@ -230,6 +232,46 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe } }); + cbTxtSize.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + int size = Integer.parseInt((String) cbTxtSize.getSelectedItem()); + Action act = new StyledEditorKit.FontSizeAction(String.valueOf(size),size); + act.actionPerformed(new ActionEvent(act,ActionEvent.ACTION_PERFORMED, + (String)act.getValue(Action.ACTION_COMMAND_KEY))); + } + }); + + cbTxtColor.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + String color = (String) cbTxtColor.getSelectedItem(); + Action act = null; + + switch(color) { + case "Black": + act = new StyledEditorKit.ForegroundAction("Black", Color.black); + break; + case "Blue": + act = new StyledEditorKit.ForegroundAction("Blue", Color.blue); + break; + case "Yellow": + act = new StyledEditorKit.ForegroundAction("Yellow", Color.yellow); + break; + case "Red": + act = new StyledEditorKit.ForegroundAction("Red", Color.red); + break; + case "Green": + act = new StyledEditorKit.ForegroundAction("Green", Color.green); + break; + } + + act.actionPerformed(new ActionEvent(act,ActionEvent.ACTION_PERFORMED, + (String)act.getValue(Action.ACTION_COMMAND_KEY))); + } + }); + + tblVersions.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); /** 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 040fffa5..9490bc72 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 @@ -2,17 +2,19 @@ package org.openslx.dozmod.gui.window.layout; import java.awt.BorderLayout; import java.awt.Color; +import java.awt.Dimension; import java.awt.Font; import java.awt.Frame; import java.awt.GridBagConstraints; import java.awt.Insets; -import java.awt.GridLayout; +import java.awt.FlowLayout; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JCheckBox; +import javax.swing.JComboBox; import javax.swing.JDialog; import javax.swing.JEditorPane; import javax.swing.JFrame; @@ -20,7 +22,6 @@ import javax.swing.JLabel; import javax.swing.JPanel; 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; @@ -81,7 +82,9 @@ public abstract class ImageDetailsWindowLayout extends JDialog { protected final JButton btnBold; protected final JButton btnItalic; protected final JButton btnUnderline; - + protected final JComboBox cbTxtSize; + protected final JComboBox cbTxtColor; + protected JTabbedPane pnlTabs; protected ImagePermissionConfigurator ctlImagePermissionConfigurator; @@ -114,22 +117,34 @@ public abstract class ImageDetailsWindowLayout extends JDialog { // buttons for text editing JPanel editingPanel = new JPanel(); - editingPanel.setLayout(new GridLayout(1, 3)); + + editingPanel.setLayout(new FlowLayout(FlowLayout.LEADING)); JPanel emptyPanel = new JPanel(); grid.add(emptyPanel); btnBold = new JButton(new StyledEditorKit.BoldAction()); - btnBold.setIcon(Gui.getScaledIconResource("/img/bold.png", "B", 24, this)); + btnBold.setIcon(Gui.getScaledIconResource("/img/bold.png", "B", 15, this)); btnBold.setText(""); btnItalic = new JButton(new StyledEditorKit.ItalicAction()); - btnItalic.setIcon(Gui.getScaledIconResource("/img/italic.png", "B", 24, this)); + btnItalic.setIcon(Gui.getScaledIconResource("/img/italic.png", "B", 15, this)); btnItalic.setText(""); btnUnderline = new JButton(new StyledEditorKit.UnderlineAction()); - btnUnderline.setIcon(Gui.getScaledIconResource("/img/underline.png", "B", 24, this)); + btnUnderline.setIcon(Gui.getScaledIconResource("/img/underline.png", "B", 15, this)); btnUnderline.setText(""); editingPanel.add(btnBold); editingPanel.add(btnItalic); editingPanel.add(btnUnderline); - grid.add(editingPanel); + + String[] textsizes = {"10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29"}; + cbTxtSize = new JComboBox<>(textsizes); + cbTxtSize.setPreferredSize(new Dimension(65,25)); + editingPanel.add(cbTxtSize); + + Object[] colors = {"Black", "Blue", "Red", "Yellow", "Green"}; + cbTxtColor = new JComboBox<>(colors); + cbTxtColor.setPreferredSize(new Dimension(100,25)); + editingPanel.add(cbTxtColor); + + grid.add(editingPanel).expand(false, true); grid.add(emptyPanel); grid.nextRow(); -- cgit v1.2.3-55-g7522