The fact that GTK3 is constantly changing something doesn't make things easy for app developers or Fred either.
Link to Bug-Report:
viewtopic.php?f=23&t=71967Let's see how it works with the GtkCssProviders.
Since I'm not so fit with GTK and CSS, we can switch everything to CSS together.
Thanks to ccode and Oma for help.
Here my current status of the code
Update v1.01Update v1.02- Fixed some colors
- Added SetWindowColor. Thanks to Shardik
Update v1.03- Bugfix memory leak -> gtk_container_get_children_(...) returns a newly-allocated list
Code:
;-TOP
; Workaround Linux GTK3 GadgetColor
; by : mk-soft, ccode, Oma, Shardik
; Version : v1.03
; Create : 25.12.2018
; Update : 06.01.2019
; -----------------------------------------------------------------------------
;- Begin Module GtkGadgetColor
DeclareModule GtkGadgetColor
Declare.s GtkGetVersionString()
Declare GtkSetWindowColor(Window, Color)
Declare GtkSetGadgetColor(Gadget, ColorType, Color)
Declare SetSelectedColor(Color)
Declare SetSelectionColor(Color)
Macro SetWindowColor(Window, Color)
GTKSetWindowColor(Window, Color)
EndMacro
Macro SetGadgetColor(Gadget, ColorType, Color)
GtkSetGadgetColor(Gadget, ColorType, Color)
EndMacro
EndDeclareModule
Module GtkGadgetColor
EnableExplicit
;- Imports
ImportC ""
;
gtk_get_major_version()
gtk_get_minor_version()
gtk_get_micro_version()
;
gtk_widget_override_color(*handle, state, color)
gtk_widget_override_background_color(*handle, state, color)
;
gtk_widget_get_style_context(*Widget.GtkWidget)
gtk_css_provider_new()
gtk_css_provider_load_from_data(*CSSProvider, CSSData.p-utf8, Length, *Error.GError)
gtk_style_context_add_provider(*CSSContext, *CSSProvider, Priority)
gtk_style_context_remove_provider(*CSSContext, *CSSProvider)
;
gtk_widget_get_screen(*Widget.GtkWidget)
gtk_style_context_add_provider_for_screen(*CSSContext, *CSSProvider, Priority)
gtk_style_context_remove_provider_for_screen(*CSSContext, *CSSProvider)
;
gtk_style_context_add_class(*CSSContext, ClassName.p-utf8)
gtk_style_context_list_classes(*CSSContext)
gtk_viewport_get_view_window(*Viewport)
EndImport
;- Constants
#GTK_STATE_FLAG_NORMAL = 0
#GTK_STATE_FLAG_ACTIVE = 1 << 0
#GTK_STATE_FLAG_PRELIGHT = 1 << 1
#GTK_STATE_FLAG_SELECTED = 1 << 2
#GTK_STATE_FLAG_INSENSITIVE = 1 << 3
#GTK_STATE_FLAG_INCONSISTENT = 1 << 4
#GTK_STATE_FLAG_FOCUSED = 1 << 5
#GTK_STATE_FLAG_BACKDROP = 1 << 6
#GTK_STATE_FLAG_DIR_LTR = 1 << 7
#GTK_STATE_FLAG_DIR_RTL = 1 << 8
#GTK_STYLE_PROVIDER_PRIORITY_FALLBACK = 1
#GTK_STYLE_PROVIDER_PRIORITY_THEME = 200
#GTK_STYLE_PROVIDER_PRIORITY_SETTINGS = 400
#GTK_STYLE_PROVIDER_PRIORITY_APPLICATION = 600
#GTK_STYLE_PROVIDER_PRIORITY_USER = 800
;- Structures
Structure GdkRGBA
red.d
green.d
blue.d
alpha.d
EndStructure
;- Maps
Global NewMap CSSProviderList()
;- Global Variables
Global GTKMinorVersion = gtk_get_minor_version()
Global CSSColorSelected.s = "RGB(128,128,255)"
Global CSSColorSelection.s = "RGB(160,160,255)"
;- Macros
Macro PB(Function)
Function
EndMacro
Macro SetProvider()
CSSProvider = gtk_css_provider_new()
CSSContext = gtk_widget_get_style_context(GadgetID(Gadget))
If FindMapElement(CSSProviderList(), Hex(gadget) + "/" + Hex(ColorType))
gtk_style_context_remove_provider(CSSContext, CSSProviderList())
EndIf
CSSProviderList(Hex(gadget) + "/" + Hex(ColorType)) = CSSProvider
gtk_css_provider_load_from_data(CSSProvider, CSSData, -1, 0)
gtk_style_context_add_provider(CSSContext, CSSProvider, #GTK_STYLE_PROVIDER_PRIORITY_USER)
g_object_unref_(CSSProvider)
EndMacro
Macro SetOverride()
*GdKColor = AllocateStructure(GdkRGBA)
*GdKColor\red = (1.0/255.) * Red(Color)
*GdKColor\green = (1.0/255.0) * Green(Color)
*GdKColor\blue = (1.0/255.0) * Blue(Color)
*GdKColor\alpha = 1.0
Select ColorType
Case #PB_Gadget_FrontColor
gtk_widget_override_color(GadgetID(Gadget), #GTK_STATE_FLAG_NORMAL, *GdKColor)
Case #PB_Gadget_BackColor
gtk_widget_override_background_color(GadgetID(Gadget), #GTK_STATE_FLAG_NORMAL, *GdKColor)
*GdKColor\red = 0.0
*GdKColor\green = 0.0
*GdKColor\blue = 1.0
*GdKColor\alpha = 0.5
gtk_widget_override_background_color(GadgetID(Gadget), #GTK_STATE_FLAG_SELECTED, *GdKColor)
Default
PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
FreeStructure(*GDKColor)
EndMacro
; ---------------------------------------------------------------------------
Procedure.s CSSColorString(color)
!mov eax, dword [p.v_color]
!bswap eax
!shr eax, 8
!mov dword [p.v_color], eax
ProcedureReturn "#" + Hex(Color)
EndProcedure
; ---------------------------------------------------------------------------
Procedure.s CSSColorStringLight(color, prozent)
Protected r1.s, r,g,b
r = Red(color) * prozent / 100
g = Green(color) * prozent / 100
b = Blue(color) * prozent / 100
r1 = "rgb(" + r + "," + g + "," + b + ")"
ProcedureReturn r1
EndProcedure
; ---------------------------------------------------------------------------
Procedure SetSelectedColor(Color)
CSSColorSelected = CSSColorString(Color)
EndProcedure
; ---------------------------------------------------------------------------
Procedure SetSelectionColor(Color)
CSSColorSelection = CSSColorString(Color)
EndProcedure
; ---------------------------------------------------------------------------
Procedure.s GtkGetVersionString()
Protected major, minor, micro
major = gtk_get_major_version()
minor = gtk_get_minor_version()
micro = gtk_get_micro_version()
ProcedureReturn "" + major + "." + minor + "." + micro
EndProcedure
; ---------------------------------------------------------------------------
Procedure GtkSetWindowColor(Window, Color)
Static NewMap CSSProviderMap()
Protected CSSProvider, CSSContainer, CSSContext, CSSColor.s, CSSData.s
Protected GList
CSSColor = CSSColorString(Color)
If GTKMinorVersion > 15
CSSData = "window.background {background-color: " + CSSColor + ";}"
CSSContainer = WindowID(Window)
Else
CSSData = "GtkLayout {background-color: " + CSSColor + ";}"
GList = gtk_container_get_children_(WindowID(Window))
CSSContainer = g_list_nth_data_(GList, 0)
g_list_free_(GList)
GList = gtk_container_get_children_(CSSContainer)
CSSContainer = g_list_nth_data_(GList, 0)
g_list_free_(GList)
EndIf
CSSProvider = gtk_css_provider_new()
CSSContext = gtk_widget_get_style_context(CSSContainer)
If FindMapElement(CSSProviderMap(), Hex(Window))
gtk_style_context_remove_provider(CSSContext, CSSProviderMap())
EndIf
CSSProviderMap(Hex(Window)) = CSSProvider
gtk_css_provider_load_from_data(CSSProvider, CSSData, -1, 0)
gtk_style_context_add_provider(CSSContext, CSSProvider, #GTK_STYLE_PROVIDER_PRIORITY_USER)
g_object_unref_(CSSProvider)
EndProcedure
; ---------------------------------------------------------------------------
Procedure GtkSetGadgetColor(Gadget, ColorType, Color)
Protected CSSProvider, CSSContext, CSSColor.s, CSSColor2.s, CSSData.s
Protected GList, Layer, Layer2, Layer3
Protected *GdKColor.GdkRGBA
If GTKMinorVersion <= 15
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndIf
Select GadgetType(Gadget)
Case #PB_GadgetType_Button
;-* #PB_GadgetType_Button
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* button {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* button {background: " + CSSColor + ";}"
CSSData + "* button:active {" + "background: " + CSSColorSelected + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_ButtonImage
;-* #PB_GadgetType_ButtonImage
;TODO
PB(SetGadgetColor)(Gadget, ColorType, Color)
Case #PB_GadgetType_Calendar
;-* #PB_GadgetType_Calendar
;TODO Override
SetOverride()
Case #PB_GadgetType_CheckBox
;-* #PB_GadgetType_CheckBox
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* checkbutton {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* checkbutton {background: " + CSSColor + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_ComboBox
;-* #PB_GadgetType_ComboBox
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* .combo {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* .combo {background: " + CSSColor + ";}"
;CSSData + "* .combo:focus {" + "background: " + CSSColorSelected + ";}"
;CSSData + "* .combo > selection {" + "background-color: " + CSSColorSelection + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
Layer = gtk_bin_get_child_(GadgetID(Gadget))
Layer2 = gtk_widget_get_parent_(Layer)
Layer3 = gtk_widget_get_parent_(Layer2)
CSSContext = gtk_widget_get_style_context(Layer3)
CSSProvider = gtk_css_provider_new()
If FindMapElement(CSSProviderList(), Hex(gadget) + "/" + Hex(ColorType))
gtk_style_context_remove_provider(CSSContext, CSSProviderList())
EndIf
CSSProviderList(Hex(gadget) + "/" + Hex(ColorType)) = CSSProvider
gtk_css_provider_load_from_data(CSSProvider, CSSData, -1, 0)
gtk_style_context_add_provider(CSSContext, CSSProvider, #GTK_STYLE_PROVIDER_PRIORITY_USER)
g_object_unref_(CSSProvider)
Case #PB_GadgetType_Container
;-* #PB_GadgetType_Container
;TODO
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
Case #PB_GadgetType_Date
;-* #PB_GadgetType_Date
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* entry {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* entry {background: " + CSSColor + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_Editor
;-* #PB_GadgetType_Editor
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* text {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* text {background: " + CSSColor + ";}"
CSSData + "* text > selection {" + "background-color: " + CSSColorSelection + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_ExplorerCombo
;-* #PB_GadgetType_ExplorerCombo
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* .combo {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* .combo {background: " + CSSColor + ";}"
;CSSData + "*.combo:focus {" + "background: " + CSSColorSelected + ";}"
;CSSData + "*.combo > selection {" + "background-color: " + CSSColorSelection + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
GList = gtk_container_get_children_(GadgetID(Gadget))
Layer = g_list_nth_data_(GList, 0)
g_list_free_(GList)
CSSContext = gtk_widget_get_style_context(Layer)
CSSProvider = gtk_css_provider_new()
If FindMapElement(CSSProviderList(), Hex(gadget) + "/" + Hex(ColorType))
gtk_style_context_remove_provider(CSSContext, CSSProviderList())
EndIf
CSSProviderList(Hex(gadget) + "/" + Hex(ColorType)) = CSSProvider
gtk_css_provider_load_from_data(CSSProvider, CSSData, -1, 0)
gtk_style_context_add_provider(CSSContext, CSSProvider, #GTK_STYLE_PROVIDER_PRIORITY_USER)
g_object_unref_(CSSProvider)
Case #PB_GadgetType_ExplorerList, #PB_GadgetType_ExplorerTree
;-* #PB_GadgetType_ExplorerList, #PB_GadgetType_ExplorerTree
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* .view {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* .view {background: " + CSSColor + ";}"
CSSData + "* .view:selected {background: " + CSSColorSelected + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_Frame
;-* #PB_GadgetType_Frame
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* frame {color: " + CSSColor + "};"
Case #PB_Gadget_BackColor
CSSData = "* border {background: " + CSSColor + ";} "
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_HyperLink
;-* #PB_GadgetType_HyperLink
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
;Intern: <span color='#0000FF'>Text</span>
ProcedureReturn 0
Case #PB_Gadget_BackColor
CSSData = "* label {background: " + CSSColor + "};"
Default
EndSelect
SetProvider()
Case #PB_GadgetType_IPAddress
;-* #PB_GadgetType_IPAddress
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* entry {color: " + CSSColor + "};"
Case #PB_Gadget_BackColor
CSSData = "* entry {background: " + CSSColor + "};"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_ListIcon, #PB_GadgetType_ListView, #PB_GadgetType_Tree
;-* #PB_GadgetType_ListIcon, #PB_GadgetType_ListView, #PB_GadgetType_Tree
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* .view {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* .view {background: " + CSSColor + ";}"
CSSData + "* .view:selected {background: " + CSSColorSelected + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_Option
;-* #PB_GadgetType_Option
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* radiobutton {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* radiobutton {background: " + CSSColor + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_Panel
;-* #PB_GadgetType_Panel
CSSColor = CSSColorString(Color)
CSSColor2 = CSSColorStringLight(Color, 90)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* box * {background: " + CSSColor + ";}"
CSSData + "* .top * {background: " + CSSColor2 + ";}"
CSSData + "* .up {background: transparent}"
CSSData + "* .down {background: transparent}"
CSSData + "* :checked {background: " + CSSColor + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_ProgressBar
;-* #PB_GadgetType_ProgressBar
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* .left {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
;Eigentlich: .left{background-image: linear-gardient(..,..)}
CSSData = "* .left {background: " + CSSColor + ";}"
CSSData + "* .left:selected {background: " + CSSColorSelected + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_Scintilla
;-* #PB_GadgetType_Scintilla
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
ScintillaSendMessage(Gadget, #SCI_STYLESETFORE, #STYLE_DEFAULT, color)
ScintillaSendMessage(Gadget, #SCI_STYLECLEARALL)
Case #PB_Gadget_BackColor
ScintillaSendMessage(Gadget, #SCI_STYLESETBACK, #STYLE_DEFAULT, color)
ScintillaSendMessage(Gadget, #SCI_STYLECLEARALL)
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
Case #PB_GadgetType_ScrollArea
;-* #PB_GadgetType_ScrollArea (Bug ?)
;ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
; Nothing
ProcedureReturn 0
Case #PB_Gadget_BackColor
CSSData = "* > box > label {background: " + CSSColor + "};"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_ScrollBar
;-* #PB_GadgetType_ScrollBar
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* slider {background: " + CSSColor + "};"
Case #PB_Gadget_BackColor
CSSData = "* scrollbar {background: " + CSSColor + "};"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_Shortcut
;-* #PB_GadgetType_Shortcut
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* entry {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* entry {background: " + CSSColor + ";}"
CSSData + "* entry > selection {" + "background-color: " + CSSColorSelected + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_Spin
;-* #PB_GadgetType_Spin
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = ".input {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "*.input {background: " + CSSColor + ";}"
CSSData + "*.input:focus {" + "background: " + CSSColorSelected + ";}"
CSSData + "*.input > selection {" + "background-color: " + CSSColorSelection + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
GList = gtk_container_get_children_(GadgetID(Gadget))
Layer = g_list_nth_data_(GList, 0)
g_list_free_(GList)
CSSContext = gtk_widget_get_style_context(Layer)
CSSProvider = gtk_css_provider_new()
If FindMapElement(CSSProviderList(), Hex(gadget) + "/" + Hex(ColorType))
gtk_style_context_remove_provider(CSSContext, CSSProviderList())
EndIf
CSSProviderList(Hex(gadget) + "/" + Hex(ColorType)) = CSSProvider
gtk_css_provider_load_from_data(CSSProvider, CSSData, -1, 0)
gtk_style_context_add_class(CSSContext, "input")
gtk_style_context_add_provider(CSSContext, CSSProvider, #GTK_STYLE_PROVIDER_PRIORITY_APPLICATION)
g_object_unref_(CSSProvider)
Case #PB_GadgetType_Splitter
;-* #PB_GadgetType_Splitter
;TODO
PB(SetGadgetColor)(Gadget, ColorType, Color)
Case #PB_GadgetType_String
;-* #PB_GadgetType_String
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* entry {color: " + CSSColor + ";}"
Case #PB_Gadget_BackColor
CSSData = "* entry {background: " + CSSColor + ";}"
CSSData + "* entry:focus {" + "background-color: " + CSSColorSelected + ";}"
CSSData + "* entry > selection {" + "background-color: " + CSSColorSelection + ";}"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_Text
;-* #PB_GadgetType_Text
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* label {color: " + CSSColor + "};"
Case #PB_Gadget_BackColor
CSSData = "* label {background: " + CSSColor + "};"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Case #PB_GadgetType_TrackBar
;-* #PB_GadgetType_TrackBar
CSSColor = CSSColorString(Color)
Select ColorType
Case #PB_Gadget_FrontColor
CSSData = "* slider {background: " + CSSColor + "};"
Case #PB_Gadget_BackColor
CSSData = "* highlight {background: " + CSSColor + "};"
Default
ProcedureReturn PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
SetProvider()
Default
PB(SetGadgetColor)(Gadget, ColorType, Color)
EndSelect
EndProcedure
EndModule
;- End Module GtkGadgetColor
; *****************************************************************************
CompilerIf #PB_Compiler_IsMainFile
UseModule GtkGadgetColor
If OpenWindow(0, 80, 80, 400, 240, "Gadget (GTK v" + GtkGetVersionString() + ")", #PB_Window_SystemMenu)
;widget = ButtonGadget(0, 10, 10, 380, 25, "Button")
;widget = CalendarGadget(0, 10, 10, 380, 25)
;widget = CheckBoxGadget(0, 10, 10, 380, 25, "Check 1")
;widget = ComboBoxGadget(0, 10, 10, 380, 25)
;widget = ContainerGadget(0, 10, 10, 380, 220, #PB_Container_Raised) : CloseGadgetList()
;widget = ContainerGadget(0, 10, 10, 380, 220) : CloseGadgetList()
;widget = DateGadget(0, 10, 10, 380, 25)
;widget = EditorGadget(0, 10, 10, 380, 220)
;widget = ExplorerComboGadget(0, 10, 10, 380, 25, "/")
;widget = ExplorerListGadget(0, 10, 10, 380, 220, "/")
;widget = ExplorerTreeGadget(0, 10, 10, 380, 220, "/")
;widget = FrameGadget(0, 10, 10, 380, 220, "Text")
;widget = HyperLinkGadget(0, 10, 10, 380, 220, "Text", #Blue)
;widget = IPAddressGadget(0, 10, 10, 380, 25)
;widget = ListViewGadget(0, 10, 10, 380, 220)
;widget = ListIconGadget(0, 10, 10, 380, 220, "Column 1", 150) : AddGadgetColumn(0, 1, "Column 2", 150)
;widget = OptionGadget(0, 10, 10, 380, 25, "Option 1")
widget = PanelGadget(0, 10, 10, 380, 220)
;widget = ProgressBarGadget(0, 10, 10, 380, 40, 0, 100) : SetGadgetState(0, 50)
;widget = TextGadget(0, 10, 10, 380, 220, "Hello World!")
;widget = TreeGadget(0, 10, 10, 380, 220) : For i = 0 To 5 : AddGadgetItem (ID, -1, "Item "+Str(a), 0, i % 2) : Next
;widget = ScintillaGadget(0, 10, 10, 380, 220, 0) : SetGadgetText(0, "Hello world!")
;widget = ScrollAreaGadget(0, 10, 10, 380, 220, 760, 440, #PB_ScrollArea_Single) : TextGadget(1, 5, 5, 200,40, "Text") : CloseGadgetList()
;widget = ShortcutGadget(0, 10, 10, 380, 40, #PB_Shortcut_End)
;widget = SpinGadget(0, 10, 10, 380, 40, 0, 100, #PB_Spin_Numeric) : SetGadgetState(0, 50)
;widget = StringGadget(0, 10, 10, 380, 25, "Hello World!")
;widget = TrackBarGadget(0, 10, 10, 380, 40, 0, 100) : SetGadgetState(0, 50)
For a = 1 To 16
AddGadgetItem (0, -1, "Item " + Str(a)) ; define listview content
Next
SetWindowColor(0, #Gray)
;SetGadgetColor(0, #PB_Gadget_FrontColor, #Red)
;SetGadgetColor(0, #PB_Gadget_BackColor, #Yellow)
SetGadgetColor(0, #PB_Gadget_FrontColor, #White)
SetGadgetColor(0, #PB_Gadget_BackColor, $5D524E)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
CompilerEndIf