void draw(){ for(auto it = node_view.begin();it != node_view.end();it++){ Node * nd = it->first; NodeViewer * nv = it->second; nv->sanitize(nd); nv->update(); nv->draw(shader); } for(auto it = backend.connections.begin();it != backend.connections.end();it++){ ConnectionInfo &cinf = *it; int inlet = cinf.inlet; int outlet = cinf.outlet; NodeViewer * start = node_view[cinf.out_node]; NodeViewer * end = node_view[cinf.in_node]; Vec2f pos_start = start->outlets[outlet].pos + Vec2f(INLET_SIZE/2,INLET_SIZE/2); Vec2f pos_end = end->inlets[inlet].pos + Vec2f(INLET_SIZE/2,INLET_SIZE/2); UiLine uil(pos_start,pos_end,{1.0,1.0,1.0,1.0}); uil.draw(shader); } }
docAttachPrivate(docAttach *parent) : p(parent) { // url and file match _docType->populate below, at least for now map.insert(-3, new StackDescriptor(p->_urlPage, p->_url)); map.insert(-2, new StackDescriptor(p->_filePage, p->_file)); map.insert(Documents::Contact, new StackDescriptor(p->_cntctPage, p->_cntct)); map.insert(Documents::CRMAccount, new StackDescriptor(p->_crmacctPage, p->_crmacct)); map.insert(Documents::Customer, new StackDescriptor(p->_custPage, p->_cust)); map.insert(Documents::Employee, new StackDescriptor(p->_empPage, p->_emp)); map.insert(Documents::Uninitialized, new StackDescriptor(p->_filePage, p->_file)); map.insert(Documents::Uninitialized, new StackDescriptor(p->_imagePage, p->_img)); map.insert(Documents::Incident, new StackDescriptor(p->_incdtPage, p->_incdt)); map.insert(Documents::Invoice, new StackDescriptor(p->_invoicePage, p->_invoice)); map.insert(Documents::Item, new StackDescriptor(p->_itemPage, p->_item)); map.insert(Documents::Opportunity, new StackDescriptor(p->_oppPage, p->_opp)); map.insert(Documents::Project, new StackDescriptor(p->_projPage, p->_proj)); map.insert(Documents::PurchaseOrder, new StackDescriptor(p->_poPage, p->_po)); map.insert(Documents::SalesOrder, new StackDescriptor(p->_soPage, p->_so)); map.insert(Documents::Vendor, new StackDescriptor(p->_vendPage, p->_vend)); map.insert(Documents::Uninitialized, new StackDescriptor(p->_urlPage, p->_url)); map.insert(Documents::WorkOrder, new StackDescriptor(p->_woPage, p->_wo)); if (! _x_privileges) return; // Qt Designer doesn't connect to the database XSqlQuery q("SELECT * FROM source" " WHERE source_widget NOT IN ('', 'core');"); QUiLoader uil(p); while (q.next()) { QWidget *w = 0; QString description = q.value("source_widget").toString(); if (DEBUG) qDebug() << "checking" << q.value("source_name") << description; if (description.startsWith("SELECT", Qt::CaseInsensitive)) { XComboBox *c = new XComboBox(); c->populate(description); w = c; } else if (description.contains("Cluster")) { w = uil.createWidget(description, p, "_" + q.value("source_name").toString()); } if (w) { QString litValue = q.value("source_descrip").toString(); QWidget *page = new QWidget(); QFormLayout *lyt = new QFormLayout(p); QLabel *lit = new QLabel(QT_TRANSLATE_NOOP("docAttach", litValue)); page->setLayout(lyt); lyt->addRow(lit, w); p->_documentsStack->addWidget(page); map.insert(q.value("source_docass_num").toInt(), new StackDescriptor(page, w)); if (DEBUG) qDebug() << "created a widget for" << description; } else { qDebug() << "Could not create a widget for" << description; } } ErrorReporter::error(QtCriticalMsg, 0, "Error Getting Document Types", q, __FILE__, __LINE__); }