CtrlLib: TreeCtrl: Helper overloads of Insert/Add to resolve overloading ambiguity

git-svn-id: svn://ultimatepp.org/upp/trunk@6573 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2013-11-18 14:44:14 +00:00
parent 7725d8b640
commit bd9522418b
4 changed files with 32 additions and 8 deletions

View file

@ -212,6 +212,16 @@ int TreeCtrl::Insert(int parentid, int i, const Image& img, Value v, Value t,
return Insert(parentid, i, TreeCtrl::Node(img, v, t).CanOpen(withopen));
}
int TreeCtrl::Insert(int parentid, int i, const Image& img, Value key, const String& value, bool withopen)
{
return Insert(parentid, i, img, key, value, withopen);
}
int TreeCtrl::Insert(int parentid, int i, const Image& img, Value key, const char *value, bool withopen)
{
return Insert(parentid, i, img, key, value, withopen);
}
int TreeCtrl::Add(int parentid, const Image& img, Value v, bool withopen)
{
return Add(parentid, TreeCtrl::Node(img, v).CanOpen(withopen));
@ -222,6 +232,16 @@ int TreeCtrl::Add(int parentid, const Image& img, Value v, Value t, bool with
return Add(parentid, TreeCtrl::Node(img, v, t).CanOpen(withopen));
}
int TreeCtrl::Add(int parentid, const Image& img, Value key, const String& value, bool withopen)
{
return Add(parentid, img, key, value, withopen);
}
int TreeCtrl::Add(int parentid, const Image& img, Value key, const char *value, bool withopen)
{
return Add(parentid, img, key, value, withopen);
}
int TreeCtrl::Insert(int parentid, int i, const Image& img, Ctrl& ctrl, int cx, int cy, bool withopen)
{
return Insert(parentid, i, TreeCtrl::Node(img, ctrl, cx, cy).CanOpen(withopen));

View file

@ -189,11 +189,15 @@ public:
int Insert(int parentid, int i);
int Insert(int parentid, int i, const Image& img, Value value, bool withopen = false);
int Insert(int parentid, int i, const Image& img, Value key, Value value, bool withopen = false);
int Insert(int parentid, int i, const Image& img, Value key, const String& value, bool withopen = false);
int Insert(int parentid, int i, const Image& img, Value key, const char *value, bool withopen = false);
int Insert(int parentid, int i, const Image& img, Ctrl& c, int cx = 0, int cy = 0, bool wo = false);
int Add(int parentid, const Node& n);
int Add(int parentid);
int Add(int parentid, const Image& img, Value value, bool withopen = false);
int Add(int parentid, const Image& img, Value key, Value value, bool withopen = false);
int Add(int parentid, const Image& img, Value key, const String& value, bool withopen = false);
int Add(int parentid, const Image& img, Value key, const char *value, bool withopen = false);
int Add(int parentid, const Image& img, Ctrl& ctrl, int cx = 0, int cy = 0, bool withopen = false);
void Remove(int id);
void RemoveChildren(int id);

View file

@ -29,13 +29,13 @@ int JsonView::AddNode(int parent_id, const Value& id, const String& name, const
{
if(v.Is<ValueMap>()) {
ValueMap m = v;
parent_id = tree.Add(parent_id, IdeImg::JsonStruct(), id, Value("[G1 [* " + name));
parent_id = tree.Add(parent_id, IdeImg::JsonStruct(), id, "[G1 [* " + name);
for(int i = 0; i < m.GetCount(); i++)
AddNode(parent_id, m.GetKey(i), "[@B \1" + String(m.GetKey(i)) + "\1:]", m.GetValue(i));
}
else
if(v.Is<ValueArray>()) {
parent_id = tree.Add(parent_id, IdeImg::JsonArray(), id, Value("[G1 [* " + name));
parent_id = tree.Add(parent_id, IdeImg::JsonArray(), id, "[G1 [* " + name);
for(int i = 0; i < v.GetCount(); i++)
AddNode(parent_id, i, "[@c " + AsString(i) + ":]", v[i]);
}
@ -57,7 +57,7 @@ int JsonView::AddNode(int parent_id, const Value& id, const String& name, const
else
qtf << "\1 " + AsString(v);
}
parent_id = tree.Add(parent_id, img, id, Value(qtf));
parent_id = tree.Add(parent_id, img, id, qtf);
}
return parent_id;
}

View file

@ -36,7 +36,7 @@ void XmlView::Load(int parent, XmlParser& p)
String txt = tag;
for(int i = 0; i < p.GetAttrCount(); i++)
txt << ' ' << p.GetAttr(i) << "=\"" << p[i] << "\"";
parent = xml.Add(parent, IdeImg::XmlTag(), tag, Value(txt));
parent = xml.Add(parent, IdeImg::XmlTag(), tag, txt);
while(!p.End()) {
if(p.IsEof())
throw XmlError("Unexpected end of text.");
@ -45,16 +45,16 @@ void XmlView::Load(int parent, XmlParser& p)
}
else
if(p.IsText())
xml.Add(parent, IdeImg::XmlText(), Null, Value(NormalizeSpaces(p.ReadText())));
xml.Add(parent, IdeImg::XmlText(), Null, NormalizeSpaces(p.ReadText()));
else
if(p.IsPI())
xml.Add(parent, IdeImg::XmlPI(), Null, Value(NormalizeSpaces(p.ReadPI())));
xml.Add(parent, IdeImg::XmlPI(), Null, NormalizeSpaces(p.ReadPI()));
else
if(p.IsDecl())
xml.Add(parent, IdeImg::XmlDecl(), Null, Value(NormalizeSpaces(p.ReadDecl())));
xml.Add(parent, IdeImg::XmlDecl(), Null, NormalizeSpaces(p.ReadDecl()));
else
if(p.IsComment())
xml.Add(parent, IdeImg::XmlComment(), Null, Value(NormalizeSpaces(p.ReadComment())));
xml.Add(parent, IdeImg::XmlComment(), Null, NormalizeSpaces(p.ReadComment()));
else
throw XmlError("Unexpected input.");
}