win_unicode_input::win_unicode_input(QWidget *parent, Qt::WFlags tipo, QPoint winpos)
        : QDialog(parent, tipo)
{
	// Se questo QDialog viene creato con tipo == Qt::Dialog allora sono costretto ad avere il ? in alto a destra
	// Ciò forse è un bene perchè mi costringerà ad avere un minimo di help
	// Veder Qt::WindowContextHelpButtonHint per avere maggiori informazioni

	setWindowTitle(tr("Insert Character"));	
	//setSizeGripEnabled(true);
	setModal(true);
        move(winpos);

        cw = new CharacterWidget(this);
	QGridLayout	*layout = new QGridLayout(this);
	
	layout->addWidget(setup_group(),0,0);
	layout->addWidget(setup_list(),0,1);
	//layout->addLayout(setup_buttons(),1,0, TRUE, FALSE);
	layout->setSpacing(6);
    layout->setMargin(8);
}
Exemple #2
0
int main(int argc, char **argv){
	GtkWidget *window;

	int ret,indexFlag;
	char cmd[50];
	struct stat sb;
	ret = stat("INDEX/STATUS.txt",&sb);
	
	g_thread_init (NULL);
	gdk_threads_init ();
	gdk_threads_enter();

	if(ret == -1){
		indexFlag = FAIL;
	}
	



	gtk_init(&argc,&argv);

	// Window initiation
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

	gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
//	gtk_window_set_default_size(GTK_WINDOW(window), 1200, 700);
	gtk_window_set_title(GTK_WINDOW(window), "Search");
	gtk_container_set_border_width(GTK_CONTAINER(window), 5);
	gtk_window_maximize(GTK_WINDOW(window));
	GTK_WINDOW(window)->allow_shrink = FALSE;

	// SEARCH PART

	//Widgets - Entry and a button

	
	GtkWidget *fixed;

	fixed = gtk_fixed_new();
	gtk_container_add(GTK_CONTAINER(window),fixed);


	queryEntry = gtk_entry_new();
	gtk_widget_set_size_request(queryEntry, 850, 30);


	searchButton = gtk_button_new_with_label("Search");  
	gtk_widget_set_size_request(searchButton, 80, 30);



	gtk_fixed_put(GTK_FIXED(fixed),queryEntry,X_SEARCH,Y_UPPER);
	gtk_fixed_put(GTK_FIXED(fixed),searchButton,X_SEARCH + 870,Y_UPPER);

			
	g_signal_connect(searchButton,"clicked",G_CALLBACK(list_add_cb),NULL);

	//  result
	
	GtkWidget *view_list;
	
	view_list = setup_list();
	
	gtk_widget_set_size_request(view_list,1000,600);
	
	gtk_fixed_put(GTK_FIXED(fixed),view_list,X_SEARCH,Y_LOWER);

		
	// INDEX PART

	// The index Button

	indexButton = gtk_button_new_with_label("Index");
	gtk_widget_set_size_request(indexButton,80,30);

	gtk_fixed_put(GTK_FIXED(fixed), indexButton, X_INDEX,Y_UPPER);
	g_signal_connect(indexButton,"clicked",G_CALLBACK(indexFunc),NULL);

	//The text view for updates and status

	GtkWidget *label;
	char buf[MAXBIG];

	label = gtk_label_new("Index Status : ");
	gtk_fixed_put(GTK_FIXED(fixed),label,X_INDEX, Y_LOWER);


	textView = gtk_text_view_new();
	gtk_text_view_set_editable(GTK_TEXT_VIEW(textView),FALSE);
	gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(textView),GTK_WRAP_WORD_CHAR);
	gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(textView),FALSE);
	gtk_widget_set_size_request(textView,250,550);

	textViewBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textView));
	if(indexFlag == FAIL){
		sprintf(buf,"Index not created.\nFirst create Index.\nThen Search.\n");
	}else{
		readFile("INDEX/STATUS.txt",buf);
	}
	gtk_text_buffer_set_text(textViewBuffer,buf,-1);


	gtk_fixed_put(GTK_FIXED(fixed), textView, X_INDEX, Y_LOWER + 30);


	// Final commands
	g_signal_connect_swapped(G_OBJECT(window), "destroy",G_CALLBACK(gtk_main_quit), G_OBJECT(window));
	gtk_widget_show_all(window);
	gtk_main();	
	gdk_threads_enter();
	return 0;
}