#include <cairo/cairo-xlib.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
-#ifdef __APPLE__
+#ifdef OSXAPP
# include <gtkmacintegration/gtkosxapplication.h>
#endif
{
char *msg = mb[i].string;
if(!msg) break;
-#ifdef __APPLE__
+#ifdef OSXAPP
if(!strcmp(msg, "Quit ")) continue; // Quit item will appear automatically in App menu
if(!strcmp(msg, "About XBoard")) msg = "About"; // 'XBoard' will be appended automatically when moved to App menu 1st item
#endif
GdkModifierType accelerator_mods;
gtk_accelerator_parse(mb[i].accel, &accelerator_key, &accelerator_mods);
-#ifdef __APPLE__
+#ifdef OSXAPP
if(accelerator_mods & GDK_CONTROL_MASK) { // in OSX use Meta where Linux uses Ctrl
accelerator_mods &= ~GDK_CONTROL_MASK; // clear Ctrl flag
accelerator_mods |= GDK_META_MASK; // set Meta flag
g_signal_connect(label, "button-press-event", G_CALLBACK(MemoEvent), (gpointer) &option[i]);
gtk_widget_set_sensitive(label, TRUE);
}
- Pack(hbox, table, label, left, left+2, top, 0);
+ Pack(hbox, table, label, left, left+3, top, 0);
break;
case SaveButton:
case Button:
break;
case Graph:
option[i].handle = (void*) (graph = gtk_drawing_area_new());
-// gtk_widget_set_size_request(graph, option[i].max, option[i].value);
+ gtk_widget_set_size_request(graph, option[i].max, option[i].value);
if(0){ GtkAllocation a;
a.x = 0; a.y = 0; a.width = option[i].max, a.height = option[i].value;
gtk_widget_set_allocation(graph, &a);
case DropDown:
top--;
msg = _(option[i].name); // write name on the menu button
-#ifndef __APPLE__
+#ifndef OSXAPP
if(tinyLayout) { strcpy(def, msg); def[tinyLayout] = NULLCHAR; msg = def; } // clip menu text to keep menu bar small
#endif
// XtSetArg(args[j], XtNmenuName, XtNewString(option[i].name)); j++;
break;
case BarEnd:
top--;
-#ifndef __APPLE__
+#ifndef OSXAPP
gtk_table_attach(GTK_TABLE(table), menuBar, left, left+r, top, top+1, GTK_FILL | GTK_EXPAND, GTK_FILL, 2, 1);
if(option[i].target) ((ButtonCallback*)option[i].target)(boxStart); // callback that can make sizing decisions
}
gtk_table_resize(GTK_TABLE(table), top+1, r);
+ if(dlgNr == BoardWindow && appData.fixedSize) { // inhibit sizing
+ GtkWidget *h = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (h), table, TRUE, FALSE, 2);
+ table = h;
+ }
if(pane)
gtk_box_pack_start (GTK_BOX (pane), table, expandable, TRUE, 0);
else
gtk_window_resize(GTK_WINDOW(dialog), wp[dlgNr]->width, wp[dlgNr]->height);
}
+ for(i=0; option[i].type != EndMark; i++) if(option[i].type == Graph)
+ gtk_widget_set_size_request(option[i].handle, -1, -1); // remove size requests after realization, so user can shrink
+
return 1; // tells caller he must do initialization (e.g. add specific event handlers)
}