; Module/File: Editor_SelectAll1.pb ; Function: EditorGadget: (De-) Select whole Text, 1. method - Linux ; Author: Omi ; Date: Jan. 15, 2015 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.31/5.40 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- EnableExplicit ImportC "" g_signal_emit_by_name(*inst, name.p-utf8, value= #Null, term= #Null) gtk_widget_get_window(*widget.GtkWidget) EndImport ; Object constants #MainWin = 0 #But1 = 0 #But2 = 1 #But3 = 2 #Editor1 = 3 #WinX= 0 #WinY= 0 #WinW= 330 #WinH= 200 Global.i gEvent, gQuit Global.s S1= "Dies ist ein mehrzeiliger Text in dem das Selektieren und Deselektieren des ganzen Textes gezeigt wird. " + #LF$ + "Zusätzlich wird als Gag ein kurzes Blinken des Textes gezeigt!" Procedure.i GetGdkWindow(Window) ProcedureReturn gtk_widget_get_window(WindowID(Window)) EndProcedure Procedure Editor_SelectAll(Gadget, SelectOn) g_signal_emit_by_name(GadgetID(Gadget), "select-all", SelectOn) EndProcedure Procedure Gadget_InstantRedraw(Gadget) gtk_widget_queue_draw_(GadgetID(Gadget)) While gtk_events_pending_() gtk_main_iteration_() Wend EndProcedure If OpenWindow(#MainWin, #WinX, #WinY, #WinW, #WinH, "Editor - Select All", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ButtonGadget(#But1, 5, 5, 100, 26, "Select all") ButtonGadget(#But2, 110, 5, 100, 26, "Deselect all") ButtonGadget(#But3, 215, 5, 100, 26, "Short Select") EditorGadget(#Editor1, 5, 35, #WinW-10, #WinH-39) ;SetGadgetColor(#Editor1, #PB_Gadget_BackColor, RGB(255, 255, 235)) AddGadgetItem(#Editor1, -1, S1) SetActiveGadget(#Editor1) gtk_text_view_set_wrap_mode_(GadgetID(#Editor1), #GTK_WRAP_WORD); wortweiser Zeilenumbruch Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True Case #PB_Event_Gadget Select EventGadget() Case #But1 Editor_SelectAll(#Editor1, #True) Case #But2 Editor_SelectAll(#Editor1, #False) Case #But3 Editor_SelectAll(#Editor1, #True) ;SetActiveGadget(#Editor1); needed on colored background! gdk_window_process_updates_(GetGdkWindow(#MainWin), #True) Gadget_InstantRedraw(#Editor1) ;SetClipboardText(GetGadgetText(#Editor1)) Delay(100) Editor_SelectAll(#Editor1, #False) EndSelect EndSelect Until gQuit EndIf ; IDE Options = PureBasic 5.40 LTS Beta 9 (Linux - x86) ; CursorPosition = 8 ; Folding = - ; EnableUnicode ; EnableXP ; CurrentDirectory = /home/charly-xubuntu/Programming/PureBasic/purebasic/