File indexing completed on 2024-04-28 15:28:40

0001 /* This file is part of the KDE libraries
0002     Copyright (C) 2005, 2006 KJSEmbed Authors
0003     See included AUTHORS file.
0004 
0005     This library is free software; you can redistribute it and/or
0006     modify it under the terms of the GNU Library General Public
0007     License as published by the Free Software Foundation; either
0008     version 2 of the License, or (at your option) any later version.
0009 
0010     This library is distributed in the hope that it will be useful,
0011     but WITHOUT ANY WARRANTY; without even the implied warranty of
0012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013     Library General Public License for more details.
0014 
0015     You should have received a copy of the GNU Library General Public License
0016     along with this library; see the file COPYING.LIB.  If not, write to
0017     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018     Boston, MA 02110-1301, USA.
0019 */
0020 
0021 
0022 var label = new QWidget("QLabel", this );
0023 label.width = 0;
0024 label.height = 0;
0025 label.onResizeEvent = function ( ev )
0026 {
0027   println("Size: " + ev.size.width() + "x" + ev.size.height() );
0028   this.width = ev.size.width();
0029   this.height = ev.size.height();
0030 }
0031 
0032 label.onPaintEvent = function ( ev )
0033 {
0034   try {
0035     var painter = new QPainter(this);
0036     if (painter.begin( this ) )
0037     {
0038       painter.drawLine( 0,0,this.width,this.height );
0039       painter.drawLine( this.width,0, 0, this.height );
0040       painter.end();
0041     }
0042     else
0043       println("Failed to paint " + this );
0044 
0045   } catch ( error ) {
0046     println( "Error painting: " + error );
0047   }
0048 }
0049 
0050 label.size = new QSize(100,100);
0051 label.show();
0052 exec();