diff options
Diffstat (limited to 'backends/PalmOS/Src/forms')
| -rw-r--r-- | backends/PalmOS/Src/forms/formtabs.cpp | 12 | ||||
| -rw-r--r-- | backends/PalmOS/Src/forms/formtabs.h | 9 | 
2 files changed, 12 insertions, 9 deletions
| diff --git a/backends/PalmOS/Src/forms/formtabs.cpp b/backends/PalmOS/Src/forms/formtabs.cpp index d862c9a8bb..9c62f37542 100644 --- a/backends/PalmOS/Src/forms/formtabs.cpp +++ b/backends/PalmOS/Src/forms/formtabs.cpp @@ -26,7 +26,7 @@ void TabDeleteTabs(TabType *tabP) {  	delete tabP;  } -Err TabAddContent(FormType **frmP, TabType *tabP, const Char *nameP, UInt16 rscID, TabProc *preInit) { +Err TabAddContent(FormType **frmP, TabType *tabP, const Char *nameP, UInt16 rscID, TabProc *drawFunc) {  	FormType *srcP;  	UInt16 cnt;  	void *objP, **dstP; @@ -38,10 +38,6 @@ Err TabAddContent(FormType **frmP, TabType *tabP, const Char *nameP, UInt16 rscI  	dstP = (void **)frmP;  	srcP = FrmInitForm(rscID); -	if (preInit) { -		preInit(srcP); -	} -  	objNum = FrmGetNumberOfObjects(srcP);  	// save tab data @@ -52,6 +48,7 @@ Err TabAddContent(FormType **frmP, TabType *tabP, const Char *nameP, UInt16 rscI  	tabP->tabs[tabP->count].srcP	= srcP;  	tabP->tabs[tabP->count].first	= FrmGetObjectId(srcP, 0);  	tabP->tabs[tabP->count].last	= FrmGetObjectId(srcP, objNum - 1); +	tabP->tabs[tabP->count].drawFunc= drawFunc;  	tabP->count++;  	tabP->active = tabP->count; @@ -169,6 +166,8 @@ void TabSetActive(FormType *frmP, TabType *tabP, UInt16 num) {  	WinSetForeColor(UIColorGetTableEntryIndex(UIFormFill));  	WinDrawLine(1, 14, 154,14);  	WinDrawLine(1, 15, 154,15); +	RctSetRectangle(&r, 1, 30, 154, 100); +	WinDrawRectangle(&r, 0);  	WinSetForeColor(UIColorGetTableEntryIndex(UIObjectFrame));  	WinDrawLine(1, 28, 154,28); @@ -199,6 +198,9 @@ void TabSetActive(FormType *frmP, TabType *tabP, UInt16 num) {  	}  	// show objects +	if (dataP->drawFunc) +		(dataP->drawFunc)(); +  	for (cnt = dataP->first; cnt <= dataP->last; cnt++) {  		if ((idx = FrmGetObjectIndex(frmP, cnt)) != frmInvalidObjectId)  			FrmShowObject(frmP, idx); diff --git a/backends/PalmOS/Src/forms/formtabs.h b/backends/PalmOS/Src/forms/formtabs.h index a3602f3d98..c92d13581a 100644 --- a/backends/PalmOS/Src/forms/formtabs.h +++ b/backends/PalmOS/Src/forms/formtabs.h @@ -1,10 +1,13 @@  #ifndef __FORMTABS_H__  #define __FORMTABS_H__ +typedef void (TabProc)(); +  typedef struct {  	FormPtr srcP;  	UInt16 first;  	UInt16 last; +	TabProc *drawFunc;  } TabDataType, *TabDataPtr;  typedef struct { @@ -13,11 +16,9 @@ typedef struct {  	TabDataPtr tabs;  } TabType, *TabPtr; -typedef void (TabProc)(FormType *); -  TabType	*TabNewTabs		(UInt16 cnt);  void 	 TabDeleteTabs	(TabType *tabP); -Err 	 TabAddContent	(FormType **frmP, TabType *tabP, const Char *nameP, UInt16 rscID, TabProc *preInit = 0); +Err 	 TabAddContent	(FormType **frmP, TabType *tabP, const Char *nameP, UInt16 rscID, TabProc *drawFunc = 0);  void 	 TabSetActive	(FormType *frmP, TabType *tabP, UInt16 num); -#endif
\ No newline at end of file +#endif | 
