use of org.eclipse.jface.viewers.ISelectionProvider in project cubrid-manager by CUBRID.
the class DeleteQueryConnAction method run.
/**
* Drop the query connection
*/
public void run() {
Object[] objArr = this.getSelectedObj();
if (objArr == null || objArr.length <= 0) {
setEnabled(false);
return;
}
ISelectionProvider provider = this.getSelectionProvider();
if (!(provider instanceof TreeViewer)) {
return;
}
StringBuffer connNames = new StringBuffer();
for (int i = 0; objArr != null && i < objArr.length; i++) {
if (!isSupported(objArr[i])) {
setEnabled(false);
return;
}
ICubridNode node = (ICubridNode) objArr[i];
connNames.append(node.getLabel());
if (i != objArr.length - 1) {
connNames.append(",");
}
}
boolean isDrop = CommonUITool.openConfirmBox(getShell(), Messages.bind(Messages.msgConfirmDropConn, connNames.toString()));
if (!isDrop) {
return;
}
for (int i = 0; i < objArr.length; i++) {
CubridDatabase database = (CubridDatabase) objArr[i];
boolean isContinue = CQBConnectionUtils.processConnectionDeleted(database);
List<CubridGroupNode> groups = CQBGroupNodePersistManager.getInstance().getAllGroupNodes();
for (CubridGroupNode grp : groups) {
grp.removeChild(database);
}
if (isContinue) {
TreeViewer viewer = (TreeViewer) provider;
viewer.remove(database);
}
}
}
use of org.eclipse.jface.viewers.ISelectionProvider in project cubrid-manager by CUBRID.
the class EditQueryConnAction method run.
/**
* Open the query connection
*/
public void run() {
// TODO remove later
CQBGroupNodePersistManager.getInstance().fix();
Object[] obj = this.getSelectedObj();
if (!isSupported(obj[0])) {
setEnabled(false);
return;
}
ISelectionProvider provider = getSelectionProvider();
if (!(provider instanceof TreeViewer)) {
return;
}
CubridDatabase[] cubridDatabases = handleSelectionObj(obj);
if (cubridDatabases.length == 0) {
return;
}
ConnectionInfo oldInfo = null;
ConnectionInfo newInfo = null;
if (cubridDatabases.length > 1) {
MultiQueryConnEditDialog dialog = new MultiQueryConnEditDialog(getShell(), Arrays.asList(cubridDatabases));
if (dialog.open() != MultiQueryConnEditDialog.SAVE_ID) {
return;
}
List<CubridDatabase> newDBList = dialog.getNewDBList();
for (int i = 0; i < cubridDatabases.length; i++) {
CubridDatabase saveCubridDatabase = cubridDatabases[i];
CubridDatabase newCubridDatabase = newDBList.get(i);
oldInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(saveCubridDatabase);
newInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(newCubridDatabase);
saveCubridDatabase.setLabel(newCubridDatabase.getLabel());
saveCubridDatabase.getDatabaseInfo().setDbName(newCubridDatabase.getDatabaseInfo().getDbName());
saveCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().setName(newCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().getName());
saveCubridDatabase.setAutoSavePassword(newCubridDatabase.isAutoSavePassword());
if (saveCubridDatabase.isAutoSavePassword()) {
saveCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().setNoEncryptPassword(newCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().getNoEncryptPassword());
} else {
saveCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().setNoEncryptPassword(null);
}
saveCubridDatabase.getDatabaseInfo().setBrokerIP(newCubridDatabase.getDatabaseInfo().getBrokerIP());
saveCubridDatabase.getDatabaseInfo().setBrokerPort(newCubridDatabase.getDatabaseInfo().getBrokerPort());
DatabaseEditorConfig editorConfig = QueryOptions.getEditorConfig(saveCubridDatabase, false);
if (editorConfig == null) {
editorConfig = new DatabaseEditorConfig();
editorConfig.setBackGround(EditorConstance.getDefaultBackground());
} else if (editorConfig.getBackGround() == null) {
editorConfig.setBackGround(EditorConstance.getDefaultBackground());
}
if (newCubridDatabase.getData(MultiQueryConnEditDialog.COMMENTKEY) != null) {
editorConfig.setDatabaseComment((String) newCubridDatabase.getData(MultiQueryConnEditDialog.COMMENTKEY));
}
QueryOptions.putEditorConfig(saveCubridDatabase, editorConfig, false);
CQBDBNodePersistManager.getInstance().fireModifyDatabase(oldInfo, newInfo);
boolean isContinue = CQBConnectionUtils.processConnectionLogout(saveCubridDatabase);
if (isContinue) {
TreeViewer viewer = (TreeViewer) provider;
viewer.refresh(saveCubridDatabase, true);
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(saveCubridDatabase, CubridNodeChangedEventType.DATABASE_LOGOUT));
}
}
LayoutManager.getInstance().fireSelectionChanged(getSelection());
ActionManager.getInstance().fireSelectionChanged(getSelection());
CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
CQBDBNodePersistManager.getInstance().saveDatabases();
return;
}
CubridDatabase database = (CubridDatabase) cubridDatabases[0];
if (database.getParent() == null) {
CQBGroupNodePersistManager.getInstance();
}
String preName = (database == null || database.getServer() == null) ? "" : database.getServer().getName();
ServerInfo preServerInfo = (database == null || database.getServer() == null) ? null : database.getServer().getServerInfo();
oldInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(database);
QueryConnDialog dialog = new QueryConnDialog(getShell(), database, false);
int returnCode = dialog.open();
if (returnCode == QueryConnDialog.CONNECT_ID) {
database.removeAllChild();
newInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(database);
TreeViewer treeViewer = (TreeViewer) provider;
CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
CQBDBNodePersistManager.getInstance().saveDatabases();
if (!preName.equals(database.getServer().getName())) {
QueryOptions.removePref(preServerInfo);
}
treeViewer.refresh(database, true);
treeViewer.expandToLevel(database, 1);
ActionManager.getInstance().fireSelectionChanged(getSelection());
LayoutManager.getInstance().fireSelectionChanged(getSelection());
if (dialog.isFireLogoutEvent()) {
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.DATABASE_LOGOUT));
}
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.DATABASE_LOGIN));
CQBDBNodePersistManager.getInstance().fireModifyDatabase(oldInfo, newInfo);
try {
CommonUITool.openQueryEditor(database, true);
} catch (PartInitException e) {
LOGGER.error(e.getMessage(), e);
}
} else if (returnCode == QueryConnDialog.SAVE_ID) {
TreeViewer treeViewer = (TreeViewer) provider;
treeViewer.refresh(database, true);
treeViewer.expandToLevel(database, 1);
CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
CQBDBNodePersistManager.getInstance().saveDatabases();
}
}
use of org.eclipse.jface.viewers.ISelectionProvider in project eclipse.platform.text by eclipse.
the class QuickDiffRestoreAction method getSelection.
/**
* Returns the selection of the editor this action belongs to.
*
* @return the editor's selection, or <code>null</code>
*/
protected ITextSelection getSelection() {
if (getTextEditor() == null)
return null;
ISelectionProvider sp = getTextEditor().getSelectionProvider();
if (sp == null)
return null;
ISelection s = sp.getSelection();
if (s instanceof ITextSelection)
return (ITextSelection) s;
return null;
}
use of org.eclipse.jface.viewers.ISelectionProvider in project eclipse.platform.text by eclipse.
the class RetrieverAction method extractSearchTextFromEditor.
protected final String extractSearchTextFromEditor(IEditorPart editor) {
if (editor != null) {
ITextSelection selection = null;
ISelectionProvider provider = editor.getEditorSite().getSelectionProvider();
if (provider != null) {
ISelection s = provider.getSelection();
if (s instanceof ITextSelection) {
selection = (ITextSelection) s;
}
}
if (selection != null) {
if (selection.getLength() == 0) {
ITextEditor txtEditor = getTextEditor(editor);
if (txtEditor != null) {
IDocument document = txtEditor.getDocumentProvider().getDocument(txtEditor.getEditorInput());
selection = expandSelection(selection, document, null);
}
}
if (selection.getLength() > 0 && selection.getText() != null) {
return trimSearchString(selection.getText());
}
}
}
return null;
}
use of org.eclipse.jface.viewers.ISelectionProvider in project eclipse.platform.text by eclipse.
the class AbstractTextEditor method setFont.
/**
* Sets the font for the given viewer sustaining selection and scroll position.
*
* @param sourceViewer the source viewer
* @param font the font
* @since 2.0
*/
private void setFont(ISourceViewer sourceViewer, Font font) {
if (sourceViewer.getDocument() != null) {
ISelectionProvider provider = sourceViewer.getSelectionProvider();
ISelection selection = provider.getSelection();
int topIndex = sourceViewer.getTopIndex();
StyledText styledText = sourceViewer.getTextWidget();
Control parent = styledText;
if (sourceViewer instanceof ITextViewerExtension) {
ITextViewerExtension extension = (ITextViewerExtension) sourceViewer;
parent = extension.getControl();
}
parent.setRedraw(false);
styledText.setFont(font);
if (fVerticalRuler instanceof IVerticalRulerExtension) {
IVerticalRulerExtension e = (IVerticalRulerExtension) fVerticalRuler;
e.setFont(font);
}
provider.setSelection(selection);
sourceViewer.setTopIndex(topIndex);
if (parent instanceof Composite) {
Composite composite = (Composite) parent;
composite.layout(true);
}
parent.setRedraw(true);
} else {
StyledText styledText = sourceViewer.getTextWidget();
styledText.setFont(font);
if (fVerticalRuler instanceof IVerticalRulerExtension) {
IVerticalRulerExtension e = (IVerticalRulerExtension) fVerticalRuler;
e.setFont(font);
}
}
}
Aggregations