0001: /*
0002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
0003: *
0004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
0005: *
0006: * The contents of this file are subject to the terms of either the GNU
0007: * General Public License Version 2 only ("GPL") or the Common
0008: * Development and Distribution License("CDDL") (collectively, the
0009: * "License"). You may not use this file except in compliance with the
0010: * License. You can obtain a copy of the License at
0011: * http://www.netbeans.org/cddl-gplv2.html
0012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
0013: * specific language governing permissions and limitations under the
0014: * License. When distributing the software, include this License Header
0015: * Notice in each file and include the License file at
0016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
0017: * particular file as subject to the "Classpath" exception as provided
0018: * by Sun in the GPL Version 2 section of the License file that
0019: * accompanied this code. If applicable, add the following below the
0020: * License Header, with the fields enclosed by brackets [] replaced by
0021: * your own identifying information:
0022: * "Portions Copyrighted [year] [name of copyright owner]"
0023: *
0024: * Contributor(s):
0025: *
0026: * The Original Software is NetBeans. The Initial Developer of the Original
0027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
0028: * Microsystems, Inc. All Rights Reserved.
0029: *
0030: * If you wish your version of this file to be governed by only the CDDL
0031: * or only the GPL Version 2, indicate your decision by adding
0032: * "[Contributor] elects to include this software in this distribution
0033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
0034: * single choice of license, a recipient has the option to distribute
0035: * your version of this file under either the CDDL, the GPL Version 2 or
0036: * to extend the choice of license to its licensees as provided above.
0037: * However, if you add GPL Version 2 code and therefore, elected the GPL
0038: * Version 2 license, then the option applies only if the new code is
0039: * made subject to such option by the copyright holder.
0040: */
0041: package org.netbeans.modules.visualweb.web.ui.dt.component.table;
0042:
0043: import com.sun.data.provider.TableDataProvider;
0044: import com.sun.rave.designtime.DesignBean;
0045: import com.sun.rave.designtime.DesignContext;
0046: import com.sun.rave.designtime.DesignEvent;
0047: import com.sun.rave.designtime.DesignProject;
0048: import com.sun.rave.designtime.DesignProperty;
0049: import com.sun.rave.designtime.Position;
0050: import com.sun.rave.designtime.Result;
0051: import com.sun.rave.designtime.event.DesignContextListener;
0052: import com.sun.rave.designtime.faces.FacesDesignProject;
0053: import com.sun.rave.web.ui.component.Button;
0054: import com.sun.rave.web.ui.component.ImageHyperlink;
0055: import com.sun.rave.web.ui.component.TableRowGroup;
0056: import com.sun.rave.web.ui.component.TextArea;
0057: import com.sun.rave.web.ui.component.TextField;
0058: import com.sun.rave.web.ui.component.Label;
0059: import com.sun.rave.web.ui.component.StaticText;
0060: import com.sun.rave.web.ui.component.Hyperlink;
0061: import com.sun.rave.web.ui.component.Checkbox;
0062: import com.sun.rave.web.ui.component.RadioButton;
0063: import com.sun.rave.web.ui.component.ImageComponent;
0064: import com.sun.rave.web.ui.component.DropDown;
0065: import com.sun.rave.web.ui.component.PanelGroup;
0066: import com.sun.rave.web.ui.component.Message;
0067: import java.util.ArrayList;
0068: import java.util.HashMap;
0069: import java.util.List;
0070: import java.util.Map;
0071: import javax.swing.DefaultComboBoxModel;
0072: import javax.swing.DefaultListModel;
0073: import java.awt.Component;
0074: import javax.swing.DefaultListCellRenderer;
0075: import javax.swing.JList;
0076: import javax.swing.JOptionPane;
0077: import javax.swing.SwingUtilities;
0078: import org.netbeans.modules.visualweb.propertyeditors.binding.data.AddDataProviderDialog;
0079:
0080: /**
0081: * Main Panel of the Table Customizer
0082: * @author Winston Prakash
0083: */
0084:
0085: public class TableCustomizerMainPanel extends javax.swing.JPanel
0086: implements DesignContextListener {
0087:
0088: private DesignBean designBean = null;
0089:
0090: private TableDesignState tableDesignState;
0091: private TableRowGroupDesignState tableRowGroupDesignState;
0092:
0093: private DefaultListModel selectedColumnListModel = new DefaultListModel();
0094: private DefaultListModel availableColumnListModel = new DefaultListModel();
0095:
0096: private DefaultComboBoxModel dataProviderComboBoxModel = new DefaultComboBoxModel();
0097:
0098: private Map dataProviderList = new HashMap();
0099:
0100: private TableDataProviderDesignState currentTableDataProviderDesignState;
0101:
0102: private TableColumnDesignState currentTableColumnDesignState;
0103:
0104: private List componentTypes = new ArrayList();
0105:
0106: private DesignContext[] designContexts;
0107:
0108: DesignBean currentModelBean;
0109:
0110: String[] hAlignValues = { "left", "center", "right", "justify" };
0111: String[] vAlignValues = { "top", "middle", "bottom" };
0112:
0113: public TableCustomizerMainPanel(DesignBean bean) {
0114: designBean = bean;
0115: //designContexts = designBean.getDesignContext().getProject().getDesignContexts();
0116: designContexts = getDesignContexts(designBean);
0117: initComponents();
0118: initialize();
0119:
0120: // For Shortfin we removed the Server Navigator window.
0121: // Add Data provider dialogs depends on it. So hide it for Shortfin - Winston
0122: addDataProviderButton.setVisible(false);
0123:
0124: }
0125:
0126: // For performance improvement. No need to get all the contexts in the project
0127: private DesignContext[] getDesignContexts(DesignBean designBean) {
0128: DesignProject designProject = designBean.getDesignContext()
0129: .getProject();
0130: DesignContext[] contexts;
0131: if (designProject instanceof FacesDesignProject) {
0132: contexts = ((FacesDesignProject) designProject)
0133: .findDesignContexts(new String[] { "request",
0134: "session", "application" });
0135: } else {
0136: contexts = new DesignContext[0];
0137: }
0138: DesignContext[] designContexts = new DesignContext[contexts.length + 1];
0139: designContexts[0] = designBean.getDesignContext();
0140: System.arraycopy(contexts, 0, designContexts, 1,
0141: contexts.length);
0142: return designContexts;
0143: }
0144:
0145: /**
0146: * Initialize the Panel with design state data
0147: */
0148: private void initialize() {
0149: // Create the Table & TableRowGroup and load their states.
0150: // User can bring up this customizer panel from Table as well from Table Row Group
0151: if (designBean.getInstance() instanceof TableRowGroup) {
0152: tableDesignState = new TableDesignState(designBean
0153: .getBeanParent(), designBean);
0154: } else {
0155: tableDesignState = new TableDesignState(designBean);
0156: }
0157: tableDesignState.loadState();
0158: tableRowGroupDesignState = tableDesignState
0159: .getTableRowGroupDesignState();
0160: tableRowGroupDesignState.loadState();
0161:
0162: // Populate the Component Type Combo Box
0163: // XXX - Revisit and replace
0164: DefaultComboBoxModel componentTypeComboBoxModel = new DefaultComboBoxModel();
0165: componentTypes.add(StaticText.class);
0166: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0167: .getMessage(TableCustomizerMainPanel.class,
0168: "Static_Text"));
0169: componentTypes.add(Label.class);
0170: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0171: .getMessage(TableCustomizerMainPanel.class, "Label"));
0172: componentTypes.add(TextField.class);
0173: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0174: .getMessage(TableCustomizerMainPanel.class,
0175: "Text_Field"));
0176: componentTypes.add(TextArea.class);
0177: componentTypeComboBoxModel
0178: .addElement(org.openide.util.NbBundle.getMessage(
0179: TableCustomizerMainPanel.class, "Text_Area"));
0180: componentTypes.add(Button.class);
0181: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0182: .getMessage(TableCustomizerMainPanel.class, "Button"));
0183: componentTypes.add(Hyperlink.class);
0184: componentTypeComboBoxModel
0185: .addElement(org.openide.util.NbBundle.getMessage(
0186: TableCustomizerMainPanel.class, "Hyperlink"));
0187: componentTypes.add(ImageHyperlink.class);
0188: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0189: .getMessage(TableCustomizerMainPanel.class,
0190: "Image_Hyperlink"));
0191: componentTypes.add(DropDown.class);
0192: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0193: .getMessage(TableCustomizerMainPanel.class,
0194: "Drop_Down_List"));
0195: componentTypes.add(Checkbox.class);
0196: componentTypeComboBoxModel
0197: .addElement(org.openide.util.NbBundle.getMessage(
0198: TableCustomizerMainPanel.class, "Checkbox"));
0199: componentTypes.add(RadioButton.class);
0200: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0201: .getMessage(TableCustomizerMainPanel.class,
0202: "Radio_Button"));
0203: componentTypes.add(ImageComponent.class);
0204: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0205: .getMessage(TableCustomizerMainPanel.class, "Image"));
0206: //componentTypes.add(RadioButtonGroup.class);
0207: //componentTypes.add(CheckboxGroup.class);
0208: componentTypes.add(PanelGroup.class);
0209: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0210: .getMessage(TableCustomizerMainPanel.class,
0211: "Group_Panel"));
0212: componentTypes.add(Message.class);
0213: componentTypeComboBoxModel.addElement(org.openide.util.NbBundle
0214: .getMessage(TableCustomizerMainPanel.class, "Message"));
0215:
0216: cbxComponentType.setModel(componentTypeComboBoxModel);
0217:
0218: cbxTableDataprovider.setRenderer(new DPComboRenderer());
0219: cbxTableDataprovider
0220: .addItem(java.util.ResourceBundle
0221: .getBundle(
0222: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0223: .getString("dpRetrievingMessage"));
0224:
0225: // Initialize the Pagination Information
0226: cbEnablePagination.setSelected(tableDesignState
0227: .isPaginationEnabled());
0228:
0229: txtPageRows.setText(String.valueOf(tableRowGroupDesignState
0230: .getRows()));
0231:
0232: // Initialize the table information
0233:
0234: txtTableTitle.setText(tableDesignState.getTitle());
0235: txtTableSummary.setText(tableDesignState.getSummary());
0236: txtTableFooter.setText(tableDesignState.getFooterText());
0237: cbSelectAllRowsButton.setSelected(tableDesignState
0238: .isSelectMultipleButtonShown());
0239: cbDeselectAllRowsButton.setSelected(tableDesignState
0240: .isDeselectMultipleButtonShown());
0241: cbClearSortButton.setSelected(tableDesignState
0242: .isClearTableSortButtonShown());
0243: cbSortPanelButton.setSelected(tableDesignState
0244: .isSortPanelToggleButtonShown());
0245:
0246: // Initialize the Table Row Group information.
0247: txtEmptyDataMsg.setText(tableRowGroupDesignState
0248: .getEmptyDataMsg());
0249: currentModelBean = tableRowGroupDesignState
0250: .getDataProviderBean();
0251:
0252: cbxVertAlign
0253: .setModel(new DefaultComboBoxModel(
0254: new String[] {
0255: java.util.ResourceBundle
0256: .getBundle(
0257: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0258: .getString("ALIGN_NOT_SET"),
0259: java.util.ResourceBundle
0260: .getBundle(
0261: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0262: .getString("VALIGN_TOP"),
0263: java.util.ResourceBundle
0264: .getBundle(
0265: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0266: .getString("VALIGN_MIDDLE"),
0267: java.util.ResourceBundle
0268: .getBundle(
0269: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0270: .getString("VALIGN_BOTTOM") }));
0271: cbxHorzAlign
0272: .setModel(new DefaultComboBoxModel(
0273: new String[] {
0274: java.util.ResourceBundle
0275: .getBundle(
0276: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0277: .getString("ALIGN_NOT_SET"),
0278: java.util.ResourceBundle
0279: .getBundle(
0280: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0281: .getString("HALIGN_LEFT"),
0282: java.util.ResourceBundle
0283: .getBundle(
0284: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0285: .getString("HALIGN_CENTER"),
0286: java.util.ResourceBundle
0287: .getBundle(
0288: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0289: .getString("VALIGN_RIGHT"),
0290: java.util.ResourceBundle
0291: .getBundle(
0292: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0293: .getString("VALIGN_JUSTIFY")
0294:
0295: }));
0296:
0297: // Get the design beans of type TableDataProvider and populate the
0298: // TableDataProvider ComboBox
0299:
0300: Thread dataProviderNodeThread = new Thread(new Runnable() {
0301: //SwingUtilities.invokeLater(new Runnable() {
0302: public void run() {
0303: for (int i = 0; i < designContexts.length; i++) {
0304: DesignBean[] dpBeans = designContexts[i]
0305: .getBeansOfType(TableDataProvider.class);
0306: for (int j = 0; j < dpBeans.length; j++) {
0307: DesignBean tableDataProvider = dpBeans[j];
0308: if (tableDataProvider.getInstance() instanceof TableDataProvider) {
0309: TableDataProviderDesignState tableDataProviderDesignState = new TableDataProviderDesignState(
0310: tableDataProvider);
0311: if (currentModelBean == tableDataProvider) {
0312: currentTableDataProviderDesignState = tableDataProviderDesignState;
0313: tableDataProviderDesignState
0314: .setColumnDesignStates(tableRowGroupDesignState
0315: .getColumnDesignStates());
0316: tableDataProviderDesignState
0317: .setSelectedColumnNames(tableRowGroupDesignState
0318: .getSelectedColumnNames());
0319: }
0320: tableDataProviderDesignState.initialize();
0321: dataProviderList.put(tableDataProvider,
0322: tableDataProviderDesignState);
0323: dataProviderComboBoxModel
0324: .addElement(tableDataProvider);
0325: }
0326: }
0327: // Allow to Object List as Data to the table
0328:
0329: DesignBean[] objectListBeans = designContexts[i]
0330: .getBeansOfType(List.class);
0331: for (int j = 0; j < objectListBeans.length; j++) {
0332: DesignBean objectList = objectListBeans[j];
0333: TableDataProviderDesignState tableDataProviderDesignState = new TableDataProviderDesignState(
0334: objectList);
0335: if (currentModelBean == objectList) {
0336: currentTableDataProviderDesignState = tableDataProviderDesignState;
0337: tableDataProviderDesignState
0338: .setColumnDesignStates(tableRowGroupDesignState
0339: .getColumnDesignStates());
0340: tableDataProviderDesignState
0341: .setSelectedColumnNames(tableRowGroupDesignState
0342: .getSelectedColumnNames());
0343: }
0344: tableDataProviderDesignState.initialize();
0345: dataProviderList.put(objectList,
0346: tableDataProviderDesignState);
0347: dataProviderComboBoxModel
0348: .addElement(objectList);
0349: }
0350:
0351: // Allow to Object Array as Data to the table
0352: DesignBean[] objectArrayBeans = designContexts[i]
0353: .getBeansOfType(Object[].class);
0354: for (int j = 0; j < objectArrayBeans.length; j++) {
0355: DesignBean objectArray = objectArrayBeans[j];
0356: TableDataProviderDesignState tableDataProviderDesignState = new TableDataProviderDesignState(
0357: objectArray);
0358: if (currentModelBean == objectArray) {
0359: currentTableDataProviderDesignState = tableDataProviderDesignState;
0360: tableDataProviderDesignState
0361: .setColumnDesignStates(tableRowGroupDesignState
0362: .getColumnDesignStates());
0363: tableDataProviderDesignState
0364: .setSelectedColumnNames(tableRowGroupDesignState
0365: .getSelectedColumnNames());
0366: }
0367: tableDataProviderDesignState.initialize();
0368: dataProviderList.put(objectArray,
0369: tableDataProviderDesignState);
0370: dataProviderComboBoxModel
0371: .addElement(objectArray);
0372: }
0373: }
0374: SwingUtilities.invokeLater(new Runnable() {
0375: public void run() {
0376: cbxTableDataprovider
0377: .setModel(dataProviderComboBoxModel);
0378: setTableDataProviderDesignState(currentTableDataProviderDesignState);
0379: cbxTableDataprovider
0380: .setSelectedItem(currentModelBean);
0381: }
0382: });
0383: }
0384: });
0385: dataProviderNodeThread.setPriority(Thread.MIN_PRIORITY);
0386: dataProviderNodeThread.start();
0387: }
0388:
0389: public void addNotify() {
0390: super .addNotify();
0391: // Add context listener to all available contexts. This needed to know when a
0392: // Data Provider bean is created (needed for the feature Add data provider)
0393: // The Data Provider is not added by this dialog, but instructs Server Navigator
0394: // to add one by invoking "Add to form" action of the data source node.
0395: for (int i = 0; i < designContexts.length; i++) {
0396: //System.out.println("Adding context Listeners - " + contexts[i].getDisplayName());
0397: designContexts[i].addDesignContextListener(this );
0398: }
0399: }
0400:
0401: public void removeNotify() {
0402: // Make sure the added listeners to contexts are removed
0403: // Surprisingly Design Time (insync imp) doesn't use Weak References to take care
0404: // of this automatically
0405: for (int i = 0; i < designContexts.length; i++) {
0406: //System.out.println("Removing context Listeners - " + contexts[i].getDisplayName());
0407: designContexts[i].removeDesignContextListener(this );
0408: }
0409: super .removeNotify();
0410: }
0411:
0412: /**
0413: * Initialize using selected and available columns from the TableDataProvider desin state
0414: */
0415: private void setTableDataProviderDesignState(
0416: TableDataProviderDesignState tblDataProviderDesignState) {
0417: currentTableDataProviderDesignState = tblDataProviderDesignState;
0418: selectedColumnListModel = currentTableDataProviderDesignState
0419: .getSelectedColumnListModel();
0420: selectedColumns.setModel(selectedColumnListModel);
0421: if (selectedColumnListModel.size() > 0) {
0422: selectedColumns.setSelectedIndex(0);
0423: }
0424:
0425: availableColumnListModel = currentTableDataProviderDesignState
0426: .getAvailableColumnListModel();
0427: availableColumns.setModel(availableColumnListModel);
0428: if (availableColumnListModel.size() > 0) {
0429: availableColumns.setSelectedIndex(0);
0430: }
0431: }
0432:
0433: public boolean isModified() {
0434: return true;
0435: }
0436:
0437: /**
0438: * Apply the changes from the customizer panel to the Design time state and then save the sate.
0439: */
0440: public Result applyChanges() {
0441: // Clear the design state values
0442: tableDesignState.clearProperties();
0443: tableRowGroupDesignState.clearProperties();
0444:
0445: // Save the Data model and Column Information to the design state
0446: saveCurrentTableColumnDesignStateValues();
0447: tableRowGroupDesignState
0448: .setSelectedColumnNames(currentTableDataProviderDesignState
0449: .getSelectedColumnNames());
0450: tableRowGroupDesignState
0451: .setAvailableColumnNames(currentTableDataProviderDesignState
0452: .getAvailableColumnNames());
0453: tableRowGroupDesignState
0454: .setColumnDesignStates(currentTableDataProviderDesignState
0455: .getColumnDesignStates());
0456: if (currentTableDataProviderDesignState.getDataProviderBean() != tableRowGroupDesignState
0457: .getDataProviderBean()) {
0458: tableRowGroupDesignState.setDataProviderBean(
0459: currentTableDataProviderDesignState
0460: .getDataProviderBean(), false);
0461: }
0462:
0463: // Save the Pagination information to the state
0464: tableDesignState.setPaginationEnabled(cbEnablePagination
0465: .isSelected());
0466: try {
0467: tableRowGroupDesignState.setRows(Integer
0468: .parseInt(txtPageRows.getText().trim()));
0469: } catch (Exception exc) {
0470: tableRowGroupDesignState.setRows(5);
0471: }
0472:
0473: // Set the table information to the Table design state
0474: tableDesignState.setTitle(txtTableTitle.getText());
0475: tableDesignState.setSummary(txtTableSummary.getText());
0476: tableDesignState.setFooterText(txtTableFooter.getText());
0477:
0478: tableDesignState
0479: .setSelectMultipleButtonShown(cbSelectAllRowsButton
0480: .isSelected());
0481: tableDesignState
0482: .setDeselectMultipleButtonShown(cbDeselectAllRowsButton
0483: .isSelected());
0484: tableDesignState.setClearTableSortButtonShown(cbClearSortButton
0485: .isSelected());
0486: tableDesignState
0487: .setSortPanelToggleButtonShown(cbSortPanelButton
0488: .isSelected());
0489:
0490: // Set the Table Row Group information to the TableRowGroup design state
0491: tableRowGroupDesignState.setEmptyDataMsg(txtEmptyDataMsg
0492: .getText());
0493:
0494: // Persist the design sate now
0495: tableDesignState.saveState();
0496:
0497: Result result = new Result(true);
0498: return result;
0499: }
0500:
0501: /**
0502: * Load the vales for the Columns tab from the current TableClumn design state
0503: */
0504: private void loadCurrentTableColumnDesignStateValues() {
0505: if (currentTableColumnDesignState != null) {
0506: txtHeader
0507: .setText(currentTableColumnDesignState.getHeader());
0508: txtFooter
0509: .setText(currentTableColumnDesignState.getFooter());
0510: txtValueExpression.setText(currentTableColumnDesignState
0511: .getValueExpression());
0512: if (componentTypes.indexOf(currentTableColumnDesignState
0513: .getChildType()) >= 0) {
0514: cbxComponentType.setSelectedIndex(componentTypes
0515: .indexOf(currentTableColumnDesignState
0516: .getChildType()));
0517: }
0518: int hAlignIndex = 0;
0519: String hAlignVal = currentTableColumnDesignState
0520: .getHorizontalAlign();
0521: if (hAlignVal != null) {
0522: for (int i = 0; i < hAlignValues.length; i++) {
0523: if (hAlignValues[i].equals(hAlignVal.trim())) {
0524: hAlignIndex = i + 1;
0525: break;
0526: }
0527: }
0528: }
0529: cbxHorzAlign.setSelectedIndex(hAlignIndex);
0530: int vAlignIndex = 0;
0531: String vAlignVal = currentTableColumnDesignState
0532: .getVerticalAlign();
0533: if (vAlignVal != null) {
0534: for (int i = 0; i < vAlignValues.length; i++) {
0535: if (vAlignValues[i].equals(vAlignVal.trim())) {
0536: vAlignIndex = i + 1;
0537: break;
0538: }
0539: }
0540: }
0541: cbxVertAlign.setSelectedIndex(vAlignIndex);
0542:
0543: widthField
0544: .setText(currentTableColumnDesignState.getWidth());
0545:
0546: if (currentTableColumnDesignState.isSortAllowed()) {
0547: cbSortable.setEnabled(true);
0548: cbSortable.setSelected(currentTableColumnDesignState
0549: .isSortable());
0550: } else {
0551: cbSortable.setSelected(false);
0552: cbSortable.setEnabled(false);
0553: }
0554: }
0555: }
0556:
0557: /**
0558: * Save the vales from the Columns tab to the current TableClumn design state
0559: */
0560: private void saveCurrentTableColumnDesignStateValues() {
0561: if (currentTableColumnDesignState != null) {
0562: currentTableColumnDesignState.clearProperties();
0563: currentTableColumnDesignState.setHeader(txtHeader.getText()
0564: .trim());
0565: currentTableColumnDesignState.setFooter(txtFooter.getText()
0566: .trim());
0567: currentTableColumnDesignState
0568: .setValueExpression(txtValueExpression.getText()
0569: .trim());
0570: currentTableColumnDesignState
0571: .setChildType((Class) componentTypes
0572: .get(cbxComponentType.getSelectedIndex()));
0573:
0574: if (cbxHorzAlign.getSelectedIndex() > 0) {
0575: currentTableColumnDesignState
0576: .setHorizontalAlign(hAlignValues[cbxHorzAlign
0577: .getSelectedIndex() - 1]);
0578: } else {
0579: currentTableColumnDesignState.setHorizontalAlign("");
0580: }
0581:
0582: if (cbxVertAlign.getSelectedIndex() > 0) {
0583: currentTableColumnDesignState
0584: .setVerticalAlign(vAlignValues[cbxVertAlign
0585: .getSelectedIndex() - 1]);
0586: } else {
0587: currentTableColumnDesignState.setVerticalAlign("");
0588: }
0589: currentTableColumnDesignState.setSortable(cbSortable
0590: .isSelected());
0591: currentTableColumnDesignState.setWidth(widthField.getText()
0592: .trim());
0593: }
0594: }
0595:
0596: private void clearTableColumnDesignStateValues() {
0597: txtHeader.setText("");
0598: txtFooter.setText("");
0599: txtValueExpression.setText("");
0600: cbxComponentType.setSelectedIndex(0);
0601: cbxHorzAlign.setSelectedIndex(0);
0602: cbxVertAlign.setSelectedIndex(0);
0603: cbSortable.setSelected(false);
0604: widthField.setText("");
0605: }
0606:
0607: /** This method is called from within the constructor to
0608: * initialize the form.
0609: * WARNING: Do NOT modify this code. The content of this method is
0610: * always regenerated by the Form Editor.
0611: */
0612: // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
0613: private void initComponents() {
0614: java.awt.GridBagConstraints gridBagConstraints;
0615:
0616: jList1 = new javax.swing.JList();
0617: tableLayoutPanel = new javax.swing.JTabbedPane();
0618: columnsPanel = new javax.swing.JPanel();
0619: addRemoveColumnsPanel = new javax.swing.JPanel();
0620: getDataPanel = new javax.swing.JPanel();
0621: lblTableDataProvider = new javax.swing.JLabel();
0622: cbxTableDataprovider = new javax.swing.JComboBox();
0623: addDataProviderButton = new javax.swing.JButton();
0624: columnSelectionpanel = new javax.swing.JPanel();
0625: scrollAvailable = new javax.swing.JScrollPane();
0626: availableColumns = new javax.swing.JList();
0627: scrollSelected = new javax.swing.JScrollPane();
0628: selectedColumns = new javax.swing.JList();
0629: middleButtons = new javax.swing.JPanel();
0630: addRemoveButtonPanel = new javax.swing.JPanel();
0631: addButton = new javax.swing.JButton();
0632: removeButton = new javax.swing.JButton();
0633: addReoveAllButtonPanel = new javax.swing.JPanel();
0634: removeAllButton = new javax.swing.JButton();
0635: addAllButton = new javax.swing.JButton();
0636: rightButtons = new javax.swing.JPanel();
0637: upDownButtonPanel = new javax.swing.JPanel();
0638: upButton = new javax.swing.JButton();
0639: downButton = new javax.swing.JButton();
0640: newColumnButton = new javax.swing.JButton();
0641: lblAvailableColumns = new javax.swing.JLabel();
0642: lblSelectedColumns = new javax.swing.JLabel();
0643: columnDetailPanel = new javax.swing.JPanel();
0644: lblColumnDetails = new javax.swing.JLabel();
0645: cbxHorzAlign = new javax.swing.JComboBox();
0646: lblHorzAlign = new javax.swing.JLabel();
0647: lblHeaderText = new javax.swing.JLabel();
0648: lblFooterText = new javax.swing.JLabel();
0649: txtHeader = new javax.swing.JTextField();
0650: txtFooter = new javax.swing.JTextField();
0651: lblComponentType = new javax.swing.JLabel();
0652: cbxComponentType = new javax.swing.JComboBox();
0653: lblValueExpression = new javax.swing.JLabel();
0654: txtValueExpression = new javax.swing.JTextField();
0655: lblVertAlign = new javax.swing.JLabel();
0656: cbxVertAlign = new javax.swing.JComboBox();
0657: cbSortable = new javax.swing.JCheckBox();
0658: jLabel1 = new javax.swing.JLabel();
0659: widthField = new javax.swing.JTextField();
0660: optionsPanel = new javax.swing.JPanel();
0661: topPanel = new javax.swing.JPanel();
0662: lblTableTitle = new javax.swing.JLabel();
0663: lblTableSummary = new javax.swing.JLabel();
0664: txtTableTitle = new javax.swing.JTextField();
0665: txtTableSummary = new javax.swing.JTextField();
0666: txtTableFooter = new javax.swing.JTextField();
0667: lblTableFooter = new javax.swing.JLabel();
0668: lblEmptyDataMsg = new javax.swing.JLabel();
0669: txtEmptyDataMsg = new javax.swing.JTextField();
0670: bottomPanel = new javax.swing.JPanel();
0671: optionPanel2 = new javax.swing.JPanel();
0672: cbSelectAllRowsButton = new javax.swing.JCheckBox();
0673: cbDeselectAllRowsButton = new javax.swing.JCheckBox();
0674: pageSizePanel = new javax.swing.JPanel();
0675: lblPageSize = new javax.swing.JLabel();
0676: txtPageRows = new javax.swing.JTextField();
0677: cbEnablePagination = new javax.swing.JCheckBox();
0678: cbClearSortButton = new javax.swing.JCheckBox();
0679: cbSortPanelButton = new javax.swing.JCheckBox();
0680: fillPanel = new javax.swing.JPanel();
0681:
0682: setLayout(new java.awt.BorderLayout());
0683:
0684: columnsPanel.setLayout(new java.awt.BorderLayout(5, 5));
0685:
0686: addRemoveColumnsPanel.setLayout(new java.awt.BorderLayout());
0687:
0688: getDataPanel.setLayout(new java.awt.BorderLayout(5, 5));
0689:
0690: getDataPanel.setBorder(javax.swing.BorderFactory
0691: .createEmptyBorder(10, 10, 10, 10));
0692: lblTableDataProvider.setDisplayedMnemonic('G');
0693: lblTableDataProvider.setLabelFor(cbxTableDataprovider);
0694: lblTableDataProvider
0695: .setText(java.util.ResourceBundle
0696: .getBundle(
0697: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0698: .getString("TABLE_DATA_PROVIDER_TITLE"));
0699: lblTableDataProvider.setVerifyInputWhenFocusTarget(false);
0700: getDataPanel.add(lblTableDataProvider,
0701: java.awt.BorderLayout.WEST);
0702: lblTableDataProvider
0703: .getAccessibleContext()
0704: .setAccessibleDescription(
0705: java.util.ResourceBundle
0706: .getBundle(
0707: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0708: .getString("GET_DATA_FROM_ACCESS_DESC"));
0709:
0710: cbxTableDataprovider
0711: .addItemListener(new java.awt.event.ItemListener() {
0712: public void itemStateChanged(
0713: java.awt.event.ItemEvent evt) {
0714: cbxTableDataproviderItemStateChanged(evt);
0715: }
0716: });
0717:
0718: getDataPanel.add(cbxTableDataprovider,
0719: java.awt.BorderLayout.CENTER);
0720: cbxTableDataprovider
0721: .getAccessibleContext()
0722: .setAccessibleDescription(
0723: java.util.ResourceBundle
0724: .getBundle(
0725: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0726: .getString("GET_DATA_FROM_ACCESS_DESC"));
0727:
0728: addDataProviderButton.setMnemonic(org.openide.util.NbBundle
0729: .getMessage(TableCustomizerMainPanel.class,
0730: "ADD_DATAPROVIDER_BUTTON_MNEMONIC").charAt(0));
0731: addDataProviderButton
0732: .setText(java.util.ResourceBundle
0733: .getBundle(
0734: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0735: .getString("ADD_DP_BUTTON_LBL"));
0736: addDataProviderButton
0737: .addActionListener(new java.awt.event.ActionListener() {
0738: public void actionPerformed(
0739: java.awt.event.ActionEvent evt) {
0740: addDataProviderButtonActionPerformed(evt);
0741: }
0742: });
0743:
0744: getDataPanel.add(addDataProviderButton,
0745: java.awt.BorderLayout.EAST);
0746: addDataProviderButton
0747: .getAccessibleContext()
0748: .setAccessibleDescription(
0749: java.util.ResourceBundle
0750: .getBundle(
0751: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0752: .getString(
0753: "ADD_DATA_PROVIDER_ACCESS_DESC"));
0754:
0755: addRemoveColumnsPanel.add(getDataPanel,
0756: java.awt.BorderLayout.NORTH);
0757:
0758: columnSelectionpanel.setLayout(new java.awt.GridBagLayout());
0759:
0760: scrollAvailable
0761: .setMinimumSize(new java.awt.Dimension(150, 150));
0762: scrollAvailable.setPreferredSize(new java.awt.Dimension(150,
0763: 150));
0764: scrollAvailable.setViewportView(availableColumns);
0765: availableColumns
0766: .getAccessibleContext()
0767: .setAccessibleDescription(
0768: java.util.ResourceBundle
0769: .getBundle(
0770: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0771: .getString("AVAILABLE_COL_ACCESS_DESC"));
0772:
0773: gridBagConstraints = new java.awt.GridBagConstraints();
0774: gridBagConstraints.gridx = 0;
0775: gridBagConstraints.gridy = 2;
0776: gridBagConstraints.gridwidth = 2;
0777: gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
0778: gridBagConstraints.weightx = 0.5;
0779: gridBagConstraints.weighty = 1.0;
0780: gridBagConstraints.insets = new java.awt.Insets(0, 10, 9, 6);
0781: columnSelectionpanel.add(scrollAvailable, gridBagConstraints);
0782:
0783: scrollSelected.setMinimumSize(new java.awt.Dimension(150, 150));
0784: scrollSelected
0785: .setPreferredSize(new java.awt.Dimension(150, 150));
0786: selectedColumns
0787: .addListSelectionListener(new javax.swing.event.ListSelectionListener() {
0788: public void valueChanged(
0789: javax.swing.event.ListSelectionEvent evt) {
0790: selectedColumnsValueChanged(evt);
0791: }
0792: });
0793:
0794: scrollSelected.setViewportView(selectedColumns);
0795: selectedColumns
0796: .getAccessibleContext()
0797: .setAccessibleDescription(
0798: java.util.ResourceBundle
0799: .getBundle(
0800: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0801: .getString("SELECTED_COL_ACCESS_DESC"));
0802:
0803: gridBagConstraints = new java.awt.GridBagConstraints();
0804: gridBagConstraints.gridx = 3;
0805: gridBagConstraints.gridy = 2;
0806: gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
0807: gridBagConstraints.weightx = 1.0;
0808: gridBagConstraints.weighty = 1.0;
0809: gridBagConstraints.insets = new java.awt.Insets(0, 6, 9, 0);
0810: columnSelectionpanel.add(scrollSelected, gridBagConstraints);
0811:
0812: middleButtons.setLayout(new java.awt.GridBagLayout());
0813:
0814: addRemoveButtonPanel.setLayout(new java.awt.GridLayout(2, 0, 0,
0815: 5));
0816:
0817: addButton
0818: .setMnemonic(java.util.ResourceBundle
0819: .getBundle(
0820: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0821: .getString("ADD_BUTTON_MNEMONIC").charAt(0));
0822: addButton
0823: .setText(java.util.ResourceBundle
0824: .getBundle(
0825: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0826: .getString("ADD_TO_BUTTON_LBL"));
0827: addButton.setMargin(new java.awt.Insets(2, 7, 2, 7));
0828: addButton
0829: .addActionListener(new java.awt.event.ActionListener() {
0830: public void actionPerformed(
0831: java.awt.event.ActionEvent evt) {
0832: addButtonActionPerformed(evt);
0833: }
0834: });
0835:
0836: addRemoveButtonPanel.add(addButton);
0837: addButton
0838: .getAccessibleContext()
0839: .setAccessibleDescription(
0840: java.util.ResourceBundle
0841: .getBundle(
0842: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0843: .getString("ADD_COLUMN_ACCESS_DESC"));
0844:
0845: removeButton
0846: .setMnemonic(java.util.ResourceBundle
0847: .getBundle(
0848: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0849: .getString("REMOVE_BUTTON_MNEMONIC").charAt(0));
0850: removeButton
0851: .setText(java.util.ResourceBundle
0852: .getBundle(
0853: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0854: .getString("REMOVE_FROM_BUTTON_LBL"));
0855: removeButton.setMargin(new java.awt.Insets(2, 7, 2, 7));
0856: removeButton
0857: .addActionListener(new java.awt.event.ActionListener() {
0858: public void actionPerformed(
0859: java.awt.event.ActionEvent evt) {
0860: removeButtonActionPerformed(evt);
0861: }
0862: });
0863:
0864: addRemoveButtonPanel.add(removeButton);
0865: removeButton
0866: .getAccessibleContext()
0867: .setAccessibleDescription(
0868: java.util.ResourceBundle
0869: .getBundle(
0870: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0871: .getString("REMOVE_COLUMN_ACCESS_DESC"));
0872:
0873: gridBagConstraints = new java.awt.GridBagConstraints();
0874: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
0875: gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
0876: middleButtons.add(addRemoveButtonPanel, gridBagConstraints);
0877:
0878: addReoveAllButtonPanel.setLayout(new java.awt.GridLayout(2, 0,
0879: 0, 5));
0880:
0881: removeAllButton
0882: .setMnemonic(java.util.ResourceBundle
0883: .getBundle(
0884: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0885: .getString("REMOVE_ALL_BUTTON_MNEMONIC")
0886: .charAt(0));
0887: removeAllButton
0888: .setText(java.util.ResourceBundle
0889: .getBundle(
0890: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0891: .getString("REMOVE_ALL_BUTTON_LBL"));
0892: removeAllButton.setMargin(new java.awt.Insets(2, 7, 2, 7));
0893: removeAllButton
0894: .addActionListener(new java.awt.event.ActionListener() {
0895: public void actionPerformed(
0896: java.awt.event.ActionEvent evt) {
0897: removeAllButtonActionPerformed(evt);
0898: }
0899: });
0900:
0901: addReoveAllButtonPanel.add(removeAllButton);
0902: removeAllButton
0903: .getAccessibleContext()
0904: .setAccessibleDescription(
0905: java.util.ResourceBundle
0906: .getBundle(
0907: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0908: .getString(
0909: "REMOVE_ALL_COLUMN_ACCESS_DESC"));
0910:
0911: addAllButton
0912: .setMnemonic(java.util.ResourceBundle
0913: .getBundle(
0914: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0915: .getString("ADD_ALL_BUTTON_MNEMONIC").charAt(0));
0916: addAllButton
0917: .setText(java.util.ResourceBundle
0918: .getBundle(
0919: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0920: .getString("ADD_ALL_BUTTON"));
0921: addAllButton.setMargin(new java.awt.Insets(2, 7, 2, 7));
0922: addAllButton
0923: .addActionListener(new java.awt.event.ActionListener() {
0924: public void actionPerformed(
0925: java.awt.event.ActionEvent evt) {
0926: addAllButtonActionPerformed(evt);
0927: }
0928: });
0929:
0930: addReoveAllButtonPanel.add(addAllButton);
0931: addAllButton
0932: .getAccessibleContext()
0933: .setAccessibleDescription(
0934: java.util.ResourceBundle
0935: .getBundle(
0936: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0937: .getString("ADD_ALL_COLUMN_ACCESS_DESC"));
0938:
0939: gridBagConstraints = new java.awt.GridBagConstraints();
0940: gridBagConstraints.gridx = 0;
0941: gridBagConstraints.gridy = 1;
0942: gridBagConstraints.weighty = 1.0;
0943: middleButtons.add(addReoveAllButtonPanel, gridBagConstraints);
0944:
0945: gridBagConstraints = new java.awt.GridBagConstraints();
0946: gridBagConstraints.gridx = 2;
0947: gridBagConstraints.gridy = 2;
0948: gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
0949: gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 0);
0950: columnSelectionpanel.add(middleButtons, gridBagConstraints);
0951:
0952: rightButtons.setLayout(new java.awt.GridBagLayout());
0953:
0954: upDownButtonPanel
0955: .setLayout(new java.awt.GridLayout(2, 0, 0, 5));
0956:
0957: upButton
0958: .setMnemonic(java.util.ResourceBundle
0959: .getBundle(
0960: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0961: .getString("UP_BUTTON_MNEMONIC").charAt(0));
0962: upButton
0963: .setText(java.util.ResourceBundle
0964: .getBundle(
0965: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0966: .getString("UP_BUTTON_LBL"));
0967: upButton.setMargin(new java.awt.Insets(2, 7, 2, 7));
0968: upButton.addActionListener(new java.awt.event.ActionListener() {
0969: public void actionPerformed(java.awt.event.ActionEvent evt) {
0970: upButtonActionPerformed(evt);
0971: }
0972: });
0973:
0974: upDownButtonPanel.add(upButton);
0975: upButton
0976: .getAccessibleContext()
0977: .setAccessibleDescription(
0978: java.util.ResourceBundle
0979: .getBundle(
0980: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0981: .getString("MOVE_COLUMN_UP_ACCESS_DESC"));
0982:
0983: downButton
0984: .setMnemonic(java.util.ResourceBundle
0985: .getBundle(
0986: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0987: .getString("DOWN_BUTTON_MNEMONIC").charAt(0));
0988: downButton
0989: .setText(java.util.ResourceBundle
0990: .getBundle(
0991: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
0992: .getString("DOWN_BUTON_LBL"));
0993: downButton.setMargin(new java.awt.Insets(2, 7, 2, 7));
0994: downButton
0995: .addActionListener(new java.awt.event.ActionListener() {
0996: public void actionPerformed(
0997: java.awt.event.ActionEvent evt) {
0998: downButtonActionPerformed(evt);
0999: }
1000: });
1001:
1002: upDownButtonPanel.add(downButton);
1003: downButton
1004: .getAccessibleContext()
1005: .setAccessibleDescription(
1006: java.util.ResourceBundle
1007: .getBundle(
1008: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1009: .getString(
1010: "MOVE_COLUMN_DOWN_ACCESS_DESC"));
1011:
1012: gridBagConstraints = new java.awt.GridBagConstraints();
1013: gridBagConstraints.gridx = 0;
1014: gridBagConstraints.gridy = 0;
1015: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1016: rightButtons.add(upDownButtonPanel, gridBagConstraints);
1017:
1018: newColumnButton
1019: .setMnemonic(java.util.ResourceBundle
1020: .getBundle(
1021: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1022: .getString("NEW_BUTTON_MNEMONIC").charAt(0));
1023: newColumnButton
1024: .setText(java.util.ResourceBundle
1025: .getBundle(
1026: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1027: .getString("NEW_BUTTON_LABEL"));
1028: newColumnButton
1029: .addActionListener(new java.awt.event.ActionListener() {
1030: public void actionPerformed(
1031: java.awt.event.ActionEvent evt) {
1032: newColumnButtonActionPerformed(evt);
1033: }
1034: });
1035:
1036: gridBagConstraints = new java.awt.GridBagConstraints();
1037: gridBagConstraints.gridx = 0;
1038: gridBagConstraints.gridy = 1;
1039: gridBagConstraints.weighty = 1.0;
1040: rightButtons.add(newColumnButton, gridBagConstraints);
1041: newColumnButton
1042: .getAccessibleContext()
1043: .setAccessibleDescription(
1044: java.util.ResourceBundle
1045: .getBundle(
1046: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1047: .getString("ADD_NEW_COLUMN_ACCESS_DESC"));
1048:
1049: gridBagConstraints = new java.awt.GridBagConstraints();
1050: gridBagConstraints.gridx = 4;
1051: gridBagConstraints.gridy = 2;
1052: gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
1053: gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1054: gridBagConstraints.weighty = 1.0;
1055: gridBagConstraints.insets = new java.awt.Insets(0, 6, 9, 6);
1056: columnSelectionpanel.add(rightButtons, gridBagConstraints);
1057:
1058: lblAvailableColumns
1059: .setDisplayedMnemonic(java.util.ResourceBundle
1060: .getBundle(
1061: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1062: .getString(
1063: "AVAUILABLE_COLUMN_DISPLAYED_MNEMONIC")
1064: .charAt(0));
1065: lblAvailableColumns.setLabelFor(availableColumns);
1066: lblAvailableColumns
1067: .setText(java.util.ResourceBundle
1068: .getBundle(
1069: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1070: .getString("AVAILABLE_LBL"));
1071: gridBagConstraints = new java.awt.GridBagConstraints();
1072: gridBagConstraints.gridx = 0;
1073: gridBagConstraints.gridy = 1;
1074: gridBagConstraints.gridwidth = 2;
1075: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1076: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1077: gridBagConstraints.insets = new java.awt.Insets(6, 10, 6, 6);
1078: columnSelectionpanel.add(lblAvailableColumns,
1079: gridBagConstraints);
1080: lblAvailableColumns
1081: .getAccessibleContext()
1082: .setAccessibleName(
1083: java.util.ResourceBundle
1084: .getBundle(
1085: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1086: .getString("AVAILABLE_LBL"));
1087:
1088: lblSelectedColumns
1089: .setDisplayedMnemonic(java.util.ResourceBundle
1090: .getBundle(
1091: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1092: .getString("SELECTED_COLUMN_DISPLAYED_MNEMONIC")
1093: .charAt(0));
1094: lblSelectedColumns.setLabelFor(selectedColumns);
1095: lblSelectedColumns
1096: .setText(java.util.ResourceBundle
1097: .getBundle(
1098: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1099: .getString("SELECTED_LBL"));
1100: gridBagConstraints = new java.awt.GridBagConstraints();
1101: gridBagConstraints.gridx = 3;
1102: gridBagConstraints.gridy = 1;
1103: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1104: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1105: gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 0);
1106: columnSelectionpanel
1107: .add(lblSelectedColumns, gridBagConstraints);
1108:
1109: addRemoveColumnsPanel.add(columnSelectionpanel,
1110: java.awt.BorderLayout.CENTER);
1111:
1112: columnsPanel.add(addRemoveColumnsPanel,
1113: java.awt.BorderLayout.CENTER);
1114:
1115: columnDetailPanel.setLayout(new java.awt.GridBagLayout());
1116:
1117: columnDetailPanel.setBorder(javax.swing.BorderFactory
1118: .createEmptyBorder(5, 5, 5, 5));
1119: lblColumnDetails
1120: .setText(java.util.ResourceBundle
1121: .getBundle(
1122: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1123: .getString("COLUMN_DETAILS_LBL"));
1124: gridBagConstraints = new java.awt.GridBagConstraints();
1125: gridBagConstraints.gridx = 0;
1126: gridBagConstraints.gridy = 0;
1127: gridBagConstraints.gridwidth = 2;
1128: gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1129: columnDetailPanel.add(lblColumnDetails, gridBagConstraints);
1130:
1131: cbxHorzAlign
1132: .setModel(new javax.swing.DefaultComboBoxModel(
1133: new String[] { "<not set>", "Left", "Center",
1134: "Right" }));
1135: gridBagConstraints = new java.awt.GridBagConstraints();
1136: gridBagConstraints.gridx = 1;
1137: gridBagConstraints.gridy = 6;
1138: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1139: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1140: gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 0);
1141: columnDetailPanel.add(cbxHorzAlign, gridBagConstraints);
1142: cbxHorzAlign
1143: .getAccessibleContext()
1144: .setAccessibleDescription(
1145: java.util.ResourceBundle
1146: .getBundle(
1147: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1148: .getString("HORIZ_ALIGN_ACCESS_DESC"));
1149:
1150: lblHorzAlign
1151: .setDisplayedMnemonic(java.util.ResourceBundle
1152: .getBundle(
1153: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1154: .getString(
1155: "HORIZONTAL_ALIGN_DISPLAYED_MNEMONIC")
1156: .charAt(0));
1157: lblHorzAlign.setLabelFor(cbxHorzAlign);
1158: lblHorzAlign
1159: .setText(java.util.ResourceBundle
1160: .getBundle(
1161: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1162: .getString("HORIZONTAL_ALIGN_LBL"));
1163: gridBagConstraints = new java.awt.GridBagConstraints();
1164: gridBagConstraints.gridx = 0;
1165: gridBagConstraints.gridy = 6;
1166: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1167: gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 10);
1168: columnDetailPanel.add(lblHorzAlign, gridBagConstraints);
1169:
1170: lblHeaderText
1171: .setDisplayedMnemonic(java.util.ResourceBundle
1172: .getBundle(
1173: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1174: .getString("HEADER_TEXT_MNEMONIC").charAt(0));
1175: lblHeaderText.setLabelFor(txtHeader);
1176: lblHeaderText
1177: .setText(java.util.ResourceBundle
1178: .getBundle(
1179: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1180: .getString("HEADER_TEXT_LBL"));
1181: gridBagConstraints = new java.awt.GridBagConstraints();
1182: gridBagConstraints.gridx = 0;
1183: gridBagConstraints.gridy = 1;
1184: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1185: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1186: gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 10);
1187: columnDetailPanel.add(lblHeaderText, gridBagConstraints);
1188:
1189: lblFooterText
1190: .setDisplayedMnemonic(java.util.ResourceBundle
1191: .getBundle(
1192: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1193: .getString("COLUMN_FOOTER_DISPLAYED_MNEMONIC")
1194: .charAt(0));
1195: lblFooterText.setLabelFor(txtFooter);
1196: lblFooterText
1197: .setText(java.util.ResourceBundle
1198: .getBundle(
1199: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1200: .getString("FOOTER_TEXT_LBL"));
1201: gridBagConstraints = new java.awt.GridBagConstraints();
1202: gridBagConstraints.gridx = 0;
1203: gridBagConstraints.gridy = 2;
1204: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1205: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1206: gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 10);
1207: columnDetailPanel.add(lblFooterText, gridBagConstraints);
1208:
1209: txtHeader.addFocusListener(new java.awt.event.FocusAdapter() {
1210: public void focusLost(java.awt.event.FocusEvent evt) {
1211: txtHeaderFocusLost(evt);
1212: }
1213: });
1214:
1215: gridBagConstraints = new java.awt.GridBagConstraints();
1216: gridBagConstraints.gridx = 1;
1217: gridBagConstraints.gridy = 1;
1218: gridBagConstraints.gridwidth = 3;
1219: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1220: gridBagConstraints.weightx = 1.0;
1221: gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 0);
1222: columnDetailPanel.add(txtHeader, gridBagConstraints);
1223: txtHeader
1224: .getAccessibleContext()
1225: .setAccessibleDescription(
1226: java.util.ResourceBundle
1227: .getBundle(
1228: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1229: .getString("HEADER_TEXT_ACCESS_DESC"));
1230:
1231: txtFooter.addFocusListener(new java.awt.event.FocusAdapter() {
1232: public void focusLost(java.awt.event.FocusEvent evt) {
1233: txtFooterFocusLost(evt);
1234: }
1235: });
1236:
1237: gridBagConstraints = new java.awt.GridBagConstraints();
1238: gridBagConstraints.gridx = 1;
1239: gridBagConstraints.gridy = 2;
1240: gridBagConstraints.gridwidth = 3;
1241: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1242: gridBagConstraints.weightx = 1.0;
1243: gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 0);
1244: columnDetailPanel.add(txtFooter, gridBagConstraints);
1245: txtFooter
1246: .getAccessibleContext()
1247: .setAccessibleDescription(
1248: java.util.ResourceBundle
1249: .getBundle(
1250: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1251: .getString("FOOTER_COLUMN_ACCESS_DESC"));
1252:
1253: lblComponentType
1254: .setDisplayedMnemonic(java.util.ResourceBundle
1255: .getBundle(
1256: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1257: .getString("COMPONENT_TYPE_DISPLAYED_MNEMONIC")
1258: .charAt(0));
1259: lblComponentType.setLabelFor(cbxComponentType);
1260: lblComponentType
1261: .setText(java.util.ResourceBundle
1262: .getBundle(
1263: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1264: .getString("COMPONENT_TYPE_LBL"));
1265: gridBagConstraints = new java.awt.GridBagConstraints();
1266: gridBagConstraints.gridx = 0;
1267: gridBagConstraints.gridy = 3;
1268: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1269: gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 10);
1270: columnDetailPanel.add(lblComponentType, gridBagConstraints);
1271: lblComponentType.getAccessibleContext()
1272: .setAccessibleDescription(
1273: org.openide.util.NbBundle.getMessage(
1274: TableCustomizerMainPanel.class,
1275: "SELECT_COLUMN_TYPE_ACCESS_DESC"));
1276:
1277: cbxComponentType
1278: .addItemListener(new java.awt.event.ItemListener() {
1279: public void itemStateChanged(
1280: java.awt.event.ItemEvent evt) {
1281: cbxComponentTypeItemStateChanged(evt);
1282: }
1283: });
1284:
1285: gridBagConstraints = new java.awt.GridBagConstraints();
1286: gridBagConstraints.gridx = 1;
1287: gridBagConstraints.gridy = 3;
1288: gridBagConstraints.gridwidth = 3;
1289: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1290: gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 0);
1291: columnDetailPanel.add(cbxComponentType, gridBagConstraints);
1292: cbxComponentType
1293: .getAccessibleContext()
1294: .setAccessibleDescription(
1295: java.util.ResourceBundle
1296: .getBundle(
1297: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1298: .getString(
1299: "SELECT_COLUMN_TYPE_ACCESS_DESC"));
1300:
1301: lblValueExpression
1302: .setDisplayedMnemonic(java.util.ResourceBundle
1303: .getBundle(
1304: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1305: .getString("VALUE_TYPE_TYPE_DISPLAYED_MNEMONIC")
1306: .charAt(0));
1307: lblValueExpression.setLabelFor(txtValueExpression);
1308: lblValueExpression
1309: .setText(java.util.ResourceBundle
1310: .getBundle(
1311: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1312: .getString("VALUE_EXPRESSION_LBL"));
1313: gridBagConstraints = new java.awt.GridBagConstraints();
1314: gridBagConstraints.gridx = 0;
1315: gridBagConstraints.gridy = 4;
1316: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1317: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1318: gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 10);
1319: columnDetailPanel.add(lblValueExpression, gridBagConstraints);
1320:
1321: txtValueExpression
1322: .addFocusListener(new java.awt.event.FocusAdapter() {
1323: public void focusLost(java.awt.event.FocusEvent evt) {
1324: txtValueExpressionFocusLost(evt);
1325: }
1326: });
1327:
1328: gridBagConstraints = new java.awt.GridBagConstraints();
1329: gridBagConstraints.gridx = 1;
1330: gridBagConstraints.gridy = 4;
1331: gridBagConstraints.gridwidth = 3;
1332: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1333: gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 0);
1334: columnDetailPanel.add(txtValueExpression, gridBagConstraints);
1335: txtValueExpression
1336: .getAccessibleContext()
1337: .setAccessibleDescription(
1338: java.util.ResourceBundle
1339: .getBundle(
1340: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1341: .getString(
1342: "COLUMN_EXPRESSION_ACCESS_DESC"));
1343:
1344: lblVertAlign
1345: .setDisplayedMnemonic(java.util.ResourceBundle
1346: .getBundle(
1347: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1348: .getString("VERTICAL_ALIGN_DISPLAYED_MNEMONIC")
1349: .charAt(0));
1350: lblVertAlign.setLabelFor(cbxVertAlign);
1351: lblVertAlign
1352: .setText(java.util.ResourceBundle
1353: .getBundle(
1354: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1355: .getString("VERTICAL_ALIGN_LBL"));
1356: gridBagConstraints = new java.awt.GridBagConstraints();
1357: gridBagConstraints.gridx = 2;
1358: gridBagConstraints.gridy = 6;
1359: gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
1360: gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 9);
1361: columnDetailPanel.add(lblVertAlign, gridBagConstraints);
1362:
1363: cbxVertAlign
1364: .setModel(new javax.swing.DefaultComboBoxModel(
1365: new String[] { "<not set>", "Top", "Middle",
1366: "Bottom" }));
1367: gridBagConstraints = new java.awt.GridBagConstraints();
1368: gridBagConstraints.gridx = 3;
1369: gridBagConstraints.gridy = 6;
1370: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1371: gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 0);
1372: columnDetailPanel.add(cbxVertAlign, gridBagConstraints);
1373: cbxVertAlign
1374: .getAccessibleContext()
1375: .setAccessibleDescription(
1376: java.util.ResourceBundle
1377: .getBundle(
1378: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1379: .getString("VERT_ALIGN_ACCESS_DESC"));
1380:
1381: cbSortable.setMnemonic(org.openide.util.NbBundle.getMessage(
1382: TableCustomizerMainPanel.class,
1383: "SORT_CHECKBOX_MNEMONIC").charAt(0));
1384: cbSortable
1385: .setText(java.util.ResourceBundle
1386: .getBundle(
1387: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1388: .getString("SORTABLE_LBL"));
1389: gridBagConstraints = new java.awt.GridBagConstraints();
1390: gridBagConstraints.gridx = 0;
1391: gridBagConstraints.gridy = 7;
1392: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1393: gridBagConstraints.insets = new java.awt.Insets(3, 10, 0, 0);
1394: columnDetailPanel.add(cbSortable, gridBagConstraints);
1395: cbSortable
1396: .getAccessibleContext()
1397: .setAccessibleDescription(
1398: java.util.ResourceBundle
1399: .getBundle(
1400: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1401: .getString(
1402: "MAKE_COLUMN_SORTABLE_ACCESS_DESC"));
1403:
1404: jLabel1.setDisplayedMnemonic(org.openide.util.NbBundle
1405: .getMessage(TableCustomizerMainPanel.class,
1406: "WIDTH_MNEMONIC").charAt(0));
1407: jLabel1.setLabelFor(widthField);
1408: jLabel1
1409: .setText(java.util.ResourceBundle
1410: .getBundle(
1411: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1412: .getString("WIDTH_LABEL"));
1413: gridBagConstraints = new java.awt.GridBagConstraints();
1414: gridBagConstraints.gridx = 0;
1415: gridBagConstraints.gridy = 5;
1416: gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1417: gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 10);
1418: columnDetailPanel.add(jLabel1, gridBagConstraints);
1419: jLabel1.getAccessibleContext().setAccessibleDescription(
1420: org.openide.util.NbBundle.getMessage(
1421: TableCustomizerMainPanel.class,
1422: "WIDTH_ACCESS_DESC"));
1423:
1424: widthField
1425: .addActionListener(new java.awt.event.ActionListener() {
1426: public void actionPerformed(
1427: java.awt.event.ActionEvent evt) {
1428: widthFieldActionPerformed(evt);
1429: }
1430: });
1431:
1432: gridBagConstraints = new java.awt.GridBagConstraints();
1433: gridBagConstraints.gridx = 1;
1434: gridBagConstraints.gridy = 5;
1435: gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1436: gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 0);
1437: columnDetailPanel.add(widthField, gridBagConstraints);
1438: widthField
1439: .getAccessibleContext()
1440: .setAccessibleDescription(
1441: java.util.ResourceBundle
1442: .getBundle(
1443: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1444: .getString("WIDTH_ACCESS_DESC"));
1445:
1446: columnsPanel
1447: .add(columnDetailPanel, java.awt.BorderLayout.SOUTH);
1448:
1449: tableLayoutPanel
1450: .addTab(
1451: java.util.ResourceBundle
1452: .getBundle(
1453: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1454: .getString("COLUMNS_TAB_TITLE"),
1455: columnsPanel);
1456:
1457: optionsPanel.setLayout(new java.awt.BorderLayout(5, 5));
1458:
1459: topPanel.setLayout(new java.awt.GridBagLayout());
1460:
1461: lblTableTitle
1462: .setDisplayedMnemonic(java.util.ResourceBundle
1463: .getBundle(
1464: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1465: .getString("TABLE_TITLE_DISPLAYED_MNEMONIC")
1466: .charAt(0));
1467: lblTableTitle.setLabelFor(txtTableTitle);
1468: lblTableTitle
1469: .setText(java.util.ResourceBundle
1470: .getBundle(
1471: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1472: .getString("TITLE_LBL"));
1473: gridBagConstraints = new java.awt.GridBagConstraints();
1474: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1475: gridBagConstraints.insets = new java.awt.Insets(10, 10, 0, 10);
1476: topPanel.add(lblTableTitle, gridBagConstraints);
1477:
1478: lblTableSummary
1479: .setDisplayedMnemonic(java.util.ResourceBundle
1480: .getBundle(
1481: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1482: .getString("TABLE_SUMMARY_DISPLAYED_MNEMONIC")
1483: .charAt(0));
1484: lblTableSummary.setLabelFor(txtTableSummary);
1485: lblTableSummary
1486: .setText(java.util.ResourceBundle
1487: .getBundle(
1488: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1489: .getString("SUMMARY_LBL"));
1490: gridBagConstraints = new java.awt.GridBagConstraints();
1491: gridBagConstraints.gridx = 0;
1492: gridBagConstraints.gridy = 1;
1493: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1494: gridBagConstraints.insets = new java.awt.Insets(4, 10, 0, 10);
1495: topPanel.add(lblTableSummary, gridBagConstraints);
1496: lblTableSummary.getAccessibleContext()
1497: .setAccessibleDescription(
1498: org.openide.util.NbBundle.getMessage(
1499: TableCustomizerMainPanel.class,
1500: "EMPTY_MESSAGE_ACCESS_DESC"));
1501:
1502: txtTableTitle
1503: .addFocusListener(new java.awt.event.FocusAdapter() {
1504: public void focusGained(
1505: java.awt.event.FocusEvent evt) {
1506: txtTableTitleFocusGained(evt);
1507: }
1508: });
1509:
1510: gridBagConstraints = new java.awt.GridBagConstraints();
1511: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1512: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1513: gridBagConstraints.weightx = 1.0;
1514: gridBagConstraints.insets = new java.awt.Insets(10, 0, 0, 10);
1515: topPanel.add(txtTableTitle, gridBagConstraints);
1516: txtTableTitle
1517: .getAccessibleContext()
1518: .setAccessibleDescription(
1519: java.util.ResourceBundle
1520: .getBundle(
1521: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1522: .getString("TITLE_ACCESS_DESC"));
1523:
1524: txtTableSummary
1525: .addFocusListener(new java.awt.event.FocusAdapter() {
1526: public void focusLost(java.awt.event.FocusEvent evt) {
1527: txtTableSummaryFocusLost(evt);
1528: }
1529: });
1530:
1531: gridBagConstraints = new java.awt.GridBagConstraints();
1532: gridBagConstraints.gridx = 1;
1533: gridBagConstraints.gridy = 1;
1534: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1535: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1536: gridBagConstraints.weightx = 1.0;
1537: gridBagConstraints.insets = new java.awt.Insets(4, 0, 0, 10);
1538: topPanel.add(txtTableSummary, gridBagConstraints);
1539: txtTableSummary
1540: .getAccessibleContext()
1541: .setAccessibleDescription(
1542: java.util.ResourceBundle
1543: .getBundle(
1544: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1545: .getString("SUMMARY_ACCESS_DESC"));
1546:
1547: txtTableFooter
1548: .addFocusListener(new java.awt.event.FocusAdapter() {
1549: public void focusLost(java.awt.event.FocusEvent evt) {
1550: txtTableFooterFocusLost(evt);
1551: }
1552: });
1553:
1554: gridBagConstraints = new java.awt.GridBagConstraints();
1555: gridBagConstraints.gridx = 1;
1556: gridBagConstraints.gridy = 2;
1557: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1558: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1559: gridBagConstraints.weightx = 1.0;
1560: gridBagConstraints.insets = new java.awt.Insets(4, 0, 0, 10);
1561: topPanel.add(txtTableFooter, gridBagConstraints);
1562: txtTableFooter
1563: .getAccessibleContext()
1564: .setAccessibleDescription(
1565: java.util.ResourceBundle
1566: .getBundle(
1567: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1568: .getString("FOOTER_ACCESS_DESC"));
1569:
1570: lblTableFooter
1571: .setDisplayedMnemonic(java.util.ResourceBundle
1572: .getBundle(
1573: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1574: .getString("TABLE_FOOTER_DISPLAYED_MNEMONIC")
1575: .charAt(0));
1576: lblTableFooter.setLabelFor(txtTableSummary);
1577: lblTableFooter
1578: .setText(java.util.ResourceBundle
1579: .getBundle(
1580: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1581: .getString("FOOTER_LBL"));
1582: gridBagConstraints = new java.awt.GridBagConstraints();
1583: gridBagConstraints.gridx = 0;
1584: gridBagConstraints.gridy = 2;
1585: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1586: gridBagConstraints.insets = new java.awt.Insets(4, 10, 0, 10);
1587: topPanel.add(lblTableFooter, gridBagConstraints);
1588:
1589: lblEmptyDataMsg.setDisplayedMnemonic(org.openide.util.NbBundle
1590: .getMessage(TableCustomizerMainPanel.class,
1591: "EMPTY_MESSAGE_DISPLAYED_MNEMONIC").charAt(0));
1592: lblEmptyDataMsg.setLabelFor(txtEmptyDataMsg);
1593: lblEmptyDataMsg
1594: .setText(java.util.ResourceBundle
1595: .getBundle(
1596: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1597: .getString("EMPTY_DATA_MSG_LBL"));
1598: gridBagConstraints = new java.awt.GridBagConstraints();
1599: gridBagConstraints.gridx = 0;
1600: gridBagConstraints.gridy = 3;
1601: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1602: gridBagConstraints.insets = new java.awt.Insets(4, 10, 0, 10);
1603: topPanel.add(lblEmptyDataMsg, gridBagConstraints);
1604:
1605: txtEmptyDataMsg
1606: .addFocusListener(new java.awt.event.FocusAdapter() {
1607: public void focusLost(java.awt.event.FocusEvent evt) {
1608: txtEmptyDataMsgFocusLost(evt);
1609: }
1610: });
1611:
1612: gridBagConstraints = new java.awt.GridBagConstraints();
1613: gridBagConstraints.gridx = 1;
1614: gridBagConstraints.gridy = 3;
1615: gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1616: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1617: gridBagConstraints.weightx = 1.0;
1618: gridBagConstraints.insets = new java.awt.Insets(4, 0, 0, 10);
1619: topPanel.add(txtEmptyDataMsg, gridBagConstraints);
1620: txtEmptyDataMsg
1621: .getAccessibleContext()
1622: .setAccessibleDescription(
1623: java.util.ResourceBundle
1624: .getBundle(
1625: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1626: .getString("EMPTY_MESSAGE_ACCESS_DESC"));
1627:
1628: optionsPanel.add(topPanel, java.awt.BorderLayout.NORTH);
1629:
1630: bottomPanel.setLayout(new java.awt.BorderLayout());
1631:
1632: optionPanel2.setLayout(new java.awt.GridBagLayout());
1633:
1634: cbSelectAllRowsButton
1635: .setMnemonic(java.util.ResourceBundle
1636: .getBundle(
1637: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1638: .getString("SHOW_SELECT_ALL_ROWS_MNEMONIC")
1639: .charAt(0));
1640: cbSelectAllRowsButton
1641: .setText(java.util.ResourceBundle
1642: .getBundle(
1643: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1644: .getString("SELECT_ALL_ROWS_BUTTON_LBL"));
1645: gridBagConstraints = new java.awt.GridBagConstraints();
1646: gridBagConstraints.gridx = 0;
1647: gridBagConstraints.gridy = 0;
1648: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1649: gridBagConstraints.weightx = 1.0;
1650: gridBagConstraints.insets = new java.awt.Insets(10, 10, 0, 0);
1651: optionPanel2.add(cbSelectAllRowsButton, gridBagConstraints);
1652: cbSelectAllRowsButton
1653: .getAccessibleContext()
1654: .setAccessibleDescription(
1655: java.util.ResourceBundle
1656: .getBundle(
1657: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1658: .getString(
1659: "SHOW_SELECT_ALL_ACCESS_DESC"));
1660:
1661: cbDeselectAllRowsButton
1662: .setMnemonic(java.util.ResourceBundle
1663: .getBundle(
1664: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1665: .getString("SHOW_DESELECT_ALL_ROWS_MNEMONIC")
1666: .charAt(0));
1667: cbDeselectAllRowsButton
1668: .setText(java.util.ResourceBundle
1669: .getBundle(
1670: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1671: .getString("DESELECT_ALL_ROWS_BUTTON_LBL"));
1672: gridBagConstraints = new java.awt.GridBagConstraints();
1673: gridBagConstraints.gridx = 0;
1674: gridBagConstraints.gridy = 1;
1675: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1676: gridBagConstraints.insets = new java.awt.Insets(3, 10, 0, 0);
1677: optionPanel2.add(cbDeselectAllRowsButton, gridBagConstraints);
1678: cbDeselectAllRowsButton
1679: .getAccessibleContext()
1680: .setAccessibleDescription(
1681: java.util.ResourceBundle
1682: .getBundle(
1683: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1684: .getString(
1685: "SHOW_DESELECT_ALL_ACCESS_DESC"));
1686:
1687: pageSizePanel.setLayout(new java.awt.BorderLayout(5, 5));
1688:
1689: lblPageSize.setDisplayedMnemonic(org.openide.util.NbBundle
1690: .getMessage(TableCustomizerMainPanel.class,
1691: "PAGINATION_MNEMONIC").charAt(0));
1692: lblPageSize.setLabelFor(txtPageRows);
1693: lblPageSize
1694: .setText(java.util.ResourceBundle
1695: .getBundle(
1696: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1697: .getString("PAGE_SIZE_LBL"));
1698: lblPageSize.setEnabled(false);
1699: pageSizePanel.add(lblPageSize, java.awt.BorderLayout.WEST);
1700: lblPageSize.getAccessibleContext().setAccessibleDescription(
1701: org.openide.util.NbBundle.getMessage(
1702: TableCustomizerMainPanel.class,
1703: "PAGE_ROWS_ACCESS_DESC"));
1704:
1705: txtPageRows.setEnabled(false);
1706: txtPageRows.setPreferredSize(new java.awt.Dimension(70, 20));
1707: pageSizePanel.add(txtPageRows, java.awt.BorderLayout.CENTER);
1708: txtPageRows
1709: .getAccessibleContext()
1710: .setAccessibleDescription(
1711: java.util.ResourceBundle
1712: .getBundle(
1713: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1714: .getString("PAGE_ROWS_ACCESS_DESC"));
1715:
1716: gridBagConstraints = new java.awt.GridBagConstraints();
1717: gridBagConstraints.gridx = 0;
1718: gridBagConstraints.gridy = 5;
1719: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1720: gridBagConstraints.insets = new java.awt.Insets(3, 35, 0, 0);
1721: optionPanel2.add(pageSizePanel, gridBagConstraints);
1722:
1723: cbEnablePagination
1724: .setMnemonic(java.util.ResourceBundle
1725: .getBundle(
1726: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1727: .getString("ENABLE_PAGINATION_MNEMONIC")
1728: .charAt(0));
1729: cbEnablePagination
1730: .setText(java.util.ResourceBundle
1731: .getBundle(
1732: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1733: .getString("ENABLE_PAGINATION_LBL"));
1734: cbEnablePagination
1735: .addChangeListener(new javax.swing.event.ChangeListener() {
1736: public void stateChanged(
1737: javax.swing.event.ChangeEvent evt) {
1738: cbEnablePaginationStateChanged(evt);
1739: }
1740: });
1741:
1742: gridBagConstraints = new java.awt.GridBagConstraints();
1743: gridBagConstraints.gridx = 0;
1744: gridBagConstraints.gridy = 4;
1745: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1746: gridBagConstraints.insets = new java.awt.Insets(3, 10, 0, 0);
1747: optionPanel2.add(cbEnablePagination, gridBagConstraints);
1748: cbEnablePagination
1749: .getAccessibleContext()
1750: .setAccessibleDescription(
1751: java.util.ResourceBundle
1752: .getBundle(
1753: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1754: .getString(
1755: "ENABLE_PAGINATION_ACCESS_DESC"));
1756:
1757: cbClearSortButton.setMnemonic(org.openide.util.NbBundle
1758: .getMessage(TableCustomizerMainPanel.class,
1759: "CLEAR_SORT_CHECKBOX_MNEMONIC").charAt(0));
1760: cbClearSortButton
1761: .setText(java.util.ResourceBundle
1762: .getBundle(
1763: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1764: .getString("SHOW_CLEAR_SORT_BUTTON_LBL"));
1765: gridBagConstraints = new java.awt.GridBagConstraints();
1766: gridBagConstraints.gridx = 0;
1767: gridBagConstraints.gridy = 2;
1768: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1769: gridBagConstraints.insets = new java.awt.Insets(3, 10, 0, 0);
1770: optionPanel2.add(cbClearSortButton, gridBagConstraints);
1771: cbClearSortButton
1772: .getAccessibleContext()
1773: .setAccessibleDescription(
1774: java.util.ResourceBundle
1775: .getBundle(
1776: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1777: .getString(
1778: "SHOW_CLEAR_SORT_ACCESS_DESC"));
1779:
1780: cbSortPanelButton.setMnemonic(org.openide.util.NbBundle
1781: .getMessage(TableCustomizerMainPanel.class,
1782: "SHOW_SORT_CHECKBOX_MNEMONIC").charAt(0));
1783: cbSortPanelButton
1784: .setText(java.util.ResourceBundle
1785: .getBundle(
1786: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1787: .getString("SHOW_SORT_PANEL_TOGGLE_BUTTON"));
1788: gridBagConstraints = new java.awt.GridBagConstraints();
1789: gridBagConstraints.gridx = 0;
1790: gridBagConstraints.gridy = 3;
1791: gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1792: gridBagConstraints.insets = new java.awt.Insets(3, 10, 0, 0);
1793: optionPanel2.add(cbSortPanelButton, gridBagConstraints);
1794: cbSortPanelButton
1795: .getAccessibleContext()
1796: .setAccessibleDescription(
1797: java.util.ResourceBundle
1798: .getBundle(
1799: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1800: .getString(
1801: "SHOW_TOGGLE_SORT_ACCESS_DESC"));
1802:
1803: bottomPanel.add(optionPanel2, java.awt.BorderLayout.NORTH);
1804:
1805: bottomPanel.add(fillPanel, java.awt.BorderLayout.CENTER);
1806:
1807: optionsPanel.add(bottomPanel, java.awt.BorderLayout.CENTER);
1808:
1809: tableLayoutPanel
1810: .addTab(
1811: java.util.ResourceBundle
1812: .getBundle(
1813: "org/netbeans/modules/visualweb/web/ui/dt/component/table/Bundle")
1814: .getString("OPTIONS_TAB_TITLE"),
1815: optionsPanel);
1816:
1817: add(tableLayoutPanel, java.awt.BorderLayout.CENTER);
1818:
1819: }// </editor-fold>//GEN-END:initComponents
1820:
1821: private void txtEmptyDataMsgFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtEmptyDataMsgFocusLost
1822: tableRowGroupDesignState.setEmptyDataMsg(txtEmptyDataMsg
1823: .getText());
1824: }//GEN-LAST:event_txtEmptyDataMsgFocusLost
1825:
1826: private void txtTableFooterFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtTableFooterFocusLost
1827: tableDesignState.setFooterText(txtTableFooter.getText());
1828: }//GEN-LAST:event_txtTableFooterFocusLost
1829:
1830: private void txtTableSummaryFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtTableSummaryFocusLost
1831: tableDesignState.setSummary(txtTableSummary.getText());
1832: }//GEN-LAST:event_txtTableSummaryFocusLost
1833:
1834: private void txtTableTitleFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtTableTitleFocusGained
1835: tableDesignState.setTitle(txtTableTitle.getText());
1836: }//GEN-LAST:event_txtTableTitleFocusGained
1837:
1838: private void widthFieldActionPerformed(
1839: java.awt.event.ActionEvent evt) {//GEN-FIRST:event_widthFieldActionPerformed
1840: currentTableColumnDesignState.setWidth(widthField.getText()
1841: .trim());
1842: }//GEN-LAST:event_widthFieldActionPerformed
1843:
1844: private void txtValueExpressionFocusLost(
1845: java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtValueExpressionFocusLost
1846: currentTableColumnDesignState
1847: .setValueExpression(txtValueExpression.getText().trim());
1848: }//GEN-LAST:event_txtValueExpressionFocusLost
1849:
1850: private void txtHeaderFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtHeaderFocusLost
1851: currentTableColumnDesignState.setHeader(txtHeader.getText()
1852: .trim());
1853: }//GEN-LAST:event_txtHeaderFocusLost
1854:
1855: private void txtFooterFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtFooterFocusLost
1856: currentTableColumnDesignState.setFooter(txtFooter.getText()
1857: .trim());
1858: }//GEN-LAST:event_txtFooterFocusLost
1859:
1860: private void addDataProviderButtonActionPerformed(
1861: java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addDataProviderButtonActionPerformed
1862: AddDataProviderDialog addDataProviderDialog = new AddDataProviderDialog();
1863: addDataProviderDialog.showDialog();
1864: }//GEN-LAST:event_addDataProviderButtonActionPerformed
1865:
1866: private void cbxComponentTypeItemStateChanged(
1867: java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cbxComponentTypeItemStateChanged
1868: if (evt.getStateChange() != evt.DESELECTED) {
1869: // In some strange situation this callback is called before currentTableColumnDesignState
1870: // is initialized. So lets be safe
1871: if (currentTableColumnDesignState != null) {
1872: boolean allowed = true;
1873: Class compType = (Class) componentTypes
1874: .get(cbxComponentType.getSelectedIndex());
1875: if ((compType == RadioButton.class)
1876: && (currentTableColumnDesignState
1877: .getColumnType() != String.class)) {
1878: allowed = false;
1879: } else if ((compType == ImageComponent.class)
1880: && (!((currentTableColumnDesignState
1881: .getColumnType() == String.class) || currentTableColumnDesignState
1882: .getColumnType() == java.net.URL.class))) {
1883: allowed = false;
1884: }
1885: if (allowed) {
1886: currentTableColumnDesignState
1887: .setChildType(compType);
1888: txtValueExpression
1889: .setText(currentTableColumnDesignState
1890: .getValueExpression());
1891: } else {
1892: String message = org.openide.util.NbBundle
1893: .getMessage(TableCustomizerMainPanel.class,
1894: "Incorrect_component_type_msg")
1895: + currentTableColumnDesignState
1896: .getColumnType().getName();
1897: String title = org.openide.util.NbBundle
1898: .getMessage(TableCustomizerMainPanel.class,
1899: "Incorrect_component_type_title");
1900: JOptionPane.showMessageDialog(this , message, title,
1901: JOptionPane.ERROR_MESSAGE);
1902: cbxComponentType.setSelectedIndex(0);
1903:
1904: }
1905: System.out.println("Child Type = "
1906: + compType.toString());
1907: System.out.println("Column Type = "
1908: + currentTableColumnDesignState.getColumnType()
1909: .toString());
1910: }
1911: }
1912: }//GEN-LAST:event_cbxComponentTypeItemStateChanged
1913:
1914: private void addAllButtonActionPerformed(
1915: java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addAllButtonActionPerformed
1916: for (int i = 0; i < availableColumnListModel.size(); i++) {
1917: if (!selectedColumnListModel
1918: .contains(availableColumnListModel.getElementAt(i))) {
1919: selectedColumnListModel
1920: .addElement(availableColumnListModel
1921: .getElementAt(i));
1922: selectedColumns.setSelectedIndex(i);
1923: }
1924: }
1925: availableColumnListModel.removeAllElements();
1926: removeButton.setEnabled(true);
1927: removeAllButton.setEnabled(true);
1928: addButton.setEnabled(false);
1929: addAllButton.setEnabled(false);
1930: }//GEN-LAST:event_addAllButtonActionPerformed
1931:
1932: private void newColumnButtonActionPerformed(
1933: java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newColumnButtonActionPerformed
1934: String name = currentTableDataProviderDesignState
1935: .getUniqueColumnName(org.openide.util.NbBundle
1936: .getMessage(TableCustomizerMainPanel.class,
1937: "column"));
1938: TableColumnDesignState colDesignState = new TableColumnDesignState(
1939: name, name, org.openide.util.NbBundle.getMessage(
1940: TableCustomizerMainPanel.class, "text")); //NOI18N
1941: currentTableDataProviderDesignState
1942: .addColumnDesignStates(colDesignState);
1943: selectedColumns.setSelectedValue(name, true);
1944: }//GEN-LAST:event_newColumnButtonActionPerformed
1945:
1946: private void selectedColumnsValueChanged(
1947: javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_selectedColumnsValueChanged
1948: if (!evt.getValueIsAdjusting()) {
1949: saveCurrentTableColumnDesignStateValues();
1950: currentTableColumnDesignState = currentTableDataProviderDesignState
1951: .getTableColumnDesignState((String) selectedColumns
1952: .getSelectedValue());
1953: if (currentTableColumnDesignState != null) {
1954: loadCurrentTableColumnDesignStateValues();
1955: } else {
1956: clearTableColumnDesignStateValues();
1957: }
1958: }
1959: }//GEN-LAST:event_selectedColumnsValueChanged
1960:
1961: private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addButtonActionPerformed
1962: int selectedIndex = availableColumns.getSelectedIndex();
1963: Object[] selections = availableColumns.getSelectedValues();
1964: for (int i = 0; i < selections.length; i++) {
1965: if (!selectedColumnListModel.contains(selections[i])) {
1966: selectedColumnListModel.addElement(selections[i]);
1967: selectedColumns.setSelectedValue(selections[i], true);
1968: }
1969: availableColumnListModel.removeElement(selections[i]);
1970: }
1971: if (availableColumnListModel.size() == 0) {
1972: addButton.setEnabled(false);
1973: addAllButton.setEnabled(false);
1974: } else {
1975: if (--selectedIndex >= 0) {
1976: availableColumns.setSelectedIndex(selectedIndex);
1977: } else {
1978: availableColumns
1979: .setSelectedIndex(availableColumnListModel
1980: .size() - 1);
1981: }
1982: }
1983: removeButton.setEnabled(true);
1984: removeAllButton.setEnabled(true);
1985: }//GEN-LAST:event_addButtonActionPerformed
1986:
1987: private void removeButtonActionPerformed(
1988: java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeButtonActionPerformed
1989: int selectedIndex = selectedColumns.getSelectedIndex();
1990: Object[] selections = selectedColumns.getSelectedValues();
1991: for (int i = 0; i < selections.length; i++) {
1992: if (!availableColumnListModel.contains(selections[i])) {
1993: availableColumnListModel.addElement(selections[i]);
1994: availableColumns.setSelectedValue(selections[i], true);
1995: }
1996: selectedColumnListModel.removeElement(selections[i]);
1997: }
1998: if (selectedColumnListModel.size() == 0) {
1999: removeButton.setEnabled(false);
2000: removeAllButton.setEnabled(false);
2001: } else {
2002: if (--selectedIndex >= 0) {
2003: selectedColumns.setSelectedIndex(selectedIndex);
2004: } else {
2005: selectedColumns
2006: .setSelectedIndex(selectedColumnListModel
2007: .size() - 1);
2008: }
2009: }
2010: addButton.setEnabled(true);
2011: addAllButton.setEnabled(true);
2012: }//GEN-LAST:event_removeButtonActionPerformed
2013:
2014: private void removeAllButtonActionPerformed(
2015: java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeAllButtonActionPerformed
2016: for (int i = 0; i < selectedColumnListModel.size(); i++) {
2017: if (!availableColumnListModel
2018: .contains(selectedColumnListModel.getElementAt(i))) {
2019: availableColumnListModel
2020: .addElement(selectedColumnListModel
2021: .getElementAt(i));
2022: availableColumns.setSelectedIndex(i);
2023: }
2024: }
2025: selectedColumnListModel.removeAllElements();
2026: addButton.setEnabled(true);
2027: addAllButton.setEnabled(true);
2028: removeButton.setEnabled(false);
2029: removeAllButton.setEnabled(false);
2030: }//GEN-LAST:event_removeAllButtonActionPerformed
2031:
2032: private void upButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_upButtonActionPerformed
2033: int index = selectedColumns.getSelectedIndex();
2034: if (index > 0) {
2035: Object currentObject = selectedColumnListModel.get(index);
2036: Object prevObject = selectedColumnListModel.get(index - 1);
2037: selectedColumnListModel.setElementAt(currentObject,
2038: index - 1);
2039: selectedColumnListModel.setElementAt(prevObject, index);
2040: selectedColumns.setSelectedIndex(index - 1);
2041: }
2042: }//GEN-LAST:event_upButtonActionPerformed
2043:
2044: private void downButtonActionPerformed(
2045: java.awt.event.ActionEvent evt) {//GEN-FIRST:event_downButtonActionPerformed
2046: int index = selectedColumns.getSelectedIndex();
2047: if (index < selectedColumnListModel.getSize()) {
2048: Object currentObject = selectedColumnListModel.get(index);
2049: Object prevObject = selectedColumnListModel.get(index + 1);
2050: selectedColumnListModel.setElementAt(currentObject,
2051: index + 1);
2052: selectedColumnListModel.setElementAt(prevObject, index);
2053: selectedColumns.setSelectedIndex(index + 1);
2054: }
2055: }//GEN-LAST:event_downButtonActionPerformed
2056:
2057: private void cbxTableDataproviderItemStateChanged(
2058: java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cbxTableDataproviderItemStateChanged
2059: if (evt.getStateChange() == evt.SELECTED
2060: && (evt.getItem() instanceof DesignBean)) {
2061: setTableDataProviderDesignState((TableDataProviderDesignState) dataProviderList
2062: .get(evt.getItem()));
2063: }
2064: }//GEN-LAST:event_cbxTableDataproviderItemStateChanged
2065:
2066: private void cbEnablePaginationStateChanged(
2067: javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_cbEnablePaginationStateChanged
2068: txtPageRows.setEnabled(cbEnablePagination.isSelected());
2069: lblPageSize.setEnabled(cbEnablePagination.isSelected());
2070: }//GEN-LAST:event_cbEnablePaginationStateChanged
2071:
2072: // Renderer for the Data Provider Combobox
2073: class DPComboRenderer extends DefaultListCellRenderer {
2074: public Component getListCellRendererComponent(JList list,
2075: Object value, int index, boolean isSelected,
2076: boolean cellHasFocus) {
2077: super .getListCellRendererComponent(list, value, index,
2078: isSelected, cellHasFocus);
2079: if (value instanceof DesignBean) {
2080: DesignBean dataProviderBean = (DesignBean) value;
2081: if (!((TableDataProviderDesignState) dataProviderList
2082: .get(dataProviderBean)).isBroken()) {
2083: setText("<html><p><b>"
2084: + dataProviderBean.getInstanceName()
2085: + "</b> (<i>"
2086: + //NOI18N
2087: dataProviderBean.getDesignContext()
2088: .getDisplayName()
2089: + "</i>)</P></html>"); //NOI18N
2090: } else {
2091: setText("<html><P><font color=\"#FF0000\"><b>"
2092: + dataProviderBean.getInstanceName()
2093: + "</b></font> (<i>"
2094: + //NOI18N
2095: dataProviderBean.getDesignContext()
2096: .getDisplayName()
2097: + "</i>)</p></html>"); //NOI18N
2098: }
2099: } else if (value instanceof String) {
2100: setText((String) value);
2101: }
2102: return this ;
2103: }
2104: }
2105:
2106: // Implementation of DesignContextListener
2107:
2108: public void beanCreated(DesignBean designBean) {
2109: // This is not enough. The instance name and cached rowset are yet set.
2110: // It would be nice if this event is fired after creation is fully completed
2111: if (designBean.getInstance() instanceof TableDataProvider) {
2112: //System.out.println("Bean Created - " + designBean.getInstanceName());
2113: }
2114: }
2115:
2116: public void instanceNameChanged(DesignBean designBean,
2117: String oldInstanceName) {
2118: if (designBean.getInstance() instanceof TableDataProvider) {
2119: //System.out.println("Instance Name changed - " + oldInstanceName + " to " + designBean.getInstanceName());
2120: cbxTableDataprovider.repaint();
2121: }
2122: }
2123:
2124: public void propertyChanged(DesignProperty prop, Object oldValue) {
2125: if ((prop.getDesignBean().getInstance() instanceof TableDataProvider)) {
2126: //System.out.println("Bean property Changed - " + prop.getDesignBean().getInstanceName());
2127: //System.out.println("Property Name - " + prop.getPropertyDescriptor().getDisplayName());
2128: if (prop.getPropertyDescriptor().getDisplayName().equals(
2129: "CachedRowSet")) {
2130: if (!dataProviderList.keySet().contains(
2131: prop.getDesignBean())) {
2132: TableDataProviderDesignState tableDataProviderDesignState = new TableDataProviderDesignState(
2133: prop.getDesignBean());
2134: currentTableDataProviderDesignState = tableDataProviderDesignState;
2135: tableDataProviderDesignState.initialize();
2136: dataProviderList.put(prop.getDesignBean(),
2137: tableDataProviderDesignState);
2138: dataProviderComboBoxModel.addElement(prop
2139: .getDesignBean());
2140: setTableDataProviderDesignState(currentTableDataProviderDesignState);
2141: cbxTableDataprovider.setSelectedItem(prop
2142: .getDesignBean());
2143: }
2144: }
2145: }
2146: }
2147:
2148: public void beanChanged(DesignBean designBean) {
2149: }
2150:
2151: public void contextActivated(DesignContext context) {
2152: }
2153:
2154: public void contextDeactivated(DesignContext context) {
2155: }
2156:
2157: public void contextChanged(DesignContext context) {
2158: }
2159:
2160: public void beanDeleted(DesignBean designBean) {
2161: }
2162:
2163: public void beanMoved(DesignBean designBean, DesignBean oldParent,
2164: Position pos) {
2165: }
2166:
2167: public void beanContextActivated(DesignBean designBean) {
2168: }
2169:
2170: public void beanContextDeactivated(DesignBean designBean) {
2171: }
2172:
2173: public void eventChanged(DesignEvent event) {
2174: }
2175:
2176: // <editor-fold defaultstate="collapsed" desc=" Generated Code Varibles ">
2177: // Variables declaration - do not modify//GEN-BEGIN:variables
2178: private javax.swing.JButton addAllButton;
2179: private javax.swing.JButton addButton;
2180: private javax.swing.JButton addDataProviderButton;
2181: private javax.swing.JPanel addRemoveButtonPanel;
2182: private javax.swing.JPanel addRemoveColumnsPanel;
2183: private javax.swing.JPanel addReoveAllButtonPanel;
2184: private javax.swing.JList availableColumns;
2185: private javax.swing.JPanel bottomPanel;
2186: private javax.swing.JCheckBox cbClearSortButton;
2187: private javax.swing.JCheckBox cbDeselectAllRowsButton;
2188: private javax.swing.JCheckBox cbEnablePagination;
2189: private javax.swing.JCheckBox cbSelectAllRowsButton;
2190: private javax.swing.JCheckBox cbSortPanelButton;
2191: private javax.swing.JCheckBox cbSortable;
2192: private javax.swing.JComboBox cbxComponentType;
2193: private javax.swing.JComboBox cbxHorzAlign;
2194: private javax.swing.JComboBox cbxTableDataprovider;
2195: private javax.swing.JComboBox cbxVertAlign;
2196: private javax.swing.JPanel columnDetailPanel;
2197: private javax.swing.JPanel columnSelectionpanel;
2198: private javax.swing.JPanel columnsPanel;
2199: private javax.swing.JButton downButton;
2200: private javax.swing.JPanel fillPanel;
2201: private javax.swing.JPanel getDataPanel;
2202: private javax.swing.JLabel jLabel1;
2203: private javax.swing.JList jList1;
2204: private javax.swing.JLabel lblAvailableColumns;
2205: private javax.swing.JLabel lblColumnDetails;
2206: private javax.swing.JLabel lblComponentType;
2207: private javax.swing.JLabel lblEmptyDataMsg;
2208: private javax.swing.JLabel lblFooterText;
2209: private javax.swing.JLabel lblHeaderText;
2210: private javax.swing.JLabel lblHorzAlign;
2211: private javax.swing.JLabel lblPageSize;
2212: private javax.swing.JLabel lblSelectedColumns;
2213: private javax.swing.JLabel lblTableDataProvider;
2214: private javax.swing.JLabel lblTableFooter;
2215: private javax.swing.JLabel lblTableSummary;
2216: private javax.swing.JLabel lblTableTitle;
2217: private javax.swing.JLabel lblValueExpression;
2218: private javax.swing.JLabel lblVertAlign;
2219: private javax.swing.JPanel middleButtons;
2220: private javax.swing.JButton newColumnButton;
2221: private javax.swing.JPanel optionPanel2;
2222: private javax.swing.JPanel optionsPanel;
2223: private javax.swing.JPanel pageSizePanel;
2224: private javax.swing.JButton removeAllButton;
2225: private javax.swing.JButton removeButton;
2226: private javax.swing.JPanel rightButtons;
2227: private javax.swing.JScrollPane scrollAvailable;
2228: private javax.swing.JScrollPane scrollSelected;
2229: private javax.swing.JList selectedColumns;
2230: private javax.swing.JTabbedPane tableLayoutPanel;
2231: private javax.swing.JPanel topPanel;
2232: private javax.swing.JTextField txtEmptyDataMsg;
2233: private javax.swing.JTextField txtFooter;
2234: private javax.swing.JTextField txtHeader;
2235: private javax.swing.JTextField txtPageRows;
2236: private javax.swing.JTextField txtTableFooter;
2237: private javax.swing.JTextField txtTableSummary;
2238: private javax.swing.JTextField txtTableTitle;
2239: private javax.swing.JTextField txtValueExpression;
2240: private javax.swing.JButton upButton;
2241: private javax.swing.JPanel upDownButtonPanel;
2242: private javax.swing.JTextField widthField;
2243: // End of variables declaration//GEN-END:variables
2244: // </editor-fold>
2245: }
|