Search in sources :

Example 1 with ConfigTuple

use of com.willwinder.universalgcodesender.utils.FirmwareUtils.ConfigTuple in project Universal-G-Code-Sender by winder.

the class ControllerProcessorSettingsPanel method save.

@Override
public void save() {
    // In case there are in-progress changes.
    TableCellEditor editor = customRemoverTable.getCellEditor();
    if (editor != null) {
        editor.stopCellEditing();
    }
    ConfigTuple ct = configFiles.get(controllerConfigs.getSelectedItem());
    ct.loader.getProcessorConfigs().Custom.clear();
    // Roll up the pattern processors.
    DefaultTableModel model = (DefaultTableModel) this.customRemoverTable.getModel();
    for (int i = 0; i < customRemoverTable.getRowCount(); i++) {
        JsonObject args = new JsonObject();
        String pattern = model.getValueAt(i, 1).toString();
        if (!StringUtils.isEmpty(pattern)) {
            args.addProperty("pattern", pattern);
            ProcessorConfig pc = new ProcessorConfig("PatternRemover", (Boolean) model.getValueAt(i, 0), true, args);
            ct.loader.getProcessorConfigs().Custom.add(pc);
        }
    }
    try {
        FirmwareUtils.save(ct.file, ct.loader);
    } catch (IOException ex) {
        GUIHelpers.displayErrorDialog("Problem saving controller config: " + ex.getMessage());
        logger.log(Level.SEVERE, null, ex);
    }
}
Also used : DefaultTableModel(javax.swing.table.DefaultTableModel) JsonObject(com.google.gson.JsonObject) TableCellEditor(javax.swing.table.TableCellEditor) IOException(java.io.IOException) ConfigTuple(com.willwinder.universalgcodesender.utils.FirmwareUtils.ConfigTuple) ProcessorConfig(com.willwinder.universalgcodesender.utils.ControllerSettings.ProcessorConfig)

Example 2 with ConfigTuple

use of com.willwinder.universalgcodesender.utils.FirmwareUtils.ConfigTuple in project Universal-G-Code-Sender by winder.

the class ControllerProcessorSettingsPanel method updateComponentsInternal.

/**
 *  ------------------------------
 *  |  [      controller      ]  |
 *  | [ ] front processor 1      |
 *  | [ ] front processor 2      |
 *  | [ ] end processor 1        |
 *  | [ ] end processor 2        |
 *
 *  | [+]                   [-]  |
 *  |  ________________________  |
 *  | | Enabled | Pattern      | |
 *  | |  [y]    | T\d+         | |
 *  | |  [n]    | M30          | |
 *  |  ------------------------  |
 *  |____________________________|
 */
@Override
protected void updateComponentsInternal(Settings s) {
    this.removeAll();
    initCustomRemoverTable(customRemoverTable);
    setLayout(new MigLayout("wrap 1, inset 5, fillx", "fill"));
    super.addIgnoreChanges(controllerConfigs);
    ConfigTuple ct = configFiles.get(controllerConfigs.getSelectedItem());
    ProcessorConfigGroups pcg = ct.loader.getProcessorConfigs();
    System.out.println(ct.file);
    for (ProcessorConfig pc : pcg.Front) {
        add(new ProcessorConfigCheckbox(pc, CommandProcessorLoader.getHelpForConfig(pc)));
    }
    for (ProcessorConfig pc : pcg.End) {
        add(new ProcessorConfigCheckbox(pc, CommandProcessorLoader.getHelpForConfig(pc)));
    }
    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new MigLayout("wrap 3", "grow, fill", ""));
    add(buttonPanel, add);
    add(buttonPanel, new JLabel());
    add(buttonPanel, remove);
    addIgnoreChanges(buttonPanel);
    DefaultTableModel model = (DefaultTableModel) this.customRemoverTable.getModel();
    for (ProcessorConfig pc : pcg.Custom) {
        Boolean enabled = pc.enabled;
        String pattern = "";
        if (pc.args != null && !pc.args.get("pattern").isJsonNull()) {
            pattern = pc.args.get("pattern").getAsString();
        }
        model.addRow(new Object[] { enabled, pattern });
    }
    addIgnoreChanges(new JScrollPane(customRemoverTable), "height 100");
    SwingUtilities.updateComponentTreeUI(this);
}
Also used : ProcessorConfigCheckbox(com.willwinder.universalgcodesender.uielements.components.ProcessorConfigCheckbox) MigLayout(net.miginfocom.swing.MigLayout) DefaultTableModel(javax.swing.table.DefaultTableModel) ProcessorConfigGroups(com.willwinder.universalgcodesender.utils.ControllerSettings.ProcessorConfigGroups) ConfigTuple(com.willwinder.universalgcodesender.utils.FirmwareUtils.ConfigTuple) ProcessorConfig(com.willwinder.universalgcodesender.utils.ControllerSettings.ProcessorConfig)

Aggregations

ProcessorConfig (com.willwinder.universalgcodesender.utils.ControllerSettings.ProcessorConfig)2 ConfigTuple (com.willwinder.universalgcodesender.utils.FirmwareUtils.ConfigTuple)2 DefaultTableModel (javax.swing.table.DefaultTableModel)2 JsonObject (com.google.gson.JsonObject)1 ProcessorConfigCheckbox (com.willwinder.universalgcodesender.uielements.components.ProcessorConfigCheckbox)1 ProcessorConfigGroups (com.willwinder.universalgcodesender.utils.ControllerSettings.ProcessorConfigGroups)1 IOException (java.io.IOException)1 TableCellEditor (javax.swing.table.TableCellEditor)1 MigLayout (net.miginfocom.swing.MigLayout)1