|
- #pragma once
-
- #include "../JuceLibraryCode/JuceHeader.h"
-
- #include "DemoAnalyticsEventTypes.h"
-
- class MainContentComponent : public Component,
- private Button::Listener
- {
- public:
- //==============================================================================
- MainContentComponent()
- {
- crashButton.addListener (this);
-
- addAndMakeVisible (eventButton);
- addAndMakeVisible (crashButton);
-
- setSize (300, 200);
-
- StringPairArray logButtonPressParameters;
- logButtonPressParameters.set ("id", "a");
- logEventButtonPress = new ButtonTracker (eventButton, "button_press", logButtonPressParameters);
- }
-
- ~MainContentComponent()
- {
- crashButton.removeListener (this);
- }
-
- void paint (Graphics& g) override
- {
- g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));
- }
-
- void resized() override
- {
- eventButton.centreWithSize (100, 40);
- eventButton.setBounds (eventButton.getBounds().translated (0, 25));
- crashButton.setBounds (eventButton.getBounds().translated (0, -50));
- }
-
- private:
- //==============================================================================
- void buttonClicked (Button*) override
- {
- // In a more advanced application you would probably use a different event
- // type here.
- Analytics::getInstance()->logEvent ("crash", {}, DemoAnalyticsEventTypes::event);
- Analytics::getInstance()->getDestinations().clear();
- JUCEApplication::getInstance()->shutdown();
- }
-
- TextButton eventButton { "Press me!" }, crashButton { "Simulate crash!" };
- ScopedPointer<ButtonTracker> logEventButtonPress;
-
- JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
- };
|