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 public import gtkc.atktypes; 31 32 33 /** 34 * #AtkEditableText should be implemented by UI components which 35 * contain text which the user can edit, via the #AtkObject 36 * corresponding to that component (see #AtkObject). 37 * 38 * #AtkEditableText is a subclass of #AtkText, and as such, an object 39 * which implements #AtkEditableText is by definition an #AtkText 40 * implementor as well. 41 * 42 * See also: #AtkText 43 */ 44 public interface EditableTextIF{ 45 /** Get the main Gtk struct */ 46 public AtkEditableText* getEditableTextStruct(bool transferOwnership = false); 47 48 /** the main Gtk struct as a void* */ 49 protected void* getStruct(); 50 51 52 /** */ 53 public static GType getType() 54 { 55 return atk_editable_text_get_type(); 56 } 57 58 /** 59 * Copy text from @start_pos up to, but not including @end_pos 60 * to the clipboard. 61 * 62 * Params: 63 * startPos = start position 64 * endPos = end position 65 */ 66 public void copyText(int startPos, int endPos); 67 68 /** 69 * Copy text from @start_pos up to, but not including @end_pos 70 * to the clipboard and then delete from the widget. 71 * 72 * Params: 73 * startPos = start position 74 * endPos = end position 75 */ 76 public void cutText(int startPos, int endPos); 77 78 /** 79 * Delete text @start_pos up to, but not including @end_pos. 80 * 81 * Params: 82 * startPos = start position 83 * endPos = end position 84 */ 85 public void deleteText(int startPos, int endPos); 86 87 /** 88 * Insert text at a given position. 89 * 90 * Params: 91 * str = the text to insert 92 * length = the length of text to insert, in bytes 93 * position = The caller initializes this to 94 * the position at which to insert the text. After the call it 95 * points at the position after the newly inserted text. 96 */ 97 public void insertText(string str, int length, int* position); 98 99 /** 100 * Paste text from clipboard to specified @position. 101 * 102 * Params: 103 * position = position to paste 104 */ 105 public void pasteText(int position); 106 107 /** 108 * Sets the attributes for a specified range. See the ATK_ATTRIBUTE 109 * macros (such as #ATK_ATTRIBUTE_LEFT_MARGIN) for examples of attributes 110 * that can be set. Note that other attributes that do not have corresponding 111 * ATK_ATTRIBUTE macros may also be set for certain text widgets. 112 * 113 * Params: 114 * attribSet = an #AtkAttributeSet 115 * startOffset = start of range in which to set attributes 116 * endOffset = end of range in which to set attributes 117 * 118 * Returns: %TRUE if attributes successfully set for the specified 119 * range, otherwise %FALSE 120 */ 121 public bool setRunAttributes(AtkAttributeSet* attribSet, int startOffset, int endOffset); 122 123 /** 124 * Set text contents of @text. 125 * 126 * Params: 127 * str = string to set for text contents of @text 128 */ 129 public void setTextContents(string str); 130 }