Class: Extended_Deo_Radio_mixin
Class Hierarchy:
cObjectMixinExtended_Deo_Radio_mixinClass Definition
Functions and Procedures
Attach_Deo_To_Server()
change so that list is initialized first. Also, set extended_deo_state before
attempting to fill list (it needs that information).
Copy_Item_Options(Integer iDSO Integer iFile Integer iField Integer iDEO Integer iItem)
************************************************************************//
Copy_item_Options //
Replaces (not augments) this message in dd_deomx. Sets NoPut_State and //
in windows sets object_Shadow_state. //
************************************************************************//
StringData_Value(Integer iItem)
************************************************************************//
Data_Value //
Replaces (not augments) this message in dd_deomx. Returns the data //
value of the current "selected" item. //
************************************************************************//
Display_Description(String DataVal)
************************************************************************//
Display_Description //
Augmented to shut off any select_state DD activity. //
************************************************************************//
Entry_Defaults()
************************************************************************//
Entry_Defaults //
This replaces (not augments) the dd_deomx version of this. If a value //
exists in the DD it is displayed as a default. If there is no value in //
the DD and the radio is an auto-select list (either auto_select or no_ //
select) we must set a default item (first item) and notify the DD that //
there is now a value. //
************************************************************************//
Entry_Display(Integer iFile Integer iFlag)
#ELSE
//************************************************************************//
// Set select_state //
// Replaces (not augments) this message in dd_deomx. This is the main //
// method which notifies the DD of changes. When a new item is selected //
// the value of the data in the DD must change. The DD will then notify //
// all DEOs (including this one) of the new data. This, in turn, sets this//
// objects select_state. So select_state is set indirectly (this procedure//
// notifies the DD, the DD notifies this object, which sets select_state. //
// This process only occurs when the DD did not start the process (the //
// did). //
//************************************************************************//
Procedure Set Select_State Integer iItem Integer iState
If Not (Extended_Deo_State(Self)) Begin
Forward Set Select_State item iItem to iState
Procedure_Return
End
// We only need to update the DSO if the data-set itself is not responsible
// for calling this message. DSOs will only do when their operation_mode is
// non-zero. Also if there is no change, there is no need to notify the DSO
If (Operation_mode eq 0 AND ;
(Entry_Refresh_State(Self)=0) AND ;
Select_State(Self,iItem)<>iState AND ;
Data_File(Self,0) AND ;
(NoPut_State(Self)=0) ) Begin
// DF passes a third state named Toggle_state. If passed to the
// work to toggle it and proceed on.
If iState eq TOGGLE_STATE ;
Move (Not(Select_State(Self,iItem))) to iState
// Normally, iState will be true - when you change select_states only
// the new item being selected is notified. It is only set false when
// you've got single select and an item is being un-selected (nothing
// is selected).
If iState ;
Set Item_Field_Current_Value item 0 to ;
(Item_Data_Value(Self,iItem)) // indirectly update the value
else ;
Set Item_Field_Current_Value item 0 to '' // indirectly update the value
End
Else ;
Forward Set Select_state item iItem to iState
End_Procedure // Set Select_State
#ENDIF
************************************************************************//
Entry_Display //
Replaces (not augments) this message in dd_deomx. The radio version of //
this does what we need - just set flag so that select_state will not //
notify the DD during this process. //
************************************************************************//
File_Field_Value_Changed(Integer iFile Integer iField String sValue Integer iChangeDisabled)
************************************************************************//
File_field_Value_Changed //
This replaces (not augments) the DD_Deomx version of this message. This//
does not check items - there is only one datafiel/field for this object//
************************************************************************//
Fill_List()
************************************************************************//
Fill_List //
Fills list by sending file_field_fill_list to its DD and asking it to //
send callback messages (radio_fill_item) to this object. //
************************************************************************//
integerItem_Change(Integer iFromItem Integer iToItem)
************************************************************************//
Item_Change //
Used for no_select lists. In these cases this is the message we must //
use to notify the DD of a changed value. //
************************************************************************//
Item_Value_Changed(Integer iItem String sValue)
************************************************************************//
Item_Value_Changed //
This replaces (not augments) the DD_Deomx version of this message. This//
is passed the data value. It finds the appropriate radio description //
item and makes it current and sets select_state as needed. It also sets//
the object's changed_state (the item equivalant of item_changed_state) //
************************************************************************//
Notify_Select_State(Integer NewItem Integer OldItem)
#IFDEF IS$WINDOWS
IntegerPrompt_Object(Integer iItem)
this replaces normal prompt object. Disables if not a real sellist
we can't use the standard prompt_object because it looks for checkbox_item_state.
Radio_Fill_Item(integer iItem string sValue string sDescription integer iFile integer riId)
************************************************************************//
Radio_fill_item //
Callback procedure. We request that the DD sends this message to this //
object for each item in the table. The DD always passes the following //
params (we do not use all of them). This message name is passed to the //
DD in fill_list. //
************************************************************************//
Set(Integer iItem String sValue)
************************************************************************//
Set Value //
Replaces (not augments) this message in dd_deomx. Set value is only //
used to set the values of item's in the radio list. It has no DD //
purpose. //
************************************************************************//
Set(Integer iState)
************************************************************************//
Set Changed_State //
Augmented to set item_field_changed_state in the DD. Normally item_ //
changed_state does this - in radios, we work at the object level. //
************************************************************************//
Set(Integer iItem Integer iState)
************************************************************************//
Item_Changed_state //
While a list is getting filled this may get called. We must disalbe //
this. //
************************************************************************//