150 lines
5.2 KiB
Plaintext
150 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
|
||
|
||
|