NewsList::NewsList() : m_curAccount(0) { m_ui.setupUi(this); m_ui.tableGroups->setModel(&m_model); m_ui.tableGroups->setColumnWidth(0, 150); m_ui.progressBar->setMaximum(0); m_ui.progressBar->setMinimum(0); m_ui.progressBar->setValue(0); m_ui.progressBar->setVisible(false); m_ui.actionRefresh->setShortcut(QKeySequence::Refresh); m_ui.actionRefresh->setEnabled(false); m_ui.actionFavorite->setEnabled(false); m_ui.actionStop->setEnabled(false); m_ui.chkShowEmpty->setChecked(false); const auto nameWidth = m_ui.tableGroups->columnWidth((int)app::NewsList::Columns::Name); m_ui.tableGroups->setColumnWidth((int)app::NewsList::Columns::Name, nameWidth * 3); m_ui.tableGroups->setColumnWidth((int)app::NewsList::Columns::Subscribed, 32); QObject::connect(app::g_accounts, SIGNAL(accountsUpdated()), this, SLOT(accountsUpdated())); QObject::connect(&m_model, SIGNAL(progressUpdated(quint32, quint32, quint32)), this, SLOT(progressUpdated(quint32, quint32, quint32))); QObject::connect(&m_model, SIGNAL(loadComplete(quint32)), this, SLOT(loadComplete(quint32))); QObject::connect(&m_model, SIGNAL(makeComplete(quint32)), this, SLOT(makeComplete(quint32))); }
void makeWheel(int n, edgefn ef) { int i; if (n < 4) { fprintf(stderr, "Warning: degenerate wheel of %d vertices\n", n); makeComplete(n, ef); return; } makeStar(n, ef); for (i = 2; i < n; i++) ef( i, i + 1); ef (2, n); }
bool CompleteChecks::runOnModule (Module & M) { // // For every run-time check, go and see if it can be converted into a // complete check. // for (unsigned index = 0; index < numChecks; ++index) { // // Skip this run-time check if it is the complete version. // if (RuntimeChecks[index].isComplete) continue; // // Get a pointer to the complete and incomplete versions of the run-time // check. // makeComplete (M, RuntimeChecks[index]); } // // Iterate over the CStdLib functions whose entries are known to DSA. // For each function call, do a completeness check on the given number of // pointer arguments and mark the completeness bit vector accordingly. // for (const CStdLibPoolArgCountEntry *entry = &CStdLibPoolArgCounts[0]; entry->function != 0; ++entry) { if (Function * f = M.getFunction(entry->function)) { makeCStdLibCallsComplete(f, entry->pool_argc); } } // // For every call to sc.fsparameter, fill in the relevant completeness // information about its pointer argument. // makeFSParameterCallsComplete(M); // // Fixup the targets of indirect function calls. // fixupCFIChecks(M, "funccheck"); fixupCFIChecks(M, "funccheck_debug"); return true; }
int main(int argc, char *argv[]) { GraphType graphType; edgefn ef; opts.pfx = ""; opts.name = ""; opts.cnt = 1; graphType = init(argc, argv, &opts); if (opts.directed) { fprintf(opts.outfile, "digraph %s{\n", opts.name); ef = dirfn; } else { fprintf(opts.outfile, "graph %s{\n", opts.name); ef = undirfn; } switch (graphType) { case grid: makeSquareGrid(opts.graphSize1, opts.graphSize2, opts.foldVal, opts.isPartial, ef); break; case circle: makeCircle(opts.graphSize1, ef); break; case path: makePath(opts.graphSize1, ef); break; case tree: if (opts.graphSize2 == 2) makeBinaryTree(opts.graphSize1, ef); else makeTree(opts.graphSize1, opts.graphSize2, ef); break; case trimesh: makeTriMesh(opts.graphSize1, ef); break; case ball: makeBall(opts.graphSize1, opts.graphSize2, ef); break; case torus: if ((opts.parm1 == 0) && (opts.parm2 == 0)) makeTorus(opts.graphSize1, opts.graphSize2, ef); else makeTwistedTorus(opts.graphSize1, opts.graphSize2, opts.parm1, opts.parm2, ef); break; case cylinder: makeCylinder(opts.graphSize1, opts.graphSize2, ef); break; case mobius: makeMobius(opts.graphSize1, opts.graphSize2, ef); break; case sierpinski: makeSierpinski(opts.graphSize1, ef); break; case complete: makeComplete(opts.graphSize1, ef); break; case randomg: makeRandom (opts.graphSize1, opts.graphSize2, ef); break; case randomt: { int i; treegen_t* tg = makeTreeGen (opts.graphSize1); for (i = 1; i <= opts.cnt; i++) { makeRandomTree (tg, ef); if (i != opts.cnt) closeOpen (); } freeTreeGen (tg); } makeRandom (opts.graphSize1, opts.graphSize2, ef); break; case completeb: makeCompleteB(opts.graphSize1, opts.graphSize2, ef); break; case hypercube: makeHypercube(opts.graphSize1, ef); break; case star: makeStar(opts.graphSize1, ef); break; case wheel: makeWheel(opts.graphSize1, ef); break; default: /* can't happen */ break; } fprintf(opts.outfile, "}\n"); exit(0); }