comparison src/gui_motif.c @ 819:23f82b5d2814 v7.0c10

updated for version 7.0c10
author vimboss
date Wed, 05 Apr 2006 20:41:53 +0000
parents d2c169a725c8
children 8dd456c1e283
comparison
equal deleted inserted replaced
818:1f929f3ca806 819:23f82b5d2814
24 #endif 24 #endif
25 #include <Xm/Frame.h> 25 #include <Xm/Frame.h>
26 #include <Xm/LabelG.h> 26 #include <Xm/LabelG.h>
27 #include <Xm/ToggleBG.h> 27 #include <Xm/ToggleBG.h>
28 #include <Xm/SeparatoG.h> 28 #include <Xm/SeparatoG.h>
29 #include <Xm/Notebook.h>
29 30
30 #include <X11/keysym.h> 31 #include <X11/keysym.h>
31 #include <X11/Xatom.h> 32 #include <X11/Xatom.h>
32 #include <X11/StringDefs.h> 33 #include <X11/StringDefs.h>
33 #include <X11/Intrinsic.h> 34 #include <X11/Intrinsic.h>
61 Widget textArea; 62 Widget textArea;
62 #ifdef FEAT_TOOLBAR 63 #ifdef FEAT_TOOLBAR
63 static Widget toolBarFrame; 64 static Widget toolBarFrame;
64 static Widget toolBar; 65 static Widget toolBar;
65 #endif 66 #endif
67 #ifdef FEAT_GUI_TABLINE
68 static Widget tabLine;
69 static Widget tabLine_menu = 0;
70 static int showing_tabline = 0;
71 #endif
66 #ifdef FEAT_FOOTER 72 #ifdef FEAT_FOOTER
67 static Widget footer; 73 static Widget footer;
68 #endif 74 #endif
69 #ifdef FEAT_MENU 75 #ifdef FEAT_MENU
70 # if (XmVersion >= 1002) 76 # if (XmVersion >= 1002)
73 # endif 79 # endif
74 static Widget menuBar; 80 static Widget menuBar;
75 #endif 81 #endif
76 82
77 static void scroll_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data)); 83 static void scroll_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data));
84 #ifdef FEAT_GUI_TABLINE
85 static void tabline_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data));
86 static void tabline_button_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data));
87 static void tabline_menu_cb __ARGS((Widget w, XtPointer closure, XEvent *e, Boolean *continue_dispatch));
88 #endif
78 #ifdef FEAT_TOOLBAR 89 #ifdef FEAT_TOOLBAR
79 # ifdef FEAT_FOOTER 90 # ifdef FEAT_FOOTER
80 static void toolbarbutton_enter_cb __ARGS((Widget, XtPointer, XEvent *, Boolean *)); 91 static void toolbarbutton_enter_cb __ARGS((Widget, XtPointer, XEvent *, Boolean *));
81 static void toolbarbutton_leave_cb __ARGS((Widget, XtPointer, XEvent *, Boolean *)); 92 static void toolbarbutton_leave_cb __ARGS((Widget, XtPointer, XEvent *, Boolean *));
82 # endif 93 # endif
118 dragging = (((XmScrollBarCallbackStruct *)call_data)->reason == 129 dragging = (((XmScrollBarCallbackStruct *)call_data)->reason ==
119 (int)XmCR_DRAG); 130 (int)XmCR_DRAG);
120 gui_drag_scrollbar(sb, value, dragging); 131 gui_drag_scrollbar(sb, value, dragging);
121 } 132 }
122 133
134 #ifdef FEAT_GUI_TABLINE
135 /*ARGSUSED*/
136 static void
137 tabline_cb(w, client_data, call_data)
138 Widget w;
139 XtPointer client_data, call_data;
140 {
141 XmNotebookCallbackStruct *nptr;
142
143 nptr = (XmNotebookCallbackStruct *)call_data;
144 if (nptr->reason != (int)XmCR_NONE)
145 send_tabline_event(nptr->page_number);
146 }
147
148 /*ARGSUSED*/
149 static void
150 tabline_button_cb(w, client_data, call_data)
151 Widget w;
152 XtPointer client_data, call_data;
153 {
154 char_u string[3];
155 int cmd, tab_idx;
156
157 XtVaGetValues(w, XmNuserData, &cmd, NULL);
158 XtVaGetValues(tabLine_menu, XmNuserData, &tab_idx, NULL);
159
160 string[0] = CSI;
161 string[1] = KS_TABMENU;
162 string[2] = KE_FILLER;
163 add_to_input_buf(string, 3);
164 string[0] = tab_idx;
165 string[1] = (char_u)(long)cmd;
166 add_to_input_buf_csi(string, 2);
167 }
168
169 /*ARGSUSED*/
170 static void
171 tabline_menu_cb(w, closure, e, continue_dispatch)
172 Widget w;
173 XtPointer closure;
174 XEvent *e;
175 Boolean *continue_dispatch;
176 {
177 Widget tab_w;
178 XButtonPressedEvent *event;
179 int tab_idx = 0;
180 WidgetList children;
181 Cardinal numChildren;
182
183 event = (XButtonPressedEvent *)e;
184
185 if (event->button != Button3)
186 return;
187
188 if (event->subwindow != None)
189 {
190 tab_w = XtWindowToWidget(XtDisplay(w), event->subwindow);
191 if (tab_w != (Widget)0 && XmIsPushButton(tab_w))
192 XtVaGetValues(tab_w, XmNpageNumber, &tab_idx, NULL);
193 }
194
195 XtVaSetValues(tabLine_menu, XmNuserData, tab_idx, NULL);
196 XtVaGetValues(tabLine_menu, XmNchildren, &children, XmNnumChildren,
197 &numChildren, NULL);
198 XtManageChildren(children, numChildren);
199 XmMenuPosition(tabLine_menu, (XButtonPressedEvent *)e) ;
200 XtManageChild(tabLine_menu);
201 }
202 #endif
203
123 /* 204 /*
124 * End of call-back routines 205 * End of call-back routines
125 */ 206 */
126 207
127 /* 208 /*
220 * Create all the motif widgets necessary. 301 * Create all the motif widgets necessary.
221 */ 302 */
222 void 303 void
223 gui_x11_create_widgets() 304 gui_x11_create_widgets()
224 { 305 {
306 #ifdef FEAT_GUI_TABLINE
307 Widget button;
308 Arg args[10];
309 int n;
310 XmString xms;
311 #endif
312
225 /* 313 /*
226 * Install the 3D shade effect drawing routines. 314 * Install the 3D shade effect drawing routines.
227 */ 315 */
228 if (old_label_expose == NULL) 316 if (old_label_expose == NULL)
229 { 317 {
314 XmNmarginWidth, 0, 402 XmNmarginWidth, 0,
315 XmNadjustLast, True, 403 XmNadjustLast, True,
316 NULL); 404 NULL);
317 gui_motif_menu_colors(toolBar); 405 gui_motif_menu_colors(toolBar);
318 406
407 #endif
408
409 #ifdef FEAT_GUI_TABLINE
410 /* Create the Vim GUI tabline */
411 n = 0;
412 XtSetArg(args[n], XmNbindingType, XmNONE); n++;
413 XtSetArg(args[n], XmNorientation, XmVERTICAL); n++;
414 XtSetArg(args[n], XmNbackPageSize, XmNONE); n++;
415 XtSetArg(args[n], XmNbackPageNumber, 0); n++;
416 XtSetArg(args[n], XmNbackPagePlacement, XmTOP_RIGHT); n++;
417 XtSetArg(args[n], XmNmajorTabSpacing, 0); n++;
418 XtSetArg(args[n], XmNshadowThickness, 0); n++;
419 XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
420 XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
421 tabLine = XmCreateNotebook(vimForm, "Vim tabline", args, n);
422
423 XtAddCallback(tabLine, XmNpageChangedCallback, (XtCallbackProc)tabline_cb,
424 NULL);
425 XtAddEventHandler(tabLine, ButtonPressMask, False,
426 (XtEventHandler)tabline_menu_cb, NULL);
427
428 /* Create the tabline popup menu */
429 tabLine_menu = XmCreatePopupMenu(tabLine, "tabline popup", NULL, 0);
430
431 /* Add the buttons to the menu */
432 n = 0;
433 XtSetArg(args[n], XmNuserData, TABLINE_MENU_CLOSE); n++;
434 xms = XmStringCreate((char *)"Close tab", STRING_TAG);
435 XtSetArg(args[n], XmNlabelString, xms); n++;
436 button = XmCreatePushButton(tabLine_menu, "Close", args, n);
437 XtAddCallback(button, XmNactivateCallback,
438 (XtCallbackProc)tabline_button_cb, NULL);
439 XmStringFree(xms);
440
441 n = 0;
442 XtSetArg(args[n], XmNuserData, TABLINE_MENU_NEW); n++;
443 xms = XmStringCreate((char *)"New Tab", STRING_TAG);
444 XtSetArg(args[n], XmNlabelString, xms); n++;
445 button = XmCreatePushButton(tabLine_menu, "New Tab", args, n);
446 XtAddCallback(button, XmNactivateCallback,
447 (XtCallbackProc)tabline_button_cb, NULL);
448 XmStringFree(xms);
449
450 n = 0;
451 XtSetArg(args[n], XmNuserData, TABLINE_MENU_OPEN); n++;
452 xms = XmStringCreate((char *)"Open tab...", STRING_TAG);
453 XtSetArg(args[n], XmNlabelString, xms); n++;
454 button = XmCreatePushButton(tabLine_menu, "Open tab...", args, n);
455 XtAddCallback(button, XmNactivateCallback,
456 (XtCallbackProc)tabline_button_cb, NULL);
457 XmStringFree(xms);
319 #endif 458 #endif
320 459
321 textAreaForm = XtVaCreateManagedWidget("textAreaForm", 460 textAreaForm = XtVaCreateManagedWidget("textAreaForm",
322 xmFormWidgetClass, vimForm, 461 xmFormWidgetClass, vimForm,
323 XmNleftAttachment, XmATTACH_FORM, 462 XmNleftAttachment, XmATTACH_FORM,
548 /* toolBar is attached to top form */ 687 /* toolBar is attached to top form */
549 XtVaSetValues(XtParent(toolBar), 688 XtVaSetValues(XtParent(toolBar),
550 XmNtopAttachment, XmATTACH_WIDGET, 689 XmNtopAttachment, XmATTACH_WIDGET,
551 XmNtopWidget, menuBar, 690 XmNtopWidget, menuBar,
552 NULL); 691 NULL);
553 XtVaSetValues(textAreaForm, 692 #ifdef FEAT_GUI_TABLINE
554 XmNtopAttachment, XmATTACH_WIDGET, 693 if (showing_tabline)
555 XmNtopWidget, XtParent(toolBar), 694 {
556 NULL); 695 XtVaSetValues(tabLine,
696 XmNtopAttachment, XmATTACH_WIDGET,
697 XmNtopWidget, XtParent(toolBar),
698 NULL);
699 XtVaSetValues(textAreaForm,
700 XmNtopAttachment, XmATTACH_WIDGET,
701 XmNtopWidget, tabLine,
702 NULL);
703 }
704 else
705 #endif
706 XtVaSetValues(textAreaForm,
707 XmNtopAttachment, XmATTACH_WIDGET,
708 XmNtopWidget, XtParent(toolBar),
709 NULL);
557 } 710 }
558 else 711 else
559 #endif 712 #endif
560 { 713 {
561 XtVaSetValues(textAreaForm, 714 #ifdef FEAT_GUI_TABLINE
562 XmNtopAttachment, XmATTACH_WIDGET, 715 if (showing_tabline)
563 XmNtopWidget, menuBar, 716 {
564 NULL); 717 XtVaSetValues(tabLine,
718 XmNtopAttachment, XmATTACH_WIDGET,
719 XmNtopWidget, menuBar,
720 NULL);
721 XtVaSetValues(textAreaForm,
722 XmNtopAttachment, XmATTACH_WIDGET,
723 XmNtopWidget, tabLine,
724 NULL);
725 }
726 else
727 #endif
728 XtVaSetValues(textAreaForm,
729 XmNtopAttachment, XmATTACH_WIDGET,
730 XmNtopWidget, menuBar,
731 NULL);
565 } 732 }
566 } 733 }
567 else 734 else
568 { 735 {
569 XtUnmanageChild(menuBar); 736 XtUnmanageChild(menuBar);
571 if (XtIsManaged(XtParent(toolBar))) 738 if (XtIsManaged(XtParent(toolBar)))
572 { 739 {
573 XtVaSetValues(XtParent(toolBar), 740 XtVaSetValues(XtParent(toolBar),
574 XmNtopAttachment, XmATTACH_FORM, 741 XmNtopAttachment, XmATTACH_FORM,
575 NULL); 742 NULL);
576 XtVaSetValues(textAreaForm, 743 #ifdef FEAT_GUI_TABLINE
577 XmNtopAttachment, XmATTACH_WIDGET, 744 if (showing_tabline)
578 XmNtopWidget, XtParent(toolBar), 745 {
579 NULL); 746 XtVaSetValues(tabLine,
747 XmNtopAttachment, XmATTACH_WIDGET,
748 XmNtopWidget, XtParent(toolBar),
749 NULL);
750 XtVaSetValues(textAreaForm,
751 XmNtopAttachment, XmATTACH_WIDGET,
752 XmNtopWidget, tabLine,
753 NULL);
754 }
755 else
756 #endif
757 XtVaSetValues(textAreaForm,
758 XmNtopAttachment, XmATTACH_WIDGET,
759 XmNtopWidget, XtParent(toolBar),
760 NULL);
580 } 761 }
581 else 762 else
582 #endif 763 #endif
583 { 764 {
584 XtVaSetValues(textAreaForm, 765 #ifdef FEAT_GUI_TABLINE
585 XmNtopAttachment, XmATTACH_FORM, 766 if (showing_tabline)
586 NULL); 767 {
768 XtVaSetValues(tabLine,
769 XmNtopAttachment, XmATTACH_FORM,
770 NULL);
771 XtVaSetValues(textAreaForm,
772 XmNtopAttachment, XmATTACH_WIDGET,
773 XmNtopWidget, tabLine,
774 NULL);
775 }
776 else
777 #endif
778 XtVaSetValues(textAreaForm,
779 XmNtopAttachment, XmATTACH_FORM,
780 NULL);
587 } 781 }
588 } 782 }
589 783
590 } 784 }
591 785
2768 } 2962 }
2769 } 2963 }
2770 } 2964 }
2771 gui.toolbar_height = gui_mch_compute_toolbar_height(); 2965 gui.toolbar_height = gui_mch_compute_toolbar_height();
2772 XtManageChild(XtParent(toolBar)); 2966 XtManageChild(XtParent(toolBar));
2773 XtVaSetValues(textAreaForm, 2967 #ifdef FEAT_GUI_TABLINE
2774 XmNtopAttachment, XmATTACH_WIDGET, 2968 if (showing_tabline)
2775 XmNtopWidget, XtParent(toolBar), 2969 {
2776 NULL); 2970 XtVaSetValues(tabLine,
2971 XmNtopAttachment, XmATTACH_WIDGET,
2972 XmNtopWidget, XtParent(toolBar),
2973 NULL);
2974 XtVaSetValues(textAreaForm,
2975 XmNtopAttachment, XmATTACH_WIDGET,
2976 XmNtopWidget, tabLine,
2977 NULL);
2978 }
2979 else
2980 #endif
2981 XtVaSetValues(textAreaForm,
2982 XmNtopAttachment, XmATTACH_WIDGET,
2983 XmNtopWidget, XtParent(toolBar),
2984 NULL);
2777 if (XtIsManaged(menuBar)) 2985 if (XtIsManaged(menuBar))
2778 XtVaSetValues(XtParent(toolBar), 2986 XtVaSetValues(XtParent(toolBar),
2779 XmNtopAttachment, XmATTACH_WIDGET, 2987 XmNtopAttachment, XmATTACH_WIDGET,
2780 XmNtopWidget, menuBar, 2988 XmNtopWidget, menuBar,
2781 NULL); 2989 NULL);
2786 } 2994 }
2787 else 2995 else
2788 { 2996 {
2789 gui.toolbar_height = 0; 2997 gui.toolbar_height = 0;
2790 if (XtIsManaged(menuBar)) 2998 if (XtIsManaged(menuBar))
2791 XtVaSetValues(textAreaForm, 2999 {
2792 XmNtopAttachment, XmATTACH_WIDGET, 3000 #ifdef FEAT_GUI_TABLINE
2793 XmNtopWidget, menuBar, 3001 if (showing_tabline)
2794 NULL); 3002 {
3003 XtVaSetValues(tabLine,
3004 XmNtopAttachment, XmATTACH_WIDGET,
3005 XmNtopWidget, menuBar,
3006 NULL);
3007 XtVaSetValues(textAreaForm,
3008 XmNtopAttachment, XmATTACH_WIDGET,
3009 XmNtopWidget, tabLine,
3010 NULL);
3011 }
3012 else
3013 #endif
3014 XtVaSetValues(textAreaForm,
3015 XmNtopAttachment, XmATTACH_WIDGET,
3016 XmNtopWidget, menuBar,
3017 NULL);
3018 }
2795 else 3019 else
2796 XtVaSetValues(textAreaForm, 3020 {
2797 XmNtopAttachment, XmATTACH_FORM, 3021 #ifdef FEAT_GUI_TABLINE
2798 NULL); 3022 if (showing_tabline)
3023 {
3024 XtVaSetValues(tabLine,
3025 XmNtopAttachment, XmATTACH_FORM,
3026 NULL);
3027 XtVaSetValues(textAreaForm,
3028 XmNtopAttachment, XmATTACH_WIDGET,
3029 XmNtopWidget, tabLine,
3030 NULL);
3031 }
3032 else
3033 #endif
3034 XtVaSetValues(textAreaForm,
3035 XmNtopAttachment, XmATTACH_FORM,
3036 NULL);
3037 }
2799 3038
2800 XtUnmanageChild(XtParent(toolBar)); 3039 XtUnmanageChild(XtParent(toolBar));
2801 } 3040 }
2802 gui_set_shellsize(FALSE, FALSE, RESIZE_VERT); 3041 gui_set_shellsize(FALSE, FALSE, RESIZE_VERT);
2803 } 3042 }
2910 Boolean *cont; 3149 Boolean *cont;
2911 { 3150 {
2912 gui_mch_set_footer((char_u *) ""); 3151 gui_mch_set_footer((char_u *) "");
2913 } 3152 }
2914 # endif 3153 # endif
3154 #endif
3155
3156 #if defined(FEAT_GUI_TABLINE) || defined(PROTO)
3157 /*
3158 * Show or hide the tabline.
3159 */
3160 void
3161 gui_mch_show_tabline(int showit)
3162 {
3163 if (tabLine == (Widget)0)
3164 return;
3165
3166 if (!showit != !showing_tabline)
3167 {
3168 if (showit)
3169 {
3170 XtManageChild(tabLine);
3171 XtUnmanageChild(XtNameToWidget(tabLine, "PageScroller"));
3172 #ifdef FEAT_MENU
3173 # ifdef FEAT_TOOLBAR
3174 if (XtIsManaged(XtParent(toolBar)))
3175 XtVaSetValues(tabLine,
3176 XmNtopAttachment, XmATTACH_WIDGET,
3177 XmNtopWidget, XtParent(toolBar), NULL);
3178 else
3179 # endif
3180 if (XtIsManaged(menuBar))
3181 XtVaSetValues(tabLine,
3182 XmNtopAttachment, XmATTACH_WIDGET,
3183 XmNtopWidget, menuBar, NULL);
3184 else
3185 #endif
3186 XtVaSetValues(tabLine,
3187 XmNtopAttachment, XmATTACH_FORM, NULL);
3188 XtVaSetValues(textAreaForm,
3189 XmNtopAttachment, XmATTACH_WIDGET,
3190 XmNtopWidget, tabLine,
3191 NULL);
3192 }
3193 else
3194 {
3195 XtUnmanageChild(tabLine);
3196 #ifdef FEAT_MENU
3197 # ifdef FEAT_TOOLBAR
3198 if (XtIsManaged(XtParent(toolBar)))
3199 XtVaSetValues(textAreaForm,
3200 XmNtopAttachment, XmATTACH_WIDGET,
3201 XmNtopWidget, XtParent(toolBar), NULL);
3202 else
3203 # endif
3204 if (XtIsManaged(menuBar))
3205 XtVaSetValues(textAreaForm,
3206 XmNtopAttachment, XmATTACH_WIDGET,
3207 XmNtopWidget, menuBar, NULL);
3208 else
3209 #endif
3210 XtVaSetValues(textAreaForm,
3211 XmNtopAttachment, XmATTACH_FORM, NULL);
3212 }
3213 showing_tabline = showit;
3214 }
3215 }
3216
3217 /*
3218 * Return TRUE when tabline is displayed.
3219 */
3220 int
3221 gui_mch_showing_tabline(void)
3222 {
3223 return tabLine != (Widget)0 && showing_tabline;
3224 }
3225
3226 /*
3227 * Update the labels of the tabline.
3228 */
3229 void
3230 gui_mch_update_tabline(void)
3231 {
3232 tabpage_T *tp;
3233 int nr = 1, n;
3234 Arg args[10];
3235 int curtabidx = 0, currentpage;
3236 Widget tab;
3237 XmNotebookPageInfo page_info;
3238 XmNotebookPageStatus page_status;
3239 int last_page, tab_count;
3240
3241 if (tabLine == (Widget)0)
3242 return;
3243
3244 /* Add a label for each tab page. They all contain the same text area. */
3245 for (tp = first_tabpage; tp != NULL; tp = tp->tp_next, ++nr)
3246 {
3247 if (tp == curtab)
3248 curtabidx = nr;
3249
3250 page_status = XmNotebookGetPageInfo(tabLine, nr, &page_info);
3251 if (page_status == XmPAGE_INVALID
3252 || page_info.major_tab_widget == (Widget)0)
3253 {
3254 /* Add the tab */
3255 n = 0;
3256 XtSetArg(args[n], XmNnotebookChildType, XmMAJOR_TAB); n++;
3257 XtSetArg(args[n], XmNtraversalOn, False); n++;
3258 XtSetArg(args[n], XmNalignment, XmALIGNMENT_BEGINNING); n++;
3259 XtSetArg(args[n], XmNhighlightThickness, 1); n++;
3260 XtSetArg(args[n], XmNshadowThickness , 1); n++;
3261 tab = XmCreatePushButton(tabLine, "-Empty-", args, n);
3262 XtManageChild(tab);
3263 }
3264 else
3265 tab = page_info.major_tab_widget;
3266
3267 XtVaSetValues(tab, XmNpageNumber, nr, NULL);
3268 get_tabline_label(tp);
3269 XtVaSetValues(tab, XtVaTypedArg, XmNlabelString, XmRString,
3270 NameBuff, STRLEN(NameBuff) + 1, NULL);
3271 }
3272
3273 tab_count = nr - 1;
3274
3275 XtVaGetValues(tabLine, XmNlastPageNumber, &last_page, NULL);
3276
3277 /* Remove any old labels. */
3278 while (nr <= last_page)
3279 {
3280 if (XmNotebookGetPageInfo(tabLine, nr, &page_info) != XmPAGE_INVALID
3281 && page_info.page_number == nr
3282 && page_info.major_tab_widget != (Widget)0)
3283 {
3284 XtUnmanageChild(page_info.major_tab_widget);
3285 XtDestroyWidget(page_info.major_tab_widget);
3286 }
3287 nr++;
3288 }
3289
3290 XtVaSetValues(tabLine, XmNlastPageNumber, tab_count, NULL);
3291
3292 XtVaGetValues(tabLine, XmNcurrentPageNumber, &currentpage, NULL);
3293 if (currentpage != curtabidx)
3294 XtVaSetValues(tabLine, XmNcurrentPageNumber, curtabidx, NULL);
3295 }
3296
3297 /*
3298 * Set the current tab to "nr". First tab is 1.
3299 */
3300 void
3301 gui_mch_set_curtab(nr)
3302 int nr;
3303 {
3304 int currentpage;
3305
3306 if (tabLine == (Widget)0)
3307 return;
3308
3309 XtVaGetValues(tabLine, XmNcurrentPageNumber, &currentpage, NULL);
3310 if (currentpage != nr)
3311 XtVaSetValues(tabLine, XmNcurrentPageNumber, nr, NULL);
3312 }
2915 #endif 3313 #endif
2916 3314
2917 /* 3315 /*
2918 * Set the colors of Widget "id" to the menu colors. 3316 * Set the colors of Widget "id" to the menu colors.
2919 */ 3317 */