Implement font increse/decrease with CTRL+MouseWheel

This commit is contained in:
Martino Facchin 2017-07-25 14:58:10 +02:00
parent c07f8fca54
commit 388822ad95
1 changed files with 17 additions and 1 deletions

View File

@ -30,6 +30,9 @@ import java.awt.BorderLayout;
import java.awt.Font; import java.awt.Font;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.MouseWheelListener;
import java.awt.event.MouseWheelEvent;
import java.io.IOException; import java.io.IOException;
import javax.swing.Action; import javax.swing.Action;
@ -64,7 +67,7 @@ import processing.app.tools.DiscourseFormat;
/** /**
* Single tab, editing a single file, in the main window. * Single tab, editing a single file, in the main window.
*/ */
public class EditorTab extends JPanel implements SketchFile.TextStorage { public class EditorTab extends JPanel implements SketchFile.TextStorage, MouseWheelListener {
protected Editor editor; protected Editor editor;
protected SketchTextArea textarea; protected SketchTextArea textarea;
protected RTextScrollPane scrollPane; protected RTextScrollPane scrollPane;
@ -106,6 +109,7 @@ public class EditorTab extends JPanel implements SketchFile.TextStorage {
file.setStorage(this); file.setStorage(this);
applyPreferences(); applyPreferences();
add(scrollPane, BorderLayout.CENTER); add(scrollPane, BorderLayout.CENTER);
textarea.addMouseWheelListener(this);
} }
private RSyntaxDocument createDocument(String contents) { private RSyntaxDocument createDocument(String contents) {
@ -178,6 +182,18 @@ public class EditorTab extends JPanel implements SketchFile.TextStorage {
return textArea; return textArea;
} }
public void mouseWheelMoved(MouseWheelEvent e) {
if (e.isControlDown()) {
if (e.getWheelRotation() < 0) {
editor.base.handleFontSizeChange(1);
} else {
editor.base.handleFontSizeChange(-1);
}
} else {
e.getComponent().getParent().dispatchEvent(e);
}
}
private void configurePopupMenu(final SketchTextArea textarea){ private void configurePopupMenu(final SketchTextArea textarea){
JPopupMenu menu = textarea.getPopupMenu(); JPopupMenu menu = textarea.getPopupMenu();