示例#1
0
char *MakePPDBoolList(PPDOptions *ppd_opt, char *item_name)
{
	char *glist = NULL;
	char curr[256];
	int disable;
	UIItemsList *item;

	item = FindItemsList(ppd_opt->items_list, item_name);
	if(item == NULL)
		return NULL;

	disable = GetDisable(ppd_opt->items_list, item_name);

	memset(curr, 0, 256);
	if(item->current_option && item->current_option->name){
		if(strcmp(item->current_option->name, "False") == 0
		|| strcmp(item->current_option->name, "None") == 0)
			snprintf(curr, 255, "False:True<%d>,False<0>",disable);
		else
			snprintf(curr, 255, "True:True<%d>,False<0>", disable);
	}else{
		if(strcmp(item->opt_lists->name, "False") == 0
		|| strcmp(item->opt_lists->name, "None") == 0)
			snprintf(curr, 255, "False:True<%d>,False<0>", disable);
		else
			snprintf(curr, 255, "True:True<%d>,False<0>", disable);
	}

	return glist = strdup(curr);
}
示例#2
0
// 设置指定分割窗口的位置
int CDuiLayout::SetSplitPos(int nSplitItem, int nSplitPos)
{
	if(GetDisable())
	{
		return nSplitPos;
	}

	if(nSplitItem <= -1 || nSplitItem >= (int)m_vecItemInfo.size())
	{
		return nSplitPos;
	}

	LayoutItemInfo* pLayoutInfo1 = GetLayoutItemInfo(nSplitItem);
	//LayoutItemInfo* pLayoutInfo2 = GetLayoutItemInfo(nSplitItem+1);
	if(pLayoutInfo1 == NULL)
	{
		return nSplitPos;
	}

	int nOldSplitPos = GetLayoutPos(pLayoutInfo1);
	pLayoutInfo1->nPos = nSplitPos;
	// 设置值超过最大值,自动更改为最大值
	if(m_nLayoutType == LAYOUT_TYPE_HORIZONTAL)
	{
		if(nSplitPos > m_rc.Height())
		{
			pLayoutInfo1->nPos = m_rc.Height();
		}
	}else
	if(m_nLayoutType == LAYOUT_TYPE_VERTICAL)
	{
		if(nSplitPos > m_rc.Width())
		{
			pLayoutInfo1->nPos = m_rc.Width();
		}
	}
	if(nSplitPos < 0)
	{
		pLayoutInfo1->nPos = 0;
	}
	if((pLayoutInfo1->nMinPos != 0) && (nSplitPos < pLayoutInfo1->nMinPos))
	{
		pLayoutInfo1->nPos = pLayoutInfo1->nMinPos;
	}
	if((pLayoutInfo1->nMaxPos != 0) && (nSplitPos > pLayoutInfo1->nMaxPos))
	{
		pLayoutInfo1->nPos = pLayoutInfo1->nMaxPos;
	}

	// 重新计算分割窗口的位置
	SetRect(m_rc);

	return pLayoutInfo1->nPos;
}
示例#3
0
// 设置控件的焦点
BOOL CCheckButton::SetControlFocus(BOOL bFocus)
{
	__super::SetControlFocus(bFocus);

	if(!GetVisible() || GetDisable())
	{
		return FALSE;
	}

	m_bIsFocus = bFocus;
	UpdateControl(true);

	return TRUE;
}
示例#4
0
int CDuiSlider::SetProgress(int nProgress)
{
	if(GetDisable())
	{
		return m_nProgress;
	}

	if(nProgress > m_nMaxProgress)
	{
		// 设置值超过最大值,自动更改为最大值
		nProgress = m_nMaxProgress;
	}

	if(nProgress >= 0 && nProgress <= m_nMaxProgress && m_nProgress != nProgress)
	{
		m_nProgress = nProgress;
		if(GetVisible())
		{
			UpdateControl(true);
		}
	}
	return m_nProgress;
}
示例#5
0
BOOL CDuiAnimateImage::SetRun(BOOL bRun, int nIndex/* = -1*/)
{
	if(GetDisable())
	{
		return FALSE;
	}

	BOOL bOldRunTime = m_bRunTime;
	int nOldIndex = m_nIndex;
	m_bRunTime = bRun;

	if(nIndex >= 0 && nIndex < m_nMaxIndex)
	{
		m_nIndex = nIndex;
	}

	if(GetVisible() && ((bOldRunTime != m_bRunTime) || (nOldIndex != m_nIndex)))
	{
		UpdateControl();
	}

	return m_bRunTime;
}