Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 221422 Details for
Bug 340749
Add Search field above the Tables list in Generate Custom Entities wizard page
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
proposed patch
340749_09_24_2012.patch (text/plain), 6.73 KB, created by
Nan Li
on 2012-09-24 11:58:18 EDT
(
hide
)
Description:
proposed patch
Filename:
MIME Type:
Creator:
Nan Li
Created:
2012-09-24 11:58:18 EDT
Size:
6.73 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jpt.jpa.ui >diff --git property_files/jpt_ui_entity_gen.properties property_files/jpt_ui_entity_gen.properties >index 2388c29..658fa57 100644 >--- property_files/jpt_ui_entity_gen.properties >+++ property_files/jpt_ui_entity_gen.properties >@@ -39,6 +39,7 @@ > GenerateEntitiesWizard_tableSelectPage_tables=&Tables: > GenerateEntitiesWizard_tableSelectPage_tableColumn=Table > GenerateEntitiesWizard_tableSelectPage_Restore_Defaults=Restore Defaults >+GenerateEntitiesWizard_tableSelectPage_tableSearch=type filter text > > GenerateEntitiesWizard_tableSelectPage_getTables_jobName=Getting Tables > GenerateEntitiesWizard_tableSelectPage_getTables_taskName=Schema get tables >diff --git src/org/eclipse/jpt/jpa/ui/internal/wizards/gen/JptUiEntityGenMessages.java src/org/eclipse/jpt/jpa/ui/internal/wizards/gen/JptUiEntityGenMessages.java >index d6c1a00..0827a6b 100644 >--- src/org/eclipse/jpt/jpa/ui/internal/wizards/gen/JptUiEntityGenMessages.java >+++ src/org/eclipse/jpt/jpa/ui/internal/wizards/gen/JptUiEntityGenMessages.java >@@ -30,6 +30,7 @@ > public static String GenerateEntitiesWizard_tableSelectPage_updatePersistenceXml; > public static String GenerateEntitiesWizard_tableSelectPage_tables; > public static String GenerateEntitiesWizard_tableSelectPage_tableColumn; >+ public static String GenerateEntitiesWizard_tableSelectPage_tableSearch; > > public static String GenerateEntitiesWizard_tableSelectPage_getTables_jobName; > public static String GenerateEntitiesWizard_tableSelectPage_getTables_taskName; >diff --git src/org/eclipse/jpt/jpa/ui/internal/wizards/gen/TablesSelectorWizardPage.java src/org/eclipse/jpt/jpa/ui/internal/wizards/gen/TablesSelectorWizardPage.java >index 277cde2..dd0b527 100644 >--- src/org/eclipse/jpt/jpa/ui/internal/wizards/gen/TablesSelectorWizardPage.java >+++ src/org/eclipse/jpt/jpa/ui/internal/wizards/gen/TablesSelectorWizardPage.java >@@ -39,6 +39,7 @@ > import org.eclipse.jface.viewers.LabelProvider; > import org.eclipse.jface.viewers.SelectionChangedEvent; > import org.eclipse.jface.viewers.Viewer; >+import org.eclipse.jface.viewers.ViewerFilter; > import org.eclipse.jface.viewers.ViewerSorter; > import org.eclipse.jface.wizard.IWizardPage; > import org.eclipse.jface.wizard.WizardPage; >@@ -58,6 +59,8 @@ > import org.eclipse.swt.SWT; > import org.eclipse.swt.events.KeyAdapter; > import org.eclipse.swt.events.KeyEvent; >+import org.eclipse.swt.events.KeyListener; >+import org.eclipse.swt.events.SelectionAdapter; > import org.eclipse.swt.events.SelectionEvent; > import org.eclipse.swt.events.SelectionListener; > import org.eclipse.swt.graphics.Color; >@@ -67,12 +70,13 @@ > import org.eclipse.swt.widgets.Button; > import org.eclipse.swt.widgets.Composite; > import org.eclipse.swt.widgets.Control; >-import org.eclipse.swt.widgets.Display; > import org.eclipse.swt.widgets.Label; > import org.eclipse.swt.widgets.TableColumn; > import org.eclipse.swt.widgets.TableItem; >+import org.eclipse.swt.widgets.Text; > import org.eclipse.ui.PlatformUI; > import org.eclipse.ui.help.IWorkbenchHelpSystem; >+import org.eclipse.ui.internal.navigator.StringMatcher; > > public class TablesSelectorWizardPage extends WizardPage { > >@@ -90,6 +94,8 @@ > private Button refreshTablesButton; > private Button selectAllButton; > private Button deselectAllButton; >+ private Text searchText; >+ private TableFilter filter; > > private WorkspaceJob fetchTablesJob; > protected final ResourceManager resourceManager; >@@ -192,10 +198,18 @@ > tableLabel.setLayoutData(gridData); > tableLabel.setText(JptUiEntityGenMessages.GenerateEntitiesWizard_tableSelectPage_tables ); > >+ this.searchText = this.buildSearchText(parent); >+ >+ // build two empty labels to align the components >+ new Label(parent, SWT.NONE); >+ new Label(parent, SWT.NONE); >+ > TableLayoutComposite layout = new TableLayoutComposite(parent, SWT.NONE); > this.addColumnLayoutData(layout); > >+ filter = new TableFilter(); > this.tableTable = this.buildCheckboxTableViewer(this.buildTable(layout)); >+ this.tableTable.addFilter(filter); > > this.createButtonComposite(parent); > this.initTablesSelectionControl(this.possibleTables()); >@@ -454,6 +468,16 @@ > return new TableTableContentProvider(); > } > >+ private Text buildSearchText(Composite parent) { >+ GridData gridData = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL); >+ Text text = new Text(parent, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH | SWT.ICON_CANCEL); >+ text.setMessage(JptUiEntityGenMessages.GenerateEntitiesWizard_tableSelectPage_tableSearch); >+ text.setLayoutData(gridData); >+ text.addSelectionListener(this.buildClearSearchTextSelectionListener()); >+ text.addKeyListener(this.buildSearchTextKeyListener()); >+ return text; >+ } >+ > // ********** listeners callbacks ********** > > private void handleTablesListSelectionChanged(SelectionChangedEvent event) { >@@ -534,6 +558,24 @@ > > public void widgetSelected(SelectionEvent e) { > refreshTables(); >+ } >+ }; >+ } >+ >+ private SelectionListener buildClearSearchTextSelectionListener() { >+ return new SelectionAdapter() { >+ public void widgetDefaultSelected(SelectionEvent e) { >+ filter.setPattern(""); >+ tableTable.refresh(); >+ } >+ }; >+ } >+ >+ private KeyListener buildSearchTextKeyListener() { >+ return new KeyAdapter() { >+ public void keyReleased(KeyEvent event) { >+ filter.setPattern(searchText.getText()); >+ tableTable.refresh(); > } > }; > } >@@ -764,4 +806,49 @@ > return ((Collection<?>) inputElement).toArray(); > } > } >-} >+ >+ private class TableFilter extends ViewerFilter { >+ >+ private String pattern; >+ private StringMatcher matcher; >+ private static final String ALL = "*"; //$NON-NLS-1$ >+ >+ /** >+ * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) >+ */ >+ @Override >+ public boolean select (Viewer viewer, Object parentElement, Object element) { >+ Table table = (Table) element; >+ if (pattern == null || pattern.length() == 0) { >+ return true; >+ } >+ // if a table is previously selected, it will show up >+ // in the viewer along with the list of tables filtered out >+ if (tableTable.getChecked(table)) { >+ return true; >+ } >+ if (matcher.match(table.getName())) { >+ return true; >+ } >+ return false; >+ } >+ >+ /** >+ * Set the pattern to filter out tables for the table viewer >+ * <p> >+ * The following characters have special meaning: >+ * ? => any character >+ * * => any string >+ * </p> >+ * @param newPattern the new search pattern >+ */ >+ protected void setPattern(String newPattern) { >+ if (newPattern == null || newPattern.trim().length() == 0) { >+ matcher = new StringMatcher(ALL, true, false); >+ } else { >+ pattern = newPattern + ALL; >+ matcher = new StringMatcher(pattern, true, false); >+ } >+ } >+ } >+} >\ No newline at end of file
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
neil.hauge
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 340749
:
220155
|
221254
| 221422