Hi this patch fixes bug 1694
Index: lcl/interfaces/gtk2/gtk2wsstdctrls.pp
===================================================================
--- lcl/interfaces/gtk2/gtk2wsstdctrls.pp (revision 8718)
+++ lcl/interfaces/gtk2/gtk2wsstdctrls.pp (working copy)
@@ -118,6 +118,8 @@
private
protected
public
+ class function GetSelStart(const ACustomEdit: TCustomEdit): integer; override;
+ class function GetSelLength(const ACustomEdit: TCustomEdit): integer; override;
end;
{ TGtk2WSCustomMemo }
@@ -562,6 +564,26 @@
{$I gtk2wscustommemo.inc}
+{ TGtk2WSCustomEdit }
+
+function TGtk2WSCustomEdit.GetSelStart(const ACustomEdit: TCustomEdit
+ ): integer;
+var
+ Entry: PGtkEntry;
+begin
+ Entry := PGtkEntry(ACustomEdit.Handle);
+ Result := Min(Entry^.current_pos, Entry^.selection_bound);
+end;
+
+function TGtk2WSCustomEdit.GetSelLength(const ACustomEdit: TCustomEdit
+ ): integer;
+var
+ Entry: PGtkEntry;
+begin
+ Entry := PGtkEntry(ACustomEdit.Handle);
+ Result := ABS(Entry^.current_pos - Entry^.selection_bound);
+end;
+
initialization
////////////////////////////////////////////////////
@@ -577,7 +599,7 @@
// RegisterWSComponent(TComboBox, TGtk2WSComboBox);
RegisterWSComponent(TCustomListBox, TGtk2WSCustomListBox);
// RegisterWSComponent(TListBox, TGtk2WSListBox);
-// RegisterWSComponent(TCustomEdit, TGtk2WSCustomEdit);
+ RegisterWSComponent(TCustomEdit, TGtk2WSCustomEdit);
RegisterWSComponent(TCustomMemo, TGtk2WSCustomMemo);
// RegisterWSComponent(TEdit, TGtk2WSEdit);
// RegisterWSComponent(TMemo, TGtk2WSMemo);