void AlgorithmDocumentFrame::AddButtonBarTo(wxBoxSizer *verticalSizer) { wxBoxSizer *horizontalSizer = new wxBoxSizer(wxHORIZONTAL); verticalSizer->Add(horizontalSizer, 0, wxALL | wxEXPAND); // TODO - fix this so its not hard coded int width,height, min; GetClientSize(&width, &height); wxCoord x(width/3); wxCoord y(height-40); wxCoord start(width/12); _save = AddButtonWithDefaultSettings(ButtonWidget(ID_Save,"Save",wxPoint(start,y)), horizontalSizer); _submit = AddButtonWithDefaultSettings(ButtonWidget(ID_Submit,"Submit",wxPoint(start+x,y)), horizontalSizer); _close = AddButtonWithDefaultSettings(ButtonWidget(ID_Close,"Close",wxPoint(start+x*2,y)), horizontalSizer); _close->SetDefault(); }
wxFont wxSystemSettingsNative::GetFont( wxSystemFont index ) { wxFont font; switch (index) { case wxSYS_OEM_FIXED_FONT: case wxSYS_ANSI_FIXED_FONT: case wxSYS_SYSTEM_FIXED_FONT: font = *wxNORMAL_FONT; break; case wxSYS_ANSI_VAR_FONT: case wxSYS_SYSTEM_FONT: case wxSYS_DEVICE_DEFAULT_FONT: case wxSYS_DEFAULT_GUI_FONT: if (!gs_fontSystem.IsOk()) { wxNativeFontInfo info; #ifdef __WXGTK3__ GtkStyleContext* sc = gtk_widget_get_style_context(ButtonWidget()); gtk_style_context_set_state(sc, GTK_STATE_FLAG_NORMAL); gtk_style_context_get(sc, GTK_STATE_FLAG_NORMAL, GTK_STYLE_PROPERTY_FONT, &info.description, NULL); #else info.description = ButtonStyle()->font_desc; #endif gs_fontSystem = wxFont(info); #if wxUSE_FONTENUM // (try to) heal the default font (on some common systems e.g. Ubuntu // it's "Sans Serif" but the real font is called "Sans"): if (!wxFontEnumerator::IsValidFacename(gs_fontSystem.GetFaceName()) && gs_fontSystem.GetFaceName() == "Sans Serif") { gs_fontSystem.SetFaceName("Sans"); } #endif // wxUSE_FONTENUM #ifndef __WXGTK3__ info.description = NULL; #endif } font = gs_fontSystem; break; default: break; } wxASSERT( font.IsOk() ); return font; }
static const GtkStyle* ButtonStyle() { return gtk_widget_get_style(ButtonWidget()); }
wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) { GdkRGBA gdkRGBA = { 0, 0, 0, 1 }; switch (index) { case wxSYS_COLOUR_3DLIGHT: case wxSYS_COLOUR_ACTIVEBORDER: case wxSYS_COLOUR_BTNFACE: case wxSYS_COLOUR_DESKTOP: case wxSYS_COLOUR_INACTIVEBORDER: case wxSYS_COLOUR_INACTIVECAPTION: case wxSYS_COLOUR_SCROLLBAR: case wxSYS_COLOUR_WINDOWFRAME: bg(ButtonWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_BTNHIGHLIGHT: case wxSYS_COLOUR_HIGHLIGHT: bg(ButtonWidget(), GTK_STATE_FLAG_SELECTED, gdkRGBA); break; case wxSYS_COLOUR_BTNSHADOW: border(ButtonWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_BTNTEXT: case wxSYS_COLOUR_WINDOWTEXT: fg(ButtonWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_GRAYTEXT: case wxSYS_COLOUR_INACTIVECAPTIONTEXT: fg(ButtonWidget(), GTK_STATE_FLAG_INSENSITIVE, gdkRGBA); break; case wxSYS_COLOUR_HIGHLIGHTTEXT: fg(ButtonWidget(), GTK_STATE_FLAG_SELECTED, gdkRGBA); break; case wxSYS_COLOUR_HOTLIGHT: { static GtkWidget* s_widget; if (s_widget == NULL) { s_widget = gtk_link_button_new(""); gtk_container_add(ContainerWidget(), s_widget); } fg(s_widget, GTK_STATE_FLAG_NORMAL, gdkRGBA); } break; case wxSYS_COLOUR_INFOBK: bg(ToolTipWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_INFOTEXT: fg(ToolTipWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_LISTBOX: bg(ListWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT: fg(ListWidget(), GTK_STATE_FLAG_SELECTED, gdkRGBA); break; case wxSYS_COLOUR_LISTBOXTEXT: fg(ListWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_MENU: bg(MenuItemWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_MENUBAR: bg(MenuBarWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_ACTIVECAPTION: case wxSYS_COLOUR_MENUHILIGHT: bg(MenuItemWidget(), GTK_STATE_FLAG_PRELIGHT, gdkRGBA); break; case wxSYS_COLOUR_MENUTEXT: fg(MenuItemWidget(), GTK_STATE_FLAG_NORMAL, gdkRGBA); break; case wxSYS_COLOUR_APPWORKSPACE: case wxSYS_COLOUR_WINDOW: { GtkWidget* widget = TextCtrlWidget(); GtkStyleContext* sc = gtk_widget_get_style_context(widget); gtk_style_context_save(sc); gtk_style_context_add_class(sc, GTK_STYLE_CLASS_VIEW); bg(widget, GTK_STATE_FLAG_NORMAL, gdkRGBA); gtk_style_context_restore(sc); } break; case wxSYS_COLOUR_CAPTIONTEXT: { GdkRGBA c = { 1, 1, 1, 1 }; gdkRGBA = c; } break; default: wxFAIL_MSG("unknown system colour index"); // fallthrough case wxSYS_COLOUR_3DDKSHADOW: case wxSYS_COLOUR_GRADIENTACTIVECAPTION: case wxSYS_COLOUR_GRADIENTINACTIVECAPTION: // black break; } return wxColour(gdkRGBA); }