KHtml

kjs_html.h
1 /*
2  * This file is part of the KDE libraries
3  * Copyright (C) 1999 Harri Porten ([email protected])
4  * Copyright (C) 2003 Apple Computer, Inc.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 #ifndef _KJS_HTML_H_
22 #define _KJS_HTML_H_
23 
24 #include "html/html_documentimpl.h"
25 #include "html/html_baseimpl.h"
26 #include "html/html_miscimpl.h"
27 #include "html/html_formimpl.h"
28 #include "misc/loader_client.h"
29 
30 #include "ecma/kjs_binding.h"
31 #include "ecma/kjs_dom.h"
32 #include "ecma/kjs_scriptable.h"
33 #include "xml/dom_nodeimpl.h" // for NodeImpl::Id
34 
35 namespace KJS
36 {
37 class HTMLElement;
38 class Window;
39 
40 class HTMLDocument : public DOMDocument
41 {
42 public:
43  HTMLDocument(ExecState *exec, DOM::HTMLDocumentImpl *d);
44  JSValue *getValueProperty(ExecState *exec, int token);
45  using KJS::JSObject::getOwnPropertySlot;
46  bool getOwnPropertySlot(ExecState *exec, const Identifier &propertyName, PropertySlot &slot) override;
47  using KJS::JSObject::put;
48  void put(ExecState *exec, const Identifier &propertyName, JSValue *value, int attr = None) override;
49  void putValueProperty(ExecState *exec, int token, JSValue *value, int /*attr*/);
50 
51  const ClassInfo *classInfo() const override
52  {
53  return &info;
54  }
55  static const ClassInfo info;
56  enum { Referrer, Domain, URL, Body, Location, Cookie,
57  Images, Applets, Links, Forms, Layers, Anchors, Scripts, All, Clear, Open, Close,
58  Write, WriteLn, GetElementsByName, GetSelection, CaptureEvents, ReleaseEvents,
59  BgColor, FgColor, AlinkColor, LinkColor, VlinkColor, LastModified,
60  Height, Width, Dir, Frames, CompatMode, DesignMode, ActiveElement
61  };
62  DOM::HTMLDocumentImpl *impl() const
63  {
64  return static_cast<DOM::HTMLDocumentImpl *>(m_impl.get());
65  }
66 private:
67  static JSValue *nameGetter(ExecState *exec, JSObject *, const Identifier &name, const PropertySlot &slot);
68  static JSValue *frameNameGetter(ExecState *exec, JSObject *, const Identifier &name, const PropertySlot &slot);
69  static JSValue *objectNameGetter(ExecState *exec, JSObject *, const Identifier &name, const PropertySlot &slot);
70  static JSValue *layerNameGetter(ExecState *exec, JSObject *, const Identifier &name, const PropertySlot &slot);
71 };
72 
73 DEFINE_PSEUDO_CONSTRUCTOR(HTMLDocumentPseudoCtor)
74 
75 class HTMLElement : public DOMElement
76 {
77 public:
78  HTMLElement(ExecState *exec, DOM::HTMLElementImpl *e);
79  using KJS::JSObject::getOwnPropertySlot;
80  bool getOwnPropertySlot(ExecState *exec, const Identifier &propertyName, PropertySlot &slot) override;
81  JSValue *getValueProperty(ExecState *exec, int token) const;
82  using KJS::JSObject::put;
83  void put(ExecState *exec, const Identifier &propertyName, JSValue *value, int attr = None) override;
84  void putValueProperty(ExecState *exec, int token, JSValue *value, int);
85  UString toString(ExecState *exec) const override;
86  void pushEventHandlerScope(ExecState *exec, ScopeChain &scope) const override;
87  const ClassInfo *classInfo() const override;
88  static const ClassInfo info;
89 
90  static const ClassInfo html_info, head_info, link_info, title_info,
91  meta_info, base_info, isIndex_info, style_info, body_info, form_info,
92  select_info, optGroup_info, option_info, input_info, textArea_info,
93  button_info, label_info, fieldSet_info, legend_info, ul_info, ol_info,
94  dl_info, dir_info, menu_info, li_info, div_info, p_info, heading_info,
95  blockQuote_info, q_info, pre_info, br_info, baseFont_info, font_info,
96  hr_info, mod_info, a_info, canvas_info, img_info, object_info, param_info,
97  applet_info, map_info, area_info, script_info, table_info,
98  caption_info, col_info, tablesection_info, tr_info,
99  tablecell_info, frameSet_info, frame_info, iFrame_info, marquee_info, layer_info;
100 
101  enum { HtmlVersion, HeadProfile, LinkHref, LinkRel, LinkMedia,
102  LinkCharset, LinkDisabled, LinkHrefLang, LinkRev, LinkTarget, LinkType,
103  LinkSheet, TitleText, MetaName, MetaHttpEquiv, MetaContent, MetaScheme,
104  BaseHref, BaseTarget, IsIndexForm, IsIndexPrompt, StyleDisabled,
105  StyleSheet, StyleType, StyleMedia, BodyBackground, BodyVLink, BodyText,
106  BodyLink, BodyALink, BodyBgColor, BodyOnLoad, BodyOnBlur, BodyOnFocus,
107  BodyOnError, BodyOnMessage, BodyFocus, BodyOnHashChange,
108  FormAction, FormEncType, FormElements, FormLength, FormAcceptCharset,
109  FormReset, FormTarget, FormName, FormMethod, FormSubmit, SelectAdd,
110  SelectValue, SelectSelectedIndex, SelectLength,
111  SelectRemove, SelectForm, SelectType, SelectOptions,
112  SelectDisabled, SelectMultiple, SelectName, SelectSize, SelectItem,
113  OptGroupDisabled, OptGroupLabel, OptionIndex, OptionSelected,
114  OptionForm, OptionText, OptionDefaultSelected, OptionDisabled,
115  OptionLabel, OptionValue, InputReadOnly, InputAccept,
116  InputSize, InputDefaultValue, InputValue, InputType,
117  InputMaxLength, InputDefaultChecked, InputDisabled,
118  InputChecked, InputIndeterminate, InputForm, InputAccessKey, InputAlign, InputAlt,
119  InputName, InputSrc, InputUseMap, InputSelect, InputClick,
120  InputSelectionStart, InputSelectionEnd, InputSetSelectionRange, InputPlaceholder,
121  TextAreaAccessKey, TextAreaName, TextAreaDefaultValue, TextAreaSelect,
122  TextAreaCols, TextAreaDisabled, TextAreaForm, TextAreaType,
123  TextAreaReadOnly, TextAreaRows, TextAreaValue,
124  TextAreaSelectionStart, TextAreaSelectionEnd, TextAreaSetSelectionRange,
125  TextAreaTextLength, TextAreaPlaceholder,
126  ButtonClick, ButtonForm, ButtonName,
127  ButtonDisabled, ButtonAccessKey, ButtonType, ButtonValue, LabelHtmlFor,
128  LabelForm, LabelAccessKey, FieldSetForm, LegendForm, LegendAccessKey,
129  LegendAlign, UListType, UListCompact, OListStart, OListCompact,
130  OListType, DListCompact, DirectoryCompact, MenuCompact, LIType,
131  LIValue, DivAlign, ParagraphAlign, HeadingAlign, BlockQuoteCite,
132  QuoteCite, PreWidth, BRClear, BaseFontColor, BaseFontSize,
133  BaseFontFace, FontColor, FontSize, FontFace, HRWidth, HRNoShade,
134  HRAlign, HRSize, ModCite, ModDateTime, AnchorShape, AnchorRel,
135  AnchorAccessKey, AnchorCoords, AnchorHref, AnchorProtocol, AnchorHost,
136  AnchorCharset, AnchorHrefLang, AnchorHostname, AnchorType,
137  AnchorPort, AnchorPathName, AnchorHash, AnchorSearch, AnchorName,
138  AnchorRev, AnchorTarget, AnchorText, AnchorClick, AnchorToString,
139  ImageName, ImageAlign, ImageHspace, ImageVspace, ImageUseMap, ImageAlt,
140  ImageLowSrc, ImageWidth, ImageIsMap, ImageBorder, ImageHeight,
141  ImageLongDesc, ImageSrc, ImageX, ImageY, ImageComplete, ObjectHspace, ObjectHeight, ObjectAlign,
142  ObjectBorder, ObjectCode, ObjectType, ObjectVspace, ObjectArchive,
143  ObjectDeclare, ObjectForm, ObjectCodeBase, ObjectCodeType, ObjectData, ObjectGetSVGDocument,
144  ObjectName, ObjectStandby, ObjectUseMap, ObjectWidth, ObjectContentDocument,
145  ParamName, ParamType, ParamValueType, ParamValue, AppletArchive,
146  AppletAlt, AppletCode, AppletWidth, AppletAlign, AppletCodeBase,
147  AppletName, AppletHeight, AppletHspace, AppletObject, AppletVspace,
148  MapAreas, MapName, AreaHash, AreaHref, AreaTarget, AreaPort, AreaShape,
149  AreaCoords, AreaAlt, AreaAccessKey, AreaNoHref, AreaHost, AreaProtocol,
150  AreaHostName, AreaPathName, AreaSearch, ScriptEvent,
151  ScriptType, ScriptHtmlFor, ScriptText, ScriptSrc, ScriptCharset,
152  ScriptDefer, TableSummary, TableTBodies, TableTHead, TableCellPadding,
153  TableDeleteCaption, TableCreateCaption, TableCaption, TableWidth,
154  TableCreateTFoot, TableAlign, TableTFoot, TableDeleteRow,
155  TableCellSpacing, TableRows, TableBgColor, TableBorder, TableFrame,
156  TableRules, TableCreateTHead, TableDeleteTHead, TableDeleteTFoot,
157  TableInsertRow, TableCaptionAlign, TableColCh, TableColChOff,
158  TableColAlign, TableColSpan, TableColVAlign, TableColWidth,
159  TableSectionCh, TableSectionDeleteRow, TableSectionChOff,
160  TableSectionRows, TableSectionAlign, TableSectionVAlign,
161  TableSectionInsertRow, TableRowSectionRowIndex, TableRowRowIndex,
162  TableRowChOff, TableRowCells, TableRowVAlign, TableRowCh,
163  TableRowAlign, TableRowBgColor, TableRowDeleteCell, TableRowInsertCell,
164  TableCellColSpan, TableCellNoWrap, TableCellAbbr, TableCellHeight,
165  TableCellWidth, TableCellCellIndex, TableCellChOff, TableCellBgColor,
166  TableCellCh, TableCellVAlign, TableCellRowSpan, TableCellHeaders,
167  TableCellAlign, TableCellAxis, TableCellScope, FrameSetCols,
168  FrameSetRows, FrameSetOnMessage, FrameSrc, FrameLocation, FrameFrameBorder, FrameScrolling,
169  FrameMarginWidth, FrameLongDesc, FrameMarginHeight, FrameName,
170  FrameContentDocument, FrameContentWindow,
171  FrameNoResize, FrameWidth, FrameHeight, IFrameLongDesc, IFrameAlign,
172  IFrameFrameBorder, IFrameSrc, IFrameName, IFrameHeight,
173  IFrameMarginHeight, IFrameMarginWidth, IFrameScrolling, IFrameWidth,
174  IFrameContentDocument, IFrameContentWindow, IFrameGetSVGDocument,
175  MarqueeStart, MarqueeStop,
176  CanvasGetContext, CanvasWidth, CanvasHeight, CanvasToDataURL,
177  LayerTop, LayerLeft, LayerVisibility, LayerBgColor, LayerClip, LayerDocument, LayerLayers,
178  ElementInnerHTML, ElementTitle, ElementId, ElementDir, ElementLang,
179  ElementClassName, ElementInnerText, ElementDocument,
180  ElementChildren, ElementContentEditable, ElementIsContentEditable,
181  ElementAll, ElementScrollIntoView, ElementTabIndex
182  };
183 
184  DOM::HTMLElementImpl *impl() const
185  {
186  return static_cast<DOM::HTMLElementImpl *>(m_impl.get());
187  }
188  JSValue *indexGetter(ExecState *exec, unsigned index);
189 private:
190  static JSValue *formNameGetter(ExecState *exec, JSObject *, const Identifier &name, const PropertySlot &slot);
191 
192  QString getURLArg(unsigned id) const;
193 
194  static KParts::ScriptableExtension *getScriptableExtension(const DOM::HTMLElementImpl &element);
195 
196  /* Many of properties in the DOM bindings can be implemented by merely returning
197  an attribute as the right type, and setting it in similar manner; or perhaps
198  returning a collection of appropriate type*/
199  enum BoundPropType {
200  T_String, //String, to be return by String()
201  T_StrOrNl, //String, to be return by getStringOrNull()
202  T_Bool, //Boolean, return true if property is not null
203  T_Int,
204  T_URL,
205  T_Res, //Reserved, ignore sets, return empty string
206  T_Coll, //Collection, type is in attrID
207  T_ReadOnly = 0x80 //Property should be handled only on read.
208  };
209 
210  enum {
211  NotApplicable = 0xFFFFFFFu
212  };
213 
214  struct BoundPropInfo {
215  unsigned elId; //Applicable element type
216  int token; //Token
217  BoundPropType type;
218  unsigned attrId; //Attribute to get
219  };
220 
221  JSValue *handleBoundRead(ExecState *exec, int token) const;
222  bool handleBoundWrite(ExecState *exec, int token, JSValue *value);
223 
224  static const BoundPropInfo bpTable[];
225 
226  static QHash<int, const BoundPropInfo *> *s_boundPropInfo;
227  static QHash<int, const BoundPropInfo *> *boundPropInfo();
228 
229  // returns our window object --- may return 0.
230  KJS::Window *ourWindow() const;
231  JSValue *getWindowListener(ExecState *exec, int eventId) const;
232  void setWindowListener(ExecState *exec, int eventId, JSValue *val) const;
233 };
234 
235 class HTMLCollection : public DOMObject
236 {
237 public:
238  HTMLCollection(ExecState *exec, DOM::HTMLCollectionImpl *c);
239  HTMLCollection(KJS::JSObject *proto, DOM::HTMLCollectionImpl *c);
240  ~HTMLCollection();
241  JSValue *getValueProperty(ExecState *exec, int token);
242  using KJS::JSObject::getOwnPropertySlot;
243  bool getOwnPropertySlot(ExecState *exec, const Identifier &propertyName, PropertySlot &slot) override;
244 
245  JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const List &args) override;
246  bool implementsCall() const override
247  {
248  return true;
249  }
250  bool isFunctionType() const override
251  {
252  return false;
253  }
254  bool masqueradeAsUndefined() const override;
255  bool toBoolean(ExecState *) const override;
256  void getOwnPropertyNames(ExecState *, PropertyNameArray &, PropertyMap::PropertyMode mode) override;
257  enum { Item, NamedItem, Tags };
258  JSValue *getNamedItems(ExecState *exec, const Identifier &propertyName) const;
259  const ClassInfo *classInfo() const override
260  {
261  return &info;
262  }
263  static const ClassInfo info;
264  DOM::HTMLCollectionImpl *impl() const
265  {
266  return m_impl.get();
267  }
268  virtual void hide()
269  {
270  hidden = true;
271  }
272  JSValue *indexGetter(ExecState *exec, unsigned index);
273 protected:
274  SharedPtr<DOM::HTMLCollectionImpl> m_impl;
275  bool hidden;
276 private:
277  static JSValue *lengthGetter(ExecState *exec, JSObject *, const Identifier &name, const PropertySlot &slot);
278  static JSValue *nameGetter(ExecState *exec, JSObject *, const Identifier &name, const PropertySlot &slot);
279 };
280 
281 class HTMLSelectCollection : public HTMLCollection
282 {
283 public:
284  enum { Add, Remove };
285  HTMLSelectCollection(ExecState *exec, DOM::HTMLCollectionImpl *c, DOM::HTMLSelectElementImpl *e);
286  using KJS::JSObject::getOwnPropertySlot;
287  bool getOwnPropertySlot(ExecState *exec, const Identifier &propertyName, PropertySlot &slot) override;
288  using KJS::JSObject::put;
289  void put(ExecState *exec, const Identifier &propertyName, JSValue *value, int attr = None) override;
290 
291  const ClassInfo *classInfo() const override
292  {
293  return &info;
294  }
295  static const ClassInfo info;
296 
297  DOM::HTMLSelectElementImpl *toElement() const
298  {
299  return element.get();
300  }
301 private:
302  SharedPtr<DOM::HTMLSelectElementImpl> element;
303  static JSValue *selectedIndexGetter(ExecState *exec, JSObject *, const Identifier &propertyName, const PropertySlot &slot);
304  static JSValue *selectedValueGetter(ExecState *exec, JSObject *, const Identifier &propertyName, const PropertySlot &slot);
305 };
306 
307 ////////////////////// Option Object ////////////////////////
308 
309 class OptionConstructorImp : public JSObject
310 {
311 public:
312  OptionConstructorImp(ExecState *exec, DOM::DocumentImpl *d);
313  bool implementsConstruct() const override;
314  using KJS::JSObject::construct;
315  JSObject *construct(ExecState *exec, const List &args) override;
316 private:
317  SharedPtr<DOM::DocumentImpl> doc;
318 };
319 
320 ////////////////////// Image Object ////////////////////////
321 
322 class ImageConstructorImp : public JSObject
323 {
324 public:
325  ImageConstructorImp(ExecState *exec, DOM::DocumentImpl *d);
326  bool implementsConstruct() const override;
327  using KJS::JSObject::construct;
328  JSObject *construct(ExecState *exec, const List &args) override;
329 private:
330  SharedPtr<DOM::DocumentImpl> doc;
331 };
332 
333 JSValue *getHTMLCollection(ExecState *exec, DOM::HTMLCollectionImpl *c, bool hide = false);
334 JSValue *getSelectHTMLCollection(ExecState *exec, DOM::HTMLCollectionImpl *c, DOM::HTMLSelectElementImpl *e);
335 
336 //All the pseudo constructors..
337 DEFINE_PSEUDO_CONSTRUCTOR(HTMLElementPseudoCtor)
338 DEFINE_PSEUDO_CONSTRUCTOR(HTMLHtmlElementPseudoCtor)
339 DEFINE_PSEUDO_CONSTRUCTOR(HTMLHeadElementPseudoCtor)
340 DEFINE_PSEUDO_CONSTRUCTOR(HTMLLinkElementPseudoCtor)
341 DEFINE_PSEUDO_CONSTRUCTOR(HTMLTitleElementPseudoCtor)
342 DEFINE_PSEUDO_CONSTRUCTOR(HTMLMetaElementPseudoCtor)
343 DEFINE_PSEUDO_CONSTRUCTOR(HTMLBaseElementPseudoCtor)
344 DEFINE_PSEUDO_CONSTRUCTOR(HTMLIsIndexElementPseudoCtor)
345 DEFINE_PSEUDO_CONSTRUCTOR(HTMLStyleElementPseudoCtor)
346 DEFINE_PSEUDO_CONSTRUCTOR(HTMLBodyElementPseudoCtor)
347 DEFINE_PSEUDO_CONSTRUCTOR(HTMLFormElementPseudoCtor)
348 DEFINE_PSEUDO_CONSTRUCTOR(HTMLSelectElementPseudoCtor)
349 DEFINE_PSEUDO_CONSTRUCTOR(HTMLOptGroupElementPseudoCtor)
350 DEFINE_PSEUDO_CONSTRUCTOR(HTMLOptionElementPseudoCtor)
351 DEFINE_PSEUDO_CONSTRUCTOR(HTMLInputElementPseudoCtor)
352 DEFINE_PSEUDO_CONSTRUCTOR(HTMLTextAreaElementPseudoCtor)
353 DEFINE_PSEUDO_CONSTRUCTOR(HTMLButtonElementPseudoCtor)
354 DEFINE_PSEUDO_CONSTRUCTOR(HTMLLabelElementPseudoCtor)
355 DEFINE_PSEUDO_CONSTRUCTOR(HTMLFieldSetElementPseudoCtor)
356 DEFINE_PSEUDO_CONSTRUCTOR(HTMLLegendElementPseudoCtor)
357 DEFINE_PSEUDO_CONSTRUCTOR(HTMLUListElementPseudoCtor)
358 DEFINE_PSEUDO_CONSTRUCTOR(HTMLOListElementPseudoCtor)
359 DEFINE_PSEUDO_CONSTRUCTOR(HTMLDListElementPseudoCtor)
360 DEFINE_PSEUDO_CONSTRUCTOR(HTMLDirectoryElementPseudoCtor)
361 DEFINE_PSEUDO_CONSTRUCTOR(HTMLMenuElementPseudoCtor)
362 DEFINE_PSEUDO_CONSTRUCTOR(HTMLLIElementPseudoCtor)
363 DEFINE_PSEUDO_CONSTRUCTOR(HTMLDivElementPseudoCtor)
364 DEFINE_PSEUDO_CONSTRUCTOR(HTMLParagraphElementPseudoCtor)
365 DEFINE_PSEUDO_CONSTRUCTOR(HTMLHeadingElementPseudoCtor)
366 DEFINE_PSEUDO_CONSTRUCTOR(HTMLBlockQuoteElementPseudoCtor)
367 DEFINE_PSEUDO_CONSTRUCTOR(HTMLQuoteElementPseudoCtor)
368 DEFINE_PSEUDO_CONSTRUCTOR(HTMLPreElementPseudoCtor)
369 DEFINE_PSEUDO_CONSTRUCTOR(HTMLBRElementPseudoCtor)
370 DEFINE_PSEUDO_CONSTRUCTOR(HTMLBaseFontElementPseudoCtor)
371 DEFINE_PSEUDO_CONSTRUCTOR(HTMLFontElementPseudoCtor)
372 DEFINE_PSEUDO_CONSTRUCTOR(HTMLHRElementPseudoCtor)
373 DEFINE_PSEUDO_CONSTRUCTOR(HTMLModElementPseudoCtor)
374 DEFINE_PSEUDO_CONSTRUCTOR(HTMLAnchorElementPseudoCtor)
375 DEFINE_PSEUDO_CONSTRUCTOR(HTMLImageElementPseudoCtor)
376 DEFINE_PSEUDO_CONSTRUCTOR(HTMLObjectElementPseudoCtor)
377 DEFINE_PSEUDO_CONSTRUCTOR(HTMLParamElementPseudoCtor)
378 DEFINE_PSEUDO_CONSTRUCTOR(HTMLAppletElementPseudoCtor)
379 DEFINE_PSEUDO_CONSTRUCTOR(HTMLMapElementPseudoCtor)
380 DEFINE_PSEUDO_CONSTRUCTOR(HTMLAreaElementPseudoCtor)
381 DEFINE_PSEUDO_CONSTRUCTOR(HTMLScriptElementPseudoCtor)
382 DEFINE_PSEUDO_CONSTRUCTOR(HTMLTableElementPseudoCtor)
383 DEFINE_PSEUDO_CONSTRUCTOR(HTMLTableCaptionElementPseudoCtor)
384 DEFINE_PSEUDO_CONSTRUCTOR(HTMLTableColElementPseudoCtor)
385 DEFINE_PSEUDO_CONSTRUCTOR(HTMLTableSectionElementPseudoCtor)
386 DEFINE_PSEUDO_CONSTRUCTOR(HTMLTableRowElementPseudoCtor)
387 DEFINE_PSEUDO_CONSTRUCTOR(HTMLTableCellElementPseudoCtor)
388 DEFINE_PSEUDO_CONSTRUCTOR(HTMLFrameSetElementPseudoCtor)
389 DEFINE_PSEUDO_CONSTRUCTOR(HTMLLayerElementPseudoCtor)
390 DEFINE_PSEUDO_CONSTRUCTOR(HTMLFrameElementPseudoCtor)
391 DEFINE_PSEUDO_CONSTRUCTOR(HTMLIFrameElementPseudoCtor)
392 DEFINE_PSEUDO_CONSTRUCTOR(HTMLCollectionPseudoCtor)
393 DEFINE_PSEUDO_CONSTRUCTOR(HTMLMarqueeElementPseudoCtor)
394 DEFINE_PSEUDO_CONSTRUCTOR(HTMLCanvasElementPseudoCtor)
395 } // namespace
396 
397 #endif
Type type(const QSqlDatabase &db)
typedef ParamType
KIOCORE_EXPORT TransferJob * put(const QUrl &url, int permissions, JobFlags flags=DefaultFlags)
AKONADI_MIME_EXPORT const char Body[]
Width
char * toString(const T &value)
ObjectType
Height
Window
Definition: kjs_window.h:393
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Oct 16 2021 22:47:57 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.