Source Code Cross Referenced for TableCustomizerMainPanel.java in  » IDE-Netbeans » visualweb.api.designer » org » netbeans » modules » visualweb » web » ui » dt » component » table » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » IDE Netbeans » visualweb.api.designer » org.netbeans.modules.visualweb.web.ui.dt.component.table 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


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>  &nbsp; (<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>  &nbsp; (<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:        }
w___w__w.j___av_a___2s_.__c_o_m | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.