/**
* Debug.java
* Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package org.expeditee.actions;
import java.awt.Graphics;
import java.awt.Robot;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.expeditee.core.Colour;
import org.expeditee.gio.swing.SwingGraphicsManager;
import org.expeditee.gio.swing.SwingInputManager;
import org.expeditee.gui.DisplayController;
import org.expeditee.gui.FrameCreator;
import org.expeditee.gui.FrameIO;
import org.expeditee.gui.MessageBay;
import org.expeditee.items.Constraint;
import org.expeditee.items.Item;
import com.sun.glass.events.KeyEvent;
/**
* This class is used for temporary debugging actions that will get removed from
* the final product.
*
* @author jdm18
*
*/
public class Debug {
/**
* Outputs the list of constraints all Items in the current Frame have.
*/
public static void ShowConstraints() {
List- items = DisplayController.getCurrentFrame().getItems();
for (Item i : items)
if (i.isLineEnd()) {
System.out.println(i.getID());
for (Constraint c : i.getConstraints())
if (c.getOppositeEnd(i) != null)
System.out.println("\t"
+ c.getOppositeEnd(i).getID());
else
System.out.println("\tNULL");
System.out.println("------------");
}
System.out.println("==================");
}
public static void PrintLine() {
System.out.println("Action");
}
@SuppressWarnings("serial")
public static void GraphicsTranslateTest() {
final JFrame f = new JFrame();
f.setContentPane(new JPanel() {
public void paintComponent(Graphics g) {
final int pos = 10;
final int size = 100;
int translate = 10;
for(int i = 0; i < 5; i++) {
g.translate(translate, translate);
g.drawRect(pos, pos, size, size);
g.translate(-translate, -translate);
}
}
});
f.setSize(400, 400);
f.setVisible(true);
}
public static void RobotTest() {
try {
final Robot screenWin = new Robot();//SwingInputManager.getInstance()._robot;
while(true) {
System.err.println("Sleeping 2 secs");
TimeUnit.SECONDS.sleep(2);
System.err.println("Robot move to (100,300)");
screenWin.mouseMove(100, 300);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void TestFastInput() {
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_A, 'A'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_B, 'B'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_C, 'C'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_D, 'D'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_E, 'E'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_F, 'F'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_G, 'G'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_H, 'H'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_I, 'I'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_J, 'J'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_K, 'K'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_L, 'L'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_M, 'M'));
SwingInputManager.getInstance().keyTyped(new java.awt.event.KeyEvent(SwingGraphicsManager.getInstance().getJFrame(), KeyEvent.PRESS, System.currentTimeMillis(), 0, KeyEvent.VK_N, 'N'));
}
public static void HowManyMinWidths() {
MessageBay.displayMessage(DisplayController.getCurrentFrame().getItems().stream().filter(t -> t.getMinWidth() != null).collect(Collectors.toList()).size() + "");
}
public static void FrameCreatorTest() {
FrameCreator creator = new FrameCreator("testFrameset", FrameIO.FRAME_PATH, "TestFrameset", FrameCreator.ExistingFramesetOptions.AppendSegregatedFrames, false, null);
creator.addText("Test1", Colour.CYAN, null, null, true);
creator = new FrameCreator("testFrameset", FrameIO.FRAME_PATH, "TestFrameset", FrameCreator.ExistingFramesetOptions.AppendSegregatedFrames, false, null);
creator.addText("Test2", Colour.CYAN, null, null, true);
creator = new FrameCreator("testFrameset", FrameIO.FRAME_PATH, "TestFrameset", FrameCreator.ExistingFramesetOptions.OverrideExistingFrames, false, null);
creator.addText("Test3", Colour.CYAN, null, null, true);
}
}