Ejemplo n.º 1
0
static void
match_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    struct topic_info *info = (struct topic_info *)client_data;
    struct prefs_choice *prefs = (struct prefs_choice *)(info->data);
    Widget inverted, boxed;
    
    UNUSED(w);
    UNUSED(call_data);

    resource.match_highlight_inverted = !resource.match_highlight_inverted;

    /* force a redraw so that a current match is updated if there was one */
    globals.ev.flags |= EV_NEWPAGE;
    
    store_preference(&(prefs->db), "matchInverted", "%s",
		     resource.match_highlight_inverted ? "True" : "False");
    
    if (get_widget_by_name(&inverted, info->shell, Xdvi_MATCH_INVERTED_STR, True)
	&& get_widget_by_name(&boxed, info->shell, Xdvi_MATCH_BOXED_STR, True)) {

	XmToggleButtonGadgetSetState(inverted, resource.match_highlight_inverted, False);
	XmToggleButtonGadgetSetState(boxed, !resource.match_highlight_inverted, False);
    }
}
Ejemplo n.º 2
0
void update_preferences_tooltips(void)
{
    Widget shell;
    Widget statusline_b, popup_b, label1, text, label2;

    if (resource.toolbar_unusable)
	return;
     
    if (get_widget_by_name(&shell, globals.widgets.top_level, Xdvi_PREFS_DIALOG_NAME, True)
	&& get_widget_by_name(&statusline_b, shell, Xdvi_TIPS_STATUSLINE, True)
	&& get_widget_by_name(&popup_b, shell, Xdvi_TIPS_POPUPS, True)
	&& get_widget_by_name(&label1, shell, Xdvi_TIPS_DELAY_LABEL1, True)
	&& get_widget_by_name(&text, shell, Xdvi_TIPS_DELAY_TEXT, True)
	&& get_widget_by_name(&label2, shell, Xdvi_TIPS_DELAY_LABEL2, True)) {

	char buf[LENGTH_OF_INT];

	SNPRINTF(buf, LENGTH_OF_INT, "%d", ABS(resource.tooltips_wait_period));
	XtVaSetValues(text, XmNvalue, buf, NULL);
	 
	XmToggleButtonGadgetSetState(statusline_b, resource.tooltips_in_statusline, False);
	XmToggleButtonGadgetSetState(popup_b, resource.show_tooltips, False);

	XtSetSensitive(label1, resource.show_tooltips);
	XtSetSensitive(text, resource.show_tooltips);
	XtSetSensitive(label2, resource.show_tooltips);
    }
}
Ejemplo n.º 3
0
void raylimformpop()
{
  int i;
  float fmin, fmax;
  char str[20];
  XmString string;

   i = raylimactive;

   sprintf(str,"%-20.11g",rfieldmin[i]);
   string = XmStringCreate(str,XmSTRING_DEFAULT_CHARSET);
   XtVaSetValues(rayminlab,XmNlabelString,string,NULL);
   XmStringFree(string);
   sprintf(str,"%-20.11g",rfieldmax[i]);
   string = XmStringCreate(str,XmSTRING_DEFAULT_CHARSET);
   XtVaSetValues(raymaxlab,XmNlabelString,string,NULL);
   XmStringFree(string);

   fmin = globfieldrmin[i];
   fmax = globfieldrmax[i];
   if (rfieldlimauto[i])
     {
      fmin = rfieldmin[i];
      fmax = rfieldmax[i];
     }
   filltext20(raymintxt,fmin);
   filltext20(raymaxtxt,fmax);

   XmToggleButtonGadgetSetState(rfldnice,rfld_nice[i],FALSE);
   XmToggleButtonGadgetSetState(rfldlog,rfld_log[i],FALSE);

   MyManageChild(raylimform);
}
Ejemplo n.º 4
0
static void
toolbar_buttons_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    struct topic_info *info = (struct topic_info *)client_data;
    struct x_resources *res = (struct x_resources *)(info->data);
    Boolean is_flat = False, is_raised = False;

    Widget flat_b, raised_b;

    UNUSED(call_data);
    
    if (!get_widget_by_name(&flat_b, XtParent(w), TB_BUTTONS_FLAT_STR, True) ||
	!get_widget_by_name(&raised_b, XtParent(w), TB_BUTTONS_RAISED_STR, True))
	return;
    
    if (w == flat_b) {
	is_flat = True;
    }
    else if (w == raised_b) {
	is_raised = True;
    }
    else {
	unexpected_widget_in_callback(w, "toolbar_buttons_cb()");
	return;
    }

    res->toolbar_buttons_raised = is_raised ? True : False;
    
    XmToggleButtonGadgetSetState(raised_b, is_raised, False);
    XmToggleButtonGadgetSetState(flat_b, is_flat, False);
}
Ejemplo n.º 5
0
 void stackmen_togc(Widget iw_temp, XtPointer data, XtPointer call_data)
     {
     XmToggleButtonGadgetSetState(iw_all, FALSE,  FALSE);
     XmToggleButtonGadgetSetState(iw_single, FALSE,  FALSE);
     XmToggleButtonGadgetSetState(iw_section, TRUE,  FALSE);

     XtUnmanageChild(iw_rowcol1);
     XtManageChild(iw_rowcol2);
     }
Ejemplo n.º 6
0
static void
SetImsMode(I18nEnv *env)
{

    /* only called once at startup, or when resetting the saved values */
    if (env->file_sel->start_mode == 0)
	XmToggleButtonGadgetSetState(i18n.askAtLoginTG, True, True); 
    else
	XmToggleButtonGadgetSetState(i18n.resumeCurrentImTG, True, True); 
}
Ejemplo n.º 7
0
void update_preferences_search(void)
{
    Widget shell;
    Widget inverted, boxed;

    if (get_widget_by_name(&shell, globals.widgets.top_level, Xdvi_PREFS_DIALOG_NAME, True)
	&& get_widget_by_name(&inverted, shell, Xdvi_MATCH_INVERTED_STR, True)
	&& get_widget_by_name(&boxed, shell, Xdvi_MATCH_BOXED_STR, True)) {

	XmToggleButtonGadgetSetState(inverted, resource.match_highlight_inverted, False);
	XmToggleButtonGadgetSetState(boxed, !resource.match_highlight_inverted, False);
    }
}
Ejemplo n.º 8
0
static void
toolbar_buttons_init(struct topic_info *info, Widget raised, Widget flat)
{
    Boolean is_flat = False, is_raised = False;
    struct x_resources *res = (struct x_resources *)(info->data);

    if (res->toolbar_buttons_raised)
	is_raised = True;

    XmToggleButtonGadgetSetState(raised, is_raised, False);
    XmToggleButtonGadgetSetState(flat, is_flat, False);
    
    XtAddCallback(flat, XmNvalueChangedCallback, toolbar_buttons_cb, (XtPointer)info);
    XtAddCallback(raised, XmNvalueChangedCallback, toolbar_buttons_cb, (XtPointer)info);
}
Ejemplo n.º 9
0
void cfldcalcformpop2()
{
  char str[40];
  XmString string;

   sprintf(str,"%s",cfieldcalc[currcfc].name);   
   XtVaSetValues(cfcname,XmNvalue,str,NULL);

   sprintf(str,"%5.3g",cfieldcalc[currcfc].cval);
   XtVaSetValues(cfcconst,XmNvalue,str,NULL);

   cfldcalc_fldx = cfieldcalc[currcfc].xfldno;
   if (cfldcalc_fldx == -1) cfldcalc_fldx = 0;
   string = XmStringCreate(cfieldname[cfldcalc_fldx],
                           XmSTRING_DEFAULT_CHARSET);
   XtVaSetValues(cfcfldxlab,XmNlabelString,string,NULL);
   XmStringFree(string);

   cfldcalc_fldy = cfieldcalc[currcfc].yfldno;
   if (cfldcalc_fldy == -1) cfldcalc_fldy = 0;
   string = XmStringCreate(cfieldname[cfldcalc_fldy],
                           XmSTRING_DEFAULT_CHARSET);
   XtVaSetValues(cfcfldylab,XmNlabelString,string,NULL);
   XmStringFree(string);

   cfldcalc_oper = cfieldcalc[currcfc].oper;
   if (cfldcalc_oper == -1) cfldcalc_oper = 0;
   XmToggleButtonGadgetSetState(cfcoper[cfldcalc_oper],TRUE,TRUE);

   MyManageChild(cfldcalcform2);
}
Ejemplo n.º 10
0
void viewTypeCb(Widget w, XtPointer client_data, XtPointer call_data)
{
 FileWindowRec *fw = (FileWindowRec *) client_data;
 DisplayType olddisp = fw->display_type;

 if (w == fw->icon_view_button)
     fw->display_type = Icons;
 else  fw->display_type = Text;
 XmToggleButtonGadgetSetState(fw->icon_view_button, (fw->display_type == Icons), False);
 XmToggleButtonGadgetSetState(fw->text_view_button, (fw->display_type == Text), False);
 if (fw->display_type != olddisp)
 {
     fw->n_rows = 0;	/* Set Scrollbar to top */
     updateFileDisplay(fw, RESHOW);
 }
}
Ejemplo n.º 11
0
void sortTypeCb(Widget w, XtPointer client_data, XtPointer call_data)
{
 FileWindowRec *fw = (FileWindowRec *) client_data;
 SortType oldsort = fw->sort_type;

 if (w == fw->sort_name_button)
     fw->sort_type = SortByName;
 else if (w == fw->sort_size_button)
     fw->sort_type = SortBySize;
 else  fw->sort_type = SortByMTime;
 XmToggleButtonGadgetSetState(fw->sort_name_button, (fw->sort_type == SortByName), False);
 XmToggleButtonGadgetSetState(fw->sort_size_button, (fw->sort_type == SortBySize), False);
 XmToggleButtonGadgetSetState(fw->sort_date_button, (fw->sort_type == SortByMTime), False);
 if (fw->sort_type != oldsort)
     updateFileDisplay(fw, RESHOW);
}
Ejemplo n.º 12
0
Widget RGISVecPanel::Load (DBObjData *data)

	{
	int toggle, toggleNum;
	WidgetList toggles;

	XtVaGetValues (RowColumnWGT,XmNchildren, &toggles, XmNnumChildren, &toggleNum, NULL);
	for (toggle = 0;toggle < toggleNum; ++toggle)
		{
		XtVaSetValues (toggles [toggle],XmNuserData, data, NULL);
		XmToggleButtonGadgetSetState (toggles [toggle],(data->Flags () & DBDataFlagDispModeFlags) == _RGISVectorControlCodes [toggle],False);
		}
	XtVaSetValues (ActiveToggleWGT,XmNuserData, data, NULL);
	XmToggleButtonGadgetSetState (ActiveToggleWGT,(data->Flags () & DBDataFlagHideIdle) == DBDataFlagHideIdle,False);
	return (Form ());
	}
Ejemplo n.º 13
0
void UI2DView::SetUserToggleMode(DBInt visible) {
    if (visible) XtManageChild(UserToggle);
    else {
        if (XmToggleButtonGadgetGetState(UserToggle))
            XmToggleButtonGadgetSetState(ZoomToggle, true, true);
        XtUnmanageChild(UserToggle);
    }
}
Ejemplo n.º 14
0
static void 
cancelWarnCB(
        Widget w,
        XtPointer client_data,
        XtPointer call_data )
{
  XmToggleButtonGadgetSetState (dtwm.pointerTG, 
				dtwm.origKeyboardFocusPolicy ? POINTER : EXPLICIT , True); 
  
  XmToggleButtonGadgetSetState (dtwm.explicitTG, 
            dtwm.origKeyboardFocusPolicy ? EXPLICIT : POINTER , True); 
  
  XmToggleButtonGadgetSetState (dtwm.autoRaiseTG, 
				dtwm.origFocusAutoRaise ? True : False , True); 
  
  XmToggleButtonGadgetSetState (dtwm.secStackTG, 
            dtwm.origSecStack ? False : True , True); 
  
  XmToggleButtonGadgetSetState (dtwm.moveOpaqueTG, 
				dtwm.origMoveOpaque ? True : False , True); 
  
  XmToggleButtonGadgetSetState (dtwm.iconBoxTG, 
            dtwm.origUseIconBox ? True : False , True); 
  
  XmToggleButtonGadgetSetState (dtwm.desktopTG, 
				dtwm.origUseIconBox ? False : True , True); 
}
Ejemplo n.º 15
0
void update_preferences_expert(void)
{
    Widget shell;
    Widget statusline_b, toolbar_b, pagelist_b, scrollbars_b;

    /* it's not an error if the prefs dialog doesn't exist yet */
    if (get_widget_by_name(&shell, globals.widgets.top_level, Xdvi_PREFS_DIALOG_NAME, False)
	&& get_widget_by_name(&statusline_b, shell, Xdvi_GUI_STATUSLINE_STR, True)
	&& get_widget_by_name(&toolbar_b, shell, Xdvi_GUI_TOOLBAR_STR, True)
	&& get_widget_by_name(&pagelist_b, shell, Xdvi_GUI_PAGELIST_STR, True)
	&& get_widget_by_name(&scrollbars_b, shell, Xdvi_GUI_SCROLLBARS_STR, True)) {

	XmToggleButtonGadgetSetState(statusline_b, resource.expert_mode & XPRT_SHOW_STATUSLINE ? True : False, False);
	XmToggleButtonGadgetSetState(toolbar_b, resource.expert_mode & XPRT_SHOW_TOOLBAR ? True : False, False);
	XmToggleButtonGadgetSetState(pagelist_b, resource.expert_mode & XPRT_SHOW_PAGELIST ? True : False, False);
	XmToggleButtonGadgetSetState(scrollbars_b, resource.expert_mode & XPRT_SHOW_SCROLLBARS ? True : False, False);
    }
}
Ejemplo n.º 16
0
void update_preferences_hyperlinks(void)
{
    Widget shell, button;

    /* it's not an error if the prefs dialog doesn't exist yet */
    if (get_widget_by_name(&shell, globals.widgets.top_level, Xdvi_PREFS_DIALOG_NAME, False)
	&& get_widget_by_name(&button, shell, Xdvi_LINKS_UNDERLINED_STR, True)) {
	XmToggleButtonGadgetSetState(button, resource.link_style & 1 ? True : False, False);
    }
}
Ejemplo n.º 17
0
void update_preferences_color(void)
{
    Widget shell, button;

    /* it's not an error if the prefs dialog doesn't exist yet */
    if (get_widget_by_name(&shell, globals.widgets.top_level, Xdvi_PREFS_DIALOG_NAME, False)
	&& get_widget_by_name(&button, shell, Xdvi_DOCUMENT_COLORS_STR, True)) {
	XmToggleButtonGadgetSetState(button, resource.use_color, False);
    }
}
Ejemplo n.º 18
0
/*
 * ------------------------------------------------------------------------
 * Name: PdmJobBoxCreate
 *
 * Description:
 *
 *     Creates a managed PDM Job options setup box widget.
 *
 * Return value:
 *
 *     The passed PdmJobBox (PdmSetupBox) instance structure.
 *
 */
static void
PdmJobBoxCreate(PdmSetupBox* me, Widget parent)
{
    PdmJobBoxData* data = (PdmJobBoxData*)me->subclass_data;
    me->widget = _DtCreatePDMJobSetup(parent);
    XtManageChild(me->widget);
    /*
     * get the control widget ids
     */
    data->notify_toggle = XtNameToWidget(me->widget, "*SendMail.button_0");
    data->job_name_text = XtNameToWidget(me->widget, "*Banner");
    data->job_options_text = XtNameToWidget(me->widget, "*Options");
    /*
     * initialize the banner field
     */
    if(data->job_name_supported)
    {
	XtVaSetValues(data->job_name_text, XmNvalue, data->job_name, NULL);
    }
    else
    {
	XtSetSensitive(data->job_name_text, False);
	XtSetSensitive(XtNameToWidget(me->widget, "*BannerLabel"), False);
    }
    /*
     * initialize the options field
     */
    if(data->job_options_supported)
    {
	XtVaSetValues(data->job_options_text,
		      XmNvalue, data->job_options,
		      NULL);
    }
    else
    {
	XtSetSensitive(data->job_options_text, False);
	XtSetSensitive(XtNameToWidget(me->widget, "*OptionsLabel"), False);
    }
    /*
     * initialize the send mail toggle
     */
    if(data->notification_profile_supported)
    {
	Boolean set;
	set = PDMOID_NOTIFY_EMAIL == data->notification_profile ? True : False;
	XmToggleButtonGadgetSetState(data->notify_toggle, set, False);
    }
    else
    {
	XtSetSensitive(data->notify_toggle, False);
    }
    
}
Ejemplo n.º 19
0
Widget RGISNetPanel::Load (DBObjData *data)

	{
	int button;
	Widget menu;
	WidgetList buttons;

	XtVaGetValues (ColorMenuWGT,XmNsubMenuId,	 &menu, NULL);
	XtVaGetValues (menu,XmNchildren,	&buttons, NULL);
	for (button = 0;button < (int) (sizeof (_RGISNetPanelColors) / sizeof (RGISNetPanelColor)); ++button)
		{
		XtVaSetValues (buttons [button],XmNuserData, data, NULL);
		if (_RGISNetPanelColors [button].IsColor (data->Flags () & DBDataFlagDispModeNetColors))
			XtVaSetValues (ColorMenuWGT,XmNmenuHistory, buttons [button], NULL);
		}
	XtVaSetValues (FlowDirToggleWGT,	XmNuserData, data, NULL);
	XmToggleButtonGadgetSetState (FlowDirToggleWGT,(data->Flags () & DBDataFlagDispModeNetDirection) == DBDataFlagDispModeNetDirection,False);
	XtVaSetValues (ActiveToggleWGT,	XmNuserData, data, NULL);
	XmToggleButtonGadgetSetState (ActiveToggleWGT,((data->Flags () & DBDataFlagHideIdle) == DBDataFlagHideIdle),False);
	return (Form ());
	}
Ejemplo n.º 20
0
/*+++++++++++++++++++++++++++++++++++++++*/
static void 
systemDefaultCB(
        Widget w,
        XtPointer client_data,
        XtPointer call_data )
{

    /* KeyboardFocusPolicy:  explicit */
    XmToggleButtonGadgetSetState (dtwm.explicitTG, True, True); 

    /* FocusAutoRaise:  True */
    XmToggleButtonGadgetSetState (dtwm.autoRaiseTG, True, True); 
   
#ifdef sun
    /* Sun default is secStack: False */
    XmToggleButtonGadgetSetState (dtwm.secStackTG, True, True);
#else
    /* secStack:  True */
    XmToggleButtonGadgetSetState (dtwm.secStackTG, False, True); 
#endif

    /* OpaqueMove:  False */
    XmToggleButtonGadgetSetState (dtwm.moveOpaqueTG, False, True); 

    /* PlaceOnDesktop:  True */
    XmToggleButtonGadgetSetState (dtwm.desktopTG, True, True); 

}
Ejemplo n.º 21
0
extern void
paint_day(Calendar *c)
{
	Day *day_info = (Day *) c->view->day_info;

        c->view->glance = dayGlance;
	XmToggleButtonGadgetSetState(c->day_scope, True, False);
	gr_clear_area(c->xcontext, 0, 0, c->view->winw, c->view->winh);
	if (day_info->month_panels == (Widget *) NULL)
		(void)init_dayview(c);
	paint_dayview(c, True, NULL, True); 
	calendar_select(c, hourSelect, (caddr_t)NULL);
}
Ejemplo n.º 22
0
void polygonformpop()
{
  int ival, i, j;

   XmListDeselectAllItems(pmatsellist);

   for (j = 0; j < numlist; j++)
     {
      i = listmat[j];
      if (active_mat[i])
         XmListSelectPos(pmatsellist,j+1,FALSE);
     }

   ival = (int) (pexplodefact * 100.);
   XmScaleSetValue(pexplode,ival);
   XmToggleButtonGadgetSetState(pshade,polysflag,FALSE);
   XmToggleButtonGadgetSetState(pline,linesflag,FALSE);
   XmToggleButtonGadgetSetState(stipplebut,polystiplflag,FALSE);

   shadedraw = polysflag;
   linedraw = linesflag;

   MyManageChild(polygonform);
}
Ejemplo n.º 23
0
extern void
paint_weekview(
    Calendar 	*c,
    XRectangle 	*rect)
{
    Boundary 	 boundary;

    XmToggleButtonGadgetSetState(c->week_scope, True, False);
    c->view->glance = weekGlance;

    /* allocate weekview storage if it's never been used before */
    if (c->view->week_info == NULL) {
        allocator(c);
        resize_weekview(c, &boundary);
    } else
        init_week(c, &boundary);

    draw_week(c, rect, boundary);
    calendar_select(c, weekdaySelect, NULL);
}
Ejemplo n.º 24
0
extern void
cleanup_after_dayview(Calendar *c)
{
	Day *d = (Day *)c->view->day_info;

	invalidate_cache(c);

	XtUnmanageChild(d->panel_form);

	XmToggleButtonGadgetSetState(c->day_scope, False, False);

	/* make canvas attach to form, and ignore its XmNleftPosition */
/* DITTO ABOVE: THIS ISN'T NEEDED TILL WE ACTUALLY DO RESIZE THE
   CANVAS TO ADJOIN THE MONTHPANELS WHILE DAY VIEW IS UP
	XtVaSetValues(c->canvas, XmNleftAttachment, XmATTACH_FORM, NULL);
*/

	gr_clear_area(calendar->xcontext, 0, 0, calendar->view->winw,
		       calendar->view->winh);

	set_message(c->message_text, "");
}
Ejemplo n.º 25
0
/*+++++++++++++++++++++++++++++++++++++++*/
static void 
SystemDefaultCB(
        Widget w,
        XtPointer client_data,
        XtPointer call_data )
{
    static XmStringTable preeditTable = NULL ;
    Cardinal i;
    I18nEnv *env;

    env = &i18n_env;

    /* Set the Server Host to local, that is use the NULL string */
    XtVaSetValues(XtNameToWidget(i18n.serverHostCB,"Text"), 
		  XmNvalue, "local", NULL);  

    UpdateImList(env, "local");

    /* Set the Input Method Start Mode to Ask at login */
    XmToggleButtonGadgetSetState(i18n.askAtLoginTG, True, True);

    if (!preeditTable) {
	/* Set the preeditType list to the default in Motif */
	preeditTable = (XmStringTable) XtMalloc(NUM_PREEDIT * 
						sizeof( XmString ));
	for ( i = 0; i < NUM_PREEDIT; i ++ )
	    preeditTable[i] = XmStringCreate(defaultPreedit[i],
					     "ISO8859-1");
    }
    
    SetPreeditType(env, preeditTable, NUM_PREEDIT);

    /* Mark that the preeditType list has changed. */
    i18n.preeditHasChanged = True;

    return;

}
Ejemplo n.º 26
0
/*
 * Clean up anything left around that won't be removed on
 * switching to another view, such as the hot buttons for
 * navigation to day view.
 */
extern void
cleanup_after_weekview(Calendar *c)
{
    int n;
    Week *w = (Week *)c->view->week_info;

    invalidate_cache(c);
    set_message(c->message_text, "");

    XtUnmanageChildren(w->hot_button, 7);

    XmToggleButtonGadgetSetState(c->week_scope, False, False);

    /*
     * Deallocating everything causes all this view's memory to be
     * freed (at least all we have allocated in this application)
     * at the expense of rebuilding the view next time it is used.
     * Commenting it out improves usability and avoids any risk
     * of memory leakage from Xt and Motif.
     */
    /*
    	deallocator(c);
    */
}
Ejemplo n.º 27
0
void SetPopupActionTo(int action)
{	
	XmToggleButtonGadgetSetState(POPUPITEM(action),TRUE,TRUE);
}
Ejemplo n.º 28
0
void SetZoomMenuItemValue(Boolean state)
{
	XmToggleButtonGadgetSetState(ZoomMenuItem,state,TRUE);
}
Ejemplo n.º 29
0
/*+++++++++++++++++++++++++++++++++++++++*/
static void 
ButtonCB(
        Widget w,
        XtPointer client_data,
        XtPointer call_data )
{
  int         n;
  Arg         args[MAX_ARGS];
  char        *resPtr;
  Boolean     state;
  Boolean     changeFlag = 0;
  DtDialogBoxCallbackStruct *cb = (DtDialogBoxCallbackStruct *) call_data;
  
  switch (cb->button_position)
    {
    case OK_BUTTON:
      
      XtUnmanageChild (w);
      
      /* create the Dtwm resource specs for xrdb */
      
      state = XmToggleButtonGadgetGetState (dtwm.explicitTG);
      if ( state != dtwm.origKeyboardFocusPolicy)
	{
	  sprintf(dtwmRes, "Dtwm.keyboardFocusPolicy: %s\n",
		  XmToggleButtonGadgetGetState (dtwm.pointerTG)
		  ? POINTER_STR : EXPLICIT_STR);
	  changeFlag = 1;
	}
      
      /* write out FocusAutoRaise if toggle has changed or if
       * KeyboardFocusPolicy has changed.  FAR default value is 
       * based off of KFP so must set explicitly or visible toggle 
       * will be inacurate */
      state = XmToggleButtonGadgetGetState (dtwm.autoRaiseTG);
      if (state !=  dtwm.origFocusAutoRaise || changeFlag)
	{
	  sprintf(dtwmRes+strlen(dtwmRes), "Dtwm*focusAutoRaise: %s\n",
		  XmToggleButtonGadgetGetState (dtwm.autoRaiseTG)
		  ? "True" : "False");
	  changeFlag = 1;
	}
      
      state = !XmToggleButtonGadgetGetState (dtwm.secStackTG);
      if ( state != dtwm.origSecStack)
	{
	  sprintf(dtwmRes+strlen(dtwmRes), "Dtwm*secondariesOnTop: %s\n",
		  XmToggleButtonGadgetGetState (dtwm.secStackTG)
		  ? "False" : "True");
	  changeFlag = 1;
	}
      
      state = XmToggleButtonGadgetGetState (dtwm.moveOpaqueTG);
      if ( state != dtwm.origMoveOpaque)
	{
	  sprintf(dtwmRes+strlen(dtwmRes), "Dtwm*moveOpaque: %s\n",
		  XmToggleButtonGadgetGetState (dtwm.moveOpaqueTG)
		  ? "True" : "False");
	  changeFlag = 1;
	}
      
      state = XmToggleButtonGadgetGetState (dtwm.iconBoxTG);
      if (state != dtwm.origUseIconBox)
	{
	  sprintf(dtwmRes+strlen(dtwmRes), "Dtwm*useIconBox: %s\n",
		  XmToggleButtonGadgetGetState (dtwm.iconBoxTG)
		  ? "True" : "False");
	  changeFlag = 1;
	}
      
      if (changeFlag)
	{
	  if (dtwm.warnDialog == NULL)
	    {
	      n = 0;
	      XtSetArg(args[n], XmNokLabelString, CMPSTR((String) _DtOkString)); n++;
	      XtSetArg(args[n], XmNcancelLabelString, CMPSTR((String) _DtCancelString)); n++;
	      XtSetArg(args[n], XmNborderWidth, 3); n++;
	      XtSetArg(args[n], XmNmwmFunctions, DIALOG_MWM_FUNC ); n++;
	      XtSetArg(args[n], XmNdialogStyle, XmDIALOG_FULL_APPLICATION_MODAL); n++; 
	      XtSetArg(args[n], XmNdialogTitle, CMPSTR((char *)GETMESSAGE(2,2, "Notice"))); n++;
	      XtSetArg(args[n], XmNmessageString, CMPSTR(WARN_MSG)); n++;
              dtwm.warnDialog = XmCreateInformationDialog(style.shell, "warnDialog", args, n);
	      
	      XtUnmanageChild (XmMessageBoxGetChild(dtwm.warnDialog, XmDIALOG_HELP_BUTTON)); 
	      
	      XtAddCallback(dtwm.warnDialog, XmNokCallback, okWarnCB, 
			    client_data); 
	      XtAddCallback(dtwm.warnDialog, XmNcancelCallback, cancelWarnCB, 
			    client_data); 
	    }
	  XtManageChild(dtwm.warnDialog);  
	   
	}
      break;
      
      
    case CANCEL_BUTTON:
    
      /* reset to dtwm values from when dialog is mapped */ 
      XtUnmanageChild(w);
      
      XmToggleButtonGadgetSetState (dtwm.pointerTG, 
				    dtwm.origKeyboardFocusPolicy ? POINTER : EXPLICIT , True); 
      
      XmToggleButtonGadgetSetState (dtwm.explicitTG, 
				    dtwm.origKeyboardFocusPolicy ? EXPLICIT : POINTER , True); 
      
      XmToggleButtonGadgetSetState (dtwm.autoRaiseTG, 
				    dtwm.origFocusAutoRaise ? True : False , True); 
      
      XmToggleButtonGadgetSetState (dtwm.secStackTG, 
				    dtwm.origSecStack ? False : True , True); 
      
      XmToggleButtonGadgetSetState (dtwm.moveOpaqueTG, 
				    dtwm.origMoveOpaque ? True : False , True); 
      
      XmToggleButtonGadgetSetState (dtwm.iconBoxTG, 
				    dtwm.origUseIconBox ? True : False , True); 
      
      XmToggleButtonGadgetSetState (dtwm.desktopTG, 
				    dtwm.origUseIconBox ? False : True , True); 
      
      break;
    
  case HELP_BUTTON:
    XtCallCallbacks(style.dtwmDialog, XmNhelpCallback, (XtPointer)NULL);
    break;
    
  default:
    break;
  }
}
Ejemplo n.º 30
0
static void 
getDtwmValues( )
{
    char *str_type_return;
    XrmValue value_return;
    XrmValue    cvt_value;
    XrmDatabase db;
    Boolean status;
    char *string;

    db = XtDatabase(style.display);

    /* Get KeyboardFocusPolicy value */
    if (status = XrmGetResource (db, "dtwm.keyboardFocusPolicy",
                                 "Dtwm.KeyboardFocusPolicy",
                                 &str_type_return, &value_return))
    {
        /* make local copy of string */
        string = (char *) XtMalloc( value_return.size );
        strcpy (string, value_return.addr);

        /* convert to lower case */
        _DtWmParseToLower((unsigned char *)string);

        if (strcmp(string, "pointer") == 0)
        {
            XmToggleButtonGadgetSetState (dtwm.pointerTG, True, True); 
            dtwm.origKeyboardFocusPolicy = POINTER;
        }
        if (strcmp(string, "explicit") == 0)
        {
            XmToggleButtonGadgetSetState (dtwm.explicitTG, True, True); 
            dtwm.origKeyboardFocusPolicy = EXPLICIT;
        }
        XtFree (string);
    }
    else /* KeyboardFocusPolicy not specified */
    {
        /* set the Dtwm default value - explicit */
        XmToggleButtonGadgetSetState (dtwm.explicitTG, True, True); 
        dtwm.origKeyboardFocusPolicy = EXPLICIT;
    } 

    /* Get FocusAutoRaise value */
    if (status = XrmGetResource (db, "dtwm.focusAutoRaise",
                                     "Dtwm.FocusAutoRaise",
                                     &str_type_return, &value_return))
    {
        /* make local copy of string */
        string = (char *) XtMalloc( value_return.size );
        strcpy (string, value_return.addr);

        /* convert to lower case */
        _DtWmParseToLower((unsigned char *)string);

        dtwm.origFocusAutoRaise =                
               (strcmp(string, "true") ? False : True); 
        XmToggleButtonGadgetSetState (dtwm.autoRaiseTG, 
               dtwm.origFocusAutoRaise, True);

        XtFree (string);
    }
    else /* FocusAutoRaise not specified */
    {
        /* set the Dtwm default value: 
         *  True when keyboardFocusPolicy is explicit 
         *  False when keyboardFocusPolicy is pointer
         */
        dtwm.origFocusAutoRaise =   
                ((dtwm.origKeyboardFocusPolicy == EXPLICIT) ? True : False); 
        XmToggleButtonGadgetSetState (dtwm.autoRaiseTG, 
                dtwm.origFocusAutoRaise, True);
    }

    /* Get SecStack value from secondaries OnTop resource*/
    if (status = XrmGetResource (db, "dtwm.secondariesOnTop",
                                     "Dtwm.secondariesOnTop",
                                     &str_type_return, &value_return))
    {
        /* make local copy of string */
        string = (char *) XtMalloc( value_return.size );
        strcpy (string, value_return.addr);

        /* convert to lower case */
        _DtWmParseToLower((unsigned char *)string);

        dtwm.origSecStack =                
               (strcmp(string, "true") ? False : True); 
        XmToggleButtonGadgetSetState (dtwm.secStackTG, 
               !dtwm.origSecStack, True);

        XtFree (string);
    }
    else /* SecStack resource not specified */
      {
#ifdef sun
	dtwm.origSecStack = False;
	XmToggleButtonGadgetSetState (dtwm.secStackTG, 
				      !dtwm.origSecStack, False);
#else
	dtwm.origSecStack = True;
	XmToggleButtonGadgetSetState (dtwm.secStackTG, 
				      !dtwm.origSecStack, True);
#endif
      }
    /* Get UseIconBox value */
    if (status = XrmGetResource (db, "dtwm.useIconBox",
                                 "Dtwm.UseIconBox",
                                 &str_type_return, &value_return))
    {
        /* make local copy of string */
        string = (char *) XtMalloc( value_return.size );
        strcpy (string, value_return.addr);

        /* convert to lower case */
        _DtWmParseToLower((unsigned char *)string);

        dtwm.origUseIconBox =                
              (strcmp(string, "true") ? False : True); 
        if (dtwm.origUseIconBox)
            XmToggleButtonGadgetSetState (dtwm.iconBoxTG, True, True); 
        else
            XmToggleButtonGadgetSetState (dtwm.desktopTG, True, True); 

        XtFree (string);
    }                                 
    else /* UseIconBox not specified */
    {
        /* set the Dtwm default value - False, desktop - True*/
        dtwm.origUseIconBox =  False;
        XmToggleButtonGadgetSetState (dtwm.desktopTG, True, True); 
    }

    /* Get MoveOpaque value */
    if (status = XrmGetResource (db, "dtwm.moveOpaque",
                                     "Dtwm.MoveOpaque",
                                     &str_type_return, &value_return))
    {
        /* make local copy of string */
        string = (char *) XtMalloc( value_return.size );
        strcpy (string, value_return.addr);

        /* convert to lower case */
        _DtWmParseToLower((unsigned char *)string);

        dtwm.origMoveOpaque =               
               (strcmp(string, "true") ? False : True); 
        XmToggleButtonGadgetSetState (dtwm.moveOpaqueTG, 
               dtwm.origMoveOpaque, True);

        XtFree (string);
    }
    else /* MoveOpaque not specified */
    {
        /* set the Dtwm default value: False */

        dtwm.origMoveOpaque =  False; 
        XmToggleButtonGadgetSetState (dtwm.moveOpaqueTG, 
                dtwm.origMoveOpaque, True);
    }

}