$PBExportHeader$u_dw_form.sru $PBExportComments$Form entry datawindow forward global type u_dw_form from u_dw end type end forward global type u_dw_form from u_dw event ke_validatefailed ( long row, string dwcolumnname, string displaymessage ) event ke_validatefailedshowall ( long row[], string dwcolumnname[], string displaymessage[] ) event ke_dropdown pbm_dwndropdown event ke_preinitservice ( ) end type global u_dw_form u_dw_form type variables Public: Boolean #Tooltips Boolean #EditMode Boolean #AutoSizeColumns = TRUE Boolean #ValidateRequiredFields = TRUE Boolean #StandardDropDownDatawindow = TRUE Boolean #DropDownServices = TRUE Boolean #DropDownDateTime = TRUE Boolean #IgnoreDateTimeError = TRUE Boolean #PromptValidationErrors = TRUE Boolean #StopOnFirstValidationError = TRUE Protected: string is_validatecolumns[] CONSTANT string DW_FORM_SERVICE = "n_svc_dw_form" //Private: string is_taborders boolean INIT_EDITMODE boolean IS_EDITMODE n_base_dropdown inv_dd Private: CONSTANT string DEFAULT_TIP = "||DW TIP||" long ToolTipID, BaloonToolTipID String dwTooltip, LastDWO Boolean HitTest, IsBalloon integer ii_lastx, ii_lasty end variables forward prototypes public subroutine of_standarddddw () public subroutine of_initvalidatefields () public function integer of_validatefields () public subroutine of_autosizecolumns (readonly boolean ab_autosize) public subroutine of_editmode (readonly boolean ab_editmode) public subroutine of_initeditmode () public function boolean of_iseditmode () public function integer of_setdataobject (readonly string as_dataobjectname) public subroutine of_initdropdownservices () protected subroutine of_recalcdddw () public subroutine of_setcolumndropdown (readonly string as_colname, readonly string as_dropdownservice) public function integer of_initallservices () public subroutine of_autosizecolumns (readonly boolean ab_autosize, readonly boolean ab_initcolsize) public subroutine of_autosizecolumns (readonly boolean ab_autosize, readonly boolean ab_initcolsize, readonly boolean ab_halfpad) public subroutine of_tooltips (readonly boolean ab_tooltips) public subroutine of_addtooltip (readonly string as_colname, readonly string as_tooltip) public subroutine of_addtooltip (readonly string as_colname, readonly boolean ab_balloon, readonly icon ai_icon, readonly string as_title, readonly string as_tooltip) public subroutine of_resetvalidate () end prototypes event ke_validatefailed(long row, string dwcolumnname, string displaymessage);string ls_title, ls_msg ls_title = "Required Value Missing" ls_msg = "Please supply a value for " + displaymessage + "." IF #PromptValidationErrors THEN MessageBox(ls_title, ls_msg, Exclamation!) END IF this.ScrollToRow(row) this.SetFocus() this.SetRow(row) this.SetColumn(dwcolumnname) end event event ke_validatefailedshowall(long row[], string dwcolumnname[], string displaymessage[]);string ls_title, ls_msg long ll_ctr, n ll_ctr = UPPERBOUND(displaymessage) FOR n = 1 TO ll_ctr ls_msg += displaymessage[n] IF n < ll_ctr THEN ls_msg += CString.CR_NEWLINE NEXT ls_title = "Required Value(s) Missing" ls_msg = "Please supply a value for the following:" + & CString.CR_NEWLINE + CString.CR_NEWLINE + & ls_msg IF #PromptValidationErrors THEN MessageBox(ls_title, ls_msg, Exclamation!) END IF this.ScrollToRow(row[1]) this.SetFocus() this.SetRow(row[1]) IF ll_ctr = 1 THEN this.SetColumn(dwcolumnname[1]) END IF end event event ke_dropdown;IF #DropDownServices THEN n_svc_dropdown lnv_dd n_svc_mgr lnv_svc lnv_svc.of_LoadSvc(lnv_dd, CSvc.DROPDOWN) RETURN lnv_dd.of_showdropdown(lnv_svc, this, this.GetRow(), this.GetColumnName(), inv_dd) ELSE RETURN CRet.NO_ACTION END IF end event event ke_preinitservice();//fired prior to running services end event public subroutine of_standarddddw ();n_svc_mgr lnv_svc n_svc_dw_form lnv_dwf lnv_svc.of_LoadSvc(lnv_dwf, DW_FORM_SERVICE) lnv_dwf.of_StandardDDDW(lnv_svc, this) end subroutine public subroutine of_initvalidatefields ();string ls_empty[] n_svc_dw_form lnv_dw n_svc_mgr lnv_svcman IF NOT #ValidateRequiredFields THEN RETURN //clear array is_validatecolumns = ls_empty lnv_svcman.of_loadsvc(lnv_dw, DW_FORM_SERVICE) lnv_dw.of_InitValidateFields(this, is_validatecolumns) end subroutine public function integer of_validatefields ();long ll_ret, n, ll_rows[] n_svc_mgr lnv_svcman n_svc_dw_form lnv_dw string ls_columns[], ls_msgs[] IF NOT #ValidateRequiredFields THEN RETURN CRet.NO_ACTION IF NOT of_IsEditMode() THEN RETURN CRet.NO_ACTION lnv_svcman.of_loadsvc(lnv_dw, DW_FORM_SERVICE) TRY ll_ret = & lnv_dw.of_ValidateFields(lnv_svcman, & this, & is_validatecolumns, & ls_columns, & ll_rows, & ls_msgs) IF ll_ret > 0 THEN IF #StopOnFirstValidationError THEN //show only first error EVENT ke_validatefailed(ll_rows[1], ls_columns[1], ls_msgs[1]) ELSE //show all errors EVENT ke_validatefailedshowall(ll_rows, ls_columns, ls_msgs) END IF END IF CATCH (Exception ex) ll_ret = CRet.FAILURE FINALLY RETURN ll_ret END TRY end function public subroutine of_autosizecolumns (readonly boolean ab_autosize);of_AutosizeColumns(ab_autosize, FALSE) end subroutine public subroutine of_editmode (readonly boolean ab_editmode);n_svc_mgr lnv_svc n_svc_dw_form lnv_f IF NOT INIT_EDITMODE THEN of_initeditmode() IS_EDITMODE = ab_editmode lnv_svc.of_LoadSvc(lnv_f, DW_FORM_SERVICE) lnv_f.of_EditMode(lnv_svc, this, is_taborders, is_validatecolumns, ab_editmode, #StandardDropdownDatawindow) end subroutine public subroutine of_initeditmode ();n_svc_mgr lnv_svc n_svc_dw_form lnv_f lnv_svc.of_LoadSvc(lnv_f, DW_FORM_SERVICE) is_taborders = lnv_f.of_GetTabSequence(lnv_svc, this) INIT_EDITMODE = TRUE end subroutine public function boolean of_iseditmode ();RETURN IS_EDITMODE end function public function integer of_setdataobject (readonly string as_dataobjectname);IF SUPER::of_SetDataobject(as_dataobjectname) = CRet.FAILURE THEN & RETURN CRet.FAILURE RETURN of_InitAllServices() end function public subroutine of_initdropdownservices ();IF #DropDownServices THEN n_svc_mgr lnv_svc n_svc_dropdown lnv_dd lnv_svc.of_LoadSvc(lnv_dd, CSvc.DROPDOWN) //date/time IF #DropDownDateTime THEN lnv_dd.of_DropdownDatetime(lnv_svc, this) END IF //init lnv_dd.of_InitDropdownServices(lnv_svc, this) END IF end subroutine protected subroutine of_recalcdddw ();n_svc_mgr lnv_svc n_svc_dw_form lnv_dwf lnv_svc.of_LoadSvc(lnv_dwf, DW_FORM_SERVICE) lnv_dwf.of_RecalcDDDW(lnv_svc, this) end subroutine public subroutine of_setcolumndropdown (readonly string as_colname, readonly string as_dropdownservice);n_svc_mgr lnv_svc n_svc_dropdown lnv_dd lnv_svc.of_LoadSvc(lnv_dd, CSvc.DROPDOWN) lnv_dd.of_setdropdownservice(lnv_svc, this, as_colname, as_dropdownservice) end subroutine public function integer of_initallservices ();//fire pre-init EVENT ke_preinitservice() IF #ValidateRequiredFields THEN of_InitValidateFields() END IF IF #StandardDropDownDatawindow THEN of_StandardDDDW() END IF IF #DropdownServices THEN of_InitDropdownServices() END IF of_EditMode(#EditMode) POST of_AutoSizeColumns(#AutoSizeColumns) RETURN CRet.SUCCESS end function public subroutine of_autosizecolumns (readonly boolean ab_autosize, readonly boolean ab_initcolsize);of_AutoSizeColumns(ab_autosize, ab_initcolsize, FALSE) end subroutine public subroutine of_autosizecolumns (readonly boolean ab_autosize, readonly boolean ab_initcolsize, readonly boolean ab_halfpad);#AutoSizeColumns = ab_autosize IF #AutoSizeColumns THEN n_svc_mgr lnv_svc n_svc_dw_form lnv_form lnv_svc.of_LoadSvc(lnv_form, DW_FORM_SERVICE) lnv_form.of_AutoSizeColumns(lnv_svc, this, ab_initcolsize, ab_halfpad) //re-init of_ResizeObjects(TRUE) END IF end subroutine public subroutine of_tooltips (readonly boolean ab_tooltips);#Tooltips = ab_tooltips IF #Tooltips THEN n_svc_mgr lnv_svc n_svc_tooltip lnv_tip lnv_svc.of_loadsvc(lnv_tip, CSvc.TOOLTIP) ToolTipID = lnv_tip.of_addtool(lnv_svc, this, DEFAULT_TIP, 0, FALSE, FALSE) BaloonToolTipID = lnv_tip.of_addtool(lnv_svc, this, DEFAULT_TIP, 0, TRUE, FALSE) END IF end subroutine public subroutine of_addtooltip (readonly string as_colname, readonly string as_tooltip);of_AddToolTip(as_colname, FALSE, none!, CString.EMPTY, as_tooltip) end subroutine public subroutine of_addtooltip (readonly string as_colname, readonly boolean ab_balloon, readonly icon ai_icon, readonly string as_title, readonly string as_tooltip);n_svc_mgr lnv_svc n_svc_dw_form lnv_dw lnv_svc.of_LoadSvc(lnv_dw, DW_FORM_SERVICE) lnv_dw.of_AddToolTip(lnv_svc, this, as_colname, ab_balloon, ai_icon, as_title, as_tooltip) end subroutine public subroutine of_resetvalidate ();n_svc_mgr lnv_svcman n_svc_dw_form lnv_dw IF NOT #ValidateRequiredFields THEN RETURN IF NOT of_IsEditMode() THEN RETURN lnv_svcman.of_loadsvc(lnv_dw, DW_FORM_SERVICE) lnv_dw.of_ResetValidate(lnv_svcman, this, is_validatecolumns) end subroutine on u_dw_form.create call super::create end on on u_dw_form.destroy call super::destroy end on event resize;call super::resize;//we need to resize the DDDW's //when we resize the DW IF #StandardDropDownDatawindow THEN of_RecalcDDDW() END IF end event event itemerror;call super::itemerror;IF #IgnoreDateTimeError THEN IF NOT ISVALID(dwo) THEN RETURN CRet.NO_ACTION string ls_col n_svc_mgr lnv_svc n_svc_dw_form lnv_dw lnv_svc.of_LoadSvc(lnv_dw, DW_FORM_SERVICE) ls_col = STRING(dwo.Name) RETURN lnv_dw.of_IgnoreDateTimeError(this, row, ls_col) END IF end event event destructor;call super::destructor;IF ISVALID(inv_dd) THEN DESTROY inv_dd IF #ToolTips THEN n_svc_mgr lnv_svc n_svc_tooltip lnv_tip lnv_svc.of_LoadSvc(lnv_tip, CSvc.TOOLTIP) //release tooltips lnv_tip.of_remove(lnv_svc, this, ToolTipID) lnv_tip.of_remove(lnv_svc, this, BaloonToolTipID) END IF end event event ke_preopen;call super::ke_preopen;of_Tooltips(#Tooltips) end event event ke_dwmousemove;call super::ke_dwmousemove;//=========================================================================== // Event : Ke_dwmousemove (public ) // Object: dw_1 //--------------------------------------------------------------------------- // Description: // Note: //--------------------------------------------------------------------------- // Parameters: // value Integer xpos // value Integer ypos // value Long row // value DWObject dwo //--------------------------------------------------------------------------- // Returns: Long //--------------------------------------------------------------------------- // Author: (Yeyi) Gabriel B. Abulencia //=========================================================================== n_svc_mgr lnv_svc IF #ToolTips THEN IF dwToolTip = DEFAULT_TIP THEN RETURN CRet.NO_ACTION n_svc_tooltip lnv_tip lnv_svc.of_LoadSvc(lnv_tip, CSvc.TOOLTIP) lnv_tip.of_dwmousemove(lnv_svc, this, dwo, dwToolTip, LastDWO, BaloonToolTipID, ToolTipID, HitTest, IsBalloon) END IF end event event ke_mousemove;call super::ke_mousemove;//=========================================================================== // Event : Ke_mousemove (public ) // Object: dw_1 //--------------------------------------------------------------------------- // Description: // Note: //--------------------------------------------------------------------------- // Parameters: // value UnsignedLong flags // value Integer xpos // value Integer ypos //--------------------------------------------------------------------------- // Returns: Long //--------------------------------------------------------------------------- // Author: (Yeyi) Gabriel B. Abulencia //=========================================================================== IF #ToolTips And HitTest THEN n_svc_mgr lnv_svc n_svc_isempty lnv_check n_svc_tooltip lnv_tip IF dwToolTip = DEFAULT_TIP THEN RETURN CRet.NO_ACTION //load service lnv_Svc.of_LoadSvc(lnv_check, CSvc.ISEMPTY) IF lnv_check.of_isempty(dwTooltip) THEN RETURN CRet.NO_ACTION lnv_Svc.of_LoadSvc(lnv_tip, CSvc.TOOLTIP) lnv_tip.of_relaymsg(lnv_svc, this, IsBalloon) END IF end event event ke_linkagevalidate;call super::ke_linkagevalidate;IF #Link AND #EditMode THEN IF AncestorReturnValue = CRet.FAILURE THEN RETURN AncestorReturnValue IF of_Validatefields() > 0 THEN RETURN CRet.FAILURE END IF END IF RETURN AncestorReturnValue end event
- Sources
- Kodigo
- OpenExplorer
- u_dw_form.sru
File: u_dw_form.sru
Size: 12847
Date: Mon, 07 Apr 2008 21:31:38 +0200
Size: 12847
Date: Mon, 07 Apr 2008 21:31:38 +0200
- u_dw u_dw_form(sru)
- destructor
- itemerror
- ke_dropdown
- ke_dwmousemove
- ke_linkagevalidate
- ke_mousemove
- ke_preinitservice()
- ke_preopen
- ke_validatefailed(long row, string dwcolumnname, string displaymessage)
- ke_validatefailedshowall(long row[], string dwcolumnname[], string displaymessage[])
- resize
- of_addtooltip (readonly string as_colname, readonly boolean ab_balloon, readonly icon ai_icon, readonly string as_title, readonly string as_tooltip)
- of_addtooltip (readonly string as_colname, readonly string as_tooltip)
- of_autosizecolumns (readonly boolean ab_autosize)
- of_autosizecolumns (readonly boolean ab_autosize, readonly boolean ab_initcolsize)
- of_autosizecolumns (readonly boolean ab_autosize, readonly boolean ab_initcolsize, readonly boolean ab_halfpad)
- of_editmode (readonly boolean ab_editmode)
- of_initallservices () returns integer
- of_initdropdownservices ()
- of_initeditmode ()
- of_initvalidatefields ()
- of_iseditmode () returns boolean
- of_recalcdddw ()
- of_resetvalidate ()
- of_setcolumndropdown (readonly string as_colname, readonly string as_dropdownservice)
- of_setdataobject (readonly string as_dataobjectname) returns integer
- of_standarddddw ()
- of_tooltips (readonly boolean ab_tooltips)
- of_validatefields () returns integer