| 
				
					|  | Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
 |  
 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |  
		| Autor | Nachricht |  
		| PMedia 
 
 
 Anmeldungsdatum: 14.08.2006
 Beiträge: 2847
 
 
 | 
			
				|  Verfasst am: 27.07.2007, 23:04    Titel: [GTK] Spinn ich, oder ist mein GTK kaputt? |   |  
				| 
 |  
				| Probiert mal folgenden Code aus (Setzt GTK vorraus) 
  	  | Code: |  	  | ' Text.bas ' Translated from C to FB by TinyCla, 2006
 
 #include once "gtk/gtk.bi"
 
 #define NULL 0
 #define GTK_ENABLE_BROKEN 1
 
 Sub text_toggle_editable Cdecl (Byval checkbutton As GtkWidget Ptr, Byval text As GtkWidget Ptr)
 
 gtk_text_set_editable (GTK_TEXT (text), GTK_TOGGLE_BUTTON (checkbutton)->active)
 
 End Sub
 
 Sub text_toggle_word_wrap  Cdecl(Byval checkbutton As GtkWidget Ptr, Byval text As GtkWidget Ptr)
 
 gtk_text_set_word_wrap (GTK_TEXT (text), GTK_TOGGLE_BUTTON (checkbutton)->active)
 
 End Sub
 
 Sub close_application Cdecl( Byval widget As GtkWidget Ptr, Byval user_data As gpointer)
 
 gtk_main_quit ()
 
 End Sub
 
 
 ' ==============================================
 ' Main
 ' ==============================================
 
 Dim As GtkWidget Ptr win
 Dim As GtkWidget Ptr box1
 Dim As GtkWidget Ptr box2
 Dim As GtkWidget Ptr hbox
 Dim As GtkWidget Ptr button
 Dim As GtkWidget Ptr check
 Dim As GtkWidget Ptr separator
 Dim As GtkWidget Ptr table
 Dim As GtkWidget Ptr vscrollbar
 Dim As GtkWidget Ptr text
 Dim As GdkColormap Ptr cmap
 Dim As GdkColor val_color
 Dim As GdkFont Ptr fixed_font
 Dim As Integer infile
 
 gtk_init (NULL, NULL)
 
 win = gtk_window_new (GTK_WINDOW_TOPLEVEL)
 gtk_widget_set_size_request (win, 600, 500)
 gtk_window_set_policy (GTK_WINDOW (win), TRUE, TRUE, FALSE)
 g_signal_connect (G_OBJECT (win), "destroy", G_CALLBACK (@close_application), NULL)
 gtk_window_set_title (GTK_WINDOW (win), "Text Widget Example")
 gtk_container_set_border_width (GTK_CONTAINER (win), 0)
 
 
 box1 = gtk_vbox_new (FALSE, 0)
 gtk_container_add (GTK_CONTAINER (win), box1)
 gtk_widget_show (box1)
 
 box2 = gtk_vbox_new (FALSE, 10)
 gtk_container_set_border_width (GTK_CONTAINER (box2), 10)
 gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0)
 gtk_widget_show (box2)
 
 table = gtk_table_new (2, 2, FALSE)
 gtk_table_set_row_spacing (GTK_TABLE (table), 0, 2)
 gtk_table_set_col_spacing (GTK_TABLE (table), 0, 2)
 gtk_box_pack_start (GTK_BOX (box2), table, TRUE, TRUE, 0)
 gtk_widget_show (table)
 
 ' Create the GtkText widget
 text = gtk_text_new (NULL, NULL)
 gtk_text_set_editable (GTK_TEXT (text), TRUE)
 gtk_table_attach (GTK_TABLE (table), text, 0, 1, 0, 1, GTK_EXPAND Or GTK_SHRINK Or GTK_FILL, GTK_EXPAND Or GTK_SHRINK Or GTK_FILL, 0, 0)
 gtk_widget_show (text)
 
 ' Add a vertical scrollbar to the GtkText widget
 vscrollbar = gtk_vscrollbar_new (GTK_TEXT (text)->vadj)
 gtk_table_attach (GTK_TABLE (table), vscrollbar, 1, 2, 0, 1, GTK_FILL, GTK_EXPAND Or GTK_SHRINK Or GTK_FILL, 0, 0)
 gtk_widget_show (vscrollbar)
 
 ' Get the system color map and allocate the color red
 cmap = gdk_colormap_get_system ()
 val_color.red = 65535
 val_color.green = 0
 val_color.blue = 0
 If Not gdk_color_alloc (cmap, @val_color) Then
 g_print ("couldn't allocate color")
 End If
 
 ' Load a fixed font
 fixed_font = gdk_font_load ("-misc-fixed-medium-r-*-*-*-140-*-*-*-*-*-*")
 
 ' Realizing a widget creates a window for it,
 ' ready for us to insert some text
 gtk_widget_realize (text)
 
 ' Freeze the text widget, ready for multiple updates
 gtk_text_freeze (GTK_TEXT (text))
 
 ' Insert some colored text
 gtk_text_insert (GTK_TEXT (text), NULL, @text->style->black, NULL, "Supports ", -1)
 gtk_text_insert (GTK_TEXT (text), NULL, @val_color, NULL, "colored ", -1)
 gtk_text_insert (GTK_TEXT (text), NULL, @text->style->black,  @text->style->black, "text and different ", -1)
 gtk_text_insert (GTK_TEXT (text), fixed_font, @text->style->black, NULL, !"fonts\n\n", -1)
 
 ' Load the file text.c into the text window
 infile = Freefile
 Open "text.bas" For Input As #infile
 
 Dim As String inbuf
 Dim As Zstring * 1024 buffer
 Dim As Integer nchars
 
 Do Until Eof(infile)
 Line Input #infile, inbuf
 nchars = Len(inbuf)
 buffer = inbuf
 gtk_text_insert (GTK_TEXT (text), fixed_font, NULL, NULL, buffer, nchars)
 buffer = !"\n"
 gtk_text_insert (GTK_TEXT (text), fixed_font, NULL, NULL, buffer, 1)
 Loop
 
 Close #infile
 
 ' Thaw the text widget, allowing the updates to become visible
 gtk_text_thaw (GTK_TEXT (text))
 
 hbox = gtk_hbutton_box_new ()
 gtk_box_pack_start (GTK_BOX (box2), hbox, FALSE, FALSE, 0)
 gtk_widget_show (hbox)
 
 check = gtk_check_button_new_with_label ("Editable")
 gtk_box_pack_start (GTK_BOX (hbox), check, FALSE, FALSE, 0)
 g_signal_connect (G_OBJECT (check), "toggled", G_CALLBACK (@text_toggle_editable), text)
 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), TRUE)
 gtk_widget_show (check)
 check = gtk_check_button_new_with_label ("Wrap Words")
 gtk_box_pack_start (GTK_BOX (hbox), check, FALSE, TRUE, 0)
 g_signal_connect (G_OBJECT (check), "toggled", G_CALLBACK (@text_toggle_word_wrap), text)
 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), FALSE)
 gtk_widget_show (check)
 
 separator = gtk_hseparator_new ()
 gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0)
 gtk_widget_show (separator)
 
 box2 = gtk_vbox_new (FALSE, 10)
 gtk_container_set_border_width (GTK_CONTAINER (box2), 10)
 gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0)
 gtk_widget_show (box2)
 
 button = gtk_button_new_with_label ("close")
 g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (@close_application), NULL)
 gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0)
 GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT)
 gtk_widget_grab_default (button)
 gtk_widget_show (button)
 
 gtk_widget_show (win)
 
 gtk_main ()
 
 End 0
 
 | 
 
 (Schlaue Köpfe werden sicher merken, dass es sich hierbei um /examples/GTK/text.bas handelt)
 
 So, nun probiert die Scrollbar in diesem Beispiel aus. Mach ich das ein paar mal Hin- und Her, so ist mein Edit schwarz...
 Wie umgeht man das?
 |  |  
		| Nach oben |  |  
		|  |  
		| AndT 
 
 
 Anmeldungsdatum: 02.04.2007
 Beiträge: 481
 
 
 | 
			
				|  Verfasst am: 28.07.2007, 12:27    Titel: Re: [GTK] Spinn ich, oder ist mein GTK kaputt? |   |  
				| 
 |  
				|  	  | PMedia hat Folgendes geschrieben: |  	  | Mach ich das ein paar mal Hin- und Her, so ist mein Edit schwarz... | 
 Ist bei mir nicht anders.
 _________________
 Bis irgendwann...
  |  |  
		| Nach oben |  |  
		|  |  
		| oiermann 
 
  
 Anmeldungsdatum: 28.12.2005
 Beiträge: 90
 Wohnort: Leutkirch
 
 | 
			
				|  Verfasst am: 28.07.2007, 14:16    Titel: |   |  
				| 
 |  
				| Also ein kleiner Teil vom Text is bei mir von Anfang am Schwarz, aber egal wie oft ich hin und her gehe, es bleibt wie es ist. http://img411.imageshack.us/img411/710/sshot3db9.jpg
 _________________
 Ich bin keine Signatur, ich putz hier nur
 |  |  
		| Nach oben |  |  
		|  |  
		| AndT 
 
 
 Anmeldungsdatum: 02.04.2007
 Beiträge: 481
 
 
 | 
			
				|  Verfasst am: 28.07.2007, 15:43    Titel: |   |  
				| 
 |  
				| Ich vermute mal das es daran liegt dass, das Texfeld nicht wieder augefrischt wird. _________________
 Bis irgendwann...
  |  |  
		| Nach oben |  |  
		|  |  
		| PMedia 
 
 
 Anmeldungsdatum: 14.08.2006
 Beiträge: 2847
 
 
 | 
			
				|  Verfasst am: 28.07.2007, 15:49    Titel: |   |  
				| 
 |  
				| wird doch. Markiert man das Textfeld, und schiebt dann, ist bei mir alles in Ordnung |  |  
		| Nach oben |  |  
		|  |  
		|  |  
  
	| 
 
 | Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten.
 Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
 Du kannst deine Beiträge in diesem Forum nicht löschen.
 Du kannst an Umfragen in diesem Forum nicht mitmachen.
 
 |  |