|
selected
|
|
Full name
|
pfc_m_master.m_window.selected
|
Access
|
public
|
Extend of
|
|
Return value
|
|
Prototype
|
event selected()
|
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