of_setcontrolstatus


pfcapsrv.pbl   >   pfc_n_cst_security   >   of_setcontrolstatus   

Full name pfc_n_cst_security.of_setcontrolstatus
Access protected
Extend of integer
Return value integer
Prototype protected function integer of_setcontrolstatus(graphicobject,string,string,string)

Name Datatype
No Data

Name Datatype
l_cb commandbutton
l_cbx checkbox
l_ddlb DROPDOWNLISTBOX
l_ddplb dropdownpicturelistbox
l_dw datawindow
l_em editmask
l_gb groupbox
l_graph graph
l_hpb hprogressbar
l_hsb hscrollbar
l_htb htrackbar
l_lb listbox
l_line line
l_lv listview
l_menu menu
l_mle multilineedit
l_oc olecontrol
l_ocx olecustomcontrol
l_oval oval
l_pb picturebutton
l_phl picturehyperlink
l_pic picture
l_plb picturelistbox
l_rb radiobutton
l_rectangle rectangle
l_roundrectangle roundrectangle
l_rte richtextedit
l_sle singlelineedit
l_st Statictext
l_sth statichyperlink
l_tab tab
l_tv treeview
l_uo userobject
l_vpb vprogressbar
l_vsb vscrollbar
l_vtb vtrackbar
lb_dummy boolean
lb_null boolean
li_idx integer
li_numset integer
li_posi integer
li_rc integer
ls_column string
ls_current_status string
ls_datawindow string
ls_itemname string
ls_mod_string string
ls_orig_filter string
ls_result string

protected function integer of_setcontrolstatus (graphicobject ago_item, string as_window, string as_object, string as_itemname);//////////////////////////////////////////////////////////////////////////////
//
//	Function:  of_SetControlStatus
//
//	Access:  protected
//
//	Arguments : 
//	ago_item		control to be set
//	as_window	name of window that the control is on
//	as_object	object that the control is on within the window
//	as_itemname	name to use instead of the derived name.
//
//	Returns:  Integer
//				The number of controls set
//				 0 = Nothing was set
//				-1 = an error occurred
//
//	Description:  Figure out the kind of control that was passed and then 
//						set it's status as needed
//
//////////////////////////////////////////////////////////////////////////////
//
//	Revision History
//
//	Version
//	5.0   Initial version
//	5.0.03 Added support for drawobjects. These only have a visible attribute
//	6.0 Added new parameter (as_itemname) to support standalone objects
// 7.0 Added support for new controls: vprogressbar, vtrackbar, hprogressbar, 
//		 htrackbar, picturehyperlink, statictexthyperlink
//
//////////////////////////////////////////////////////////////////////////////
//
//	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.
//
//////////////////////////////////////////////////////////////////////////////

string 	ls_itemname,  ls_result, ls_mod_string
integer	li_rc, li_idx, li_posi, li_numset
string	ls_current_status, ls_column
string	ls_datawindow, ls_orig_filter
boolean	lb_dummy, lb_null

menu				l_menu
commandbutton	l_cb
checkbox			l_cbx
radiobutton		l_rb
datawindow		l_dw
userobject		l_uo 
tab				l_tab 
listbox			l_lb
DROPDOWNLISTBOX			l_ddlb
dropdownpicturelistbox	l_ddplb
singlelineedit	l_sle
multilineedit	l_mle
editmask			l_em
picturelistbox	l_plb 
richtextedit	l_rte 
Statictext		l_st 
groupbox			l_gb 
treeview			l_tv 
listview			l_lv 
olecustomcontrol			l_ocx 
picturebutton	l_pb 
graph				l_graph
vscrollbar		l_vsb 
hscrollbar		l_hsb 
picture			l_pic 
line				l_line
rectangle		l_rectangle
roundrectangle l_roundrectangle
oval				l_oval
olecontrol		l_oc
vprogressbar	l_vpb
vtrackbar		l_vtb
hprogressbar	l_hpb
htrackbar		l_htb
picturehyperlink l_phl
statichyperlink l_sth
			
If as_itemname = '' Then
	If as_object = '' Then
		ls_itemname = lower(classname(ago_item))
	Else
		ls_itemname = as_object + '.' + lower(classname(ago_item))
	End If
else
	ls_itemname = as_itemname
End If

Choose Case typeof(ago_item) 
	Case menu!
		l_menu = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_menu.enabled, l_menu.visible)
		If Not l_menu.visible Then 
			// OK, lets see if it has a toolbar and make it invisible as well
			l_menu.toolbaritemvisible = False
		End If
	Case commandbutton!
		l_cb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_cb.enabled, l_cb.visible)
	Case checkbox!
		l_cbx = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_cbx.enabled, l_cbx.visible)
	Case radiobutton!
		l_rb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_rb.enabled, l_rb.visible)
	Case datawindow!
		l_dw = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_dw.enabled, l_dw.visible)
		ls_datawindow = trim(ls_itemname)
		ls_orig_filter = ids_items.Describe("DataWindow.Table.Filter")
		// this filter will keep any columns that have a datawindow reference in it
		is_currfilter = "window=~""+as_window+"~" AND pos(control, ~""+ls_datawindow+"~")"
		IF ids_items.SetFilter("window=~""+as_window+"~" AND pos(control, ~""+ls_datawindow+"~") > 0") <> 1 then return -1
		IF ids_items.Filter() <> 1 then return -1
		il_numberofrows = ids_items.RowCount()
		If il_numberofrows < 0 Then
			Return -1
		ElseIf 	il_numberofrows > 0 Then
			// resort in case the filter reordered things
			ids_items.sort() 
			li_numset += of_setdatawindowcolumns(l_dw)
		End If

		is_currfilter = ls_orig_filter
		IF ids_items.SetFilter(ls_orig_filter) <> 1 Then Return -1
		IF ids_items.Filter() <> 1 Then Return -1
		il_numberofrows = ids_items.RowCount()
		// resort in case the filter reordered things
		ids_items.sort() 
	Case userobject!
		l_uo = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_uo.enabled, l_uo.visible)
	Case tab!
		l_tab = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_tab.enabled, l_tab.visible)
	Case listbox!
		l_lb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_lb.enabled, l_lb.visible)
	Case dropdownlistbox!
		l_ddlb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_ddlb.enabled, l_ddlb.visible)
	Case dropdownpicturelistbox!
		l_ddplb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_ddplb.enabled, l_ddplb.visible)
	Case singlelineedit!
		l_sle = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_sle.enabled, l_sle.visible)
	Case multilineedit!
		l_mle = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_mle.enabled, l_mle.visible)
	Case editmask!
		l_em = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_em.enabled, l_em.visible)
	Case picturelistbox! 
		l_plb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_plb.enabled, l_plb.visible)
	Case richtextedit!
		l_rte = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_rte.enabled, l_rte.visible)
	Case statictext!
		l_st = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_st.enabled, l_st.visible)
	Case groupbox!
		l_gb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_gb.enabled, l_gb.visible)
	Case treeview!
		l_tv = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_tv.enabled, l_tv.visible)
	Case listview!
		l_lv = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_lv.enabled, l_lv.visible)
	Case olecustomcontrol!
		l_ocx = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_ocx.enabled, l_ocx.visible)
	Case picturebutton! 
		l_pb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_pb.enabled, l_pb.visible)
	Case graph!
		l_graph = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_graph.enabled, l_graph.visible)
	Case vscrollbar! // scroll bars can only be visible or invisible not enabled
		l_vsb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, lb_dummy, l_vsb.visible)
	Case hscrollbar!
		l_hsb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, lb_dummy, l_hsb.visible)
	Case picture!
		l_pic = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_pic.enabled, l_pic.visible)
	Case line! 
		l_line = ago_item
		setnull(lb_null)
		li_numset = of_SetState(as_window, ls_itemname, lb_null, l_line.visible)
	Case oval!
		l_oval = ago_item
		setnull(lb_null)
		li_numset = of_SetState(as_window, ls_itemname, lb_null, l_oval.visible)
	Case rectangle!
		l_rectangle = ago_item
		setnull(lb_null)
		li_numset = of_SetState(as_window, ls_itemname, lb_null, l_rectangle.visible)
	Case roundrectangle!
		l_roundrectangle = ago_item
		setnull(lb_null)
		li_numset = of_SetState(as_window, ls_itemname, lb_null, l_roundrectangle.visible)
	Case olecontrol!
		l_oc = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_oc.enabled, l_oc.visible)
	Case vprogressbar!
		l_vpb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, lb_dummy, l_vpb.visible)
	Case vtrackbar!
		l_vtb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, lb_dummy, l_vtb.visible)
	Case hprogressbar!
		l_hpb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, lb_dummy, l_hpb.visible)
	Case htrackbar! 
		l_htb = ago_item
		li_numset = of_SetState(as_window, ls_itemname, lb_dummy, l_htb.visible)
	Case picturehyperlink!
		l_phl = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_phl.enabled, l_phl.visible)
	Case statichyperlink!
		l_sth = ago_item
		li_numset = of_SetState(as_window, ls_itemname, l_sth.enabled, l_sth.visible)
		
	Case Else 
		// Big time error here.
		of_Messagebox('pfc_securitystatuserror', 'of_setcontrolstatus', &
					'Unknown control '+ls_itemname+'. Please contact your system administrator.', &
					stopsign!, OK!, 1)
		Halt Close

End Choose

Return li_numset

end function

     
Name Owner
pfc_n_cst_security.of_setsecurity pfc_n_cst_security
pfc_n_cst_security.of_setcontrolarray pfc_n_cst_security
pfc_n_cst_security.of_setcontrolstatus pfc_n_cst_security

     
Name Owner
powerobject.typeof powerobject
datastore.describe datastore
datastore.filter datastore
datastore.rowcount datastore
datastore.setfilter datastore
datastore.sort datastore
systemfunctions.classname systemfunctions
systemfunctions.lower systemfunctions
systemfunctions.setnull systemfunctions
systemfunctions.trim systemfunctions
pfc_n_cst_security.of_setdatawindowcolumns pfc_n_cst_security
pfc_n_cst_security.of_setstate pfc_n_cst_security
pfc_n_base.of_messagebox pfc_n_base

     
Full name
No Data

     
Name Scope
No Data