; Module/File: Editor_ReplaceSelection1.pb ; Function: fügt Text als UTF-8 anstelle der Selection oder an der Cursorposition ein - Linux ; Author: Omi ; Date: Oct. 14, 2014 ; Version: 0.2, updt. utf8-handling ; Target Compiler: PureBasic 5.22/5.31/5.40 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- EnableExplicit ImportC "" gtk_text_buffer_insert_at_cursor(*buffer.GtkTextBuffer, text.p-utf8, len) EndImport ; Object constants #MainWin = 0 #Edt1 = 0 #BT1 = 1 #String1 = 2 #WinX=300 #WinY=200 #WinW=300 #WinH=200 Global.i gEvent, gQuit Procedure Editor_ReplaceSelection(Gadget, text.s) Protected *textbuffer.GtkTextBuffer= gtk_text_view_get_buffer_(GadgetID(Gadget)) Protected *start, *end gtk_text_buffer_get_selection_bounds_(*textbuffer, *start, *end) gtk_text_buffer_delete_selection_(*textbuffer, #False, #False) gtk_text_buffer_insert_at_cursor(*textbuffer, text, Len(text)) EndProcedure If OpenWindow(#MainWin, #WinX, #WinY, #WinW, #WinH, "EditorGadget - replace selection", #PB_Window_SystemMenu) ButtonGadget(#BT1, 5, 5, 120, 25, "Replace Selection") StringGadget(#String1, 130, 5, 150, 25, " >INSERTED TEXT< ") EditorGadget(#Edt1, 5, 35, #WinW-10, #WinH-40, #PB_Editor_WordWrap) AddGadgetItem(#Edt1, -1, "Dies ist ein mehrzeiliger editierbarer Text in dem ") AddGadgetItem(#Edt1, -1, "das Umschalten der Textausrichtung innerhalb ") AddGadgetItem(#Edt1, -1, "eines EditorGadgets per Combo-Box-Auswahl ") AddGadgetItem(#Edt1, -1, "eingestellt und beim Tippen beobachtet werden kann.") gtk_text_view_set_wrap_mode_(GadgetID(#Edt1), #GTK_WRAP_WORD); wortweiser Zeilenumbruch Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True Case #PB_Event_Gadget Select EventGadget() Case #BT1 Editor_ReplaceSelection(#Edt1, GetGadgetText(#String1)) EndSelect EndSelect Until gQuit EndIf ; IDE Options = PureBasic 5.40 LTS Beta 9 (Linux - x86) ; CursorPosition = 11 ; Folding = - ; EnableUnicode ; EnableXP ; CurrentDirectory = /home/charly-xubuntu/Programming/PureBasic/purebasic/