Search in sources :

Example 1 with DatabaseProvider

use of com.cubrid.cubridmanager.ui.mondashboard.control.DatabaseProvider in project cubrid-manager by CUBRID.

the class AddDashboardDialog method createDbTree.

/**
	 * 
	 * Create table area
	 * 
	 * @param parent the parent composite
	 */
private void createDbTree(Composite parent) {
    Label tipLabel = new Label(parent, SWT.LEFT | SWT.WRAP);
    tipLabel.setText(Messages.lblDashboardInfo);
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.horizontalSpan = 2;
    tipLabel.setLayoutData(gridData);
    dbTv = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
    {
        dbTree = dbTv.getTree();
        gridData = new GridData(GridData.FILL_BOTH);
        gridData.horizontalSpan = 2;
        gridData.heightHint = 200;
        dbTree.setLayoutData(gridData);
        dbTree.setHeaderVisible(true);
        dbTree.setLinesVisible(true);
        TreeColumn column = new TreeColumn(dbTree, SWT.CENTER);
        column.setText(Messages.colIP);
        column.setWidth(120);
        column = new TreeColumn(dbTree, SWT.CENTER);
        column.setText(Messages.colPort);
        column.setWidth(50);
        column = new TreeColumn(dbTree, SWT.CENTER);
        column.setText(Messages.colServerType);
        column.setWidth(100);
        column = new TreeColumn(dbTree, SWT.CENTER);
        column.setText(Messages.colServerStatus);
        column.setWidth(100);
        column = new TreeColumn(dbTree, SWT.CENTER);
        column.setText(Messages.colName);
        column.setWidth(150);
        column = new TreeColumn(dbTree, SWT.CENTER);
        column.setText(Messages.colStatus);
        column.setWidth(150);
        column = new TreeColumn(dbTree, SWT.CENTER);
        column.setText(Messages.colType);
        column.setWidth(60);
        dbTv.setContentProvider(new DatabaseProvider());
        dbTv.setLabelProvider(new DatabaseProvider());
        dbTv.setInput(hostNodeList);
        dbTree.addSelectionListener(new SelectionAdapter() {

            public void widgetSelected(SelectionEvent event) {
                deleteButton.setEnabled(dbTree.getSelectionCount() > 0);
            }
        });
    }
    Composite composite = new Composite(parent, SWT.NONE);
    RowLayout rowLayout = new RowLayout();
    rowLayout.spacing = 5;
    composite.setLayout(rowLayout);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.horizontalAlignment = GridData.END;
    composite.setLayoutData(gridData);
    Button addButton = new Button(composite, SWT.NONE);
    addButton.setText(Messages.btnAdd);
    addButton.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            StructuredSelection selection = (StructuredSelection) dbTv.getSelection();
            HostNode hostNode = null;
            int addType = 0;
            if (selection != null && !selection.isEmpty()) {
                Object obj = selection.getFirstElement();
                if (obj instanceof HostNode) {
                    hostNode = (HostNode) obj;
                    addType = 0;
                } else if (obj instanceof DatabaseNode) {
                    hostNode = ((DatabaseNode) obj).getParent();
                    addType = 1;
                } else if (obj instanceof BrokerNode) {
                    hostNode = ((BrokerNode) obj).getParent();
                    addType = 2;
                }
            }
            AddHostAndDbWizard wizard = new AddHostAndDbWizard(hostNode, hostNodeList, addType);
            CMWizardDialog dialog = new CMWizardDialog(getShell(), wizard);
            dialog.setPageSize(660, 380);
            if (IDialogConstants.OK_ID == dialog.open()) {
                List<HostNode> addedHostNodeList = wizard.getAddedHostNodeList();
                HAUtil.mergeHostNode(hostNodeList, addedHostNodeList);
                dbTv.refresh();
            }
            deleteButton.setEnabled(dbTree.getSelectionCount() > 0);
            verify();
        }
    });
    deleteButton = new Button(composite, SWT.NONE);
    deleteButton.setText(Messages.btnDelete);
    deleteButton.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            StructuredSelection selection = (StructuredSelection) dbTv.getSelection();
            if (selection != null && !selection.isEmpty()) {
                Object[] objs = selection.toArray();
                for (int i = 0; i < objs.length; i++) {
                    Object obj = objs[i];
                    if (obj instanceof HostNode) {
                        hostNodeList.remove((HostNode) obj);
                    } else if (obj instanceof DatabaseNode) {
                        ((DatabaseNode) obj).getParent().getCopyedHaNodeList().remove((DatabaseNode) obj);
                    } else if (obj instanceof BrokerNode) {
                        ((BrokerNode) obj).getParent().getCopyedHaNodeList().remove((BrokerNode) obj);
                    }
                }
                dbTv.refresh();
            }
            deleteButton.setEnabled(dbTree.getSelectionCount() > 0);
            verify();
        }
    });
    deleteButton.setEnabled(false);
}
Also used : DatabaseProvider(com.cubrid.cubridmanager.ui.mondashboard.control.DatabaseProvider) Composite(org.eclipse.swt.widgets.Composite) TreeViewer(org.eclipse.jface.viewers.TreeViewer) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode) Label(org.eclipse.swt.widgets.Label) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) AddHostAndDbWizard(com.cubrid.cubridmanager.ui.mondashboard.dialog.wizard.AddHostAndDbWizard) BrokerNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerNode) DatabaseNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode) Button(org.eclipse.swt.widgets.Button) TreeColumn(org.eclipse.swt.widgets.TreeColumn) RowLayout(org.eclipse.swt.layout.RowLayout) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ArrayList(java.util.ArrayList) List(java.util.List) CMWizardDialog(com.cubrid.common.ui.spi.dialog.CMWizardDialog)

Aggregations

CMWizardDialog (com.cubrid.common.ui.spi.dialog.CMWizardDialog)1 DatabaseProvider (com.cubrid.cubridmanager.ui.mondashboard.control.DatabaseProvider)1 AddHostAndDbWizard (com.cubrid.cubridmanager.ui.mondashboard.dialog.wizard.AddHostAndDbWizard)1 BrokerNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerNode)1 DatabaseNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode)1 HostNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 StructuredSelection (org.eclipse.jface.viewers.StructuredSelection)1 TreeViewer (org.eclipse.jface.viewers.TreeViewer)1 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)1 SelectionEvent (org.eclipse.swt.events.SelectionEvent)1 GridData (org.eclipse.swt.layout.GridData)1 RowLayout (org.eclipse.swt.layout.RowLayout)1 Button (org.eclipse.swt.widgets.Button)1 Composite (org.eclipse.swt.widgets.Composite)1 Label (org.eclipse.swt.widgets.Label)1 TreeColumn (org.eclipse.swt.widgets.TreeColumn)1