Ignore:
Timestamp:
2003-05-27T15:57:37+12:00 (21 years ago)
Author:
kjdon
Message:

re-tabbed the code for java

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/gui/messages/MessagePane.java

    r4293 r4366  
    4848 */
    4949public class MessagePane
    50     extends JPanel
     50    extends JPanel
    5151    implements ActionListener {
    5252
    53     GridBagConstraints grid_constraints = null;
    54 
    55     GridBagLayout grid_layout = null;
    56 
    57     JButton save_messages = null;
    58 
    59     JLabel level_label = null;
    60     JLabel message_count = null;
    61     JLabel source_label = null;
    62 
    63     JPanel central_pane = null;
    64     JPanel corner_pane = null;
    65     JPanel count_pane = null;
    66     JPanel horizontal_pane = null;
    67     JPanel level_pane = null;
    68     JPanel source_pane = null;
    69     JPanel vertical_pane = null;
    70 
    71     JScrollPane scroll_pane = null;
    72 
    73     JToggleButton level_event = null;
    74     JToggleButton level_error = null;
    75     JToggleButton level_information = null;
    76     JToggleButton level_main = null;
    77     JToggleButton source_browser = null;
    78     JToggleButton source_build = null;
    79     JToggleButton source_general = null;
    80     JToggleButton source_mirroring = null;
    81     JToggleButton source_metaedit = null;
    82     JToggleButton source_session = null;
    83 
    84     JList message_list = null;
    85 
    86     MessageListModel model = null;
    87 
    88     MessageListRenderer renderer = null;
    89 
    90     String args[];
    91 
    92     public MessagePane() {
    93     }
    94 
    95     public void display() {
    96           // Setup main layout managers
    97           grid_layout = new GridBagLayout();
    98           grid_constraints = new GridBagConstraints();
    99           this.setLayout(grid_layout);
    100 
    101           // Vertical Buttons
    102           source_pane = new JPanel(new BorderLayout());
    103           source_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,3));
    104 
    105           vertical_pane = new JPanel(new GridLayout(6,1));
    106 
    107           Gatherer.println("\tCreating source_label");
    108           source_label = new JLabel(get("Source"));
    109           source_label.setHorizontalAlignment(JLabel.CENTER);
    110 
    111           Gatherer.println("\tCreating source_general");
    112           source_general = new JToggleButton(get("General"), Gatherer.config.get("messages.source_general", false));
    113           source_general.setIcon(Utility.OFF_ICON);
    114           source_general.setSelectedIcon(Utility.ON_ICON);
    115           source_general.setHorizontalTextPosition(JToggleButton.CENTER);
    116           source_general.setVerticalTextPosition(JToggleButton.BOTTOM);
    117           source_general.addActionListener(this);
    118 
    119           Gatherer.println("\tCreating source_browser");
    120           source_browser = new JToggleButton(get("Browser"), Gatherer.config.get("messages.source_browser", false));
    121           source_browser.setIcon(Utility.OFF_ICON);
    122           source_browser.setSelectedIcon(Utility.ON_ICON);
    123           source_browser.setHorizontalTextPosition(JToggleButton.CENTER);
    124           source_browser.setVerticalTextPosition(JToggleButton.BOTTOM);
    125           source_browser.addActionListener(this);
    126 
    127           Gatherer.println("\tCreating source_mirroring");
    128           source_mirroring = new JToggleButton(get("Mirroring"), Gatherer.config.get("messages.source_mirroring", false));
    129           source_mirroring.setIcon(Utility.OFF_ICON);
    130           source_mirroring.setSelectedIcon(Utility.ON_ICON);
    131           source_mirroring.setHorizontalTextPosition(JToggleButton.CENTER);
    132           source_mirroring.setVerticalTextPosition(JToggleButton.BOTTOM);
    133           source_mirroring.addActionListener(this);
    134 
    135           Gatherer.println("\tCreating source_session");
    136           source_session = new JToggleButton(get("Session"), Gatherer.config.get("messages.source_session", false));
    137           source_session.setIcon(Utility.OFF_ICON);
    138           source_session.setSelectedIcon(Utility.ON_ICON);
    139          source_session.setHorizontalTextPosition(JToggleButton.CENTER);
    140           source_session.setVerticalTextPosition(JToggleButton.BOTTOM);
    141           source_session.addActionListener(this);
    142 
    143           Gatherer.println("\tCreating source_metaedit");
    144           source_metaedit = new JToggleButton(get("Metaedit"), Gatherer.config.get("messages.source_metaedit", false));
    145           source_metaedit.setIcon(Utility.OFF_ICON);
    146           source_metaedit.setSelectedIcon(Utility.ON_ICON);
    147           source_metaedit.setHorizontalTextPosition(JToggleButton.CENTER);
    148           source_metaedit.setVerticalTextPosition(JToggleButton.BOTTOM);
    149           source_metaedit.addActionListener(this);
    150 
    151           Gatherer.println("\tCreating source_build");
    152           source_build = new JToggleButton(get("Build"), Gatherer.config.get("messages.source_build", false));
    153           source_build.setIcon(Utility.OFF_ICON);
    154           source_build.setSelectedIcon(Utility.ON_ICON);
    155           source_build.setHorizontalTextPosition(JToggleButton.CENTER);
    156           source_build.setVerticalTextPosition(JToggleButton.BOTTOM);
    157           source_build.addActionListener(this);
    158 
    159           source_pane.add(source_label, BorderLayout.NORTH);
    160           vertical_pane.add(source_general);
    161           vertical_pane.add(source_browser);
    162           vertical_pane.add(source_mirroring);
    163           vertical_pane.add(source_session);
    164           vertical_pane.add(source_metaedit);
    165           vertical_pane.add(source_build);
    166           source_pane.add(vertical_pane, BorderLayout.CENTER);
    167 
    168           // Central pane
    169           central_pane = new JPanel(new BorderLayout());
    170 
    171           Gatherer.println("\tCreating message_list");
    172           model = new MessageListModel();
    173           renderer = new MessageListRenderer();
    174           message_list = new JList();
    175           message_list.setModel(model);
    176           message_list.setCellRenderer(renderer);
    177 
    178           scroll_pane = new JScrollPane(message_list);
    179           central_pane.add(scroll_pane, BorderLayout.CENTER);
    180 
    181           Gatherer.println("\tCreating message_count");
    182           count_pane = new JPanel(new BorderLayout());
    183           args = new String[2];
    184           args[0] = model.getSizeStr();
    185           args[1] = model.getTotalSizeStr();
    186           message_count = new JLabel(get("Message_Count",args));
    187           message_count.setHorizontalAlignment(JLabel.RIGHT);
    188 
    189           central_pane.add(scroll_pane, BorderLayout.CENTER);
    190           central_pane.add(message_count, BorderLayout.SOUTH);
    191 
    192           // Corner area
    193           corner_pane = new JPanel(new BorderLayout());
    194           corner_pane.setBorder(BorderFactory.createEmptyBorder(3,5,5,5));
    195 
    196           Gatherer.println("\tCreating save_message");
    197           save_messages = new JButton(get("Save_Messages"),
    198                                                 new ImageIcon(Utility.RES_DIR+"save.gif"));
    199           save_messages.addActionListener(this);
    200 
    201           corner_pane.add(save_messages, BorderLayout.CENTER);
    202 
    203           // Horizontal buttons.
    204           level_pane = new JPanel(new BorderLayout());
    205 
    206           horizontal_pane = new JPanel(new GridLayout(1,4));
    207 
    208           Gatherer.println("\tCreating level_label");
    209           level_label = new JLabel(get("Level"));
    210           level_label.setHorizontalAlignment(JLabel.CENTER);
    211 
    212           Gatherer.println("\tCreating level_main");
    213           level_main = new JToggleButton(get("Main"), Gatherer.config.get("messages.level_main", false));
    214           level_main.setIcon(Utility.OFF_ICON);
    215           level_main.setSelectedIcon(Utility.ON_ICON);
    216           level_main.addActionListener(this);
    217 
    218           Gatherer.println("\tCreating level_event");
    219           level_event = new JToggleButton(get("Event"), Gatherer.config.get("messages.level_event", false));
    220           level_event.setIcon(Utility.OFF_ICON);
    221           level_event.setSelectedIcon(Utility.ON_ICON);
    222           level_event.addActionListener(this);
    223 
    224           Gatherer.println("\tCreating level_information");
    225           level_information = new JToggleButton(get("Information"), Gatherer.config.get("messages.level_information", false));
    226           level_information.setIcon(Utility.OFF_ICON);
    227           level_information.setSelectedIcon(Utility.ON_ICON);
    228           level_information.addActionListener(this);
    229 
    230           Gatherer.println("\tCreating level_error");
    231           level_error = new JToggleButton(get("Error"), Gatherer.config.get("messages.level_error", false));
    232           level_error.setIcon(Utility.OFF_ICON);
    233           level_error.setSelectedIcon(Utility.ON_ICON);
    234           level_error.addActionListener(this);
    235 
    236           level_pane.add(level_label, BorderLayout.NORTH);
    237           horizontal_pane.add(level_main);
    238           horizontal_pane.add(level_event);
    239           horizontal_pane.add(level_information);
    240           horizontal_pane.add(level_error);
    241           level_pane.add(horizontal_pane, BorderLayout.CENTER);
    242 
    243           // Terrifying gridbag layout
    244           grid_constraints.fill = GridBagConstraints.BOTH;
    245           grid_layout.setConstraints(source_pane, grid_constraints);
    246           this.add(source_pane);
    247           grid_constraints.weightx = 1.0;
    248           grid_constraints.weighty = 1.0;
    249           grid_constraints.gridwidth = GridBagConstraints.REMAINDER;
    250           grid_layout.setConstraints(central_pane, grid_constraints);
    251           this.add(central_pane);
    252           grid_constraints.weightx = 0.0;
    253           grid_constraints.weighty = 0.0;
    254           grid_constraints.gridwidth = 1;
    255           grid_layout.setConstraints(corner_pane, grid_constraints);
    256           this.add(corner_pane);
    257           grid_constraints.gridwidth = GridBagConstraints.REMAINDER;
    258           grid_layout.setConstraints(level_pane, grid_constraints);
    259           this.add(level_pane);
    260     }
    261 
    262     public void actionPerformed(ActionEvent event) {
    263           Object source = event.getSource();
    264 
    265           // Eventually this will dump the messages to a text file, but for now
    266           // I'm using it in testing.
    267           if(source == save_messages) {
    268                 for(int i = 0; i < 20; i++) {
    269                      model.add(Message.random());
    270                      message_list.ensureIndexIsVisible(model.getSize() - 1);
    271                 }
    272           }
    273           // We've been asked to toggle whether we show general messages.
    274           else if(source == source_general) {
    275                 // Toggle config setting
    276                 Gatherer.config.set("messages.source_general", false, !Gatherer.config.get("messages.source_general", false));
    277                 // Inform model something has changed.
    278                 model.refresh();
    279                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    280           }
    281           // We've been asked to toggle whether we show browser messages.
    282           else if(source == source_browser) {
    283                 // Toggle config setting
    284                 Gatherer.config.set("messages.source_browser", false, !Gatherer.config.get("messages.source_browser", false));
    285                 // Inform model something has changed.
    286                 model.refresh();
    287                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    288           }
    289           // We've been asked to toggle whether we show general messages.
    290           else if(source == source_mirroring) {
    291                 // Toggle config setting
    292                 Gatherer.config.set("messages.source_mirroring", false, !Gatherer.config.get("messages.source_mirroring", false));
    293                 // Inform model something has changed.
    294                 model.refresh();
    295                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    296           }
    297           // We've been asked to toggle whether we show session messages.
    298           else if(source == source_session) {
    299                 // Toggle config setting
    300                 Gatherer.config.set("messages.source_session", false, !Gatherer.config.get("messages.source_session", false));
    301                 // Inform model something has changed.
    302                 model.refresh();
    303                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    304           }
    305           // We've been asked to toggle whether we show metaedit messages.
    306           else if(source == source_metaedit) {
    307                 // Toggle config setting
    308                 Gatherer.config.set("messages.source_metaedit", false, !Gatherer.config.get("messages.source_metaedit", false));
    309                 // Inform model something has changed.
    310                 model.refresh();
    311                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    312           }
    313           // We've been asked to toggle whether we show build messages.
    314           else if(source == source_build) {
    315                 // Toggle config setting
    316                 Gatherer.config.set("messages.source_build", false, !Gatherer.config.get("messages.source_build", false));
    317                 // Inform model something has changed.
    318                 model.refresh();
    319                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    320           }
    321           // We've been asked to toggle whether we show main level messages.
    322           else if(source == level_main) {
    323                 // Toggle config setting
    324                 Gatherer.config.set("messages.level_main", false, !Gatherer.config.get("messages.level_main", false));
    325                 // Inform model something has changed.
    326                 model.refresh();
    327                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    328           }
    329           // We've been asked to toggle whether we show event level messages.
    330           else if(source == level_event) {
    331                 // Toggle config setting
    332                 Gatherer.config.set("messages.level_event", false, !Gatherer.config.get("messages.level_event", false));
    333                 // Inform model something has changed.
    334                 model.refresh();
    335                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    336           }
    337           // We've been asked to toggle whether we show information level messages.
    338           else if(source == level_information) {
    339                 // Toggle config setting
    340                 Gatherer.config.set("messages.level_information", false, !Gatherer.config.get("messages.level_information", false));
    341                 // Inform model something has changed.
    342                 model.refresh();
    343                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    344           }
    345           // We've been asked to toggle whether we show error level messages.
    346           else if(source == level_error) {
    347                 // Toggle config setting
    348                 Gatherer.config.set("messages.level_error", false, !Gatherer.config.get("messages.level_error", false));
    349                 // Inform model something has changed.
    350                 model.refresh();
    351                 message_list.ensureIndexIsVisible(model.getSize() - 1);
    352           }
    353           // Pretty much no matter what happens we need to get the new size
    354           args = new String[2];
    355           args[0] = model.getSizeStr();
    356           args[1] = model.getTotalSizeStr();
    357           message_count.setText(get("Message_Count",args));
    358     }
    359 
    360     /** The callback for the message listener. Here all of the messages are
    361       * displayed onto the list.
    362       * @param message The Message to be displayed.
    363       */
    364     public void show(Message message) {
    365           model.add(message);
    366           message_list.ensureIndexIsVisible(model.getSize() - 1);
    367     }
    368 
    369 
    370     private String get(String key) {
    371           return get(key, null);
    372     }
    373 
    374     private String get(String key, String args[]) {
    375           if(key.indexOf('.') == -1) {
    376                 key = "Messages." + key;
    377           }
    378           return Gatherer.dictionary.get(key, args);
    379     }
     53    GridBagConstraints grid_constraints = null;
     54
     55    GridBagLayout grid_layout = null;
     56
     57    JButton save_messages = null;
     58
     59    JLabel level_label = null;
     60    JLabel message_count = null;
     61    JLabel source_label = null;
     62
     63    JPanel central_pane = null;
     64    JPanel corner_pane = null;
     65    JPanel count_pane = null;
     66    JPanel horizontal_pane = null;
     67    JPanel level_pane = null;
     68    JPanel source_pane = null;
     69    JPanel vertical_pane = null;
     70
     71    JScrollPane scroll_pane = null;
     72
     73    JToggleButton level_event = null;
     74    JToggleButton level_error = null;
     75    JToggleButton level_information = null;
     76    JToggleButton level_main = null;
     77    JToggleButton source_browser = null;
     78    JToggleButton source_build = null;
     79    JToggleButton source_general = null;
     80    JToggleButton source_mirroring = null;
     81    JToggleButton source_metaedit = null;
     82    JToggleButton source_session = null;
     83
     84    JList message_list = null;
     85
     86    MessageListModel model = null;
     87
     88    MessageListRenderer renderer = null;
     89
     90    String args[];
     91
     92    public MessagePane() {
     93    }
     94
     95    public void display() {
     96    // Setup main layout managers
     97    grid_layout = new GridBagLayout();
     98    grid_constraints = new GridBagConstraints();
     99    this.setLayout(grid_layout);
     100
     101    // Vertical Buttons
     102    source_pane = new JPanel(new BorderLayout());
     103    source_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,3));
     104
     105    vertical_pane = new JPanel(new GridLayout(6,1));
     106
     107    Gatherer.println("\tCreating source_label");
     108    source_label = new JLabel(get("Source"));
     109    source_label.setHorizontalAlignment(JLabel.CENTER);
     110
     111    Gatherer.println("\tCreating source_general");
     112    source_general = new JToggleButton(get("General"), Gatherer.config.get("messages.source_general", false));
     113    source_general.setIcon(Utility.OFF_ICON);
     114    source_general.setSelectedIcon(Utility.ON_ICON);
     115    source_general.setHorizontalTextPosition(JToggleButton.CENTER);
     116    source_general.setVerticalTextPosition(JToggleButton.BOTTOM);
     117    source_general.addActionListener(this);
     118
     119    Gatherer.println("\tCreating source_browser");
     120    source_browser = new JToggleButton(get("Browser"), Gatherer.config.get("messages.source_browser", false));
     121    source_browser.setIcon(Utility.OFF_ICON);
     122    source_browser.setSelectedIcon(Utility.ON_ICON);
     123    source_browser.setHorizontalTextPosition(JToggleButton.CENTER);
     124    source_browser.setVerticalTextPosition(JToggleButton.BOTTOM);
     125    source_browser.addActionListener(this);
     126
     127    Gatherer.println("\tCreating source_mirroring");
     128    source_mirroring = new JToggleButton(get("Mirroring"), Gatherer.config.get("messages.source_mirroring", false));
     129    source_mirroring.setIcon(Utility.OFF_ICON);
     130    source_mirroring.setSelectedIcon(Utility.ON_ICON);
     131    source_mirroring.setHorizontalTextPosition(JToggleButton.CENTER);
     132    source_mirroring.setVerticalTextPosition(JToggleButton.BOTTOM);
     133    source_mirroring.addActionListener(this);
     134
     135    Gatherer.println("\tCreating source_session");
     136    source_session = new JToggleButton(get("Session"), Gatherer.config.get("messages.source_session", false));
     137    source_session.setIcon(Utility.OFF_ICON);
     138    source_session.setSelectedIcon(Utility.ON_ICON);
     139    source_session.setHorizontalTextPosition(JToggleButton.CENTER);
     140    source_session.setVerticalTextPosition(JToggleButton.BOTTOM);
     141    source_session.addActionListener(this);
     142
     143    Gatherer.println("\tCreating source_metaedit");
     144    source_metaedit = new JToggleButton(get("Metaedit"), Gatherer.config.get("messages.source_metaedit", false));
     145    source_metaedit.setIcon(Utility.OFF_ICON);
     146    source_metaedit.setSelectedIcon(Utility.ON_ICON);
     147    source_metaedit.setHorizontalTextPosition(JToggleButton.CENTER);
     148    source_metaedit.setVerticalTextPosition(JToggleButton.BOTTOM);
     149    source_metaedit.addActionListener(this);
     150
     151    Gatherer.println("\tCreating source_build");
     152    source_build = new JToggleButton(get("Build"), Gatherer.config.get("messages.source_build", false));
     153    source_build.setIcon(Utility.OFF_ICON);
     154    source_build.setSelectedIcon(Utility.ON_ICON);
     155    source_build.setHorizontalTextPosition(JToggleButton.CENTER);
     156    source_build.setVerticalTextPosition(JToggleButton.BOTTOM);
     157    source_build.addActionListener(this);
     158
     159    source_pane.add(source_label, BorderLayout.NORTH);
     160    vertical_pane.add(source_general);
     161    vertical_pane.add(source_browser);
     162    vertical_pane.add(source_mirroring);
     163    vertical_pane.add(source_session);
     164    vertical_pane.add(source_metaedit);
     165    vertical_pane.add(source_build);
     166    source_pane.add(vertical_pane, BorderLayout.CENTER);
     167
     168    // Central pane
     169    central_pane = new JPanel(new BorderLayout());
     170
     171    Gatherer.println("\tCreating message_list");
     172    model = new MessageListModel();
     173    renderer = new MessageListRenderer();
     174    message_list = new JList();
     175    message_list.setModel(model);
     176    message_list.setCellRenderer(renderer);
     177
     178    scroll_pane = new JScrollPane(message_list);
     179    central_pane.add(scroll_pane, BorderLayout.CENTER);
     180
     181    Gatherer.println("\tCreating message_count");
     182    count_pane = new JPanel(new BorderLayout());
     183    args = new String[2];
     184    args[0] = model.getSizeStr();
     185    args[1] = model.getTotalSizeStr();
     186    message_count = new JLabel(get("Message_Count",args));
     187    message_count.setHorizontalAlignment(JLabel.RIGHT);
     188
     189    central_pane.add(scroll_pane, BorderLayout.CENTER);
     190    central_pane.add(message_count, BorderLayout.SOUTH);
     191
     192    // Corner area
     193    corner_pane = new JPanel(new BorderLayout());
     194    corner_pane.setBorder(BorderFactory.createEmptyBorder(3,5,5,5));
     195
     196    Gatherer.println("\tCreating save_message");
     197    save_messages = new JButton(get("Save_Messages"),
     198                    new ImageIcon(Utility.RES_DIR+"save.gif"));
     199    save_messages.addActionListener(this);
     200
     201    corner_pane.add(save_messages, BorderLayout.CENTER);
     202
     203    // Horizontal buttons.
     204    level_pane = new JPanel(new BorderLayout());
     205
     206    horizontal_pane = new JPanel(new GridLayout(1,4));
     207
     208    Gatherer.println("\tCreating level_label");
     209    level_label = new JLabel(get("Level"));
     210    level_label.setHorizontalAlignment(JLabel.CENTER);
     211
     212    Gatherer.println("\tCreating level_main");
     213    level_main = new JToggleButton(get("Main"), Gatherer.config.get("messages.level_main", false));
     214    level_main.setIcon(Utility.OFF_ICON);
     215    level_main.setSelectedIcon(Utility.ON_ICON);
     216    level_main.addActionListener(this);
     217
     218    Gatherer.println("\tCreating level_event");
     219    level_event = new JToggleButton(get("Event"), Gatherer.config.get("messages.level_event", false));
     220    level_event.setIcon(Utility.OFF_ICON);
     221    level_event.setSelectedIcon(Utility.ON_ICON);
     222    level_event.addActionListener(this);
     223
     224    Gatherer.println("\tCreating level_information");
     225    level_information = new JToggleButton(get("Information"), Gatherer.config.get("messages.level_information", false));
     226    level_information.setIcon(Utility.OFF_ICON);
     227    level_information.setSelectedIcon(Utility.ON_ICON);
     228    level_information.addActionListener(this);
     229
     230    Gatherer.println("\tCreating level_error");
     231    level_error = new JToggleButton(get("Error"), Gatherer.config.get("messages.level_error", false));
     232    level_error.setIcon(Utility.OFF_ICON);
     233    level_error.setSelectedIcon(Utility.ON_ICON);
     234    level_error.addActionListener(this);
     235
     236    level_pane.add(level_label, BorderLayout.NORTH);
     237    horizontal_pane.add(level_main);
     238    horizontal_pane.add(level_event);
     239    horizontal_pane.add(level_information);
     240    horizontal_pane.add(level_error);
     241    level_pane.add(horizontal_pane, BorderLayout.CENTER);
     242
     243    // Terrifying gridbag layout
     244    grid_constraints.fill = GridBagConstraints.BOTH;
     245    grid_layout.setConstraints(source_pane, grid_constraints);
     246    this.add(source_pane);
     247    grid_constraints.weightx = 1.0;
     248    grid_constraints.weighty = 1.0;
     249    grid_constraints.gridwidth = GridBagConstraints.REMAINDER;
     250    grid_layout.setConstraints(central_pane, grid_constraints);
     251    this.add(central_pane);
     252    grid_constraints.weightx = 0.0;
     253    grid_constraints.weighty = 0.0;
     254    grid_constraints.gridwidth = 1;
     255    grid_layout.setConstraints(corner_pane, grid_constraints);
     256    this.add(corner_pane);
     257    grid_constraints.gridwidth = GridBagConstraints.REMAINDER;
     258    grid_layout.setConstraints(level_pane, grid_constraints);
     259    this.add(level_pane);
     260    }
     261
     262    public void actionPerformed(ActionEvent event) {
     263    Object source = event.getSource();
     264
     265    // Eventually this will dump the messages to a text file, but for now
     266    // I'm using it in testing.
     267    if(source == save_messages) {
     268        for(int i = 0; i < 20; i++) {
     269        model.add(Message.random());
     270        message_list.ensureIndexIsVisible(model.getSize() - 1);
     271        }
     272    }
     273    // We've been asked to toggle whether we show general messages.
     274    else if(source == source_general) {
     275                // Toggle config setting
     276        Gatherer.config.set("messages.source_general", false, !Gatherer.config.get("messages.source_general", false));
     277                // Inform model something has changed.
     278        model.refresh();
     279        message_list.ensureIndexIsVisible(model.getSize() - 1);
     280    }
     281    // We've been asked to toggle whether we show browser messages.
     282    else if(source == source_browser) {
     283                // Toggle config setting
     284        Gatherer.config.set("messages.source_browser", false, !Gatherer.config.get("messages.source_browser", false));
     285                // Inform model something has changed.
     286        model.refresh();
     287        message_list.ensureIndexIsVisible(model.getSize() - 1);
     288    }
     289    // We've been asked to toggle whether we show general messages.
     290    else if(source == source_mirroring) {
     291                // Toggle config setting
     292        Gatherer.config.set("messages.source_mirroring", false, !Gatherer.config.get("messages.source_mirroring", false));
     293                // Inform model something has changed.
     294        model.refresh();
     295        message_list.ensureIndexIsVisible(model.getSize() - 1);
     296    }
     297    // We've been asked to toggle whether we show session messages.
     298    else if(source == source_session) {
     299                // Toggle config setting
     300        Gatherer.config.set("messages.source_session", false, !Gatherer.config.get("messages.source_session", false));
     301                // Inform model something has changed.
     302        model.refresh();
     303        message_list.ensureIndexIsVisible(model.getSize() - 1);
     304    }
     305    // We've been asked to toggle whether we show metaedit messages.
     306    else if(source == source_metaedit) {
     307                // Toggle config setting
     308        Gatherer.config.set("messages.source_metaedit", false, !Gatherer.config.get("messages.source_metaedit", false));
     309                // Inform model something has changed.
     310        model.refresh();
     311        message_list.ensureIndexIsVisible(model.getSize() - 1);
     312    }
     313    // We've been asked to toggle whether we show build messages.
     314    else if(source == source_build) {
     315                // Toggle config setting
     316        Gatherer.config.set("messages.source_build", false, !Gatherer.config.get("messages.source_build", false));
     317                // Inform model something has changed.
     318        model.refresh();
     319        message_list.ensureIndexIsVisible(model.getSize() - 1);
     320    }
     321    // We've been asked to toggle whether we show main level messages.
     322    else if(source == level_main) {
     323                // Toggle config setting
     324        Gatherer.config.set("messages.level_main", false, !Gatherer.config.get("messages.level_main", false));
     325                // Inform model something has changed.
     326        model.refresh();
     327        message_list.ensureIndexIsVisible(model.getSize() - 1);
     328    }
     329    // We've been asked to toggle whether we show event level messages.
     330    else if(source == level_event) {
     331                // Toggle config setting
     332        Gatherer.config.set("messages.level_event", false, !Gatherer.config.get("messages.level_event", false));
     333                // Inform model something has changed.
     334        model.refresh();
     335        message_list.ensureIndexIsVisible(model.getSize() - 1);
     336    }
     337    // We've been asked to toggle whether we show information level messages.
     338    else if(source == level_information) {
     339                // Toggle config setting
     340        Gatherer.config.set("messages.level_information", false, !Gatherer.config.get("messages.level_information", false));
     341                // Inform model something has changed.
     342        model.refresh();
     343        message_list.ensureIndexIsVisible(model.getSize() - 1);
     344    }
     345    // We've been asked to toggle whether we show error level messages.
     346    else if(source == level_error) {
     347                // Toggle config setting
     348        Gatherer.config.set("messages.level_error", false, !Gatherer.config.get("messages.level_error", false));
     349                // Inform model something has changed.
     350        model.refresh();
     351        message_list.ensureIndexIsVisible(model.getSize() - 1);
     352    }
     353    // Pretty much no matter what happens we need to get the new size
     354    args = new String[2];
     355    args[0] = model.getSizeStr();
     356    args[1] = model.getTotalSizeStr();
     357    message_count.setText(get("Message_Count",args));
     358    }
     359
     360    /** The callback for the message listener. Here all of the messages are
     361     * displayed onto the list.
     362     * @param message The Message to be displayed.
     363     */
     364    public void show(Message message) {
     365    model.add(message);
     366    message_list.ensureIndexIsVisible(model.getSize() - 1);
     367    }
     368
     369
     370    private String get(String key) {
     371    return get(key, null);
     372    }
     373
     374    private String get(String key, String args[]) {
     375    if(key.indexOf('.') == -1) {
     376        key = "Messages." + key;
     377    }
     378    return Gatherer.dictionary.get(key, args);
     379    }
    380380}
    381381
Note: See TracChangeset for help on using the changeset viewer.