예제 #1
0
String HaxeMessageSyntax::displayString(String type, Ref<Arguments> arguments, bool broken)
{
	Ref<StringList, Owner> parts = new StringList;
	if (arguments) {
		*parts << "function(";
		if (broken)
			*parts << "<br/>";
		for (Arguments::Index i = arguments->first(); arguments->def(i); ++i) {
			Ref<Argument> argument = arguments->at(i);
			if (broken)
				*parts << "&nbsp;&nbsp;&nbsp;&nbsp;";
			if (argument->name() != "")
				*parts << argument->name() << ": ";
			*parts << docLink(argument->type());
			if (arguments->def(i + 1))
				*parts << ", ";
			if (broken)
				*parts << "<br/>";
		}
		*parts << "): ";
	}
	*parts << docLink(type);
	if (broken)
		*parts << "<br/>";
	String s = parts->join();
	if ((s->size() > 80) && (!broken)) {
		if (s.stripTags()->size() > 80)
			s = displayString(type, arguments, true);
	}
	return s;
}
예제 #2
0
std::shared_ptr<MuPDFDocLink> CreateURILink(const fz_link *link, fz_rect &rect)
{
	std::shared_ptr<MuPDFDocLink> docLink(CreateLink(rect));
	docLink->type = URI;
	docLink->uri = CopyToUniqueStr(link->dest.ld.uri.uri);	
	return docLink;
}
예제 #3
0
static std::shared_ptr<MuPDFDocLink> CreateInternalLink(const fz_link *link, fz_rect &rect)
{
	std::shared_ptr<MuPDFDocLink> docLink(CreateLink(rect));
	docLink->type = INTERNAL;
	docLink->internalPageNumber = link->dest.ld.gotor.page;
	return docLink;
}
예제 #4
0
static std::shared_ptr<MuPDFDocLink> CreateRemoteLink(const fz_link *link, fz_rect &rect)
{
	std::shared_ptr<MuPDFDocLink> docLink(CreateLink(rect));
	docLink->type = REMOTE;
	docLink->remotePageNumber = link->dest.ld.gotor.page;
	docLink->newWindow = link->dest.ld.gotor.new_window != 0 ? true : false;
	docLink->fileSpec = CopyToUniqueStr(link->dest.ld.gotor.file_spec);
	return docLink;
}
예제 #5
0
static std::shared_ptr<MuPDFDocLink> CreateLink(const fz_rect &rect)
{
	std::shared_ptr<MuPDFDocLink> docLink(new MuPDFDocLink());
	docLink->left = rect.x0;
	docLink->top = rect.y0;
	docLink->right = rect.x1;
	docLink->bottom = rect.y1;
	return docLink;
}