Spring Cleaning

Clisprail is so bad.
This commit is contained in:
Dane
2013-06-20 16:30:36 -04:00
parent 244588f5b6
commit 9e99eea72c
3 changed files with 109 additions and 83 deletions
+17 -5
View File
@@ -5,7 +5,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.TimerTask;
import org.parabot.core.asm.ASMClassLoader;
import org.parabot.core.bot.loader.BotLoader;
import org.parabot.core.classpath.ClassPath;
@@ -17,6 +16,7 @@ import org.parabot.environment.servers.ServerProvider;
/**
* Game context
*
* @author Clisprail
*
*/
@@ -38,8 +38,6 @@ public class Context {
public boolean added = false;
public Context(final ServerProvider serverProvider) {
threadGroups.put(Thread.currentThread().getThreadGroup(), this);
tab = id;
@@ -50,6 +48,7 @@ public class Context {
/**
* Sets the ServerProvider class loader
*
* @param serverEnvironment
*/
public void setEnvironment(ASMClassLoader serverEnvironment) {
@@ -65,6 +64,7 @@ public class Context {
/**
* ClassPath
*
* @return classpath
*/
public ClassPath getClassPath() {
@@ -73,6 +73,7 @@ public class Context {
/**
* Determines if applet has been set
*
* @return <b>true</b> if set
*/
public boolean appletSet() {
@@ -81,6 +82,7 @@ public class Context {
/**
* Gets game applet
*
* @return applet
*/
public Applet getApplet() {
@@ -89,6 +91,7 @@ public class Context {
/**
* Resolves the context from threadgroup
*
* @return context
*/
public static Context resolve() {
@@ -102,10 +105,10 @@ public class Context {
serverProvider.parseJar();
serverProvider.injectHooks();
gameApplet = serverProvider.fetchApplet();
if(getClient() == null) {
if (getClient() == null) {
setClientInstance(gameApplet);
}
serverProvider.addMenuItems(BotUI.getInstance().getBar());
serverProvider.addMenuItems(BotUI.getInstance().getJMenuBar());
BotUI.getInstance().validate();
final GamePanel panel = GamePanel.getInstance();
panel.removeLoader();
@@ -122,6 +125,7 @@ public class Context {
/**
* Gets the server prodiver belonging to this context
*
* @return server provider
*/
public ServerProvider getServerProvider() {
@@ -130,6 +134,7 @@ public class Context {
/**
* Gets class loader from this context
*
* @return class loader
*/
public ASMClassLoader getASMClassLoader() {
@@ -138,6 +143,7 @@ public class Context {
/**
* Gets the id of this context
*
* @return id context
*/
public static int getID() {
@@ -146,6 +152,7 @@ public class Context {
/**
* Tab id of this context
*
* @return tab id of this context
*/
public int getTab() {
@@ -154,6 +161,7 @@ public class Context {
/**
* Adds a paintable instance to the paintables
*
* @param paintable
*/
public void addPaintable(Paintable paintable) {
@@ -162,6 +170,7 @@ public class Context {
/**
* Removes a paintable instance from the paintables
*
* @param paintable
*/
public void removePaintable(Paintable paintable) {
@@ -170,6 +179,7 @@ public class Context {
/**
* Gets the paintable instances
*
* @return array of paintable instances
*/
public Paintable[] getPaintables() {
@@ -178,6 +188,7 @@ public class Context {
/**
* The client debug painter
*
* @return debug painter
*/
public PaintDebugger getPaintDebugger() {
@@ -186,6 +197,7 @@ public class Context {
/**
* Gets the main/client instance
*
* @return instance of the the client
*/
public Object getClient() {
+69 -44
View File
@@ -1,80 +1,105 @@
package org.parabot.core.ui;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.GroupLayout;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JToolBar;
import javax.swing.WindowConstants;
import org.parabot.core.ui.components.BotToolbar;
import org.parabot.core.ui.components.GamePanel;
import org.parabot.core.ui.components.LogArea;
import org.parabot.core.ui.images.Images;
import org.parabot.core.ui.utils.AwtUtil;
import org.parabot.core.ui.utils.SwingUtil;
/**
* Bot frame
*
* @author Clisprail
* @author Dane
*
*/
public class BotUI extends JFrame {
public class BotUI extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = -2126184292879805519L;
private static BotUI instance = null;
private JMenuBar bar = null;
public static BotUI getInstance() {
return instance == null ? instance = new BotUI() : instance;
}
public BotUI() {
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
setDefaultLookAndFeelDecorated(false);
bar = new JMenuBar();
JMenu file = new JMenu("File");
JMenuItem screenshot = new JMenuItem("Screenshot");
screenshot.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
new Thread(new Runnable() {
@Override
public void run() {
}
}).start();
}
});
file.add(screenshot);
bar.add(file);
this.setTitle("Parabot");
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setIconImage(Images.getResource("/org/parabot/core/ui/images/icon.png"));
this.setLayout(new BorderLayout());
JScrollPane textPane = LogArea.getInstance();
GroupLayout layout = new GroupLayout(getContentPane());
JToolBar tool = BotToolbar.getInstance();
GamePanel pane = GamePanel.getInstance();
pane.addLoader();
getContentPane().setLayout(layout);
setJMenuBar(bar);
setTitle("Parabot");
setIconImage(Images.getResource("/org/parabot/core/ui/images/icon.png"));
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setResizable(false);
SwingUtil.center(this);
layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING))).addComponent(tool, 768, 768, 768).addComponent(pane, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(textPane, 768, 768, 768));
layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addComponent(tool, 30, 30, 30).addComponent(pane, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addComponent(textPane, 100, 100, 100).addContainerGap(58, Short.MAX_VALUE)));
LogArea.log("Welcome to Parabot v2");
int iToolbarHeight = 24;
int iGameHeight = 503;
int iLogHeight = 128;
JPanel panel = new JPanel();
panel.setLocation(0, 0);
panel.setPreferredSize(new Dimension(765, iToolbarHeight + iGameHeight + iLogHeight));
JMenuBar menubar = new JMenuBar();
JMenu mnuFile = new JMenu("File");
JMenuItem itmScreenshot = new JMenuItem("Screenshot");
itmScreenshot.addActionListener(this);
mnuFile.add(itmScreenshot);
menubar.add(mnuFile);
this.setJMenuBar(menubar);
int x = 0;
int y = 0;
JToolBar toolbar = BotToolbar.getInstance();
toolbar.setPreferredSize(new Dimension(765, iToolbarHeight));
toolbar.setLocation(x, y);
y += iToolbarHeight;
GamePanel gamePanel = GamePanel.getInstance();
gamePanel.setPreferredSize(new Dimension(765, iGameHeight));
toolbar.setLocation(x, y);
y += iGameHeight;
JScrollPane scrlConsole = LogArea.getInstance();
scrlConsole.setPreferredSize(new Dimension(765, iLogHeight));
toolbar.setLocation(x, y);
panel.add(toolbar);
panel.add(gamePanel);
panel.add(scrlConsole);
this.add(panel, BorderLayout.CENTER);
SwingUtil.finalize(this);
LogArea.log("Welcome to Parabot!");
}
public JMenuBar getBar() {
return bar;
}
@Override
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
switch (command) {
case "Screenshot":
LogArea.log("Boop");
break;
default:
System.out.println("Invalid command: ");
}
}
}
@@ -1,7 +1,5 @@
package org.parabot.core.ui.components;
import java.awt.Dimension;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.Properties;
@@ -23,12 +21,7 @@ public class LogArea extends JScrollPane {
private static LogTextArea logArea = new LogTextArea();
private LogArea() {
super(TextAreaLogHandler.TEXT_AREA,
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
logArea.setPreferredSize(new Dimension(775, 80));
setPreferredSize(new Dimension(776, 100));
setSize(775, 100);
super(TextAreaLogHandler.TEXT_AREA, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
setVisible(true);
registerLogging();
}
@@ -63,19 +56,15 @@ public class LogArea extends JScrollPane {
final Properties logging = new Properties();
final String logFormatter = LogFormatter.class.getCanonicalName();
final String fileHandler = FileHandler.class.getCanonicalName();
logging.setProperty("handlers",
TextAreaLogHandler.class.getCanonicalName() + "," + fileHandler);
logging.setProperty("handlers", TextAreaLogHandler.class.getCanonicalName() + "," + fileHandler);
logging.setProperty(".level", "INFO");
logging.setProperty(SystemConsoleHandler.class.getCanonicalName()
+ ".formatter", logFormatter);
logging.setProperty(SystemConsoleHandler.class.getCanonicalName() + ".formatter", logFormatter);
logging.setProperty(fileHandler + ".formatter", logFormatter);
logging.setProperty(TextAreaLogHandler.class.getCanonicalName()
+ ".formatter", logFormatter);
logging.setProperty(TextAreaLogHandler.class.getCanonicalName() + ".formatter", logFormatter);
final ByteArrayOutputStream logout = new ByteArrayOutputStream();
try {
logging.store(logout, "");
LogManager.getLogManager().readConfiguration(
new ByteArrayInputStream(logout.toByteArray()));
LogManager.getLogManager().readConfiguration(new ByteArrayInputStream(logout.toByteArray()));
} catch (final Exception ignored) {
}
}