use of org.eclipse.swt.widgets.Composite in project GT by Tencent.
the class CPUView method createChartPanel.
/**
* 初始化jfreechart
* @param rootFrame
*/
private void createChartPanel(Composite parent) {
// 放置图表的容器对象
chartComposite = new Composite(parent, SWT.NO_BACKGROUND | SWT.EMBEDDED);
FormData formData = new FormData();
formData.left = new FormAttachment(0, Constant.VIEW_MARGIN_WIDTH);
formData.right = new FormAttachment(cpuViewer.getTable(), -Constant.VIEW_MARGIN_WIDTH);
formData.top = new FormAttachment(0, Constant.VIEW_MARGIN_WIDTH);
formData.bottom = new FormAttachment(100, -Constant.VIEW_MARGIN_WIDTH);
chartComposite.setLayoutData(formData);
// AWT的根容器
Frame frame = SWT_AWT.new_Frame(chartComposite);
// 据说加入这个Panel可以无闪烁
Panel panel = new Panel(new BorderLayout()) {
private static final long serialVersionUID = 1L;
public void update(java.awt.Graphics g) {
/* Do not erase the background */
paint(g);
}
};
frame.add(panel);
JRootPane root = new JRootPane();
panel.add(root);
java.awt.Container contentPane = root.getContentPane();
cpuRealTimeChart = new CPURealTimeChart();
contentPane.add(cpuRealTimeChart);
}
use of org.eclipse.swt.widgets.Composite in project GT by Tencent.
the class SettingView method createSettingTabItem.
private void createSettingTabItem(TabFolder parent) {
// 创建CPU标签页
TabItem settingTabItem = new TabItem(parent, SWT.NONE);
settingTabItem.setText("首选项");
//CPU标签根容器
Composite settingTabRoot = new Composite(parent, SWT.NONE);
settingTabRoot.setLayout(new FormLayout());
FormData monitorItemGroupFormData = new FormData();
monitorItemGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
monitorItemGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
monitorItemGroupFormData.top = new FormAttachment(settingTabRoot, Constant.MARGIN_WIDTH_NARROW);
Group monitorGroup = new Group(settingTabRoot, SWT.NONE);
monitorGroup.setText("监测项");
monitorGroup.setLayoutData(monitorItemGroupFormData);
monitorGroup.setLayout(new FormLayout());
FormData cpuGroupFormData = new FormData();
cpuGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
cpuGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
cpuGroupFormData.top = new FormAttachment(monitorGroup, Constant.MARGIN_WIDTH_NARROW);
Group cpuGroup = new Group(monitorGroup, SWT.NONE);
cpuGroup.setLayoutData(cpuGroupFormData);
cpuGroup.setLayout(new GridLayout(3, true));
Label cpuLabel = new Label(cpuGroup, SWT.NONE);
cpuLabel.setText("CPU");
itemTestSwitch[Constant.CPU_INDEX] = new Button(cpuGroup, SWT.RADIO);
itemTestSwitch[Constant.CPU_INDEX].setText("开");
itemTestSwitch[Constant.CPU_INDEX].setSelection(false);
itemTestSwitch[Constant.CPU_INDEX].addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
APTState.getInstance().DealWithEventBefore(APTEventEnum.CONFIGRURE_OPER);
APTState.getInstance().DealWithEventAfter(APTEventEnum.CONFIGRURE_OPER);
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
// TODO Auto-generated method stub
}
});
itemTestSwitchClose[Constant.CPU_INDEX] = new Button(cpuGroup, SWT.RADIO);
itemTestSwitchClose[Constant.CPU_INDEX].setText("关");
itemTestSwitchClose[Constant.CPU_INDEX].setSelection(true);
FormData memGroupFormData = new FormData();
memGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
memGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
memGroupFormData.top = new FormAttachment(cpuGroup, Constant.MARGIN_WIDTH_NARROW);
memGroupFormData.bottom = new FormAttachment(100, -Constant.MARGIN_WIDTH);
Group memGroup = new Group(monitorGroup, SWT.NONE);
memGroup.setLayoutData(memGroupFormData);
memGroup.setLayout(new GridLayout(3, true));
Label memLabel = new Label(memGroup, SWT.NONE);
memLabel.setText("内存");
itemTestSwitch[Constant.MEM_INDEX] = new Button(memGroup, SWT.RADIO);
itemTestSwitch[Constant.MEM_INDEX].setText("开");
itemTestSwitch[Constant.MEM_INDEX].setSelection(false);
itemTestSwitch[Constant.MEM_INDEX].addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
APTState.getInstance().DealWithEventBefore(APTEventEnum.CONFIGRURE_OPER);
APTState.getInstance().DealWithEventAfter(APTEventEnum.CONFIGRURE_OPER);
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
// TODO Auto-generated method stub
}
});
itemTestSwitchClose[Constant.MEM_INDEX] = new Button(memGroup, SWT.RADIO);
itemTestSwitchClose[Constant.MEM_INDEX].setText("关");
itemTestSwitchClose[Constant.MEM_INDEX].setSelection(true);
settingTabItem.setControl(settingTabRoot);
}
use of org.eclipse.swt.widgets.Composite in project GT by Tencent.
the class SettingView method createMemTabItem.
/**
* 为了迎合兰姐的界面,要求改的好丑啊
* @param parent
*/
private void createMemTabItem(TabFolder parent) {
TabItem memTabItem = new TabItem(parent, SWT.NONE);
memTabItem.setText("内存");
Composite memTabRoot = new Composite(parent, SWT.NONE);
memTabRoot.setLayout(new FormLayout());
FormData testPeriodGroupFormData = new FormData();
testPeriodGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
testPeriodGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
testPeriodGroupFormData.top = new FormAttachment(memTabRoot, Constant.MARGIN_WIDTH_NARROW);
Group periodGroup = new Group(memTabRoot, SWT.NONE);
periodGroup.setLayoutData(testPeriodGroupFormData);
periodGroup.setLayout(new FillLayout(SWT.HORIZONTAL));
Label memLabel = new Label(periodGroup, SWT.NONE);
memLabel.setText("采样间隔(ms)");
itemTestPeriod[Constant.MEM_INDEX] = new Text(periodGroup, SWT.BORDER);
itemTestPeriod[Constant.MEM_INDEX].setText("3000");
itemTestPeriod[Constant.MEM_INDEX].addVerifyListener(new SWTNumberVerifyListener());
itemTestPeriod[Constant.MEM_INDEX].addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
APTState.getInstance().DealWithEventBefore(APTEventEnum.CONFIGRURE_OPER);
APTState.getInstance().DealWithEventAfter(APTEventEnum.CONFIGRURE_OPER);
}
});
FormData hprofDumpSwitchGroupFormData = new FormData();
hprofDumpSwitchGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
hprofDumpSwitchGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
hprofDumpSwitchGroupFormData.top = new FormAttachment(periodGroup, Constant.MARGIN_WIDTH_NARROW);
Group hprofDumpSwitchGroup = new Group(memTabRoot, SWT.NONE);
hprofDumpSwitchGroup.setLayoutData(hprofDumpSwitchGroupFormData);
hprofDumpSwitchGroup.setLayout(new FillLayout(SWT.HORIZONTAL));
Label hprofDumpLabel = new Label(hprofDumpSwitchGroup, SWT.NONE);
hprofDumpLabel.setText("Dump Hprof");
hprofDumpSwitch = new Combo(hprofDumpSwitchGroup, SWT.DROP_DOWN | SWT.READ_ONLY);
hprofDumpSwitch.setItems(new String[] { "否", "是" });
hprofDumpSwitch.select(0);
hprofDumpSwitch.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
// APTState.getInstance().DealWithEventBefore(APTEventEnum.CONFIGRURE_OPER);
// APTState.getInstance().DealWithEventAfter(APTEventEnum.CONFIGRURE_OPER);
}
});
FormData hprofDumpThresholdGroupFormData = new FormData();
hprofDumpThresholdGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
hprofDumpThresholdGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
hprofDumpThresholdGroupFormData.top = new FormAttachment(hprofDumpSwitchGroup, Constant.MARGIN_WIDTH_NARROW);
Group hrpofDumpThresholdGroup = new Group(memTabRoot, SWT.NONE);
hrpofDumpThresholdGroup.setLayoutData(hprofDumpThresholdGroupFormData);
hrpofDumpThresholdGroup.setLayout(new FillLayout(SWT.HORIZONTAL));
Label hprofDumpThresholdLabel = new Label(hrpofDumpThresholdGroup, SWT.NONE);
hprofDumpThresholdLabel.setText("Dump阈值(kB)");
hprofDumpThreshold = new Text(hrpofDumpThresholdGroup, SWT.BORDER);
hprofDumpThreshold.setText("30000");
hprofDumpThreshold.addVerifyListener(new SWTNumberVerifyListener());
hprofDumpThreshold.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
APTState.getInstance().DealWithEventBefore(APTEventEnum.CONFIGRURE_OPER);
APTState.getInstance().DealWithEventAfter(APTEventEnum.CONFIGRURE_OPER);
}
});
//Priv Dirty Group
FormData privGroupFormData = new FormData();
privGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
privGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
privGroupFormData.top = new FormAttachment(hrpofDumpThresholdGroup, Constant.MARGIN_WIDTH_NARROW);
Group privGroup = new Group(memTabRoot, SWT.NONE);
privGroup.setText("Priv Dirty");
privGroup.setLayoutData(privGroupFormData);
privGroup.setLayout(new GridLayout(3, true));
//PSS Group
FormData pssGroupFormData = new FormData();
pssGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
pssGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
pssGroupFormData.top = new FormAttachment(privGroup, Constant.MARGIN_WIDTH_NARROW);
Group pssGroup = new Group(memTabRoot, SWT.NONE);
pssGroup.setText("PSS");
pssGroup.setLayoutData(pssGroupFormData);
pssGroup.setLayout(new GridLayout(3, true));
//Heap Allocated Group
FormData heapGroupFormData = new FormData();
heapGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
heapGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
heapGroupFormData.top = new FormAttachment(pssGroup, Constant.MARGIN_WIDTH_NARROW);
Group heapGroup = new Group(memTabRoot, SWT.NONE);
heapGroup.setText("Heap Allocated");
heapGroup.setLayoutData(heapGroupFormData);
heapGroup.setLayout(new GridLayout(3, true));
//Heap Size Group
FormData heapsizeGroupFormData = new FormData();
heapsizeGroupFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
heapsizeGroupFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
heapsizeGroupFormData.top = new FormAttachment(heapGroup, Constant.MARGIN_WIDTH_NARROW);
Group heapsizeGroup = new Group(memTabRoot, SWT.NONE);
heapsizeGroup.setText("Heap Size");
heapsizeGroup.setLayoutData(heapsizeGroupFormData);
heapsizeGroup.setLayout(new GridLayout(3, true));
memStatCheckBtns = new Button[Constant.ALL_MEM_KIND_COUNT];
for (int i = 0; i < Constant.ALL_MEM_KIND_COUNT; i++) {
Group group = null;
if (i < 3) {
group = privGroup;
} else if (i < 6) {
group = pssGroup;
} else if (i < 9) {
group = heapGroup;
} else {
group = heapsizeGroup;
}
//final int index = i;
memStatCheckBtns[i] = new Button(group, SWT.CHECK);
memStatCheckBtns[i].setText(memStatCheckBtnTitles[i]);
memStatCheckBtns[i].addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
if (isSupportCheckChangeOper) {
//APTConsoleFactory.getInstance().APTPrint("内存check更新");
GetCurCheckedStateUtil.update();
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
}
});
}
//memStatCheckBtns[Constant.PRIV_TOTAL_INDEX].setSelection(true);
memStatCheckBtns[Constant.PSS_TOTAL_INDEX].setSelection(true);
//memStatCheckBtns[Constant.HEAPALLOC_TOTAL_INDEX].setSelection(true);
FormData labelFormData = new FormData();
labelFormData.left = new FormAttachment(0, Constant.MARGIN_WIDTH);
labelFormData.right = new FormAttachment(100, -Constant.MARGIN_WIDTH);
labelFormData.bottom = new FormAttachment(100, -Constant.MARGIN_WIDTH);
Label showLabel = new Label(memTabRoot, SWT.NONE);
showLabel.setLayoutData(labelFormData);
showLabel.setText("提示:测试过程中可动态调整曲线显示");
showLabel.setForeground(new Color(parent.getDisplay(), 0, 64, 64));
showLabel.setFont(new Font(parent.getDisplay(), "宋体", 10, SWT.BOLD));
memTabItem.setControl(memTabRoot);
}
use of org.eclipse.swt.widgets.Composite in project GT by Tencent.
the class MemoryView method createChartPanel.
/**
* 初始化jfreechart
* @param rootFrame
*/
private void createChartPanel(Composite parent) {
chartComposite = new Composite(parent, SWT.NO_BACKGROUND | SWT.EMBEDDED);
FormData formData = new FormData();
formData.left = new FormAttachment(0, Constant.VIEW_MARGIN_WIDTH);
formData.right = new FormAttachment(viewer.getTable(), -Constant.VIEW_MARGIN_WIDTH);
formData.top = new FormAttachment(0, Constant.VIEW_MARGIN_WIDTH);
formData.bottom = new FormAttachment(100, -Constant.VIEW_MARGIN_WIDTH);
chartComposite.setLayoutData(formData);
Frame frame = SWT_AWT.new_Frame(chartComposite);
// 据说加入这个Panel可以无闪烁
Panel panel = new Panel(new BorderLayout()) {
private static final long serialVersionUID = 1L;
public void update(java.awt.Graphics g) {
/* Do not erase the background */
paint(g);
}
};
frame.add(panel);
JRootPane root = new JRootPane();
panel.add(root);
java.awt.Container contentPane = root.getContentPane();
memRealTimeChart = new MemoryRealTimeChart();
contentPane.add(memRealTimeChart);
}
use of org.eclipse.swt.widgets.Composite in project OpenGrok by OpenGrok.
the class EGrokPreferencePage method createFieldEditors.
@Override
protected void createFieldEditors() {
addField(new StringFieldEditor(BASE_URL, "{OpenGrok base URL", getFieldEditorParent()));
addField(new StringFieldEditor(USERNAME, "Username for Basic Authentication (optional)", getFieldEditorParent()));
addField(new StringFieldEditor(PASSWORD, "Password for Basic Authentication (optional)", getFieldEditorParent()) {
@Override
protected void doFillIntoGrid(Composite parent, int numColumns) {
super.doFillIntoGrid(parent, numColumns);
getTextControl().setEchoChar('*');
}
});
addField(new BooleanFieldEditor(FILTER_REGEX, "Filter with Regular Expressions", getFieldEditorParent()));
addField(new BooleanFieldEditor(WORKSPACE_MATCHES, "Corelate matches with files in workspace (experimental)", getFieldEditorParent()));
}
Aggregations