1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
#include <kparts/event.h>
#include "parts.h"
#include <tqcheckbox.h>
#include <tqfile.h>
#include <tqdir.h>
#include <textstream.h>
#include <tqmultilineedit.h>
#include <tqlineedit.h>
#include <tqvbox.h>
#include <kiconloader.h>
#include <kapplication.h>
#include <kdebug.h>
#include <kmessagebox.h>
#include <kaction.h>
#include <klocale.h>
Part1::Part1( TQObject *parent, TQWidget * parentWidget )
: KParts::ReadOnlyPart( parent, "Part1" )
{
m_instance = new KInstance( "kpartstestpart" );
setInstance( m_instance );
m_edit = new TQMultiLineEdit( parentWidget );
setWidget( m_edit );
setXMLFile( "kpartstest_part1.rc" );
/*KAction * paBlah = */ new KAction( "Blah", "filemail", 0, actionCollection(), "p1_blah" );
}
Part1::~Part1()
{
delete m_instance;
}
bool Part1::openFile()
{
kdDebug() << "Part1: opening " << TQFile::encodeName(m_file) << endl;
// Hehe this is from a tutorial I did some time ago :)
TQFile f(m_file);
TQString s;
if ( f.open(IO_ReadOnly) ) {
TQTextStream t( &f );
while ( !t.eof() ) {
s += t.readLine() + "\n";
}
f.close();
} else
return false;
m_edit->setText(s);
emit setStatusBarText( m_url.prettyURL() );
return true;
}
Part2::Part2( TQObject *parent, TQWidget * parentWidget )
: KParts::Part( parent, "Part2" )
{
m_instance = new KInstance( "part2" );
setInstance( m_instance );
TQWidget * w = new TQWidget( parentWidget, "Part2Widget" );
setWidget( w );
TQCheckBox * cb = new TQCheckBox( "something", w );
TQLineEdit * l = new TQLineEdit( "something", widget() );
l->move(0,50);
// Since the main widget is a dummy one, we HAVE to set
// strong focus for it, otherwise we get the
// the famous activating-file-menu-switches-part bug.
w->setFocusPolicy( TQWidget::ClickFocus );
// setXMLFile( ... ); // no actions currently
}
Part2::~Part2()
{
delete m_instance;
}
void Part2::guiActivateEvent( KParts::GUIActivateEvent * event )
{
if (event->activated())
emit setWindowCaption("[part2 activated]");
}
#include "parts.moc"
|