; Module/File: TG_LineWrap.pb ; Function: TextGadget, choose wrapping of text lines - Linux ; Author: Omi ; Date: Mar. 22, 2015 ; Version: 0.2 ; Target Compiler: PureBasic 5.22/5.31/5.40 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- ;different behaviour on gtk3/PB5.40 on gtk_label_set_line_wrap_(GadgetID(#Text0), #False) EnableExplicit ImportC "" gtk_label_set_line_wrap_mode(*label.GtkLabel, wrap_mode) EndImport Enumeration PangoWrapMode #PANGO_WRAP_WORD #PANGO_WRAP_CHAR #PANGO_WRAP_WORD_CHAR EndEnumeration ; Object constants #MainWin= 0 #Text0 = 0 #Text1 = 1 #Text2 = 2 #Text3 = 3 Global.i gEvent, gQuit If OpenWindow(#MainWin, 300, 200, 220, 200, "TextGadget wrapping", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) TextGadget(#Text0, 5, 5, 210, 35, "Ein für die Gadget-Breite zu langer Text ohne Umbruch", #PB_Text_Border); Problem w. width till PB5.40B8 TextGadget(#Text1, 5, 45, 210, 35, "Ein für die Gadget-Breite zu langer Text mit wortweisem Umbruch", #PB_Text_Border) TextGadget(#Text2, 5, 85, 210, 35, "Ein für die Gadget-Breite zu langer Text mit zeichenweisem Umbruch", #PB_Text_Border) TextGadget(#Text3, 5, 125, 210, 35, "Ein für die Gadget-Breite zu langer Text mit platzabhängigem Umbruch", #PB_Text_Border) gtk_label_set_line_wrap_(GadgetID(#Text0), #False); without wrapping gtk_label_set_line_wrap_(GadgetID(#Text1), #True) gtk_label_set_line_wrap_mode(GadgetID(#Text1), #PANGO_WRAP_WORD); word wrapping, PB-Default gtk_label_set_line_wrap_(GadgetID(#Text2), #True) gtk_label_set_line_wrap_mode(GadgetID(#Text2), #PANGO_WRAP_CHAR); char wrapping gtk_label_set_line_wrap_(GadgetID(#Text3), #True) gtk_label_set_line_wrap_mode(GadgetID(#Text3), #PANGO_WRAP_WORD_CHAR); space dependent wrapping Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True EndSelect Until gQuit EndIf ; IDE Options = PureBasic 5.40 LTS (Linux - x86) ; CursorPosition = 30 ; FirstLine = 9 ; EnableUnicode ; EnableXP ; CurrentDirectory = /home/charly-xubuntu/Programming/PureBasic/purebasic/