62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|   ==============================================================================
 | |
| 
 | |
|    This file is part of the JUCE library.
 | |
|    Copyright (c) 2017 - ROLI Ltd.
 | |
| 
 | |
|    JUCE is an open source library subject to commercial or open-source
 | |
|    licensing.
 | |
| 
 | |
|    By using JUCE, you agree to the terms of both the JUCE 5 End-User License
 | |
|    Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
 | |
|    27th April 2017).
 | |
| 
 | |
|    End User License Agreement: www.juce.com/juce-5-licence
 | |
|    Privacy Policy: www.juce.com/juce-5-privacy-policy
 | |
| 
 | |
|    Or: You may also use this code under the terms of the GPL v3 (see
 | |
|    www.gnu.org/licenses).
 | |
| 
 | |
|    JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
 | |
|    EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
 | |
|    DISCLAIMED.
 | |
| 
 | |
|   ==============================================================================
 | |
| */
 | |
| 
 | |
| namespace juce
 | |
| {
 | |
| 
 | |
| ButtonTracker::ButtonTracker (Button& buttonToTrack,
 | |
|                               const String& triggeredEventName,
 | |
|                               const StringPairArray& triggeredEventParameters,
 | |
|                               int triggeredEventType)
 | |
|     : button (buttonToTrack),
 | |
|       eventName (triggeredEventName),
 | |
|       eventParameters (triggeredEventParameters),
 | |
|       eventType (triggeredEventType)
 | |
| {
 | |
|     button.addListener (this);
 | |
| }
 | |
| 
 | |
| ButtonTracker::~ButtonTracker()
 | |
| {
 | |
|     button.removeListener (this);
 | |
| }
 | |
| 
 | |
| void ButtonTracker::buttonClicked (Button* b)
 | |
| {
 | |
|     if (b == &button)
 | |
|     {
 | |
|         auto params = eventParameters;
 | |
| 
 | |
|         if (button.getClickingTogglesState())
 | |
|             params.set ("ButtonState", button.getToggleState() ? "On" : "Off");
 | |
| 
 | |
|         Analytics::getInstance()->logEvent (eventName, params, eventType);
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| } // namespace juce
 |