Changeset 1050


Ignore:
Timestamp:
04/15/2011 06:14:01 PM (9 years ago)
Author:
muk7
Message:

removed some columns, added cell colouring

File:
1 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/ABSelectionPanel.java

    r1049 r1050  
    5656        private JLabel lbCalculationStatus; 
    5757        private JRadioButton rbSelectionCount; 
    58         private JSpinner spSelectionCount; 
     58        private JTextField spSelectionCount; 
    5959        private JRadioButton rbSelectionRatio; 
    6060        private JSpinner spSelectionRatio; 
     
    6666        private MyTableModel tableModel; 
    6767        private ArrayList<Integer> selectedIDs; 
     68        private double activationValueMin; 
     69        private double activationValueMax; 
    6870 
    6971        private class MyTableModel extends DefaultTableModel { 
     
    8183                                return Integer.class; 
    8284                        case 9: 
    83                                 return Float.class; 
    84                         case 10: 
    85                                 return Float.class; 
     85                                return Long.class; 
     86                        case 11: 
     87                                return Double.class; 
    8688                        case 12: 
    87                                 return Long.class; 
    88                         case 14: 
    89                                 return Double.class; 
    90                         case 15: 
    9189                                return Integer.class; 
    9290                        default: 
     
    118116                                component.setBackground(Color.YELLOW); 
    119117                        } else { 
    120                                 component.setBackground(getBackground()); 
     118                                double activationValue = (Double) table.getValueAt(row, 11); 
     119                                double range = activationValueMax - activationValueMin; 
     120                                int grey = (int) Math 
     121                                                .round((activationValue - activationValueMin) / range 
     122                                                                * 155) + 100; 
     123                                if (grey < 0) 
     124                                        grey = 0; 
     125                                if (grey > 255) 
     126                                        grey = 255; 
     127                                component.setBackground(new Color(grey, grey, grey)); 
     128                                // component.setBackground(Color.WHITE); 
    121129                        } 
    122130                        return component; 
     
    223231                pnSelection.add(pnSelectionParams); 
    224232 
    225                 spSelectionCount = new JSpinner(); 
    226                 spSelectionCount.setModel(new SpinnerNumberModel(10, 0, 100, 1)); 
     233                spSelectionCount = new JTextField(); 
     234                spSelectionCount.setText("10"); 
    227235                spSelectionCount.setMinimumSize(new Dimension(60, 20)); 
    228236                spSelectionCount.setMaximumSize(new Dimension(60, 20)); 
     
    272280                tableModel.addColumn("Status"); 
    273281                tableModel.addColumn("Meaning"); 
    274                 tableModel.addColumn("Path"); 
    275282                tableModel.addColumn("Object"); 
    276                 tableModel.addColumn("Desirability"); 
    277                 tableModel.addColumn("Praiseworthiness"); 
    278283                tableModel.addColumn("Feeling"); 
    279284                tableModel.addColumn("Time"); 
     
    300305                actionDetails.addAll(episodicMemory.getSTEM().getDetails()); 
    301306 
     307                // set initial minimum and maximum for cell colouring 
     308                if (actionDetails.size() > 0) { 
     309                        activationValueMin = actionDetails.get(0).getActivationValue() 
     310                                        .getValue(); 
     311                } else { 
     312                        activationValueMin = 0; 
     313                } 
     314                activationValueMax = activationValueMin; 
     315 
     316                // clear table model 
    302317                int rowCount = tableModel.getRowCount(); 
    303318                for (int i = 0; i < rowCount; i++) { 
     
    305320                } 
    306321 
     322                // add action details to table model 
    307323                for (ActionDetail actionDetail : actionDetails) { 
    308324                        Object[] rowData = new Object[tableModel.getColumnCount()]; 
     
    316332                        rowData[j++] = actionDetail.getStatus(); 
    317333                        rowData[j++] = actionDetail.getSpeechActMeaning(); 
    318                         rowData[j++] = actionDetail.getMultimediaPath(); 
    319334                        rowData[j++] = actionDetail.getObject(); 
    320                         rowData[j++] = actionDetail.getDesirability(); 
    321                         rowData[j++] = actionDetail.getPraiseworthiness(); 
    322335                        rowData[j++] = actionDetail.getEmotion().getType() + "-" 
    323336                                        + actionDetail.getEmotion().GetPotential(); 
     
    328341 
    329342                        tableModel.addRow(rowData); 
     343 
     344                        // save minimum and maximum for cell colouring 
     345                        double activationValue = actionDetail.getActivationValue() 
     346                                        .getValue(); 
     347                        if (activationValue < activationValueMin) 
     348                                activationValueMin = activationValue; 
     349                        if (activationValue > activationValueMax) 
     350                                activationValueMax = activationValue; 
     351 
    330352                } 
    331353 
     
    349371 
    350372                if (rbSelectionCount.isSelected()) { 
    351                         int countMax = Integer.valueOf(spSelectionCount.getValue() 
    352                                         .toString()); 
     373                        int countMax = Integer.valueOf(Integer.valueOf(spSelectionCount 
     374                                        .getText())); 
    353375                        selected = episodicMemory.activationBasedSelectionByCount(countMax); 
    354376 
Note: See TracChangeset for help on using the changeset viewer.