Package com.nexirius.theteam.dataeditor

Source Code of com.nexirius.theteam.dataeditor.MemberEditor

package com.nexirius.theteam.dataeditor;

import com.nexirius.framework.datamodel.DataModel;
import com.nexirius.framework.dataviewer.ViewerFactory;
import com.nexirius.framework.gadgets.ArrayLayout;
import com.nexirius.framework.gadgets.ArrayPanel;
import com.nexirius.framework.swing.CFJTabbedPane;
import com.nexirius.theteam.datamodel.AddressListModel;
import com.nexirius.theteam.datamodel.MemberModel;
import com.nexirius.theteam.datamodel.PersonModel;
import com.nexirius.theteam.datamodel.PhoneListModel;
import com.nexirius.util.resource.ClientResource;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;

public class MemberEditor extends StandardStructEditor {
    protected MemberModel memberModel;

    public JComponent createJComponent(ViewerFactory factory) {
        ClientResource cr = factory.getClientResource();
        CFJTabbedPane tabbedPane = new CFJTabbedPane(cr);

        try {
            JPanel personPanel = new ArrayPanel(false, ArrayLayout.FULL_SIZE);

            JComponent personEditor = factory.createDefaultEditor(memberModel.getPerson()).getJComponent();
            personPanel.add(personEditor);
            personPanel.add(createFieldEditor(MemberModel.FIELD_TYPE, factory));
            tabbedPane.addTab(PersonModel.FIELD_PERSON, createTabComponent(personPanel));
            DataModel addressList = memberModel.getChild(AddressListModel.FIELD_ADDRESS_LIST);
            tabbedPane.addTab(AddressListModel.FIELD_ADDRESS_LIST, createTabComponent(factory.createDefaultEditor(addressList).getJComponent()));
            DataModel phoneList = memberModel.getChild(PhoneListModel.FIELD_PHONE_LIST);
            tabbedPane.addTab(PhoneListModel.FIELD_PHONE_LIST, createTabComponent(factory.createDefaultEditor(phoneList).getJComponent()));
        } catch (Exception e) {
            e.printStackTrace();
        }

        tabbedPane.setPreferredSize(new Dimension(450, 300));

        return tabbedPane;
    }

    public JComponent createTabComponent(JComponent body) {
        JPanel panel = new JPanel(new BorderLayout());

        panel.setBorder(new EmptyBorder(10, 10, 10, 10));
        panel.add(body, BorderLayout.CENTER);

        return panel;
    }

    public boolean isEditor() {
        return true;
    }

    public void setDataModel(DataModel model) {
        memberModel = (MemberModel) model;
    }

    public DataModel getDataModel() {
        return memberModel;
    }
}
TOP

Related Classes of com.nexirius.theteam.dataeditor.MemberEditor

TOP
Copyright © 2018 www.massapi.com. 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.