📄 securityobjectsview.java
字号:
package com.hnjchina.securityView;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.ViewPart;
import com.hnjchina.securityManager.SecurityObject;
import com.hnjchina.securityManager.SecurityObjectCellModifier;
import com.hnjchina.securityManager.SecurityObjectContentProvider;
import com.hnjchina.securityManager.SecurityObjectEditor;
import com.hnjchina.securityManager.SecurityObjectLabelProvider;
public class SecurityObjectsView extends ViewPart{
private TableViewer tv;
private Table table;
public SecurityObjectEditor security=new SecurityObjectEditor();
private Action addItemAction,deleteItemAction;
public void createPartControl(Composite parent) {
// Create a composite to hold the children
GridData gridData = new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_BOTH);
parent.setLayoutData (gridData);
// Set numColumns to 3 for the buttons
GridLayout layout = new GridLayout(1, true);
layout.marginWidth = 7;
parent.setLayout (layout);
createTable(parent);
createTableViewer();
createActions();
createMenu();
createToolbar();
createContextMenu();
}
private void createTable(Composite parent) {
int style = SWT.SINGLE|SWT.BORDER|SWT.H_SCROLL|SWT.V_SCROLL|SWT.FULL_SELECTION|SWT.HIDE_SELECTION;
table = new Table(parent, style);
GridData gridData = new GridData(GridData.FILL_BOTH);
gridData.grabExcessVerticalSpace = true;
gridData.horizontalSpan = 3;
table.setLayoutData(gridData);
table.setHeaderVisible(true);
table.setLinesVisible(true);
TableColumn column = new TableColumn(table, SWT.LEFT,0);
column.setText("Application");
column.setWidth(80);
column=new TableColumn(table, SWT.LEFT,1);
column.setText("ObjectName");
column.setWidth(180);
column=new TableColumn(table, SWT.LEFT,2);
column.setText("Description");
column.setWidth(200);
column=new TableColumn(table, SWT.LEFT,3);
column.setText("ObjectType");
column.setWidth(80);
// for (int i = 0, n = table.getColumnCount(); i < n; i++) {
// table.getColumn(i).pack();
// }
}
private void createTableViewer(){
tv = new TableViewer(table);
tv.setContentProvider(new SecurityObjectContentProvider());
tv.setLabelProvider(new SecurityObjectLabelProvider());
CellEditor[] editors = new CellEditor[4];
editors[0] = new TextCellEditor(table);
editors[1] = new TextCellEditor(table);
editors[2] = new TextCellEditor(table);
editors[3] = new TextCellEditor(table);
// // Set the editors, cell modifier, and column properties
tv.setColumnProperties(SecurityObjectEditor.PROPS);
tv.setCellModifier(new SecurityObjectCellModifier(tv));
tv.setCellEditors(editors);
tv.setInput(getSecurityObject());
}
private void createActions(){
addItemAction = new Action("Add"){
public void run(){
addItem();
}
};
deleteItemAction =new Action("Delete"){
public void run(){
deleteItem();
}
};
}
private void addItem(){
SecurityObject p = new SecurityObject();
p.setApplicat("Application");
p.setObjectName("ObjectName");
p.setDescription("Description");
p.setObjectType("ObjectType");
security.getObject().add(p);
tv.refresh();
}
private void deleteItem(){
IStructuredSelection sel=(IStructuredSelection) tv.getSelection();
Iterator iter=sel.iterator();
while (iter.hasNext()){
SecurityObject secu=(SecurityObject)iter.next();
security.getObject().remove(secu);
}
tv.refresh();
}
private void createMenu(){
IMenuManager mgr=getViewSite().getActionBars().getMenuManager();
mgr.add(addItemAction);
mgr.add(deleteItemAction);
}
private void createToolbar(){
IToolBarManager mgr=getViewSite().getActionBars().getToolBarManager();
mgr.add(addItemAction);
mgr.add(deleteItemAction);
}
private void createContextMenu(){
MenuManager menuMgr=new MenuManager();
menuMgr.setRemoveAllWhenShown(true);
menuMgr.addMenuListener(new IMenuListener(){
public void menuAboutToShow(IMenuManager Mgr){
fillContextMenu(Mgr);
}
});
// Create menu.
Menu menu = menuMgr.createContextMenu(tv.getControl());
tv.getControl().setMenu(menu);
// Register menu for extension.
getSite().registerContextMenu(menuMgr,tv);
}
private void fillContextMenu(IMenuManager mgr){
mgr.add(addItemAction);
mgr.add(deleteItemAction);
}
public void setFocus() {}
public List getSecurityObject(){
String ls_des;
Logon logon=new Logon();
ResultSet resultSet=logon.exesql("select b.application,a.window,a.description,a.objtype from security_objects a,security_apps b where a.appid=b.appid");
try {
while (resultSet.next())
{ SecurityObject p=new SecurityObject();
p.setApplicat(resultSet.getString("application"));
p.setObjectName(resultSet.getString("window"));
ls_des=resultSet.getString("description");
p.setDescription(ls_des);
p.setObjectType(resultSet.getInt("objtype")+"");
security.getObject().add(p);
}
} catch (SQLException e) {
e.printStackTrace();
}
return security.getObject();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -