Changeset 658 for AE/installer2/src/net/oni2/aeinstaller/gui/toolmanager
- Timestamp:
- Jan 29, 2013, 1:34:16 PM (12 years ago)
- Location:
- AE/installer2/src/net/oni2/aeinstaller/gui/toolmanager
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified AE/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java ¶
r655 r658 1 1 package net.oni2.aeinstaller.gui.toolmanager; 2 2 3 import java.awt.Dimension;4 import java.awt.Insets;5 3 import java.awt.event.ActionEvent; 6 4 import java.awt.event.KeyEvent; 7 import java.text.SimpleDateFormat;8 import java.util.Date;9 5 import java.util.ResourceBundle; 10 import java.util.TreeMap;11 6 import java.util.TreeSet; 12 7 13 8 import javax.swing.AbstractAction; 14 import javax.swing.DefaultListModel;15 9 import javax.swing.Icon; 16 10 import javax.swing.ImageIcon; … … 18 12 import javax.swing.JComponent; 19 13 import javax.swing.JDialog; 20 import javax.swing.JLabel;21 import javax.swing.JList;22 14 import javax.swing.JOptionPane; 15 import javax.swing.JScrollPane; 23 16 import javax.swing.JSplitPane; 24 17 import javax.swing.KeyStroke; 25 import javax.swing.ListSelectionModel;26 import javax.swing.event.ListSelectionEvent;27 import javax.swing.event.ListSelectionListener;28 18 29 19 import net.oni2.aeinstaller.backend.Settings; 30 import net.oni2.aeinstaller.backend. SizeFormatter;20 import net.oni2.aeinstaller.backend.oni.Installer; 31 21 import net.oni2.aeinstaller.backend.packages.Package; 32 import net.oni2.aeinstaller.backend.packages.PackageManager;33 import net.oni2.aeinstaller.backend.oni.Installer;34 import net.oni2.aeinstaller.gui.HTMLLinkLabel;35 22 import net.oni2.aeinstaller.gui.downloadwindow.Downloader; 23 import net.oni2.aeinstaller.gui.modtable.ModSelectionListener; 24 import net.oni2.aeinstaller.gui.modtable.ModTable; 25 import net.oni2.aeinstaller.gui.modtable.ModTable.ETableContentType; 26 import net.oni2.aeinstaller.gui.packageinfobox.PackageInfoBox; 36 27 37 28 import org.javabuilders.BuildResult; … … 41 32 * @author Christian Illy 42 33 */ 43 public class ToolManager extends JDialog implements ListSelectionListener {34 public class ToolManager extends JDialog implements ModSelectionListener { 44 35 private static final long serialVersionUID = 343221630538866384L; 45 36 … … 52 43 private JSplitPane contents; 53 44 54 private JList lstTools; 45 private JScrollPane scrollTools; 46 private ModTable tblTools; 55 47 56 private JLabel lblTitleVal; 57 private JLabel lblCreatorVal; 58 private JLabel lblPlatformVal; 59 private JLabel lblPackageNumberVal; 60 private JLabel lblVersionNumberVal; 61 private JLabel lblLastChangeVal; 62 private HTMLLinkLabel lblDescriptionVal; 63 private JLabel lblDownloadSizeVal; 64 48 private PackageInfoBox pkgInfo; 65 49 private JButton btnInstall; 66 50 … … 68 52 private Icon icoUninstall = null; 69 53 70 private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");54 private Package selectedPackage = null; 71 55 72 56 /** … … 74 58 */ 75 59 public ToolManager() { 76 setMinimumSize(new Dimension(getWidth() + 100, getHeight() + 100));77 78 60 AbstractAction closeAction = new AbstractAction() { 79 61 … … 91 73 getRootPane().getActionMap().put("close", closeAction); 92 74 93 contents.setDividerLocation( 200);75 contents.setDividerLocation(550); 94 76 contents.setResizeWeight(0.4); 95 77 96 lstTools.addListSelectionListener(this); 97 lstTools.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 78 tblTools = new ModTable(ETableContentType.TOOLS); 79 tblTools.reloadData(); 80 scrollTools.setViewportView(tblTools); 98 81 99 DefaultListModel dlm = new DefaultListModel(); 100 TreeMap<String, Package> tools = PackageManager.getInstance().getTools(); 101 for (String name : tools.keySet()) 102 dlm.addElement(tools.get(name)); 103 lstTools.setModel(dlm); 82 tblTools.addModSelectionListener(this); 104 83 105 84 icoInstall = new ImageIcon(getClass().getResource( … … 109 88 110 89 setLocationRelativeTo(null); 111 lblDescriptionVal.setMargin(new Insets(-15, 0, 0, 0));112 90 } 113 91 114 92 @SuppressWarnings("unused") 115 93 private void install() { 116 Object o = lstTools.getSelectedValue(); 117 if (o instanceof Package) { 118 Package theMod = (Package) o; 119 120 if (theMod.isInstalled()) { 94 if (selectedPackage != null) { 95 if (selectedPackage.isInstalled()) { 121 96 TreeSet<Package> tools = new TreeSet<Package>(); 122 tools.add( theMod);97 tools.add(selectedPackage); 123 98 Installer.uninstallTools(tools); 124 99 } else { 125 if (! theMod.isLocalAvailable()) {100 if (!selectedPackage.isLocalAvailable()) { 126 101 if (Settings.getInstance().isOfflineMode()) { 127 102 JOptionPane.showMessageDialog(this, … … 133 108 134 109 TreeSet<Package> toDownload = new TreeSet<Package>(); 135 toDownload.add( theMod);110 toDownload.add(selectedPackage); 136 111 137 112 Downloader dl = new Downloader(toDownload, null); … … 146 121 147 122 TreeSet<Package> tools = new TreeSet<Package>(); 148 tools.add( theMod);123 tools.add(selectedPackage); 149 124 Installer.installTools(tools); 150 125 } 151 126 } 152 valueChanged(null);127 modSelectionChanged(tblTools, selectedPackage); 153 128 } 154 129 155 130 @Override 156 public void valueChanged(ListSelectionEvent evt) { 157 lblTitleVal.setText(""); 158 lblCreatorVal.setText(""); 159 lblDescriptionVal.setText(""); 160 lblPlatformVal.setText(""); 161 lblPackageNumberVal.setText(""); 162 lblVersionNumberVal.setText(""); 163 lblLastChangeVal.setText(""); 164 lblDownloadSizeVal.setText(""); 165 btnInstall.setEnabled(false); 166 btnInstall.setIcon(icoInstall); 131 public void modSelectionChanged(ModTable source, Package mod) { 132 selectedPackage = mod; 167 133 168 if (lstTools.getSelectedValue() instanceof Package) { 169 Package m = (Package) lstTools.getSelectedValue(); 170 lblTitleVal.setText(m.getName()); 171 lblCreatorVal.setText(m.getCreator()); 172 lblDescriptionVal.setText(m.getDescription()); 173 lblPlatformVal.setText(m.getPlatform().toString()); 174 lblPackageNumberVal.setText(m.getPackageNumberString()); 175 lblVersionNumberVal.setText(m.getVersion()); 176 if (m.getFile() != null) 177 lblLastChangeVal.setText(sdf.format(new Date(m.getFile() 178 .getTimestamp() * 1000))); 179 lblDownloadSizeVal.setText(SizeFormatter.format(m.getZipSize(), 3)); 134 pkgInfo.updateInfo(mod); 135 if (mod != null) { 180 136 btnInstall.setEnabled(true); 181 if (m .isInstalled()) {137 if (mod.isInstalled()) { 182 138 btnInstall.setText(bundle.getString("btnInstall.un.text")); 183 139 btnInstall.setToolTipText(bundle … … 188 144 btnInstall.setToolTipText(bundle 189 145 .getString("btnInstall.tooltip")); 146 btnInstall.setIcon(icoInstall); 190 147 } 191 148 } -
TabularUnified AE/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.yml ¶
r646 r658 2 2 name: frame 3 3 title: frame.title 4 size: packed4 size: 950x600 5 5 locationRelativeTo: null 6 6 defaultCloseOperation: disposeOnClose … … 10 10 - JSplitPane(name=contents, orientation=horizontalSplit, continuousLayout=true): 11 11 - JPanel(name=panTools): 12 - JScrollPane(name=scrollTools, vScrollBar=always, hScrollBar=asNeeded): 13 JList(name=lstTools) 12 - JScrollPane(name=scrollTools, vScrollBar=always, hScrollBar=never) 14 13 - MigLayout: | 15 14 [grow] 16 15 scrollTools [grow] 17 16 - JPanel(name=panInfo): 18 - JLabel(name=lblTitle, text=lblTitle.text) 19 - JLabel(name=lblTitleVal) 20 - JLabel(name=lblCreator, text=lblCreator.text) 21 - JLabel(name=lblCreatorVal) 22 - JLabel(name=lblPlatform, text=lblPlatform.text) 23 - JLabel(name=lblPlatformVal) 24 - JLabel(name=lblPackageNumber, text=lblPackageNumber.text) 25 - JLabel(name=lblPackageNumberVal) 26 - JLabel(name=lblVersionNumber, text=lblVersionNumber.text) 27 - JLabel(name=lblVersionNumberVal) 28 - JLabel(name=lblLastChange, text=lblLastChange.text) 29 - JLabel(name=lblLastChangeVal) 30 - JLabel(name=lblDescription, text=lblDescription.text) 31 - JScrollPane(name=scrollDescription, vScrollBar=always, hScrollBar=asNeeded): 32 HTMLLinkLabel(name=lblDescriptionVal) 33 - JLabel(name=lblDownloadSize, text=lblDownloadSize.text) 34 - JLabel(name=lblDownloadSizeVal) 17 - PackageInfoBox(name=pkgInfo) 35 18 - JButton(name=btnInstall, icon=img.install, text=btnInstall.text, toolTipText=btnInstall.tooltip, enabled=false, onAction=[install]) 36 19 - MigLayout: | 37 [min] [grow] 38 >lblTitle lblTitleVal [min] 39 >lblCreator lblCreatorVal [min] 40 >lblPlatform lblPlatformVal [min] 41 >lblPackageNumber lblPackageNumberVal [min] 42 >lblVersionNumber lblVersionNumberVal [min] 43 >lblLastChange lblLastChangeVal [min] 44 >^lblDescription scrollDescription [grow] 45 >lblDownloadSize lblDownloadSizeVal [min] 46 >btnInstall+*< [min] 20 [grow] 21 pkgInfo [grow] 22 >btnInstall< [min] 47 23 - MigLayout: | 48 24 [grow]
Note:
See TracChangeset
for help on using the changeset viewer.