Ejemplo n.º 1
0
wxString SearchTreeNode::I2S(int i)
{
    wxString result(_T(""));
    if (i<0)
        result << _T('-');
    result << U2S(abs(i));
    return result;
}
Ejemplo n.º 2
0
// Returns the value of the column index in string format
// for current row in the record set
LPCTSTR CSmartDBRecordSet::GetColumnString(LONG nIndex)
{
	if (m_nCurrentRecord < 0 || m_nCurrentRecord >= m_nRecordCount || nIndex >= m_nFieldsCount)
		return NULL;

	vector<string> * strArr;
	strArr = orsRows[m_nCurrentRecord];

#ifdef UNICODE
	m_strRet = U2WS((*strArr)[nIndex]);
	return m_strRet.c_str();
#else
	m_strRet = U2S((*strArr)[nIndex]);
	return m_strRet.c_str();
#endif
}
Ejemplo n.º 3
0
// Returns the Name of the Field (or Column) whose
// index is given
LPCTSTR CSmartDBRecordSet::GetFieldName(LONG nIndex)
{
	ASSERT (m_bIsOpen);

	if (nIndex < m_strFieldsList.size())
	{
#ifdef UNICODE
		m_strRet = U2WS(m_strFieldsList[nIndex]);
		return m_strRet.c_str();
#else
		m_strRet = U2S(m_strFieldsList[nIndex]);
		return m_strRet.c_str();
#endif
	}
	else
	{
		return NULL;
	}
}
Ejemplo n.º 4
0
wxString SearchTreeNode::Serialize(BasicSearchTree* tree,nSearchTreeNode node_id,bool withchildren)
{
    wxString result,children,sparent,sdepth,slabelno,slabelstart,slabellen;
    SearchTreeLinkMap::iterator link;
    SearchTreeItemsMap::iterator item;
    sparent = U2S(m_Parent);
    sdepth = U2S(m_Depth);
    slabelno = U2S(m_Label);
    slabelstart = U2S(m_LabelStart);
    slabellen = U2S(m_LabelLen);

    result << _T(" <node id=\"") << node_id << _T("\" parent=\"") << sparent << _T("\"");
    result << _T(" depth=\"") << sdepth << _T("\" label=\"");
    result << slabelno << _T(',') << slabelstart << _T(',') << slabellen;
    result << _T("\">\n");
    result << _T("  <items>\n");
    for (item = m_Items.begin();item != m_Items.end();item++)
    {
        if (item->second)
        {

            result << _T("    <item depth=\"") << U2S(item->first) << _T("\" itemid=\"") << U2S(item->second) <<  _T("\"") << _T(" />\n");
        }
    }
    result << _T("  </items>\n");
    result << _T("  <children>\n");
    for (link = m_Children.begin();link != m_Children.end();link++)
    {
        if (link->second)
        {

            result << _T("    <child char=\"") << SerializeString(wxString(link->first)) << _T("\" nodeid=\"") << U2S(link->second) <<  _T("\"") << _T(" />\n");
        }
    }

    result << _T("  </children>\n");
    result << _T(" </node>\n");
    if (withchildren)
    {
        for (link = m_Children.begin();link != m_Children.end();link++)
        {
            if (link->second)
            {
                result << tree->GetNode(link->second,false)->Serialize(tree,link->second,true);
            }
        }
    }
    return result;
}
Ejemplo n.º 5
0
void SearchTreeNode::Dump(BasicSearchTree* tree, nSearchTreeNode node_id, const wxString& prefix, wxString& result)
{
    wxString suffix(_T(""));
    suffix << _T("- \"") << SerializeString(GetLabel(tree)) << _T("\" (") << U2S(node_id) << _T(")");
    if (prefix.length() && prefix[prefix.length()-1]=='|')
        result << prefix.substr(0,prefix.length()-1) << _T('+') << suffix << _T('\n');
    else if (prefix.length() && prefix[prefix.length()-1]==' ')
        result << prefix.substr(0,prefix.length()-1) << _T('\\') << suffix << _T('\n');
    else
        result << prefix << suffix << _T('\n');
    wxString newprefix(prefix);
    newprefix.append(suffix.length() - 2, _T(' '));
    newprefix << _T("|");
    SearchTreeLinkMap::iterator i;
    unsigned int cnt = 0;
    for (i = m_Children.begin(); i!= m_Children.end(); i++)
    {
        if (cnt == m_Children.size() - 1)
            newprefix[newprefix.length() - 1] = _T(' ');
        tree->GetNode(i->second,false)->Dump(tree,i->second,newprefix,result);
        cnt++;
    }
}