- Linux Mint 18.3 Sylvia x64 with Cinnamon
- MacOS 10.13.6 'High Sierra'
- Windows 7 SP1 x64
Code: Select all
EnableExplicit
UsePNGImageDecoder()
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
ImportC ""
gtk_widget_is_sensitive(*Widget.GtkWidget)
EndImport
CompilerEndIf
Define i.I
Procedure IsToolBarButtonEnabled(ToolBarID.I, ButtonIndex.I)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
Protected *ToolItem.GtkToolItem
*ToolItem = gtk_toolbar_get_nth_item_(ToolBarID(ToolBarID), ButtonIndex)
ProcedureReturn gtk_widget_is_sensitive(*ToolItem)
CompilerCase #PB_OS_Windows
Protected ButtonInfo.TBBUTTON
SendMessage_(ToolBarID(ToolBarID), #TB_GETBUTTON, ButtonIndex,
@ButtonInfo)
ProcedureReturn (ButtonInfo\fsState & #TBSTATE_ENABLED) >> 2
CompilerCase #PB_OS_MacOS
Protected ItemArray.I
Protected ToolbarItem.I
ItemArray = CocoaMessage(0, ToolBarID(ToolbarID), "items")
ToolbarItem = CocoaMessage(0, ItemArray, "objectAtIndex:", ButtonIndex)
ProcedureReturn CocoaMessage(0, ToolbarItem, "isEnabled")
CompilerEndSelect
EndProcedure
OpenWindow(0, 200, 100, 200, 70, "ToolBar example")
If CreateToolBar(0, WindowID(0))
ToolBarImageButton(0, LoadImage(0, #PB_Compiler_Home +
"examples/sources/Data/ToolBar/New.png"))
ToolBarImageButton(1, LoadImage(0, #PB_Compiler_Home +
"examples/sources/Data/ToolBar/Open.png"))
ToolBarImageButton(2, LoadImage(0, #PB_Compiler_Home +
"examples/sources/Data/ToolBar/Save.png"))
EndIf
; ----- Disable 2nd ToolBar button
DisableToolBarButton(0, 1, #True)
; ----- Display ToolBar button states
For i = 0 To 2
Debug "ToolBar button " + Str(i) + ": " + IsToolBarButtonEnabled(0, i)
Next i
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Menu
Debug "ToolBar button " + Str(EventMenu()) + " was pressed"
EndSelect
ForEver