void RNAStructViz::AddDiagramWindow() { std::vector<int> structures; for (int i = 0; i < m_structureManager->GetStructureCount(); ++i) { if (m_structureManager->GetStructure(i)) { structures.push_back(i); } } DiagramWindow* diagram = 0; for (unsigned int i = 0; i < m_diagramWindows.size(); ++i) { diagram = m_diagramWindows[i]; if (!diagram->visible()) { diagram->SetStructures(structures); diagram->show(); return; } } char* title = (char*)malloc(sizeof(char) * 64); snprintf(title, 64, "Structure Diagram %lu", m_diagramWindows.size() + 1); diagram = new DiagramWindow(800, 800, title, structures); m_diagramWindows.push_back(diagram); diagram->show(); }
int main(int argc, char *argv[]) { QApplication a(argc, argv); DiagramWindow w; w.show(); return a.exec(); }
void DiagramWindow::MenuCallback(Fl_Widget* widget, void* userData) { DiagramWindow* window = (DiagramWindow*)widget->parent(); window->m_redrawStructures = true; window->redraw(); }