KJsEmbed

rect.cpp
1 /* This file is part of the KDE libraries
2  Copyright (C) 2005, 2006 Ian Reinhart Geiser <[email protected]>
3  Copyright (C) 2005, 2006 Matt Broadstone <[email protected]>
4  Copyright (C) 2005, 2006 Richard J. Moore <[email protected]>
5  Copyright (C) 2005, 2006 Erik L. Bunce <[email protected]>
6 
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Library General Public
9  License as published by the Free Software Foundation; either
10  version 2 of the License, or (at your option) any later version.
11 
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Library General Public License for more details.
16 
17  You should have received a copy of the GNU Library General Public License
18  along with this library; see the file COPYING.LIB. If not, write to
19  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20  Boston, MA 02110-1301, USA.
21 */
22 #include "rect.h"
23 
24 #include <QDebug>
25 #include <QRect>
26 #include <QPoint>
27 #include <QSize>
28 
29 using namespace KJSEmbed;
30 
31 RectBinding::RectBinding(KJS::ExecState *exec, const QRect &value)
32  : VariantBinding(exec, value)
33 {
34  StaticBinding::publish(exec, this, Rect::methods());
35  StaticBinding::publish(exec, this, VariantFactory::methods());
36 }
37 
38 namespace RectNS
39 {
40 
41 START_VARIANT_METHOD(calladjust, QRect)
42 int arg0 = KJSEmbed::extractInt(exec, args, 0);
43 int arg1 = KJSEmbed::extractInt(exec, args, 1);
44 int arg2 = KJSEmbed::extractInt(exec, args, 2);
45 int arg3 = KJSEmbed::extractInt(exec, args, 3);
46 value.adjust(arg0, arg1, arg2, arg3);
47 END_VARIANT_METHOD
48 
49 START_VARIANT_METHOD(calladjusted, QRect)
50 int arg0 = KJSEmbed::extractInt(exec, args, 0);
51 int arg1 = KJSEmbed::extractInt(exec, args, 1);
52 int arg2 = KJSEmbed::extractInt(exec, args, 2);
53 int arg3 = KJSEmbed::extractInt(exec, args, 3);
54 QRect cppValue = value.adjusted(arg0, arg1, arg2, arg3);
55 result = KJSEmbed::createVariant(exec, "QRect", cppValue);
56 END_VARIANT_METHOD
57 
58 START_VARIANT_METHOD(callbottom, QRect)
59 int cppValue = value.bottom();
60 result = KJS::jsNumber(cppValue);
61 END_VARIANT_METHOD
62 
63 START_VARIANT_METHOD(callbottomLeft, QRect)
64 QPoint cppValue = value.bottomLeft();
65 result = KJSEmbed::createVariant(exec, "QPoint", cppValue);
66 END_VARIANT_METHOD
67 
68 START_VARIANT_METHOD(callbottomRight, QRect)
69 QPoint cppValue = value.bottomRight();
70 result = KJSEmbed::createVariant(exec, "QPoint", cppValue);
71 END_VARIANT_METHOD
72 
73 START_VARIANT_METHOD(callcenter, QRect)
74 QPoint cppValue = value.center();
75 result = KJSEmbed::createVariant(exec, "QPoint", cppValue);
76 END_VARIANT_METHOD
77 
78 START_VARIANT_METHOD(callcontains, QRect)
79 // 1
80 if (args.size() == 2 /* && !KJSEmbed::extractVariant<QPoint>(exec,args, 0).isNull() */)
81 {
82  QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
83  bool arg1 = KJSEmbed::extractBool(exec, args, 1);
84  bool cppValue = value.contains(arg0, arg1);
85  result = KJS::jsBoolean(cppValue);
86 }
87 //2
88 else if (args.size() == 3)
89 {
90  int arg0 = KJSEmbed::extractInt(exec, args, 0);
91  int arg1 = KJSEmbed::extractInt(exec, args, 1);
92  bool arg2 = KJSEmbed::extractBool(exec, args, 2);
93  bool cppValue = value.contains(arg0, arg1, arg2);
94  result = KJS::jsBoolean(cppValue);
95 }
96 // 3
97 else
98 {
99  int arg0 = KJSEmbed::extractInt(exec, args, 0);
100  int arg1 = KJSEmbed::extractInt(exec, args, 1);
101  bool cppValue = value.contains(arg0, arg1);
102  result = KJS::jsBoolean(cppValue);
103 }
104 END_VARIANT_METHOD
105 
106 START_VARIANT_METHOD(callheight, QRect)
107 int cppValue = value.height();
108 result = KJS::jsNumber(cppValue);
109 END_VARIANT_METHOD
110 
111 START_VARIANT_METHOD(callintersect, QRect)
112 QRect arg0 = KJSEmbed::extractVariant<QRect>(exec, args, 0);
113 QRect cppValue = value.intersected(arg0);
114 result = KJSEmbed::createVariant(exec, "QRect", cppValue);
115 END_VARIANT_METHOD
116 
117 START_VARIANT_METHOD(callintersects, QRect)
118 QRect arg0 = KJSEmbed::extractVariant<QRect>(exec, args, 0);
119 bool cppValue = value.intersects(arg0);
120 result = KJS::jsBoolean(cppValue);
121 END_VARIANT_METHOD
122 
123 START_VARIANT_METHOD(callisEmpty, QRect)
124 bool cppValue = value.isEmpty();
125 result = KJS::jsBoolean(cppValue);
126 END_VARIANT_METHOD
127 
128 START_VARIANT_METHOD(callisNull, QRect)
129 bool cppValue = value.isNull();
130 result = KJS::jsBoolean(cppValue);
131 END_VARIANT_METHOD
132 
133 START_VARIANT_METHOD(callisValid, QRect)
134 bool cppValue = value.isValid();
135 result = KJS::jsBoolean(cppValue);
136 END_VARIANT_METHOD
137 
138 START_VARIANT_METHOD(callleft, QRect)
139 int cppValue = value.left();
140 result = KJS::jsNumber(cppValue);
141 END_VARIANT_METHOD
142 
143 START_VARIANT_METHOD(callmoveBottom, QRect)
144 int arg0 = KJSEmbed::extractInt(exec, args, 0);
145 value.moveBottom(arg0);
146 END_VARIANT_METHOD
147 
148 START_VARIANT_METHOD(callmoveBottomLeft, QRect)
149 QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
150 value.moveBottomLeft(arg0);
151 END_VARIANT_METHOD
152 
153 START_VARIANT_METHOD(callmoveBottomRight, QRect)
154 QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
155 value.moveBottomRight(arg0);
156 END_VARIANT_METHOD
157 
158 START_VARIANT_METHOD(callmoveCenter, QRect)
159 QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
160 value.moveCenter(arg0);
161 END_VARIANT_METHOD
162 
163 START_VARIANT_METHOD(callmoveLeft, QRect)
164 int arg0 = KJSEmbed::extractInt(exec, args, 0);
165 value.moveLeft(arg0);
166 END_VARIANT_METHOD
167 
168 START_VARIANT_METHOD(callmoveRight, QRect)
169 int arg0 = KJSEmbed::extractInt(exec, args, 0);
170 value.moveRight(arg0);
171 END_VARIANT_METHOD
172 
173 START_VARIANT_METHOD(callmoveTo, QRect)
174 if (args.size() == 1)
175 {
176  QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
177  value.moveTo(arg0);
178 } else
179 {
180  int arg0 = KJSEmbed::extractInt(exec, args, 0);
181  int arg1 = KJSEmbed::extractInt(exec, args, 1);
182  value.moveTo(arg0, arg1);
183 }
184 END_VARIANT_METHOD
185 
186 START_VARIANT_METHOD(callmoveTop, QRect)
187 int arg0 = KJSEmbed::extractInt(exec, args, 0);
188 value.moveTop(arg0);
189 END_VARIANT_METHOD
190 
191 START_VARIANT_METHOD(callmoveTopLeft, QRect)
192 QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
193 value.moveTopLeft(arg0);
194 END_VARIANT_METHOD
195 
196 START_VARIANT_METHOD(callmoveTopRight, QRect)
197 QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
198 value.moveTopRight(arg0);
199 END_VARIANT_METHOD
200 
201 START_VARIANT_METHOD(callnormalized, QRect)
202 QRect cppValue = value.normalized();
203 result = KJSEmbed::createVariant(exec, "QRect", cppValue);
204 END_VARIANT_METHOD
205 
206 START_VARIANT_METHOD(callright, QRect)
207 int cppValue = value.right();
208 result = KJS::jsNumber(cppValue);
209 END_VARIANT_METHOD
210 
211 START_VARIANT_METHOD(callsetBottom, QRect)
212 int arg0 = KJSEmbed::extractInt(exec, args, 0);
213 value.setBottom(arg0);
214 END_VARIANT_METHOD
215 
216 START_VARIANT_METHOD(callsetBottomLeft, QRect)
217 QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
218 value.setBottomLeft(arg0);
219 END_VARIANT_METHOD
220 
221 START_VARIANT_METHOD(callsetBottomRight, QRect)
222 QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
223 value.setBottomRight(arg0);
224 END_VARIANT_METHOD
225 
226 START_VARIANT_METHOD(callsetCoords, QRect)
227 int arg0 = KJSEmbed::extractInt(exec, args, 0);
228 int arg1 = KJSEmbed::extractInt(exec, args, 1);
229 int arg2 = KJSEmbed::extractInt(exec, args, 2);
230 int arg3 = KJSEmbed::extractInt(exec, args, 3);
231 value.setCoords(arg0, arg1, arg2, arg3);
232 END_VARIANT_METHOD
233 
234 START_VARIANT_METHOD(callsetHeight, QRect)
235 int arg0 = KJSEmbed::extractInt(exec, args, 0);
236 value.setHeight(arg0);
237 END_VARIANT_METHOD
238 
239 START_VARIANT_METHOD(callsetLeft, QRect)
240 int arg0 = KJSEmbed::extractInt(exec, args, 0);
241 value.setLeft(arg0);
242 END_VARIANT_METHOD
243 
244 START_VARIANT_METHOD(callsetRect, QRect)
245 int arg0 = KJSEmbed::extractInt(exec, args, 0);
246 int arg1 = KJSEmbed::extractInt(exec, args, 1);
247 int arg2 = KJSEmbed::extractInt(exec, args, 2);
248 int arg3 = KJSEmbed::extractInt(exec, args, 3);
249 value.setRect(arg0, arg1, arg2, arg3);
250 END_VARIANT_METHOD
251 
252 START_VARIANT_METHOD(callsetRight, QRect)
253 int arg0 = KJSEmbed::extractInt(exec, args, 0);
254 value.setRight(arg0);
255 END_VARIANT_METHOD
256 
257 START_VARIANT_METHOD(callsetSize, QRect)
258 QSize arg0 = KJSEmbed::extractVariant<QSize>(exec, args, 0);
259 value.setSize(arg0);
260 END_VARIANT_METHOD
261 
262 START_VARIANT_METHOD(callsetTop, QRect)
263 int arg0 = KJSEmbed::extractInt(exec, args, 0);
264 value.setTop(arg0);
265 END_VARIANT_METHOD
266 
267 START_VARIANT_METHOD(callsetTopLeft, QRect)
268 QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
269 value.setTopLeft(arg0);
270 END_VARIANT_METHOD
271 
272 START_VARIANT_METHOD(callsetTopRight, QRect)
273 QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
274 value.setTopRight(arg0);
275 END_VARIANT_METHOD
276 
277 START_VARIANT_METHOD(callsetWidth, QRect)
278 int arg0 = KJSEmbed::extractInt(exec, args, 0);
279 value.setWidth(arg0);
280 END_VARIANT_METHOD
281 
282 START_VARIANT_METHOD(callsetX, QRect)
283 int arg0 = KJSEmbed::extractInt(exec, args, 0);
284 value.setX(arg0);
285 END_VARIANT_METHOD
286 
287 START_VARIANT_METHOD(callsetY, QRect)
288 int arg0 = KJSEmbed::extractInt(exec, args, 0);
289 value.setY(arg0);
290 END_VARIANT_METHOD
291 
292 START_VARIANT_METHOD(callsize, QRect)
293 QSize cppValue = value.size();
294 result = KJSEmbed::createVariant(exec, "QSize", cppValue);
295 END_VARIANT_METHOD
296 
297 START_VARIANT_METHOD(calltop, QRect)
298 int cppValue = value.top();
299 result = KJS::jsNumber(cppValue);
300 END_VARIANT_METHOD
301 
302 START_VARIANT_METHOD(calltopLeft, QRect)
303 QPoint cppValue = value.topLeft();
304 result = KJSEmbed::createVariant(exec, "QPoint", cppValue);
305 END_VARIANT_METHOD
306 
307 START_VARIANT_METHOD(calltopRight, QRect)
308 QPoint cppValue = value.topRight();
309 result = KJSEmbed::createVariant(exec, "QPoint", cppValue);
310 END_VARIANT_METHOD
311 
312 START_VARIANT_METHOD(calltranslate, QRect)
313 if (args.size() == 1)
314 {
315  QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
316  value.translate(arg0);
317 } else
318 {
319  int arg0 = KJSEmbed::extractInt(exec, args, 0);
320  int arg1 = KJSEmbed::extractInt(exec, args, 1);
321  value.translate(arg0, arg1);
322 }
323 END_VARIANT_METHOD
324 
325 START_VARIANT_METHOD(calltranslated, QRect)
326 if (args.size() == 1)
327 {
328  QPoint arg0 = KJSEmbed::extractVariant<QPoint>(exec, args, 0);
329  QRect cppValue = value.translated(arg0);
330  result = KJSEmbed::createVariant(exec, "QRect", cppValue);
331 } else
332 {
333  int arg0 = KJSEmbed::extractInt(exec, args, 0);
334  int arg1 = KJSEmbed::extractInt(exec, args, 1);
335  QRect cppValue = value.translated(arg0, arg1);
336  result = KJSEmbed::createVariant(exec, "QRect", cppValue);
337 }
338 END_VARIANT_METHOD
339 
340 START_VARIANT_METHOD(callunite, QRect)
341 QRect arg0 = KJSEmbed::extractVariant<QRect>(exec, args, 0);
342 QRect cppValue = value.united(arg0);
343 result = KJSEmbed::createVariant(exec, "QRect", cppValue);
344 END_VARIANT_METHOD
345 
346 START_VARIANT_METHOD(callwidth, QRect)
347 int cppValue = value.width();
348 result = KJS::jsNumber(cppValue);
349 END_VARIANT_METHOD
350 
351 START_VARIANT_METHOD(callx, QRect)
352 int cppValue = value.x();
353 result = KJS::jsNumber(cppValue);
354 END_VARIANT_METHOD
355 
356 START_VARIANT_METHOD(cally, QRect)
357 int cppValue = value.y();
358 result = KJS::jsNumber(cppValue);
359 END_VARIANT_METHOD
360 }
361 
362 START_METHOD_LUT(Rect)
363 {"adjust", 3, KJS::DontDelete | KJS::ReadOnly, &RectNS::calladjust},
364 {"adjusted", 3, KJS::DontDelete | KJS::ReadOnly, &RectNS::calladjusted},
365 {"bottom", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callbottom},
366 {"bottomLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callbottomLeft},
367 {"bottomRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callbottomRight},
368 {"center", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callcenter},
369 {"contains", 2, KJS::DontDelete | KJS::ReadOnly, &RectNS::callcontains},
370 {"height", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callheight},
371 {"intersect", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callintersect},
372 {"intersects", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callintersects},
373 {"isEmpty", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callisEmpty},
374 {"isNull", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callisNull},
375 {"isValid", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callisValid},
376 {"left", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callleft},
377 {"moveBottom", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveBottom},
378 {"moveBottomLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveBottomLeft},
379 {"moveBottomRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveBottomRight},
380 {"moveCenter", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveCenter},
381 {"moveLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveLeft},
382 {"moveRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveRight},
383 {"moveTo", 1, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveTo},
384 {"moveTop", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveTop},
385 {"moveTopLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveTopLeft},
386 {"moveTopRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveTopRight},
387 {"normalized", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callnormalized},
388 {"right", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callright},
389 {"setBottom", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetBottom},
390 {"setBottomLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetBottomLeft},
391 {"setBottomRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetBottomRight},
392 {"setCoords", 3, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetCoords},
393 {"setHeight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetHeight},
394 {"setLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetLeft},
395 {"setRect", 3, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetRect},
396 {"setRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetRight},
397 {"setSize", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetSize},
398 {"setTop", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetTop},
399 {"setTopLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetTopLeft},
400 {"setTopRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetTopRight},
401 {"setWidth", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetWidth},
402 {"setX", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetX},
403 {"setY", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetY},
404 {"size", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsize},
405 {"top", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltop},
406 {"topLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltopLeft},
407 {"topRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltopRight},
408 {"translate", 1, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltranslate},
409 {"translated", 1, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltranslated},
410 {"unite", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callunite},
411 {"width", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callwidth},
412 {"x", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callx},
413 {"y", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::cally}
414 END_METHOD_LUT
415 
416 NO_ENUMS(Rect)
417 NO_STATICS(Rect)
418 
419 START_CTOR(Rect, QRect, 0)
420 if (args.size() == 2)
421 {
422  /*
423  return KJSEmbed::RectBinding( exec,
424  QRect( KJSEmbed::extractQString(exec,args,0 ) ) );
425  */
426 } else if (args.size() == 4)
427 {
428  return new KJSEmbed::RectBinding(exec,
429  QRect(KJSEmbed::extractInt(exec, args, 0),
430  KJSEmbed::extractInt(exec, args, 1),
431  KJSEmbed::extractInt(exec, args, 2),
432  KJSEmbed::extractInt(exec, args, 3)
433  ));
434 }
435 
436 return new KJSEmbed::RectBinding(exec, QRect());
437 END_CTOR
438 
bool isNull() const const
bool isValid() const const
static void publish(KJS::ExecState *exec, KJS::JSObject *object, const Method *methods)
Publishes an array of Methods to an object.
QVariant based binding.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Dec 10 2023 03:59:19 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.