/* ============================================================================== This is an automatically generated GUI class created by the Introjucer! Be careful when adding custom code to these files, as only the code within the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded and re-saved. Created with Introjucer version: 3.1.0 ------------------------------------------------------------------------------ The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions" Copyright 2004-13 by Raw Material Software Ltd. ============================================================================== */ #ifndef __JUCE_HEADER_9002020A4DD09B20__ #define __JUCE_HEADER_9002020A4DD09B20__ //[Headers] -- You can add your own extra header files here -- #include "JuceHeader.h" #include "DrawComponent.h" #include "LayerArray.hpp" #include "RbmComponent.h" //[/Headers] //============================================================================== /** //[Comments] An auto-generated component, created by the Introjucer. Describe your class and how it works here! //[/Comments] */ class MainComponent : public Component, public RbmComponentListener, public Thread, public ButtonListener, public SliderListener, public LabelListener { public: //============================================================================== MainComponent (); ~MainComponent(); //============================================================================== //[UserMethods] -- You can add your own custom methods in this section. void onLayerSizeChanged(size_t size) override; void onRbmEpochTrained(size_t progressPercent) override; //[/UserMethods] void paint (Graphics& g); void resized(); void buttonClicked (Button* buttonThatWasClicked); void sliderValueChanged (Slider* sliderThatWasMoved); void labelTextChanged (Label* labelThatHasChanged); void mouseMove (const MouseEvent& e); void mouseEnter (const MouseEvent& e); void mouseExit (const MouseEvent& e); void mouseDown (const MouseEvent& e); void mouseDrag (const MouseEvent& e); void mouseUp (const MouseEvent& e); void mouseDoubleClick (const MouseEvent& e); void mouseWheelMove (const MouseEvent& e, const MouseWheelDetails& wheel); private: //[UserVariables] -- You can add your own custom variables in this section. ScopedPointer m_weights; ScopedPointer m_pRbmComponent; void load(); void save(); void create(juce::String const &projectName=""); void destroy(); const juce::String& getBaseDir(); void run(); String m_baseDir; //[/UserVariables] //============================================================================== ScopedPointer trainButton; ScopedPointer addButton; ScopedPointer patterSlider; ScopedPointer reconstructButton; ScopedPointer ShakeButton; ScopedPointer WeightsSlider; ScopedPointer