[SOLVED] (end)User Friendly Way to delete ListIconGadget line?
Re: [SOLVED] (end)User Friendly Way to delete ListIconGadget line?
Hi Randy
AddKeyboardShortcut(0, #PB_Shortcut_Delete,10)
AddKeyboardShortcut(0, #PB_Shortcut_Delete,10)
Egypt my love
-
Randy Walker
- Addict

- Posts: 1108
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: [SOLVED] (end)User Friendly Way to delete ListIconGadget line?
OHhhh Ok. I didn't even notice that AddKeyboardShortcut in there. I did wonder why there was a windowtimer in there. Still don't really understand why it was necessary.
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
Re: [SOLVED] (end)User Friendly Way to delete ListIconGadget line?
I don't like about timers in this case.
Better add the missing event types Focus and LostFocus for list gadgets
Update
Better add the missing event types Focus and LostFocus for list gadgets
Update
Code: Select all
; Added missing event types
Procedure CheckEvent()
Static actgadget = -1
Static lastgadget = -1
actgadget = GetActiveGadget()
If actgadget <> lastgadget
If lastgadget >= 0
Select GadgetType(lastgadget)
Case #PB_GadgetType_ListIcon, #PB_GadgetType_ListView
PostEvent(#PB_Event_Gadget, GetActiveWindow(), lastgadget, #PB_EventType_LostFocus)
EndSelect
EndIf
If actgadget >= 0
Select GadgetType(actgadget)
Case #PB_GadgetType_ListIcon, #PB_GadgetType_ListView
PostEvent(#PB_Event_Gadget, GetActiveWindow(), actgadget, #PB_EventType_Focus)
EndSelect
EndIf
lastgadget = actgadget
EndIf
EndProcedure
If OpenWindow(0, 100, 100, 300, 300, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 5, 5, 290, 260, "Number", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
For i=1 To 100
AddGadgetItem(0, -1, Str(i))
Next
StringGadget(1,5,270,290,24,"This is a test")
Repeat
event = WaitWindowEvent()
CheckEvent()
Select Event
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case 0
Select EventType()
Case #PB_EventType_Focus
Debug "Focus"
AddKeyboardShortcut(0, #PB_Shortcut_Delete,10)
Case #PB_EventType_LostFocus
Debug "LostFocus"
RemoveKeyboardShortcut(0, #PB_Shortcut_Delete)
EndSelect
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case 10
item = GetGadgetState(0)
If item <> -1
RemoveGadgetItem(0, item)
If item >= CountGadgetItems(o)
item - 1
EndIf
SetGadgetState(0, item)
EndIf
EndSelect
EndSelect
ForEver
EndIf
Last edited by mk-soft on Thu Oct 23, 2025 8:05 am, edited 1 time in total.
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
-
Randy Walker
- Addict

- Posts: 1108
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: [SOLVED] (end)User Friendly Way to delete ListIconGadget line?
Now we're getting down right complicated... Just to allow user item line delete. 
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
-
Randy Walker
- Addict

- Posts: 1108
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: [SOLVED] (end)User Friendly Way to delete ListIconGadget line?
Simple enough to AddGadgetItem, so just seems to me we need a DeleteGadgetItem just to balance the scale. 
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
Re: [SOLVED] (end)User Friendly Way to delete ListIconGadget line?
Code: Select all
Macro DeleteGadgetItem(Gadget, Item)
RemoveGadgetItem(Gadget, Item)
EndMacro
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
- Michael Vogel
- Addict

- Posts: 2819
- Joined: Thu Feb 09, 2006 11:27 pm
- Contact:
Re: [SOLVED] (end)User Friendly Way to delete ListIconGadget line?
It's getting more and more complex...
Code: Select all
; Define
EnableExplicit
Enumeration
#Win
; EndEnumeration : Enumeration
#GadgetList
#GadgetString
; EndEnumeration : Enumeration
#KeyDeleteItems
EndEnumeration
#Undefined=-#True
; EndDefine
Procedure Main()
Protected Event
Protected ActiveGadget=#Undefined
Protected row
Protected i
If OpenWindow(#Win, 100, 100, 300, 300, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(#GadgetList, 5, 5, 290, 260, "Number", 240, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_MultiSelect)
StringGadget(#GadgetString,5,270,290,24,"This is a test")
For i=1 To 100
AddGadgetItem(#GadgetList,#Undefined," Line "+Str(i))
Next
Repeat
Event=WaitWindowEvent()
i=Bool(GetActiveGadget()=#GadgetList)
If i<>ActiveGadget
ActiveGadget=i
If i
AddKeyboardShortcut(#Win, #PB_Shortcut_Delete,#KeyDeleteItems)
Else
RemoveKeyboardShortcut(#Win, #PB_Shortcut_Delete)
EndIf
EndIf
Select Event
;Case #PB_Event_Gadget
; Select EventGadget()
; EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case #KeyDeleteItems
row=GetGadgetState(#GadgetList)
If ActiveGadget And row>#Undefined
i=CountGadgetItems(#GadgetList)
While i
i-1
If GetGadgetItemState(#GadgetList,i)
RemoveGadgetItem(#GadgetList,i)
If i<row
row-1
EndIf
EndIf
Wend
If row=CountGadgetItems(#GadgetList)
row-1
EndIf
SetGadgetState(#GadgetList,row)
EndIf
EndSelect
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
EndIf
EndProcedure
Main()-
Randy Walker
- Addict

- Posts: 1108
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: [SOLVED] (end)User Friendly Way to delete ListIconGadget line?
Duhhhh <<THats Duh as in "Dummy me".mk-soft wrote: Thu Oct 23, 2025 8:00 amCode: Select all
Macro DeleteGadgetItem(Gadget, Item) RemoveGadgetItem(Gadget, Item) EndMacro
Will have to test that out...
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
Re: [SOLVED] (end)User Friendly Way to delete ListIconGadget line?
Hi Randy
This is the last cents I have
Left DbleClick to Delete
Delete w Mouse and Keyboard :
I am almost bankrupted 
This is the last cents I have
Left DbleClick to Delete
Code: Select all
Procedure DelItem()
item = GetGadgetState(0)
result = MessageRequester("Warning","Delete the selected item ?",#PB_MessageRequester_YesNo| #PB_MessageRequester_Warning)
If result = #PB_MessageRequester_Yes
RemoveGadgetItem(0, item)
EndIf
EndProcedure
If OpenWindow(0, 100, 100, 300, 300, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 5, 5, 290, 260, "Number", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
For i=0 To 100
AddGadgetItem(0, -1, Str(i))
Next
StringGadget(1,5,270,290,24,"This is a test")
BindGadgetEvent(0,@DelItem(),#PB_EventType_LeftDoubleClick)
Repeat
Select WaitWindowEvent(1)
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
Code: Select all
Procedure DelItem()
item = GetGadgetState(0)
result = MessageRequester("Warning","Delete the selected item ?",#PB_MessageRequester_YesNo| #PB_MessageRequester_Warning)
If result = #PB_MessageRequester_Yes
RemoveGadgetItem(0, item)
EndIf
EndProcedure
If OpenWindow(0, 100, 100, 300, 300, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 5, 5, 290, 260, "Number", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
For i=0 To 100
AddGadgetItem(0, -1, Str(i))
Next
StringGadget(1,5,270,290,24,"This is a test")
BindGadgetEvent(0,@DelItem(),#PB_EventType_LeftDoubleClick)
Repeat
Select WaitWindowEvent(1)
Case 0
If GetActiveGadget() = 0
AddKeyboardShortcut(0, #PB_Shortcut_Delete,10)
Else
RemoveKeyboardShortcut(0, #PB_Shortcut_Delete)
EndIf
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Menu
Select EventMenu()
Case 10
item = GetGadgetState(0)
result = MessageRequester("Warning","Delete the selected item ?",#PB_MessageRequester_YesNo| #PB_MessageRequester_Warning)
If result = #PB_MessageRequester_Yes
RemoveGadgetItem(0, item)
EndIf
EndSelect
EndSelect
Until Quit = 1
EndIf
Egypt my love

