annotate Source/GUI/ControlWindowMainComponent.h @ 56:b4a2d2ae43cf tip

merge
author Andrew McPherson <andrewm@eecs.qmul.ac.uk>
date Fri, 23 Nov 2018 15:48:14 +0000
parents 114427cb39f0
children
rev   line source
andrewm@0 1 /*
andrewm@0 2 ==============================================================================
andrewm@0 3
andrewm@0 4 This is an automatically generated GUI class created by the Introjucer!
andrewm@0 5
andrewm@0 6 Be careful when adding custom code to these files, as only the code within
andrewm@0 7 the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
andrewm@0 8 and re-saved.
andrewm@0 9
andrewm@0 10 Created with Introjucer version: 3.1.0
andrewm@0 11
andrewm@0 12 ------------------------------------------------------------------------------
andrewm@0 13
andrewm@0 14 The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
andrewm@0 15 Copyright 2004-13 by Raw Material Software Ltd.
andrewm@0 16
andrewm@0 17 ==============================================================================
andrewm@0 18 */
andrewm@0 19
andrewm@0 20 #ifndef __JUCE_HEADER_FD693E32C8291DFA__
andrewm@0 21 #define __JUCE_HEADER_FD693E32C8291DFA__
andrewm@0 22
andrewm@0 23 //[Headers] -- You can add your own extra header files here --
andrewm@50 24 #ifndef TOUCHKEYS_NO_GUI
andrewm@50 25
andrewm@0 26 #include "JuceHeader.h"
andrewm@0 27 #include "../MainApplicationController.h"
andrewm@0 28 //[/Headers]
andrewm@0 29
andrewm@0 30
andrewm@0 31
andrewm@0 32 //==============================================================================
andrewm@0 33 /**
andrewm@0 34 //[Comments]
andrewm@0 35 An auto-generated component, created by the Introjucer.
andrewm@0 36
andrewm@0 37 Describe your class and how it works here!
andrewm@0 38 //[/Comments]
andrewm@0 39 */
andrewm@0 40 class ControlWindowMainComponent : public Component,
andrewm@0 41 public TextEditor::Listener,
andrewm@0 42 public ComboBoxListener,
andrewm@0 43 public ButtonListener
andrewm@0 44 {
andrewm@0 45 public:
andrewm@0 46 //==============================================================================
andrewm@0 47 ControlWindowMainComponent ();
andrewm@0 48 ~ControlWindowMainComponent();
andrewm@0 49
andrewm@0 50 //==============================================================================
andrewm@0 51 //[UserMethods] -- You can add your own custom methods in this section.
andrewm@0 52 void setMainApplicationController(MainApplicationController *controller) {
andrewm@0 53 // Attach the user interface to the controller and vice-versa
andrewm@0 54 controller_ = controller;
andrewm@28 55 lastControllerUpdateDeviceCount_ = controller_->devicesShouldUpdate();
andrewm@0 56 updateInputDeviceList();
andrewm@0 57 }
andrewm@0 58
andrewm@0 59 // TextEditor listener methods
andrewm@0 60 void textEditorTextChanged(TextEditor &editor) {}
andrewm@0 61 void textEditorReturnKeyPressed(TextEditor &editor);
andrewm@0 62 void textEditorEscapeKeyPressed(TextEditor &editor);
andrewm@0 63 void textEditorFocusLost(TextEditor &editor);
andrewm@0 64
andrewm@0 65 void synchronize();
andrewm@26 66
andrewm@17 67 // Return the currently selected TouchKeys string
andrewm@17 68 String currentTouchkeysSelectedPath();
andrewm@0 69 //[/UserMethods]
andrewm@0 70
andrewm@0 71 void paint (Graphics& g);
andrewm@0 72 void resized();
andrewm@0 73 void comboBoxChanged (ComboBox* comboBoxThatHasChanged);
andrewm@0 74 void buttonClicked (Button* buttonThatWasClicked);
andrewm@0 75
andrewm@0 76
andrewm@0 77
andrewm@0 78 private:
andrewm@0 79 //[UserVariables] -- You can add your own custom variables in this section.
andrewm@0 80 enum {
andrewm@0 81 // Offsets between Juce UI IDs and positions in vector
andrewm@0 82 kMidiInputDeviceComboBoxOffset = 3,
andrewm@0 83 kTouchkeysComponentComboBoxOffset = 1,
andrewm@0 84 kTouchkeysMaxOctave = 6
andrewm@0 85 };
andrewm@0 86
andrewm@0 87 void updateInputDeviceList();
andrewm@0 88 void updateOscHostPort();
andrewm@0 89 void updateKeyboardSegments();
andrewm@0 90
andrewm@0 91 MainApplicationController *controller_; // Pointer to the main application controller
andrewm@0 92 std::vector<int> midiInputDeviceIDs_;
andrewm@0 93 int lastSelectedMidiInputID_;
andrewm@31 94 int lastSelectedMidiAuxInputID_;
andrewm@0 95 int lastSegmentUniqueIdentifier_;
andrewm@31 96
andrewm@28 97 int lastControllerUpdateDeviceCount_;
andrewm@0 98 //[/UserVariables]
andrewm@0 99
andrewm@0 100 //==============================================================================
andrewm@0 101 ScopedPointer<GroupComponent> midiInputGroupComponent;
andrewm@0 102 ScopedPointer<ComboBox> midiInputDeviceComboBox;
andrewm@0 103 ScopedPointer<Label> label;
andrewm@0 104 ScopedPointer<GroupComponent> groupComponent;
andrewm@0 105 ScopedPointer<Label> label2;
andrewm@0 106 ScopedPointer<ComboBox> touchkeyDeviceComboBox;
andrewm@0 107 ScopedPointer<Label> label3;
andrewm@0 108 ScopedPointer<TextButton> touchkeyStartButton;
andrewm@0 109 ScopedPointer<Label> touchkeyStatusLabel;
andrewm@0 110 ScopedPointer<GroupComponent> oscGroupComponent;
andrewm@0 111 ScopedPointer<Label> label7;
andrewm@0 112 ScopedPointer<TextEditor> oscHostTextEditor;
andrewm@0 113 ScopedPointer<Label> label8;
andrewm@0 114 ScopedPointer<TextEditor> oscPortTextEditor;
andrewm@0 115 ScopedPointer<ToggleButton> oscEnableButton;
andrewm@0 116 ScopedPointer<ToggleButton> oscEnableRawButton;
andrewm@0 117 ScopedPointer<Label> label4;
andrewm@0 118 ScopedPointer<ComboBox> touchkeyOctaveComboBox;
andrewm@0 119 ScopedPointer<GroupComponent> oscInputGroupComponent;
andrewm@0 120 ScopedPointer<ToggleButton> oscInputEnableButton;
andrewm@0 121 ScopedPointer<Label> label6;
andrewm@0 122 ScopedPointer<TextEditor> oscInputPortTextEditor;
andrewm@0 123 ScopedPointer<TabbedComponent> keyboardZoneTabbedComponent;
andrewm@0 124 ScopedPointer<TextButton> addZoneButton;
andrewm@0 125 ScopedPointer<TextButton> removeZoneButton;
andrewm@0 126 ScopedPointer<TextButton> touchkeyAutodetectButton;
andrewm@31 127 ScopedPointer<ComboBox> midiInputAuxDeviceComboBox;
andrewm@31 128 ScopedPointer<Label> label5;
andrewm@0 129
andrewm@0 130
andrewm@0 131 //==============================================================================
andrewm@0 132 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ControlWindowMainComponent)
andrewm@0 133 };
andrewm@0 134
andrewm@0 135 //[EndFile] You can add extra defines here...
andrewm@50 136 #endif // TOUCHKEYS_NO_GUI
andrewm@0 137 //[/EndFile]
andrewm@0 138
andrewm@0 139 #endif // __JUCE_HEADER_FD693E32C8291DFA__