0029571: Samples: build qt samples together with OCCT
[occt.git] / samples / qt / Tutorial / src / ApplicationTut.cxx
CommitLineData
7fd59977 1#include "ApplicationTut.h"
2#include "DocumentTut.h"
3
1fa16152 4#include <OSD_Environment.hxx>
5
7fd59977 6#include <QFileDialog>
7#include <QStatusBar>
861a7b03 8#include <QMdiSubWindow>
7fd59977 9
10ApplicationTut::ApplicationTut()
11 : ApplicationCommonWindow( )
12{
13 createMakeBottleOperation();
14}
15
16ApplicationTut::~ApplicationTut()
17{
18}
19
20void ApplicationTut::createMakeBottleOperation(){
21 QPixmap MakeBottleIcon;
22 QString dir = getTutResourceDir() + QString( "/" );
23 MakeBottleIcon = QPixmap( dir+QObject::tr( "ICON_MAKE_BOTTLE" ) );
24
25 QAction * MakeBottleAction = new QAction( MakeBottleIcon, QObject::tr("TBR_MAKEBOT"), this );
26 MakeBottleAction->setToolTip( QObject::tr( "TBR_MAKEBOT" ) );
27 MakeBottleAction->setStatusTip( QObject::tr("TBR_MAKEBOT") );
28 MakeBottleAction->setShortcut( QObject::tr( "CTRL+M" ) );
3cb77da4 29 connect( MakeBottleAction, SIGNAL( triggered() ) , this, SLOT( onMakeBottleAction() ) );
7fd59977 30
31 myMakeBottleBar = addToolBar( tr( "Make Bottle" ) );
32 insertToolBar( getCasCadeBar(), myMakeBottleBar );
33 myMakeBottleBar->addAction( MakeBottleAction );
34 myMakeBottleBar->hide();
35}
36
37void ApplicationTut::updateFileActions()
38{
861a7b03 39 if ( getWorkspace()->subWindowList().isEmpty() )
7fd59977 40 {
41 if ( !isDocument() )
42 {
43 myMakeBottleBar->show();
44 }
45 else
46 {
47 myMakeBottleBar->hide();
48 }
49 }
50 ApplicationCommonWindow::updateFileActions();
51}
52
53void ApplicationTut::onMakeBottleAction()
54{
861a7b03 55 QMdiArea* ws = ApplicationCommonWindow::getWorkspace();
56 DocumentTut* doc = (DocumentTut*)( qobject_cast<MDIWindow*>( ws->activeSubWindow()->widget() )->getDocument() );
7fd59977 57 statusBar()->showMessage( QObject::tr("INF_MAKE_BOTTLE"), 5000 );
58 doc->onMakeBottle();
59 statusBar()->showMessage(QObject::tr("INF_DONE"));
60}
61
62QString ApplicationTut::getTutResourceDir()
63{
1fa16152 64 static QString resDir (OSD_Environment ("CSF_TutorialResourcesDefaults").Value().ToCString());
65 if (resDir.isEmpty())
66 resDir = QString (OSD_Environment ("CSF_OCCTResourcePath").Value().ToCString()) + "/samples";
861a7b03 67 return resDir;
7fd59977 68}