Example #1
0
int ImagesDisplay::create_menus(void)
{
  main_menubar = new QMenuBar(this);
  window_menu = main_menubar->addMenu(tr("&Window"));

  toggle_control_panel = new QAction(tr("Toggle Control panel"), this);
  window_menu->addAction(toggle_control_panel);
  connect(toggle_control_panel, SIGNAL(triggered()), this, SLOT(toggle_panel()));

  toggle_explorer_panel = new QAction(tr("Toggle Explorer panel"), this);
  window_menu->addAction(toggle_explorer_panel);
  connect(toggle_explorer_panel, SIGNAL(triggered()), this, SLOT(toggle_explorer()));

  //toggle_full_screen = new QAction(tr("Show full screen"), this);
  //window_menu->addAction(toggle_full_screen);
  //connect(toggle_full_screen, SIGNAL(triggered()), this, SLOT(toggle_fullscreen()));

  main_menubar->show();

  return (0);
}
Example #2
0
ImagesDisplay::ImagesDisplay(QWidget *parent,QApplication *App) :
    QGLWidget(parent = 0)
{
  main_app = App;
  panel = new controlPanel(0,&ima_info);
  visible_control_panel = true;
  full_screen_on        = false;

  threshold_val = 0.5;

  //reload_file_action = new QAction(tr("display load new file"), this);
  connect(panel, SIGNAL(display_new_file()), this, SLOT(load_new_file()));

  connect(panel->hor_slider, SIGNAL(valueChanged(int)), this, SLOT(change_threshold_val(int)));
  connect(panel, SIGNAL(closing_panel()), this, SLOT(toggle_panel()));

  explorer = new scannerFileDialog(0, &ima_info);
  connect(explorer, SIGNAL(load_new_project(int,int,QString*)), this, SLOT(load_new_project(int,int,QString*)));
  visible_explorer_panel = true;
  connect(explorer, SIGNAL(closing_panel()), this, SLOT(toggle_explorer()));

  create_menus();
  ima_info.update_screen = 1;
}
Example #3
0
static void *
ncurses_input_thread(void *unsafe_marsh){
	struct ncurses_input_marshal *nim = unsafe_marsh;
	WINDOW *w = nim->w;
	int ch;

	active = NULL; // No subpanels initially
	while((ch = getch()) != 'q' && ch != 'Q'){
	switch(ch){
		case KEY_HOME:
			lock_ncurses();
			if(selection_active){
				use_first_node_locked();
			}
			unlock_ncurses();
			break;
		case KEY_END:
			lock_ncurses();
			if(selection_active){
				use_last_node_locked();
			}
			unlock_ncurses();
			break;
		case KEY_PPAGE:
			lock_ncurses();
			if(selection_active){
				use_prev_nodepage_locked();
			}
			unlock_ncurses();
			break;
		case KEY_NPAGE:
			lock_ncurses();
			if(selection_active){
				use_next_nodepage_locked();
			}
			unlock_ncurses();
			break;
		case KEY_UP: case 'k':
			lock_ncurses();
			if(!selection_active){
				use_prev_iface_locked(w,&details);
			}else{
				use_prev_node_locked();
			}
			unlock_ncurses();
			break;
		case KEY_DOWN: case 'j':
			lock_ncurses();
			if(!selection_active){
				use_next_iface_locked(w,&details);
			}else{
				use_next_node_locked();
			}
			unlock_ncurses();
			break;
		case KEY_RESIZE:
			lock_ncurses();{
				resize_screen_locked(w);
			}unlock_ncurses();
			break;
		case 12: // Ctrl-L FIXME
			lock_ncurses();{
				redraw_screen_locked();
			}unlock_ncurses();
			break;
		case 13: // Enter FIXME
			lock_ncurses();{
				if(select_iface_locked() == 0){
					selection_active = 1;
				}
			}unlock_ncurses();
			break;
		case KEY_BACKSPACE:
			lock_ncurses();{
				deselect_iface_locked();
				selection_active = 0;
			}unlock_ncurses();
			break;
		case 'l':
			lock_ncurses();
				toggle_panel(w,&diags,display_diags_locked);
			unlock_ncurses();
			break;
		case 'D':
			lock_ncurses();
				resolve_selection(w);
			unlock_ncurses();
			break;
		case 'r':
			lock_ncurses();
				reset_current_interface_stats(w);
			unlock_ncurses();
			break;
		case 'p':
			lock_ncurses();
				toggle_promisc_locked(w);
			unlock_ncurses();
			break;
		case 'd':
			lock_ncurses();
				down_interface_locked(w);
			unlock_ncurses();
			break;
		case 's':
			lock_ncurses();
				sniff_interface_locked(w);
			unlock_ncurses();
			break;
		case '+':
		case KEY_RIGHT:
			lock_ncurses();
				expand_iface_locked();
			unlock_ncurses();
			break;
		case '-':
		case KEY_LEFT:
			lock_ncurses();
				collapse_iface_locked();
			unlock_ncurses();
			break;
		case 'v':{
			lock_ncurses();
				toggle_panel(w,&details,display_details_locked);
			unlock_ncurses();
			break;
		}case 'n':{
			lock_ncurses();
				toggle_panel(w,&network,display_network_locked);
			unlock_ncurses();
			break;
		}case 'e':{
			lock_ncurses();
				toggle_panel(w,&environment,display_env_locked);
			unlock_ncurses();
			break;
		}case 'w':{
			lock_ncurses();
				toggle_panel(w,&channels,display_channels_locked);
			unlock_ncurses();
			break;
		}case 'b':{
			lock_ncurses();
				toggle_panel(w,&bridging,display_bridging_locked);
			unlock_ncurses();
			break;
		}case 'h':{
			lock_ncurses();
				toggle_panel(w,&help,display_help_locked);
			unlock_ncurses();
			break;
		}default:{
			const char *hstr = !help.p ? " ('h' for help)" : "";
			// wstatus() locks/unlocks, and calls screen_update()
			if(isprint(ch)){
				wstatus(w,"unknown command '%c'%s",ch,hstr);
			}else{
				wstatus(w,"unknown scancode %d%s",ch,hstr);
			}
			break;
		}
	}
	}
	wstatus(w,"%s","shutting down");
	// we can't use raise() here, as that sends the signal only
	// to ourselves, and we have it masked.
	pthread_kill(nim->maintid,SIGINT);
	pthread_exit(NULL);
}