📄 preferencepanel.java
字号:
/* * (C) 2001 by Argonne National Laboratory * See COPYRIGHT in top-level directory. *//* * @author Anthony Chan */package viewer.common;import java.awt.Dimension;import java.awt.Component;import javax.swing.*;import base.topology.StateBorder;import base.topology.PreviewState;import base.topology.SummaryState;public class PreferencePanel extends JPanel{ private static int VERTICAL_GAP_HEIGHT = 10; // Options: Zoomable window reinitialization (requires window restart) private LabeledTextField fld_Y_AXIS_ROOT_LABEL; private LabeledTextField fld_INIT_SLOG2_LEVEL_READ; private LabeledComboBox lst_AUTO_WINDOWS_LOCATION; private LabeledFloatSlider sdr_SCREEN_HEIGHT_RATIO; private LabeledFloatSlider sdr_TIME_SCROLL_UNIT_RATIO; // Options: All zoomable windows private LabeledComboBox lst_Y_AXIS_ROOT_VISIBLE; private LabeledComboBox lst_ACTIVE_REFRESH; private LabeledComboBox lst_BACKGROUND_COLOR; // private LabeledTextField fld_Y_AXIS_ROW_HEIGHT; private LabeledFloatSlider sdr_STATE_HEIGHT_FACTOR; private LabeledFloatSlider sdr_NESTING_HEIGHT_FACTOR; private LabeledComboBox lst_ARROW_ANTIALIASING; private LabeledTextField fld_MIN_WIDTH_TO_DRAG; private LabeledTextField fld_CLICK_RADIUS_TO_LINE; private LabeledComboBox lst_LEFTCLICK_INSTANT_ZOOM; // Options: Timeline zoomable window private LabeledComboBox lst_STATE_BORDER; private LabeledTextField fld_ARROW_HEAD_LENGTH; private LabeledTextField fld_ARROW_HEAD_WIDTH; private LabeledTextField fld_EVENT_BASE_WIDTH; private LabeledComboBox lst_PREVIEW_STATE_DISPLAY; private LabeledComboBox lst_PREVIEW_STATE_BORDER; private LabeledTextField fld_PREVIEW_STATE_BORDER_W; private LabeledTextField fld_PREVIEW_STATE_BORDER_H; private LabeledTextField fld_PREVIEW_STATE_LEGEND_H; private LabeledTextField fld_PREVIEW_ARROW_LOG_BASE; private LabeledTextField fld_SEARCH_ARROW_LENGTH; private LabeledTextField fld_SEARCH_FRAME_THICKNESS; private LabeledComboBox lst_SEARCHED_OBJECT_ON_TOP; // Options: Histogram zoomable window private LabeledComboBox lst_HISTOGRAM_ZERO_ORIGIN; private LabeledComboBox lst_SUMMARY_STATE_BORDER; private LabeledTextField fld_SUMMARY_ARROW_LOG_BASE; // Options: Legend window private LabeledComboBox lst_LEGEND_PREVIEW_ORDER; private LabeledComboBox lst_LEGEND_TOPOLOGY_ORDER; public PreferencePanel() { super(); super.setLayout( new BoxLayout( this, BoxLayout.Y_AXIS ) ); JPanel label_panel; JLabel label; /* Options: Zoomable window reinitialization */ label_panel = new JPanel(); label_panel.setLayout( new BoxLayout( label_panel, BoxLayout.X_AXIS ) ); label = new JLabel( "Zoomable window reinitialization" ); label.setToolTipText( "Options become effective after " + "the zoomable window is restarted" ); label_panel.add( Box.createHorizontalStrut( Const.LABEL_INDENTATION ) ); label_panel.add( label ); label_panel.add( Box.createHorizontalGlue() ); label_panel.setAlignmentX( Component.LEFT_ALIGNMENT ); super.add( label_panel ); fld_Y_AXIS_ROOT_LABEL = new LabeledTextField( true, "Y_AXIS_ROOT_LABEL", Const.STRING_FORMAT ); fld_Y_AXIS_ROOT_LABEL.setToolTipText( "Label for the root node of the Y-axis tree label in the left panel" ); fld_Y_AXIS_ROOT_LABEL.setHorizontalAlignment( JTextField.CENTER ); fld_Y_AXIS_ROOT_LABEL.addSelfDocumentListener(); fld_Y_AXIS_ROOT_LABEL.setEditable( true ); super.add( fld_Y_AXIS_ROOT_LABEL ); fld_INIT_SLOG2_LEVEL_READ = new LabeledTextField( true, "INIT_SLOG2_LEVEL_READ", Const.SHORT_FORMAT ); fld_INIT_SLOG2_LEVEL_READ.setToolTipText( "The number of SLOG-2 levels being read into memory when " + "timeline window is initialized, the number affects the " + "zooming and scrolling performance exponentially (in a " + "asymptotical sense)." ); fld_INIT_SLOG2_LEVEL_READ.setHorizontalAlignment( JTextField.CENTER ); fld_INIT_SLOG2_LEVEL_READ.addSelfDocumentListener(); fld_INIT_SLOG2_LEVEL_READ.setEditable( true ); super.add( fld_INIT_SLOG2_LEVEL_READ ); lst_AUTO_WINDOWS_LOCATION = new LabeledComboBox( "AUTO_WINDOWS_LOCATION" ); lst_AUTO_WINDOWS_LOCATION.addItem( Boolean.TRUE ); lst_AUTO_WINDOWS_LOCATION.addItem( Boolean.FALSE ); lst_AUTO_WINDOWS_LOCATION.setToolTipText( "Whether to let Jumpshot-4 automatically set windows placement." ); super.add( lst_AUTO_WINDOWS_LOCATION ); super.add( Box.createVerticalStrut( VERTICAL_GAP_HEIGHT ) ); sdr_SCREEN_HEIGHT_RATIO = new LabeledFloatSlider( "SCREEN_HEIGHT_RATIO", 0.0f, 1.0f ); sdr_SCREEN_HEIGHT_RATIO.setToolTipText( "Ratio of the initial timeline canvas height to the screen height."); sdr_SCREEN_HEIGHT_RATIO.setHorizontalAlignment( JTextField.CENTER ); sdr_SCREEN_HEIGHT_RATIO.setEditable( true ); super.add( sdr_SCREEN_HEIGHT_RATIO ); sdr_TIME_SCROLL_UNIT_RATIO = new LabeledFloatSlider( "TIME_SCROLL_UNIT_RATIO", 0.0f, 1.0f ); sdr_TIME_SCROLL_UNIT_RATIO.setToolTipText( "Unit increment of the horizontal scrollbar in the fraction of " + "timeline canvas's width." ); sdr_TIME_SCROLL_UNIT_RATIO.setHorizontalAlignment( JTextField.CENTER ); sdr_TIME_SCROLL_UNIT_RATIO.setEditable( true ); super.add( sdr_TIME_SCROLL_UNIT_RATIO ); super.add( Box.createVerticalStrut( 2 * VERTICAL_GAP_HEIGHT ) ); /* Options: All zoomable windows */ label_panel = new JPanel(); label_panel.setLayout( new BoxLayout( label_panel, BoxLayout.X_AXIS ) ); label = new JLabel( "All zoomable windows" ); label.setToolTipText( "Options become effective after return " + "and the zoomable window is redrawn" ); label_panel.add( Box.createHorizontalStrut( Const.LABEL_INDENTATION ) ); label_panel.add( label ); label_panel.add( Box.createHorizontalGlue() ); label_panel.setAlignmentX( Component.LEFT_ALIGNMENT ); super.add( label_panel ); lst_Y_AXIS_ROOT_VISIBLE = new LabeledComboBox( "Y_AXIS_ROOT_VISIBLE" ); lst_Y_AXIS_ROOT_VISIBLE.addItem( Boolean.TRUE ); lst_Y_AXIS_ROOT_VISIBLE.addItem( Boolean.FALSE ); lst_Y_AXIS_ROOT_VISIBLE.setToolTipText( "Whether to show the top of the Y-axis tree-styled directory label." ); super.add( lst_Y_AXIS_ROOT_VISIBLE ); // Temporary disable it as this field is not being used lst_ACTIVE_REFRESH = new LabeledComboBox( "ACTIVE_REFRESH" ); lst_ACTIVE_REFRESH.addItem( Boolean.TRUE ); lst_ACTIVE_REFRESH.addItem( Boolean.FALSE ); lst_ACTIVE_REFRESH.setToolTipText( "Whether to let Jumpshot-4 actively update the timeline canvas." ); super.add( lst_ACTIVE_REFRESH ); lst_ACTIVE_REFRESH.setEnabled( false ); lst_BACKGROUND_COLOR = new LabeledComboBox( "BACKGROUND_COLOR" ); lst_BACKGROUND_COLOR.addItem( Const.COLOR_BLACK ); lst_BACKGROUND_COLOR.addItem( Const.COLOR_DARKGRAY ); lst_BACKGROUND_COLOR.addItem( Const.COLOR_GRAY ); lst_BACKGROUND_COLOR.addItem( Const.COLOR_LIGHTGRAY ); lst_BACKGROUND_COLOR.addItem( Const.COLOR_WHITE ); lst_BACKGROUND_COLOR.setToolTipText( "Background color of the timeline canvas" ); super.add( lst_BACKGROUND_COLOR ); /* fld_Y_AXIS_ROW_HEIGHT = new LabeledTextField( true, "Y_AXIS_ROW_HEIGHT", Const.INTEGER_FORMAT ); fld_Y_AXIS_ROW_HEIGHT.setToolTipText( "Row height of Y-axis tree in pixel, i.e. height for each timeline." ); fld_Y_AXIS_ROW_HEIGHT.setHorizontalAlignment( JTextField.CENTER );; fld_Y_AXIS_ROW_HEIGHT.addSelfDocumentListener(); fld_Y_AXIS_ROW_HEIGHT.setEditable( true ); super.add( fld_Y_AXIS_ROW_HEIGHT ); */ super.add( Box.createVerticalStrut( VERTICAL_GAP_HEIGHT ) ); sdr_STATE_HEIGHT_FACTOR = new LabeledFloatSlider( "STATE_HEIGHT_FACTOR", 0.0f, 1.0f ); sdr_STATE_HEIGHT_FACTOR.setToolTipText( "Ratio of the outermost rectangle height to the row height. The " + "larger the factor is, the larger the outermost rectangle will " + "be with respect to the row height." ); sdr_STATE_HEIGHT_FACTOR.setHorizontalAlignment( JTextField.CENTER ); sdr_STATE_HEIGHT_FACTOR.setEditable( true ); super.add( sdr_STATE_HEIGHT_FACTOR ); sdr_NESTING_HEIGHT_FACTOR = new LabeledFloatSlider( "NESTING_HEIGHT_FACTOR", 0.0f, 1.0f ); sdr_NESTING_HEIGHT_FACTOR.setToolTipText( "The gap ratio between successive nesting rectangles. The " + "larger the factor is, the smaller the gap will be." );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -