-#ifdef __WXGTK20__
- static wxSize size = wxDefaultSize;
- if (size == wxDefaultSize)
- {
- // NB: Default size of buttons should be same as size of stock
- // buttons as used in most GTK+ apps. Unfortunately it's a little
- // tricky to obtain this size: stock button's size may be smaller
- // than size of button in GtkButtonBox and vice versa,
- // GtkButtonBox's minimal button size may be smaller than stock
- // button's size. We have to retrieve both values and combine them.
-
- GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- GtkWidget *box = gtk_hbutton_box_new();
- GtkWidget *btn = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
- gtk_container_add(GTK_CONTAINER(box), btn);
- gtk_container_add(GTK_CONTAINER(wnd), box);
- GtkRequisition req;
- gtk_widget_size_request(btn, &req);
-
- gint minwidth, minheight;
- gtk_widget_style_get(box,
- "child-min-width", &minwidth,
- "child-min-height", &minheight,
- NULL);
-
- size.x = wxMax(minwidth, req.width);
- size.y = wxMax(minheight, req.height);
-
- gtk_widget_destroy(wnd);
- }
- return size;
-#else