The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.8KB

  1. #pragma once
  2. #include "../JuceLibraryCode/JuceHeader.h"
  3. #include "DemoAnalyticsEventTypes.h"
  4. class MainContentComponent : public Component,
  5. private Button::Listener
  6. {
  7. public:
  8. //==============================================================================
  9. MainContentComponent()
  10. {
  11. crashButton.addListener (this);
  12. addAndMakeVisible (eventButton);
  13. addAndMakeVisible (crashButton);
  14. setSize (300, 200);
  15. StringPairArray logButtonPressParameters;
  16. logButtonPressParameters.set ("id", "a");
  17. logEventButtonPress = new ButtonTracker (eventButton, "button_press", logButtonPressParameters);
  18. }
  19. ~MainContentComponent()
  20. {
  21. crashButton.removeListener (this);
  22. }
  23. void paint (Graphics& g) override
  24. {
  25. g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));
  26. }
  27. void resized() override
  28. {
  29. eventButton.centreWithSize (100, 40);
  30. eventButton.setBounds (eventButton.getBounds().translated (0, 25));
  31. crashButton.setBounds (eventButton.getBounds().translated (0, -50));
  32. }
  33. private:
  34. //==============================================================================
  35. void buttonClicked (Button*) override
  36. {
  37. // In a more advanced application you would probably use a different event
  38. // type here.
  39. Analytics::getInstance()->logEvent ("crash", {}, DemoAnalyticsEventTypes::event);
  40. Analytics::getInstance()->getDestinations().clear();
  41. JUCEApplication::getInstance()->shutdown();
  42. }
  43. TextButton eventButton { "Press me!" }, crashButton { "Simulate crash!" };
  44. ScopedPointer<ButtonTracker> logEventButtonPress;
  45. JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
  46. };