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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
/****************************************************************************
**
** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
**
** This file is part of an example program for TQt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#include <qapplication.h>
#include <qassistantclient.h>
#include <qfiledialog.h>
#include <qmenubar.h>
#include <qpopupmenu.h>
#include <qstatusbar.h>
#include <qtable.h>
#include <qtoolbar.h>
#include <qtoolbutton.h>
#include <qtooltip.h>
#include "mainwindow.h"
#include "tooltip.h"
#include "whatsthis.h"
MainWindow::MainWindow()
{
statusBar();
assistant = new TQAssistantClient( TQDir("../../bin").absPath(), this );
TQTable* table = new TQTable( 2, 3, this );
setCentralWidget( table );
// populate table
TQStringList comboEntries;
comboEntries << "one" << "two" << "three" << "four";
TQComboTableItem* comboItem1 = new TQComboTableItem( table, comboEntries );
TQComboTableItem* comboItem2 = new TQComboTableItem( table, comboEntries );
TQCheckTableItem* checkItem1 = new TQCheckTableItem( table, "Check me" );
TQCheckTableItem* checkItem2 = new TQCheckTableItem( table, "Check me" );
table->setItem( 0, 0, comboItem1 );
table->setItem( 1, 0, comboItem2 );
table->setItem( 1, 1, checkItem1 );
table->setItem( 0, 1, checkItem2 );
table->setText( 1, 2, "Text" );
table->horizontalHeader()->setLabel( 0, " Combos" );
table->horizontalHeader()->setLabel( 1, "Checkboxes" );
table->verticalHeader()->setLabel( 0, "1" );
table->verticalHeader()->setLabel( 1, "2" );
// populate menubar
TQPopupMenu* fileMenu = new TQPopupMenu( this );
TQPopupMenu* helpMenu = new TQPopupMenu( this );
menuBar()->insertItem( "&File", fileMenu );
menuBar()->insertItem( "&Help", helpMenu );
int fileId = fileMenu->insertItem( "E&xit", this, SLOT(close()) );
int helpId = helpMenu->insertItem( "Open Assistant", this, SLOT(assistantSlot()) );
// populate toolbar
TQToolBar* toolbar = new TQToolBar( this );
TQToolButton* assistantButton = new TQToolButton( toolbar );
assistantButton->setIconSet( TQPixmap("appicon.png") );
TQWhatsThis::whatsThisButton( toolbar );
//create tooltipgroup
TQToolTipGroup * tipGroup = new TQToolTipGroup( this );
connect( tipGroup, SIGNAL(showTip(const TQString&)), statusBar(),
SLOT(message(const TQString&)) );
connect( tipGroup, SIGNAL(removeTip()), statusBar(), SLOT(clear()) );
// set up tooltips
TQToolTip::add( assistantButton, tr ("Open Assistant"), tipGroup, "Opens TQt Assistant" );
horizontalTip = new HeaderToolTip( table->horizontalHeader(), tipGroup );
verticalTip = new HeaderToolTip( table->verticalHeader(), tipGroup );
cellTip = new TableToolTip( table, tipGroup );
// set up whats this
TQWhatsThis::add ( assistantButton, "This is a toolbutton which opens Assistant" );
HeaderWhatsThis *horizontalWhatsThis = new HeaderWhatsThis( table->horizontalHeader() );
HeaderWhatsThis *verticalWhatsThis = new HeaderWhatsThis( table->verticalHeader() );
TableWhatsThis *cellWhatsThis = new TableWhatsThis( table );
fileMenu->setWhatsThis( fileId, "Click here to exit the application" );
helpMenu->setWhatsThis( helpId, "Click here to open Assistant" );
// connections
connect( assistantButton, SIGNAL(clicked()), this, SLOT(assistantSlot()) );
connect( horizontalWhatsThis, SIGNAL(linkClicked(const TQString&)), assistant,
SLOT(showPage(const TQString&)) );
connect( verticalWhatsThis, SIGNAL(linkClicked(const TQString&)), assistant,
SLOT(showPage(const TQString&)) );
connect( cellWhatsThis, SIGNAL(linkClicked(const TQString&)), assistant,
SLOT(showPage(const TQString&)) );
}
MainWindow::~MainWindow()
{
delete horizontalTip;
delete verticalTip;
delete cellTip;
}
void MainWindow::assistantSlot()
{
TQString docsPath = TQDir("../../doc").absPath();
assistant->showPage( TQString("%1/html/qassistantclient.html").arg(docsPath) );
}
|