<commit_before>/*-----------------------------------------------------------------------------
 This source file is part of Hopsan NG

 Copyright (c) 2011 
    <NAME>, <NAME>, <NAME>, <NAME>,
    <NAME>, <NAME>, <NAME>, <NAME>

 This file is provided "as is", with no guarantee or warranty for the
 functionality or reliability of the contents. All contents in this file is
 the original work of the copyright holders at the Division of Fluid and
 Mechatronic Systems (Flumes) at Linköping University. Modifying, using or
 redistributing any part of this file is prohibited without explicit
 permission from the copyright holders.
-----------------------------------------------------------------------------*/

//!
//! @file   MainWindow.h
//! @author Flumes <<EMAIL>>
//! @date   2010-01-01
//!
//! @brief Contains the HopsanGUI MainWindow class
//!
//$Id$

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtGui>
#include <QtNetwork/QNetworkReply>

class ProjectTabWidget;
class GraphicsView;
class QGraphicsScene;
class LibraryWidget;
class OptionsDialog;
class MessageWidget;
class TerminalConsole;
class PlotTreeWidget;
class PyDockWidget;
class SystemParametersWidget;
class WelcomeWidget;
class Configuration;
class CopyStack;
class AboutDialog;
class WelcomeDialog;
class HelpDialog;
class OptimizationDialog;
class SensitivityAnalysisDialog;
class ComponentGeneratorDialog;
class TerminalWidget;
class UndoWidget;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();


    OptionsDialog *getOptionsDialog();
    ComponentGeneratorDialog *getComponentGeneratorDialog();
    PyDockWidget *getPythonDock();

    //Set and get methods for simulation parameters in toolbar
    void setStartTimeInToolBar(const double startTime);
    void setTimeStepInToolBar(const double timeStep);
    void setStopTimeInToolBar(const double finishTime);
    void displaySimulationTimeParameters(const QString startTime, const QString timeStep, const QString stopTime);
    double getStartTimeFromToolBar();
    double getTimeStepFromToolBar();
    double getFinishTimeFromToolBar();

    void closeEvent(QCloseEvent *event);

    void showHelpPopupMessage(QString message);
    void hideHelpPopupMessage();

    //Configuration object
    Configuration *mpConfig;    //Public so that python wrappers can access it
                                //! @todo Why can't python wrappers use gpConfig?

    //Widgets
    //! @todo These should probably not be public
    UndoWidget *mpUndoWidget;
    ProjectTabWidget *mpProjectTabs;
    WelcomeWidget *mpWelcomeWidget;
    LibraryWidget *mpLibrary;
    MessageWidget *mpMessageWidget;
    TerminalWidget *mpTerminalWidget;
    PlotTreeWidget *mpPlotWidget;
    PyDockWidget *mpPyDockWidget;
    SystemParametersWidget *mpSystemParametersWidget;
    QStatusBar *mpStatusBar;  //Not used, but gives some nice extra space at bottom :)
    QGridLayout *mpCentralGridLayout;
    HelpDialog *mpHelpDialog;   //Should not be public but accessable from other widgets somehow

    //Actions (public because other widgets connect to them)
    QAction *mpNewAction;
    QAction *mpOpenAction;
    QAction *mpSaveAction;
    QAction *mpSaveAsAction;
    QAction *mpExportModelAction;
    QAction *mpImportFMUAction;
    QAction *mpExportToSimulinkAction;
    QAction *mpExportToSimulinkCoSimAction;
    QAction *mpExportToFMUAction;
    QAction *mpCloseAction;
    QAction *mpUndoAction;
    QAction *mpRedoAction;
    QAction *mpOpenUndoAction;
    QAction *mpOpenSystemParametersAction;
    QAction *mpDisableUndoAction;
    QAction *mpCutAction;
    QAction *mpCopyAction;
    QAction *mpPasteAction;
    QAction *mpSimulateAction;
    QAction *mpOptimizeAction;
    QAction *mpSensitivityAnalysisAction;
    QAction *mpPlotAction;
    QAction *mpLoadLibsAction;
    QAction *mpPropertiesAction;
    QAction *mpOptionsAction;
    QAction *mpAnimateAction;
    QAction *mpResetZoomAction;
    QAction *mpZoomInAction;
    QAction *mpZoomOutAction;
    QAction *mpCenterViewAction;
    QAction *mpToggleNamesAction;
    QAction *mpTogglePortsAction;
    QAction *mpToggleSignalsAction;
    QAction *mpShowPortsAction;
    QAction *mpExportGfxAction;<commit_msg>Missing declaration<commit_after>/*-----------------------------------------------------------------------------
 This source file is part of Hopsan NG

 Copyright (c) 2011 
    <NAME>, <NAME>, <NAME>, <NAME>,
    <NAME>, <NAME>, <NAME>, <NAME>

 This file is provided "as is", with no guarantee or warranty for the
 functionality or reliability of the contents. All contents in this file is
 the original work of the copyright holders at the Division of Fluid and
 Mechatronic Systems (Flumes) at Linköping University. Modifying, using or
 redistributing any part of this file is prohibited without explicit
 permission from the copyright holders.
-----------------------------------------------------------------------------*/

//!
//! @file   MainWindow.h
//! @author Flumes <<EMAIL>>
//! @date   2010-01-01
//!
//! @brief Contains the HopsanGUI MainWindow class
//!
//$Id$

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtGui>
#include <QtNetwork/QNetworkReply>

class ProjectTabWidget;
class GraphicsView;
class QGraphicsScene;
class LibraryWidget;
class OptionsDialog;
class MessageWidget;
class TerminalConsole;
class PlotTreeWidget;
class PyDockWidget;
class SystemParametersWidget;
class WelcomeWidget;
class Configuration;
class CopyStack;
class AboutDialog;
class WelcomeDialog;
class HelpDialog;
class OptimizationDialog;
class SensitivityAnalysisDialog;
class ComponentGeneratorDialog;
class TerminalWidget;
class UndoWidget;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();


    OptionsDialog *getOptionsDialog();
    ComponentGeneratorDialog *getComponentGeneratorDialog();
    PyDockWidget *getPythonDock();

    //Set and get methods for simulation parameters in toolbar
    void setStartTimeInToolBar(const double startTime);
    void setTimeStepInToolBar(const double timeStep);
    void setStopTimeInToolBar(const double finishTime);
    void displaySimulationTimeParameters(const QString startTime, const QString timeStep, const QString stopTime);
    double getStartTimeFromToolBar();
    double getTimeStepFromToolBar();
    double getFinishTimeFromToolBar();

    void closeEvent(QCloseEvent *event);

    void showHelpPopupMessage(QString message);
    void hideHelpPopupMessage();

    //Configuration object
    Configuration *mpConfig;    //Public so that python wrappers can access it
                                //! @todo Why can't python wrappers use gpConfig?

    //Widgets
    //! @todo These should probably not be public
    UndoWidget *mpUndoWidget;
    ProjectTabWidget *mpProjectTabs;
    WelcomeWidget *mpWelcomeWidget;
    LibraryWidget *mpLibrary;
    MessageWidget *mpMessageWidget;
    TerminalWidget *mpTerminalWidget;
    PlotTreeWidget *mpPlotWidget;
    PyDockWidget *mpPyDockWidget;
    SystemParametersWidget *mpSystemParametersWidget;
    QStatusBar *mpStatusBar;  //Not used, but gives some nice extra space at bottom :)
    QGridLayout *mpCentralGridLayout;
    HelpDialog *mpHelpDialog;   //Should not be public but accessable from other widgets somehow

    //Actions (public because other widgets connect to them)
    QAction *mpNewAction;
    QAction *mpOpenAction;
    QAction *mpSaveAction;
    QAction *mpSaveAsAction;
    QAction *mpExportModelAction;
    QAction *mpImportFMUAction;
    QAction *mpExportToSimulinkAction;
    QAction *mpExportToSimulinkCoSimAction;
    QAction *mpExportToFMUAction;
    QAction *mpCloseAction;
    QAction *mpUndoAction;
    QAction *mpRedoAction;
    QAction *mpOpenUndoAction;
    QAction *mpOpenSystemParametersAction;
    QAction *mpDisableUndoAction;
    QAction *mpCutAction;
    QAction *mpCopyAction;
    QAction *mpPasteAction;
    QAction *mpSimulateAction;
    QAction *mpCoSimulationAction;
    QAction *mpOptimizeAction;
    QAction *mpSensitivityAnalysisAction;
    QAction *mpPlotAction;
    QAction *mpLoadLibsAction;
    QAction *mpPropertiesAction;
    QAction *mpOptionsAction;
    QAction *mpAnimateAction;
    QAction *mpResetZoomAction;
    QAction *mpZoomInAction;
    QAction *mpZoomOutAction;
    QAction *mpCenterViewAction;
    QAction *mpToggleNamesAction;
    QAction *mpTogglePortsAction;
    QAction *mpToggleSignalsAction;
    QAction *mpShowPortsAction;
    QAction *mpExportGfxAction;
{'fraction_non_alphanumeric': 0.10398976387111783, 'fraction_numerical': 0.0030243108060951495, 'mean_word_length': 3.657638136511376, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4914809', 'n_tokens_mistral': 2425, 'n_tokens_neox': 2327, 'n_words': 718}