Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsdubois2011-07-21 19:37:54 +0000
committersdubois2011-07-21 21:04:19 +0000
commit916d5803c29bb78a381ff08fb59e44b5e2e3876b (patch)
treeea97c8f9a9332db1ebd8d0bed07500a2bbd40d8c
parent13c45c6ae2f865e85570c9b087342dcd77487bfd (diff)
downloadorg.eclipse.mylyn.reviews.r4e-916d5803c29bb78a381ff08fb59e44b5e2e3876b.tar.gz
org.eclipse.mylyn.reviews.r4e-916d5803c29bb78a381ff08fb59e44b5e2e3876b.tar.xz
org.eclipse.mylyn.reviews.r4e-916d5803c29bb78a381ff08fb59e44b5e2e3876b.zip
Various UI enhancements and fixing a bug in EditableListWidget causing
TableItem leaks
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipant.java7
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/CommentProperties.java35
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewGroupProperties.java31
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java36
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/CommentTabPropertySection.java34
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ParticipantExtraTabPropertySection.java6
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewExtraTabPropertySection.java4
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewGroupExtraTabPropertySection.java8
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/EditableListWidget.java48
-rw-r--r--org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/UIUtils.java2
10 files changed, 52 insertions, 159 deletions
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipant.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipant.java
index 57ea229d..d2aaeaa1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipant.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipant.java
@@ -51,6 +51,11 @@ public class R4EUIParticipant extends R4EUIModelElement {
// ------------------------------------------------------------------------
/**
+ * Field PARTICIPANT_ICON_FILE. (value is ""icons/obj16/part_obj.png"")
+ */
+ private static final String PARTICIPANT_ICON_FILE = "icons/obj16/part_obj.png";
+
+ /**
* Field PARTICIPANT_REVIEWER_ICON_FILE. (value is ""icons/obj16/partrevr_obj.png"")
*/
private static final String PARTICIPANT_REVIEWER_ICON_FILE = "icons/obj16/partrevr_obj.png";
@@ -183,6 +188,8 @@ public class R4EUIParticipant extends R4EUIModelElement {
return;
}
}
+ //If no role, set default icon
+ setImage(PARTICIPANT_ICON_FILE);
}
/**
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/CommentProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/CommentProperties.java
index f53a826a..d207a329 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/CommentProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/CommentProperties.java
@@ -17,13 +17,9 @@
package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.general;
-import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.OutOfSyncException;
-import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.ResourceHandlingException;
import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIComment;
-import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelController;
import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelElement;
import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.R4EUIConstants;
-import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.UIUtils;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.PropertyDescriptor;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
@@ -125,35 +121,4 @@ public class CommentProperties extends ModelElementProperties {
}
return null;
}
-
- /**
- * Method setPropertyValue.
- *
- * @param aId
- * Object
- * @param aValue
- * Object
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(Object, Object)
- */
- @Override
- public void setPropertyValue(Object aId, Object aValue) { // $codepro.audit.disable emptyMethod
- if (!(R4EUIModelController.isJobInProgress())) {
- try {
- if (COMMENT_DESCRIPTION_ID.equals(aId)) {
- final String currentUser = R4EUIModelController.getReviewer();
- if (((R4EUIComment) getElement()).getComment().getUser().getId().equals(currentUser)) {
- final Long bookNum = R4EUIModelController.FResourceUpdater.checkOut(
- ((R4EUIComment) getElement()).getComment(), currentUser);
- ((R4EUIComment) getElement()).getComment().setDescription((String) aValue);
- R4EUIModelController.FResourceUpdater.checkIn(bookNum);
- }
-
- }
- } catch (ResourceHandlingException e) {
- UIUtils.displayResourceErrorDialog(e);
- } catch (OutOfSyncException e) {
- UIUtils.displaySyncErrorDialog(e);
- }
- }
- }
}
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewGroupProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewGroupProperties.java
index 16b419a1..ad6a430b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewGroupProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewGroupProperties.java
@@ -17,13 +17,9 @@
package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.general;
-import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.OutOfSyncException;
-import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.ResourceHandlingException;
-import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelController;
import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelElement;
import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewGroup;
import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.R4EUIConstants;
-import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.UIUtils;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.PropertyDescriptor;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
@@ -181,31 +177,4 @@ public class ReviewGroupProperties extends ModelElementProperties {
}
return null;
}
-
- /**
- * Method setPropertyValue.
- *
- * @param aId
- * Object
- * @param aValue
- * Object
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(Object, Object)
- */
- @Override
- public void setPropertyValue(Object aId, Object aValue) { // $codepro.audit.disable emptyMethod
- if (!(R4EUIModelController.isJobInProgress()) && getElement().isOpen()) {
- try {
- if (GROUP_DESCRIPTION_ID.equals(aId)) {
- final Long bookNum = R4EUIModelController.FResourceUpdater.checkOut(
- ((R4EUIReviewGroup) getElement()).getGroup(), R4EUIModelController.getReviewer());
- ((R4EUIReviewGroup) getElement()).getGroup().setDescription((String) aValue);
- R4EUIModelController.FResourceUpdater.checkIn(bookNum);
- }
- } catch (ResourceHandlingException e) {
- UIUtils.displayResourceErrorDialog(e);
- } catch (OutOfSyncException e) {
- UIUtils.displaySyncErrorDialog(e);
- }
- }
- }
}
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java
index 98260807..5fc4612f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java
@@ -17,13 +17,9 @@
package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.general;
-import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.OutOfSyncException;
-import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.ResourceHandlingException;
-import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelController;
import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelElement;
import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewBasic;
import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.R4EUIConstants;
-import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.UIUtils;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.PropertyDescriptor;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
@@ -239,36 +235,4 @@ public class ReviewProperties extends ModelElementProperties {
}
return null;
}
-
- /**
- * Method setPropertyValue.
- *
- * @param aId
- * Object
- * @param aValue
- * Object
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(Object, Object)
- */
- @Override
- public void setPropertyValue(Object aId, Object aValue) { // $codepro.audit.disable emptyMethod
- if (!(R4EUIModelController.isJobInProgress()) && getElement().isOpen() && !getElement().isUserReviewed()) {
- try {
- if (REVIEW_NAME_ID.equals(aId)) {
- final Long bookNum = R4EUIModelController.FResourceUpdater.checkOut(
- ((R4EUIReviewBasic) getElement()).getReview(), R4EUIModelController.getReviewer());
- ((R4EUIReviewBasic) getElement()).getReview().setName((String) aValue);
- R4EUIModelController.FResourceUpdater.checkIn(bookNum);
- } else if (REVIEW_DESCRIPTION_ID.equals(aId)) {
- final Long bookNum = R4EUIModelController.FResourceUpdater.checkOut(
- ((R4EUIReviewBasic) getElement()).getReview(), R4EUIModelController.getReviewer());
- ((R4EUIReviewBasic) getElement()).getReview().setExtraNotes((String) aValue);
- R4EUIModelController.FResourceUpdater.checkIn(bookNum);
- }
- } catch (ResourceHandlingException e) {
- UIUtils.displayResourceErrorDialog(e);
- } catch (OutOfSyncException e) {
- UIUtils.displaySyncErrorDialog(e);
- }
- }
- }
}
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/CommentTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/CommentTabPropertySection.java
index 63658831..ada19f21 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/CommentTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/CommentTabPropertySection.java
@@ -19,20 +19,14 @@
package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
import org.eclipse.mylyn.reviews.r4e.core.model.R4EComment;
-import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.OutOfSyncException;
-import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.ResourceHandlingException;
import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIComment;
import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelController;
import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.R4EUIConstants;
-import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.UIUtils;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
@@ -60,7 +54,7 @@ public class CommentTabPropertySection extends ModelElementTabPropertySection {
/**
* Field FDescriptionText.
*/
- protected Text fDescriptionText = null;
+ protected CLabel fDescriptionText = null;
// ------------------------------------------------------------------------
// Methods
@@ -129,36 +123,14 @@ public class CommentTabPropertySection extends ModelElementTabPropertySection {
creationDateLabel.setToolTipText(R4EUIConstants.COMMENT_CREATION_DATE_TOOLTIP);
creationDateLabel.setLayoutData(data);
- //Description
- fDescriptionText = widgetFactory.createText(composite, "", SWT.MULTI | SWT.BORDER);
+ //Description (read-only)
+ fDescriptionText = widgetFactory.createCLabel(composite, "");
data = new FormData();
data.left = new FormAttachment(0, R4EUIConstants.TABBED_PROPERTY_LABEL_WIDTH);
data.right = new FormAttachment(100, 0); // $codepro.audit.disable numericLiterals
data.top = new FormAttachment(fCreationDateText, ITabbedPropertyConstants.VSPACE);
fDescriptionText.setToolTipText(R4EUIConstants.COMMENT_DESCRIPTION_TOOLTIP);
fDescriptionText.setLayoutData(data);
- fDescriptionText.addFocusListener(new FocusListener() {
- public void focusLost(FocusEvent e) {
- if (!fRefreshInProgress) {
- try {
- final String currentUser = R4EUIModelController.getReviewer();
- final R4EComment modelComment = ((R4EUIComment) fProperties.getElement()).getComment();
- final Long bookNum = R4EUIModelController.FResourceUpdater.checkOut(modelComment, currentUser);
- modelComment.setDescription(fDescriptionText.getText());
- R4EUIModelController.FResourceUpdater.checkIn(bookNum);
- } catch (ResourceHandlingException e1) {
- UIUtils.displayResourceErrorDialog(e1);
- } catch (OutOfSyncException e1) {
- UIUtils.displaySyncErrorDialog(e1);
- }
- }
- }
-
- public void focusGained(FocusEvent e) { // $codepro.audit.disable emptyMethod
- //Nothing to do
- }
- });
- UIUtils.addTabbedPropertiesTextResizeListener(fDescriptionText);
final CLabel descriptionLabel = widgetFactory.createCLabel(composite, R4EUIConstants.DESCRIPTION_LABEL);
data = new FormData();
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ParticipantExtraTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ParticipantExtraTabPropertySection.java
index 48585fe3..39bc334a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ParticipantExtraTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ParticipantExtraTabPropertySection.java
@@ -180,7 +180,7 @@ public class ParticipantExtraTabPropertySection extends ModelElementTabPropertyS
fRefreshInProgress = true;
final R4EParticipant modelUser = ((R4EUIParticipant) fProperties.getElement()).getParticipant();
final int numTimeEntries = modelUser.getTimeLog().size();
- fTimeSpentDetailedList.clearAll();
+ fTimeSpentDetailedList.removeAll();
int totalTimeSpent = 0;
Item item = null;
Entry<Date, Integer> timeEntry = null;
@@ -202,9 +202,10 @@ public class ParticipantExtraTabPropertySection extends ModelElementTabPropertyS
totalTimeSpent += timeEntry.getValue().intValue();
}
fTimeSpentDetailedList.setTableHeader(0, "Time Spent: " + Integer.toString(totalTimeSpent) + " minutes");
+ fTimeSpentDetailedList.updateButtons();
final String[] roles = ((R4EUIParticipant) fProperties.getElement()).getRoles(modelUser.getRoles());
- fRolesList.clearAll();
+ fRolesList.removeAll();
String role = null;
for (int i = 0; i < roles.length; i++) {
role = roles[i];
@@ -218,6 +219,7 @@ public class ParticipantExtraTabPropertySection extends ModelElementTabPropertyS
}
item.setText(role);
}
+ fRolesList.updateButtons();
if (null != modelUser.getFocusArea()) {
fFocusAreaText.setText(modelUser.getFocusArea());
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewExtraTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewExtraTabPropertySection.java
index c678fb00..2ad77b20 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewExtraTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewExtraTabPropertySection.java
@@ -601,7 +601,7 @@ public class ReviewExtraTabPropertySection extends ModelElementTabPropertySectio
.getAvailableComponents()
.toArray());
final String[] components = (String[]) modelReview.getComponents().toArray();
- fComponents.clearAll();
+ fComponents.removeAll();
Item item = null;
String component = null;
@@ -652,7 +652,7 @@ public class ReviewExtraTabPropertySection extends ModelElementTabPropertySectio
item = null;
final int numParticipants = participants.size();
- fDecisionUsersList.clearAll();
+ fDecisionUsersList.removeAll();
for (int i = 0; i < numParticipants; i++) {
if (participants.get(i).isIsPartOfDecision()) {
if (i >= fDecisionUsersList.getItemCount()) {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewGroupExtraTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewGroupExtraTabPropertySection.java
index dcc6cdb1..33807845 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewGroupExtraTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewGroupExtraTabPropertySection.java
@@ -225,7 +225,7 @@ public class ReviewGroupExtraTabPropertySection extends ModelElementTabPropertyS
final R4EReviewGroup modelGroup = ((R4EUIReviewGroup) fProperties.getElement()).getGroup();
final String[] projects = (String[]) modelGroup.getAvailableProjects().toArray();
- fAvailableProjects.clearAll();
+ fAvailableProjects.removeAll();
Item item = null;
String project = null;
@@ -244,7 +244,7 @@ public class ReviewGroupExtraTabPropertySection extends ModelElementTabPropertyS
fAvailableProjects.updateButtons();
final String[] components = (String[]) modelGroup.getAvailableComponents().toArray();
- fAvailableComponents.clearAll();
+ fAvailableComponents.removeAll();
String component = null;
for (int i = 0; i < components.length; i++) {
component = components[i];
@@ -258,6 +258,8 @@ public class ReviewGroupExtraTabPropertySection extends ModelElementTabPropertyS
}
item.setText(component);
}
+ fAvailableComponents.updateButtons();
+
fDefaultEntryCriteriaText.setText(modelGroup.getDefaultEntryCriteria());
final List<R4EUIRuleSet> uiRuleSets = ((R4EUIRootElement) ((R4EUIReviewGroup) fProperties.getElement()).getParent()).getRuleSets();
@@ -276,7 +278,7 @@ public class ReviewGroupExtraTabPropertySection extends ModelElementTabPropertyS
}
fRuleSetLocations.setEditableValues(ruleSetLocations.toArray(new String[ruleSetLocations.size()]));
final String[] ruleSetsLocations = (String[]) modelGroup.getDesignRuleLocations().toArray();
- fRuleSetLocations.clearAll();
+ fRuleSetLocations.removeAll();
item = null;
String ruleSet = null;
for (int i = 0; i < ruleSetsLocations.length; i++) {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/EditableListWidget.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/EditableListWidget.java
index 6f3a2838..61f964e0 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/EditableListWidget.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/EditableListWidget.java
@@ -65,12 +65,12 @@ public class EditableListWidget {
/**
* Field DEFAULT_TABLE_WIDTH. (value is 200)
*/
- private static final int DEFAULT_TABLE_WIDTH = 200;
+ private static final int DEFAULT_TABLE_WIDTH = 300;
/**
* Field DEFAULT_TABLE_HEIGHT. (value is 300)
*/
- private static final int DEFAULT_TABLE_HEIGHT = 300;
+ private static final int DEFAULT_TABLE_HEIGHT = 200;
// ------------------------------------------------------------------------
// Member variables
@@ -163,6 +163,8 @@ public class EditableListWidget {
* Method dispose.
*/
public void dispose() {
+
+ fMainTable.dispose();
fMainComposite.dispose();
}
@@ -180,22 +182,15 @@ public class EditableListWidget {
final TableColumn tableColumn2;
fMainTable.setHeaderVisible(true);
- final Rectangle area = fMainTable.getClientArea();
- final Point size = fMainTable.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- final ScrollBar vBar = fMainTable.getVerticalBar();
- int width = area.width - fMainTable.computeTrim(0, 0, 0, 0).width;
-
if (aEditableWidgetClass.equals(Date.class)) {
tableColumn2 = new TableColumn(fMainTable, SWT.RIGHT, 1);
tableColumn.setText(R4EUIConstants.SPENT_TIME_COLUMN_HEADER);
tableColumn2.setText(R4EUIConstants.ENTRY_TIME_COLUMN_HEADER);
- tableColumn.setWidth(width / 2);
- tableColumn2.setWidth(width - tableColumn.getWidth());
+ tableColumn.pack();
+ tableColumn2.pack();
} else {
tableColumn2 = null; //only 1 column
- tableColumn.setWidth(width);
}
- fMainComposite.getParent().layout();
fMainComposite.addControlListener(new ControlAdapter() {
@Override
@@ -205,6 +200,10 @@ public class EditableListWidget {
final Point size = fMainTable.computeSize(SWT.DEFAULT, SWT.DEFAULT);
final ScrollBar vBar = fMainTable.getVerticalBar();
int width = area.width - fMainTable.computeTrim(0, 0, 0, 0).width - vBar.getSize().x;
+ if (width < 0) {
+ return;
+ }
+
if (size.y > area.height + fMainTable.getHeaderHeight()) {
// Subtract the scrollbar width from the total column width
// if a vertical scrollbar will be required
@@ -252,10 +251,7 @@ public class EditableListWidget {
}
public void focusGained(FocusEvent e) {
- //Send items updated notification
- if (null != fListener) {
- fListener.itemsUpdated(fMainTable.getItems(), fInstanceId);
- }
+ //Do nothing
}
});
@@ -418,8 +414,8 @@ public class EditableListWidget {
/**
* Method clearAll.
*/
- public void clearAll() {
- fMainTable.clearAll();
+ public void removeAll() {
+ fMainTable.removeAll();
}
/**
@@ -469,6 +465,12 @@ public class EditableListWidget {
public void setEnabled(boolean aEnabled) {
fMainComposite.setEnabled(aEnabled);
fMainTable.setEnabled(aEnabled);
+ if (!aEnabled) {
+ fAddButton.setEnabled(aEnabled);
+ fRemoveButton.setEnabled(aEnabled);
+ } else {
+ updateButtons();
+ }
}
/**
@@ -523,8 +525,9 @@ public class EditableListWidget {
*/
public void setTableHeader(int aIndex, String aText) {
try {
- final TableColumn column = fMainTable.getColumn(aIndex);
+ TableColumn column = fMainTable.getColumn(aIndex);
column.setText(aText);
+ updateTable();
} catch (IllegalArgumentException e) {
Activator.Ftracer.traceWarning("Exception: " + e.toString() + " (" + e.getMessage() + ")");
Activator.getDefault().logWarning("Exception: " + e.toString(), e);
@@ -551,4 +554,13 @@ public class EditableListWidget {
fRemoveButton.setEnabled(true);
}
}
+
+ /**
+ * Method updateButtons.
+ */
+ public void updateTable() {
+ for (TableColumn column : fMainTable.getColumns()) {
+ column.pack();
+ }
+ }
}
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/UIUtils.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/UIUtils.java
index a98d953b..323eab57 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/UIUtils.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/UIUtils.java
@@ -238,7 +238,7 @@ public class UIUtils {
final Point newSize = aText.computeSize(SWT.DEFAULT, SWT.DEFAULT);
final Point oldSize = aText.getSize();
final int heightDiff = newSize.y - oldSize.y;
- if (0 != heightDiff) {
+ if (0 != heightDiff && 0 != oldSize.y) {
aText.setSize(newSize);
aText.getParent().layout();

Back to the top