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.DocumentIF; 26 27 private import atk.c.functions; 28 public import atk.c.types; 29 private import glib.Str; 30 private import gobject.Signals; 31 public import gtkc.atktypes; 32 private import std.algorithm; 33 34 35 /** 36 * The AtkDocument interface should be supported by any object whose 37 * content is a representation or view of a document. The AtkDocument 38 * interface should appear on the toplevel container for the document 39 * content; however AtkDocument instances may be nested (i.e. an 40 * AtkDocument may be a descendant of another AtkDocument) in those 41 * cases where one document contains "embedded content" which can 42 * reasonably be considered a document in its own right. 43 */ 44 public interface DocumentIF{ 45 /** Get the main Gtk struct */ 46 public AtkDocument* getDocumentStruct(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_document_get_type(); 56 } 57 58 /** 59 * Retrieves the value of the given @attribute_name inside @document. 60 * 61 * Params: 62 * attributeName = a character string representing the name of the attribute 63 * whose value is being queried. 64 * 65 * Returns: a string value associated with the named 66 * attribute for this document, or %NULL if a value for 67 * @attribute_name has not been specified for this document. 68 * 69 * Since: 1.12 70 */ 71 public string getAttributeValue(string attributeName); 72 73 /** 74 * Gets an AtkAttributeSet which describes document-wide 75 * attributes as name-value pairs. 76 * 77 * Returns: An AtkAttributeSet containing the explicitly 78 * set name-value-pair attributes associated with this document 79 * as a whole. 80 * 81 * Since: 1.12 82 */ 83 public AtkAttributeSet* getAttributes(); 84 85 /** 86 * Retrieves the current page number inside @document. 87 * 88 * Returns: the current page number inside @document, or -1 if 89 * not implemented, not know by the implementor, or irrelevant. 90 * 91 * Since: 2.12 92 */ 93 public int getCurrentPageNumber(); 94 95 /** 96 * Gets a %gpointer that points to an instance of the DOM. It is 97 * up to the caller to check atk_document_get_type to determine 98 * how to cast this pointer. 99 * 100 * Deprecated: Since 2.12. @document is already a representation of 101 * the document. Use it directly, or one of its children, as an 102 * instance of the DOM. 103 * 104 * Returns: a %gpointer that points to an instance of the DOM. 105 */ 106 public void* getDocument(); 107 108 /** 109 * Gets a string indicating the document type. 110 * 111 * Deprecated: Since 2.12. Please use atk_document_get_attributes() to 112 * ask for the document type if it applies. 113 * 114 * Returns: a string indicating the document type 115 */ 116 public string getDocumentType(); 117 118 /** 119 * Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale 120 * of the content of this document instance. Individual 121 * text substrings or images within this document may have 122 * a different locale, see atk_text_get_attributes and 123 * atk_image_get_image_locale. 124 * 125 * Deprecated: Please use atk_object_get_object_locale() instead. 126 * 127 * Returns: a UTF-8 string indicating the POSIX-style LC_MESSAGES 128 * locale of the document content as a whole, or NULL if 129 * the document content does not specify a locale. 130 */ 131 public string getLocale(); 132 133 /** 134 * Retrieves the total number of pages inside @document. 135 * 136 * Returns: total page count of @document, or -1 if not implemented, 137 * not know by the implementor or irrelevant. 138 * 139 * Since: 2.12 140 */ 141 public int getPageCount(); 142 143 /** 144 * Sets the value for the given @attribute_name inside @document. 145 * 146 * Params: 147 * attributeName = a character string representing the name of the attribute 148 * whose value is being set. 149 * attributeValue = a string value to be associated with @attribute_name. 150 * 151 * Returns: %TRUE if @attribute_value is successfully associated 152 * with @attribute_name for this @document, and %FALSE if if the 153 * document does not allow the attribute to be modified 154 * 155 * Since: 1.12 156 */ 157 public bool setAttributeValue(string attributeName, string attributeValue); 158 159 /** 160 * The 'load-complete' signal is emitted when a pending load of 161 * a static document has completed. This signal is to be 162 * expected by ATK clients if and when AtkDocument implementors 163 * expose ATK_STATE_BUSY. If the state of an AtkObject which 164 * implements AtkDocument does not include ATK_STATE_BUSY, it 165 * should be safe for clients to assume that the AtkDocument's 166 * static contents are fully loaded into the container. 167 * (Dynamic document contents should be exposed via other 168 * signals.) 169 */ 170 gulong addOnLoadComplete(void delegate(DocumentIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); 171 172 /** 173 * The 'load-stopped' signal is emitted when a pending load of 174 * document contents is cancelled, paused, or otherwise 175 * interrupted by the user or application logic. It should not 176 * however be emitted while waiting for a resource (for instance 177 * while blocking on a file or network read) unless a 178 * user-significant timeout has occurred. 179 */ 180 gulong addOnLoadStopped(void delegate(DocumentIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); 181 182 /** 183 * The 'page-changed' signal is emitted when the current page of 184 * a document changes, e.g. pressing page up/down in a document 185 * viewer. 186 * 187 * Params: 188 * pageNumber = the new page number. If this value is unknown 189 * or not applicable, -1 should be provided. 190 * 191 * Since: 2.12 192 */ 193 gulong addOnPageChanged(void delegate(int, DocumentIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); 194 195 /** 196 * The 'reload' signal is emitted when the contents of a 197 * document is refreshed from its source. Once 'reload' has 198 * been emitted, a matching 'load-complete' or 'load-stopped' 199 * signal should follow, which clients may await before 200 * interrogating ATK for the latest document content. 201 */ 202 gulong addOnReload(void delegate(DocumentIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); 203 }