MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { instance = this; ui->setupUi(this); map = 0; // QFont statusFont = font(); statusFont.setBold(true); QFontMetrics statusFontMetrics(statusFont); statusStatus = new QLabel(this); statusStatus->setContentsMargins(4, 2, 4, 2); statusStatus->setFont(statusFont); statusScale = new QLabel(this); statusScale->setContentsMargins(4, 2, 4, 2); statusScale->setAlignment(Qt::AlignCenter); statusScale->setFont(statusFont); statusScale->setFixedWidth(statusFontMetrics.width("9000%")+32); statusMouseXY = new QLabel(this); statusMouseXY->setContentsMargins(4, 2, 4, 2); statusMouseXY->setAlignment(Qt::AlignCenter); statusMouseXY->setFont(statusFont); statusMouseXY->setFixedWidth(statusFontMetrics.width("99999 , 99999")+64); statusBar()->addWidget(statusStatus, 1); statusBar()->addWidget(statusScale); statusBar()->addWidget(statusMouseXY); statusStatus->setText("Started."); resetScale(); resetMouseXY(); }
/** * Set up the menus for the ScatterPlotWindow. * Called from the constructor. */ void ScatterPlotWindow::setupMenus(){ p_menubar = p_scatterPlotWindow->menuBar(); p_toolBar = new QToolBar(p_scatterPlotWindow); p_scatterPlotWindow->addToolBar(Qt::TopToolBarArea,p_toolBar); QAction *fitLine = new QAction(p_plot); fitLine->setText("Line Fit"); fitLine->setIcon(QPixmap("/usgs/cpkgs/isis3/data/base/icons/linefit.png")); QObject::connect(fitLine, SIGNAL(activated()), this, SLOT(showContour())); p_colorize = new QAction(p_plot); p_colorize->setText("Colorize"); p_colorize->setIcon(QPixmap("/usgs/cpkgs/isis3/data/base/icons/rgb.png")); QString text = "Colorize"; p_colorize->setWhatsThis(text); QObject::connect(p_colorize,SIGNAL(activated()),this,SLOT(colorPlot())); QAction *save = new QAction(p_plot); save->setText("&Save Plot As"); save->setIcon(QPixmap("/usgs/cpkgs/isis3/data/base/icons/filesaveas.png")); text = "<b>Function:</b> Save the plot as a png, jpg, or tif file."; save->setWhatsThis(text); QObject::connect(save,SIGNAL(activated()),this,SLOT(savePlot())); QAction *prt = new QAction(p_plot); prt->setText("&Print Plot"); prt->setIcon(QPixmap("/usgs/cpkgs/isis3/data/base/icons/fileprint.png")); text = "<b>Function:</b> Sends the plot image to the printer"; prt->setWhatsThis(text); QObject::connect(prt,SIGNAL(activated()),this,SLOT(printPlot())); QAction *track = new QAction(p_plot); track->setText("Show Mouse &Tracking"); track->setIcon(QPixmap("/usgs/cpkgs/isis3/data/base/icons/goto.png")); track->setCheckable(true); text = "<b>Function:</b> Displays the x,y coordinates as the cursor moves \ around on the plot."; track->setWhatsThis(text); QObject::connect(track,SIGNAL(activated()),this,SLOT(trackerEnabled())); QAction *changeLabels = new QAction(p_plot); changeLabels->setText("Rename Plot &Labels"); changeLabels->setIcon(QPixmap("/usgs/cpkgs/isis3/data/base/icons/plot_renameLabels.png")); text = "<b>Function:</b> Edit the plot title, x and y axis labels."; changeLabels->setWhatsThis(text); QObject::connect(changeLabels,SIGNAL(activated()),this,SLOT(reLabel())); QAction *changeScale = new QAction(p_plot); changeScale->setText("Set &Display Range"); changeScale->setIcon(QPixmap("/usgs/cpkgs/isis3/data/base/icons/plot_setScale.png")); text = "<b>Function:</b> Adjust the scale for the x and y axis on the plot."; changeScale->setWhatsThis(text); QObject::connect(changeScale,SIGNAL(activated()),this, SLOT(setDisplayRange())); QAction *resetScaleButton = new QAction(p_plot); resetScaleButton->setText("Reset Scale"); resetScaleButton->setIcon(QPixmap("/usgs/cpkgs/isis3/data/base/icons/plot_resetscale.png")); text = "<b>Function:</b> Reset the plot's scale."; resetScaleButton->setWhatsThis(text); QObject::connect(resetScaleButton, SIGNAL(activated()),this, SLOT(resetScale())); QAction *close = new QAction(p_plot); close->setText("Close"); QObject::connect(close,SIGNAL(activated()),p_scatterPlotWindow, SLOT(close())); /*setup menus*/ QMenu *options = new QMenu("&Options"); options->addAction(track); options->addAction(changeLabels); options->addAction(changeScale); QMenu *file = new QMenu("&File"); file->addAction(save); file->addAction(prt); file->addAction(close); p_menubar->addMenu(file); p_menubar->addMenu(options); p_toolBar->addAction(track); p_toolBar->addAction(changeLabels); p_toolBar->addAction(changeScale); p_toolBar->addAction(p_colorize); p_toolBar->addAction(fitLine); }