Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.ui/src')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/interfaces/ISearchable.java8
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/internal/utils/TreeViewerSearchDialog.java17
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/AbstractSearchable.java9
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/CompositeSearchable.java18
4 files changed, 52 insertions, 0 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/interfaces/ISearchable.java b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/interfaces/ISearchable.java
index 85c677109..c9009350e 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/interfaces/ISearchable.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/interfaces/ISearchable.java
@@ -10,6 +10,7 @@
package org.eclipse.tcf.te.ui.interfaces;
import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.tcf.te.ui.utils.AbstractSearchable;
@@ -108,4 +109,11 @@ public interface ISearchable {
* @param settings The dialog settings.
*/
public void persistValues(IDialogSettings settings);
+
+ /**
+ * Get the preferred size of the part.
+ *
+ * @return The preferred size or null.
+ */
+ public Point getPreferredSize();
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/internal/utils/TreeViewerSearchDialog.java b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/internal/utils/TreeViewerSearchDialog.java
index ee4559047..06bdd202a 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/internal/utils/TreeViewerSearchDialog.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/internal/utils/TreeViewerSearchDialog.java
@@ -23,6 +23,7 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
@@ -45,6 +46,8 @@ public class TreeViewerSearchDialog extends CustomTitleAreaDialog implements ISe
private static final String SEARCH_HELP_ID = "org.eclipse.tcf.te.ui.utils.TreeViewerSearchDialog.help"; //$NON-NLS-1$
// A new search button's ID.
private static final int SEARCH_ID = 31;
+ private static final int DEFAULT_WIDTH_TRIM = 20;
+ private static final int DEFAULT_HEIGHT_TRIM = 160;
// The dropdown combo box to select an algorithm
private Combo fCmbAlg;
@@ -345,6 +348,20 @@ public class TreeViewerSearchDialog extends CustomTitleAreaDialog implements ISe
}
}
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#getInitialSize()
+ */
+ @Override
+ protected Point getInitialSize() {
+ Point size = fSearchable.getPreferredSize();
+ if(size != null) {
+ int width = size.x + DEFAULT_WIDTH_TRIM;
+ int height = size.y + DEFAULT_HEIGHT_TRIM;
+ return new Point(width, height);
+ }
+ return super.getInitialSize();
+ }
+
/*
* (non-Javadoc)
* @see org.eclipse.tcf.te.ui.interfaces.IOptionListener#optionChanged(java.util.EventObject)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/AbstractSearchable.java b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/AbstractSearchable.java
index 52b87e627..38e4620e0 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/AbstractSearchable.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/AbstractSearchable.java
@@ -11,6 +11,7 @@ package org.eclipse.tcf.te.ui.utils;
import org.eclipse.core.commands.common.EventManager;
import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.tcf.te.ui.interfaces.IOptionListener;
import org.eclipse.tcf.te.ui.interfaces.ISearchable;
@@ -116,4 +117,12 @@ public abstract class AbstractSearchable extends EventManager implements ISearch
public String getElementText(Object element) {
return null;
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.interfaces.ISearchable#getPreferredSize()
+ */
+ @Override
+ public Point getPreferredSize() {
+ return null;
+ }
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/CompositeSearchable.java b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/CompositeSearchable.java
index b55f32b64..0280059b5 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/CompositeSearchable.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/utils/CompositeSearchable.java
@@ -192,4 +192,22 @@ public abstract class CompositeSearchable implements ISearchable {
searchable.removeOptionListener(listener);
}
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.interfaces.ISearchable#getPreferredSize()
+ */
+ @Override
+ public Point getPreferredSize() {
+ Point size = null;
+ for(ISearchable searchable : searchables) {
+ Point prefSize = searchable.getPreferredSize();
+ if(prefSize != null) {
+ if(size == null)
+ size = new Point(0, 0);
+ size.x = Math.max(size.x, prefSize.x);
+ size.y = size.y + prefSize.y;
+ }
+ }
+ return size;
+ }
}

Back to the top