~ubuntu-branches/ubuntu/breezy/koffice/breezy

« back to all changes in this revision

Viewing changes to lib/kscript/kscript_ext_qwidget.cc

  • Committer: Bazaar Package Importer
  • Author(s): Ben Burton
  • Date: 2004-05-09 11:33:00 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040509113300-vfrdadqsvjfuhn3b
Tags: 1:1.3.1-1
* New upstream bugfix release.
* Built against newer imagemagick (closes: #246623).
* Made koffice-libs/kformula recommend/depend on latex-xft-fonts, which
  provides mathematical fonts that the formula editor can use.  Also
  patched the kformula part to make these fonts the default.
* Changed kword menu hint from "WordProcessors" to "Word processors"
  (closes: #246209).
* Spellchecker configuration is now fixed (closes: #221256, #227568).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include "kscript_ext_qwidget.h"
2
 
#include "kscript_ext_qstructs.h"
3
 
#include "kscript_context.h"
4
 
#include "kscript_util.h"
5
 
 
6
 
#include <qwidget.h>
7
 
 
8
 
#undef WIDGET
9
 
#define WIDGET ((QWidget*)object())
10
 
#undef CHECKTYPE
11
 
#define CHECKTYPE( context, v, type ) if ( !checkType( context, v, type ) ) return FALSE;
12
 
#define RETURN_LEFTEXPR( n, value ) if ( name == n ) { KSValue::Ptr ptr = value; ptr->setMode( KSValue::LeftExpr ); return ptr; }
13
 
#define RETURN_RIGHTEXPR( n, value ) if ( name == n ) { return value; }
14
 
#define CHECK_LEFTEXPR( context, name ) if ( context.leftExpr() ) return KSObject::member( context, name );
15
 
#define SET_PROP( __n, __expr, __t ) if ( name == __n ) { CHECKTYPE( context, v, __t ); __expr; return TRUE; }
16
 
 
17
 
KSClass_QWidget::KSClass_QWidget( KSModule* m, const char* name ) : KSClass_QObject( m, name )
18
 
{
19
 
  nameSpace()->insert( "QWidget", new KSValue( (KSBuiltinMethod)&KSObject_QWidget::ksQWidget ) );
20
 
  nameSpace()->insert( "show", new KSValue( (KSBuiltinMethod)&KSObject_QWidget::ksQWidget_show ) );
21
 
}
22
 
 
23
 
KSScriptObject* KSClass_QWidget::createObject( KSClass* c )
24
 
{
25
 
  return new KSObject_QWidget( c );
26
 
}
27
 
 
28
 
KSObject_QWidget::KSObject_QWidget( KSClass* c ) : KS_Qt_Object( c )
29
 
{
30
 
}
31
 
 
32
 
bool KSObject_QWidget::ksQWidget( KSContext& context )
33
 
{
34
 
  qDebug("QWidget count=%i\n", count);
35
 
 
36
 
  if ( !checkDoubleConstructor( context, "QWidget" ) )
37
 
    return false;
38
 
 
39
 
  QWidget* parent = 0;
40
 
  QString name;
41
 
 
42
 
  QValueList<KSValue::Ptr>& args = context.value()->listValue();
43
 
 
44
 
  if ( args.count() >= 1 )
45
 
  {
46
 
      if ( !checkArguments( context, context.value(), "QWidget::QWidget", KS_Qt_Object::WidgetType ) )
47
 
          return FALSE;
48
 
      parent = KSObject_QWidget::convert( args[0] );
49
 
  }
50
 
  if ( args.count() >= 2 )
51
 
  {
52
 
      if ( !checkArguments( context, context.value(), "QWidget::QWidget", KS_Qt_Object::StringType ) )
53
 
          return FALSE;
54
 
      name = args[1]->stringValue();
55
 
  }
56
 
  if ( args.count() > 2 )
57
 
  {
58
 
      KSUtil::tooFewArgumentsError( context, "QWidget::QWidget" );
59
 
      return FALSE;
60
 
  }
61
 
 
62
 
  setObject( new QWidget( parent, name.latin1() ) );
63
 
 
64
 
  qDebug("QWidget end count=%i\n", count);
65
 
 
66
 
  return true;
67
 
}
68
 
 
69
 
bool KSObject_QWidget::ksQWidget_show( KSContext& context )
70
 
{
71
 
  qDebug("QWidget::show\n");
72
 
 
73
 
  if ( !checkLive( context, "QWidget::show" ) )
74
 
    return false;
75
 
 
76
 
  if ( !KSUtil::checkArgumentsCount( context, 0, "QWidget::QWidget" ) )
77
 
    return false;
78
 
 
79
 
  QWidget* w = (QWidget*)object();
80
 
  w->show();
81
 
 
82
 
  return true;
83
 
}
84
 
 
85
 
/*
86
 
bool KSObject_QWidget::ksQWidget_delete( KSContext& context )
87
 
{
88
 
  qDebug("QWidget::delete\n");
89
 
 
90
 
  if ( !KSUtil::checkArgumentsCount( context, 0, "QWidget::delete" ) )
91
 
    return false;
92
 
 
93
 
  if ( !object() )
94
 
    return true;
95
 
 
96
 
  delete object();
97
 
  setObject( 0 );
98
 
 
99
 
  return true;
100
 
}
101
 
*/
102
 
KSValue::Ptr KSObject_QWidget::member( KSContext& context, const QString& name )
103
 
{
104
 
  RETURN_RIGHTEXPR( "width", new KSValue( WIDGET->width() ) );
105
 
  RETURN_RIGHTEXPR( "height", new KSValue( WIDGET->height() ) );
106
 
  RETURN_RIGHTEXPR( "x", new KSValue( WIDGET->x() ) );
107
 
  RETURN_RIGHTEXPR( "y", new KSValue( WIDGET->y() ) );
108
 
 
109
 
  CHECK_LEFTEXPR( context, name );
110
 
 
111
 
  RETURN_LEFTEXPR( "caption", new KSValue( WIDGET->caption() ) );
112
 
  RETURN_LEFTEXPR( "geometry", KSQt::Rect::convert( context, WIDGET->geometry() ) );
113
 
 
114
 
  return KS_Qt_Object::member( context, name );
115
 
}
116
 
 
117
 
bool KSObject_QWidget::setMember( KSContext& context, const QString& name, const KSValue::Ptr& v )
118
 
{
119
 
  SET_PROP( "caption", WIDGET->setCaption( v->stringValue() ), StringType )
120
 
  SET_PROP( "geometry", WIDGET->setGeometry( KSQt::Rect::convert( context, v ) ), RectType )
121
 
 
122
 
  return KS_Qt_Object::setMember( context, name, v );
123
 
}