Example usage for com.jgoodies.forms.layout CellConstraints xyw

List of usage examples for com.jgoodies.forms.layout CellConstraints xyw

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout CellConstraints xyw.

Prototype

public CellConstraints xyw(int col, int row, int colSpan) 

Source Link

Document

Sets the column, row, width, and height; uses a height (row span) of 1 and the horizontal and vertical default alignments.

Examples:

 cc.xyw(1, 3, 7); cc.xyw(1, 3, 2); 

Usage

From source file:edu.ku.brc.specify.tasks.subpane.collab.CollabNode.java

License:Open Source License

/**
 * @param title/*from w w  w. j ava  2s .co m*/
 * @param orig
 * @param dest
 */
public CollabNode(final String title, final Point orig, final Point dest) {
    super();
    this.title = title;
    this.dest = dest;
    this.orig = orig;

    dropFlavors.add(RecordSetTask.RECORDSET_FLAVOR);
    //dropFlavors.add(new DataFlavorTableExt(RecordSetTask.class, RecordSetTask.RECORD_SET, 0));
    this.createMouseInputAdapter();

    //this.icon = IconManager.getIcon(DATA_ENTRY, IconManager.IconSize.Std16);
    //setBackground(Color.WHITE);

    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g,p,f:p:g", "p,4px,p"), this);
    iconLabel = new JLabel(activeIcon);
    pb.add(iconLabel, cc.xy(2, 1));
    pb.add(UIHelper.createLabel(title, SwingConstants.CENTER), cc.xyw(1, 3, 3));

    iconLabel.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            super.mouseClicked(e);
            if (initialized && isNodeActive && users.size() > 0) {
                showUsers(false);
            }
        }

    });

    MouseListener mouseListener = new MouseAdapter() {
        @Override
        public void mouseEntered(MouseEvent e) {
            if (isEnabled()) {
                isOver = true;
                repaint();
            }
        }

        @Override
        public void mouseExited(MouseEvent e) {
            isOver = false;
            repaint();
        }
    };
    addMouseListener(mouseListener);
    iconLabel.addMouseListener(mouseListener);
}

From source file:edu.ku.brc.specify.tasks.subpane.images.ImageInfoPanel.java

License:Open Source License

@Override
public void createUI() {
    setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
    setBackground(Color.WHITE);//w w w . j a  v a 2s. c  o m
    setOpaque(true);

    model = new ImgInfoModel(null);
    table = new JTable(model);
    JScrollPane sp = UIHelper.createScrollPane(table, true);
    UIHelper.setVisibleRowCount(table, 10);
    table.getColumnModel().getColumn(0).setCellRenderer(new RightTableCellRenderer());
    table.setTableHeader(null);
    UIHelper.calcColumnWidths(table);

    blueMarbleDisplay = new ImageDisplay(IMG_SIZE, IMG_SIZE / 2, false, false);
    blueMarbleDisplay.setNoImageStr("");

    CellConstraints cc = new CellConstraints();

    PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g,p,f:p:g", "p,8px,f:p,4px,p"));

    imgDisplay = new ImageDisplay(IMG_SIZE, IMG_SIZE, false, false);
    Dimension s = new Dimension(IMG_SIZE, IMG_SIZE);
    imgDisplay.setSize(s);
    imgDisplay.setPreferredSize(s);

    pb.add(imgDisplay, cc.xy(2, 1));
    pb.add(sp, cc.xyw(1, 3, 3));
    pb.add(blueMarbleDisplay, cc.xy(2, 5));

    imgDisplay.setBackground(Color.WHITE);
    imgDisplay.setOpaque(true);

    setBackground(Color.WHITE);
    setOpaque(true);

    blueMarbleFetcher = new BlueMarbleFetcher(IMG_SIZE, IMG_SIZE / 2, new BufferedImageFetcherIFace() {
        @Override
        public void imageFetched(BufferedImage image) {
            if (image != null) {
                blueMarble = image;
                //blueMarbleDisplay.setImage(blueMarble);

                ColorConvertOp colorConvert = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY),
                        null);
                colorConvert.filter(blueMarble, blueMarble);

                // 0.21 R + 0.71 G + 0.07 B
            }
        }

        @Override
        public void error() {
        }
    });
    blueMarbleFetcher.init();
    markerImg = blueMarbleFetcher.getMarkerImg();

    setLayout(new BorderLayout());

    JScrollPane sb = new JScrollPane(pb.getPanel(), JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    add(sb, BorderLayout.CENTER);

    super.doneBuilding();
}

From source file:edu.ku.brc.specify.tasks.subpane.images.ImagesPane.java

License:Open Source License

/**
 * @return// www . j  a va 2 s.c  o m
 */
private void createColObjSearch() {
    if (searchType != SearchType.FromRecordSet) {
        searchForAllAttachments();
        gridPanel.setItemList(rowsVector);
        JScrollPane sb = new JScrollPane(gridPanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        add(sb, BorderLayout.CENTER);
        return;
    }

    CellConstraints cc = new CellConstraints();

    String rowDef = searchType != SearchType.FromRecordSet ? "f:p:g" : "p,4px,f:p:g";
    PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g,2px,p", rowDef));

    int y = 1;
    coVBP = new ViewBasedDisplayPanel(null, "COImageSearch", CollectionObject.class.getName(), true,
            MultiView.NO_SCROLLBARS | MultiView.IS_SINGLE_OBJ | MultiView.IS_EDITTING);
    pb.add(coVBP, cc.xyw(1, y, 3));
    y += 2;

    pb.add(gridPanel, cc.xyw(1, y, 3));

    coVBP.setData(dataMap);

    FormViewObj fvo = coVBP.getMultiView().getCurrentViewAsFormViewObj();
    JButton searchBtn = fvo.getCompById("2");
    JTextField textField = fvo.getCompById("1");
    y += 2;

    //fvo.setAlwaysGetDataFromUI(true);

    if (searchBtn != null) {
        final JButton searchBtnFinal = searchBtn;
        final JTextField textFieldFinal = textField;

        searchBtn.setEnabled(false);
        searchBtn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //searchForColObjImagesForTable();
                gridPanel.setItemList(rowsVector);
                //invalidate();
                //revalidate();
            }
        });

        textField.getDocument().addDocumentListener(new DocumentAdaptor() {
            @Override
            protected void changed(DocumentEvent e) {
                searchBtnFinal.setEnabled(textFieldFinal.getText().length() > 0);
            }
        });
        textField.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                if (e.getKeyCode() == KeyEvent.VK_ENTER && textFieldFinal.getText().length() > 0) {
                    //searchForColObjImagesForTable();
                }
            }

        });
    }
    JScrollPane sb = new JScrollPane(pb.getPanel(), JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    add(sb, BorderLayout.CENTER);
}

From source file:edu.ku.brc.specify.tasks.subpane.lm.LifeMapperPane.java

License:Open Source License

/**
 * Creates the UI.//from www .  j a v a2  s.  c o m
 */
@SuppressWarnings("unchecked")
protected void createUI() {
    currentSize = getCurrentSizeSquare();

    searchText = createTextField(25);
    searchSciNameBtn = createI18NButton("LM_SEARCH");
    list = new JList(listModel);
    imgDisplay = new ImageDisplay(IMG_WIDTH, IMG_HEIGHT, false, true);

    imgDisplay.setChangeListener(this);

    wwPanel = new WorldWindPanel(false);
    wwPanel.setPreferredSize(new Dimension(currentSize, currentSize));
    wwPanel.setZoomInMeters(600000.0);

    imgDisplay.setDoShowText(false);

    searchMyDataBtn = createI18NButton("LM_SRCH_SP_DATA");
    myDataTF = UIHelper.createTextField();

    CellConstraints cc = new CellConstraints();

    PanelBuilder pb1 = new PanelBuilder(new FormLayout("p,2px,f:p:g,2px,p", "p"));
    pb1.add(createI18NFormLabel("LM_SRCH_COL"), cc.xy(1, 1));
    pb1.add(searchText, cc.xy(3, 1));
    pb1.add(searchSciNameBtn, cc.xy(5, 1));

    PanelBuilder myPB = new PanelBuilder(new FormLayout("f:p:g,p", "p,2px,p,2px,p"));
    mySepComp = myPB.addSeparator(getResourceString("LM_MYDATA_TITLE"), cc.xyw(1, 1, 2));
    myPB.add(myDataTF, cc.xyw(1, 3, 2));
    myPB.add(searchMyDataBtn, cc.xy(2, 5));

    PanelBuilder pb2 = new PanelBuilder(new FormLayout("MAX(p;300px),2px,f:p:g", "f:p:g,20px,p"));
    pb2.add(createScrollPane(list), cc.xy(1, 1));
    pb2.add(myPB.getPanel(), cc.xy(1, 3));

    PanelBuilder pb3 = new PanelBuilder(new FormLayout("f:p:g,p,f:p:g", "f:p:g,p,4px,p,f:p:g"));
    pb3.add(createI18NLabel("LM_WRLD_OVRVW", SwingConstants.CENTER), cc.xy(2, 2));
    pb3.add(imgDisplay, cc.xy(2, 4));

    PanelBuilder pb4 = new PanelBuilder(new FormLayout("f:p:g,p,f:p:g", "f:p:g,p,4px,p,f:p:g"));
    pb4.add(createI18NLabel("LM_INTRACT_VW", SwingConstants.CENTER), cc.xy(2, 2));
    pb4.add(wwPanel, cc.xy(2, 4));

    PanelBuilder pb5 = new PanelBuilder(new FormLayout("f:p:g", "f:p:g,p,f:p:g"));
    pb5.add(pb3.getPanel(), cc.xy(1, 1));
    pb5.add(pb4.getPanel(), cc.xy(1, 3));

    PanelBuilder pb = new PanelBuilder(new FormLayout("p,8px,f:p:g", "p,8px,f:p:g"), this);
    pb.add(pb1.getPanel(), cc.xyw(1, 1, 3));
    pb.add(pb2.getPanel(), cc.xy(1, 3));
    pb.add(pb5.getPanel(), cc.xy(3, 3));

    updateMyDataUIState(false);

    searchText.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                searchSciNameBtn.doClick();
            }
        }
    });

    myDataTF.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                searchMyDataBtn.doClick();
            }
        }
    });

    list.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                if (list.getSelectedIndex() == -1) {
                    wwPanel.reset();
                    imgDisplay.setImage(blueMarble);

                } else {
                    SwingWorker<Boolean, Boolean> worker = new SwingWorker<Boolean, Boolean>() {
                        @Override
                        protected Boolean doInBackground() throws Exception {
                            if (doResetWWPanel) {
                                wwPanel.reset();
                            }
                            doSearchOccur();
                            return null;
                        }

                        @Override
                        protected void done() {
                            imgDisplay.repaint();
                        }
                    };
                    worker.execute();
                }
            }
        }
    });

    searchMyDataBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    doSearchSpecifyData(myDataTF.getText().trim());
                }
            });

        }
    });

    searchSciNameBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            doSearchGenusSpecies();
        }
    });

    blueMarbleListener = new BufferedImageFetcherIFace() {
        @Override
        public void imageFetched(BufferedImage image) {
            blueMarble = image;
            imgDisplay.setImage(blueMarble);
        }

        @Override
        public void error() {
            blueMarbleTries++;
            if (blueMarbleTries < 5) {
                blueMarbleRetry();
            }
        }
    };

    blueMarbleURL = BG_URL + String.format("WIDTH=%d&HEIGHT=%d", IMG_WIDTH, IMG_HEIGHT);

    pointsMapImageListener = new BufferedImageFetcherIFace() {
        @Override
        public void imageFetched(final BufferedImage image) {
            if (renderImage == null) {
                renderImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, BufferedImage.TYPE_INT_ARGB);
            }
            Graphics2D g2d = renderImage.createGraphics();
            if (g2d != null) {
                g2d.fillRect(0, 0, IMG_WIDTH, IMG_HEIGHT);
                if (blueMarble != null) {
                    g2d.drawImage(blueMarble, 0, 0, null);
                }
                if (image != null) {
                    g2d.drawImage(image, 0, 0, null);
                }
                g2d.dispose();

                imgDisplay.setImage(renderImage);
            }
        }

        @Override
        public void error() {
        }
    };
    blueMarbleRetry();
}

From source file:edu.ku.brc.specify.tasks.subpane.security.SecurityAdminPane.java

License:Open Source License

/**
 * Creates the whole navigation panel which contains the navigation tree and the user list at the bottom.
 * @return the navigation panel/*  w  w  w  .ja v a2 s  .c om*/
 */
private JPanel createNavigationPanel() {
    JPanel navigationPanel = new JPanel();
    final PanelBuilder mainPB = new PanelBuilder(
            new FormLayout("min(210px;p)", "p,3dlu,p,3dlu,f:p:g,2px,p,10px,p"), navigationPanel);
    final CellConstraints cc = new CellConstraints();

    JPanel navTreePanel = createFullTreeNavPanel(); // navigation jTree gets created here 
    navTreePanel.setMinimumSize(new Dimension(200, 200));

    PanelBuilder btnPB = new PanelBuilder(new FormLayout("p,4px,p,4px,p,4px,p,4px,p,f:p:g", "p"));
    JButton addUserBtn = UIHelper.createIconBtn("add-person", IconManager.IconSize.NonStd,
            "SEC_ADDNEWUSERGRP_TT", null); // I18N
    JButton addExtUserBtn = UIHelper.createIconBtn("addext-person", IconManager.IconSize.NonStd,
            "SEC_ADDEXTUSERGRP_TT", null); // I18N
    JButton addToAdminBtn = UIHelper.createIconBtn("AdminGroup", IconManager.IconSize.Std24,
            "SEC_ADDADMUSERGRP_TT", null); // I18N
    JButton delUserBtn = UIHelper.createIconBtn("del-person", IconManager.IconSize.NonStd, "SEC_DELUSRGRP_TT",
            null);
    btnPB.add(addUserBtn, cc.xy(1, 1));
    btnPB.add(addExtUserBtn, cc.xy(3, 1));
    btnPB.add(addToAdminBtn, cc.xy(5, 1));
    btnPB.add(delUserBtn, cc.xy(7, 1));

    navTreeContextMgr.setBtn(addUserBtn, addExtUserBtn, addToAdminBtn, delUserBtn);

    // Other components that were added to the tree panel are now created here
    // It's better to include the scrollpane with the navigation JTree in a separate panel
    // to let it shrink correctly (bug 6409)

    //String helpStr = getResourceString("ADD_USER_HINT");
    //JLabel userDnDHelp = createLabel(helpStr);

    final PanelBuilder tbRightPB = new PanelBuilder(new FormLayout("f:p:g,p", "p"));
    mainPB.add(tbRightPB.getPanel(), cc.xy(1, 6));

    int y = 1;
    PanelBuilder lpb = new PanelBuilder(new FormLayout("p,10px,p:g", "p,2px,p,2px,p,2px,p,2px,p,2px"));
    lpb.addSeparator(getResourceString("SEC_LGND"), cc.xyw(1, y, 3));
    y += 2;

    Discipline discipline = AppContextMgr.getInstance().getClassObject(Discipline.class);
    String[] lbl = { "SEC_DSP", "SEC_COLL", "SEC_ADMINGRP", "SEC_PERSON" };
    String[] icn = { discipline.getType(), "Collection", "AdminGroup", "person" };
    for (int i = 0; i < lbl.length; i++) {
        lpb.add(createLabel("", IconManager.getIcon(icn[i], IconManager.STD_ICON_SIZE)), cc.xy(1, y));
        lpb.add(createI18NLabel(lbl[i]), cc.xy(3, y));
        y += 2;
    }

    mainPB.add(btnPB.getPanel(), cc.xy(1, 7));
    mainPB.add(lpb.getPanel(), cc.xy(1, 9));

    DocumentListener searchDL = new DocumentAdaptor() {
        @Override
        protected void changed(DocumentEvent e) {
            FilteredTreeModel model = (FilteredTreeModel) tree.getModel();
            Filter filter = (StringUtils.isNotEmpty(searchText.getText())) ? new Filter(searchText.getText())
                    : null;
            model.setFilter(filter);
        }
    };

    searchText = new JAutoCompTextField(isMacOS() ? 15 : 22);
    searchText.getDocument().addDocumentListener(searchDL);
    SearchBox searchBox = new SearchBox(searchText, null);

    final PanelBuilder toolbarPB = new PanelBuilder(new FormLayout("l:p,1dlu,p,1dlu,p,1dlu,p,15dlu,r:p", "p"));
    toolbarPB.add(searchBox, cc.xy(1, 1));

    mainPB.add(toolbarPB.getPanel(), cc.xy(1, 3));
    mainPB.add(navTreePanel, cc.xy(1, 5));

    return navigationPanel;
}

From source file:edu.ku.brc.specify.tasks.subpane.VisualQueryPanel.java

License:Open Source License

/**
 * Creates the UI./*from w w  w .  ja v  a 2  s.com*/
 */
protected void createUI() {
    CellConstraints cc = new CellConstraints();

    lineLayer = new RenderableLayer();

    upBtn = UIHelper.createIconBtn("Green Arrow Up", "", new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            moveItems(recSetList, botIdHash, dbObjList, topIdHash);
        }
    });

    dwnBtn = UIHelper.createIconBtn("Green Arrow Down", "", new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            moveItems(dbObjList, topIdHash, recSetList, botIdHash);

            boolean hasItems = recSetList.getModel().getSize() > 0;
            rsBtn.setEnabled(hasItems);
            fmBtn.setEnabled(hasItems);

        }
    });

    selectAllBtn = UIHelper.createI18NButton("SELECTALL");
    selectAllBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dbObjList.clearSelection();
            dbObjList.getSelectionModel().setSelectionInterval(0, dbObjList.getModel().getSize());
        }
    });
    deselectAllBtn = UIHelper.createI18NButton("DESELECTALL");
    deselectAllBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dbObjList.clearSelection();
        }
    });

    PanelBuilder upDwnPB = new PanelBuilder(new FormLayout("f:p:g,p,f:p:g,p,10px,p,f:p:g,p,f:p:g", "p"));
    //upDwnPB.add(selectAllBtn,   cc.xy(2,1));
    upDwnPB.add(dwnBtn, cc.xy(4, 1));
    upDwnPB.add(upBtn, cc.xy(6, 1));
    //upDwnPB.add(deselectAllBtn, cc.xy(7,1));

    dbObjList = new JList(new DefaultListModel());
    dbObjList.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    //wpList.setCellRenderer(new WPListCellRenderer());
    dbObjList.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            upBtn.setEnabled(false);
            dwnBtn.setEnabled(dbObjList.getSelectedIndex() != -1);
        }
    });

    recSetList = new JList(new DefaultListModel());
    recSetList.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    //trkList.setCellRenderer(new TrkListCellRenderer());
    recSetList.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            boolean isSel = recSetList.getSelectedIndex() != -1;
            dwnBtn.setEnabled(false);
            upBtn.setEnabled(isSel);
        }
    });

    rsBtn = UIHelper.createIconBtn("Record_Set", IconManager.IconSize.Std24, "", null);
    fmBtn = UIHelper.createIconBtn("FormEdit", IconManager.IconSize.Std24, "", null);
    PanelBuilder toolsBtnPB = new PanelBuilder(new FormLayout("f:p:g,2px,p,2px,p", "p"));
    toolsBtnPB.add(fmBtn, cc.xy(3, 1));
    toolsBtnPB.add(rsBtn, cc.xy(5, 1));

    PanelBuilder leftPB = new PanelBuilder(
            new FormLayout("min(p;250px),10px,f:p:g", "p,2px,f:p:g, 4px,p,4px, p,2px,f:p:g, 2px,p"));

    int y = 1;
    leftPB.add(topLbl = UIHelper.createLabel("Available Points"), cc.xy(1, y));
    y += 2; // I18N
    leftPB.add(UIHelper.createScrollPane(dbObjList, true), cc.xy(1, y));
    y += 2;

    leftPB.add(upDwnPB.getPanel(), cc.xy(1, y));
    y += 2;

    leftPB.add(UIHelper.createLabel("Selected Objects"), cc.xy(1, y));
    y += 2;
    leftPB.add(UIHelper.createScrollPane(recSetList, true), cc.xy(1, y));
    y += 2;

    leftPB.add(toolsBtnPB.getPanel(), cc.xy(1, y));
    y += 2;

    wwPanel = new WorldWindPanel();
    wwPanel.setPreferredSize(new Dimension(MAP_WIDTH, MAP_HEIGHT));
    wwPanel.getWorld().addSelectListener(new ClickAndGoSelectListener(wwPanel.getWorld(), MarkerLayer.class));
    //wwPanel.getWorld().addSelectListener(getWWSelectListener());
    //wwPanel.getWorld().getInputHandler().addMouseListener(getWWMouseAdapter());

    PanelBuilder rightPB = new PanelBuilder(new FormLayout("f:p:g", "f:p:g"));

    // ZZZ lineBuilder = new LineBuilder(wwPanel.getWorld(), lineLayer, polyline);
    rightPB.add(wwPanel, cc.xy(1, 1));
    y += 2;

    polyline.setAntiAliasHint(Polyline.ANTIALIAS_NICEST);
    polyline.setLineWidth(1.5);
    polyline.setFollowTerrain(true);

    startBtn = UIHelper.createI18NButton("Start");
    endBtn = UIHelper.createI18NButton("End");
    searchBtn = UIHelper.createI18NButton("SEARCH");
    clearAllBtn = UIHelper.createI18NButton("Clear All");
    clearSearchBtn = UIHelper.createI18NButton("Clear Search");

    typeCBX = UIHelper.createComboBox(TABLE_INFO);

    PanelBuilder btnPB = new PanelBuilder(
            new FormLayout("f:p:g,p,f:p:g,p,f:p:g,p,f:p:g,p,f:p:g,p,f:p:g,p,f:p:g", "p"));
    btnPB.add(typeCBX, cc.xy(2, 1));
    btnPB.add(startBtn, cc.xy(4, 1));
    btnPB.add(endBtn, cc.xy(6, 1));
    btnPB.add(searchBtn, cc.xy(8, 1));
    btnPB.add(clearSearchBtn, cc.xy(10, 1));
    btnPB.add(clearAllBtn, cc.xy(12, 1));

    PanelBuilder pb = new PanelBuilder(new FormLayout("p,10px,f:p:g", "f:p:g, 4px, p"), this);

    pb.add(leftPB.getPanel(), cc.xy(1, 1));
    pb.add(rightPB.getPanel(), cc.xy(3, 1));
    pb.add(btnPB.getPanel(), cc.xyw(1, 3, 3));
    pb.setDefaultDialogBorder();

    startBtn.setEnabled(true);
    endBtn.setEnabled(false);
    searchBtn.setEnabled(false);
    clearAllBtn.setEnabled(false);
    clearSearchBtn.setEnabled(false);

    rsBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            RecordSetIFace rs = createRecordSet();
            if (rs != null) {
                CommandDispatcher.dispatch(new CommandAction(RecordSetTask.RECORD_SET, "Save", null, null, rs));
            }
        }
    });

    fmBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            RecordSetIFace rs = createRecordSet();
            if (rs != null) {
                CommandDispatcher
                        .dispatch(new CommandAction(DataEntryTask.DATA_ENTRY, DataEntryTask.EDIT_DATA, rs));
            }
        }
    });

    searchBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                doSearch();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
    });

    startBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (true) {
                //doSearch();
                //return;
            }
            /*
            double lat = 37.24517;
            double lon = -100.99083;
                    
            double[] p = new double[] {-100.90805562872109,37.24714676134192,
                                    -101.1442623355922,37.15441022126542,
                                    -100.78757107464702,37.1712467680786,
                                    -100.90570697458969,37.24401619379327,
                                    -100.90805562872109,37.24714676134192};
            ArrayList<Position> list = new ArrayList<Position>();
            for (int i=0;i<p.length;i++)
            {
            Position pos = Position.fromDegrees(p[i+1], p[i], 0);
            list.add(pos);
            i++;
            }
            polygon = new Polyline(list);
            polygon.setClosed(true);
                    
            Position pos = Position.fromDegrees(lat, lon, 0.0);
            System.out.println("isLocationInside: "+GeometryMath.isLocationInside(pos, polygon.getPositions()));
            */

            //polygonWWPoints.clear();
            isCreatingPolygon = true;
            searchBtn.setEnabled(false);
            endBtn.setEnabled(true);
            startBtn.setEnabled(false);
            // ZZZ lineBuilder.setArmed(true);
        }
    });

    endBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            polyline.setClosed(true);
            isCreatingPolygon = false;
            searchBtn.setEnabled(true);
            endBtn.setEnabled(false);
            startBtn.setEnabled(false);
            searchBtn.setEnabled(true);
            clearAllBtn.setEnabled(true);
            clearSearchBtn.setEnabled(true);

            //polygonWWPoints.add(polygonWWPoints.get(0));
            //createPolyline();

            // ZZZ lineBuilder.setArmed(false);

        }
    });

    clearAllBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            doClearAll(true);
        }
    });

    clearSearchBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            doClearAll(false);
        }
    });

    typeCBX.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            doPickedNewObjType();
        }
    });

    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            typeCBX.setSelectedIndex(0);
        }
    });
}

From source file:edu.ku.brc.specify.tasks.subpane.wb.DataImportDialog.java

License:Open Source License

/**
 * Creates the UI panel for a csv import, displays config opionts.
 * //  w  w  w.j  a  va 2 s.c o  m
 * @return
 * JPanel - the panel to be displayed
 */
private JPanel createConfigPanelForCSV() {
    //JPanel configPanel = new FormDebugPanel();
    JPanel configPanel = new JPanel();
    CellConstraints cc = new CellConstraints();
    PanelBuilder builder = new PanelBuilder(new FormLayout("5px, 15px, p, 30px, p:g, 15px", // columns

            "5px," + //padding
                    "p,3px, " + //separator     
                    "p,10px, " + //delim panel        
                    "p,3px, " + //file info separator
                    "p,3px, " + //file info lable
                    "p,10px, " + //row header
                    "p, 3px," + //preview separator
                    "f:p:g,5px," + //tablePreview
                    "30px,3px," + //data import status error panel
                    "p,10px" //buttongs
    ), configPanel);// rows

    JLabel fileInfo = createLabel(getResourceString("FILE_PREVIEW") + " " + fileName);
    JPanel buttonpanel = buildButtons();
    containsHeaders = createCheckBox(getResourceString("COLUMN_HEAD"));
    containsHeaders.setSelected(true);
    containsHeaders.addItemListener(new CheckboxItemListener());

    builder.addSeparator(getResourceString("DATA_IMPORT_OPS"), cc.xyw(2, 2, 4));
    builder.add(createDelimiterPanel(), cc.xy(3, 4));
    builder.add(createOtherControlsForCSVPanel(), cc.xy(5, 4));

    builder.addSeparator(getResourceString("FILE_IMPORT"), cc.xyw(2, 6, 4));
    builder.add(fileInfo, cc.xyw(3, 8, 4));
    builder.add(containsHeaders, cc.xyw(3, 10, 3));

    builder.addSeparator(getResourceString("DATA_PREVIEW"), cc.xyw(2, 12, 4));

    myDisplayTable = setCSVTableData(myDisplayTable);
    builder.add(addtoScroll(myDisplayTable), cc.xyw(3, 14, 3));

    builder.add(errorPanel, cc.xyw(3, 16, 4));
    builder.add(buttonpanel, cc.xyw(2, 18, 4));
    configPanel.setMinimumSize(buttonpanel.getMinimumSize());
    return configPanel;
}

From source file:edu.ku.brc.specify.tasks.subpane.wb.DataImportDialog.java

License:Open Source License

/**
 * Creates the UI panel for a xls import
 * /* ww w  .  j av a  2  s  .co  m*/
 * @return
 * JPanel
 */
private JPanel createConfigPanelForXLS() {
    //JPanel configPanel = new FormDebugPanel();
    JPanel configPanel = new JPanel();
    CellConstraints cc = new CellConstraints();
    PanelBuilder builder = new PanelBuilder(new FormLayout("5px, 15px, p, 30px, p:g, 15px", // columns               
            "5px," + //padding      
                    "p,3px, " + //file info separator
                    "p,3px, " + //file info lable
                    "p,10px, " + //row header
                    "p, 3px," + //previe separator
                    "f:p:g,5px," + //tablePreview
                    "30px,3px," + //data import status error panel
                    "p,10px" //buttongs
    ), configPanel);// rows

    JLabel fileInfo = createLabel(getResourceString("FILE_PREVIEW") + " " + fileName);
    JPanel buttonpanel = buildButtons();
    containsHeaders = createCheckBox(getResourceString("COLUMN_HEAD"));
    containsHeaders.setSelected(true);
    containsHeaders.addItemListener(new CheckboxItemListener());

    builder.addSeparator(getResourceString("FILE_IMPORT"), cc.xyw(2, 2, 4));
    builder.add(fileInfo, cc.xyw(3, 4, 4));
    builder.add(containsHeaders, cc.xyw(3, 6, 3));

    builder.addSeparator(getResourceString("DATA_PREVIEW"), cc.xyw(2, 8, 4));
    myDisplayTable = setXLSTableData(myDisplayTable);
    if (myDisplayTable == null) {
        return null;
    }
    builder.add(addtoScroll(myDisplayTable), cc.xyw(3, 10, 3));
    builder.add(errorPanel, cc.xyw(3, 12, 4));
    builder.add(buttonpanel, cc.xyw(2, 14, 4));
    configPanel.setMinimumSize(buttonpanel.getMinimumSize());
    return configPanel;
}

From source file:edu.ku.brc.specify.tasks.subpane.wb.DataImportDialog.java

License:Open Source License

/**
 * Creates ui panel for allowing user to select delimiters for csv import
 * @return/*  w w  w. j ava  2  s. co m*/
 * JPanel
 */
private JPanel createDelimiterPanel() {
    JPanel myPanel = new JPanel();
    CellConstraints cc = new CellConstraints();
    FormLayout formLayout = new FormLayout("p,p,2px, p:g,2px, p,2px,p,2px,",
            "p,1px,   p,1px, p,1px , p,1px , p,1px , p,1px, p,1px ");
    PanelBuilder builder = new PanelBuilder(formLayout, myPanel);
    //Color curColor = myPanel.getBackground();
    //Color newColor = curColor;//.brighter();

    tab = createRadioButton(getResourceString("TAB"));
    tab.addItemListener(new DelimButtonItemListener());
    //tab.setBackground(newColor);

    space = createRadioButton(getResourceString("SPACE"));
    space.addItemListener(new DelimButtonItemListener());
    //space.setBackground(newColor);

    comma = createRadioButton(getResourceString("COMMA"));
    comma.addItemListener(new DelimButtonItemListener());
    comma.setSelected(true);
    //comma.setBackground(newColor);

    semicolon = createRadioButton(getResourceString("SEMICOLON"));
    semicolon.addItemListener(new DelimButtonItemListener());
    //semicolon.setBackground(newColor);

    other = createRadioButton(getResourceString("OTHER"));
    other.addItemListener(new DelimButtonItemListener());
    //other.setBackground(newColor);

    otherText = createTextField();
    otherText.addKeyListener(new CharFieldKeyAdapter());
    otherText.setColumns(1);
    otherText.setEnabled(false);
    otherText.setEditable(false);
    otherText.setDocument(new CharLengthLimitDocument(1));//limits the textfield to only allowing on character

    ButtonGroup group = new ButtonGroup();
    group.add(tab);
    group.add(space);
    group.add(other);
    group.add(comma);
    group.add(semicolon);

    builder.addSeparator(getResourceString("SELECT_DELIMS"), cc.xyw(1, 1, 4));
    builder.add(comma, cc.xyw(1, 3, 4));
    builder.add(semicolon, cc.xyw(1, 5, 4));
    builder.add(space, cc.xyw(1, 7, 4));
    builder.add(tab, cc.xyw(1, 9, 4));
    builder.add(other, cc.xy(1, 11));
    builder.add(otherText, cc.xy(2, 11));

    //myPanel.setBackground(newColor);
    return myPanel;
}

From source file:edu.ku.brc.specify.tasks.subpane.wb.ImageImportFrame.java

License:Open Source License

@Override
public void createUI() {
    super.createUI();

    PanelBuilder builder = new PanelBuilder(new FormLayout("p, f:p:g", "p,2px,p,8px,p,8px,p"));
    CellConstraints cc = new CellConstraints();

    oneImagePerRow = new JRadioButton("One Image Per Row");
    JRadioButton allImagesPerRow = new JRadioButton("All Images In One Row");
    ButtonGroup grp = new ButtonGroup();
    grp.add(allImagesPerRow);/*from   www  .j a va  2  s. c  om*/
    grp.add(oneImagePerRow);

    JButton fileDlg = createI18NButton("FIles...");

    builder.add(oneImagePerRow, cc.xyw(1, 1, 2));
    builder.add(allImagesPerRow, cc.xyw(1, 3, 2));
    builder.addSeparator("", cc.xyw(1, 5, 2));

    builder.add(fileDlg, cc.xy(1, 7));

    builder.setDefaultDialogBorder();

    contentPanel = builder.getPanel();
    mainPanel.add(contentPanel, BorderLayout.CENTER);

    pack();

    oneImagePerRow.setSelected(true);

    fileDlg.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            ((WorkbenchTask) wbPane.getTask()).importCardImages(workbench, isOneImagePerRow());
        }
    });
}