comparison src/menubar-gtk.c @ 2054:91d4c8c65a0f

[xemacs-hg @ 2004-05-02 04:06:51 by malcolmp] Fix warnings and errors when building GTK using C++ and --use-union-type.
author malcolmp
date Sun, 02 May 2004 04:07:01 +0000
parents b0c1d9dc4b08
children e8db6a10ad42
comparison
equal deleted inserted replaced
2053:11e709117623 2054:91d4c8c65a0f
151 } 151 }
152 152
153 GtkWidget * 153 GtkWidget *
154 gtk_xemacs_menubar_new (struct frame *f) 154 gtk_xemacs_menubar_new (struct frame *f)
155 { 155 {
156 GtkXEmacsMenubar *menubar = gtk_type_new (gtk_xemacs_menubar_get_type ()); 156 GtkXEmacsMenubar *menubar = (GtkXEmacsMenubar*) gtk_type_new (gtk_xemacs_menubar_get_type ());
157 157
158 menubar->frame = f; 158 menubar->frame = f;
159 159
160 return (GTK_WIDGET (menubar)); 160 return (GTK_WIDGET (menubar));
161 } 161 }
171 #endif 171 #endif
172 172
173 173
174 /* Converting from XEmacs to GTK representation */ 174 /* Converting from XEmacs to GTK representation */
175 static Lisp_Object 175 static Lisp_Object
176 menu_name_to_accelerator (char *name) 176 menu_name_to_accelerator (Ibyte *name)
177 { 177 {
178 while (*name) { 178 while (*name) {
179 if (*name=='%') { 179 if (*name=='%') {
180 ++name; 180 ++name;
181 if (!(*name)) 181 if (!(*name))
182 return Qnil; 182 return Qnil;
183 if (*name=='_' && *(name+1)) 183 if (*name=='_' && *(name+1))
184 { 184 {
185 int accelerator = (int) (unsigned char) (*(name+1)); 185 int accelerator = (int) (*(name+1));
186 return make_char (tolower (accelerator)); 186 return make_char (tolower (accelerator));
187 } 187 }
188 } 188 }
189 ++name; 189 ++name;
190 } 190 }
354 mi->timer = 0; 354 mi->timer = 0;
355 } 355 }
356 } 356 }
357 357
358 static char * 358 static char *
359 remove_underscores(const char *name) 359 remove_underscores(const Ibyte* name)
360 { 360 {
361 char *rval = xmalloc_and_zero (strlen(name) + 1); 361 char *rval = (char*) xmalloc_and_zero (strlen((char*) name) + 1);
362 int i,j; 362 int i,j;
363 363
364 for (i = 0, j = 0; name[i]; i++) 364 for (i = 0, j = 0; name[i]; i++)
365 { 365 {
366 if (name[i]=='%') { 366 if (name[i]=='%') {
696 if (!NILP (suffix)) 696 if (!NILP (suffix))
697 suffix = Feval (suffix); 697 suffix = Feval (suffix);
698 698
699 if (!separator_string_p (XSTRING_DATA (name))) 699 if (!separator_string_p (XSTRING_DATA (name)))
700 { 700 {
701 char *label_buffer = NULL; 701 Ibyte *label_buffer = NULL;
702 char *temp_label = NULL; 702 char *temp_label = NULL;
703 703
704 if (STRINGP (suffix) && XSTRING_LENGTH (suffix)) 704 if (STRINGP (suffix) && XSTRING_LENGTH (suffix))
705 { 705 {
706 label_buffer = ALLOCA (XSTRING_LENGTH (name) + 15 + XSTRING_LENGTH (suffix)); 706 label_buffer = (Ibyte*) ALLOCA (XSTRING_LENGTH (name) + 15 + XSTRING_LENGTH (suffix));
707 sprintf (label_buffer, "%s %s ", XSTRING_DATA (name), XSTRING_DATA (suffix)); 707 sprintf ((char*) label_buffer, "%s %s ", XSTRING_DATA (name), XSTRING_DATA (suffix));
708 } 708 }
709 else 709 else
710 { 710 {
711 label_buffer = ALLOCA (XSTRING_LENGTH (name) + 15); 711 label_buffer = (Ibyte*) ALLOCA (XSTRING_LENGTH (name) + 15);
712 sprintf (label_buffer, "%s ", XSTRING_DATA (name)); 712 sprintf ((char*) label_buffer, "%s ", XSTRING_DATA (name));
713 } 713 }
714 714
715 temp_label = remove_underscores (label_buffer); 715 temp_label = remove_underscores (label_buffer);
716 main_label = gtk_accel_label_new (temp_label); 716 main_label = gtk_accel_label_new (temp_label);
717 free (temp_label); 717 free (temp_label);
896 return (rval); 896 return (rval);
897 897
898 } 898 }
899 899
900 static gboolean 900 static gboolean
901 menu_can_reuse_widget (GtkWidget *child, const char *label) 901 menu_can_reuse_widget (GtkWidget *child, const Ibyte *label)
902 { 902 {
903 /* Everything up at the top level was done using 903 /* Everything up at the top level was done using
904 ** gtk_menu_item_new_with_label(), but we still double check to make 904 ** gtk_menu_item_new_with_label(), but we still double check to make
905 ** sure we don't seriously foobar ourselves. 905 ** sure we don't seriously foobar ourselves.
906 */ 906 */