On template tool, in edition mode, editors dont have popup menu for clipboard operations, only drop.
I have added a popup menu, lets go...
On the templates.pb file, on the beginning :
Code: Select all
Structure Template
Name$
IsDirectory.l
Sublevel.l
IsExpanded.l ; for directories
Comment$
Code$
EndStructure
Global NewList Template.Template()
Global Template_Selection
Global Template_FirstVisible
Global Template_Splitter
Global Template_AskDelete, Backup_Template_AskDelete
Global Template_DragItem
Global TemplateWindowDialog.DialogWindow, TemplateWindowPosition.DialogPosition
Global *Templates.ToolsPanelEntry ; for global access to the data...
; ;
; change for popup menu
Global tmpl_popmenu
#tmpl_popmenu_paste=1
#tmpl_popmenu_cut=2
#tmpl_popmenu_copy=3
#tmpl_popmenu_selall=4
Code: Select all
.....
; disable template window
For i = #GADGET_Template_Add To #GADGET_Template_Tree
DisableGadget(i, 1)
Next i
;
; change for popup menu
tmpl_popmenu=CreatePopupMenu(#PB_Any)
If tmpl_popmenu
MenuItem(#tmpl_popmenu_cut, "Cut")
MenuItem(#tmpl_popmenu_copy, "Copy")
MenuItem(#tmpl_popmenu_paste, "Paste")
MenuItem(#tmpl_popmenu_selall, "Select all")
EndIf
;
.....
Code: Select all
....
ElseIf EventID = #PB_Event_Gadget
If EventGadget() = #GADGET_Template_Save
Length = ScintillaSendMessage(#GADGET_Template_Editor, #SCI_GETTEXTLENGTH, 0, 0)
Text$ = Space(Length)
ScintillaSendMessage(#GADGET_Template_Editor, #SCI_GETTEXT, Length+1, @Text$)
Template()\Code$ = Template_Escape(PeekS(@Text$, -1, #PB_UTF8))
Length = ScintillaSendMessage(#GADGET_Template_SetComment, #SCI_GETTEXTLENGTH, 0, 0)
Text$ = Space(Length)
ScintillaSendMessage(#GADGET_Template_SetComment, #SCI_GETTEXT, Length+1, @Text$)
Template()\Comment$ = Template_Escape(PeekS(@Text$, -1, #PB_UTF8))
SetGadgetText(#GADGET_Template_Comment, GetGadgetText(#GADGET_Template_SetComment))
TemplateWindowEvents(#PB_Event_CloseWindow) ; close the window
; Write the templates immediately to disk, so if the IDE crash or force closed, it won't be lost
Template_Save()
ElseIf EventGadget() = #GADGET_Template_Cancel
TemplateWindowEvents(#PB_Event_CloseWindow)
;
; change for popup menu
ElseIf EventGadget()=#gadget_template_editor Or EventGadget()=#gadget_template_setcomment
If EventType()=#PB_EventType_RightClick
DisplayPopupMenu(tmpl_popmenu,WindowID(GetActiveWindow()))
EndIf
EndIf
; change for popup menu
ElseIf eventid=#PB_Event_Menu
Select EventMenu()
Case #tmpl_popmenu_paste
ScintillaSendMessage(GetActiveGadget(), #SCI_PASTE, 0, 0)
Case #tmpl_popmenu_cut
ScintillaSendMessage(GetActiveGadget(), #SCI_CUT, 0, 0)
Case #tmpl_popmenu_copy
ScintillaSendMessage(GetActiveGadget(), #SCI_COPY, 0, 0)
Case #tmpl_popmenu_selall
ScintillaSendMessage(GetActiveGadget(), #SCI_SELECTALL, 0, 0)
EndSelect
....
Hope its useful...
