Arik Hadas has uploaded a new change for review. Change subject: frontend: snapshot sub-tab ......................................................................
frontend: snapshot sub-tab Change-Id: Id1590dac534b7e23e79a1062ea7204c0074b07c2 Signed-off-by: Arik Hadas <aha...@redhat.com> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/AbstractActionTable.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/resize/ColumnResizeCellTable.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java 3 files changed, 39 insertions(+), 18 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/44/25544/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/AbstractActionTable.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/AbstractActionTable.java index 73f8155..1a46234 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/AbstractActionTable.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/AbstractActionTable.java @@ -507,6 +507,16 @@ } /** + * Ensures that the given column is added (or removed), unless it's already present (or absent). + * <p> + * This method also sets the column width in case the column needs to be added. + */ + public void ensureColumnPresent(Column<T, ?> column, int beforeIndex, String headerText, boolean present, String width) { + table.ensureColumnPresent(column, headerText, present, width); + tableHeader.ensureColumnPresent(column, headerText, present, width); + } + + /** * Allows table columns to be resized by dragging their right-hand border using mouse. * <p> * This method should be called before calling any {@code addColumn} methods. diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/resize/ColumnResizeCellTable.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/resize/ColumnResizeCellTable.java index d700cdd..bf61a6f 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/resize/ColumnResizeCellTable.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/resize/ColumnResizeCellTable.java @@ -214,7 +214,7 @@ public void ensureColumnPresent(Column<T, ?> column, String headerText, boolean present, String width) { if (present) { // Remove the column first - if (getColumnIndex(column) != -1) { + if (isColumnExists(column)) { removeColumn(column); } @@ -224,12 +224,16 @@ } else { addColumnWithHtmlHeader(column, headerText, width); } - } else if (!present && getColumnIndex(column) != -1) { + } else if (!present && isColumnExists(column)) { // Remove the column removeColumn(column); } } + private boolean isColumnExists(Column<T, ?> column) { + return getColumnIndex(column) != -1; + } + @Override public void setColumnWidth(Column<T, ?> column, String width) { if (columnResizePersistenceEnabled && !initializedColumns.contains(column)) { diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java index 5d82132..682666f 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java @@ -52,6 +52,7 @@ private final CommonApplicationConstants constants; VmSnapshotInfoPanel vmSnapshotInfoPanel; + private int numOfColumnsBeforeMemoryColumn; public VmSnapshotListModelTable(DataBoundTabModelProvider<Snapshot, L> modelProvider, EventBus eventBus, ClientStorage clientStorage, @@ -83,12 +84,13 @@ getTable().setMultiSelectionDisabled(true); initActionButtons(constants); + initTableColumns(); // Add event listeners - getModel().getEntityChangedEvent().addListener(new IEventListener() { + getModel().getItemsChangedEvent().addListener(new IEventListener() { @Override public void eventRaised(Event ev, Object sender, EventArgs args) { - updateMemoryColumnVisibility(); + addOrRemoveMemoryColumn(); } }); getModel().getSelectedItemChangedEvent().addListener(new IEventListener() { @@ -120,28 +122,33 @@ } } - private void updateMemoryColumnVisibility() { + private void initTableColumns() { + getTable().addColumn(SnapshotsViewColumns.dateColumn, + constants.dateSnapshot(), "150px"); //$NON-NLS-1$ + ++numOfColumnsBeforeMemoryColumn; + + getTable().addColumn(SnapshotsViewColumns.statusColumn, + constants.statusSnapshot(), "75px"); //$NON-NLS-1$ + ++numOfColumnsBeforeMemoryColumn; + + addOrRemoveMemoryColumn(); + + getTable().addColumn(SnapshotsViewColumns.descriptionColumn, + constants.descriptionSnapshot(), "185px"); //$NON-NLS-1$ + } + + private void addOrRemoveMemoryColumn() { VM vm = (VM) getModel().getEntity(); - if (vm == null) { - return; - } - - getTable().ensureColumnPresent(SnapshotsViewColumns.dateColumn, - constants.dateSnapshot(), true, "150px"); //$NON-NLS-1$ - - getTable().ensureColumnPresent(SnapshotsViewColumns.statusColumn, - constants.statusSnapshot(), true, "75px"); //$NON-NLS-1$ boolean memorySnapshotSupported = + vm == null || (Boolean) AsyncDataProvider.getConfigValuePreConverted( ConfigurationValues.MemorySnapshotSupported, vm.getVdsGroupCompatibilityVersion().toString()); getTable().ensureColumnPresent(SnapshotsViewColumns.memoryColumn, - constants.memorySnapshot(), memorySnapshotSupported, "55px"); //$NON-NLS-1$ - - getTable().ensureColumnPresent(SnapshotsViewColumns.descriptionColumn, - constants.descriptionSnapshot(), true, "185px"); //$NON-NLS-1$ + numOfColumnsBeforeMemoryColumn, constants.memorySnapshot(), + memorySnapshotSupported, "55px"); //$NON-NLS-1$ } private void initActionButtons(final CommonApplicationConstants constants) { -- To view, visit http://gerrit.ovirt.org/25544 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id1590dac534b7e23e79a1062ea7204c0074b07c2 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <aha...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches