org.archiviststoolkit.editor.RDEScreenPanelFields.java Source code

Java tutorial

Introduction

Here is the source code for org.archiviststoolkit.editor.RDEScreenPanelFields.java

Source

/**
 * Archivists' Toolkit(TM) Copyright  2005-2007 Regents of the University of California, New York University, & Five Colleges, Inc.
 * All rights reserved.
 *
 * This software is free. You can redistribute it and / or modify it under the terms of the Educational Community License (ECL)
 * version 1.0 (http://www.opensource.org/licenses/ecl1.php)
 *
 * This software 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 ECL license for more details about permissions and limitations.
 *
 *
 * Archivists' Toolkit(TM)
 * http://www.archiviststoolkit.org
 * info@archiviststoolkit.org
 *
 * Created by JFormDesigner on Wed Aug 24 16:08:56 EDT 2005
 */

package org.archiviststoolkit.editor;

import com.jgoodies.forms.factories.Borders;
import com.jgoodies.forms.factories.FormFactory;
import com.jgoodies.forms.layout.*;
import org.archiviststoolkit.model.RDEScreen;
import org.archiviststoolkit.model.RDEScreenPanels;
import org.archiviststoolkit.model.RDEScreenPanelItems;
import org.archiviststoolkit.mydomain.DomainEditorFields;
import org.archiviststoolkit.mydomain.DomainObject;
import org.archiviststoolkit.mydomain.DomainSortableTable;
import org.archiviststoolkit.mydomain.DomainSortedTable;
import org.archiviststoolkit.structure.ATFieldInfo;
import org.archiviststoolkit.swing.InfiniteProgressPanel;

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class RDEScreenPanelFields extends DomainEditorFields {

    public RDEScreenPanelFields() {
        super();
        initComponents();
    }

    private void rdeScreenPanelFieldsMouseClicked(MouseEvent e) {
        if (e.getClickCount() == 2) {
            int selectedRow = rdeScreenPanelFields.getSelectedRow();
            if (rdeScreenPanelFields.getSelectedRow() != -1) {
                RDEScreenPanelItems selectedItem = (RDEScreenPanelItems) rdeScreenPanelFields.getSortedList()
                        .get(selectedRow);
                selectedItem.toggleStickiness();
                this.invalidate();
                this.validate();
                this.repaint();
            }
        }
    }

    private void initComponents() {
        // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
        // Generated using JFormDesigner non-commercial license
        label_RDE_name = new JLabel();
        panelType = new JLabel();
        label1 = new JLabel();
        panel2 = new JPanel();
        scrollPane1 = new JScrollPane();
        rdeScreenPanelFields = new DomainSortableTable(RDEScreenPanelItems.class);
        CellConstraints cc = new CellConstraints();

        //======== this ========
        setBorder(Borders.DLU4_BORDER);
        setOpaque(false);
        setPreferredSize(new Dimension(800, 500));
        setBackground(new Color(238, 238, 238));
        setLayout(new FormLayout(
                new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                        new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
                new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                        FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC }));

        //---- label_RDE_name ----
        label_RDE_name.setText("Panel Type");
        label_RDE_name.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(label_RDE_name, RDEScreen.class, RDEScreen.PROPERTYNAME_NAME_RDE_SCREEN_NAME);
        add(label_RDE_name, cc.xy(1, 1));

        //---- panelType ----
        panelType.setText("text");
        add(panelType, cc.xy(3, 1));

        //---- label1 ----
        label1.setText("Fields: Double click to toggle stickiness");
        add(label1, cc.xywh(1, 3, 3, 1));

        //======== panel2 ========
        {
            panel2.setLayout(new FormLayout("default:grow", "top:default"));

            //======== scrollPane1 ========
            {

                //---- rdeScreenPanelFields ----
                rdeScreenPanelFields.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        rdeScreenPanelFieldsMouseClicked(e);
                    }
                });
                scrollPane1.setViewportView(rdeScreenPanelFields);
            }
            panel2.add(scrollPane1, cc.xy(1, 1));
        }
        add(panel2, cc.xywh(1, 5, 3, 1));
        // JFormDesigner - End of component initialization  //GEN-END:initComponents
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    // Generated using JFormDesigner non-commercial license
    private JLabel label_RDE_name;
    private JLabel panelType;
    private JLabel label1;
    private JPanel panel2;
    private JScrollPane scrollPane1;
    private DomainSortableTable rdeScreenPanelFields;
    // JFormDesigner - End of variables declaration  //GEN-END:variables

    public final void setModel(final DomainObject model, InfiniteProgressPanel progressPanel) {
        super.setModel(model, progressPanel);
        rdeScreenPanelFields.updateCollection(((RDEScreenPanels) model).getScreenPanelItems());
    }

    public Component getInitialFocusComponent() {
        return null;
    }

}