TabBarGadgetExamplesEvent types

TabBarGadget

ConfigurationExamples
Editable tabsEvent typesMultiline tab barSet and get the item stateVertical or mirrored tab bar
FunctionsHistory

Event types

Description

You can use EventType() to get all normal pure basic event types on the canvas gadget and the special events for the tab bar gadget. Also you can get the position of the tab with this event type with GetTabBarGadgetItemPosition(Gadget, #TabBarGadgetItem_Event) or the ID of the tab with TabBarGadgetItemID(Gadget, #TabBarGadgetItem_Event).

Example

XIncludeFile "TabBarGadget.pbi"

Enumeration
  #Window
  #Gadget
EndEnumeration

Procedure GadgetCallback()
  
  Protected Position.i
  Static Number.i = 3
  
  Select EventType()
    Case #TabBarGadget_EventType_NewItem
      Position = AddTabBarGadgetItem(EventGadget(), #PB_Default, "New tab "+Str(Number)) : Number + 1
      SetTabBarGadgetState(EventGadget(), Position)
      Debug "new item at position "+Str(Position)
    Case #TabBarGadget_EventType_CloseItem
      Debug "item closed at position "+Str(GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event))
      RemoveTabBarGadgetItem(EventGadget(), #TabBarGadgetItem_Event)
    Case #TabBarGadget_EventType_Change
      Debug "selected item changed, now at position "+Str(GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event))
    Case #TabBarGadget_EventType_CheckBox
      Debug "check status changed at position "+Str(GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event))
    Case #TabBarGadget_EventType_SwapItem
      Debug "item swaped, now at position "+Str(GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event))
    Case #PB_EventType_RightClick
      Select GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event)
        Case #TabBarGadgetItem_NewTab
          Debug "right click on new tab"
        Case #TabBarGadgetItem_None
          Debug "right click on space"
        Default
          Debug "right click on tab '"+GetTabBarGadgetItemText(EventGadget(), #TabBarGadgetItem_Event)+"'"
      EndSelect
  EndSelect
  
EndProcedure

OpenWindow(#Window, 0, 0, 500, 200, "TabBarGadget", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
TabBarGadget(#Gadget, 10, 10, WindowWidth(#Window)-20, #TabBarGadget_DefaultHeight, #TabBarGadget_CloseButton|#TabBarGadget_CheckBox|#TabBarGadget_NewTab|#TabBarGadget_BottomLine, #Window)
  AddTabBarGadgetItem(#Gadget, #PB_Default, "Any tab 1")
  AddTabBarGadgetItem(#Gadget, #PB_Default, "Any tab 2")
  AddTabBarGadgetItem(#Gadget, #PB_Default, "Any tab 3")
SetTabBarGadgetState(#Gadget, 0)

BindGadgetEvent(#Gadget, @GadgetCallback())

Repeat
  
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      End
  EndSelect
  
ForEver
Union Bytes | Login