Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

TrapperApp Class Reference

The base class of the application. It sets up the main window and providing a menubar, toolbar and statusbar. For the main view, an instance of class TrapperView is created which creates your view. More...

#include <trapper.h>

List of all members.

Public Types

typedef std::multimap< QString,
TrapperDoc * > 
str_doc_map

Public Slots

void slotCreateClient (QString modeView)
void slotFileQuit ()

Public Member Functions

 TrapperApp ()
virtual ~TrapperApp ()
void setDbHomeDir (QString dir)
void setViewModeConfFile (QString filename)
void openDocumentFile (const char *file=0)
void exportToFile (QString toXmlFile)

Protected Member Functions

bool queryExit ()
virtual bool eventFilter (QObject *object, QEvent *event)
void createClient (TrapperDoc *doc, QString modeview=QString::null)

Private Slots

void slotFileNew ()
void slotFileOpen ()
void slotFileSave ()
void slotFileSaveAs ()
void slotFileClose ()
void slotFileFlush ()
void slotFilePrint ()
void slotEditUndo ()
void slotEditCut ()
void slotEditCopy ()
void slotEditPaste ()
void slotEditSelectAll ()
void slotEditSelectBetween ()
void slotEditFindRead ()
void slotViewToolBar (bool toggle)
void slotViewStatusBar (bool toggle)
void slotWindowNewWindow ()
void slotHelpAbout ()
void slotHelpManual ()
void slotStatusHelpMsg (const QString &text)
void showAssistantErrors (const QString &err)
void windowMenuAboutToShow ()
void windowMenuActivated (int id)
void slotImport ()
void slotNewImport ()
void slotChromatImport ()
void slotMateImport ()
void slotPhdImport ()
void slotExport ()
void slotZoomIn ()
void slotZoomInX ()
void slotZoomInY ()
void slotZoomOut ()
void slotZoomOutX ()
void slotZoomOutY ()
void slotEnlarge ()
void slotShrink ()
void slotShowStatistics ()
void slotConfigureViewModes ()
void slotNormalMode ()
void slotDragMode ()
void slotActivatedWindow (QWidget *w)

Private Member Functions

void initActions ()
void initMenuBar ()
void initToolBar ()
void initStatusBar ()
void initView ()
void scroll (int dx, int dy)
void open_docs_not_already_open (QPtrList< TrapperDoc > &notOpenBefore)
void map_reads_to_docs (str_doc_map &readmap, QPtrList< TrapperDoc > &notOpenBefore)
QStringList contigNamesInProjectDir ()

Private Attributes

QFile viewmodefile
QPopupMenu * pFileMenu
QPopupMenu * pEditMenu
QPopupMenu * pViewMenu
QPopupMenu * pHelpMenu
QPopupMenu * pWindowMenu
QPopupMenu * pToolsMenu
QToolBar * fileToolbar
QWorkspace * pWorkspace
QPrinter * printer
int untitledCount
QList< TrapperDoc > * pDocList
QAction * fileNew
QAction * fileOpen
QAction * fileSave
QAction * fileSaveAs
QAction * fileClose
QAction * filePrint
QAction * fileQuit
QAction * fileFlush
QAction * editUndo
QAction * editCut
QAction * editCopy
QAction * editPaste
QAction * editSelectAll
QAction * editSelectBetween
QAction * editFindRead
QAction * viewToolBar
QAction * viewStatusBar
QAction * zoomInAction
QAction * zoomInXAction
QAction * zoomInYAction
QAction * zoomOutAction
QAction * zoomOutXAction
QAction * zoomOutYAction
QAction * enlargeAction
QAction * shrinkAction
QAction * showStatisticsAction
QAction * configureViewModesAction
QActionGroup * windowAction
QAction * windowNewWindow
QAction * windowTile
QAction * windowCascade
QActionGroup * modeActionGroup
QAction * normalModeAction
QAction * dragModeAction
QAction * importAction
QAction * importNewAction
QAction * importChromatAction
QAction * importMateAction
QAction * importPhdAction
QAction * exportAction
QAction * helpAboutApp
QAction * helpManualApp
QAssistantClient * assistant
QString projectDir
DbEnv * dbenv


Detailed Description

The base class of the application. It sets up the main window and providing a menubar, toolbar and statusbar. For the main view, an instance of class TrapperView is created which creates your view.

Author:
Source Framework Automatically Generated by KDevelop, (c) The KDevelop Team.
Version:
KDevelop version 1.3 code generation

Definition at line 56 of file trapper.h.


Member Typedef Documentation

typedef std::multimap<QString, TrapperDoc*> TrapperApp::str_doc_map
 

Definition at line 77 of file trapper.h.


Constructor & Destructor Documentation

TrapperApp::TrapperApp  ) 
 

construtor

Definition at line 53 of file trapper.cpp.

References dbenv, initActions(), initMenuBar(), initStatusBar(), initToolBar(), initView(), pDocList, printer, projectDir, pWorkspace, slotActivatedWindow(), untitledCount, viewStatusBar, and viewToolBar.

00054 {
00055     qDebug("in TrapperApp::TrapperApp()");
00056     setCaption(tr("Trapper " "0.9" ) );
00057     dbenv = new DbEnv( DB_CXX_NO_EXCEPTIONS );
00058 
00059     dbenv->set_cachesize(0, 1000000, 0);
00060 
00061     printer = new QPrinter;
00062     untitledCount=0;
00063     pDocList = new QList<TrapperDoc>();
00064     pDocList->setAutoDelete(true);
00065 
00066     ///////////////////////////////////////////////////////////////////
00067     // call inits to invoke all other construction parts
00068     initView();
00069     initActions();
00070     initMenuBar();
00071     initToolBar();
00072     initStatusBar();
00073     resize( 450, 400 );
00074 
00075     viewToolBar->setOn(true);
00076     viewStatusBar->setOn(true);
00077 
00078     projectDir = QString::null;
00079 
00080 //     assistant = new QAssistantClient(QDir("/home/erika/lib/qt/bin").absPath(), this);
00081 //     assistant = new QAssistantClient(QDir("bin/").absPath(), this);
00082 //     QStringList cmdLst;
00083 //     cmdLst << "-profile"<<"doc/trapperhelp.adp";
00084 //     assistant->setArguments( cmdLst );
00085 //     connect( assistant, SIGNAL(error(const QString&)),
00086 //              this, SLOT(showAssistantErrors(const QString&)) );
00087     
00088     connect(pWorkspace, SIGNAL(windowActivated(QWidget*)), this, SLOT(slotActivatedWindow(QWidget*)));
00089 
00090     
00091 }

TrapperApp::~TrapperApp  )  [virtual]
 

destructor

Definition at line 93 of file trapper.cpp.

References dbenv, and printer.

00094 {
00095     delete printer;
00096     dbenv->close(0);
00097 }


Member Function Documentation

QStringList TrapperApp::contigNamesInProjectDir  )  [private]
 

Definition at line 1367 of file trapper.cpp.

References projectDir.

Referenced by open_docs_not_already_open(), and slotImport().

01368 {
01369     QString contigName;
01370     QDir d( projectDir );
01371     Q_ASSERT( d.exists() );
01372     d.setFilter( QDir::Dirs | QDir::NoSymLinks );
01373     d.setSorting( QDir::Name );
01374     QStringList slist = d.entryList();
01375     return slist;
01376 }

void TrapperApp::createClient TrapperDoc doc,
QString  modeview = QString::null
[protected]
 

creates a new child window. The document that will be connected to it has to be created before and the instances filled, with e.g. openDocument(). Then call createClient() to get a new MDI child window.

See also:
TrapperDoc::addView

TrapperDoc::openDocument

Parameters:
doc pointer to the document instance that the view will be connected to.

Definition at line 461 of file trapper.cpp.

References TrapperDoc::addView(), pWorkspace, and slotCreateClient().

Referenced by openDocumentFile(), slotCreateClient(), and slotWindowNewWindow().

00462 {
00463   
00464   TrapperView* w = new TrapperView(doc, pWorkspace, modeView, modeView);
00465   w->installEventFilter(this);
00466   doc->addView(w);
00467   connect( w, SIGNAL( message( const QString& ) ), statusBar(), SLOT( message( const QString& ) ) );
00468   
00469   //The following line doesn't do anything as far as I can tell...?
00470   connect( w, SIGNAL( createView( QString ) ), this, SLOT( slotCreateClient( QString ) ) );
00471   if ( pWorkspace->windowList().isEmpty() ) // show the very first window in maximized mode
00472     w->showMaximized();
00473   else
00474     w->show();
00475 }

bool TrapperApp::eventFilter QObject *  object,
QEvent *  event
[protected, virtual]
 

event filter to catch close events for MDI child windows and is installed in createClient() on every child window. Closing a window calls the eventFilter first which removes the view from the connected documents' view list. If the last view is going to be closed, the eventFilter() tests if the document is modified; if yes, it asks the user to save the document. If the document title contains "Untitled", slotFileSaveAs() gets called to get a save name and path.

Definition at line 558 of file trapper.cpp.

References TrapperDoc::canCloseFrame(), TrapperDoc::firstView(), TrapperView::getDocument(), pDocList, pWorkspace, TrapperDoc::removeView(), and scroll().

00559 {
00560   if((event->type() == QEvent::Close) && ((TrapperApp*)object!=this) ) {
00561 
00562     QCloseEvent* e = (QCloseEvent*)event;
00563     TrapperView* pView = (TrapperView*)object;
00564     TrapperDoc* pDoc = pView->getDocument();
00565     if(pDoc->canCloseFrame(pView)) {
00566       pDoc->removeView(pView);
00567       if( !pDoc->firstView() ) {
00568         pDocList->remove(pDoc);
00569       }
00570       
00571       e->accept();
00572       
00573     }
00574     else {
00575       e->ignore();
00576     }
00577     return true;
00578   }
00579   else if ( (event->type() == QEvent::KeyPress) ) {
00580     QKeyEvent* e = (QKeyEvent*)event;
00581     int scrollfactor(10);
00582     if ( e->state() == Qt::ControlButton )
00583       scrollfactor *= 10;
00584     
00585     if ( e->key() == Qt::Key_Up ) {
00586       scroll(0, -1*scrollfactor);
00587       e->accept();
00588       return true;
00589     }
00590     else if ( e->key() == Qt::Key_Down ) {
00591       scroll(0, 1*scrollfactor);
00592       e->accept();
00593       return true;
00594     }
00595     else if ( e->key() == Qt::Key_Left ) {
00596       scroll(-1*scrollfactor, 0);
00597       e->accept();
00598       return true;
00599     }
00600     else if ( e->key() == Qt::Key_Right ) {
00601       scroll(1*scrollfactor, 0);
00602       e->accept();
00603       return true;
00604     }
00605     else if ( e->key() == Qt::Key_Tab ) {
00606       pWorkspace->activateNextWindow();
00607       e->accept();
00608       return true;
00609     }
00610     else if ( e->key() == Qt::Key_Backtab ) {
00611       pWorkspace->activatePrevWindow();
00612       e->accept();
00613       return true;
00614     }
00615     
00616     e->ignore();
00617   }
00618   
00619   
00620   return QWidget::eventFilter( object, event );    // standard event processing
00621 }

void TrapperApp::exportToFile QString  toXmlFile  ) 
 

Definition at line 1309 of file trapper.cpp.

References open_docs_not_already_open(), and pDocList.

Referenced by slotExport().

01310 {
01311   statusBar()->message(tr("Exporting project to file..."));
01312 
01313   //Open file and docs
01314 
01315   ofstream outFile(toXmlFile.ascii());
01316 //   ostream& outFile = cerr;
01317 
01318   outFile<<"<TRAPPER>\n";
01319   QPtrList<TrapperDoc> docListNotAlreadyOpen;
01320   docListNotAlreadyOpen.setAutoDelete(true);//Will delete docs itself when function exits
01321 
01322   open_docs_not_already_open( docListNotAlreadyOpen );
01323 
01324   //For each contig, write it to file
01325   for (TrapperDoc* doc = pDocList->first(); doc != 0; doc = pDocList->next() ) {
01326     doc->saveExport(outFile);
01327   }
01328   for (TrapperDoc* doc = docListNotAlreadyOpen.first(); doc != 0; doc = docListNotAlreadyOpen.next() ) {
01329     doc->saveExport(outFile);
01330   }
01331   
01332   //Close file
01333   outFile<<"</TRAPPER>\n";
01334   
01335   outFile.close();
01336   statusBar()->message(tr("Ready."));
01337   
01338 }

void TrapperApp::initActions  )  [private]
 

initializes all QActions of the application

Definition at line 99 of file trapper.cpp.

References configureViewModesAction, dragModeAction, editCopy, editCut, editFindRead, editPaste, editSelectAll, editSelectBetween, editUndo, enlargeAction, exportAction, fileClose, fileFlush, fileNew, fileOpen, filePrint, fileQuit, fileSave, fileSaveAs, helpAboutApp, importChromatAction, importMateAction, importNewAction, importPhdAction, modeActionGroup, normalModeAction, pWorkspace, showStatisticsAction, shrinkAction, slotChromatImport(), slotConfigureViewModes(), slotDragMode(), slotEditCopy(), slotEditCut(), slotEditFindRead(), slotEditPaste(), slotEditSelectAll(), slotEditSelectBetween(), slotEditUndo(), slotEnlarge(), slotExport(), slotFileClose(), slotFileFlush(), slotFileNew(), slotFileOpen(), slotFilePrint(), slotFileQuit(), slotFileSave(), slotHelpAbout(), slotMateImport(), slotNewImport(), slotNormalMode(), slotPhdImport(), slotShowStatistics(), slotShrink(), slotViewStatusBar(), slotViewToolBar(), slotWindowNewWindow(), slotZoomIn(), slotZoomInX(), slotZoomInY(), slotZoomOut(), slotZoomOutX(), slotZoomOutY(), viewStatusBar, viewToolBar, windowAction, windowCascade, windowNewWindow, windowTile, zoomInAction, zoomInXAction, zoomInYAction, zoomOutAction, zoomOutXAction, and zoomOutYAction.

Referenced by TrapperApp().

00100 {
00101     QPixmap openIcon, saveIcon, newIcon, selectAllIcon, zoomPlusIcon, zoomMinusIcon,
00102       zoomPlusIconX, zoomPlusIconY, zoomMinusIconX, zoomMinusIconY, flushIcon, dragIcon, pointerIcon;
00103 
00104     newIcon = QPixmap(filenew);
00105     openIcon = QPixmap(fileopen);
00106     saveIcon = QPixmap(filesave);
00107     selectAllIcon = QPixmap( editselectall );
00108     zoomPlusIcon = QPixmap( zoom_in );
00109     zoomPlusIconX = QPixmap( zoom_in_x );
00110     zoomPlusIconY = QPixmap( zoom_in_y );
00111     zoomMinusIcon = QPixmap( zoom_out );
00112     zoomMinusIconX = QPixmap( zoom_out_x);
00113     zoomMinusIconY = QPixmap( zoom_out_y);
00114     flushIcon = QPixmap( dbflush );
00115     pointerIcon = QPixmap(pointerbutton);
00116     dragIcon = QPixmap(dragbutton);
00117 
00118     fileNew = new QAction(tr("New Project"), newIcon, tr("&New"), QAccel::stringToKey(tr("Ctrl+N")), this);
00119     fileNew->setStatusTip(tr("Creates a new project"));
00120     fileNew->setWhatsThis(tr("New Project\n\nCreates a new project"));
00121     connect(fileNew, SIGNAL(activated()), this, SLOT(slotFileNew()));
00122 
00123     fileOpen = new QAction(tr("Open Contig"), openIcon, tr("&Open..."), QAccel::stringToKey(tr("Ctrl+O")), this);
00124     fileOpen->setStatusTip(tr("Opens an existing contig or creates a new one"));
00125     fileOpen->setWhatsThis(tr("Open Contig\n\nOpens an existing contig or creates a new one. To create a new contig, simply create a new directory in the file dialog and choose it"));
00126     connect(fileOpen, SIGNAL(activated()), this, SLOT(slotFileOpen()));
00127 
00128     fileSave = new QAction(tr("Save File"), saveIcon, tr("&Save"), QAccel::stringToKey(tr("Ctrl+S")), this);
00129     fileSave->setStatusTip(tr("Saves the actual document"));
00130     fileSave->setWhatsThis(tr("Save File.\n\nSaves the actual document"));
00131     connect(fileSave, SIGNAL(activated()), this, SLOT(slotFileSave()));
00132 
00133     fileSaveAs = new QAction(tr("Save File As"), tr("Save &as..."), 0, this);
00134     fileSaveAs->setStatusTip(tr("Saves the actual document under a new filename"));
00135     fileSaveAs->setWhatsThis(tr("Save As\n\nSaves the actual document under a new filename"));
00136     connect(fileSaveAs, SIGNAL(activated()), this, SLOT(slotFileSave()));
00137 
00138     fileClose = new QAction(tr("Close Project"), tr("&Close"), QAccel::stringToKey(tr("Ctrl+W")), this);
00139     fileClose->setStatusTip(tr("Closes the actual project"));
00140     fileClose->setWhatsThis(tr("Close Project\n\nCloses the actual project"));
00141     connect(fileClose, SIGNAL(activated()), this, SLOT(slotFileClose()));
00142 
00143     filePrint = new QAction(tr("Print File"), tr("&Print"), QAccel::stringToKey(tr("Ctrl+P")), this);
00144     filePrint->setStatusTip(tr("Prints out the actual document"));
00145     filePrint->setWhatsThis(tr("Print File\n\nPrints out the actual document"));
00146     connect(filePrint, SIGNAL(activated()), this, SLOT(slotFilePrint()));
00147 
00148     fileQuit = new QAction(tr("Exit"), tr("E&xit"), QAccel::stringToKey(tr("Ctrl+Q")), this);
00149     fileQuit->setStatusTip(tr("Quits the application"));
00150     fileQuit->setWhatsThis(tr("Exit\n\nQuits the application"));
00151     connect(fileQuit, SIGNAL(activated()), this, SLOT(slotFileQuit()));
00152 
00153     fileFlush = new QAction(tr("Flush"), flushIcon, tr("&Flush"), QAccel::stringToKey(tr("Ctrl+F")), this);
00154     fileFlush->setStatusTip(tr("Flushes cached data"));
00155     fileFlush->setWhatsThis(tr("Flush\n\nFlushes cached data to database"));
00156     connect(fileFlush, SIGNAL(activated()), this, SLOT(slotFileFlush()));
00157 
00158     editCut = new QAction(tr("Cut"), tr("Cu&t"), QAccel::stringToKey(tr("Ctrl+X")), this);
00159     editCut->setStatusTip(tr("Cuts the selected section and puts it to the clipboard"));
00160     editCut->setWhatsThis(tr("Cut\n\nCuts the selected section and puts it to the clipboard"));
00161     connect(editCut, SIGNAL(activated()), this, SLOT(slotEditCut()));
00162 
00163     editCopy = new QAction(tr("Copy"), tr("&Copy"), QAccel::stringToKey(tr("Ctrl+C")), this);
00164     editCopy->setStatusTip(tr("Copies the selected section to the clipboard"));
00165     editCopy->setWhatsThis(tr("Copy\n\nCopies the selected section to the clipboard"));
00166     connect(editCopy, SIGNAL(activated()), this, SLOT(slotEditCopy()));
00167 
00168     editUndo = new QAction(tr("Undo last move"), tr("&Undo last move"), QAccel::stringToKey(tr("Ctrl+Z")), this);
00169     editUndo->setStatusTip(tr("Reverts the last move"));
00170     editUndo->setWhatsThis(tr("Undo\n\nReverts the last read moving action"));
00171     connect(editUndo, SIGNAL(activated()), this, SLOT(slotEditUndo()));
00172 
00173     editPaste = new QAction(tr("Paste"), tr("&Paste"), QAccel::stringToKey(tr("Ctrl+V")), this);
00174     editPaste->setStatusTip(tr("Pastes the clipboard contents to actual position"));
00175     editPaste->setWhatsThis(tr("Paste\n\nPastes the clipboard contents to actual position"));
00176     connect(editPaste, SIGNAL(activated()), this, SLOT(slotEditPaste()));
00177 
00178     editSelectAll = new QAction(tr("Select All"), selectAllIcon, tr("Select &All"), QAccel::stringToKey(tr("Ctrl+A")), this);
00179     editSelectAll->setStatusTip(tr("Selects all reads"));
00180     editSelectAll->setWhatsThis(tr("Select All\n\nSelects all reads"));
00181     connect(editSelectAll, SIGNAL(activated()), this, SLOT(slotEditSelectAll()));
00182 
00183     editSelectBetween = new QAction(tr("Select Between rows"), tr("Select &Between rows"), 0, this);
00184     editSelectBetween->setStatusTip(tr("Selects all reads between two rows"));
00185     editSelectBetween->setWhatsThis(tr("Select Between rows\n\nSelects all reads between two rows"));
00186     connect(editSelectBetween, SIGNAL(activated()), this, SLOT(slotEditSelectBetween()));
00187 
00188     editFindRead = new QAction(tr("Find Read"), tr("Find Read"), 0, this);
00189     editFindRead->setStatusTip(tr("Selects a specific read"));
00190     editFindRead->setWhatsThis(tr("Find Read\n\nSelects a specific read"));
00191     connect(editFindRead, SIGNAL(activated()), this, SLOT(slotEditFindRead()));
00192 
00193     viewToolBar = new QAction(tr("Toolbar"), tr("Tool&bar"), 0, this, 0, true);
00194     viewToolBar->setStatusTip(tr("Enables/disables the toolbar"));
00195     viewToolBar->setWhatsThis(tr("Toolbar\n\nEnables/disables the toolbar"));
00196     connect(viewToolBar, SIGNAL(toggled(bool)), this, SLOT(slotViewToolBar(bool)));
00197 
00198     viewStatusBar = new QAction(tr("Statusbar"), tr("&Statusbar"), 0, this, 0, true);
00199     viewStatusBar->setStatusTip(tr("Enables/disables the statusbar"));
00200     viewStatusBar->setWhatsThis(tr("Statusbar\n\nEnables/disables the statusbar"));
00201     connect(viewStatusBar, SIGNAL(toggled(bool)), this, SLOT(slotViewStatusBar(bool)));
00202 
00203     windowNewWindow = new QAction(tr("New Wiew"), tr("&New Wiew"), 0, this);
00204     windowNewWindow->setStatusTip(tr("Opens a new view for the current document"));
00205     windowNewWindow->setWhatsThis(tr("New Wiew\n\nOpens a new view for the current document"));
00206     connect(windowNewWindow, SIGNAL(activated()), this, SLOT(slotWindowNewWindow()));
00207 
00208     windowCascade = new QAction(tr("Cascade"), tr("&Cascade"), 0, this);
00209     windowCascade->setStatusTip(tr("Cascades all windows"));
00210     windowCascade->setWhatsThis(tr("Cascade\n\nCascades all windows"));
00211     connect(windowCascade, SIGNAL(activated()), pWorkspace, SLOT(cascade()));
00212 
00213     windowTile = new QAction(tr("Tile"), tr("&Tile"), 0, this);
00214     windowTile->setStatusTip(tr("Tiles all windows"));
00215     windowTile->setWhatsThis(tr("Tile\n\nTiles all windows"));
00216     connect(windowTile, SIGNAL(activated()), pWorkspace, SLOT(tile()));
00217 
00218     windowAction = new QActionGroup(this, 0, false);
00219     windowAction->add(windowNewWindow);
00220     windowAction->add(windowCascade);
00221     windowAction->add(windowTile);
00222     
00223     normalModeAction = new QAction(tr("Normal mode"), pointerIcon, tr("Normal mode"), 0, this);
00224     normalModeAction->setStatusTip(tr("Sets mode to normal"));
00225     normalModeAction->setWhatsThis(tr("Normal mode\n\nFor selection of reads, normal moving etc"));
00226     normalModeAction->setToggleAction(true);
00227     normalModeAction->setOn(true);
00228     connect(normalModeAction, SIGNAL(activated()), this, SLOT(slotNormalMode()));
00229     
00230     dragModeAction = new QAction(tr("Drag mode"), dragIcon, tr("Drag mode"), 0, this);
00231     dragModeAction->setStatusTip(tr("Sets mode to drag mode"));
00232     dragModeAction->setWhatsThis(tr("Drag mode\n\nFor moving reads between contigs, and sideways moving"));
00233     dragModeAction->setToggleAction(true);
00234     connect(dragModeAction, SIGNAL(activated()), this, SLOT(slotDragMode()));
00235 
00236     modeActionGroup = new QActionGroup(this, 0, true);
00237     modeActionGroup->add(normalModeAction);
00238     modeActionGroup->add(dragModeAction);
00239     
00240     helpAboutApp = new QAction(tr("About"), tr("&About..."), 0, this);
00241     helpAboutApp->setStatusTip(tr("About the application"));
00242     helpAboutApp->setWhatsThis(tr("About\n\nAbout the application"));
00243     connect(helpAboutApp, SIGNAL(activated()), this, SLOT(slotHelpAbout()));
00244 
00245 //     helpManualApp = new QAction(tr("Manual"), tr("&Manual"), 0, this);
00246 //     helpManualApp->setStatusTip(tr("Trapper Manual"));
00247 //     helpManualApp->setWhatsThis(tr("Trapper Manual\n\nManual decribing how to use Trapper"));
00248 //     connect(helpManualApp, SIGNAL(activated()), this, SLOT(slotHelpManual()));
00249 
00250 //     importAction = new QAction(tr("Import project"), tr("&Import project"), 0, this);
00251 //     importAction->setStatusTip(tr("Imports project data"));
00252 //     importAction->setWhatsThis(tr("Imports project data"));
00253 //     connect(importAction, SIGNAL(activated()), this, SLOT(slotImport()));
00254 
00255     importNewAction = new QAction(tr("Import project"), tr("&Import project"), 0, this);
00256     importNewAction->setStatusTip(tr("Imports project data"));
00257     importNewAction->setWhatsThis(tr("Imports project data"));
00258     connect(importNewAction, SIGNAL(activated()), this, SLOT(slotNewImport()));
00259 
00260     importChromatAction = new QAction(tr("Import Chromatograms"), tr("Import Chromatograms"), 0, this);
00261     importChromatAction->setStatusTip(tr("Imports chromatogram data"));
00262     importChromatAction->setWhatsThis(tr("Imports chromatogram data"));
00263     connect(importChromatAction, SIGNAL(activated()), this, SLOT(slotChromatImport()));
00264 
00265     importMateAction = new QAction(tr("Import Mate pairs"), tr("Import Mate Pairs"), 0, this);
00266     importMateAction->setStatusTip(tr("Imports mate pair data"));
00267     importMateAction->setWhatsThis(tr("Imports mate pair data"));
00268     connect(importMateAction, SIGNAL(activated()), this, SLOT(slotMateImport()));
00269 
00270     importPhdAction = new QAction(tr("Import phd data"), tr("Import phd data"), 0, this);
00271     importPhdAction->setStatusTip(tr("Imports phd data"));
00272     importPhdAction->setWhatsThis(tr("Imports phd data"));
00273     connect(importPhdAction, SIGNAL(activated()), this, SLOT(slotPhdImport()));
00274 
00275     exportAction = new QAction(tr("Export"), tr("&Export"), 0, this);
00276     exportAction->setStatusTip(tr("Exports data"));
00277     exportAction->setWhatsThis(tr("Exports data"));
00278     connect(exportAction, SIGNAL(activated()), this, SLOT(slotExport()));
00279 
00280     zoomInAction = new QAction(tr("Zoom in"), zoomPlusIcon, tr("Zoom in"), Key_Plus, this);
00281     zoomInAction->setStatusTip(tr("Zooms in"));
00282     zoomInAction->setWhatsThis(tr("Zooms in"));
00283     connect(zoomInAction, SIGNAL(activated()), this, SLOT(slotZoomIn()));
00284 
00285     zoomInXAction = new QAction(tr("Zoom in X"), zoomPlusIconX, tr("Zoom in X"),CTRL + Key_Plus, this);
00286     zoomInXAction->setStatusTip(tr("Zooms in X"));
00287     zoomInXAction->setWhatsThis(tr("Zooms in X direction"));
00288     connect(zoomInXAction, SIGNAL(activated()), this, SLOT(slotZoomInX()));
00289 
00290     zoomInYAction = new QAction(tr("Zoom in Y"), zoomPlusIconY, tr("Zoom in Y"), CTRL + ALT + Key_Plus, this);
00291     zoomInYAction->setStatusTip(tr("Zooms in Y"));
00292     zoomInYAction->setWhatsThis(tr("Zooms in Y direction"));
00293     connect(zoomInYAction, SIGNAL(activated()), this, SLOT(slotZoomInY()));
00294 
00295     zoomOutAction = new QAction(tr("Zoom out"), zoomMinusIcon, tr("&Zoom out"), Key_Minus, this);
00296     zoomOutAction->setStatusTip(tr("Zooms out"));
00297     zoomOutAction->setWhatsThis(tr("Zooms out"));
00298     connect(zoomOutAction, SIGNAL(activated()), this, SLOT(slotZoomOut()));
00299 
00300     zoomOutXAction = new QAction(tr("Zoom out X"), zoomMinusIconX, tr("Zoom out X"), CTRL + Key_Minus, this);
00301     zoomOutXAction->setStatusTip(tr("Zooms out X"));
00302     zoomOutXAction->setWhatsThis(tr("Zooms out in X direction"));
00303     connect(zoomOutXAction, SIGNAL(activated()), this, SLOT(slotZoomOutX()));
00304 
00305     zoomOutYAction = new QAction(tr("Zoom out Y"), zoomMinusIconY, tr("Zoom out Y"), CTRL + ALT + Key_Minus, this);
00306     zoomOutYAction->setStatusTip(tr("Zooms out Y"));
00307     zoomOutYAction->setWhatsThis(tr("Zooms out in Y direction"));
00308     connect(zoomOutYAction, SIGNAL(activated()), this, SLOT(slotZoomOutY()));
00309 
00310     enlargeAction = new QAction(tr("Enlarge"), tr("&Enlarge"), 0, this);
00311     enlargeAction->setStatusTip(tr("Adds more viewable rows"));
00312     enlargeAction->setWhatsThis(tr("Enlarges view, so that more rows and columns can be displayed"));
00313     connect(enlargeAction, SIGNAL(activated()), this, SLOT(slotEnlarge()));
00314 
00315     shrinkAction = new QAction(tr("Shrink"), tr("&Shrink"), 0, this);
00316     shrinkAction->setStatusTip(tr("Removes viewable rows. Does not affect data."));
00317     shrinkAction->setWhatsThis(tr("Shrinks view, displaying fewer rows and columns. Does not affect data."));
00318     connect(shrinkAction, SIGNAL(activated()), this, SLOT(slotShrink()));
00319 
00320     showStatisticsAction = new QAction(tr("Show statistics"), tr("Show statistics"), 0, this);
00321     showStatisticsAction->setStatusTip(tr("Show statistics about contig"));
00322     showStatisticsAction->setWhatsThis(tr("Show underlying berkeley db statistics for this contig"));
00323     connect(showStatisticsAction, SIGNAL(activated()), this, SLOT(slotShowStatistics()));
00324 
00325     configureViewModesAction = new QAction(tr("Configure view modes"), tr("&Configure modes"), 0, this);
00326     configureViewModesAction->setStatusTip(tr("Configure view modes"));
00327     configureViewModesAction->setWhatsThis(tr("Configure view modes"));
00328     connect(configureViewModesAction, SIGNAL(activated()), this, SLOT(slotConfigureViewModes()));
00329 
00330     
00331 }

void TrapperApp::initMenuBar  )  [private]
 

initMenuBar creates the menu_bar and inserts the menuitems

Definition at line 333 of file trapper.cpp.

References editCopy, editCut, editFindRead, editPaste, editSelectAll, editSelectBetween, editUndo, enlargeAction, exportAction, fileClose, fileOpen, fileQuit, helpAboutApp, importChromatAction, importMateAction, importNewAction, importPhdAction, modeActionGroup, pEditMenu, pFileMenu, pHelpMenu, pToolsMenu, pViewMenu, pWindowMenu, showStatisticsAction, shrinkAction, viewStatusBar, viewToolBar, windowMenuAboutToShow(), zoomInAction, zoomInXAction, zoomInYAction, zoomOutAction, zoomOutXAction, and zoomOutYAction.

Referenced by TrapperApp().

00334 {
00335     ///////////////////////////////////////////////////////////////////
00336     // MENUBAR
00337 
00338     ///////////////////////////////////////////////////////////////////
00339     // menuBar entry pFileMenu
00340     pFileMenu=new QPopupMenu();
00341 //     fileNew->addTo(pFileMenu);
00342     fileOpen->addTo(pFileMenu);
00343     fileClose->addTo(pFileMenu);
00344 //     pFileMenu->insertSeparator();
00345 //     fileFlush->addTo( pFileMenu );//DANGEROUS??
00346     //    fileSave->addTo(pFileMenu);
00347     // fileSaveAs->addTo(pFileMenu);
00348 //     pFileMenu->insertSeparator();
00349 //     filePrint->addTo(pFileMenu);
00350     pFileMenu->insertSeparator();
00351     fileQuit->addTo(pFileMenu);
00352 
00353 
00354 
00355 
00356     ///////////////////////////////////////////////////////////////////
00357     // menuBar entry editMenu
00358     pEditMenu=new QPopupMenu();
00359     editUndo->addTo(pEditMenu);
00360 //     pEditMenu->insertSeparator();
00361     editCut->addTo(pEditMenu);
00362     editCopy->addTo(pEditMenu);
00363     editPaste->addTo(pEditMenu);
00364     editSelectAll->addTo(pEditMenu);
00365     editSelectBetween->addTo(pEditMenu);
00366     editFindRead->addTo(pEditMenu);
00367 
00368     ///////////////////////////////////////////////////////////////////
00369     // menuBar entry viewMenu
00370     pViewMenu=new QPopupMenu();
00371     pViewMenu->setCheckable(true);
00372     viewToolBar->addTo(pViewMenu);
00373     viewStatusBar->addTo(pViewMenu);
00374 
00375     zoomInAction->addTo(pViewMenu);
00376     zoomOutAction->addTo(pViewMenu);
00377     zoomInXAction->addTo(pViewMenu);
00378     zoomOutXAction->addTo(pViewMenu);
00379     zoomInYAction->addTo(pViewMenu);
00380     zoomOutYAction->addTo(pViewMenu);
00381     enlargeAction->addTo(pViewMenu);
00382     shrinkAction->addTo(pViewMenu);
00383     showStatisticsAction->addTo(pViewMenu);
00384 //     configureViewModesAction->addTo(pViewMenu);
00385 
00386     ///////////////////////////////////////////////////////////////////
00387     // EDIT YOUR APPLICATION SPECIFIC MENUENTRIES HERE
00388 
00389     pToolsMenu=new QPopupMenu();
00390 //     importAction->addTo(pToolsMenu);
00391     importNewAction->addTo(pToolsMenu);
00392     importChromatAction->addTo(pToolsMenu);
00393     importMateAction->addTo(pToolsMenu);
00394     importPhdAction->addTo(pToolsMenu);
00395     modeActionGroup->addTo(pToolsMenu);
00396     exportAction->addTo(pToolsMenu);
00397 
00398     ///////////////////////////////////////////////////////////////////
00399     // menuBar entry windowMenu
00400     pWindowMenu = new QPopupMenu(this);
00401     pWindowMenu->setCheckable(true);
00402     connect(pWindowMenu, SIGNAL(aboutToShow()), this, SLOT(windowMenuAboutToShow()));
00403 
00404     ///////////////////////////////////////////////////////////////////
00405     // menuBar entry helpMenu
00406     pHelpMenu=new QPopupMenu();
00407 //     helpManualApp->addTo(pHelpMenu);
00408     helpAboutApp->addTo(pHelpMenu);
00409     pHelpMenu->insertSeparator();
00410     pHelpMenu->insertItem(tr("What's &This"), this, SLOT(whatsThis()), SHIFT+Key_F1);
00411 
00412     menuBar()->insertItem(tr("&Contig"), pFileMenu);
00413     menuBar()->insertItem(tr("&Edit"), pEditMenu);
00414     menuBar()->insertItem(tr("&View"), pViewMenu);
00415     menuBar()->insertItem(tr("&Window"), pWindowMenu);
00416     menuBar()->insertItem(tr("&Tools"), pToolsMenu);
00417     menuBar()->insertItem(tr("&Help"), pHelpMenu);
00418 
00419 }

void TrapperApp::initStatusBar  )  [private]
 

setup the statusbar

Definition at line 444 of file trapper.cpp.

Referenced by TrapperApp().

00445 {
00446     ///////////////////////////////////////////////////////////////////
00447     //STATUSBAR
00448     statusBar()->message(tr("Ready."));
00449 }

void TrapperApp::initToolBar  )  [private]
 

this creates the toolbars. Change the toobar look and add new toolbars in this function

Definition at line 421 of file trapper.cpp.

References editSelectAll, fileOpen, fileToolbar, modeActionGroup, zoomInAction, zoomInXAction, zoomInYAction, zoomOutAction, zoomOutXAction, and zoomOutYAction.

Referenced by TrapperApp().

00422 {
00423     ///////////////////////////////////////////////////////////////////
00424     // TOOLBAR
00425     fileToolbar = new QToolBar(this, "file operations");
00426 //     fileNew->addTo(fileToolbar);
00427     fileOpen->addTo(fileToolbar);
00428 //     fileFlush->addTo(fileToolbar);DANGEROUS??
00429 //     fileSave->addTo(fileToolbar);
00430     editSelectAll->addTo(fileToolbar);
00431     zoomInAction->addTo(fileToolbar);
00432     zoomOutAction->addTo(fileToolbar);
00433     zoomInXAction->addTo(fileToolbar);
00434     zoomOutXAction->addTo(fileToolbar);
00435     zoomInYAction->addTo(fileToolbar);
00436     zoomOutYAction->addTo(fileToolbar);
00437     
00438     fileToolbar->addSeparator();
00439     modeActionGroup->addTo(fileToolbar);
00440     fileToolbar->addSeparator();
00441     QWhatsThis::whatsThisButton(fileToolbar);
00442 }

void TrapperApp::initView  )  [private]
 

setup the mainview

Definition at line 451 of file trapper.cpp.

References pWorkspace.

Referenced by TrapperApp().

00452 {
00453     ////////////////////////////////////////////////////////////////////
00454     // set the main widget here
00455     QVBox* view_back = new QVBox( this );
00456     view_back->setFrameStyle( QFrame::StyledPanel | QFrame::Sunken );
00457     pWorkspace = new QWorkspace( view_back );
00458     setCentralWidget(view_back);
00459 }

void TrapperApp::map_reads_to_docs str_doc_map readmap,
QPtrList< TrapperDoc > &  notOpenBefore
[private]
 

fills a map wit read names as keys and pointers to docs they're present in as values

Definition at line 1256 of file trapper.cpp.

References Database::SecondaryIterator< T >::answer(), Database::SecondaryIterator< T >::first(), ReadData::name(), Database::SecondaryIterator< T >::next(), and pDocList.

01257 {
01258   TrapperDoc* doc;
01259   
01260   for(doc=pDocList->first(); doc !=0; doc=pDocList->next()) {
01261     Database::SecondaryIterator<ReadData> name_it( "name", doc, "ReadData" );
01262     assert(name_it.first() == 0);
01263     do {
01264       readmap.insert(make_pair(QString(name_it.answer()->name()), doc));
01265     }while( name_it.next() == 0 );
01266     
01267     
01268   }
01269   for(doc=notOpenBefore.first(); doc !=0; doc=notOpenBefore.next()) {
01270     Database::SecondaryIterator<ReadData> name_it( "name", doc, "ReadData" );
01271     assert(name_it.first() == 0);
01272     do {
01273       readmap.insert(make_pair(name_it.answer()->name(), doc));
01274       
01275     }while( name_it.next() == 0 );
01276     
01277     
01278   }
01279   
01280 }

void TrapperApp::open_docs_not_already_open QPtrList< TrapperDoc > &  notOpenBefore  )  [private]
 

opens contigs that weren't already open and put them in list. User is responsible for deleting docs after use

Definition at line 1219 of file trapper.cpp.

References contigNamesInProjectDir(), dbenv, TrapperDoc::newDocument(), TrapperDoc::openDocument(), TrapperDoc::pathName(), pDocList, and projectDir.

Referenced by exportToFile(), slotChromatImport(), slotMateImport(), and slotPhdImport().

01220 {
01221 
01222   TrapperDoc* doc;
01223   set<QString> alreadyOpen;
01224   
01225   for(doc=pDocList->first(); doc !=0; doc=pDocList->next()) {
01226     
01227     alreadyOpen.insert(doc->pathName().section('/', -2));
01228   }
01229   
01230 
01231   QStringList contigs = contigNamesInProjectDir();
01232   
01233   for ( QStringList::Iterator it = contigs.begin(); it != contigs.end(); ++it ) {
01234     
01235     
01236     if ( *it != "." && *it != ".." && alreadyOpen.find( *it ) == alreadyOpen.end() ) {
01237       
01238       
01239       TrapperDoc* tdoc = new TrapperDoc(dbenv);
01240       tdoc->newDocument();
01241       if ( !tdoc->openDocument(projectDir + "/" + *it ) ) {
01242         QMessageBox::critical(this, tr("Error !"),tr("Could not open document!"));
01243         delete tdoc;
01244       }
01245       else {
01246         notOpenBefore.append( tdoc );
01247       }
01248       
01249     }
01250     
01251 
01252   }
01253   
01254 }

void TrapperApp::openDocumentFile const char *  file = 0  ) 
 

opens a file specified by commandline option

Definition at line 491 of file trapper.cpp.

References createClient(), dbenv, TrapperDoc::firstView(), TrapperDoc::newDocument(), TrapperDoc::openDocument(), TrapperDoc::pathName(), pDocList, projectDir, and untitledCount.

Referenced by slotFileNew(), and slotFileOpen().

00492 {
00493     statusBar()->message(tr("Opening file..."));
00494 //     cerr<<"file: "<<file<<endl<<flush;
00495     TrapperDoc* doc;
00496     // check, if document already open. If yes, set the focus to the first view
00497     for(doc=pDocList->first(); doc > 0; doc=pDocList->next()) {
00498 //       cerr<<"doc->pathName(): "<<doc->pathName()<<endl;
00499       
00500       if(doc->pathName() == file) {
00501         TrapperView* view=doc->firstView();
00502         view->setFocus();
00503         return;
00504       }
00505     }
00506     doc = new TrapperDoc(dbenv);
00507     pDocList->append(doc);
00508     doc->newDocument();
00509     // Creates an untitled window if file is 0
00510 
00511 
00512     QString fileName;
00513     if(!file)
00514     {
00515       untitledCount+=1;
00516       fileName=QString(tr("%1/Untitled%2")).arg(projectDir).arg(untitledCount);
00517 //         fileName=QString(tr("%1/Contig13")).arg(projectDir);
00518     
00519 
00520     }
00521     else
00522     {
00523         fileName = file;
00524     }
00525 
00526     if(!doc->openDocument(fileName))
00527     {
00528         QMessageBox::critical(this, tr("Error !"),tr("Could not open document !"));
00529         delete doc;
00530         return;
00531     }
00532 
00533     // create the window
00534 
00535     //createClient(doc);
00536 
00537 
00538     createClient(doc, QString("closeup"));
00539 
00540     statusBar()->message(tr("Ready."));
00541 }

bool TrapperApp::queryExit  )  [protected]
 

overloaded for Message box on last window exit

Definition at line 543 of file trapper.cpp.

00544 {
00545     int exit=QMessageBox::information(this, tr("Quit..."),
00546                                       tr("Do your really want to quit?"),
00547                                       QMessageBox::Ok, QMessageBox::Cancel);
00548 
00549     if (exit==1)
00550     {}
00551     else
00552     {}
00553     ;
00554 
00555     return (exit==1);
00556 }

void TrapperApp::scroll int  dx,
int  dy
[private]
 

scroll active view

Definition at line 1426 of file trapper.cpp.

References pWorkspace.

Referenced by eventFilter().

01427 {
01428   
01429   TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
01430   if ( m )   m->scrollBy(dx, dy);
01431 }

void TrapperApp::setDbHomeDir QString  dir  ) 
 

set the directory home for the database environment

Definition at line 1340 of file trapper.cpp.

References dbenv, and projectDir.

Referenced by main().

01341 {
01342   QDir d(dir);
01343   if ( d.exists() )
01344     {
01345       projectDir = d.absPath();
01346       int ret;
01347       /* Open the environment with full transactional support. */
01348       if ((ret = dbenv->open(projectDir, DB_CREATE |
01349                              DB_INIT_LOG | DB_INIT_LOCK | DB_INIT_MPOOL | DB_INIT_TXN | DB_RECOVER , 0)) != 0) {
01350         dbenv->err(ret, "environment open: %s", dir.ascii());
01351         exit( 1);
01352       }
01353       cerr<<"DB home dir set"<<endl;
01354     }
01355   else
01356     {
01357       QMessageBox::critical( 0,
01358                              tr( "Critical Error" ),
01359                              tr( "Db home dir \"%1\" doesn't exit" ).arg( dir ) );
01360       
01361       /* todo: instead of exit, ask for a dir with a dialog */
01362       exit(1);
01363     }
01364   
01365 }

void TrapperApp::setViewModeConfFile QString  filename  ) 
 

set the filename for the view modes configuration file

Definition at line 1407 of file trapper.cpp.

References TrapperConf::instance(), TrapperConf::loadDom(), and viewmodefile.

Referenced by main().

01408 {
01409  viewmodefile.setName( filename );
01410   
01411   if ( ! viewmodefile.open( IO_ReadWrite ) )
01412   {
01413         QMessageBox::critical( 0,
01414                                tr( "Critical Error" ),
01415                                tr( "Cannot open configuration file %1" ).arg( filename ) );
01416 
01417         /* todo: instead of exit, ask for a file with a dialog */
01418         exit(1);
01419   }
01420 
01421   TrapperConf * conf = TrapperConf::instance();
01422   Q_CHECK_PTR( conf );
01423   conf->loadDom( &viewmodefile );
01424 }

void TrapperApp::showAssistantErrors const QString &  err  )  [private, slot]
 

Displays error message if assistant isn't working properly

Definition at line 909 of file trapper.cpp.

00910 {
00911 //     QMessageBox::critical( this, "Assistant Error", err );
00912 
00913 }

void TrapperApp::slotActivatedWindow QWidget *  w  )  [private, slot]
 

active window

Definition at line 1448 of file trapper.cpp.

References dragModeAction, and TrapperView::setDragMode().

Referenced by TrapperApp().

01449 {
01450   TrapperView* m = (TrapperView*) w;
01451   if ( m )   m->setDragMode(dragModeAction->isOn());
01452   
01453 }

void TrapperApp::slotChromatImport  )  [private, slot]
 

imports chromat data

Definition at line 1133 of file trapper.cpp.

References open_docs_not_already_open(), pDocList, and projectDir.

Referenced by initActions().

01134 {
01135   statusBar()->message(tr("Importing chromatogram data..."));
01136   
01137   QString chromatDirName = QFileDialog::getExistingDirectory(projectDir,this,"chromat dir selection","Choose chromatogram directory");
01138 
01139   if (chromatDirName.isEmpty()) {
01140     return;
01141   }
01142 
01143   //First, open all contigs (docs)
01144   
01145   QPtrList<TrapperDoc> docListNotAlreadyOpen;
01146   docListNotAlreadyOpen.setAutoDelete(true);//Will delete docs itself when function exits
01147 
01148   open_docs_not_already_open( docListNotAlreadyOpen );
01149 
01150   for (TrapperDoc* doc = pDocList->first(); doc != 0; doc = pDocList->next() ) {
01151     doc->importChromat(chromatDirName);
01152   }
01153   for (TrapperDoc* doc = docListNotAlreadyOpen.first(); doc != 0; doc = docListNotAlreadyOpen.next() ) {
01154     doc->importChromat(chromatDirName);
01155   }
01156 
01157   //Close all docs that weren't already open - happens automatically with QPtrList
01158   
01159   statusBar()->message(tr("Ready."));
01160 }

void TrapperApp::slotConfigureViewModes  )  [private, slot]
 

configure view modes

Definition at line 1398 of file trapper.cpp.

Referenced by initActions().

01399 {
01400    ShowModesDlg * dlg = new ShowModesDlg( this, QString::null );
01401 
01402    if ( dlg->exec() == QDialog::Accepted )
01403    {}
01404 }

void TrapperApp::slotCreateClient QString  modeView  )  [slot]
 

Definition at line 477 of file trapper.cpp.

References createClient(), TrapperView::getDocument(), and pWorkspace.

Referenced by createClient().

00478 {
00479   cerr<<"I suspect I never get called...???"<<endl;
00480     statusBar()->message(tr("Opening new view ..."));
00481 
00482     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00483     if( m )
00484     {
00485         TrapperDoc* doc = m->getDocument();
00486         createClient( doc, modeView );
00487     }
00488     statusBar()->message(tr("Ready."));
00489 }

void TrapperApp::slotDragMode  )  [private, slot]
 

drag mode

Definition at line 1441 of file trapper.cpp.

References pWorkspace, and TrapperView::setDragMode().

Referenced by initActions().

01442 {
01443   TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
01444   if ( m )   m->setDragMode(true);
01445   
01446 }

void TrapperApp::slotEditCopy  )  [private, slot]
 

put the marked text/object into the clipboard

Definition at line 801 of file trapper.cpp.

References TrapperView::copy(), and pWorkspace.

Referenced by initActions().

00802 {
00803     statusBar()->message(tr("Copying selection to clipboard..."));
00804 
00805     TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
00806     if ( m )  m->copy();
00807 
00808     statusBar()->message(tr("Ready."));
00809 }

void TrapperApp::slotEditCut  )  [private, slot]
 

put the marked text/object into the clipboard and remove it from the document

Definition at line 791 of file trapper.cpp.

References TrapperView::cut(), and pWorkspace.

Referenced by initActions().

00792 {
00793     statusBar()->message(tr("Cutting selection..."));
00794 
00795     TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
00796     if ( m ) m->cut();
00797 
00798     statusBar()->message(tr("Ready."));
00799 }

void TrapperApp::slotEditFindRead  )  [private, slot]
 

Finds a specific read

Definition at line 838 of file trapper.cpp.

References TrapperView::findRead(), and pWorkspace.

Referenced by initActions().

00839 {
00840     statusBar()->message(tr("Finding read..."));
00841 
00842     TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
00843     if ( m )   m->findRead();
00844     statusBar()->message(tr("Ready."));
00845 }

void TrapperApp::slotEditPaste  )  [private, slot]
 

paste the clipboard into the document

Definition at line 811 of file trapper.cpp.

References TrapperView::paste(), and pWorkspace.

Referenced by initActions().

00812 {
00813     statusBar()->message(tr("Inserting clipboard contents..."));
00814 
00815     TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
00816     if ( m )   m->paste();
00817     statusBar()->message(tr("Ready."));
00818 }

void TrapperApp::slotEditSelectAll  )  [private, slot]
 

Selects all reads

Definition at line 820 of file trapper.cpp.

References pWorkspace, and TrapperView::selectAll().

Referenced by initActions().

00821 {
00822     statusBar()->message(tr("Selecting all reads..."));
00823 
00824     TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
00825     if ( m )   m->selectAll();
00826     statusBar()->message(tr("Ready."));
00827 }

void TrapperApp::slotEditSelectBetween  )  [private, slot]
 

Selects all reads between two rows

Definition at line 829 of file trapper.cpp.

References pWorkspace, and TrapperView::selectBetween().

Referenced by initActions().

00830 {
00831     statusBar()->message(tr("Selecting all reads between rows..."));
00832 
00833     TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
00834     if ( m )   m->selectBetween();
00835     statusBar()->message(tr("Ready."));
00836 }

void TrapperApp::slotEditUndo  )  [private, slot]
 

reverts the last editing action

Definition at line 781 of file trapper.cpp.

References pWorkspace, and TrapperView::undo().

Referenced by initActions().

00782 {
00783     statusBar()->message(tr("Reverting last move..."));
00784 
00785     TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
00786     if ( m )   m->undo();
00787 
00788     statusBar()->message(tr("Ready."));
00789 }

void TrapperApp::slotEnlarge  )  [private, slot]
 

Enlarges view

Definition at line 1010 of file trapper.cpp.

References TrapperView::enlarge(), and pWorkspace.

Referenced by initActions().

01011 {
01012     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
01013     if( m )
01014     {
01015         m->enlarge();
01016     }
01017 }

void TrapperApp::slotExport  )  [private, slot]
 

exports data

Definition at line 1282 of file trapper.cpp.

References exportToFile().

Referenced by initActions().

01283 {
01284     statusBar()->message(tr("Exporting data to an xml file..."));
01285     QString fn = QFileDialog::getSaveFileName(0, "Trapper Xml (*.xml)", this,
01286                                               "export to file dialog",
01287                                               "Choose a filename to save the export data under");
01288     if (fn.isEmpty())
01289     {
01290         return;
01291     }
01292     if (  QFile::exists( fn ) &&
01293           QMessageBox::question(
01294                                 0,
01295                                 tr("Overwrite File? -- Trapper"),
01296                                 tr("A file called %1 already exists."
01297                                    "Do you want to overwrite it?")
01298                                 .arg( fn ),
01299                                 tr("&Yes"), tr("&No"),
01300                                 QString::null, 0, 1 ) ) {
01301       
01302       return;
01303     }
01304     
01305     exportToFile(fn);
01306     statusBar()->message(tr("Ready."));
01307 }

void TrapperApp::slotFileClose  )  [private, slot]
 

close the actual file

Definition at line 716 of file trapper.cpp.

References TrapperDoc::closeDocument(), TrapperView::getDocument(), and pWorkspace.

Referenced by initActions().

00717 {
00718   cerr<<"Hello slotFileClose() "<<endl;
00719  
00720   statusBar()->message(tr("Closing file..."));
00721   
00722   TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00723   if( m )
00724     {
00725       TrapperDoc* doc=m->getDocument();
00726       doc->closeDocument();
00727     }
00728   
00729   statusBar()->message(tr("Ready."));
00730   cerr<<"Bye slotFileClose() "<<endl;
00731 }

void TrapperApp::slotFileFlush  )  [private, slot]
 

Flushes dbs

Definition at line 696 of file trapper.cpp.

References TrapperDoc::findTrDb(), GeneralMaker::listRegistered(), TrapperDoc::pathName(), pDocList, and TrDb::sync().

Referenced by initActions().

00697 {
00698   statusBar()->message(tr("Flushing database caches..."));
00699   
00700   for(TrapperDoc * doc=pDocList->first(); doc!= 0; doc=pDocList->next())
00701     {
00702       cerr<<"doc->pathName(): "<<doc->pathName()<<endl;
00703       list<string> type_list = GeneralMaker::listRegistered();
00704       for( list<string>::iterator it = type_list.begin(); it != type_list.end(); ++it ) {
00705         TrDb* db = doc->findTrDb( *it );
00706         if ( db ) {
00707           cerr<<"Syncing "<<*it<<endl;
00708           db->sync();
00709           
00710         }
00711       }
00712     }
00713   statusBar()->message(tr("Ready."));  
00714 }

void TrapperApp::slotFileNew  )  [private, slot]
 

generate a new document in the actual view

Definition at line 627 of file trapper.cpp.

References openDocumentFile().

Referenced by initActions().

00628 {
00629   statusBar()->message(tr("Creating new file..."));
00630   
00631   openDocumentFile();
00632   
00633   statusBar()->message(tr("Ready."));
00634 }

void TrapperApp::slotFileOpen  )  [private, slot]
 

open a document

Definition at line 636 of file trapper.cpp.

References openDocumentFile(), and projectDir.

Referenced by initActions().

00637 {
00638   statusBar()->message(tr("Opening file..."));
00639   
00640   QString dirName = QFileDialog::getExistingDirectory(projectDir,this,"contig dir selection","Choose contig dir");
00641   if (!dirName.isEmpty())
00642     {
00643       QDir d(dirName), projdir(projectDir);
00644       
00645       if ( !d.cdUp() || d!= projdir ) {
00646         QMessageBox::critical(this, tr("Error !"),tr("Contig directory must be a subdirectory of project directory!"));
00647 
00648       }
00649       else {
00650         cerr << "opening contig dir=" << dirName<<endl;
00651         openDocumentFile(dirName);
00652       }
00653     }
00654   statusBar()->message(tr("Ready."));
00655 }

void TrapperApp::slotFilePrint  )  [private, slot]
 

print the actual file

Definition at line 733 of file trapper.cpp.

References TrapperView::print(), printer, and pWorkspace.

Referenced by initActions().

00734 {
00735     statusBar()->message(tr("Printing..."));
00736 
00737     TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
00738     if ( m )
00739         m->print( printer );
00740 
00741     statusBar()->message(tr("Ready."));
00742 }

void TrapperApp::slotFileQuit  )  [slot]
 

exits the application

Definition at line 744 of file trapper.cpp.

References pDocList.

Referenced by initActions().

00745 {
00746     statusBar()->message(tr("Exiting application..."));
00747 
00748     for(TrapperDoc * doc=pDocList->first(); doc > 0; doc=pDocList->next())
00749     {
00750         delete doc;
00751     }
00752 
00753 
00754     ///////////////////////////////////////////////////////////////////
00755     // exits the Application
00756     //  if(doc->isModified())
00757     //  {
00758     //    if(queryExit())
00759     //    {
00760     //      qApp->quit();
00761     //    }
00762     //    else
00763     //    {
00764     //
00765     //    };
00766     //  }
00767     //  else
00768     //  {
00769     qApp->quit();
00770 
00771 
00772     //    TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00773     // if( m )
00774     // {
00775     //    TrapperDoc* doc = m->getDocument();
00776     //    delete doc;
00777     //  }
00778     statusBar()->message(tr("Ready."));
00779 }

void TrapperApp::slotFileSave  )  [private, slot]
 

save a document

Definition at line 658 of file trapper.cpp.

References TrapperView::getDocument(), TrapperDoc::pathName(), pWorkspace, TrapperDoc::saveDocument(), slotFileSaveAs(), and TrapperDoc::title().

Referenced by initActions().

00659 {
00660     statusBar()->message(tr("Saving file..."));
00661 
00662     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00663     if( m )
00664     {
00665         TrapperDoc* doc = m->getDocument();
00666         if(doc->title().contains(tr("Untitled")))
00667             slotFileSaveAs();
00668         else
00669             if(!doc->saveDocument(doc->pathName()))
00670                 QMessageBox::critical (this, tr("I/O Error !"), tr("Could not save the current document !"));
00671     }
00672 
00673     statusBar()->message(tr("Ready."));
00674 }

void TrapperApp::slotFileSaveAs  )  [private, slot]
 

save a document under a different filename

Definition at line 676 of file trapper.cpp.

References TrapperDoc::changedViewList(), TrapperView::getDocument(), pWorkspace, and TrapperDoc::saveDocument().

Referenced by slotFileSave().

00677 {
00678     statusBar()->message(tr("Saving file under new filename..."));
00679     QString fn = QFileDialog::getSaveFileName(0, 0, this);
00680     if (!fn.isEmpty())
00681     {
00682         TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00683         if( m )
00684         {
00685             TrapperDoc* doc = m->getDocument();
00686             if(!doc->saveDocument(fn))
00687             {
00688                 QMessageBox::critical (this, tr("I/O Error !"), tr("Could not save the current document !"));
00689                 return;
00690             }
00691             doc->changedViewList();
00692         }
00693     }
00694     statusBar()->message(tr("Ready."));
00695 }

void TrapperApp::slotHelpAbout  )  [private, slot]
 

shows an about dlg

Definition at line 893 of file trapper.cpp.

Referenced by initActions().

00894 {
00895     QMessageBox::about(this,tr("About..."),
00896                        tr("Trapper\nVersion 0.1"
00897                           "\n(c) 2003 - 2005 by Erik Arner, Martti Tammi, Erik Sjölund and Staffan Alveteg"));
00898 }

void TrapperApp::slotHelpManual  )  [private, slot]
 

shows the online help

Definition at line 900 of file trapper.cpp.

00901 {
00902 //   if ( !assistant->isOpen() ) {
00903 //     assistant->openAssistant();
00904 
00905 //   }
00906   
00907 }

void TrapperApp::slotImport  )  [private, slot]
 

imports data

Definition at line 1028 of file trapper.cpp.

References contigNamesInProjectDir(), dbenv, TrapperDoc::import(), TrapperDoc::openDocument(), and projectDir.

01029 {
01030   statusBar()->message(tr("Importing data from an xml file..."));
01031   QString fn = QFileDialog::getOpenFileName(0, 0, this,"import from file dialog","Choose your xml file to import from");
01032   if (!fn.isEmpty()) {
01033     QFile f( fn );
01034     if ( !f.open( IO_ReadOnly ) ) {
01035       QMessageBox::warning(this,"","couldn't read file");
01036     }
01037     
01038     QDomDocument domDoc("Trapper");
01039     if ( !domDoc.setContent( &f ) ) {
01040       f.close();
01041       QMessageBox::warning(this,"","couldn't read xml");
01042       return;
01043     }
01044     f.close();
01045     
01046     QDomElement docElem = domDoc.documentElement();
01047     
01048     for( QDomNode node1 = docElem.firstChild(); !node1.isNull() ; node1 = node1.nextSibling()) {
01049       if ( node1.isElement() && node1.nodeName() == "contig" ) {
01050           QDomElement elem1 = node1.toElement();
01051           
01052           Q_ASSERT((elem1.hasAttribute("name")));
01053           QString contigName = elem1.attribute( "name");
01054           
01055           
01056           bool found = false;
01057           /*
01058             TrapperDoc * doc;      
01059             for(doc=pDocList->first(); doc > 0; doc=pDocList->next())
01060             {
01061             
01062             if(doc->pathName()==contigName)
01063             { found = true; }
01064             }
01065             
01066           */
01067           
01068           QStringList contigNamesAlreadyPresent = contigNamesInProjectDir();
01069           if ( contigNamesAlreadyPresent.contains( contigName ) ) {
01070             found = true;
01071           }
01072           if ( found ) {
01073             QString message;
01074             message = QString("The contig name \"%1\" was specified in the import file, but that contig is already present in the project dir. Skipping this one").arg(contigName);
01075             QMessageBox::warning(this,"",message);
01076             continue;
01077           }
01078           QString fName = projectDir + "/" + contigName;
01079           TrapperDoc *  tdoc = new TrapperDoc(dbenv);
01080           tdoc->openDocument(fName);
01081           tdoc->import( elem1 );
01082           delete tdoc;
01083           tdoc = NULL;
01084           cerr << "reached after"<<endl;
01085           
01086       }
01087       //        node1 = node1.nextSibling();
01088     }
01089     
01090     /*
01091       TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
01092       if( m )
01093       {
01094       TrapperDoc* doc = m->getDocument();
01095       if(!doc->import(fn))
01096       {
01097       QMessageBox::critical (this, tr("I/O Error !"), tr("Could not import !"));
01098       return;
01099       }
01100       }
01101     */
01102     
01103   }
01104   statusBar()->message(tr("Ready."));
01105 }

void TrapperApp::slotMateImport  )  [private, slot]
 

imports mate data

Definition at line 1162 of file trapper.cpp.

References open_docs_not_already_open(), and pDocList.

Referenced by initActions().

01163 {
01164   statusBar()->message(tr("Importing mate data..."));
01165   
01166   QString matefile = QFileDialog::getOpenFileName(0, 0, this,"import from file dialog","Choose your mate pair file to import from");
01167 
01168   if (matefile.isEmpty()) {
01169     return;
01170   }
01171 
01172   //First, open all contigs (docs)
01173   
01174   QPtrList<TrapperDoc> docListNotAlreadyOpen;
01175   docListNotAlreadyOpen.setAutoDelete(true);//Will delete docs itself when function exits
01176 
01177   open_docs_not_already_open( docListNotAlreadyOpen );
01178 
01179   for (TrapperDoc* doc = pDocList->first(); doc != 0; doc = pDocList->next() ) {
01180     doc->importMates(matefile);
01181   }
01182   for (TrapperDoc* doc = docListNotAlreadyOpen.first(); doc != 0; doc = docListNotAlreadyOpen.next() ) {
01183     doc->importMates(matefile);
01184   }
01185 
01186   
01187   statusBar()->message(tr("Ready."));
01188 }

void TrapperApp::slotNewImport  )  [private, slot]
 

imports data

Definition at line 1107 of file trapper.cpp.

References dbenv, and projectDir.

Referenced by initActions().

01108 {
01109   statusBar()->message(tr("Importing data from an xml file..."));
01110   QString fn = QFileDialog::getOpenFileName(0, 0, this,"import from file dialog","Choose your xml file to import from");
01111   if (!fn.isEmpty()) {
01112     QFile f( fn );
01113     if ( !f.open( IO_ReadOnly ) ) {
01114         QMessageBox::warning(this,"","couldn't open file");
01115         return;
01116     }
01117     
01118     TrapperParser handler(dbenv, projectDir);
01119     QXmlInputSource source( &f );
01120     QXmlSimpleReader reader;
01121     reader.setContentHandler( &handler );
01122     
01123     
01124     if (!reader.parse(source) ) {
01125       QMessageBox::warning(this,"","couldn't read file");
01126       return;
01127     }
01128     
01129   }
01130   statusBar()->message(tr("Ready."));
01131 }

void TrapperApp::slotNormalMode  )  [private, slot]
 

normal pointer mode

Definition at line 1432 of file trapper.cpp.

References pWorkspace, and TrapperView::setDragMode().

Referenced by initActions().

01433 {
01434   
01435   TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
01436   if ( m )   m->setDragMode(false);
01437   
01438 }

void TrapperApp::slotPhdImport  )  [private, slot]
 

imports phd data

Definition at line 1190 of file trapper.cpp.

References open_docs_not_already_open(), pDocList, and projectDir.

Referenced by initActions().

01191 {
01192   statusBar()->message(tr("Importing phd data..."));
01193   
01194   QString phdDirName = QFileDialog::getExistingDirectory(projectDir,this,"phd dir selection","Choose phd directory");
01195 
01196   if (phdDirName.isEmpty()) {
01197     return;
01198   }
01199 
01200   //First, open all contigs (docs)
01201   
01202   QPtrList<TrapperDoc> docListNotAlreadyOpen;
01203   docListNotAlreadyOpen.setAutoDelete(true);//Will delete docs itself when function exits
01204 
01205   open_docs_not_already_open( docListNotAlreadyOpen );
01206 
01207   for (TrapperDoc* doc = pDocList->first(); doc != 0; doc = pDocList->next() ) {
01208     doc->importPhd(phdDirName);
01209   }
01210   for (TrapperDoc* doc = docListNotAlreadyOpen.first(); doc != 0; doc = docListNotAlreadyOpen.next() ) {
01211     doc->importPhd(phdDirName);
01212   }
01213 
01214   //Close all docs that weren't already open - happens automatically with QPtrList
01215   
01216   statusBar()->message(tr("Ready."));
01217 }

void TrapperApp::slotShowStatistics  )  [private, slot]
 

show statistics

Definition at line 1378 of file trapper.cpp.

References TrapperView::getDocument(), TrapperDoc::getStatistics(), and pWorkspace.

Referenced by initActions().

01379 {
01380     statusBar()->message(tr("Opening statistics window ..."));
01381 
01382     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
01383     if( m )
01384     {
01385         TrapperDoc* doc = m->getDocument();
01386         if ( doc )
01387         {
01388             QString statisticsText = doc->getStatistics();
01389             QTextEdit * statView = new QTextEdit( );
01390             statView->setReadOnly( true );
01391             statView->setText( statisticsText );
01392             statView->show();
01393         }
01394     }
01395     statusBar()->message(tr("Ready."));
01396 }

void TrapperApp::slotShrink  )  [private, slot]
 

Shrinks view

Definition at line 1019 of file trapper.cpp.

References pWorkspace, and TrapperView::shrink().

Referenced by initActions().

01020 {
01021     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
01022     if( m )
01023     {
01024         m->shrink();
01025     }
01026 }

void TrapperApp::slotStatusHelpMsg const QString &  text  )  [private, slot]
 

change the status message of the whole statusbar temporary

Definition at line 915 of file trapper.cpp.

00916 {
00917     ///////////////////////////////////////////////////////////////////
00918     // change status message of whole statusbar temporary (text, msec)
00919     statusBar()->message(text, 2000);
00920 }

void TrapperApp::slotViewStatusBar bool  toggle  )  [private, slot]
 

toggle the statusbar

Definition at line 863 of file trapper.cpp.

Referenced by initActions().

00864 {
00865     statusBar()->message(tr("Toggle statusbar..."));
00866     ///////////////////////////////////////////////////////////////////
00867     //turn Statusbar on or off
00868 
00869     if (toggle == false)
00870     {
00871         statusBar()->hide();
00872     }
00873     else
00874     {
00875         statusBar()->show();
00876     }
00877     statusBar()->message(tr("Ready."));
00878 }

void TrapperApp::slotViewToolBar bool  toggle  )  [private, slot]
 

toggle the toolbar

Definition at line 847 of file trapper.cpp.

References fileToolbar.

Referenced by initActions().

00848 {
00849     statusBar()->message(tr("Toggle toolbar..."));
00850     ///////////////////////////////////////////////////////////////////
00851     // turn Toolbar on or off
00852     if (toggle== false)
00853     {
00854         fileToolbar->hide();
00855     }
00856     else
00857     {
00858         fileToolbar->show();
00859     };
00860     statusBar()->message(tr("Ready."));
00861 }

void TrapperApp::slotWindowNewWindow  )  [private, slot]
 

creates a new view for the current document

Definition at line 880 of file trapper.cpp.

References createClient(), TrapperView::getDocument(), and pWorkspace.

Referenced by initActions().

00881 {
00882     statusBar()->message(tr("Opening new document view..."));
00883 
00884     TrapperView* m = (TrapperView*) pWorkspace->activeWindow();
00885     if ( m )
00886     {
00887         TrapperDoc* doc = m->getDocument();
00888         createClient(doc);
00889     }
00890     statusBar()->message(tr("Ready."));
00891 }

void TrapperApp::slotZoomIn  )  [private, slot]
 

zooms in

Definition at line 956 of file trapper.cpp.

References pWorkspace, and TrapperView::zoomIn().

Referenced by initActions().

00957 {
00958     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00959     if( m )
00960     {
00961         m->zoomIn();
00962     }
00963 }

void TrapperApp::slotZoomInX  )  [private, slot]
 

zooms in X

Definition at line 965 of file trapper.cpp.

References pWorkspace, and TrapperView::zoomInX().

Referenced by initActions().

00966 {
00967     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00968     if( m )
00969     {
00970         m->zoomInX();
00971     }
00972 }

void TrapperApp::slotZoomInY  )  [private, slot]
 

zooms in Y

Definition at line 974 of file trapper.cpp.

References pWorkspace, and TrapperView::zoomInY().

Referenced by initActions().

00975 {
00976     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00977     if( m )
00978     {
00979         m->zoomInY();
00980     }
00981 }

void TrapperApp::slotZoomOut  )  [private, slot]
 

zooms out

Definition at line 983 of file trapper.cpp.

References pWorkspace, and TrapperView::zoomOut().

Referenced by initActions().

00984 {
00985     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00986     if( m )
00987     {
00988         m->zoomOut();
00989     }
00990 }

void TrapperApp::slotZoomOutX  )  [private, slot]
 

zooms out X

Definition at line 992 of file trapper.cpp.

References pWorkspace, and TrapperView::zoomOutX().

Referenced by initActions().

00993 {
00994     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
00995     if( m )
00996     {
00997         m->zoomOutX();
00998     }
00999 }

void TrapperApp::slotZoomOutY  )  [private, slot]
 

zooms out Y

Definition at line 1001 of file trapper.cpp.

References pWorkspace, and TrapperView::zoomOutY().

Referenced by initActions().

01002 {
01003     TrapperView* m = (TrapperView*)pWorkspace->activeWindow();
01004     if( m )
01005     {
01006         m->zoomOutY();
01007     }
01008 }

void TrapperApp::windowMenuAboutToShow  )  [private, slot]
 

gets called when the window menu is activated; recreates the window menu with all opened window titles.

Definition at line 922 of file trapper.cpp.

References pWindowMenu, pWorkspace, windowAction, windowCascade, windowMenuActivated(), windowNewWindow, and windowTile.

Referenced by initMenuBar().

00923 {
00924     pWindowMenu->clear();
00925     windowNewWindow->addTo(pWindowMenu);
00926     windowCascade->addTo(pWindowMenu);
00927     windowTile->addTo(pWindowMenu);
00928 
00929     if ( pWorkspace->windowList().isEmpty() )
00930     {
00931         windowAction->setEnabled(false);
00932     }
00933     else
00934     {
00935         windowAction->setEnabled(true);
00936     }
00937 
00938     pWindowMenu->insertSeparator();
00939 
00940     QWidgetList windows = pWorkspace->windowList();
00941     for ( int i = 0; i < int(windows.count()); ++i )
00942     {
00943         int id = pWindowMenu->insertItem(QString("&%1 ").arg(i+1)+windows.at(i)->caption(), this, SLOT( windowMenuActivated( int ) ) );
00944         pWindowMenu->setItemParameter( id, i );
00945         pWindowMenu->setItemChecked( id, pWorkspace->activeWindow() == windows.at(i) );
00946     }
00947 }

void TrapperApp::windowMenuActivated int  id  )  [private, slot]
 

activates the MDI child widget when it gets selected from the window menu.

Definition at line 949 of file trapper.cpp.

References pWorkspace.

Referenced by windowMenuAboutToShow().

00950 {
00951     QWidget* w = pWorkspace->windowList().at( id );
00952     if ( w )
00953         w->setFocus();
00954 }


Member Data Documentation

QAssistantClient* TrapperApp::assistant [private]
 

Definition at line 300 of file trapper.h.

QAction* TrapperApp::configureViewModesAction [private]
 

Definition at line 279 of file trapper.h.

Referenced by initActions().

DbEnv* TrapperApp::dbenv [private]
 

Definition at line 304 of file trapper.h.

Referenced by open_docs_not_already_open(), openDocumentFile(), setDbHomeDir(), slotImport(), slotNewImport(), TrapperApp(), and ~TrapperApp().

QAction* TrapperApp::dragModeAction [private]
 

Definition at line 288 of file trapper.h.

Referenced by initActions(), and slotActivatedWindow().

QAction* TrapperApp::editCopy [private]
 

Definition at line 262 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::editCut [private]
 

Definition at line 261 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::editFindRead [private]
 

Definition at line 266 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::editPaste [private]
 

Definition at line 263 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::editSelectAll [private]
 

Definition at line 264 of file trapper.h.

Referenced by initActions(), initMenuBar(), and initToolBar().

QAction* TrapperApp::editSelectBetween [private]
 

Definition at line 265 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::editUndo [private]
 

Definition at line 260 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::enlargeAction [private]
 

Definition at line 276 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::exportAction [private]
 

Definition at line 295 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::fileClose [private]
 

Definition at line 255 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::fileFlush [private]
 

Definition at line 258 of file trapper.h.

Referenced by initActions().

QAction* TrapperApp::fileNew [private]
 

Definition at line 251 of file trapper.h.

Referenced by initActions().

QAction* TrapperApp::fileOpen [private]
 

Definition at line 252 of file trapper.h.

Referenced by initActions(), initMenuBar(), and initToolBar().

QAction* TrapperApp::filePrint [private]
 

Definition at line 256 of file trapper.h.

Referenced by initActions().

QAction* TrapperApp::fileQuit [private]
 

Definition at line 257 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::fileSave [private]
 

Definition at line 253 of file trapper.h.

Referenced by initActions().

QAction* TrapperApp::fileSaveAs [private]
 

Definition at line 254 of file trapper.h.

Referenced by initActions().

QToolBar* TrapperApp::fileToolbar [private]
 

Definition at line 236 of file trapper.h.

Referenced by initToolBar(), and slotViewToolBar().

QAction* TrapperApp::helpAboutApp [private]
 

Definition at line 296 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::helpManualApp [private]
 

Definition at line 297 of file trapper.h.

QAction* TrapperApp::importAction [private]
 

Definition at line 290 of file trapper.h.

QAction* TrapperApp::importChromatAction [private]
 

Definition at line 292 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::importMateAction [private]
 

Definition at line 293 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::importNewAction [private]
 

Definition at line 291 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::importPhdAction [private]
 

Definition at line 294 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QActionGroup* TrapperApp::modeActionGroup [private]
 

Definition at line 286 of file trapper.h.

Referenced by initActions(), initMenuBar(), and initToolBar().

QAction* TrapperApp::normalModeAction [private]
 

Definition at line 287 of file trapper.h.

Referenced by initActions().

QList<TrapperDoc>* TrapperApp::pDocList [private]
 

a list of all open documents. If the last window of a document gets closed, the installed eventFilter removes this document from the list. The document list is checked for modified documents when the user is about to close the application.

Definition at line 249 of file trapper.h.

Referenced by eventFilter(), exportToFile(), map_reads_to_docs(), open_docs_not_already_open(), openDocumentFile(), slotChromatImport(), slotFileFlush(), slotFileQuit(), slotMateImport(), slotPhdImport(), and TrapperApp().

QPopupMenu* TrapperApp::pEditMenu [private]
 

edit_menu contains all items of the menubar entry "Edit"

Definition at line 226 of file trapper.h.

Referenced by initMenuBar().

QPopupMenu* TrapperApp::pFileMenu [private]
 

file_menu contains all items of the menubar entry "File"

Definition at line 224 of file trapper.h.

Referenced by initMenuBar().

QPopupMenu* TrapperApp::pHelpMenu [private]
 

view_menu contains all items of the menubar entry "Help"

Definition at line 230 of file trapper.h.

Referenced by initMenuBar().

QPrinter* TrapperApp::printer [private]
 

the printer instance

Definition at line 243 of file trapper.h.

Referenced by slotFilePrint(), TrapperApp(), and ~TrapperApp().

QString TrapperApp::projectDir [private]
 

Definition at line 302 of file trapper.h.

Referenced by contigNamesInProjectDir(), open_docs_not_already_open(), openDocumentFile(), setDbHomeDir(), slotChromatImport(), slotFileOpen(), slotImport(), slotNewImport(), slotPhdImport(), and TrapperApp().

QPopupMenu* TrapperApp::pToolsMenu [private]
 

the tools menu

Definition at line 234 of file trapper.h.

Referenced by initMenuBar().

QPopupMenu* TrapperApp::pViewMenu [private]
 

view_menu contains all items of the menubar entry "View"

Definition at line 228 of file trapper.h.

Referenced by initMenuBar().

QPopupMenu* TrapperApp::pWindowMenu [private]
 

the window menu

Definition at line 232 of file trapper.h.

Referenced by initMenuBar(), and windowMenuAboutToShow().

QWorkspace* TrapperApp::pWorkspace [private]
 

pWorkspace is the MDI frame widget that handles MDI child widgets. Inititalized in initView()

Definition at line 241 of file trapper.h.

Referenced by createClient(), eventFilter(), initActions(), initView(), scroll(), slotCreateClient(), slotDragMode(), slotEditCopy(), slotEditCut(), slotEditFindRead(), slotEditPaste(), slotEditSelectAll(), slotEditSelectBetween(), slotEditUndo(), slotEnlarge(), slotFileClose(), slotFilePrint(), slotFileSave(), slotFileSaveAs(), slotNormalMode(), slotShowStatistics(), slotShrink(), slotWindowNewWindow(), slotZoomIn(), slotZoomInX(), slotZoomInY(), slotZoomOut(), slotZoomOutX(), slotZoomOutY(), TrapperApp(), windowMenuAboutToShow(), and windowMenuActivated().

QAction* TrapperApp::showStatisticsAction [private]
 

Definition at line 278 of file trapper.h.

Referenced by initActions(), and initMenuBar().

QAction* TrapperApp::shrinkAction [private]
 

Definition at line 277 of file trapper.h.

Referenced by initActions(), and initMenuBar().

int TrapperApp::untitledCount [private]
 

a counter that gets increased each time the user creates a new document with "File"->"New"

Definition at line 245 of file trapper.h.

Referenced by openDocumentFile(), and TrapperApp().

QFile TrapperApp::viewmodefile [private]
 

Definition at line 216 of file trapper.h.

Referenced by setViewModeConfFile().

QAction* TrapperApp::viewStatusBar [private]
 

Definition at line 269 of file trapper.h.

Referenced by initActions(), initMenuBar(), and TrapperApp().

QAction* TrapperApp::viewToolBar [private]
 

Definition at line 268 of file trapper.h.

Referenced by initActions(), initMenuBar(), and TrapperApp().

QActionGroup* TrapperApp::windowAction [private]
 

Definition at line 281 of file trapper.h.

Referenced by initActions(), and windowMenuAboutToShow().

QAction* TrapperApp::windowCascade [private]
 

Definition at line 284 of file trapper.h.

Referenced by initActions(), and windowMenuAboutToShow().

QAction* TrapperApp::windowNewWindow [private]
 

Definition at line 282 of file trapper.h.

Referenced by initActions(), and windowMenuAboutToShow().

QAction* TrapperApp::windowTile [private]
 

Definition at line 283 of file trapper.h.

Referenced by initActions(), and windowMenuAboutToShow().

QAction* TrapperApp::zoomInAction [private]
 

Definition at line 270 of file trapper.h.

Referenced by initActions(), initMenuBar(), and initToolBar().

QAction* TrapperApp::zoomInXAction [private]
 

Definition at line 271 of file trapper.h.

Referenced by initActions(), initMenuBar(), and initToolBar().

QAction* TrapperApp::zoomInYAction [private]
 

Definition at line 272 of file trapper.h.

Referenced by initActions(), initMenuBar(), and initToolBar().

QAction* TrapperApp::zoomOutAction [private]
 

Definition at line 273 of file trapper.h.

Referenced by initActions(), initMenuBar(), and initToolBar().

QAction* TrapperApp::zoomOutXAction [private]
 

Definition at line 274 of file trapper.h.

Referenced by initActions(), initMenuBar(), and initToolBar().

QAction* TrapperApp::zoomOutYAction [private]
 

Definition at line 275 of file trapper.h.

Referenced by initActions(), initMenuBar(), and initToolBar().


The documentation for this class was generated from the following files:
Generated on Fri Mar 17 17:45:01 2006 for trapper by  doxygen 1.4.4