Search in sources :

Example 26 with FocusEvent

use of org.eclipse.swt.events.FocusEvent in project cubrid-manager by CUBRID.

the class ConnectionComposite method createBrokerInfoGroup.

private void createBrokerInfoGroup(Composite composite) {
    Group brokerInfoGroup = new Group(composite, SWT.NONE);
    brokerInfoGroup.setText(Messages.grpBrokerInfo);
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    brokerInfoGroup.setLayoutData(gridData);
    brokerInfoGroup.setLayout(createGridLayout(3));
    Label brokerIpLabel = new Label(brokerInfoGroup, SWT.LEFT);
    brokerIpLabel.setText(Messages.lblLoginServerName);
    brokerIpLabel.setLayoutData(createGridData(1, 1, -1, -1));
    brokerIpText = new Text(brokerInfoGroup, SWT.LEFT | SWT.BORDER);
    brokerIpText.setLayoutData(createGridData(GridData.FILL_HORIZONTAL, 2, 1, 100, -1));
    brokerIpText.addFocusListener(new FocusAdapter() {

        public void focusGained(FocusEvent event) {
            brokerIpText.selectAll();
        }
    });
    Label brokerPortLabel = new Label(brokerInfoGroup, SWT.LEFT);
    brokerPortLabel.setText(Messages.lblLoginBrokerPort);
    brokerPortLabel.setLayoutData(createGridData(1, 1, -1, -1));
    VerifyListener verifyListener = new VerifyListener() {

        public void verifyText(VerifyEvent event) {
            Pattern pattern = Pattern.compile("[0-9]*");
            Matcher matcher = pattern.matcher(event.text);
            if (matcher.matches()) {
                event.doit = true;
            } else if (event.text.length() > 0) {
                event.doit = false;
            } else {
                event.doit = true;
            }
        }
    };
    Composite portAndShardComp = new Composite(brokerInfoGroup, SWT.NONE);
    portAndShardComp.setLayout(createGridLayout(3, 0, 0));
    portAndShardComp.setLayoutData(createGridData(FILL_HORIZONTAL, 2, 1, -1, -1));
    if (isMultiBroker) {
        brokerPortCombo = new Combo(portAndShardComp, SWT.LEFT | SWT.BORDER);
        brokerPortCombo.setLayoutData(createGridData(GridData.BEGINNING, 1, 1, 100, -1));
        brokerPortCombo.addVerifyListener(verifyListener);
    } else {
        brokerPortText = new Text(portAndShardComp, SWT.LEFT | SWT.BORDER);
        brokerPortText.setLayoutData(createGridData(BEGINNING, 1, 1, 100, -1));
        brokerPortText.addVerifyListener(verifyListener);
    }
    btnShard = new Button(portAndShardComp, SWT.CHECK);
    btnShard.setLayoutData(createGridData(BEGINNING, 1, 1, -1, -1));
    btnShard.setText(com.cubrid.common.ui.query.Messages.shardBrokerLabel);
    btnShard.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            if (btnShard.getSelection()) {
                openWarningBox(shardBrokerAlert);
            }
            btnShardId.setEnabled(btnShard.getSelection());
        }
    });
    btnShardId = new Button(portAndShardComp, SWT.PUSH);
    btnShardId.setLayoutData(createGridData(HORIZONTAL_ALIGN_END, 1, 1, -1, -1));
    btnShardId.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            ShardIdSelectionDialog dialog = new ShardIdSelectionDialog(getShell());
            dialog.setDatabaseInfo(dbInfo);
            dialog.setShardId(curShardId);
            dialog.setShardVal(curShardVal);
            dialog.setShardQueryType(shardQueryType);
            if (dialog.open() == OK_ID) {
                curShardId = dialog.getShardId();
                curShardVal = dialog.getShardVal();
                shardQueryType = dialog.getShardQueryType();
                if (dbInfo != null) {
                    dbInfo.setCurrentShardId(curShardId);
                    dbInfo.setCurrentShardVal(curShardVal);
                    dbInfo.setShardQueryType(shardQueryType);
                }
                updateShardIdButtonText();
            }
        }
    });
    updateShardIdButtonText();
    Label charsetLabel = new Label(brokerInfoGroup, SWT.LEFT);
    charsetLabel.setText(com.cubrid.common.ui.query.Messages.lblCharSet);
    charsetLabel.setLayoutData(createGridData(1, 1, -1, -1));
    charsetCombo = new Combo(brokerInfoGroup, SWT.LEFT | SWT.BORDER);
    charsetCombo.setLayoutData(createGridData(FILL_HORIZONTAL, 2, 1, 100, -1));
    Label jdbcLabel = new Label(brokerInfoGroup, SWT.LEFT);
    jdbcLabel.setText(Messages.lblDbJdbcVersion);
    jdbcLabel.setLayoutData(createGridData(1, 1, -1, -1));
    jdbcCombo = new Combo(brokerInfoGroup, SWT.LEFT | SWT.READ_ONLY | SWT.BORDER);
    jdbcCombo.setLayoutData(createGridData(FILL_HORIZONTAL, 1, 1, 100, -1));
    Button btnOpen = new Button(brokerInfoGroup, SWT.NONE);
    btnOpen.setText(Messages.btnBrowse);
    btnOpen.setLayoutData(createGridData(1, 1, 80, -1));
    btnOpen.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            JdbcManageDialog dialog = new JdbcManageDialog(getShell());
            if (dialog.open() == OK_ID) {
                String jdbcVersion = dialog.getSelectedJdbcVersion();
                if (isBlank(jdbcVersion)) {
                    jdbcVersion = jdbcCombo.getText();
                }
                resetJdbcCombo(jdbcVersion);
            }
        }
    });
    // JDBC attributes
    Label attrLabel = new Label(brokerInfoGroup, SWT.LEFT);
    attrLabel.setText(Messages.lblJdbcAttr);
    attrLabel.setLayoutData(createGridData(1, 1, -1, -1));
    attrText = new Text(brokerInfoGroup, SWT.LEFT | SWT.BORDER);
    attrText.setEditable(false);
    attrText.setLayoutData(createGridData(FILL_HORIZONTAL, 1, 1, 100, -1));
    Button btnAttr = new Button(brokerInfoGroup, SWT.NONE);
    btnAttr.setText(Messages.btnJdbcAttr);
    btnAttr.setLayoutData(createGridData(1, 1, 80, -1));
    btnAttr.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            JdbcOptionDialog dialog = new JdbcOptionDialog(getShell(), attrText.getText());
            if (dialog.open() == OK_ID) {
                attrText.setText(dialog.getJdbcOptions());
            }
        }
    });
}
Also used : Group(org.eclipse.swt.widgets.Group) FocusAdapter(org.eclipse.swt.events.FocusAdapter) Pattern(java.util.regex.Pattern) JdbcOptionDialog(com.cubrid.common.ui.common.dialog.JdbcOptionDialog) VerifyListener(org.eclipse.swt.events.VerifyListener) Composite(org.eclipse.swt.widgets.Composite) Matcher(java.util.regex.Matcher) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Messages.shardValLabel(com.cubrid.common.ui.query.Messages.shardValLabel) Messages.autoCommitLabel(com.cubrid.common.ui.query.Messages.autoCommitLabel) Label(org.eclipse.swt.widgets.Label) Messages.shardIdLabel(com.cubrid.common.ui.query.Messages.shardIdLabel) ShardIdSelectionDialog(com.cubrid.common.ui.common.dialog.ShardIdSelectionDialog) Text(org.eclipse.swt.widgets.Text) Combo(org.eclipse.swt.widgets.Combo) FocusEvent(org.eclipse.swt.events.FocusEvent) Button(org.eclipse.swt.widgets.Button) CommonUITool.createGridData(com.cubrid.common.ui.spi.util.CommonUITool.createGridData) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) JdbcManageDialog(com.cubrid.common.ui.common.dialog.JdbcManageDialog) VerifyEvent(org.eclipse.swt.events.VerifyEvent)

Example 27 with FocusEvent

use of org.eclipse.swt.events.FocusEvent in project cubrid-manager by CUBRID.

the class RunSQLFileDialog method registerContextMenu.

/**
	 * register context menu
	 */
private void registerContextMenu() {
    sqlFileTableViewer.getTable().addFocusListener(new FocusAdapter() {

        public void focusGained(FocusEvent event) {
            ActionManager.getInstance().changeFocusProvider(sqlFileTableViewer.getTable());
        }
    });
    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    Menu contextMenu = menuManager.createContextMenu(sqlFileTableViewer.getTable());
    sqlFileTableViewer.getTable().setMenu(contextMenu);
    Menu menu = new Menu(getShell(), SWT.POP_UP);
    final MenuItem itemDelete = new MenuItem(menu, SWT.PUSH);
    itemDelete.setText("delete");
    itemDelete.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            List<String> deleteFiles = new ArrayList<String>();
            for (int i = 0; i < sqlFileTableViewer.getTable().getSelectionIndices().length; i++) {
                int index = sqlFileTableViewer.getTable().getSelectionIndices()[i];
                deleteFiles.add(filesList.get(index));
            }
            filesList.removeAll(deleteFiles);
            sqlFileTableViewer.setInput(filesList);
            sqlFileTableViewer.refresh();
        }
    });
    sqlFileTableViewer.getTable().setMenu(menu);
    Menu dbTablecontextMenu = menuManager.createContextMenu(databaseTableViewer.getTable());
    databaseTableViewer.getTable().setMenu(dbTablecontextMenu);
    Menu dbTableMenu = new Menu(getShell(), SWT.POP_UP);
    final MenuItem dbTableItemDelete = new MenuItem(dbTableMenu, SWT.PUSH);
    dbTableItemDelete.setText("delete");
    dbTableItemDelete.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            List<CubridDatabase> deleteCubridDatabase = new ArrayList<CubridDatabase>();
            for (int i = 0; i < databaseTableViewer.getTable().getSelectionIndices().length; i++) {
                int index = databaseTableViewer.getTable().getSelectionIndices()[i];
                deleteCubridDatabase.add(cubridDatabases[index]);
            }
            List<CubridDatabase> dbList = Arrays.asList(cubridDatabases);
            ArrayList<CubridDatabase> newDbList = new ArrayList<CubridDatabase>();
            for (CubridDatabase cubridDatabase : dbList) {
                if (deleteCubridDatabase.contains(cubridDatabase)) {
                    continue;
                }
                newDbList.add(cubridDatabase);
            }
            cubridDatabases = newDbList.toArray(new CubridDatabase[newDbList.size()]);
            databaseTableViewer.setInput(cubridDatabases);
            databaseTableViewer.refresh();
        }
    });
    sqlFileTableViewer.getTable().setMenu(menu);
    databaseTableViewer.getTable().setMenu(dbTableMenu);
    runSQLFileDialogDNDController = new RunSQLFileDialogDNDController(this);
    runSQLFileDialogDNDController.registerDropTarget();
}
Also used : FocusAdapter(org.eclipse.swt.events.FocusAdapter) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ArrayList(java.util.ArrayList) MenuItem(org.eclipse.swt.widgets.MenuItem) FocusEvent(org.eclipse.swt.events.FocusEvent) MenuManager(org.eclipse.jface.action.MenuManager) SelectionEvent(org.eclipse.swt.events.SelectionEvent) List(java.util.List) ArrayList(java.util.ArrayList) Menu(org.eclipse.swt.widgets.Menu) CubridDatabase(com.cubrid.common.ui.spi.model.CubridDatabase)

Example 28 with FocusEvent

use of org.eclipse.swt.events.FocusEvent in project cubrid-manager by CUBRID.

the class PstmtOneDataDialog method handleValueInPlace.

/**
	 * 
	 * Edit value in place
	 * 
	 * @param item TableItem
	 */
private void handleValueInPlace(final TableItem item) {
    final Text newEditor = new Text(parameterTable, SWT.MULTI | SWT.WRAP);
    final int editColumn = 2;
    newEditor.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            if (!validate(newEditor.getText(), item)) {
                getButton(IDialogConstants.OK_ID).setEnabled(false);
            }
        }
    });
    newEditor.addFocusListener(new FocusAdapter() {

        public void focusLost(FocusEvent event) {
            if (isChanging) {
                return;
            }
            isChanging = true;
            if (validate(newEditor.getText(), item)) {
                item.setText(editColumn, newEditor.getText());
            }
            newEditor.dispose();
            isChanging = false;
            packTable();
            validate();
        }
    });
    // add listener for key pressed
    newEditor.addTraverseListener(new TraverseListener() {

        public void keyTraversed(TraverseEvent event) {
            if (event.detail == SWT.TRAVERSE_RETURN) {
                if (isChanging) {
                    return;
                }
                isChanging = true;
                if (validate(newEditor.getText(), item)) {
                    item.setText(editColumn, newEditor.getText());
                }
                newEditor.dispose();
                isChanging = false;
                packTable();
                validate();
                event.doit = true;
                int selItem = 0;
                for (int i = 0; i < parameterTable.getItemCount(); i++) {
                    if (item == parameterTable.getItem(i)) {
                        selItem = i;
                        break;
                    }
                }
                selItem = selItem + 1;
                if (selItem >= parameterTable.getItemCount()) {
                    getButton(IDialogConstants.OK_ID).setFocus();
                } else {
                    handleType(parameterTable.getItem(selItem));
                }
            } else if (event.detail == SWT.TRAVERSE_ESCAPE) {
                if (isChanging) {
                    return;
                }
                isChanging = true;
                newEditor.dispose();
                event.doit = false;
                isChanging = false;
            }
        }
    });
    tableEditor.setEditor(newEditor, item, editColumn);
    newEditor.setText(item.getText(editColumn));
    newEditor.selectAll();
    newEditor.setFocus();
}
Also used : FocusAdapter(org.eclipse.swt.events.FocusAdapter) ModifyEvent(org.eclipse.swt.events.ModifyEvent) TraverseEvent(org.eclipse.swt.events.TraverseEvent) ModifyListener(org.eclipse.swt.events.ModifyListener) TraverseListener(org.eclipse.swt.events.TraverseListener) Text(org.eclipse.swt.widgets.Text) FocusEvent(org.eclipse.swt.events.FocusEvent)

Example 29 with FocusEvent

use of org.eclipse.swt.events.FocusEvent in project cubrid-manager by CUBRID.

the class PstmtSQLDialog method registerContextMenu.

private void registerContextMenu() {
    parameterTable.getTable().addFocusListener(new FocusAdapter() {

        @Override
        public void focusGained(FocusEvent event) {
            ActionManager.getInstance().changeFocusProvider(parameterTable.getTable());
        }
    });
    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    Menu contextMenu = menuManager.createContextMenu(parameterTable.getTable());
    parameterTable.getTable().setMenu(contextMenu);
    Menu menu = new Menu(getShell(), SWT.POP_UP);
    final MenuItem itemShowMuchValue = new MenuItem(menu, SWT.PUSH);
    itemShowMuchValue.setText(Messages.pstmtSQLMuchItem);
    itemShowMuchValue.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            //seems like MenuEvent can't get the mouse click Point
            //so use the point which table MouseDown event marked
            Point pt = clickPoint;
            int selectIndex = parameterTable.getTable().getSelectionIndex();
            final TableItem item = parameterTable.getTable().getItem(selectIndex);
            if (item == null) {
                return;
            }
            for (int i = 1; i < parameterTable.getTable().getColumnCount(); i++) {
                Rectangle rect = item.getBounds(i);
                if (rect.contains(pt)) {
                    String type = parameterTypeTable.getItem(0).getText(i);
                    SetPstmtValueDialog dialog = new SetPstmtValueDialog(getShell(), item, database, i, type);
                    if (IDialogConstants.OK_ID == dialog.open()) {
                        charSet = (String) item.getData(SetPstmtValueDialog.FILE_CHARSET);
                        valueList.get(selectIndex).getValue().set(i, item.getText(i));
                        packTable();
                        addTableItemToLast(selectIndex, item);
                    }
                    validate();
                }
            }
        }
    });
    menu.addMenuListener(new MenuAdapter() {

        public void menuShown(MenuEvent event) {
            //seems like MenuEvent can't get the mouse click Point
            //so use the point which table MouseDown event marked
            Point pt = clickPoint;
            int selectIndex = parameterTable.getTable().getSelectionIndex();
            if (selectIndex < 0) {
                itemShowMuchValue.setEnabled(false);
                return;
            }
            final TableItem item = parameterTable.getTable().getItem(selectIndex);
            if (item == null) {
                itemShowMuchValue.setEnabled(false);
                return;
            }
            for (int i = 1; i < parameterTable.getTable().getColumnCount(); i++) {
                Rectangle rect = item.getBounds(i);
                if (rect.contains(pt)) {
                    String type = parameterTypeTable.getItem(0).getText(i);
                    //if type is nut much value type ,set the menu disable
                    if (DBAttrTypeFormatter.isMuchValueType(type)) {
                        itemShowMuchValue.setEnabled(true);
                    } else {
                        itemShowMuchValue.setEnabled(false);
                    }
                }
            }
        }
    });
    parameterTable.getTable().setMenu(menu);
}
Also used : FocusAdapter(org.eclipse.swt.events.FocusAdapter) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) TableItem(org.eclipse.swt.widgets.TableItem) Rectangle(org.eclipse.swt.graphics.Rectangle) MenuAdapter(org.eclipse.swt.events.MenuAdapter) MenuItem(org.eclipse.swt.widgets.MenuItem) Point(org.eclipse.swt.graphics.Point) FocusEvent(org.eclipse.swt.events.FocusEvent) MenuManager(org.eclipse.jface.action.MenuManager) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Menu(org.eclipse.swt.widgets.Menu) MenuEvent(org.eclipse.swt.events.MenuEvent)

Example 30 with FocusEvent

use of org.eclipse.swt.events.FocusEvent in project cubrid-manager by CUBRID.

the class PstmtSQLDialog method handleType.

/**
	 * Handle type
	 *
	 * @param item TableItem
	 */
protected void handleType(final TableItem item, final int editColumn) {
    String[][] typeMapping = DataType.getTypeMapping(database.getDatabaseInfo(), true, true);
    LinkedList<String> typeList = new LinkedList<String>();
    for (int i = 0; i < typeMapping.length; i++) {
        String type = typeMapping[i][0];
        if (!type.startsWith(DataType.DATATYPE_OBJECT)) {
            typeList.add(type);
        }
    }
    // add default precision
    typeList.addFirst("NUMERIC(38,12)");
    sortTypeList(typeList);
    addColumnToList(typeList);
    String[] items = typeList.toArray(new String[] {});
    final Combo typeCombo = new Combo(parameterTypeTable, SWT.BORDER | SWT.FULL_SELECTION);
    typeCombo.setItems(items);
    typeCombo.setVisibleItemCount(20);
    final String paraName = item.getText(0);
    typeCombo.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            validateType(paraName, typeCombo.getText(), editColumn);
        }
    });
    typeCombo.addFocusListener(new FocusAdapter() {

        public void focusLost(FocusEvent event) {
            if (isChanging) {
                return;
            }
            isChanging = true;
            //				if (validateType(paraName, typeCombo.getText(), editColumn)) {
            item.setText(editColumn, typeCombo.getText());
            //				}
            typeCombo.dispose();
            isChanging = false;
            validate();
        }
    });
    //add listener for key pressed
    typeCombo.addTraverseListener(new TraverseListener() {

        public void keyTraversed(TraverseEvent event) {
            if (event.detail == SWT.TRAVERSE_RETURN) {
                if (isChanging) {
                    return;
                }
                isChanging = true;
                //					if (validateType(paraName, typeCombo.getText(), editColumn)) {
                item.setText(editColumn, typeCombo.getText());
                //					}
                typeCombo.dispose();
                isChanging = false;
                validate();
                event.doit = true;
            } else if (event.detail == SWT.TRAVERSE_ESCAPE) {
                if (isChanging) {
                    return;
                }
                isChanging = true;
                typeCombo.dispose();
                event.doit = false;
                isChanging = false;
            }
        }
    });
    tableEditor.setEditor(typeCombo, item, editColumn);
    typeCombo.setText(item.getText(editColumn));
    typeCombo.setFocus();
}
Also used : FocusAdapter(org.eclipse.swt.events.FocusAdapter) TraverseEvent(org.eclipse.swt.events.TraverseEvent) ModifyListener(org.eclipse.swt.events.ModifyListener) TraverseListener(org.eclipse.swt.events.TraverseListener) Combo(org.eclipse.swt.widgets.Combo) FocusEvent(org.eclipse.swt.events.FocusEvent) LinkedList(java.util.LinkedList) Point(org.eclipse.swt.graphics.Point) ModifyEvent(org.eclipse.swt.events.ModifyEvent)

Aggregations

FocusEvent (org.eclipse.swt.events.FocusEvent)98 FocusAdapter (org.eclipse.swt.events.FocusAdapter)55 SelectionEvent (org.eclipse.swt.events.SelectionEvent)50 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)42 FocusListener (org.eclipse.swt.events.FocusListener)40 GridData (org.eclipse.swt.layout.GridData)34 Text (org.eclipse.swt.widgets.Text)30 GridLayout (org.eclipse.swt.layout.GridLayout)29 Composite (org.eclipse.swt.widgets.Composite)28 Label (org.eclipse.swt.widgets.Label)23 Menu (org.eclipse.swt.widgets.Menu)21 Button (org.eclipse.swt.widgets.Button)19 MenuManager (org.eclipse.jface.action.MenuManager)18 ModifyEvent (org.eclipse.swt.events.ModifyEvent)17 ModifyListener (org.eclipse.swt.events.ModifyListener)17 Group (org.eclipse.swt.widgets.Group)17 Point (org.eclipse.swt.graphics.Point)16 Combo (org.eclipse.swt.widgets.Combo)15 MenuItem (org.eclipse.swt.widgets.MenuItem)15 KeyEvent (org.eclipse.swt.events.KeyEvent)12