1 /* 2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab 3 * Copyright (C) 2011 - DIGITEO - Calixte DENIZET 4 * 5 * Copyright (C) 2012 - 2016 - Scilab Enterprises 6 * 7 * This file is hereby licensed under the terms of the GNU GPL v2.0, 8 * pursuant to article 5.3.4 of the CeCILL v.2.1. 9 * This file was originally licensed under the terms of the CeCILL v2.1, 10 * and continues to be available under such terms. 11 * For more information, see the COPYING file which you should have received 12 * along with this program. 13 * 14 */ 15 16 package org.scilab.modules.ui_data.filebrowser; 17 18 import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel; 19 import org.scilab.modules.gui.bridge.toolbar.SwingScilabToolBar; 20 import org.scilab.modules.gui.bridge.window.SwingScilabWindow; 21 import org.scilab.modules.gui.menu.Menu; 22 import org.scilab.modules.gui.menu.ScilabMenu; 23 import org.scilab.modules.gui.menubar.MenuBar; 24 import org.scilab.modules.gui.menubar.ScilabMenuBar; 25 import org.scilab.modules.gui.tab.SimpleTab; 26 import org.scilab.modules.gui.textbox.TextBox; 27 import org.scilab.modules.gui.toolbar.ScilabToolBar; 28 import org.scilab.modules.gui.toolbar.ToolBar; 29 import org.scilab.modules.gui.utils.WindowsConfigurationManager; 30 import org.scilab.modules.ui_data.actions.HelpAction; 31 import org.scilab.modules.ui_data.filebrowser.actions.CloseAction; 32 import org.scilab.modules.ui_data.filebrowser.actions.GoToHomeAction; 33 import org.scilab.modules.ui_data.filebrowser.actions.GoToSCIAction; 34 import org.scilab.modules.ui_data.utils.UiDataMessages; 35 36 /** 37 * Swing implementation of Scilab Variable browser 38 * uses JTable 39 * @author Calixte DENIZET 40 */ 41 @SuppressWarnings(value = { "serial" }) 42 public final class SwingScilabFileBrowser extends SwingScilabDockablePanel { 43 44 public static final String FILEBROWSERUUID = "3b649047-6a71-4998-bd8e-00d367a4793d"; 45 46 private ScilabFileBrowserComponent filebrowser; 47 48 /** 49 * Create a JTable with data Model. 50 */ SwingScilabFileBrowser()51 public SwingScilabFileBrowser() { 52 super(UiDataMessages.FILE_BROWSER, FILEBROWSERUUID); 53 setAssociatedXMLIDForHelp("filebrowser"); 54 addMenuBar(createMenuBar()); 55 filebrowser = new ScilabFileBrowserComponent(); 56 57 ToolBar toolBar = ScilabToolBar.createToolBar(); 58 SwingScilabToolBar stb = (SwingScilabToolBar) toolBar.getAsSimpleToolBar(); 59 stb.add(filebrowser.getPreviousButton()); 60 stb.add(filebrowser.getNextButton()); 61 stb.addSeparator(); 62 stb.add(GoToHomeAction.createButton()); 63 stb.add(GoToSCIAction.createButton()); 64 stb.addSeparator(); 65 stb.add(HelpAction.createButton(UiDataMessages.HELP)); 66 67 addToolBar(toolBar); 68 setContentPane(filebrowser); 69 WindowsConfigurationManager.restorationFinished(this); 70 } 71 72 /** 73 * Set the base directory 74 * @param baseDir the base directory 75 */ setBaseDir(String baseDir)76 public void setBaseDir(String baseDir) { 77 filebrowser.setBaseDir(baseDir); 78 } 79 80 /** 81 * {@inheritDoc} 82 */ getAsSimpleTab()83 public SimpleTab getAsSimpleTab() { 84 return this; 85 } 86 87 /** 88 * {@inheritDoc} 89 */ getParentWindow()90 public SwingScilabWindow getParentWindow() { 91 return SwingScilabWindow.allScilabWindows.get(getParentWindowId()); 92 } 93 94 /** 95 * {@inheritDoc} 96 */ addInfoBar(TextBox infoBarToAdd)97 public void addInfoBar(TextBox infoBarToAdd) { 98 setInfoBar(infoBarToAdd); 99 } 100 101 /** 102 * {@inheritDoc} 103 */ addMenuBar(MenuBar menuBarToAdd)104 public void addMenuBar(MenuBar menuBarToAdd) { 105 setMenuBar(menuBarToAdd); 106 } 107 108 /** 109 * {@inheritDoc} 110 */ addToolBar(ToolBar toolBarToAdd)111 public void addToolBar(ToolBar toolBarToAdd) { 112 setToolBar(toolBarToAdd); 113 } 114 115 /** 116 * Create History Browser MenuBar 117 * @return the menu bar 118 */ createMenuBar()119 private static MenuBar createMenuBar() { 120 MenuBar menuBar = ScilabMenuBar.createMenuBar(); 121 Menu fileMenu = ScilabMenu.createMenu(); 122 fileMenu.setText(UiDataMessages.FILE); 123 fileMenu.setMnemonic('F'); 124 125 fileMenu.add(CloseAction.createMenu()); 126 127 menuBar.add(fileMenu); 128 129 Menu helpMenu = ScilabMenu.createMenu(); 130 helpMenu.setText("?"); 131 helpMenu.setMnemonic('?'); 132 helpMenu.add(HelpAction.createMenuItem(UiDataMessages.HELP)); 133 menuBar.add(helpMenu); 134 135 return menuBar; 136 } 137 } 138