Project

General

Profile

Feature #3038

implement browse attrs COLUMN-MOVABLE, COLUMN-RESIZABLE, CREATE-ON-ADD, MIN-HEIGHT-CHARS and the browse MOVE-COLUMN() method

Added by Greg Shah about 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD

resize-areas.png (5.25 KB) Stanislav Lomany, 04/18/2016 04:34 PM


Related issues

Related to User Interface - Feature #2564: implement GUI BROWSE widget Closed

History

#1 Updated by Greg Shah about 8 years ago

Implement runtime support for the browse attributes COLUMN-MOVABLE, COLUMN-RESIZABLE, CREATE-ON-ADD, MIN-HEIGHT-CHARS and the browse MOVE-COLUMN method.

These were supposed to have been implemented in 2564, but they were missed.

#2 Updated by Greg Shah about 8 years ago

NO-SCROLLBAR-VERTICAL must also be implemented in this task.

#3 Updated by Stanislav Lomany about 8 years ago

CREATE-ON-ADD was moved to #2630

#4 Updated by Stanislav Lomany about 8 years ago

  • Status changed from New to WIP

Created task branch 3038a from P2J trunk revision 10999.

#5 Updated by Stanislav Lomany about 8 years ago

There were the following regressions because of rebase:
  1. Bottom scrollbar not drawn and invalid highlighting of current row - fixed ScrollPaneGuiImpl.calcInitialViewportSize.
  2. Graphical artefacts on label and missing separator of the last locked column - IIRC earlier effective clipping rectangle actually was clipping width + 1, clipping height + 1, now it is clipping width, clipping height, updated clipping rectangles.
  3. Missing background after the the last scrollable column - seems that earlier ScrollPane was increasing scrollable widget size if it was scrolled beyond the right/bottom edge. Now it's not, so I made custom ScrollPane.

All regressions are fixed, if you need the update, let me know.

#6 Updated by Stanislav Lomany about 8 years ago

Here is the screenshot illustrating resize areas. Resize area is an area over which the mouse pointer changes to resize pointer and user can resize column by dragging this area.
  1. Area on the left edge of a column.
  2. Area on the right edge of a column.
  3. Area after the right edge of the last locked column.

#7 Updated by Stanislav Lomany about 8 years ago

Rebased task branch 3038a from P2J trunk revision 11005.

#8 Updated by Greg Shah about 8 years ago

Code Review Task Branch 3038a Revision 110011

This is really good. I see that ClientBrowseModel needs a copyright date update, but otherwise it is ready for testing (go ahead with MAJIC regression testing).

Have you run the standalone GUI testing?

#9 Updated by Greg Shah about 8 years ago

For the GUI testing, only test code with browse and some common widgets that are affected by the scroll changes.

#10 Updated by Stanislav Lomany about 8 years ago

Browse testcases are ok, and I didn't find any scrolling issues with other testcases.
I found one thing that is missing for browse resizing - FIT-LAST-COLUMN support. When it is ON, and a column is resized, 4GL shrinks the last column for the same distance to keep it fit. I'll fix it.

#11 Updated by Greg Shah about 8 years ago

I'd like 3038a to be next to merge to trunk. It should be rebased to trunk 11007 as well. When do you expect that the FIT-LAST-COLUMN change will be done so this can go into testing?

#12 Updated by Stanislav Lomany about 8 years ago

I've found few more issues related to resizing columns in a browse which has total columns width smaller that the viewport width, so it will not be earlier than this evening.

#13 Updated by Stanislav Lomany about 8 years ago

Rebased task branch 3038a from P2J trunk revision 11010.

Please review task branch 3038a revision 11019. Previous revision you've reviewed was 11016.
The last changes fix edge cases for resize and FIT-LAST-COLUMN for the case if total columns width is larger than viewport width (4GL forces last column to fit viewport width even in this case).

#14 Updated by Greg Shah about 8 years ago

Code Review Task Branch 3038a Revision 11019

The changes are good. I especially like that you have factored the code for better reuse.

Has this revision already passed GUI testing?

Please put this into ChUI regression testing.

#15 Updated by Stanislav Lomany about 8 years ago

Rebased task branch 3038a from P2J trunk revision 11012.

Has this revision already passed GUI testing?

Standalone testcases? Yes.

#16 Updated by Greg Shah about 8 years ago

Great! How is ChUI testing coming along?

1811u is close to passing testing and will probably be checked in first. If there are no real conflicts, then I will not expect you to retest.

#17 Updated by Stanislav Lomany about 8 years ago

One test and ctrl-c failed. I don't think that is an actual problem, the next round is running.

#18 Updated by Stanislav Lomany about 8 years ago

Regression testing passed.

#19 Updated by Greg Shah about 8 years ago

Great! 1811u has also passed testing. It is being merged to trunk right now. Please rebase when you see the notification. Please just do a simple manual test to confirm that the merge worked properly. Then you can merge to trunk without re-running regression testing. There are some changes in common files, but I don't think there are any real conflicts.

#20 Updated by Greg Shah about 8 years ago

Please rebase, check the result and merge to trunk.

#21 Updated by Stanislav Lomany about 8 years ago

3038a was merged into the trunk as bzr revision 11015.

#22 Updated by Stanislav Lomany about 8 years ago

  • Status changed from WIP to Review

#23 Updated by Greg Shah about 8 years ago

  • Status changed from Review to Closed
  • % Done changed from 0 to 100

Great! Please archive the branch.

#24 Updated by Greg Shah over 7 years ago

  • Target version changed from Milestone 12 to GUI Support for a Complex ADM2 App

Also available in: Atom PDF