Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
blob: 7f21f703edb4e50396d665b99f72511ec31c732a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
   core/label.cc
   This file is part of the Osirion project and is distributed under
   the terms of the GNU General Public License version 2
*/

#include "core/label.h"

namespace core {

bool Label::compare(const Label *first, const Label *second)
{
	if (first->label() < second->label()) {
		return true;
	} else if (first->label() > second->label()) {
		return false;
	} else {
		return (first->label().length() < second->label().length());
	}
}

Label::Label()
{
}

Label::Label(const char *label)
{
	if (label)
		labelstr.assign(label);
}

Label::Label(const std::string & label)
{
	labelstr.assign(label);
}
	
Label::~Label()
{
	labelstr.clear();
	namestr.clear();
}
	
void Label::set_label(const std::string & label)
{
	labelstr.assign(label);
	aux::to_label(labelstr);
}

void Label::set_label(const char *label)
{
	if (label) {
		labelstr.assign(label);
		aux::to_label(labelstr);
	} else {
		labelstr.clear();
	}
}

void Label::set_name(const std::string & name)
{
	namestr.assign(name);
	aux::strip_quotes(namestr);
}

void Label::set_name(const char *name)
{
	if (name) {
		namestr.assign(name);
		aux::strip_quotes(namestr);
	} else {
		namestr.clear();
	}
}

} // namespace core