rightclicked


pfcmain.pbl   >   pfc_u_tvs   >   rightclicked   

Full name pfc_u_tvs.rightclicked
Access public
Extend of
Return value
Prototype event rightclicked()

Name Datatype
No Data

Name Datatype
lb_frame boolean
ll_selected long
lm_view m_tvs
lw_childparent window
lw_frame window
lw_parent window
lw_sheet window

event rightclicked;//////////////////////////////////////////////////////////////////////////////
//
//	Event:  RightClicked
//
//	Description:	Keep track of the item that was clicked.
//						and trigger the popup menu
//
//////////////////////////////////////////////////////////////////////////////
//	
//	Revision History
//
//	Version
//	6.0   Initial version
//
//////////////////////////////////////////////////////////////////////////////
//
//	Copyright © 1996-1997 Sybase, Inc. and its subsidiaries.  All rights reserved.
//	Any distribution of the PowerBuilder Foundation Classes (PFC)
//	source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//
//////////////////////////////////////////////////////////////////////////////

boolean		lb_frame
long			ll_selected
window		lw_parent
window		lw_frame
window		lw_sheet
window		lw_childparent
m_tvs			lm_view

il_RightClicked = handle

// Determine if RMB popup menu should occur
if not ib_rmbmenu then
	return 1
end if

// Determine parent window for PointerX, PointerY offset
this.of_GetParentWindow (lw_parent)
if IsValid (lw_parent) then
	// Get the MDI frame window if available
	lw_frame = lw_parent
	do while IsValid (lw_frame)
		if lw_frame.windowtype = mdi! or lw_frame.windowtype = mdihelp! then
			lb_frame = true
			exit
		else
			lw_frame = lw_frame.ParentWindow()
		end if
	loop
	
	if lb_frame then
		// If MDI frame window is available, use it as the reference point for the
		// popup menu for sheets (windows opened with OpenSheet function) or child windows
		if lw_parent.windowtype = child! then
			lw_parent = lw_frame
		else
			lw_sheet = lw_frame.GetFirstSheet()
			if IsValid (lw_sheet) then
				do
					// Use frame reference for popup menu if the parentwindow is a sheet
					if lw_sheet = lw_parent then
						lw_parent = lw_frame
						exit
					end if
					lw_sheet = lw_frame.GetNextSheet (lw_sheet)
				loop until IsNull(lw_sheet) Or not IsValid (lw_sheet)
			end if
		end if
	else
		// SDI application.  All windows except for child windows will use the parent
		// window of the control as the reference point for the popmenu
		if lw_parent.windowtype = child! then
			lw_childparent = lw_parent.ParentWindow()
			if IsValid (lw_childparent) then
				lw_parent = lw_childparent
			end if
		end if
	end if
else
	return 1
end if

// Create popup menu
if IsNull(lm_view) Or not IsValid (lm_view) then
	lm_view = create m_tvs
	lm_view.of_SetParent (this)
end if

// Set the values of the Arrange Items submenu
ll_selected = this.finditem(currenttreeitem!, 0)

// we have clicked on an item
If il_rightclicked > 0 Then
	lm_view.m_viewitem.m_delete.visible = True
	If this.editlabels Then
		lm_view.m_viewitem.m_rename.visible = True
	Else
		lm_view.m_viewitem.m_rename.visible = False
	End IF
Else
	// We are not on an item
	lm_view.m_viewitem.m_delete.visible = False
	lm_view.m_viewitem.m_rename.visible = False
End IF
	
this.event pfc_prermbmenu (lm_view)

lm_view.m_viewitem.PopMenu (lw_parent.PointerX() + 5, lw_parent.PointerY() + 10)

If IsValid(lm_view) Then Destroy lm_view

return 1

end event

     
Name Owner
No Data

     
Name Owner
menu.popmenu menu
window.getfirstsheet window
window.getnextsheet window
window.parentwindow window
window.pointerx window
window.pointery window
treeview.finditem treeview
systemfunctions.isnull systemfunctions
systemfunctions.isvalid systemfunctions
pfc_u_tvs.of_getparentwindow pfc_u_tvs
pfc_m_tvs.of_setparent pfc_m_tvs
pfc_u_tvs.pfc_prermbmenu pfc_u_tvs

     
Full name
pfc_m_tvs
pfc_m_tvs.m_viewitem

     
Name Scope
No Data