/*
 * EditSomeXML is a graphical XML editor
 * 
 * Copyright (C) 2014  David Jackson
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */

package editor.controllers;

import editor.views.NewElementView;
import xml.Element;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * The NewElementController deals with the actions of the NewElementView
 * @see editor.views.NewElementView
 */
public class NewElementController implements ActionListener {
    private NewElementView view;
    private Element parent;

    public NewElementController(NewElementView view, Element parent) {
        this.view = view;
        this.parent = parent;
    }

    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        Element child = new Element(view.getTag());
        parent.addChild(child);
        view.dispose();
    }
}

/*
 * EditSomeXML is a graphical XML editor
 * 
 * Copyright (C) 2014  David Jackson
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */

package editor.controllers;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import xml.Element;
import xml.commands.AddChildCommand;
import editor.views.NewElementView;

/**
 * The NewElementController deals with the actions of the NewElementView
 * @see editor.views.NewElementView
 */
public class NewElementController implements ActionListener {
    private NewElementView view;
    private Element parent;

    public NewElementController(NewElementView view, Element parent) {
        this.view = view;
        this.parent = parent;
    }

    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        Element child = new Element(view.getTag());
        parent.performCommand(new AddChildCommand(parent, child));
        view.dispose();
    }
}

Use the AddChildCommand from the UI
Use the AddChildCommand from the UI
