/*
  ==============================================================================

    This file was auto-generated by the Jucer!

    It contains the basic startup code for a Juce application.

  ==============================================================================
*/

#include "../JuceLibraryCode/JuceHeader.h"
#include "MainWindow.h"
#include "UI/CustomLookAndFeel.h"


//==============================================================================
class OpenEphysApplication  : public JUCEApplication
{
public:
    //==============================================================================
    OpenEphysApplication() {}

    ~OpenEphysApplication() {}

    //==============================================================================
    void initialise (const String& commandLine)
    {
        mainWindow = new MainWindow();
        mainWindow->setUsingNativeTitleBar (true);

        customLookAndFeel = new CustomLookAndFeel();
        LookAndFeel::setDefaultLookAndFeel(customLookAndFeel);
    }

    void shutdown()
    {
        mainWindow = 0;
        customLookAndFeel = 0;
    }

    //==============================================================================
    void systemRequestedQuit()
    {quit();}

    //==============================================================================
    const String getApplicationName() { return "Open Ephys Data Acquisition Software";}
    const String getApplicationVersion() {return ProjectInfo::versionString;}
    bool moreThanOneInstanceAllowed() {return true;}
    void anotherInstanceStarted (const String& commandLine)
    {}

private:
    ScopedPointer <MainWindow> mainWindow;
    ScopedPointer <CustomLookAndFeel> customLookAndFeel;
};

//==============================================================================
// This macro generates the main() routine that starts the app.
START_JUCE_APPLICATION(OpenEphysApplication)