; Module/File: LIG_HeaderBackgroundCss_gtk3.pb ; Function: Change whole column header background by CSS - Linux gtk3 ; Author: Omi ; Date: Jul. 27, 2017 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.3/5.4/5.5/5.6 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- ;function depends on window manager & theme EnableExplicit ImportC "" gtk_css_provider_load_from_data(*css_provider, data_.p-utf8, length, *error.GError) gtk_css_provider_new() gtk_style_context_add_provider_for_screen(*screen.GdkScreen, *provider, priority) EndImport ;Object constants #Win_Main= 0 #LIG = 0 Global.i gEvent, gQuit #GTK_STYLE_PROVIDER_PRIORITY_APPLICATION= 600 Enumeration GtkStateFlags #GTK_STATE_FLAG_NORMAL = 0 EndEnumeration Procedure SetTreeViewHeaderBackColor(CSSBGColorName.s, CSSFGColorName.s) Protected.s Style Protected Provider Protected err.GError Protected.i *Screen.GdkScreen Provider = gtk_css_provider_new() Style = "column-header .button { background-color: " + CSSBGColorName + "; color: " + CSSFGColorName + "}"; set for whole Headers gtk_css_provider_load_from_data(Provider, Style, -1, @err) *Screen = gdk_display_get_default_screen_(gdk_display_get_default_()) gtk_style_context_add_provider_for_screen(*Screen, Provider, #GTK_STYLE_PROVIDER_PRIORITY_APPLICATION) g_object_unref_(Provider) EndProcedure Procedure CreateWindow_Main() Protected.i I If OpenWindow(#Win_Main, 0, 0, 600, 300, "ListIcon complete header back- and foreground (gtk3)", #PB_Window_SystemMenu |#PB_Window_ScreenCentered) ListIconGadget(#LIG, 10, 10, 580, 280, "Column 0", 140, #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_GridLines) AddGadgetColumn(#LIG, 1, "Column 1", 140) AddGadgetColumn(#LIG, 2, "Column 2", 140) AddGadgetColumn(#LIG, 3, "Column 3", 140) SetTreeViewHeaderBackColor("SteelBlue", "Yellow") For I= 0 To 9 AddGadgetItem(#LIG, -1, "Cell " + Str(I) + "-0" + #LF$ + "Cell " + Str(I) + "-1" + #LF$ + "Cell " + Str(I) + "-2" + #LF$ + "Cell " + Str(I) + "-3") Next I EndIf EndProcedure CreateWindow_Main() Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True EndSelect Until gQuit ; IDE Options = PureBasic 5.46 LTS Beta 1 (Linux - x86) ; CursorPosition = 42 ; Folding = - ; EnableUnicode ; EnableXP