Exemplo n.º 1
0
/*	SetPopMatch(theDialog, popupItemNumber, selStr)

 	Sets currently selected item to that which matches string (case insensitive).
	Returns item number or zero if there is no match.

	Thread Safety: SetPopMatch is not thread-safe.
*/
int
SetPopMatch(DialogPtr theDialog, int popupItemNumber, const char *selStr)
{
	ControlHandle controlH;
	MenuHandle mH;
	int numMenuItems;
	int i;
	unsigned char temp[256];
	char itemText[256];
	int result;
	int err;

	if (err = XOPGetDialogItemAsControl(theDialog, popupItemNumber, &controlH))
		return 0;
	
	mH = GetPopMenuHandle(theDialog, popupItemNumber);
	if (mH == NULL)
		return 0;
	
	result = 0;
	numMenuItems = CountMenuItems(mH);
	for (i=1; i<=numMenuItems; i++) {
		GetMenuItemText(mH, i, temp);
		CopyPascalStringToC(temp, itemText);
		if (CmpStr(itemText,selStr) == 0) {
			result = i;
			SetControlValue(controlH, result);
			InvalDBox(theDialog, popupItemNumber);		// This can move heap.
			break;
		}
	}
	return result;
}
Exemplo n.º 2
0
/////////////////////////////////////////////////////////////////
// CmpStrFrIProp ( const void * p1, const void *p2)
/////////////////////////////////////////////////////////////////
int CmpStrFrIProp (const void * p1, const void *p2)
{
	NCB_PROP * prop1 = (NCB_PROP *)p1;
	NCB_PROP * prop2 = (NCB_PROP *)p2;

	SZ sz1 = szFrNi (Ncb::m_pnmStatic, prop1->m_en.m_ni);
	SZ sz2 = szFrNi (Ncb::m_pnmStatic, prop2->m_en.m_ni);

	return CmpStr (sz1, sz2);
}
Exemplo n.º 3
0
/*	CheckAndTranslatePortName(portNameIn, portNameOut, allowNone)

	Returns via portNameOut a valid portName, or None if allowNone is true.
	Does translation to allow platform independence.
	
	Returns 0 if OK or error code.
*/
static int
CheckAndTranslatePortName(const char* portNameIn, char* portNameOut, int allowNone)
{
	VDTPortPtr pp;
	int errorCode;
	
	strcpy(portNameOut, portNameIn);
	
	errorCode = allowNone ? VDT_ERR_EXPECTED_PORTNAME_OR_NONE:VDT_ERR_EXPECTED_PORTNAME;

	if (CmpStr(portNameIn, "None") == 0) {
		if (!allowNone)
			return VDT_ERR_EXPECTED_PORTNAME;
		return 0;	
	}

	TranslatePortName(portNameOut);				// Do platform-related port name translation and handle other name equivalences.
	
	pp = FindVDTPort(NULL, portNameOut);
	if (pp == NULL)
		return errorCode;

	return 0;
}