Hi,
I am trying to change the mouse cursor of a textview widget. Here is what i have tried so far:
Code:
#include <gtk/gtk.h>
GtkWidget *Add_To_Scrolled_Window(GtkWidget *widget,int width,int height)
{
GtkWidget *scrolled_window;
scrolled_window = gtk_scrolled_window_new(NULL,NULL);
if(height != 0 && width != 0)
gtk_widget_set_size_request(widget,width,height);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled_window),GTK_SHADOW_IN);
gtk_container_add(GTK_CONTAINER(scrolled_window),widget);
return scrolled_window;
}
void Title_Box(GtkWidget *vbox,char *title_msg)
{
GtkWidget *scrolled_window,*textview;
GtkTextBuffer *buffer;
GtkTextIter iter;
GdkCursor *cur;
GdkWindow *window;
textview = gtk_text_view_new();
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
cur = gdk_cursor_new(GDK_ARROW);
window = gtk_text_view_get_window (GTK_TEXT_VIEW(textview),
GTK_TEXT_WINDOW_TEXT);
gdk_window_set_cursor(window, cur);
gtk_text_buffer_create_tag(buffer,"title","foreground","blue",NULL);
gtk_text_buffer_get_iter_at_offset(buffer,&iter,10);
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,title_msg,-1,"title",NULL);
g_object_set(G_OBJECT(textview),"cursor-visible",FALSE,"editable",FALSE,NULL);
scrolled_window = Add_To_Scrolled_Window(textview,0,0);
gtk_box_pack_start(GTK_BOX(vbox),scrolled_window,TRUE,TRUE,TRUE);
}
int main(int argc,char **argv)
{
GtkWidget *entry_option,*main_box;
gtk_init(&argc,&argv);
entry_option = gtk_window_new(GTK_WINDOW_TOPLEVEL);
main_box = gtk_vbox_new(FALSE,10);
gtk_widget_set_size_request(entry_option,750,-1);
Title_Box(main_box,"Text View Mouse Cursor Test");
gtk_container_set_border_width(GTK_CONTAINER(entry_option),20);
gtk_container_add(GTK_CONTAINER(entry_option),main_box);
gtk_widget_show_all(entry_option);
gtk_main();
return 0;
}
Its not working. I searched the forum,but none of the answer is working for me. Any help would be appreciated.