109 import org.openjdk.jmc.common.item.ItemFilters; 110 import org.openjdk.jmc.common.item.ItemToolkit; 111 import org.openjdk.jmc.common.unit.IQuantity; 112 import org.openjdk.jmc.common.unit.IRange; 113 import org.openjdk.jmc.common.unit.KindOfQuantity; 114 import org.openjdk.jmc.common.unit.QuantityRange; 115 import org.openjdk.jmc.common.unit.RangeContentType; 116 import org.openjdk.jmc.common.unit.UnitLookup; 117 import org.openjdk.jmc.common.util.ColorToolkit; 118 import org.openjdk.jmc.common.util.CompositeKey; 119 import org.openjdk.jmc.flightrecorder.JfrAttributes; 120 import org.openjdk.jmc.flightrecorder.jdk.JdkAttributes; 121 import org.openjdk.jmc.flightrecorder.jdk.JdkFilters; 122 import org.openjdk.jmc.flightrecorder.jdk.JdkTypeIDs; 123 import org.openjdk.jmc.flightrecorder.rules.Result; 124 import org.openjdk.jmc.flightrecorder.rules.Severity; 125 import org.openjdk.jmc.flightrecorder.ui.FlightRecorderUI; 126 import org.openjdk.jmc.flightrecorder.ui.IPageContainer; 127 import org.openjdk.jmc.flightrecorder.ui.ItemCollectionToolkit; 128 import org.openjdk.jmc.flightrecorder.ui.ItemIterableToolkit; 129 import org.openjdk.jmc.flightrecorder.ui.common.ItemHistogram.CompositeKeyHistogramBuilder; 130 import org.openjdk.jmc.flightrecorder.ui.common.ItemList.ItemListBuilder; 131 import org.openjdk.jmc.flightrecorder.ui.messages.internal.Messages; 132 import org.openjdk.jmc.flightrecorder.ui.overview.ResultOverview; 133 import org.openjdk.jmc.flightrecorder.ui.selection.IFilterFlavor; 134 import org.openjdk.jmc.flightrecorder.ui.selection.SelectionStore.SelectionStoreEntry; 135 import org.openjdk.jmc.flightrecorder.ui.selection.SelectionStoreActionToolkit; 136 import org.openjdk.jmc.ui.charts.AWTChartToolkit.IColorProvider; 137 import org.openjdk.jmc.ui.charts.IQuantitySeries; 138 import org.openjdk.jmc.ui.charts.ISpanSeries; 139 import org.openjdk.jmc.ui.charts.IXDataRenderer; 140 import org.openjdk.jmc.ui.charts.QuantitySeries; 141 import org.openjdk.jmc.ui.charts.RendererToolkit; 142 import org.openjdk.jmc.ui.charts.SpanRenderer; 143 import org.openjdk.jmc.ui.charts.SubdividedQuantityRange; 144 import org.openjdk.jmc.ui.charts.XYChart; 145 import org.openjdk.jmc.ui.charts.XYDataRenderer; 146 import org.openjdk.jmc.ui.charts.XYQuantities; 147 import org.openjdk.jmc.ui.column.ColumnMenusFactory; 148 import org.openjdk.jmc.ui.column.TableSettings; 149 import org.openjdk.jmc.ui.column.TableSettings.ColumnSettings; 150 import org.openjdk.jmc.ui.handlers.ActionToolkit; 151 import org.openjdk.jmc.ui.handlers.MCContextMenuManager; 152 import org.openjdk.jmc.ui.misc.ChartCanvas; 1109 // TODO: Add input from selection store, output to selection store 1110 // TODO: Add toolbar for choosing tree or checkbox tree. 1111 Composite treeComposite = new Composite(parent, SWT.NONE); 1112 treeComposite.setLayout(new GridLayout()); 1113 toolkit.adapt(treeComposite); 1114 Label caption = toolkit.createLabel(treeComposite, Messages.EVENT_TYPE_TREE_TITLE); 1115 caption.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)); 1116 caption.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); 1117 1118 TypeFilterBuilder typeFilterTree = new TypeFilterBuilder(treeComposite, onChange, checkbox); 1119 1120 typeFilterTree.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); 1121 return typeFilterTree; 1122 } 1123 1124 public static boolean isTypeWithThreadAndDuration(IType<?> type) { 1125 return JfrAttributes.EVENT_THREAD.getAccessor(type) != null 1126 && JfrAttributes.START_TIME.getAccessor(type) != JfrAttributes.END_TIME.getAccessor(type); 1127 } 1128 1129 } | 109 import org.openjdk.jmc.common.item.ItemFilters; 110 import org.openjdk.jmc.common.item.ItemToolkit; 111 import org.openjdk.jmc.common.unit.IQuantity; 112 import org.openjdk.jmc.common.unit.IRange; 113 import org.openjdk.jmc.common.unit.KindOfQuantity; 114 import org.openjdk.jmc.common.unit.QuantityRange; 115 import org.openjdk.jmc.common.unit.RangeContentType; 116 import org.openjdk.jmc.common.unit.UnitLookup; 117 import org.openjdk.jmc.common.util.ColorToolkit; 118 import org.openjdk.jmc.common.util.CompositeKey; 119 import org.openjdk.jmc.flightrecorder.JfrAttributes; 120 import org.openjdk.jmc.flightrecorder.jdk.JdkAttributes; 121 import org.openjdk.jmc.flightrecorder.jdk.JdkFilters; 122 import org.openjdk.jmc.flightrecorder.jdk.JdkTypeIDs; 123 import org.openjdk.jmc.flightrecorder.rules.Result; 124 import org.openjdk.jmc.flightrecorder.rules.Severity; 125 import org.openjdk.jmc.flightrecorder.ui.FlightRecorderUI; 126 import org.openjdk.jmc.flightrecorder.ui.IPageContainer; 127 import org.openjdk.jmc.flightrecorder.ui.ItemCollectionToolkit; 128 import org.openjdk.jmc.flightrecorder.ui.ItemIterableToolkit; 129 import org.openjdk.jmc.flightrecorder.ui.PageManager; 130 import org.openjdk.jmc.flightrecorder.ui.common.ItemHistogram.CompositeKeyHistogramBuilder; 131 import org.openjdk.jmc.flightrecorder.ui.common.ItemList.ItemListBuilder; 132 import org.openjdk.jmc.flightrecorder.ui.messages.internal.Messages; 133 import org.openjdk.jmc.flightrecorder.ui.overview.ResultOverview; 134 import org.openjdk.jmc.flightrecorder.ui.pages.itemhandler.ItemHandlerPage; 135 import org.openjdk.jmc.flightrecorder.ui.pages.itemhandler.ItemHandlerPage.ItemHandlerUiStandIn; 136 import org.openjdk.jmc.flightrecorder.ui.selection.IFilterFlavor; 137 import org.openjdk.jmc.flightrecorder.ui.selection.SelectionStore.SelectionStoreEntry; 138 import org.openjdk.jmc.flightrecorder.ui.selection.SelectionStoreActionToolkit; 139 import org.openjdk.jmc.ui.charts.AWTChartToolkit.IColorProvider; 140 import org.openjdk.jmc.ui.charts.IQuantitySeries; 141 import org.openjdk.jmc.ui.charts.ISpanSeries; 142 import org.openjdk.jmc.ui.charts.IXDataRenderer; 143 import org.openjdk.jmc.ui.charts.QuantitySeries; 144 import org.openjdk.jmc.ui.charts.RendererToolkit; 145 import org.openjdk.jmc.ui.charts.SpanRenderer; 146 import org.openjdk.jmc.ui.charts.SubdividedQuantityRange; 147 import org.openjdk.jmc.ui.charts.XYChart; 148 import org.openjdk.jmc.ui.charts.XYDataRenderer; 149 import org.openjdk.jmc.ui.charts.XYQuantities; 150 import org.openjdk.jmc.ui.column.ColumnMenusFactory; 151 import org.openjdk.jmc.ui.column.TableSettings; 152 import org.openjdk.jmc.ui.column.TableSettings.ColumnSettings; 153 import org.openjdk.jmc.ui.handlers.ActionToolkit; 154 import org.openjdk.jmc.ui.handlers.MCContextMenuManager; 155 import org.openjdk.jmc.ui.misc.ChartCanvas; 1112 // TODO: Add input from selection store, output to selection store 1113 // TODO: Add toolbar for choosing tree or checkbox tree. 1114 Composite treeComposite = new Composite(parent, SWT.NONE); 1115 treeComposite.setLayout(new GridLayout()); 1116 toolkit.adapt(treeComposite); 1117 Label caption = toolkit.createLabel(treeComposite, Messages.EVENT_TYPE_TREE_TITLE); 1118 caption.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)); 1119 caption.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); 1120 1121 TypeFilterBuilder typeFilterTree = new TypeFilterBuilder(treeComposite, onChange, checkbox); 1122 1123 typeFilterTree.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); 1124 return typeFilterTree; 1125 } 1126 1127 public static boolean isTypeWithThreadAndDuration(IType<?> type) { 1128 return JfrAttributes.EVENT_THREAD.getAccessor(type) != null 1129 && JfrAttributes.START_TIME.getAccessor(type) != JfrAttributes.END_TIME.getAccessor(type); 1130 } 1131 1132 public static void addPage(Set<IType<?>> selectedTypes) { 1133 PageManager pm = FlightRecorderUI.getDefault().getPageManager(); 1134 pm.makeRoot(pm.createPage(ItemHandlerPage.Factory.class, new ItemHandlerUiStandIn(selectedTypes))); 1135 } 1136 } |