// Open a new data source (into g_disk), and possibly the only project static void open_backup(char *type, char *path) { int dps; if (strcmp(type, "-dps12")==0) { _DBG(_DBG_PRJ, "Opening DPS12 backup: %s\n", path); dps = AOSP_DPS12; } else if (strcmp(type, "-dps16")==0) { _DBG(_DBG_PRJ, "Opening DPS16 backup: %s\n", path); dps = AOSP_DPS16; } else { about_box("Invalid backup type specified"); return; } close_backup(); if (g_fd>=0) close(g_fd); #ifdef WIN32 g_fd = _sopen(path, _O_RDONLY | _O_BINARY, _SH_DENYNO); #else g_fd = open(path, O_RDONLY | O_LARGEFILE); #endif if (g_fd<0) { about_box("Unable to open specified path"); return; } _DBG(_DBG_PRJ, "trying multi-project reader..\n"); if (akaiosdisk_read(g_fd, &g_disk)==0) { set_title(path, NULL, NULL); // It's a valid multi-project backup, populate menu // and open first project if (g_disk.dir) { _DBG(_DBG_PRJ, "populating multi-menu\n"); AkaiOsDisk_Dirent *e = g_disk.dir; clear_multi(); while(e) { add_multi(e); e = e->next; } g_dps = dps; open_project(dps, g_disk.dir); } else { about_box("Empty multi-project backup"); } } else { // It might be a single project backup.. _DBG(_DBG_PRJ, "trying single-project reader..\n"); lseek64(g_fd, (off64_t)0, SEEK_SET); g_dps = dps; open_project(dps, NULL); } }
int main(int argc, char *argv[]) { #ifdef ENABLE_NLS bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); #endif gtk_set_locale(); gtk_init(&argc, &argv); // create and show main window mainWindow = (GtkWidget*) create_MainWindow(); gtk_widget_show(mainWindow); // read config file if(read_settings()!=0) show_preferences(); while(!get_mix_path()) if(!show_preferences()) return 0; // initialize MIX while(mix_init(get_mix_path())) if(!show_preferences()) return 0; // open cmd arg passed sheet if(argc > 1) { open_project((const char*) argv[1]); } gtk_main(); return 0; }
void ProjectNavigator::add_file() { QFileDialog fd(this); QDir dir(this->project_path); fd.setDirectory(dir.dirName()); fd.setAcceptMode(QFileDialog::AcceptOpen); fd.setFileMode(QFileDialog::ExistingFile); fd.setNameFilter(tr("NIX File (*.nix *.h5)")); fd.setViewMode(QFileDialog::Detail); QStringList fileNames; if (fd.exec()) fileNames = fd.selectedFiles(); if (fileNames.size() == 0) return; ProjectIndex pi(this->project_path); for (auto f : fileNames) { pi.add_file(f); } open_project(this->project_name, this->project_path); }
void StartPage::on_continue_project_clicked() { emit open_project( selected_filename("projects") ); }
int main(int argc, char **argv) { char buf[1024], *usage = "usage: deepstripper-gtk [-d[ebug]] [-h[elp]] [-o[utput] <path>]\n" " [-dps12|-dps16 <path>] [-e[xtract] <project>]\n"; GtkWidget *vbox, *men, *paned, *note, *frame, *scroll; GtkItemFactory *fac; GtkAccelGroup *acc; int i, dps = -1; for (i=1; i<argc; i++) { if (strcmp(argv[i], "-d")==0) { g_dbg = g_dbg<<1 | 1; } else if (strncmp(argv[i], "-h", 2)==0) { g_print("%s", usage); return 0; } } gtk_init(&argc, &argv); g_main = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(g_main), 600, 400); set_title("?", GETCWD(buf, sizeof(buf)), ""); g_signal_connect(G_OBJECT(g_main), "delete_event", G_CALLBACK(quit), NULL); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(g_main), vbox); gtk_widget_show(vbox); acc = gtk_accel_group_new(); fac = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "<deepstripper-main>", acc); gtk_item_factory_create_items(fac, MENU_SIZE, root_menu, 0); men = gtk_item_factory_get_widget(fac, "<deepstripper-main>"); gtk_box_pack_start(GTK_BOX(vbox), men, FALSE, FALSE, 0); gtk_window_add_accel_group(GTK_WINDOW(g_main), acc); gtk_widget_show(men); g_multi = gtk_item_factory_get_item(fac, "/Multi"); paned = gtk_hpaned_new(); gtk_container_set_border_width(GTK_CONTAINER(paned), 5); gtk_box_pack_start(GTK_BOX(vbox), paned, TRUE, TRUE, 0); gtk_widget_show(paned); note = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(note), GTK_POS_BOTTOM); gtk_notebook_set_show_border(GTK_NOTEBOOK(note), TRUE); gtk_notebook_set_homogeneous_tabs(GTK_NOTEBOOK(note), TRUE); gtk_widget_set_size_request(note, 150, 200); gtk_paned_pack1(GTK_PANED(paned), note, TRUE, FALSE); gtk_widget_show(note); for (i=0; i<N_TABS; i++) { GtkWidget *l = gtk_label_new(g_tabs[i].tab); gtk_widget_show(l); gtk_notebook_append_page(GTK_NOTEBOOK(note), make_list(g_tabs[i].data, i), l); } frame = gtk_frame_new("Item properties:"); gtk_widget_set_size_request(frame, 150, 200); gtk_paned_pack2(GTK_PANED(paned), frame, TRUE, FALSE); gtk_widget_show(frame); scroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(frame), scroll); gtk_widget_show(scroll); g_info = gtk_label_new(DEFAULT_INFO); gtk_label_set_justify(GTK_LABEL(g_info), GTK_JUSTIFY_LEFT); gtk_label_set_line_wrap(GTK_LABEL(g_info), FALSE); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll), g_info); gtk_widget_show(g_info); g_stat = gtk_statusbar_new(); gtk_box_pack_end(GTK_BOX(vbox), g_stat, FALSE, FALSE, 0); gtk_widget_show(g_stat); set_status("status"); // Display everything gtk_widget_show(g_main); // Process all other command line switches for (i=1; i<argc; i++) { if (strncmp(argv[i], "-o", 2)==0) { if (chdir(argv[++i])) about_box("unable to change directory"); else set_title(NULL, GETCWD(buf, sizeof(buf)), NULL); } else if (strncmp(argv[i], "-dps", 4)==0) { open_backup(argv[i], argv[i+1]); if (strcmp(argv[i], "-dps12")==0) dps = AOSP_DPS12; else dps = AOSP_DPS16; ++i; } else if (strncmp(argv[i], "-e", 2)==0) { if (dps<0) about_box("No backup specified to extract from"); else { open_project(dps, akaiosdisk_project_byname(&g_disk, argv[++i])); select_tracks(MID_SELNOE); extract_tracks(); } } else if (strncmp(argv[i], "-d", 2)==0 || strncmp(argv[i], "-h", 2)==0) { ; // Skip earlier opts } else { about_box(usage); } } // Run message pump.. gtk_main(); return 0; }
// Menu handler static void menu(gpointer d, guint action, GtkWidget *w) { char *name; switch(action) { case MID_OPEN12: _DBG(_DBG_GUI,"open DPS12\n"); name = get_file("Open DPS12 backup", FALSE); if (name) open_backup("-dps12", name); break; case MID_OPEN16: _DBG(_DBG_GUI,"open DPS16\n"); name = get_file("Open DPS16 backup", FALSE); if (name) open_backup("-dps16", name); break; case MID_CLOSE: _DBG(_DBG_GUI,"close\n"); close_backup(); break; case MID_PROPS: _DBG(_DBG_GUI,"properties\n"); show_project_info(); break; case MID_EXIT: quit(w, NULL, d); break; case MID_SELASS: _DBG(_DBG_GUI,"select assigned\n"); select_tracks(action); break; case MID_SELNOE: _DBG(_DBG_GUI,"select non-empty\n"); select_tracks(action); break; case MID_SELALL: _DBG(_DBG_GUI,"select all\n"); select_tracks(action); break; case MID_SELNONE: _DBG(_DBG_GUI,"select none\n"); select_tracks(action); break; case MID_SELEXP: _DBG(_DBG_GUI,"export selected\n"); if (g_proj.splbyte==2) extract_tracks(); else about_box("FIXME: only 16-bit data can be exported"); break; case MID_HELP: _DBG(_DBG_GUI,"help about\n"); about_box(NULL); break; case MID_VERSION: _DBG(_DBG_GUI,"help versions\n"); { char buf[256]; sprintf(buf, "deepstripper-gtk: %s\ngtk-build: %d.%d.%d\ngtk-runtime: %d.%d.%d", RELEASE, GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION, gtk_major_version, gtk_minor_version, gtk_micro_version); about_box(buf); } break; case MID_MULTI: _DBG(_DBG_GUI,"change project: %s\n", ((AkaiOsDisk_Dirent *)d)->name); open_project(g_dps, (AkaiOsDisk_Dirent *)d); break; default: _DBG(_DBG_GUI,"unknown action: %d\n", action); break; } }
void ProjectNavigator::set_project(const QString &project) { std::cerr << "ProjectNavigator SetProject: " << project.toStdString() << std::endl; QString path = pm.get_project_path(project); std::cerr << "ProjectNavigator: " << path.toStdString() << std::endl; open_project(project, path); }
WatchDiamondWidget::WatchDiamondWidget(int argc, char **argv, QWidget *parent) : QMainWindow(parent) { setupUi(this); setFocusPolicy(Qt::StrongFocus); markWidget = new MarkWidget(argc,argv,wg_mark); coordinate = new Coordinate(lb_x,lb_y,lb_z,lb_a,lb_b); setupDialog= new AlgorithmDialog(this); for(int i=0; i<5; i++) axisPos[i] = 0; doubleValidator = new QDoubleValidator(this); le_setDiamondT->setValidator(doubleValidator); le_getDiamondT->setValidator(doubleValidator); le_glueT->setValidator(doubleValidator); le_afterGlueT->setValidator(doubleValidator); slowVel = markWidget->get_slow_velocity(); fastVel = markWidget->get_fast_velocity(); currentVel = fastVel; //QString vel = double_to_qstring(currentVel); //le_setVelocity->setText(vel); autoRun = false; QAction* clear = new QAction(QString::fromUtf8("清除所有"),this); te_sysMessage->addAction(clear); te_sysMessage->setContextMenuPolicy(Qt::ActionsContextMenu); te_sysMessage->setTextColor(QColor(Qt::red)); te_sysMessage->setReadOnly(true); te_sysMessage->setText(QString("system Message:\n")); jogButtons[0] = bt_xPlus; jogButtons[1] = bt_xReduce; jogButtons[2] = bt_yPlus; jogButtons[3] = bt_yReduce; jogButtons[4] = bt_zPlus; jogButtons[5] = bt_zReduce; jogButtons[6] = bt_aPlus; jogButtons[7] = bt_aReduce; jogButtons[8] = bt_bPlus; jogButtons[9] = bt_bReduce; ioButtons[0] = tb_1; ioButtons[1] = tb_2; ioButtons[2] = tb_3; ioButtons[3] = tb_4; ioButtons[4] = tb_5; ioButtons[5] = tb_6; connect(markWidget,SIGNAL(update_emc_status(MarkEmcStatus)),this,SLOT(update_emc_slot(MarkEmcStatus))); connect(markWidget,SIGNAL(update_infor(Information&)),this,SLOT(update_infor_slot(Information&))); connect(bt_machineRun,SIGNAL(toggled(bool)),this,SLOT(machine_open_toggled(bool))); connect(bt_home,SIGNAL(clicked()),this,SLOT(home())); connect(bt_zero,SIGNAL(clicked()),this,SLOT(zero())); connect(bt_changeVelocity,SIGNAL(toggled(bool)),this,SLOT(change_vel_toggled(bool))); //connect(le_setVelocity,SIGNAL(editingFinished()),this,SLOT(finish_set_velocity())); connect(bt_scanDiamond,SIGNAL(clicked()),this,SLOT(scan_diamond())); connect(bt_scanWatch,SIGNAL(toggled(bool)),this,SLOT(scan_watch(bool))); connect(bt_setGlue,SIGNAL(toggled(bool)),this,SLOT(set_glue(bool))); connect(bt_setDiamond,SIGNAL(toggled(bool)),this,SLOT(set_diamond(bool))); connect(action_open,SIGNAL(triggered()),this,SLOT(open_project())); connect(action_new,SIGNAL(triggered()),this,SLOT(new_project())); connect(action_halConfig,SIGNAL(triggered()),this,SLOT(hal_config())); connect(action_halMeter,SIGNAL(triggered()),this,SLOT(hal_meter())); connect(action_halScope,SIGNAL(triggered()),this,SLOT(hal_scope())); connect(action_algorithm,SIGNAL(triggered()),this,SLOT(setup_algorithm())); connect(bt_autoRun,SIGNAL(toggled(bool)),this,SLOT(auto_run(bool))); connect(bt_pause,SIGNAL(toggled(bool)),this,SLOT(pause(bool))); connect(bt_stop,SIGNAL(clicked()),this,SLOT(stop())); connect(clear,SIGNAL(triggered()),this,SLOT(clear_error_message())); connect(bt_getDiamondZ,SIGNAL(clicked()),this,SLOT(set_height())); connect(bt_setGlueZ,SIGNAL(clicked()),this,SLOT(set_height())); connect(bt_setDiamondZ,SIGNAL(clicked()),this,SLOT(set_height())); connect(sp_getDiamondZ,SIGNAL(editingFinished()),this,SLOT(set_height())); connect(sp_setDiamondZ,SIGNAL(editingFinished()),this,SLOT(set_height())); connect(sp_setGlueZ,SIGNAL(editingFinished()),this,SLOT(set_height())); connect(le_setDiamondT,SIGNAL(editingFinished()),this,SLOT(set_time())); connect(le_getDiamondT,SIGNAL(editingFinished()),this,SLOT(set_time())); connect(le_glueT,SIGNAL(editingFinished()),this,SLOT(set_time())); connect(le_afterGlueT,SIGNAL(editingFinished()),this,SLOT(set_time())); connect(hs_slowVel,SIGNAL(valueChanged(int)),this,SLOT(set_velocity(int))); connect(hs_fastVel,SIGNAL(valueChanged(int)),this,SLOT(set_velocity(int))); connect(sp_pickupOffsetX,SIGNAL(valueChanged(double)),this,SLOT(micro_adjust_offset(double))); connect(sp_pickupOffsetY,SIGNAL(valueChanged(double)),this,SLOT(micro_adjust_offset(double))); connect(sp_glueOffsetX,SIGNAL(valueChanged(double)),this,SLOT(micro_adjust_offset(double))); connect(sp_glueOffsetY,SIGNAL(valueChanged(double)),this,SLOT(micro_adjust_offset(double))); for(int i=0; i<10; i++){ connect(jogButtons[i],SIGNAL(pressed()),this,SLOT(jog())); connect(jogButtons[i],SIGNAL(released()),this,SLOT(end_jog())); } for(int i=0; i<6; i++){ connect(ioButtons[i],SIGNAL(toggled(bool)),this,SLOT(io_button_toggled(bool))); } connect(sp_distance,SIGNAL(valueChanged(double)),this,SLOT(set_diamond_distance(double))); sp_distance->setValue(0.080); bt_machineRun->setChecked(true); timer = new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(ask_home())); timer->start(500); //bt_home->setChecked(true); }