X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finstantlauncher%2Fmenu%2FMenu.java;h=948672a3a4ff805f2e33c83926a76fb9da768165;hb=703c41d98777f26a8e51ce24f775a4538310cd8d;hp=a99c7c026850f2afdfd1ac93652c019f2a75595d;hpb=7afbbed8e0cef27a47dd7599aadc5c2c814c7dea;p=instantlauncher.git diff --git a/src/main/java/eu/svjatoslav/instantlauncher/menu/Menu.java b/src/main/java/eu/svjatoslav/instantlauncher/menu/Menu.java index a99c7c0..948672a 100755 --- a/src/main/java/eu/svjatoslav/instantlauncher/menu/Menu.java +++ b/src/main/java/eu/svjatoslav/instantlauncher/menu/Menu.java @@ -22,31 +22,122 @@ import eu.svjatoslav.instantlauncher.Utils; public class Menu { + public static class ButtonMouseListener implements MouseListener { + + JButton parentButton; + Menu parentMenu; + File file; + + public ButtonMouseListener(final JButton button, final Menu parentMenu, final File file) { + parentButton = button; + this.parentMenu = parentMenu; + this.file = file; + } + + @Override + public void mouseClicked(final MouseEvent e) { + try { + + if (e.getButton() == 1) + parentMenu.menuItemSelected(file); + if (e.getButton() == 3) + parentMenu.menuItemSelectedAlternative(file); + } catch (final Exception ex) { + new ExceptionDialog(ex); + } + } + + @Override + public void mouseEntered(final MouseEvent e) { + try { + if (parentButton != parentMenu.getSelectedButton()) { + + if (parentMenu.getSelectedButton() != null) + parentMenu.getSelectedButton().setBackground(getFileColor(parentMenu.getSelectedFile(), false)); + + parentMenu.setSelected(parentButton, file); + parentButton.setBackground(getFileColor(file, true)); + + parentMenu.menuItemHighlighted(file); + } + } catch (final Exception ex) { + new ExceptionDialog(ex); + } + } + + @Override + public void mouseExited(final MouseEvent e) { + } + + @Override + public void mousePressed(final MouseEvent e) { + } + + @Override + public void mouseReleased(final MouseEvent e) { + } + + } + public static final Color BUTTON_BG_DIRECTORY = new Color(0, 0, 60); - public static final Color BUTTON_BG_DIRECTORY_SELECTED = new Color(0, 0, 100); + public static final Color BUTTON_BG_DIRECTORY_SELECTED = new Color(0, 0, 100); public static final Color BUTTON_BG_LINK = new Color(60, 60, 0); - public static final Color BUTTON_BG_LINK_SELECTED = new Color(100, 100, 0); + public static final Color BUTTON_BG_LINK_SELECTED = new Color(100, 100, 0); public static final Color BUTTON_BG_EXECUTABLE_FILE = new Color(60, 0, 0); - public static final Color BUTTON_BG_EXECUTABLE_FILE_SELECTED = new Color(100, 0, 0); + public static final Color BUTTON_BG_EXECUTABLE_FILE_SELECTED = new Color(100, 0, 0); public static final Color BUTTON_BG_NONEXECUTABLE_FILE = new Color(0, 60, 0); - public static final Color BUTTON_BG_NONEXECUTABLE_FILE_SELECTED = new Color(0, 100, 0); + public static final Color BUTTON_BG_NONEXECUTABLE_FILE_SELECTED = new Color(0, 100, 0); public static final Dimension SIZE_BUTTON = new Dimension(200, 30); + public static final Dimension SIZE_MENU_PANEL = new Dimension(210, 900); + /** + *
+ * Assign specific colors to: + * Directory + * Executable file + * Non executable file + *+ */ + public static Color getFileColor(final File file, final boolean selected) { + if (file.isDirectory()) + if (selected) + return BUTTON_BG_DIRECTORY_SELECTED; + else + return BUTTON_BG_DIRECTORY; + + if (file.isFile()) + if (file.canExecute()) { + if (selected) + return BUTTON_BG_EXECUTABLE_FILE_SELECTED; + else + return BUTTON_BG_EXECUTABLE_FILE; + } else if (selected) + return BUTTON_BG_NONEXECUTABLE_FILE_SELECTED; + else + return BUTTON_BG_NONEXECUTABLE_FILE; + + if (selected) + return BUTTON_BG_LINK_SELECTED; + else + return BUTTON_BG_LINK; + } + private JPanel menuPanel; public JButton selectedButton; - public File selectedFile; + + public File selectedFile;; private final Set
- * Assign specific colors to: - * Directory - * Executable file - * Non executable file - *- */ - public static Color getFileColor(final File file, final boolean selected) { - if (file.isDirectory()) { - if (selected) { - return BUTTON_BG_DIRECTORY_SELECTED; - } else { - return BUTTON_BG_DIRECTORY; - } - } - - if (file.isFile()) { - if (file.canExecute()) { - if (selected) { - return BUTTON_BG_EXECUTABLE_FILE_SELECTED; - } else { - return BUTTON_BG_EXECUTABLE_FILE; - } - } else { - if (selected) { - return BUTTON_BG_NONEXECUTABLE_FILE_SELECTED; - } else { - return BUTTON_BG_NONEXECUTABLE_FILE; - } - } - } - - if (selected) { - return BUTTON_BG_LINK_SELECTED; - } else { - return BUTTON_BG_LINK; - } - } - - public static class ButtonMouseListener implements MouseListener { - - JButton parentButton; - Menu parentMenu; - File file; - - public ButtonMouseListener(final JButton button, final Menu parentMenu, final File file) { - parentButton = button; - this.parentMenu = parentMenu; - this.file = file; - } - - @Override - public void mouseClicked(final MouseEvent e) { - try { - - if (e.getButton() == 1) { - parentMenu.notifyEventListeners(file); - } - if (e.getButton() == 3) { - parentMenu.notifyAlternativeEventListeners(file); - } - } catch (final Exception ex) { - new ExceptionDialog(ex); - } - } - - @Override - public void mouseEntered(final MouseEvent e) { - try { - if (parentButton != parentMenu.getSelectedButton()) { - - if (parentMenu.getSelectedButton() != null) { - parentMenu.getSelectedButton().setBackground(getFileColor(parentMenu.getSelectedFile(), false)); - } - - parentMenu.setSelected(parentButton, file); - parentButton.setBackground(getFileColor(file, true)); - - if (file.isDirectory()) { - parentMenu.notifyEventListeners(file); - } - } - } catch (final Exception ex) { - new ExceptionDialog(ex); - } - } - - @Override - public void mouseExited(final MouseEvent e) { - } - - @Override - public void mousePressed(final MouseEvent e) { - } - - @Override - public void mouseReleased(final MouseEvent e) { - } - - } - } \ No newline at end of file