151 lines
5.2 KiB
Plaintext
151 lines
5.2 KiB
Plaintext
Function SVC_SubClass_DropDown(Service, Param1, Param2, Param3, Param4)
|
|
|
|
/********************************************************************************************************
|
|
|
|
This program is proprietary and is not to be used by or disclosed to others, nor is it to
|
|
be copied without written permission from SRP Computer Solutions, Inc.
|
|
|
|
Name : SVC Subclass Dropdown
|
|
|
|
Description :
|
|
|
|
Tags : [SRP]
|
|
|
|
Parameters :
|
|
CtrlId [in] -- Control that contains the dropdown
|
|
Type [in] -- Dropdown in (E)dittable or Edit(L)ine
|
|
Cell [in] -- Sub-class control if necessary
|
|
Params [in] -- Any additional parameters
|
|
List [out] -- The full list if needed by the calling program
|
|
|
|
History (Date, Initials, Notes)
|
|
04/11/06 fjt Initial development
|
|
11/03/09 fjt Moved to IR/EPI
|
|
|
|
********************************************************************************************************/
|
|
|
|
$insert SRP_APP_INSERTS
|
|
$insert SERVICE_INSERT
|
|
|
|
Declare subroutine Btree.Extract, Update_Index
|
|
Declare function SRP_Sort_Array, SRP_Rotate_Array, SRP_Reorder_Array
|
|
|
|
GoSub Init
|
|
Begin Case
|
|
Case Type EQ "Sched Events" ; GoSub Scheduler_Events
|
|
|
|
End Case
|
|
If Data then GoSub Finalize
|
|
|
|
Return Ans
|
|
|
|
|
|
!----- INTERNAL ROUTINES --------------------------------------------------------------------------------
|
|
|
|
|
|
Init:
|
|
Transfer Service to Type
|
|
Transfer Param1 to CtrlId
|
|
Transfer Param2 to Cell
|
|
Transfer Param3 to Params
|
|
Transfer Param4 to List
|
|
|
|
ProgId = Get_Property(CtrlId, "OLE.ProgID")
|
|
Vals = ""
|
|
List = ""
|
|
Data = ""
|
|
LenPos = 1
|
|
|
|
MasterCol = Params<1>
|
|
Cols = Params<2>
|
|
AutoFillCol = Params<3>
|
|
ResetOnly = Params<4>
|
|
|
|
If Cols else Cols = "L":@STM:300:@TM:"R":@STM:100
|
|
If AutoFillCol else AutoFillCol = 1
|
|
If ResetOnly EQ "" then ResetOnly = No$
|
|
|
|
Show = No$
|
|
SortOrder = "AL1":@FM:"AL1"
|
|
return
|
|
|
|
|
|
Finalize:
|
|
// Sort
|
|
!!! Data = SRP_Sort_Array(Data, SortOrder, 0)
|
|
List = Data
|
|
Swap @VM with @STM in Data
|
|
Swap @FM with @TM in Data
|
|
|
|
Vals<2, 2> = Cols ;// Column Settings
|
|
Vals<2, 3> = Data ;// Data
|
|
Vals<2, 4> = MasterCol ;// Master Column Number - The column containing the return values
|
|
Vals<2, 5> = True$ ;// Autofill - Boolean If true, then autofill is enabled
|
|
Vals<2, 6> = False$ ;// Case Sensitive Autofill - Boolean If true, then autofill is case sensitive
|
|
Vals<2, 7> = 25 ;// Number of Visible Rows - Integer The number of viewable rows at a time
|
|
Vals<2, 8> = False$ ;// Fire OnOptionClick - Boolean If true, fire the OnOptionClick when user presses dropdown button
|
|
Vals<2, 9> = True$ ;// Filtered Autofill - Boolean If true, reduce the list to only those items that partially match the current contents
|
|
Vals<2,10> = Show ;// Show Dropdown Immediately - Boolean If true, shows the dropdown as soon as user enters edit mode
|
|
Vals<2,11> = False$ ;// LIST Format - Boolean If true, then the data is in LIST format and not ARRAY format
|
|
Vals<2,12> = AutoFillCol ;// Autofill Column Number - The column against which autofill is performed
|
|
Vals<2,13> = True$ ;// Hide When Empty - Boolean If true, then the dropdown hides when the user clears the cell
|
|
Vals<2,14> = True$ ;// Normal Navigation - Boolean If true, then the up/down/pgup/pgdown keys navigate to other cells when the drop down is hidden
|
|
* Vals<2,15> = "" ;// Show Only When Empty - Boolean If true and Show Immediately is true, then the dropdown only shows immediately when the cell's contents are empty
|
|
* Vals<2,16> = "" ;// No Show Autofill - Boolean If true, then the drop down does not appear during autofill
|
|
Vals<2,17> = True$ ;// Clear the selection in the popup whenever the user presses backspace or delete during autofill
|
|
|
|
Begin Case
|
|
|
|
Case (ProgID _EQC "SRP.EditTable.1")
|
|
Vals<1> = "Combo"
|
|
Set_Property(CtrlId, "OLE.CellType[":Cell:"]", Vals)
|
|
|
|
Case (ProgID EQ "" and ResetOnly EQ Yes$)
|
|
Convert "." to ";" in CtrlId
|
|
Set_Property(@Window:".OLE_SUBCLASS", "OLE.ComboData[":CtrlId:"]", Data)
|
|
|
|
Case (ProgID EQ "")
|
|
Vals<1> = 1
|
|
Handle = Get_Property(CtrlId, "HANDLE")
|
|
rv = Send_Message(@Window:".OLE_SUBCLASS", "OLE.Subclass", Handle, CtrlID)
|
|
Convert "." to ";" in CtrlId
|
|
Set_Property(@Window:".OLE_SUBCLASS", "OLE.Combo[":CtrlId:"]", Vals)
|
|
|
|
End Case
|
|
return
|
|
|
|
|
|
!----- DROPDOWN DATA TYPES ------------------------------------------------------------------------------
|
|
|
|
|
|
Scheduler_Events:
|
|
Cols = "L":@STM:250
|
|
AutoFillCol = 1
|
|
MasterCol = 1
|
|
SortOrder = "AL1"
|
|
|
|
Array = ""
|
|
Array<-1> = "Annual P.M."
|
|
Array<-1> = "Bell Jar Charge"
|
|
Array<-1> = "CTC Change"
|
|
Array<-1> = "Down for Engineering Testing"
|
|
Array<-1> = "Down to Maintenance"
|
|
Array<-1> = "Down – No Material"
|
|
Array<-1> = "Open"
|
|
Array<-1> = "Scrubber Work"
|
|
Array<-1> = "Semi Annual PM"
|
|
Array<-1> = "Tube Change"
|
|
Array<-1> = 'Conversion to 4"'
|
|
Array<-1> = 'Conversion to 5"'
|
|
Array<-1> = 'Conversion to 6"'
|
|
Array<-1> = 'Conversion to 8"'
|
|
Array<-1> = 'Conversion to AP'
|
|
Array<-1> = 'Conversion to RP'
|
|
|
|
Convert @FM to @VM in Array
|
|
Data = Array
|
|
return
|
|
|
|
|
|
|