void WdaMotif::action_inputfocus( Widget w, XmAnyCallbackStruct *data) { Arg args[1]; WdaMotif *wda; XtSetArg (args[0], XmNuserData, &wda); XtGetValues (w, args, 1); if ( !wda) return; if ( mrm_IsIconicState(w)) return; if ( wda->set_focus_disabled) return; if ( flow_IsManaged( wda->cmd_scrolledinput)) flow_SetInputFocus( wda->cmd_scrolledinput); else if ( flow_IsManaged( wda->cmd_input)) flow_SetInputFocus( wda->cmd_input); else if ( wda->wdanav) ((WdaNav *)wda->wdanav)->set_inputfocus(); disable_set_focus( wda, 400); }
void XAttOneMotif::action_inputfocus( Widget w, XmAnyCallbackStruct *data) { Arg args[1]; XAttOneMotif *xattone; XtSetArg (args[0], XmNuserData, &xattone); XtGetValues (w, args, 1); if ( !xattone) return; if ( mrm_IsIconicState(w)) return; if ( xattone->set_focus_disabled) return; if ( flow_IsManaged( xattone->cmd_scrolledinput)) flow_SetInputFocus( xattone->cmd_scrolledinput); else if ( flow_IsManaged( xattone->cmd_input)) flow_SetInputFocus( xattone->cmd_input); disable_set_focus( xattone, 400); }
static void attr_action_inputfocus(Widget w, XmAnyCallbackStruct* data) { Arg args[1]; AttrMotif* attr; XtSetArg(args[0], XmNuserData, &attr); XtGetValues(w, args, 1); if (!attr) return; if (flow_IsManaged(attr->cmd_scrolledinput)) flow_SetInputFocus(attr->cmd_scrolledinput); else if (flow_IsManaged(attr->cmd_input)) flow_SetInputFocus(attr->cmd_input); else if (attr->attrnav) ((AttrNav*)attr->attrnav)->set_inputfocus(); }
void AttrMotif::change_value() { int sts; Widget text_w; int multiline; char* value; int size; if (input_open) { XtUnmanageChild(cmd_input); set_prompt(""); input_open = 0; return; } sts = ((AttrNav*)attrnav)->check_attr_value(&multiline, &size, &value); if (EVEN(sts)) { if (sts == GE__NOATTRSEL) message('E', "No attribute is selected"); else message('E', "Attribute can't be modified"); return; } if (multiline) { text_w = cmd_scrolledinput; XtManageChild(text_w); XtManageChild(cmd_scrolled_ok); XtManageChild(cmd_scrolled_ca); } else { text_w = cmd_input; XtManageChild(text_w); } message(' ', ""); flow_SetInputFocus(text_w); // XtSetKeyboardFocus( toplevel, text_w); // XtCallAcceptFocus( text_w, CurrentTime); if (value) { XmTextSetString(text_w, value); if (!multiline) { XmTextSetInsertionPosition(text_w, strlen(value)); XmTextSetSelection(text_w, 0, strlen(value), CurrentTime); } } else { XmTextSetString(cmd_input, (char*)""); } // i = 0; // XtSetArg(args[i],XmNeditMode, XmMULTI_LINE_EDIT); i++; // XtSetValues( text_w, args, i); set_prompt("value >"); input_open = 1; }
void WdaMotif::change_value( int set_focus) { int sts; Widget text_w; int multiline; char *value; Arg args[5]; int input_size; if ( input_open) { XtUnmanageChild( cmd_input); set_prompt( ""); input_open = 0; return; } sts = ((WdaNav *)wdanav)->check_attr( &multiline, &input_node, input_name, &value, &input_size); if ( EVEN(sts)) { if ( sts == WDA__NOATTRSEL) message( 'E', "No attribute is selected"); else message( 'E', wnav_get_message( sts)); return; } if ( multiline) { text_w = cmd_scrolledinput; XtManageChild( text_w); XtManageChild( cmd_scrolled_ok); XtManageChild( cmd_scrolled_ca); // XtSetArg(args[0], XmNpaneMaximum, 300); // XtSetValues( wdanav_form, args, 1); XtSetArg(args[0], XmNmaxLength, input_size-1); XtSetValues( text_w, args, 1); if ( value) { XmTextSetString( text_w, value); // XmTextSetInsertionPosition( text_w, strlen(value)); } else XmTextSetString( text_w, (char*) ""); input_multiline = 1; } else { text_w = cmd_input; XtManageChild( text_w); XtSetArg(args[0],XmNmaxLength, input_size-1); XtSetValues( text_w, args, 1); if ( value) { XmTextSetString( text_w, value); XmTextSetInsertionPosition( text_w, strlen(value)); } else XmTextSetString( text_w, (char*) ""); input_multiline = 0; } if ( value) free( value); message( ' ', ""); if ( set_focus) flow_SetInputFocus( text_w); set_prompt( "value >"); input_open = 1; }
int XAttOneMotif::change_value( int set_focus) { int sts; Widget text_w; char *value = 0; Arg args[5]; int input_size = 80; char aval[1024]; char buf[1024]; int len; sts = gdh_GetAttributeCharAttrref( &aref, &atype, &asize, &aoffs, &aelem); if ( EVEN(sts)) return sts; sts = gdh_GetObjectInfoAttrref( &aref, aval, sizeof(aval)); if ( EVEN(sts)) return sts; XNav::attrvalue_to_string( atype, atype, &aval, buf, sizeof(buf), &len, NULL, 0); value = buf; if ( !access_rw) { XmString cstr; cstr=XmStringCreateLtoR( aval, (char*) "ISO8859-1"); XtSetArg(args[0],XmNlabelString, cstr); XtSetValues( cmd_label, args, 1); XmStringFree( cstr); } else { if ( atype == pwr_eType_Text) { input_multiline = 1; text_w = cmd_scrolledinput; XtUnmanageChild( cmd_input); XtManageChild( text_w); XtManageChild( cmd_scrolled_ok); XtManageChild( cmd_scrolled_ca); // XtSetArg(args[0], XmNpaneMaximum, 300); // XtSetValues( xattnav_form, args, 1); XtSetArg(args[0], XmNmaxLength, input_size-1); XtSetValues( text_w, args, 1); if ( value) { XmTextSetString( text_w, value); // XmTextSetInsertionPosition( text_w, strlen(value)); } else XmTextSetString( text_w, (char*) ""); input_multiline = 1; } else { input_multiline = 0; text_w = cmd_input; XtSetArg(args[0],XmNmaxLength, input_size-1); XtSetValues( text_w, args, 1); if ( value) { XmTextSetString( text_w, value); XmTextSetInsertionPosition( text_w, strlen(value)); } else XmTextSetString( text_w, (char*) ""); input_multiline = 0; } message( ' ', ""); if ( set_focus) flow_SetInputFocus( text_w); set_prompt( Lng::translate("value >")); input_open = 1; } return XATT__SUCCESS; }