mirror of
https://github.com/Wisser/Jailer.git
synced 2026-05-17 11:29:46 -05:00
AutoCompletion#insertCompletion is now an atomic edit
git-svn-id: https://svn.code.sf.net/p/jailer/code/trunk@1483 3dd849cd-670e-4645-a7cd-dd197c8d0e81
This commit is contained in:
@@ -39,6 +39,7 @@ import net.sf.jailer.datamodel.Table;
|
||||
import net.sf.jailer.ui.scrollmenu.JScrollPopupMenu;
|
||||
import net.sf.jailer.ui.syntaxtextarea.DataModelBasedSQLCompletionProvider;
|
||||
import net.sf.jailer.ui.syntaxtextarea.RSyntaxTextAreaWithSQLSyntaxStyle;
|
||||
import net.sf.jailer.ui.syntaxtextarea.SQLAutoCompletion;
|
||||
import net.sf.jailer.ui.syntaxtextarea.SQLCompletionProvider;
|
||||
|
||||
/**
|
||||
@@ -88,8 +89,7 @@ public class ConditionEditor extends javax.swing.JDialog {
|
||||
try {
|
||||
provider = new DataModelBasedSQLCompletionProvider(null, dataModel);
|
||||
provider.setDefaultClause(SQLCompletionProvider.Clause.WHERE);
|
||||
AutoCompletion ac = new AutoCompletion(provider);
|
||||
ac.install(editorPane);
|
||||
new SQLAutoCompletion(provider, editorPane);
|
||||
} catch (SQLException e) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +58,7 @@ import net.sf.jailer.ui.databrowser.metadata.MetaDataSource;
|
||||
import net.sf.jailer.ui.databrowser.sqlconsole.MetaDataBasedSQLCompletionProvider;
|
||||
import net.sf.jailer.ui.syntaxtextarea.DataModelBasedSQLCompletionProvider;
|
||||
import net.sf.jailer.ui.syntaxtextarea.RSyntaxTextAreaWithSQLSyntaxStyle;
|
||||
import net.sf.jailer.ui.syntaxtextarea.SQLAutoCompletion;
|
||||
import net.sf.jailer.util.SqlUtil;
|
||||
|
||||
/**
|
||||
@@ -135,8 +136,7 @@ public class QueryBuilderDialog extends javax.swing.JDialog {
|
||||
}
|
||||
|
||||
if (provider != null) {
|
||||
AutoCompletion ac = new AutoCompletion(provider);
|
||||
ac.install(sqlTextArea);
|
||||
autoCompletion = new SQLAutoCompletion(provider, sqlTextArea);
|
||||
}
|
||||
} catch (SQLException e1) {
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import java.sql.SQLException;
|
||||
import javax.swing.JInternalFrame;
|
||||
import javax.swing.JScrollPane;
|
||||
|
||||
import org.fife.ui.autocomplete.AutoCompletion;
|
||||
import org.fife.ui.autocomplete.CompletionProvider;
|
||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||
|
||||
@@ -31,6 +30,7 @@ import net.sf.jailer.ui.databrowser.metadata.MetaDataSource;
|
||||
import net.sf.jailer.ui.databrowser.sqlconsole.MetaDataBasedSQLCompletionProvider;
|
||||
import net.sf.jailer.ui.syntaxtextarea.DataModelBasedSQLCompletionProvider;
|
||||
import net.sf.jailer.ui.syntaxtextarea.RSyntaxTextAreaWithSQLSyntaxStyle;
|
||||
import net.sf.jailer.ui.syntaxtextarea.SQLAutoCompletion;
|
||||
|
||||
/**
|
||||
* Content UI of a row browser frame in SQL mode (as {@link JInternalFrame}s). Contains a
|
||||
@@ -62,8 +62,7 @@ public class SQLBrowserContentPane extends javax.swing.JPanel {
|
||||
}
|
||||
|
||||
if (provider != null) {
|
||||
AutoCompletion ac = new AutoCompletion(provider);
|
||||
ac.install(sqlEditorPane);
|
||||
new SQLAutoCompletion(provider, sqlEditorPane);
|
||||
}
|
||||
} catch (SQLException e1) {
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ import javax.swing.SwingUtilities;
|
||||
import javax.swing.event.DocumentEvent;
|
||||
import javax.swing.event.DocumentListener;
|
||||
|
||||
import org.fife.ui.autocomplete.AutoCompletion;
|
||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
||||
|
||||
@@ -41,6 +40,7 @@ import net.sf.jailer.ui.databrowser.metadata.MetaDataSource;
|
||||
import net.sf.jailer.ui.databrowser.sqlconsole.MetaDataBasedSQLCompletionProvider;
|
||||
import net.sf.jailer.ui.databrowser.sqlconsole.SQLConsole;
|
||||
import net.sf.jailer.ui.syntaxtextarea.RSyntaxTextAreaWithSQLSyntaxStyle;
|
||||
import net.sf.jailer.ui.syntaxtextarea.SQLAutoCompletion;
|
||||
import net.sf.jailer.util.SqlScriptExecutor;
|
||||
|
||||
/**
|
||||
@@ -88,8 +88,7 @@ public class SQLDMLPanel extends javax.swing.JPanel {
|
||||
};
|
||||
try {
|
||||
MetaDataBasedSQLCompletionProvider provider = new MetaDataBasedSQLCompletionProvider(session, metaDataSource);
|
||||
AutoCompletion ac = new AutoCompletion(provider);
|
||||
ac.install(sqlTextArea);
|
||||
new SQLAutoCompletion(provider, sqlTextArea);
|
||||
} catch (SQLException e) {
|
||||
}
|
||||
|
||||
|
||||
@@ -55,11 +55,6 @@ import javax.swing.text.BadLocationException;
|
||||
import javax.swing.text.Document;
|
||||
import javax.swing.text.Segment;
|
||||
|
||||
import org.fife.ui.autocomplete.AutoCompletion;
|
||||
import org.fife.ui.autocomplete.BasicCompletion;
|
||||
import org.fife.ui.autocomplete.Completion;
|
||||
import org.fife.ui.autocomplete.CompletionCellRenderer;
|
||||
import org.fife.ui.autocomplete.Util;
|
||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
||||
|
||||
import net.sf.jailer.ExecutionContext;
|
||||
@@ -88,7 +83,7 @@ import net.sf.jailer.ui.databrowser.metadata.MDTable;
|
||||
import net.sf.jailer.ui.databrowser.metadata.MetaDataPanel;
|
||||
import net.sf.jailer.ui.databrowser.metadata.MetaDataSource;
|
||||
import net.sf.jailer.ui.syntaxtextarea.RSyntaxTextAreaWithSQLSyntaxStyle;
|
||||
import net.sf.jailer.ui.syntaxtextarea.SQLCompletionProvider;
|
||||
import net.sf.jailer.ui.syntaxtextarea.SQLAutoCompletion;
|
||||
import net.sf.jailer.ui.util.SmallButton;
|
||||
import net.sf.jailer.util.CancellationException;
|
||||
import net.sf.jailer.util.CancellationHandler;
|
||||
@@ -225,54 +220,8 @@ public abstract class SQLConsole extends javax.swing.JPanel {
|
||||
restoreHistory();
|
||||
|
||||
provider = new MetaDataBasedSQLCompletionProvider(session, metaDataSource);
|
||||
AutoCompletion ac = new AutoCompletion(provider);
|
||||
ac.install(editorPane);
|
||||
|
||||
ac.setListCellRenderer(new CompletionCellRenderer() {
|
||||
@Override
|
||||
public Component getListCellRendererComponent(JList list, Object value, int index, boolean selected,
|
||||
boolean hasFocus) {
|
||||
Component c = super.getListCellRendererComponent(list, value, index, selected, hasFocus);
|
||||
if (c instanceof JLabel && value instanceof SQLCompletionProvider.SQLCompletion) {
|
||||
((JLabel) c).setToolTipText(((SQLCompletionProvider.SQLCompletion) value).tooltip);
|
||||
}
|
||||
return c;
|
||||
}
|
||||
new SQLAutoCompletion(provider, editorPane);
|
||||
|
||||
protected void prepareForOtherCompletion(JList list,
|
||||
Completion c, int index, boolean selected, boolean hasFocus) {
|
||||
|
||||
Color color = null;
|
||||
if (c instanceof SQLCompletionProvider.SQLCompletion) {
|
||||
color = ((SQLCompletionProvider.SQLCompletion) c).color;
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder("<html><nobr>");
|
||||
if (!selected && color != null) {
|
||||
sb.append("<font color='").append(Util.getHexString(color)).append("'>");
|
||||
}
|
||||
sb.append(c.getInputText());
|
||||
if (!selected && color != null) {
|
||||
sb.append("</font>");
|
||||
}
|
||||
|
||||
if (c instanceof BasicCompletion) {
|
||||
String definition = ((BasicCompletion)c).getShortDescription();
|
||||
if (definition!=null) {
|
||||
sb.append(" - ");
|
||||
if (!selected) {
|
||||
sb.append("<font color='").append(Util.getHexString(Color.gray)).append("'>");
|
||||
}
|
||||
sb.append(definition);
|
||||
if (!selected) {
|
||||
sb.append("</font>");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
setText(sb.toString());
|
||||
}
|
||||
});
|
||||
RTextScrollPane jScrollPane = new RTextScrollPane();
|
||||
jScrollPane.setViewportView(editorPane);
|
||||
editorPane.setGutter(jScrollPane.getGutter());
|
||||
|
||||
Reference in New Issue
Block a user