1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License 6 * as published by the Free Software Foundation; either version 3 7 * of the License, or (at your option) any later version, with 8 * some exceptions, please read the COPYING file. 9 * 10 * gtkD is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 25 module atk.EditableTextIF; 26 27 private import atk.c.functions; 28 public import atk.c.types; 29 private import glib.Str; 30 31 32 /** 33 * #AtkEditableText should be implemented by UI components which 34 * contain text which the user can edit, via the #AtkObject 35 * corresponding to that component (see #AtkObject). 36 * 37 * #AtkEditableText is a subclass of #AtkText, and as such, an object 38 * which implements #AtkEditableText is by definition an #AtkText 39 * implementor as well. 40 * 41 * See also: #AtkText 42 */ 43 public interface EditableTextIF{ 44 /** Get the main Gtk struct */ 45 public AtkEditableText* getEditableTextStruct(bool transferOwnership = false); 46 47 /** the main Gtk struct as a void* */ 48 protected void* getStruct(); 49 50 51 /** */ 52 public static GType getType() 53 { 54 return atk_editable_text_get_type(); 55 } 56 57 /** 58 * Copy text from @start_pos up to, but not including @end_pos 59 * to the clipboard. 60 * 61 * Params: 62 * startPos = start position 63 * endPos = end position 64 */ 65 public void copyText(int startPos, int endPos); 66 67 /** 68 * Copy text from @start_pos up to, but not including @end_pos 69 * to the clipboard and then delete from the widget. 70 * 71 * Params: 72 * startPos = start position 73 * endPos = end position 74 */ 75 public void cutText(int startPos, int endPos); 76 77 /** 78 * Delete text @start_pos up to, but not including @end_pos. 79 * 80 * Params: 81 * startPos = start position 82 * endPos = end position 83 */ 84 public void deleteText(int startPos, int endPos); 85 86 /** 87 * Insert text at a given position. 88 * 89 * Params: 90 * string_ = the text to insert 91 * length = the length of text to insert, in bytes 92 * position = The caller initializes this to 93 * the position at which to insert the text. After the call it 94 * points at the position after the newly inserted text. 95 */ 96 public void insertText(string string_, int length, int* position); 97 98 /** 99 * Paste text from clipboard to specified @position. 100 * 101 * Params: 102 * position = position to paste 103 */ 104 public void pasteText(int position); 105 106 /** 107 * Sets the attributes for a specified range. See the ATK_ATTRIBUTE 108 * macros (such as #ATK_ATTRIBUTE_LEFT_MARGIN) for examples of attributes 109 * that can be set. Note that other attributes that do not have corresponding 110 * ATK_ATTRIBUTE macros may also be set for certain text widgets. 111 * 112 * Params: 113 * attribSet = an #AtkAttributeSet 114 * startOffset = start of range in which to set attributes 115 * endOffset = end of range in which to set attributes 116 * 117 * Returns: %TRUE if attributes successfully set for the specified 118 * range, otherwise %FALSE 119 */ 120 public bool setRunAttributes(AtkAttributeSet* attribSet, int startOffset, int endOffset); 121 122 /** 123 * Set text contents of @text. 124 * 125 * Params: 126 * string_ = string to set for text contents of @text 127 */ 128 public void setTextContents(string string_); 129 }