diff --git a/Gui/opensim/rice_cnl/src/org/opensim/rcnl/Bundle.properties b/Gui/opensim/rice_cnl/src/org/opensim/rcnl/Bundle.properties index 9c10906b5..a8be4abab 100644 --- a/Gui/opensim/rice_cnl/src/org/opensim/rcnl/Bundle.properties +++ b/Gui/opensim/rice_cnl/src/org/opensim/rcnl/Bundle.properties @@ -214,3 +214,5 @@ EditCostTermJPanel.jErrorCenterTextField.text=0. EditCosnstraintTermJPanel.jComponentTypeTextField.text=\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ EditCosnstraintTermJPanel.jMaxErrorTextField.text=0 EditCosnstraintTermJPanel.jMinErrorTextField.text=0 +SelectQuantitiesFromListJPanel.jSelectAllCheckBox.toolTipText=select all shown quantities +SelectQuantitiesFromListJPanel.jSelectAllCheckBox.text=select all shown diff --git a/Gui/opensim/rice_cnl/src/org/opensim/rcnl/ComponentTableModel.java b/Gui/opensim/rice_cnl/src/org/opensim/rcnl/ComponentTableModel.java index a97790d14..941cf12d6 100644 --- a/Gui/opensim/rice_cnl/src/org/opensim/rcnl/ComponentTableModel.java +++ b/Gui/opensim/rice_cnl/src/org/opensim/rcnl/ComponentTableModel.java @@ -117,5 +117,12 @@ void restrictNamesBy(String pattern){ fireTableDataChanged(); } + + void selectShown() { + for (int q=0; q - - - - - - + + + + @@ -35,14 +33,9 @@ - - - - - - - - + + + @@ -56,7 +49,10 @@ - + + + + @@ -67,7 +63,13 @@ - + + + + + + + @@ -87,24 +89,45 @@ - - - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gui/opensim/rice_cnl/src/org/opensim/rcnl/SelectQuantitiesFromListJPanel.java b/Gui/opensim/rice_cnl/src/org/opensim/rcnl/SelectQuantitiesFromListJPanel.java index 0955b1b60..7c31a73e9 100644 --- a/Gui/opensim/rice_cnl/src/org/opensim/rcnl/SelectQuantitiesFromListJPanel.java +++ b/Gui/opensim/rice_cnl/src/org/opensim/rcnl/SelectQuantitiesFromListJPanel.java @@ -6,6 +6,7 @@ package org.opensim.rcnl; import java.util.ArrayList; +import javax.swing.JCheckBox; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.event.TableModelListener; @@ -55,10 +56,16 @@ private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); + jSelectAllCheckBox = new javax.swing.JCheckBox(); + org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(SelectQuantitiesFromListJPanel.class, "SelectQuantitiesFromListJPanel.jLabel1.text")); // NOI18N FilterTextField.setToolTipText(org.openide.util.NbBundle.getMessage(SelectQuantitiesFromListJPanel.class, "SelectQuantitiesFromListJPanel.FilterTextField.toolTipText")); // NOI18N + jTable1.setModel(tableModel); + jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_LAST_COLUMN); + jScrollPane1.setViewportView(jTable1); + javax.swing.GroupLayout jPanelLayout = new javax.swing.GroupLayout(jPanel); jPanel.setLayout(jPanelLayout); jPanelLayout.setHorizontalGroup( @@ -66,7 +73,9 @@ private void initComponents() { .addGroup(jPanelLayout.createSequentialGroup() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(FilterTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 243, Short.MAX_VALUE)) + .addComponent(FilterTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 388, Short.MAX_VALUE)) + .addGroup(jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 504, Short.MAX_VALUE)) ); jPanelLayout.setVerticalGroup( jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -74,12 +83,22 @@ private void initComponents() { .addGroup(jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(FilterTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, Short.MAX_VALUE)) + .addGap(433, 433, 433)) + .addGroup(jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelLayout.createSequentialGroup() + .addGap(0, 52, Short.MAX_VALUE) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 420, javax.swing.GroupLayout.PREFERRED_SIZE))) ); - jTable1.setModel(tableModel); - jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_LAST_COLUMN); - jScrollPane1.setViewportView(jTable1); + org.openide.awt.Mnemonics.setLocalizedText(jSelectAllCheckBox, org.openide.util.NbBundle.getMessage(SelectQuantitiesFromListJPanel.class, "SelectQuantitiesFromListJPanel.jSelectAllCheckBox.text")); // NOI18N + jSelectAllCheckBox.setToolTipText(org.openide.util.NbBundle.getMessage(SelectQuantitiesFromListJPanel.class, "SelectQuantitiesFromListJPanel.jSelectAllCheckBox.toolTipText")); // NOI18N + jSelectAllCheckBox.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + jSelectAllCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0)); + jSelectAllCheckBox.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jSelectAllCheckBoxActionPerformed(evt); + } + }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); @@ -89,32 +108,43 @@ private void initComponents() { .addContainerGap() .addComponent(jPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 335, Short.MAX_VALUE) - .addContainerGap())) + .addGroup(layout.createSequentialGroup() + .addGap(9, 9, 9) + .addComponent(jSelectAllCheckBox) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(268, Short.MAX_VALUE)) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGap(73, 73, 73) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 227, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jSelectAllCheckBox) + .addGap(12, 12, 12)) ); }// //GEN-END:initComponents + private void jSelectAllCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jSelectAllCheckBoxActionPerformed +// tableModel.selectShown(true); +// updateSelected(); + ((JCheckBox)evt.getSource()).setSelected(false); + if (tableModel instanceof MuscleGroupTableModel) + ((MuscleGroupTableModel) tableModel).selectShown(); + else if (tableModel instanceof CoordinateTableModel) + ((CoordinateTableModel) tableModel).selectShown(); + else if (tableModel instanceof ComponentTableModel) + ((ComponentTableModel) tableModel).selectShown(); + + // TODO add your handling code here: + }//GEN-LAST:event_jSelectAllCheckBoxActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JFormattedTextField FilterTextField; private javax.swing.JLabel jLabel1; private javax.swing.JPanel jPanel; private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JCheckBox jSelectAllCheckBox; private javax.swing.JTable jTable1; // End of variables declaration//GEN-END:variables