Class: Tab_Page_Mixin

Module location: Dftab_mx.pkg line 938 (view source)

Class Hierarchy:

cObjectMixinTab_Page_Mixin

Class Definition

Properties

IntegerpbHidePage
system maintained. Determines if tab page is explicitly hidden within this dialog
IntegerpbInsideActivate
system maintained, prevents activation recursion
integerpiLastClientSize
private: see GetContainerSize for docs on this
Integerprivate_pbHighlightTab
Integerprivate_piImageIndex
IntegerRotate_Mode
integerTab_Button_Item

Functions and Procedures

integerActivate()
Activate_Area(Integer TakeFocusFg)
override for desktop in val_mx which does not work well with tab pages. First make sure tab dialog has the focus (and that it worked) then if page is not active or it is hidden, make this the active page This is only sent during DEO validation and always sent via delegation
IntegerAdd_Focus(Handle hoParent)
IntegerButton_Shadow_State()
integerContainerFocusWillNotChange()
Private: needed by navigation (next_object_id). Normally this checks to see if the object is a container and if it contains the focus. If it does, navigation will keep looking for another object to give the focus. With tab-pages a focus change will occur because activate to a tab page means, try to go to the button. So we override the standard behavior here and force it to say the focus will change.
Define_Tab_Page_Mixin()
DoHideTab(Integer bHide)
This explicitly hides/unhides this tab page.
DoImplicitTabHide(integer iState)
augment to only broadcast change if not already hidden by this page
IntegerGetContainerClientSize()
This needs to get the client size relative to the last time the object was un-paged. If an object has never been unpaged, you need to get the size of the orignal tab dialog (the first time it was paged). The first time a tab page is paged, the tab-dialog's original size is set in piOriginalClientSize. This is what you want to use for any tab page the FIRST time it is paged (since all of the sizes of its child objects are set relative to that size). Any time a tab page is unpaged, you want your new frame of reference to be the size of client at the time the page is being unpaged (because that's what all of the current size of the child objects are set to). So, anytime a tab page is removed (see remove_object) the size of the client is recorded in piLastClientSize. This property defaults to -1, which means that the object has never been paged (or resized) so you should use the original tab dialog size (see page).
integerOnChildWrapping(integer hoDest integer bDown)
This is called anytime navigation (next_object_id & proir_object_id) would cause a "wrap" condition in a tab page. This function must return the object Id to naviagte to. Depending on the rotate_mode and skip_button_mode we need to return different target IDs.
OnResize()
Page(Integer iState)
IntegerpbHighlightTab()
IntegerpiImageIndex()
private_DoSetImage()
Remove_Object()
reverse any effects of hiding a tab. When removed, restore page to original unhidden state. There were problems with dbGroups not enabling themselves because the check current_shadow_state when they are activated. Hidden states were getting in the way Also, keep track of current clientsize for future paging and anchoring
Rotate_Up()
Set(Integer iItem String sValue)
Set(String Val)
Set(Integer iState)
Set(Integer iIndex)
Set(Integer bHighlight)
Set(String sLabel)
Set(Integer cy Integer cx)
stringTab_ToolTip_Value()