Define_Tab_dialog_Mixin()
- integer
Client_Area_State()
This is a risky thing to do. Some of the packages (server.pkg) use
client_area_state to figure out if the object is a client or a form.
In order for internal activation of the tab items to work the real
internal property client_area_state must be false. However, the
external package standpoint client_area_state must be true. This seems
to work because the internal client decisions (which uses the real
client_area_state property) uses the internal property (it does not
get the property by putting the message in the df message queue.
Set(String Val)
Must Cancel. Values Are The Tab Items
OnResize()
Set(Integer cy Integer cx)
- Integer
cxy - Integer
iPage
private_DoUpdateTabs()
- Integer
iPage - Integer
hoPage
OnDisplay()
Page(Integer iState)
Set(Integer bMultiLine)
- Integer
hWnd - Integer
iStyle - Integer
iVoid
- Integer
MultiLine_State()
Set(Integer eTabPosition)
- Integer
hWnd - Integer
iStyle - Integer
iVoid - Integer
iPage - Integer
icPage
- Integer
peTabPosition()
Set(Integer eTabStyle)
- Integer
hWnd - Integer
iStyle - Integer
iVoid - Integer
iPage - Integer
icPage
- Integer
peTabStyle()
Set(Integer bButtons)
- Integer
Buttons_State()
Set(Integer bFlatSeparators)
- Integer
pbFlatSeparators()
Set(Integer iMode)
- Integer
hWnd - Integer
iStyle - Integer
iVoid
- Integer
TabWidth_Mode()
- Integer
NumberOfRows()
- Integer
hWnd
- integer
Add_Tab_item(String sLabel Integer tobjid)
Add a tab page. Pass tab name and the page object Id.
return the tab (item) number of the new page
- Integer
iNumBtns - String
sTcItem - String
szText - Integer
lpsTcItem - Integer
lpszText - Integer
pVoid
Set(Integer item# Integer Obj#)
Get/Set Tab_Page_Id identifies the page object associated with
the tab item
- integer
Tab_Page_Id(integer item#)
- Integer
Button_Count()
Button_Count: Number of tab buttons
- integer
Current_Tab()
The tab that is the current "active" tab. If the tab page is
defined and it is not active the current_tab returns -1. If -1
you can use item_count to find the tab that is rolled forward
- Integer
id - Integer
itm
Mouse_Down(Integer iWindowNumber Integer iPosition)
Replace current mouse behavior with out own. This give us more control
over the switching behavior.
Mouse_Drag(Integer iWindowNumber Integer iPosition)
cancelled to stop rotation of tab-pages
Request_Previous_Tab(integer Mode)
No Param or 0 - Kbd Navigation
1 - Mouse Navigation
2 - Force to Button
3 - Force to Dialog
- Integer
tab# - Integer
Mde - Integer
oldTab#
Request_Next_Tab(integer Mode)
- Integer
tab# - Integer
oldtab# - Integer
Mde
Request_Switch_To_Tab(Integer tab# integer PointerMode)
PonterMode parameter (required):
0 - Keyboard Navigation
1 - Mouse Navigation
2 - Force to Button
3 - Force to Dialog
- Integer
rval - Integer
foc - Integer
ctb - Integer
Skipmode
- integer
Tab_Change(Integer totab Integer PointerMode)
PointerMode: 0 - button takes focus
1 - dialog takes focus
2 - no-one takes focus, just add to focus tree
Rule: If the tab dialog object has the focus ;
give the keep the focus in the dialog object.
else if switching pages
Give the focus to the new page
else (tab dialog<>focus, same page)
give the tab the focus
- Integer
tabobj - Integer
rval - Integer
fromtab - Integer
fromobj - Integer
toobj - Integer
focobj - Integer
oldst - Integer
iCnt - String
xx
- integer
Deactivate_Tab(Integer tab# Integer tabpageobj)
- Integer
rval
DoHideTab(integer hPage integer bHide)
Request_Tab_Display(integer iTab)
Display passed tab page. If no value (or -1) use default tab
display = add to focus tree if needed, rotate up, do not activate
- Integer
iTb - Integer
bFail
- Integer
Add_Focus(Handle hoParent)
Augment to add the default tab page to the focus tree
- Integer
rval
- integer
Activate()
Most tab navigation events are controlled by the class and activate
messages are sent in the middle of these events. When this occurs the
private property In_tab_change_state is true. In some cases of
keyboard navigation from outside the object activate is called directly.
This should never happen with no active tab page (because add_focus
takes care of this). In such a case, we must decide if activate should
keep the focus (the tab) or give it to the page. If smart mode or always
mode go the tab button else go to button (normal activate behavior)
- Integer
iTab - Integer
iDflt - Integer
bFail
Rebuild_Tab_Pointers()
- Integer
iItm - Integer
hTabPg - Integer
iItems
Delete_Tab_Item(integer iTab)
- Integer
hTabPg - Integer
iIc - Integer
bOld
set(integer iItem string sVal)
- String
sTcItem - String
szText - Integer
lpsTcItem - Integer
lpszText
DoActivePage(handle hId)
Private: this gets called to make sure that this page is active. Called during
next/prior object id. For this to work the ID must be in the focus tree
- handle
PriorTabId()
Return the Prior tab. Skip tab pages where the button is shadowed
- Integer
iTab - Integer
iFirstTab - Integer
hId
- handle
NextTabId()
Return the next tab. Skip tab pages where the button is shadowed
- Integer
iTab - Integer
iFirstTab - Integer
hId
Next()
augmented to create smarter next and previous behavior for tab buttons.
- Integer
iItem - Integer
eRotate - Integer
hId
Previous()
- Integer
iItem - Integer
eRotate
OnBeginningOfPanel(integer hoPanel)
event called when Beginning_of_Panel is called by panel (usually view)
by default, switch to the default tab (which is 0).
- integer
Next_Object_Id(integer fg)
special for tab dialog. Note this must augment (and not replace) the next_object_id
logic defined in standard_object_mixin,
If descend (fg=0) we want to return
the current tab page (it's the next object).
- Integer
hId - Integer
rVal