Native look&feel, fixed bug when closing views, other cosmetic changes
This commit is contained in:
parent
c8752a6389
commit
ae94b52a00
BIN
TileMolester.jar
BIN
TileMolester.jar
Binary file not shown.
8
resources/TM200.xml
Normal file
8
resources/TM200.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!DOCTYPE tmres SYSTEM "tmres.dtd">
|
||||
<tmres>
|
||||
<bookmarks>
|
||||
</bookmarks>
|
||||
<palettes>
|
||||
</palettes>
|
||||
</tmres>
|
|
@ -5,6 +5,7 @@
|
|||
<property key="viewStatusBar" value="true"/>
|
||||
<property key="viewToolBar" value="true"/>
|
||||
<property key="maxRecentFiles" value="10"/>
|
||||
<property key="recentFile" value="/home/ivan/Escritorio/Otros/Apps/TM200"/>
|
||||
<property key="lastPath" value=""/>
|
||||
<property key="MenuBG" value="#151b1c"/>
|
||||
<property key="WindowBG" value="#222b2e"/>
|
||||
|
|
|
@ -16,8 +16,12 @@
|
|||
*
|
||||
*/
|
||||
|
||||
import javax.swing.UIManager;
|
||||
|
||||
import tm.ui.TMUI;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Tile Molester main class.
|
||||
|
@ -35,8 +39,18 @@ public class TileMolester {
|
|||
*
|
||||
**/
|
||||
|
||||
private static String OS = System.getProperty("os.name").toLowerCase();
|
||||
public static Boolean isLinux = OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0;
|
||||
public static Boolean isWindows = OS.indexOf("win") >= 0;
|
||||
|
||||
public TileMolester() {
|
||||
new TMUI();
|
||||
try {
|
||||
if(isLinux) UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
|
||||
if(isWindows) UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
new TMUI();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -72,12 +72,12 @@ public class TMStatusBar extends JPanel {
|
|||
add(p3);
|
||||
// pane.add(new JLabel(" ")); // just some whitespace
|
||||
|
||||
offsetLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
coordsLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
palOffsetLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
codecLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
modeLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
tilesLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
//offsetLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
//coordsLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
//palOffsetLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
//codecLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
//modeLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
//tilesLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -258,7 +258,7 @@ public class TMUI extends JFrame {
|
|||
// Help menu
|
||||
private JMenu helpMenu = new JMenu("Help");
|
||||
private JMenuItem helpTopicsMenuItem = new JMenuItem("Help Topics");
|
||||
private JMenuItem tipMenuItem = new JMenuItem("Tip of the Millennium...");
|
||||
//private JMenuItem tipMenuItem = new JMenuItem("Tip of the Millennium..."); // Still say no to drugs, okay?
|
||||
private JMenuItem aboutMenuItem = new JMenuItem("About Tile Molester...");
|
||||
|
||||
// button groups
|
||||
|
@ -370,7 +370,7 @@ public class TMUI extends JFrame {
|
|||
JComponent.setDefaultLocale(this.locale);
|
||||
|
||||
// show splash screen
|
||||
new TMSplashScreen(this);
|
||||
//new TMSplashScreen(this); // No need for a splash screen, it runs immediately on modern systems
|
||||
|
||||
// create a translator
|
||||
try {
|
||||
|
@ -474,7 +474,6 @@ public class TMUI extends JFrame {
|
|||
// Help menu
|
||||
helpMenu.setText(xlate("Help"));
|
||||
helpTopicsMenuItem.setText(xlate("Help_Topics"));
|
||||
tipMenuItem.setText(xlate("Tip_of_the_Millennium"));
|
||||
aboutMenuItem.setText(xlate("About_Tile_Molester"));
|
||||
|
||||
UIManager.put("OptionPane.yesButtonText", xlate("Yes"));
|
||||
|
@ -561,7 +560,8 @@ public class TMUI extends JFrame {
|
|||
// main toolbar
|
||||
initToolBar();
|
||||
initNavBar();
|
||||
toolBarPane.setLayout(new FlowLayout(FlowLayout.LEFT));
|
||||
toolBarPane.setLayout(new FlowLayout(FlowLayout.LEFT));
|
||||
toolBarPane.setBackground(MenuBG);
|
||||
toolBarPane.add(toolBar);
|
||||
toolBarPane.add(navBar);
|
||||
pane.add(toolBarPane, BorderLayout.NORTH);
|
||||
|
@ -571,7 +571,7 @@ public class TMUI extends JFrame {
|
|||
|
||||
// palette pane & statusbar
|
||||
palettePane = new TMPalettePane(this);
|
||||
statusBar.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
//statusBar.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
bottomPane.setLayout(new BorderLayout());
|
||||
bottomPane.add(palettePane, BorderLayout.CENTER);
|
||||
bottomPane.add(statusBar, BorderLayout.SOUTH);
|
||||
|
@ -583,7 +583,8 @@ public class TMUI extends JFrame {
|
|||
JPanel barPane = new JPanel();
|
||||
barPane.setLayout(new GridLayout(1, 2));
|
||||
barPane.add(selectionToolBar);
|
||||
barPane.add(toolPalette);
|
||||
barPane.add(toolPalette);
|
||||
toolPane.setBackground(AsideBG);
|
||||
toolPane.setLayout(new BorderLayout());
|
||||
toolPane.add(barPane, BorderLayout.NORTH);
|
||||
pane.add(toolPane, BorderLayout.WEST);
|
||||
|
@ -628,6 +629,7 @@ public class TMUI extends JFrame {
|
|||
doExitCommand();
|
||||
}
|
||||
public void windowActivated(WindowEvent e) {
|
||||
setExtendedState(JFrame.NORMAL); // Hacky way to make it not run in full screen by default
|
||||
// HACK to fix the GUI after running FCEU in fullscreen mode
|
||||
// int state = getExtendedState();
|
||||
// setExtendedState(JFrame.ICONIFIED);
|
||||
|
@ -1159,7 +1161,7 @@ public class TMUI extends JFrame {
|
|||
toolButtonGroup.add(replaceButton);
|
||||
toolButtonGroup.add(moveButton);
|
||||
selectButton.setSelected(true); // starting tool
|
||||
toolPalette.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
//toolPalette.setBorder(new BevelBorder(BevelBorder.LOWERED));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1318,7 +1320,7 @@ public class TMUI extends JFrame {
|
|||
);
|
||||
fileMenu.add(closeAllMenuItem);
|
||||
//
|
||||
fileMenu.addSeparator();
|
||||
//fileMenu.addSeparator();
|
||||
// Save
|
||||
saveMenuItem.setMnemonic(KeyEvent.VK_S);
|
||||
saveMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK));
|
||||
|
@ -2009,16 +2011,7 @@ public class TMUI extends JFrame {
|
|||
}
|
||||
);
|
||||
helpMenu.add(helpTopicsMenuItem);
|
||||
// Tip of the Millennium
|
||||
tipMenuItem.setMnemonic(KeyEvent.VK_M);
|
||||
tipMenuItem.addActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
doTipCommand();
|
||||
}
|
||||
}
|
||||
);
|
||||
helpMenu.add(tipMenuItem);
|
||||
|
||||
// About
|
||||
aboutMenuItem.setMnemonic(KeyEvent.VK_A);
|
||||
aboutMenuItem.addActionListener(
|
||||
|
@ -2130,8 +2123,8 @@ public class TMUI extends JFrame {
|
|||
|
||||
// remove view from the FileImage and desktop
|
||||
img.removeView(view);
|
||||
view.dispose();
|
||||
desktop.remove(view);
|
||||
view.dispose();
|
||||
desktop.revalidate();
|
||||
desktop.repaint();
|
||||
|
||||
|
@ -2239,8 +2232,8 @@ public class TMUI extends JFrame {
|
|||
|
||||
// remove the view
|
||||
img.removeView(view);
|
||||
view.dispose();
|
||||
desktop.remove(view);
|
||||
view.dispose();
|
||||
}
|
||||
|
||||
buildReopenMenu();
|
||||
|
@ -2719,7 +2712,7 @@ public class TMUI extends JFrame {
|
|||
public void doAboutCommand()
|
||||
{
|
||||
JOptionPane.showMessageDialog(this,
|
||||
"Tile Molester v0.19\nby SnowBro 2003-2005 (v0.16)\nby Dr. MefistO 2013 (v0.17.2)\nby Mewster 2014-2015 (v0.19)", "Tile Molester",
|
||||
"Tile Molester v0.20\nby SnowBro 2003-2005 (v0.16)\nby Dr. MefistO 2013 (v0.17.2)\nby Mewster 2014-2015 (v0.19)\nby toruzz 2020 (v0.20)", "Tile Molester",
|
||||
1);
|
||||
}
|
||||
|
||||
|
|
|
@ -43,6 +43,9 @@ import java.util.Vector;
|
|||
**/
|
||||
|
||||
public class TMView extends JInternalFrame implements ChangeListener {
|
||||
Color MenuBG = TMUI.MenuBG;
|
||||
Color WindowBG = TMUI.WindowBG;
|
||||
Color AsideBG = TMUI.AsideBG;
|
||||
|
||||
private static int frameCount = 0;
|
||||
private JPanel contentPane = new JPanel();
|
||||
|
@ -77,7 +80,10 @@ public class TMView extends JInternalFrame implements ChangeListener {
|
|||
this.fileImage = fileImage;
|
||||
fileImage.addView(this);
|
||||
setDoubleBuffered(true);
|
||||
setBackground(Color.gray);
|
||||
//setBackground(Color.gray);
|
||||
setFrameIcon(null);
|
||||
setBackground(MenuBG);
|
||||
|
||||
setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
|
||||
|
||||
addInternalFrameListener(new InternalFrameAdapter() {
|
||||
|
@ -99,7 +105,8 @@ public class TMView extends JInternalFrame implements ChangeListener {
|
|||
|
||||
// init UI components
|
||||
// the panel containing the slider and editor canvas
|
||||
contentPane.setBackground(Color.gray);
|
||||
//contentPane.setBackground(Color.gray);
|
||||
contentPane.setBackground(AsideBG);
|
||||
contentPane.setLayout(null);
|
||||
contentPane.setFocusable(true);
|
||||
contentPane.addKeyListener(new ViewKeyListener(this));
|
||||
|
@ -120,9 +127,12 @@ public class TMView extends JInternalFrame implements ChangeListener {
|
|||
// the slider
|
||||
slider.setFocusable(false);
|
||||
slider.setInverted(true);
|
||||
contentPane.add(slider);
|
||||
slider.setLocation(0, 0);
|
||||
slider.setSize(24, 384);
|
||||
contentPane.add(slider);
|
||||
slider.setForeground(AsideBG);
|
||||
//slider.setLocation(0, 0);
|
||||
//slider.setSize(24, 384);
|
||||
slider.setLocation(4, -14);
|
||||
slider.setSize(32, 424);
|
||||
slider.addChangeListener(this);
|
||||
|
||||
// the scrollpane
|
||||
|
|
Loading…
Reference in a new issue