New element panel can display the thumbnail of elements used in a project

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4293 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2015-12-30 09:39:22 +00:00
parent 72c65f80ad
commit 313e4b9793
20 changed files with 462 additions and 126 deletions

View File

@@ -59,3 +59,31 @@ Element * ElementFactory::createElement(const ElementsLocation &location, QGraph
//default if nothing match for link_type
return (new SimpleElement(location, qgi, state));
}
/**
* @brief ElementFactory::createElement
* @param location : The location of the element
* @param parent : parent item for the new element
* @param state : state of the creation
* @return : the element or nullptr if the creation failed
*/
Element *ElementFactory::createElement(ElementLocation &location, QGraphicsItem *parent, int *state)
{
if (!location.isElement() || location.isNull())
{
if (state) *state = 1;
return nullptr;
}
if (location.xml().hasAttribute("link_type"))
{
QString link_type = location.xml().attribute("link_type");
if (link_type == "next_report" || link_type == "previous_report") return (new ReportElement(location, link_type, parent, state));
if (link_type == "master") return (new MasterElement (location, parent, state));
if (link_type == "slave") return (new SlaveElement (location, parent, state));
if (link_type == "terminal") return (new TerminalElement (location, parent, state));
}
//default if nothing match for link_type
return (new SimpleElement(location, parent, state));
}