protected ToolDisplayHandler() { ToolMessage.displayInfo("creating new display and handler: %s", this); display = new ToolDisplay(); listener = new TitleListener(); setupUtilitiesTab(); setupControlTab(); setupLogsTab(); setupLogDisplay(); setupFooter(); Center.listen(Events.LogsFound.class, this, true); Center.listen(Events.LogRefsFound.class, this, true); Center.listen(Events.GroupAdded.class, this, true); final String boundsKey = this.toString(); Center.listen( new NBToolShutdownListener() { @Override public void nbtoolShutdownCallback() { DisplaySettings end = new DisplaySettings( display.getBounds(), viewProfile, display.topLevelSplit.getDividerLocation()); UserSettings.BOUNDS_MAP.put(boundsKey, end); } }); DisplaySettings ds = UserSettings.BOUNDS_MAP.get(boundsKey); if (ds != null) { display.setBounds(ds.bounds); display.topLevelSplit.setDividerLocation(ds.splitLocation); viewProfile = ds.profile == null ? ViewProfile.DEFAULT_PROFILE : ds.profile; } display.setTitle("nbtool v" + ToolSettings.VERSION + "." + ToolSettings.MINOR_VERSION); display.setMinimumSize(MIN_SIZE); if (id == 0) { display.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } else { display.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); } setupKeyBindings(); display.topLevelSplit.setContinuousLayout(false); display.topLevelSplit.setAutoscrolls(false); Dimension min = ToolSettings.DEFAULT_BOUNDS.getSize(); min.width = 0; display.leftSideTabs.setMinimumSize(min); display.displayTabs.setMinimumSize(min); display.topLevelSplit.requestFocus(); }
@SuppressWarnings("unchecked") private void setupControlTab() { updateComboBoxAndSettings(display.pathBox, UserSettings.loadPathes, null); updateComboBoxAndSettings(display.robotAddressBox, UserSettings.addresses, null); final String last = "don't stream"; Vector<String> streamVector = new Vector<String>(); for (Pair<String, Criteria> pair : LogSearching.CRITERIA) { streamVector.add("stream: " + pair.a); } streamVector.add(last); display.streamComboBox.setModel(new DefaultComboBoxModel<String>(streamVector)); display.streamComboBox.setSelectedItem(last); display.selectButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { controlSelectAction(); } }); display.loadButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { controlLoadAction(); } }); display.connectButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { controlConnectAction(); } }); setupKeepSlider(); // Stop streaming if the user selects a log... Center.listen( Events.LogSelected.class, new Events.LogSelected() { @Override public void logSelected(Object source, Log first, List<Log> alsoSelected) { debug.info("Log{%s} selected, %s disabling streaming!", first, outerClassThis); display.streamComboBox.setSelectedItem(last); } }, true); display.leftSideTabs.setSelectedComponent(display.controlTab); ; }
TitleListener() { Debug.event("TitleListener() listening..."); Center.listen(Events.CrossStatus.class, this, true); Center.listen(Events.RobotConnectionStatus.class, this, true); }
private void setupUtilitiesTab() { display.debugLevelBox.setModel( new DefaultComboBoxModel<Debug.LogLevel>(Debug.LogLevel.values())); display.debugLevelBox.setEditable(false); display.debugLevelBox.setSelectedIndex( Arrays.asList(Debug.LogLevel.values()).indexOf(Debug.level)); display.debugLevelBox.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int sel = display.debugLevelBox.getSelectedIndex(); Debug.level = Debug.LogLevel.values()[sel]; UserSettings.logLevel = Debug.level; Debug.print("changed Debug.level to: %s", Debug.level); } }); setupViewProfileBox(); display.viewProfileBox.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { ViewProfile prof = (ViewProfile) display.viewProfileBox.getSelectedItem(); if (prof != null) { viewProfile = prof; } } }); Center.listen( Events.ViewProfileSetChanged.class, new ViewProfileSetChanged() { @Override public void viewProfileSetChanged(Object src) { setupViewProfileBox(); } }, true); display.venueField.setText(UserSettings.venue); display.venueField.addKeyListener( new KeyAdapter() { @Override public void keyTyped(KeyEvent e) { UserSettings.venue = display.venueField.getText(); } }); JPanel utilityHolder = new JPanel(); // utilityHolder.setLayout(new BoxLayout(utilityHolder, // BoxLayout.Y_AXIS)); utilityHolder.setLayout(new GridLayout(0, 1)); for (UtilityParent up : UtilityManager.utilities) { utilityHolder.add(new UtilityPanel(up)); } // utilityHolder.add(Box.createVerticalGlue()); display.utilityScrollPane.setViewportView(utilityHolder); }