Ignore:
Timestamp:
Dec 29, 2012, 5:01:15 PM (12 years ago)
Author:
alloc
Message:

AEI - Current state

Location:
AE/installer2/src/net/oni2/aeinstaller/gui
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java

    r591 r592  
    1111import javax.swing.JComboBox;
    1212import javax.swing.JFrame;
    13 import javax.swing.JOptionPane;
     13import javax.swing.JLabel;
     14import javax.swing.JSplitPane;
    1415import javax.swing.JTable;
    1516import javax.swing.ListSelectionModel;
    1617import javax.swing.RowSorter;
    17 import javax.swing.RowSorter.SortKey;
    1818import javax.swing.SortOrder;
    1919import javax.swing.SwingUtilities;
     
    2323
    2424import net.oni2.aeinstaller.backend.Settings;
    25 import net.oni2.aeinstaller.backend.StuffToRefactorLater;
    2625import net.oni2.aeinstaller.backend.depot.DepotCacheUpdateProgressListener;
    2726import net.oni2.aeinstaller.backend.depot.DepotConfig;
     
    2928import net.oni2.aeinstaller.backend.depot.model.NodeMod;
    3029import net.oni2.aeinstaller.backend.depot.model.TaxonomyTerm;
     30import net.oni2.aeinstaller.backend.depot.model.TaxonomyVocabulary;
    3131import net.oni2.aeinstaller.gui.modtable.ModTableFilter;
    3232import net.oni2.aeinstaller.gui.modtable.ModTableModel;
     
    4141 * @author Christian Illy
    4242 */
    43 public class MainWin extends JFrame implements ListSelectionListener {
     43public class MainWin extends JFrame {
    4444        private static final long serialVersionUID = -4027395051382659650L;
    4545
     
    4848        @SuppressWarnings("unused")
    4949        private BuildResult result = SwingJavaBuilder.build(this, bundle);
     50
     51        private JSplitPane contents;
    5052
    5153        private JComboBox cmbModTypes;
     
    5355        private ModTableModel model;
    5456        private TableRowSorter<ModTableModel> sorter;
     57
     58        private JLabel lblSubmitterVal;
     59        private JLabel lblCreatorVal;
     60        private JLabel lblFilesVal;
     61        private JLabel lblIdVal;
     62        private HTMLLinkLabel lblDescriptionVal;
    5563
    5664        /**
     
    6169                                + bundle.getString("version"));
    6270
     71                contents.setDividerLocation(400);
    6372                initTable();
    6473                initModTypeBox();
     
    6675
    6776        private void initModTypeBox() {
    68                 int vid = DepotManager.getInstance()
    69                                 .getVocabulary(DepotConfig.MODTYPE_VOCAB).getVid();
     77                cmbModTypes.removeAllItems();
     78
     79                TaxonomyVocabulary tv = DepotManager.getInstance().getVocabulary(
     80                                DepotConfig.getVocabularyName_ModType());
     81                if (tv == null)
     82                        return;
     83
     84                int vid = tv.getVid();
    7085                TreeMap<String, TaxonomyTerm> terms = new TreeMap<String, TaxonomyTerm>();
    7186                terms.put(" ", new TaxonomyTerm(-1, vid, "-All-"));
     
    8297        private void initTable() {
    8398                tblMods.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    84                 tblMods.getSelectionModel().addListSelectionListener(this);
     99                tblMods.getSelectionModel().addListSelectionListener(
     100                                new ListSelectionListener() {
     101
     102                                        @Override
     103                                        public void valueChanged(ListSelectionEvent e) {
     104                                                int viewRow = tblMods.getSelectedRow();
     105                                                if (viewRow < 0) {
     106                                                        modSelection(null);
     107                                                } else {
     108                                                        int modelRow = tblMods
     109                                                                        .convertRowIndexToModel(viewRow);
     110                                                        NodeMod mod = (NodeMod) model.getValueAt(modelRow,
     111                                                                        -1);
     112                                                        modSelection(mod);
     113                                                }
     114                                        }
     115                                });
    85116
    86117                model = new ModTableModel();
     
    127158        }
    128159
     160        @SuppressWarnings("unused")
    129161        private void exit() {
    130162                setVisible(false);
     
    137169                DepotManager.getInstance().saveToFile(
    138170                                new File(Settings.getDepotCacheFilename()));
    139         }
    140 
    141         @SuppressWarnings("unused")
    142         private boolean validatePath() {
    143                 if (!StuffToRefactorLater.verifyRunningDirectory()) {
    144                         JOptionPane.showMessageDialog(this,
    145                                         bundle.getString("invalidPath.text"),
    146                                         bundle.getString("invalidPath.title"),
    147                                         JOptionPane.ERROR_MESSAGE);
    148                         if (!Settings.getDebug()) {
    149                                 exit();
    150                                 return false;
    151                         }
    152                 }
    153                 return true;
    154171        }
    155172
     
    169186                                        });
    170187                        model.reloadData();
     188                        initModTypeBox();
     189                        tblMods.setVisible(true);
    171190                        DepotManager.getInstance().printStats();
    172191                } catch (Exception e) {
     
    199218        }
    200219
     220        private void modSelection(NodeMod n) {
     221                lblSubmitterVal.setText("");
     222                lblCreatorVal.setText("");
     223                lblIdVal.setText("");
     224                lblFilesVal.setText("");
     225                lblDescriptionVal.setText("");
     226                if (n != null) {
     227                        lblSubmitterVal.setText(n.getName());
     228                        lblCreatorVal.setText(n.getFields().get("creator"));
     229                        lblIdVal.setText(Integer.toString(n.getNid()));
     230                        lblFilesVal.setText(Integer.toString(n.getUploads().size()));
     231                        if (n.getBody() != null)
     232                                lblDescriptionVal.setText(n.getBody().getSafe_value());
     233                }
     234                // TODO
     235        }
     236
    201237        @SuppressWarnings("unused")
    202238        private void modTypeSelection() {
    203239                TaxonomyTerm t = (TaxonomyTerm) cmbModTypes.getSelectedItem();
    204                 sorter.setRowFilter(new ModTableFilter(t.getTid()));
    205         }
    206 
    207         @SuppressWarnings("unused")
    208         private void sortAlpha() {
    209                 SortOrder order = SortOrder.ASCENDING;
    210                 for (SortKey sk : sorter.getSortKeys()) {
    211                         if (sk.getColumn() == 0) {
    212                                 if (sk.getSortOrder() == SortOrder.ASCENDING)
    213                                         order = SortOrder.DESCENDING;
    214                         }
    215                 }
    216                 List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
    217                 sortKeys.add(new RowSorter.SortKey(0, order));
    218                 sorter.setSortKeys(sortKeys);
    219         }
    220 
    221         @SuppressWarnings("unused")
    222         private void sortPackageNumber() {
    223                 SortOrder order = SortOrder.ASCENDING;
    224                 for (SortKey sk : sorter.getSortKeys()) {
    225                         if (sk.getColumn() == 1) {
    226                                 if (sk.getSortOrder() == SortOrder.ASCENDING)
    227                                         order = SortOrder.DESCENDING;
    228                         }
    229                 }
    230                 List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
    231                 sortKeys.add(new RowSorter.SortKey(1, order));
    232                 sorter.setSortKeys(sortKeys);
    233         }
    234 
    235         @Override
    236         public void valueChanged(ListSelectionEvent arg0) {
    237                 int viewRow = tblMods.getSelectedRow();
    238                 if (viewRow < 0)
    239                         // TODO
    240                         return;
    241                 int modelRow = tblMods.convertRowIndexToModel(viewRow);
    242                 NodeMod mod = (NodeMod) model.getValueAt(modelRow, -1);
    243                 // TODO
     240                if (t != null)
     241                        sorter.setRowFilter(new ModTableFilter(t.getTid()));
     242                else
     243                        sorter.setRowFilter(new ModTableFilter(-1));
    244244        }
    245245}
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.properties

    r591 r592  
    1212lblModTypes.text=Mod types:
    1313
     14lblSubmitter.text=Submitter:
     15lblCreator.text=Creator:
     16lblId.text=NodeID:
     17lblFiles.text=Number of files:
     18lblDescription.text=Description:
    1419
    1520updateDepot.title=Updating Mod Depot cache
     
    1722updatesAvailable.title=Updates available
    1823updatesAvailable.text=Some mods have newer versions available.
    19 
    20 invalidPath.title=Wrong directory
    21 invalidPath.text=This program has to be placed in the subfolder Edition/AEInstaller inside a vanilla Oni folder.\nThe full path of the .jar-file has to be:\nOniFolder/Edition/AEInstaller/AEInstaller2.jar
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml

    r591 r592  
    66  locationRelativeTo: null
    77  defaultCloseOperation: doNothingOnClose
    8   onWindowOpened: [validatePath,execDepotUpdate,checkUpdates,focus]
     8  onWindowOpened: [execDepotUpdate,checkUpdates,focus]
    99  onWindowClosing: [$confirm,closeFrames,saveLocalData,exit]
    1010  iconImage: img.kdt
     
    2020        - JToolBarSeparator()
    2121        - JButton(action=settings, hideActionText=true)
    22     - JPanel(name=contents):
     22    - JSplitPane(name=contents, orientation=horizontalSplit, continuousLayout=true):
    2323        - JPanel(name=panMods):
    2424            - JLabel(name=lblModTypes, text=lblModTypes.text)
    2525            - JComboBox(name=cmbModTypes, onAction=modTypeSelection)
    2626            - JScrollPane(name=scrollMods, vScrollBar=always, hScrollBar=never):
    27                 JTable(name=tblMods)
    28             - JButton(name=btnSortAlpha, onAction=sortAlpha, text=A-Z)
    29             - JButton(name=btnSortNumber, onAction=sortPackageNumber, text=0-9)
     27                JTable(name=tblMods, visible=false)
    3028            - MigLayout: |
    3129                 [grow]
    3230                 lblModTypes<,cmbModTypes           [min]
    3331                 scrollMods                         [grow]
    34                  >btnSortAlpha=1<,btnSortNumber=1<  [min]
    35         - MigLayout: |
    36              [pref]
    37              panMods        [grow]
     32        - JPanel(name=panInfo):
     33            - JLabel(name=lblSubmitter, text=lblSubmitter.text)
     34            - JLabel(name=lblSubmitterVal)
     35            - JLabel(name=lblCreator, text=lblCreator.text)
     36            - JLabel(name=lblCreatorVal)
     37            - JLabel(name=lblId, text=lblId.text)
     38            - JLabel(name=lblIdVal)
     39            - JLabel(name=lblFiles, text=lblFiles.text)
     40            - JLabel(name=lblFilesVal)
     41            - JLabel(name=lblDescription, text=lblDescription.text)
     42            - JScrollPane(name=scrollDescription, vScrollBar=always, hScrollBar=asNeeded):
     43                HTMLLinkLabel(name=lblDescriptionVal)
     44            - MigLayout: |
     45                 [min]             [grow]
     46                 >lblSubmitter     lblSubmitterVal    [min]
     47                 >lblCreator       lblCreatorVal      [min]
     48                 >lblId            lblIdVal           [min]
     49                 >lblFiles         lblFilesVal        [min]
     50                 >^lblDescription  scrollDescription  [grow]
    3851    - MigLayout:
    3952        layoutConstraints: wrap 1
  • AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java

    r591 r592  
    4646                                if (vocabModTypeID < 0) {
    4747                                        vocabModTypeID = DepotManager.getInstance()
    48                                                         .getVocabulary(DepotConfig.MODTYPE_VOCAB).getVid();
     48                                                        .getVocabulary(DepotConfig.getVocabularyName_ModType()).getVid();
    4949                                }
    5050                                for (int tid : node.getTaxonomyTerms().get(vocabModTypeID)) {
     
    5858                                if (vocabPlatformID < 0) {
    5959                                        vocabPlatformID = DepotManager.getInstance()
    60                                                         .getVocabulary(DepotConfig.PLATFORM_VOCAB).getVid();
     60                                                        .getVocabulary(DepotConfig.getVocabularyName_Platform()).getVid();
    6161                                }
    6262                                int tid = node.getTaxonomyTerms().get(vocabPlatformID)
  • AE/installer2/src/net/oni2/aeinstaller/gui/settings/LaFComboModel.java

    r591 r592  
    3131                        items.add(laf);
    3232
     33               
    3334                String laf = Settings.getInstance().get("lookandfeel",
    34                                 UIManager.getSystemLookAndFeelClassName());
     35                                UIManager.getLookAndFeel().getClass().getName());
    3536
    3637                if (items.size() > 0)
  • AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java

    r591 r592  
    9494
    9595                String oldLaf = set.get("lookandfeel",
    96                                 UIManager.getSystemLookAndFeelClassName());
     96                                UIManager.getLookAndFeel().getClass().getName());
    9797                String newLaf = laFModel.getSelectedClassName();
    9898
Note: See TracChangeset for help on using the changeset viewer.