Bug 122177 Add input for IntervalBase to Group Editor
BIRT model's group definition has one important property: IntervalBase (see GroupHandle.setIntervalBase). This property controls how interval-based grouping picks the range of its initial group, and is an important part of range-based grouping. BIRT designer's Group Details editor should allow user to edit IntervalBase for a group. This is how the editor should work: * IntervalBase options should be presented only if "Interval" is not "None". (Since IntervalBase only makes sense for interval-based grouping) * IntervalBase should be presented in conjunction with checkbox. When it is unchecked (maps to a NULL IntervalBase value), Data Engine dynamically picks a base value using the first group key value in the result set. When it is checked, the user should input a base value. The following is a suggested look of the UI control: [ ] Use fixed base value for interval: _______________ ( [] is a checkbox, underline ___ is a textbox ).
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/ui/dialogs/GroupDialog.java
{
		int margins = 2;
		final Composite titleArea = new Composite( parent, SWT.NONE );
		FormLayout layout = new FormLayout( );
		layout.marginHeight = margins;
		layout.marginWidth = margins;
		titleArea.setLayout( layout );
		Display display = parent.getDisplay( );
		Color background = JFaceColors.getBannerBackground( display );
		GridData layoutData = new GridData( GridData.FILL_HORIZONTAL );
		layoutData.heightHint = 20 + ( margins * 3 );
		titleArea.setLayoutData( layoutData );
		titleArea.setBackground( background );
		titleArea.addPaintListener( new PaintListener( ) {
			public void paintControl( PaintEvent e )
			{
				e.gc.setForeground( titleArea.getDisplay( )
						.getSystemColor( SWT.COLOR_WIDGET_NORMAL_SHADOW ) );
				Rectangle bounds = titleArea.getClientArea( );
				bounds.height = bounds.height - 2;
				bounds.width = bounds.width - 1;
				e.gc.drawRectangle( bounds );
			}
		} );
		Label label = new Label( titleArea, SWT.NONE );
		label.setBackground( background );
		label.setFont( FontManager.getFont( label.getFont( ).toString( ),
				10,
				SWT.BOLD ) );
		label.setText( GROUP_DLG_AREA_MSG );