Package com.atlauncher.gui.components

Examples of com.atlauncher.gui.components.ModsJCheckBox


            boolean skip = false;
            final Mod mod = installer.getJsonMods().get(i);
            if (installer.isServer() && !mod.installOnServer()) {
                continue;
            }
            ModsJCheckBox checkBox = null;
            if ((installer.isServer() ? mod.isServerOptional() : mod.isOptional())) {
                if (!skip) {
                    checkBox = new ModsJCheckBox(mod);
                    checkBox.setEnabled(true);
                    if (!mod.hasLinked()) {
                        checkBox.setBounds(0, (count1 * 20), checkBox.getPreferredSize().width, 20);
                    } else {
                        Mod linkedMod = installer.getJsonModByName(mod.getLinked());
                        if (linkedMod == null) {
                            LogManager.error("The mod " + mod.getName() + " tried to reference a linked mod " + mod
                                    .getLinked() + " which doesn't exist!");
                            installer.cancel(true);
                            return;
                        }
                        if ((installer.isServer() ? linkedMod.isServerOptional() : linkedMod.isOptional())) {
                            checkBox.setEnabled(false);
                            checkBox.setBounds(20, (count1 * 20), checkBox.getPreferredSize().width, 20);
                        } else {
                            checkBox.setBounds(0, (count1 * 20), checkBox.getPreferredSize().width, 20);
                        }
                        if (mod.isSelected()) {
                            checkBox.setEnabled(true);
                            checkBox.setSelected(true);
                            if (!linkedMod.isSelected()) {
                                boolean needToEnableChildren = false;
                                for (ModsJCheckBox checkbox : modCheckboxes) {
                                    if (checkbox.getJsonMod().getName().equalsIgnoreCase(mod.getLinked())) {
                                        checkbox.setSelected(true); // Select the checkbox
                                        needToEnableChildren = true;
                                        break;
                                    }
                                }
                                if (needToEnableChildren) {
                                    for (ModsJCheckBox checkbox : modCheckboxes) {
                                        if (checkbox.getJsonMod().getLinked().equalsIgnoreCase(mod.getLinked())) {
                                            checkbox.setEnabled(true);
                                        }
                                    }
                                }
                            }
                        } else {
                            if (linkedMod.isSelected()) {
                                checkBox.setEnabled(true);
                            }
                        }
                    }
                    if (mod.isHidden() || mod.isLibrary()) {
                        checkBox.setVisible(false);
                    } else {
                        count1++;
                    }
                }

                if (mod.hasWarning()) {
                    final ModsJCheckBox finalCheckBox = checkBox;
                    checkBox.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            if (finalCheckBox.isSelected() && installer.getJsonVersion().hasWarningMessage(mod
                                    .getWarning())) {
                                String message = installer.getJsonVersion().getWarningMessage(mod.getWarning());

                                if (message != null) {
                                    String[] options = {Language.INSTANCE.localize("common.yes"),
                                            Language.INSTANCE.localize("common.no")};
                                    int ret = JOptionPane.showOptionDialog(App.settings.getParent(),
                                            "<html>" + message + "<br/>" +
                                                    Language.INSTANCE.localize("instance.warningsure") + "</html>",
                                            Language.INSTANCE.localize("instance.warning"),
                                            JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options,
                                            options[1]);
                                    if (ret != 0) {
                                        finalCheckBox.setSelected(false);
                                    }
                                }
                            }
                        }
                    });
                }
            } else {
                checkBox = new ModsJCheckBox(mod);
                checkBox.setBounds(0, (count2 * 20), checkBox.getPreferredSize().width, 20);
                checkBox.setSelected(true);
                checkBox.setEnabled(false);

                if (mod.isHidden() || mod.isLibrary()) {
                    checkBox.setVisible(false);
                } else {
                    count2++;
                }
            }
            if (!checkBox.isCategory()) {
                if (installer.isReinstall()) {
                    if (installer.wasModInstalled(mod.getName())) {
                        if ((installer.isServer() ? mod.isServerOptional() : mod.isOptional())) {
                            checkBox.setSelected(true);
                            checkBox.setEnabled(true);
                        }
                    }
                } else {
                    if ((installer.isServer() ? mod.isServerOptional() : mod.isOptional()) && mod.isSelected()) {
                        checkBox.setSelected(true);
                        checkBox.setEnabled(true);
                    }
                }
                checkBox.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        ModsJCheckBox a = (ModsJCheckBox) e.getSource();
                        sortOutMods(a);
                    }
                });
            }
            modCheckboxes.add(checkBox);
            if (!skip) {
                i++;
            }
        }
        for (int i = 0; i < modCheckboxes.size(); i++) {
            ModsJCheckBox checkBox = modCheckboxes.get(i);
            if (checkBox.isCategory()) {
                checkBoxPanel1.add(checkBox);
            } else if ((installer.isServer() ? checkBox.getJsonMod().isServerOptional() : checkBox.getJsonMod()
                    .isOptional())) {
                checkBoxPanel1.add(checkBox);
            } else {
                checkBoxPanel2.add(checkBox);
            }
View Full Code Here


                        if (type != null) {
                            DisableableMod mod = new DisableableMod(file.getName(), "Custom", true, file.getName(),
                                    type, null, null, true, true);
                            if (Utils.copyFile(file, instance.getDisabledModsDirectory())) {
                                instance.getInstalledMods().add(mod);
                                disabledMods.add(new ModsJCheckBox(mod));
                                reload = true;
                            }
                        }
                    }
                    if (reload) {
View Full Code Here

        enabledMods = new ArrayList<ModsJCheckBox>();
        disabledMods = new ArrayList<ModsJCheckBox>();
        int dCount = 0;
        int eCount = 0;
        for (DisableableMod mod : mods) {
            ModsJCheckBox checkBox = null;
            int nameSize = getFontMetrics(Utils.getFont()).stringWidth(mod.getName());

            checkBox = new ModsJCheckBox(mod);
            if (mod.isDisabled()) {
                checkBox.setBounds(0, (dCount * 20), nameSize + 23, 20);
                disabledMods.add(checkBox);
                dCount++;
            } else {
                checkBox.setBounds(0, (eCount * 20), nameSize + 23, 20);
                enabledMods.add(checkBox);
                eCount++;
            }
        }
        for (int i = 0; i < enabledMods.size(); i++) {
            ModsJCheckBox checkBox = enabledMods.get(i);
            enabledModsPanel.add(checkBox);
        }
        for (int i = 0; i < disabledMods.size(); i++) {
            ModsJCheckBox checkBox = disabledMods.get(i);
            disabledModsPanel.add(checkBox);
        }
        enabledModsPanel.setPreferredSize(new Dimension(0, enabledMods.size() * 20));
        disabledModsPanel.setPreferredSize(new Dimension(0, disabledMods.size() * 20));
    }
View Full Code Here

            boolean skip = false;
            final Mod mod = installer.getMods().get(i);
            if (installer.isServer() && !mod.installOnServer()) {
                continue;
            }
            ModsJCheckBox checkBox = null;
            if ((installer.isServer() ? mod.isServerOptional() : mod.isOptional())) {
                if (!mod.getCategory().isEmpty()) {
                    if (!categoriesDone.contains(mod.getCategory())) {
                        skip = true;
                        categoriesDone.add(mod.getCategory());
                        checkBox = new ModsJCheckBox(installerr.getCategoryName(mod.getCategory()));
                        checkBox.setBounds(0, (count1 * 20), checkBox.getPreferredSize().width, 20);
                        checkBox.setEnabled(false);
                        count1++;
                    }
                }
                if (!skip) {
                    checkBox = new ModsJCheckBox(mod);
                    checkBox.setEnabled(true);
                    if (mod.getLinked().isEmpty()) {
                        checkBox.setBounds((mod.hasCategory() ? 20 : 0), (count1 * 20),
                                checkBox.getPreferredSize().width, 20);
                    } else {
                        Mod linkedMod = installer.getModByName(mod.getLinked());
                        if (linkedMod == null) {
                            LogManager.error("The mod " + mod.getName() + " tried to reference a linked mod " + mod
                                    .getLinked() + " which doesn't exist!");
                            installer.cancel(true);
                            return;
                        }
                        if ((installer.isServer() ? linkedMod.isServerOptional() : linkedMod.isOptional())) {
                            checkBox.setEnabled(false);
                            checkBox.setBounds((mod.hasCategory() ? 40 : 20), (count1 * 20),
                                    checkBox.getPreferredSize().width, 20);
                        } else {
                            checkBox.setBounds((mod.hasCategory() ? 20 : 0), (count1 * 20),
                                    checkBox.getPreferredSize().width, 20);
                        }
                        if (mod.isSelected()) {
                            checkBox.setEnabled(true);
                            checkBox.setSelected(true);
                            if (!linkedMod.isSelected()) {
                                boolean needToEnableChildren = false;
                                for (ModsJCheckBox checkbox : modCheckboxes) {
                                    if (checkbox.getMod().getName().equalsIgnoreCase(mod.getLinked())) {
                                        checkbox.setSelected(true); // Select the checkbox
                                        needToEnableChildren = true;
                                        break;
                                    }
                                }
                                if (needToEnableChildren) {
                                    for (ModsJCheckBox checkbox : modCheckboxes) {
                                        if (checkbox.getMod().getLinked().equalsIgnoreCase(mod.getLinked())) {
                                            checkbox.setEnabled(true);
                                        }
                                    }
                                }
                            }
                        } else {
                            if (linkedMod.isSelected()) {
                                checkBox.setEnabled(true);
                            }
                        }
                    }
                    if (mod.isHidden() || mod.isLibrary()) {
                        checkBox.setVisible(false);
                    } else {
                        count1++;
                    }
                }

                if (mod.hasWarning()) {
                    final ModsJCheckBox finalCheckBox = checkBox;
                    checkBox.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            if (finalCheckBox.isSelected()) {
                                String message = installer.getPack().getWarningMessage(installer.getVersion()
                                        .getVersion(), mod.getWarning());

                                if (message != null) {
                                    String[] options = {Language.INSTANCE.localize("common.yes"),
                                            Language.INSTANCE.localize("common.no")};
                                    int ret = JOptionPane.showOptionDialog(App.settings.getParent(),
                                            "<html>" + message + "<br/>" +
                                                    Language.INSTANCE.localize("instance.warningsure") + "</html>",
                                            Language.INSTANCE.localize("instance.warning"),
                                            JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options,
                                            options[1]);
                                    if (ret != 0) {
                                        finalCheckBox.setSelected(false);
                                    }
                                }
                            }
                        }
                    });
                }
            } else {
                checkBox = new ModsJCheckBox(mod);
                checkBox.setBounds(0, (count2 * 20), checkBox.getPreferredSize().width, 20);
                checkBox.setSelected(true);
                checkBox.setEnabled(false);

                if (mod.isHidden() || mod.isLibrary()) {
                    checkBox.setVisible(false);
                } else {
                    count2++;
                }
            }
            if (!checkBox.isCategory()) {
                if (installer.isReinstall()) {
                    if (installer.wasModInstalled(mod.getName())) {
                        if ((installer.isServer() ? mod.isServerOptional() : mod.isOptional())) {
                            checkBox.setSelected(true);
                            checkBox.setEnabled(true);
                        }
                    }
                } else {
                    if ((installer.isServer() ? mod.isServerOptional() : mod.isOptional()) && mod.isSelected()) {
                        checkBox.setSelected(true);
                        checkBox.setEnabled(true);
                    }
                }
                checkBox.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        ModsJCheckBox a = (ModsJCheckBox) e.getSource();
                        sortOutMods(a);
                    }
                });
            }
            modCheckboxes.add(checkBox);
            if (!skip) {
                i++;
            }
        }
        for (int i = 0; i < modCheckboxes.size(); i++) {
            ModsJCheckBox checkBox = modCheckboxes.get(i);
            if (checkBox.isCategory()) {
                checkBoxPanel1.add(checkBox);
            } else if ((installer.isServer() ? checkBox.getMod().isServerOptional() : checkBox.getMod().isOptional())) {
                checkBoxPanel1.add(checkBox);
            } else {
                checkBoxPanel2.add(checkBox);
            }
        }
View Full Code Here

TOP

Related Classes of com.atlauncher.gui.components.ModsJCheckBox

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.