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 glib.Str; 28 private import gtkc.atk; 29 public import gtkc.atktypes; 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 * Copy text from @start_pos up to, but not including @end_pos 53 * to the clipboard. 54 * 55 * Params: 56 * startPos = start position 57 * endPos = end position 58 */ 59 public void copyText(int startPos, int endPos); 60 61 /** 62 * Copy text from @start_pos up to, but not including @end_pos 63 * to the clipboard and then delete from the widget. 64 * 65 * Params: 66 * startPos = start position 67 * endPos = end position 68 */ 69 public void cutText(int startPos, int endPos); 70 71 /** 72 * Delete text @start_pos up to, but not including @end_pos. 73 * 74 * Params: 75 * startPos = start position 76 * endPos = end position 77 */ 78 public void deleteText(int startPos, int endPos); 79 80 /** 81 * Insert text at a given position. 82 * 83 * Params: 84 * str = the text to insert 85 * length = the length of text to insert, in bytes 86 * position = The caller initializes this to 87 * the position at which to insert the text. After the call it 88 * points at the position after the newly inserted text. 89 */ 90 public void insertText(string str, int length, int* position); 91 92 /** 93 * Paste text from clipboard to specified @position. 94 * 95 * Params: 96 * position = position to paste 97 */ 98 public void pasteText(int position); 99 100 /** 101 * Sets the attributes for a specified range. See the ATK_ATTRIBUTE 102 * macros (such as #ATK_ATTRIBUTE_LEFT_MARGIN) for examples of attributes 103 * that can be set. Note that other attributes that do not have corresponding 104 * ATK_ATTRIBUTE macros may also be set for certain text widgets. 105 * 106 * Params: 107 * attribSet = an #AtkAttributeSet 108 * startOffset = start of range in which to set attributes 109 * endOffset = end of range in which to set attributes 110 * 111 * Returns: %TRUE if attributes successfully set for the specified 112 * range, otherwise %FALSE 113 */ 114 public bool setRunAttributes(AtkAttributeSet* attribSet, int startOffset, int endOffset); 115 116 /** 117 * Set text contents of @text. 118 * 119 * Params: 120 * str = string to set for text contents of @text 121 */ 122 public void setTextContents(string str); 123 }