static void
RulesSetScrolling (void)
{
    FieldPtr	    field;

    field = FrmGetObjectPtr (rulesFrm, FrmGetObjectIndex (rulesFrm, rulesText));
    FrmUpdateScrollers (rulesFrm,
                        FrmGetObjectIndex (rulesFrm, rulesScrollUp),
                        FrmGetObjectIndex (rulesFrm, rulesScrollDown),
                        FldScrollable (field, winUp),
                        FldScrollable (field, winDown));
}
Exemple #2
0
/**********************************************************************
                       UPDATE_FIELD_SCROLLERS
 IN:
 frm, fld, up_scroller, down_scroller = various UI doodads
 OUT:
 nothing
 PURPOSE:
 Update the given scroller widgets (for the given field 
 (in the given form)), according to whether the field is scrollable
 in the "up" and "down" directions.
 **********************************************************************/
void update_field_scrollers(FormPtr frm, FieldPtr fld,
			    Word up_scroller, Word down_scroller) 
{
  Boolean u, d;
  u = FldScrollable(fld, winUp);
  d = FldScrollable(fld, winDown);
  FrmUpdateScrollers(frm, 
		     FrmGetObjectIndex(frm, up_scroller),
		     FrmGetObjectIndex(frm, down_scroller),
		     u, d);
  return;
}
Exemple #3
0
/**********************************************************************
                       PAGE_SCROLL_FIELD
 IN:
 frm, fld = various UI doodads
 dir = whether to scroll 'fld' up or down
 OUT:
 PURPOSE:
 Call this to scroll the field 'fld' up/down by one "page".
 (The caller should call update_field_scrollers immediately afterward.)
 **********************************************************************/
#ifndef I_AM_COLOR
void page_scroll_field(FormPtr frm, FieldPtr fld, DirectionType dir)
#else /* I_AM_COLOR */
void page_scroll_field(FormPtr frm, FieldPtr fld, WinDirectionType dir)
#endif /* I_AM_COLOR */
{
  Word linesToScroll;

  /* how many lines can we scroll? */
  if (FldScrollable(fld, dir)) {
    linesToScroll = FldGetVisibleLines(fld) - 1;
    FldScrollField(fld, linesToScroll, dir);
  }

  return;
}
Exemple #4
0
/*-----------------------------------------------------------------pageScroll-+
|                                                                             |
+----------------------------------------------------------------------------*/
void pageScroll(WinDirectionType direction)
{
   FormPtr frm = FrmGetActiveForm();
   FieldPtr field = (FieldPtr)FrmGetObjectPtr(
      frm,
      FrmGetObjectIndex(frm, MainConsoleField)
   );

   if (FldScrollable(field, direction)) {
      int linesToScroll = FldGetVisibleLines(field) - 1;
      if (direction == winUp) linesToScroll = -linesToScroll;
      linesScroll(linesToScroll, true);
   }
}
Exemple #5
0
void PageScroll( Word fldindex, Word sbarindex, DirectionType dir )
{
	FormPtr frm=FrmGetActiveForm();
	FieldPtr fld;

	fld = FrmGetObjectPtr( frm, FrmGetObjectIndex( frm, fldindex ) );

	if( FldScrollable( fld, dir ) ) {
		int linesToScroll = FldGetVisibleLines( fld ) - 1;

		if( dir==up )
			linesToScroll = -linesToScroll;
		ScrollLines( fldindex, sbarindex, linesToScroll, true );
	}
}
Boolean AnnotationFormHandleEvent
    (
    EventType* event  /* pointer to an EventType structure */
    )
{
    Boolean     handled;

    handled = ResizeHandleEvent( event );

    if ( handled )
        return handled;

    switch ( event->eType ) {
        case frmOpenEvent:
            AnnotationFormInit();
            handled = true;
            break;
            
        case keyDownEvent:
            switch ( event->data.keyDown.chr ) {
                case pageUpChr:
                    if ( FldScrollable( field, winUp ) )
                        FldScrollField( field, 1, winUp );
                    UpdateFieldScrollbar( field, scrollBar );
                    break;

                case pageDownChr:
                    if ( FldScrollable( field, winDown ) )
                        FldScrollField( field, 1, winDown );
                    UpdateFieldScrollbar( field, scrollBar );
                    break;

                default: {
                    UInt16 scrollPos;
                    UInt16 textHeight;
                    UInt16 fieldHeight;

                    FldGetScrollValues( field, &scrollPos, &textHeight, &fieldHeight );

                    if ( FldHandleEvent( field, event ) ) {
                        UInt16 newScrollPos;
                        UInt16 newTextHeight;
                        UInt16 newFieldHeight;

                        FldGetScrollValues( field, &newScrollPos, 
                            &newTextHeight, &newFieldHeight );

                        if ( scrollPos != newScrollPos || textHeight != newTextHeight ||
                             fieldHeight != newFieldHeight )
                            UpdateFieldScrollbar( field, scrollBar );
                            
                        handled = true;
                    }
                    break;
                }
            }
            break;

        case sclRepeatEvent:
            ScrollMessage( field, event->data.sclRepeat.newValue -
                                         event->data.sclRepeat.value );
            break;

        case ctlSelectEvent:
            switch ( event->data.ctlSelect.controlID ){
                case frmAnnotationCancel:
                	AnnotationFormClose();
                    FrmReturnToForm( Prefs()->lastForm );
                    handled = true;
                    break;

                case frmAnnotationOK:
                	SaveAnnotation();
                	AnnotationFormClose();
                    FrmReturnToForm( Prefs()->lastForm );
                    if ( IsFormMain( Prefs()->lastForm ) )
                        FrmUpdateForm( GetMainFormId(), frmRedrawUpdateCode );
  	            handled = true;
                    break;

                case frmAnnotationDelete:
                    if ( entryP->id.indexInParagraph != NEW_ANNOTATION ) {
                        DeleteAnnotation( &( entryP->id ) );
                    }
                	AnnotationFormClose();
                    if ( IsFormMain( Prefs()->lastForm ) )
                        FrmUpdateForm( GetMainFormId(), frmRedrawUpdateCode );
                    FrmReturnToForm( Prefs()->lastForm );
                    handled = true;
                    break;

                default:
                    handled = true;
                    break;
            }
            break;

        case frmCloseEvent:
            AnnotationFormClose();
            handled = false;
            break;

        default:
            handled = false;
    }
    return handled;
}