selected


pfcwnsrv.pbl   >   pfc_m_master   >   m_window   >   selected   

Full name pfc_m_master.m_window.selected
Access public
Extend of
Return value
Prototype event selected()

Name Datatype
No Data

Name Datatype
la_rc any
lb_normal boolean
le_arrange arrangetypes
li_cnt integer
li_rc integer
li_sheetcount integer
lnv_menu n_cst_menu
lw_frame w_frame
lw_obj window
lw_sheet window[]

event selected;//////////////////////////////////////////////////////////////////////////////
//
//	Event:  selected
//
//	Description:
//	Enables menu items based on sheet manager service
//
//////////////////////////////////////////////////////////////////////////////
//	
//	Revision History
//
//	Version
//	5.0   Initial version
//	6.0.01	Remove logic to disable menu items after windows have been minimized 
//
//////////////////////////////////////////////////////////////////////////////
//
//	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.
//
//////////////////////////////////////////////////////////////////////////////

any				la_rc
boolean			lb_normal
integer			li_rc
integer			li_sheetcount
integer			li_cnt = 1
arrangetypes	le_arrange
n_cst_menu		lnv_menu
window			lw_obj
window			lw_sheet[]
w_frame			lw_frame

// Get frame window
li_rc = lnv_menu.of_GetMDIFrame (this, lw_obj)
if li_rc < 0 then
	return
end if

// Determine if frame is a PFC frame descendant
la_rc = lw_obj.dynamic event pfc_descendant()
if IsNull (la_rc) then
	return
end if
lw_frame = lw_obj

// If sheetmanager service is enabled, allow for undo and minimize capabilities
if IsValid (lw_frame.inv_sheetmanager) then

	// First determine if there are any nonminimized sheets open
	li_sheetcount = lw_frame.inv_sheetmanager.of_GetSheets (lw_sheet)
	do while li_cnt <= li_sheetcount and not lb_normal
		if lw_sheet[li_cnt].windowstate <> minimized! then
			lb_normal = true
		end if
		li_cnt++
	loop

	this.m_undoarrange.enabled = true
	this.m_minimizeall.enabled = lb_normal
	this.m_cascade.enabled = lb_normal
	this.m_layer.enabled = lb_normal
	this.m_tilehorizontal.enabled = lb_normal
	this.m_tilevertical.enabled = lb_normal

	// Get current arrange state of windows and set undo text
	le_arrange = lw_frame.inv_sheetmanager.of_GetCurrentState()
	choose case le_arrange
		case tile!
			this.m_undoarrange.text = "&Undo Tile Vertical"
			this.m_undoarrange.microhelp = "Undoes vertical tile arrangement of windows"
		case tilehorizontal!
			this.m_undoarrange.text = "&Undo Tile Horizontal"
			this.m_undoarrange.microhelp = "Undoes horizontal tile arrangement of windows"
		case cascade!
			this.m_undoarrange.text = "&Undo Cascade"
			this.m_undoarrange.microhelp = "Undoes cascaded arrangement of windows"
		case layer!
			this.m_undoarrange.text = "&Undo Layer"
			this.m_undoarrange.microhelp = "Undoes layered arrangement of windows"
		case icons!
			this.m_undoarrange.text = "&Undo Minimize All"
			this.m_undoarrange.microhelp = "Undoes minimization of windows"
		case else
			this.m_undoarrange.enabled = false
			this.m_undoarrange.text = "&Undo"
			this.m_undoarrange.microhelp = "Undo"
	end choose
else
	this.m_minimizeall.enabled = false
	this.m_undoarrange.enabled = false
end if

end event

     
Name Owner
No Data

     
Name Owner
systemfunctions.isnull systemfunctions
systemfunctions.isvalid systemfunctions
pfc_n_cst_winsrv_sheetmanager.of_getsheets pfc_n_cst_winsrv_sheetmanager
pfc_n_cst_winsrv_sheetmanager.of_getcurrentstate pfc_n_cst_winsrv_sheetmanager
pfc_n_cst_menu.of_getmdiframe pfc_n_cst_menu

     
Full name
pfc_m_master.m_window

     
Name Scope
No Data