Ejemplo n.º 1
0
void WPkgNavMotif::set_inputfocus()
{
  if ( !displayed)
    return;

  XtCallAcceptFocus( brow_widget, CurrentTime);
}
Ejemplo n.º 2
0
void WGeMotif::change_value_cb( void *ge_ctx, void *value_object, char *text)
{
  Arg 		args[1];
  WGeMotif   *ge = (WGeMotif *)ge_ctx;

  if ( ge->value_input_open) 
  {
    XtUnmanageChild( ge->value_dialog);
    ge->value_input_open = 0;
    return;
  }

  XtManageChild( ge->value_dialog);

  message( ge, ' ', "");
  XtCallAcceptFocus( ge->value_input, CurrentTime);
  // XtSetKeyboardFocus( ge->toplevel, ge->value_input);

  XtSetArg(args[0],XmNvalue, text);
  XtSetValues( ge->value_input, args, 1);
  XmTextSetCursorPosition( ge->value_input, strlen(text));
  XmTextSetSelection( ge->value_input, 0, strlen(text), CurrentTime);
  ge->value_input_open = 1;
  ge->current_value_object = value_object;
}
Ejemplo n.º 3
0
void XNavMotif::set_inputfocus()
{
  // printf( "%d XNav inputfocus %d\n", displayed, (int) brow_widget);
  if ( displayed) {
    XtCallAcceptFocus( brow_widget, CurrentTime);
  }
//  brow_SetInputFocus( brow->ctx);
}
Ejemplo n.º 4
0
void XAttNavMotif::set_inputfocus()
{
//  brow_SetInputFocus( brow->ctx);

  if ( !displayed)
    return;

  XtCallAcceptFocus( brow_widget, CurrentTime);
}
Ejemplo n.º 5
0
void GraphMotif::set_inputfocus( int focus)
{
  Pixel 	bg, fg;

  XtVaGetValues( form_widget, XmNbackground, &bg, XmNforeground, &fg, NULL);
  if ( !focus) {
    // XtSetArg(args[0], XmNborderColor, bg);
    // XtSetValues( form_widget, args, 1);
  }
  else {
    if ( flow_IsViewable( grow_widget)) {
      XtCallAcceptFocus( grow_widget, CurrentTime);
      // XtSetArg(args[0], XmNborderColor, fg);
      // XtSetValues( form_widget, args, 1);
    }
  }
}
Ejemplo n.º 6
0
void SubPaletteMotif::set_inputfocus( int focus)
{
  Arg 		args[2];
  Pixel 	bg, fg;

  if ( !displayed)
    return;

  XtVaGetValues( form_widget, XmNbackground, &bg, XmNforeground, &fg, NULL);
  if ( !focus) {
    XtSetArg(args[0], XmNborderColor, bg);
    XtSetValues( form_widget, args, 1);
  }
  else {
    XtCallAcceptFocus( brow_widget, CurrentTime);
    XtSetArg(args[0], XmNborderColor, fg);
    XtSetValues( form_widget, args, 1);
  }
}
Ejemplo n.º 7
0
void AttrNavMotif::set_inputfocus()
{
//  brow_SetInputFocus( brow->ctx);
    XtCallAcceptFocus( brow_widget, CurrentTime);
}
Ejemplo n.º 8
0
void EvListMotif::set_input_focus()
{
  if ( flow_IsViewable( brow_widget))
    XtCallAcceptFocus( brow_widget, CurrentTime);
}
Ejemplo n.º 9
0
void GsdAttrNavMotif::set_inputfocus()
{
  XtCallAcceptFocus( brow_widget, CurrentTime);
}
Ejemplo n.º 10
0
void CoXHelpNavMotif::set_inputfocus()
{
  if ( displayed && flow_IsViewable( brow_widget)) {
    XtCallAcceptFocus( brow_widget, CurrentTime);
  }
}
Ejemplo n.º 11
0
static Widget TraverseInside(Widget w , int where , Time *time)
{
    MwBaseConstWidget cw = (MwBaseConstWidget) w;
    int gravitation,fgrav;
    int i;

    switch (where)
    {
    case MW_TRAVERSE_FIRST:
        cw->baseConst.current_focused = NULL;
        for(i = 0  ; i < cw->composite.num_children ; i++)
        {
            XtVaGetValues(cw->composite.children[i] ,
                          XtNgravitation , &gravitation , NULL);

            if (gravitation == XtCleft)
            {
                MwSetTraverseDirection(cw->composite.children[i] , where);
                if (XtCallAcceptFocus(cw->composite.children[i] , time))
                {
                    cw->baseConst.current_focused =
                        cw->composite.children[i];
                    break;
                }
            }
        }
        if (!cw->baseConst.current_focused)
        {
            for(i = cw->composite.num_children - 1 ; i >= 0 ; i--)
            {
                XtVaGetValues(cw->composite.children[i] ,
                              XtNgravitation , &gravitation , NULL);

                if (gravitation == XtCright)
                {
                    MwSetTraverseDirection(cw->composite.children[i] , where);
                    if (XtCallAcceptFocus(cw->composite.children[i] , time))
                    {
                        cw->baseConst.current_focused =
                            cw->composite.children[i];
                        break;
                    }
                }
            }
        }
        break;
    case MW_TRAVERSE_LAST:
        cw->baseConst.current_focused = NULL;
        for(i = 0 ; i < cw->composite.num_children ; i++)
        {
            XtVaGetValues(cw->composite.children[i] ,
                          XtNgravitation , &gravitation , NULL);

            if (gravitation == XtCright)
            {
                MwSetTraverseDirection(cw->composite.children[i] , where);
                if (XtCallAcceptFocus(cw->composite.children[i] , time))
                {
                    cw->baseConst.current_focused =
                        cw->composite.children[i];
                    break;
                }
            }
        }
        if (!cw->baseConst.current_focused)
        {
            for(i = cw->composite.num_children - 1; i >= 0 ; i--)
            {
                XtVaGetValues(cw->composite.children[i] ,
                              XtNgravitation , &gravitation , NULL);

                if (gravitation == XtCleft)
                {
                    MwSetTraverseDirection(cw->composite.children[i] , where);
                    if (XtCallAcceptFocus(cw->composite.children[i] , time))
                    {
                        cw->baseConst.current_focused =
                            cw->composite.children[i];
                        break;
                    }
                }
            }
        }
        break;
    case MW_TRAVERSE_NEXT:
        if (cw->composite.num_children)
        {
            for(i = 0 ;  i < cw->composite.num_children &&
                    cw->baseConst.current_focused !=
                    cw->composite.children[i]  ; i++);

            if (i < cw->composite.num_children &&
                    cw->baseConst.current_focused)
            {
                XtVaGetValues(cw->composite.children[i] ,
                              XtNgravitation , &fgrav , NULL);

                cw->baseConst.current_focused = NULL;

                if (fgrav == XtCleft)
                {
                    for ( i = i + 1 ; i < cw->composite.num_children ; i++)
                    {
                        XtVaGetValues(cw->composite.children[i] ,
                                      XtNgravitation , &gravitation , NULL);
                        if (gravitation == fgrav)
                        {
                            MwSetTraverseDirection(cw->composite.children[i] , where);
                            if (XtCallAcceptFocus(cw->composite.children[i] , time))
                            {
                                cw->baseConst.current_focused =
                                    cw->composite.children[i];
                                break;
                            }
                        }
                    }
                }
                else
                {
                    for ( i = i - 1 ; i >= 0 ; i--)
                    {
                        XtVaGetValues(cw->composite.children[i] ,
                                      XtNgravitation , &gravitation , NULL);
                        if (gravitation == fgrav)
                        {
                            MwSetTraverseDirection(cw->composite.children[i] , where);
                            if (XtCallAcceptFocus(cw->composite.children[i] , time))
                            {
                                cw->baseConst.current_focused =
                                    cw->composite.children[i];
                                break;
                            }
                        }
                    }

                }
                if (!cw->baseConst.current_focused && fgrav == XtCleft)
                {
                    for(i = cw->composite.num_children - 1 ; i >= 0 ; i--)
                    {
                        XtVaGetValues(cw->composite.children[i] ,
                                      XtNgravitation , &gravitation , NULL);

                        if (gravitation != fgrav)
                        {
                            MwSetTraverseDirection(cw->composite.children[i] , where);
                            if (XtCallAcceptFocus(cw->composite.children[i] , time))
                            {
                                cw->baseConst.current_focused =
                                    cw->composite.children[i];
                                break;
                            }
                        }
                    }
                }
            }
            else
            {
                cw->baseConst.current_focused = NULL;
                for(i = 0  ; i < cw->composite.num_children ; i++)
                {
                    XtVaGetValues(cw->composite.children[i] ,
                                  XtNgravitation , &gravitation , NULL);

                    if (gravitation == XtCleft)
                    {
                        MwSetTraverseDirection(cw->composite.children[i] , where);
                        if (XtCallAcceptFocus(cw->composite.children[i] , time))
                        {
                            cw->baseConst.current_focused =
                                cw->composite.children[i];
                            break;
                        }
                    }
                }
                if (!cw->baseConst.current_focused)
                {
                    for(i = cw->composite.num_children - 1 ; i >= 0 ; i--)
                    {
                        XtVaGetValues(cw->composite.children[i] ,
                                      XtNgravitation , &gravitation , NULL);

                        if (gravitation == XtCright)
                        {
                            MwSetTraverseDirection(cw->composite.children[i] , where);
                            if (XtCallAcceptFocus(cw->composite.children[i] , time))
                            {
                                cw->baseConst.current_focused =
                                    cw->composite.children[i];
                                break;
                            }
                        }
                    }
                }
            }
        }
        break;
    case MW_TRAVERSE_PREV:
        if (cw->composite.num_children)
        {
            for(i = 0 ;  i < cw->composite.num_children &&
                    cw->baseConst.current_focused !=
                    cw->composite.children[i]  ; i++);

            if (i < cw->composite.num_children &&
                    cw->baseConst.current_focused)
            {
                XtVaGetValues(cw->composite.children[i] ,
                              XtNgravitation , &fgrav , NULL);

                cw->baseConst.current_focused = NULL;

                if (fgrav == XtCleft)
                {
                    cw->baseConst.current_focused = NULL;
                    for( i = i - 1 ; i >= 0 ; i--)
                    {
                        XtVaGetValues(cw->composite.children[i] ,
                                      XtNgravitation , &gravitation , NULL);
                        if (fgrav == gravitation)
                        {
                            MwSetTraverseDirection(cw->composite.children[i] , where);
                            if (XtCallAcceptFocus(cw->composite.children[i] , time))
                            {
                                cw->baseConst.current_focused =
                                    cw->composite.children[i];
                                break;
                            }
                        }
                    }
                }
                else
                {
                    cw->baseConst.current_focused = NULL;
                    for( i = i + 1 ; i < cw->composite.num_children ; i++)
                    {
                        XtVaGetValues(cw->composite.children[i] ,
                                      XtNgravitation , &gravitation , NULL);
                        if (fgrav == gravitation)
                        {
                            MwSetTraverseDirection(cw->composite.children[i] , where);
                            if (XtCallAcceptFocus(cw->composite.children[i] , time))
                            {
                                cw->baseConst.current_focused =
                                    cw->composite.children[i];
                                break;
                            }
                        }
                    }
                }
                if (!cw->baseConst.current_focused && fgrav == XtCright)
                {
                    for(i = cw->composite.num_children - 1 ; i >= 0 ; i--)
                    {
                        XtVaGetValues(cw->composite.children[i] ,
                                      XtNgravitation , &gravitation , NULL);

                        if (gravitation != fgrav)
                        {
                            MwSetTraverseDirection(cw->composite.children[i] , where);
                            if (XtCallAcceptFocus(cw->composite.children[i] , time))
                            {
                                cw->baseConst.current_focused =
                                    cw->composite.children[i];
                                break;
                            }
                        }
                    }

                }
            }
            else
            {
                for(i = 0 ; i < cw->composite.num_children ; i++)
                {
                    XtVaGetValues(cw->composite.children[i] ,
                                  XtNgravitation , &gravitation , NULL);

                    if (gravitation == XtCright)
                    {
                        MwSetTraverseDirection(cw->composite.children[i] , where);
                        if (XtCallAcceptFocus(cw->composite.children[i] , time))
                        {
                            cw->baseConst.current_focused =
                                cw->composite.children[i];
                            break;
                        }
                    }
                }
                if (!cw->baseConst.current_focused)
                {
                    for(i = cw->composite.num_children - 1 ; i >= 0 ; i--)
                    {
                        XtVaGetValues(cw->composite.children[i] ,
                                      XtNgravitation , &gravitation , NULL);

                        if (gravitation == XtCleft)
                        {
                            MwSetTraverseDirection(cw->composite.children[i] , where);
                            if (XtCallAcceptFocus(cw->composite.children[i] , time))
                            {
                                cw->baseConst.current_focused =
                                    cw->composite.children[i];
                                break;
                            }
                        }
                    }
                }

            }
        }
        break;
    case MW_TRAVERSE_ACTUAL:
        if (cw->composite.num_children)
        {
            for(i = 0 ;  i < cw->composite.num_children &&
                    cw->baseConst.current_focused !=
                    cw->composite.children[i]  ; i++);

            if (i < cw->composite.num_children &&
                    cw->baseConst.current_focused)
            {
                MwSetTraverseDirection(cw->composite.children[i] , where);
                XtCallAcceptFocus(cw->composite.children[i] , time);
            }
        }
        else
        {
            cw->baseConst.current_focused = NULL;
        }
        break;
    default:
        XtWarning("Unknown direction");
    }

    return cw->baseConst.current_focused;
}