This is an automated email from the ASF dual-hosted git repository.
grobmeier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-chainsaw.git
The following commit(s) were added to refs/heads/master by this push:
new ce5eabd extracted tutorial frame to its own class
ce5eabd is described below
commit ce5eabda751c2bf565e598c6c7117dcf8662880c
Author: Christian Grobmeier <[email protected]>
AuthorDate: Sun Dec 10 18:23:14 2023 +0100
extracted tutorial frame to its own class
---
.../log4j/chainsaw/ChainsawToolBarAndMenus.java | 2 +-
src/main/java/org/apache/log4j/chainsaw/LogUI.java | 30 +++------------
.../components/tutorial/TutorialFrame.java | 45 ++++++++++++++++------
3 files changed, 39 insertions(+), 38 deletions(-)
diff --git
a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
index e01f5df..658e7c5 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
@@ -501,7 +501,7 @@ class ChainsawToolBarAndMenus implements ChangeListener {
Action startTutorial =
new AbstractAction("Tutorial...", new
ImageIcon(ChainsawIcons.HELP)) {
public void actionPerformed(ActionEvent e) {
- logui.setupTutorial();
+ logui.tutorialFrame.setupTutorial();
}
};
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogUI.java
b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
index 8496e80..45f9e06 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogUI.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
@@ -101,7 +101,7 @@ public class LogUI extends JFrame {
private ChainsawToolBarAndMenus chainsawToolBarAndMenus;
private ChainsawAbout aboutBox;
private SettingsManager settingsManager;
- private final JFrame tutorialFrame = new JFrame("Chainsaw Tutorial");
+ public TutorialFrame tutorialFrame;
private JSplitPane mainReceiverSplitPane;
private double lastMainReceiverSplitLocation =
DEFAULT_MAIN_RECEIVER_SPLIT_LOCATION;
private final List<LogPanel> identifierPanels = new ArrayList<>();
@@ -249,11 +249,11 @@ public class LogUI extends JFrame {
private void setupHelpSystem() {
welcomePanel = new WelcomePanel();
- JToolBar tb = welcomePanel.getToolbar();
-
+ tutorialFrame = new TutorialFrame(receivers, receiverListeners, this,
statusBar) ;
+ JToolBar tb = welcomePanel.getToolbar();
JButton help = new SmallButton.Builder().iconUrl(ChainsawIcons.HELP)
- .action(this::setupTutorial).shortDescription("Tutorial").build();
+
.action(tutorialFrame::setupTutorial).shortDescription("Tutorial").build();
tb.add(help);
@@ -602,7 +602,7 @@ public class LogUI extends JFrame {
SwingHelper.invokeOnEDT(this::showReceiverConfigurationPanel);
}
- new TutorialFrame(receivers, receiverListeners,
this).createTutorialFrame(tutorialFrame, statusBar);
+
/*
* loads the saved tab settings and if there are hidden tabs,
@@ -1242,26 +1242,6 @@ public class LogUI extends JFrame {
return applicationPreferenceModel;
}
- public void setupTutorial() {
- SwingUtilities.invokeLater(
- () -> {
- Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
- setLocation(0, getLocation().y);
-
- double chainsawwidth = 0.7;
- double tutorialwidth = 1 - chainsawwidth;
- setSize((int) (screen.width * chainsawwidth),
getSize().height);
- invalidate();
- validate();
-
- Dimension size = getSize();
- Point loc = getLocation();
- tutorialFrame.setSize(
- (int) (screen.width * tutorialwidth), size.height);
- tutorialFrame.setLocation(loc.x + size.width, loc.y);
- tutorialFrame.setVisible(true);
- });
- }
private void buildLogPanel(
boolean customExpression, final String ident, final
List<ChainsawLoggingEvent> events, final ChainsawReceiver rx)
diff --git
a/src/main/java/org/apache/log4j/chainsaw/components/tutorial/TutorialFrame.java
b/src/main/java/org/apache/log4j/chainsaw/components/tutorial/TutorialFrame.java
index 0f2abd3..96cb22c 100644
---
a/src/main/java/org/apache/log4j/chainsaw/components/tutorial/TutorialFrame.java
+++
b/src/main/java/org/apache/log4j/chainsaw/components/tutorial/TutorialFrame.java
@@ -20,23 +20,45 @@ import java.beans.PropertyChangeListener;
import java.io.IOException;
import java.util.List;
-public class TutorialFrame {
+public class TutorialFrame extends JFrame {
public static final String LABEL_TUTORIAL_STARTED = "TutorialStarted";
private final Logger logger = LogManager.getLogger(TutorialFrame.class);
- private List<ChainsawReceiver> receivers;
- private List<ReceiverEventListener> receiverEventListeners;
- private LogUI logUI;
- private final JFrame tutorialFrame = new JFrame("Chainsaw Tutorial");
- public TutorialFrame(List<ChainsawReceiver> receivers,
List<ReceiverEventListener> receiverEventListeners, LogUI logUI) {
+ private final List<ChainsawReceiver> receivers;
+ private final List<ReceiverEventListener> receiverEventListeners;
+ private final LogUI logUI;
+
+ public TutorialFrame(List<ChainsawReceiver> receivers,
List<ReceiverEventListener> receiverEventListeners, LogUI logUI,
ChainsawStatusBar statusBar) {
+ super("Chainsaw Tutorial");
this.receivers = receivers;
this.receiverEventListeners = receiverEventListeners;
this.logUI = logUI;
+
+ createTutorialFrame(statusBar);
}
- public void createTutorialFrame(JFrame tutorialFrame, ChainsawStatusBar
statusBar) {
- Container container = tutorialFrame.getContentPane();
+ public void setupTutorial() {
+ SwingUtilities.invokeLater(
+ () -> {
+ Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
+ setLocation(0, getLocation().y);
+
+ double chainsawwidth = 0.7;
+ double tutorialwidth = 1 - chainsawwidth;
+ setSize((int) (screen.width * chainsawwidth),
getSize().height);
+ invalidate();
+ validate();
+
+ Dimension size = getSize();
+ Point loc = getLocation();
+ setSize((int) (screen.width * tutorialwidth), size.height);
+ setLocation(loc.x + size.width, loc.y);
+ setVisible(true);
+ });
+ }
+ public void createTutorialFrame(ChainsawStatusBar statusBar) {
+ Container container = getContentPane();
container.setLayout(new BorderLayout());
final JEditorPane tutorialArea = new JEditorPane();
@@ -52,8 +74,8 @@ public class TutorialFrame {
statusBar.setMessage("Can't load tutorial");
}
- this.tutorialFrame.setIconImage(new
ImageIcon(ChainsawIcons.HELP).getImage());
- this.tutorialFrame.setSize(new Dimension(640, 480));
+ this.setIconImage(new ImageIcon(ChainsawIcons.HELP).getImage());
+ this.setSize(new Dimension(640, 480));
final Action startTutorial = createStartTutorialAction();
final Action stopTutorial = createStopTutorialAction(startTutorial);
@@ -72,8 +94,7 @@ public class TutorialFrame {
tutorialArea.setPage(e.getURL());
} catch (IOException e1) {
statusBar.setMessage("Failed to change URL for
tutorial");
- logger.error(
- "Failed to change the URL for the Tutorial",
e1);
+ logger.error("Failed to change the URL for the
Tutorial", e1);
}
}
}