andrewm@0: /* andrewm@0: ============================================================================== andrewm@0: andrewm@0: This is an automatically generated GUI class created by the Introjucer! andrewm@0: andrewm@0: Be careful when adding custom code to these files, as only the code within andrewm@0: the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded andrewm@0: and re-saved. andrewm@0: andrewm@0: Created with Introjucer version: 3.1.0 andrewm@0: andrewm@0: ------------------------------------------------------------------------------ andrewm@0: andrewm@0: The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions" andrewm@0: Copyright 2004-13 by Raw Material Software Ltd. andrewm@0: andrewm@0: ============================================================================== andrewm@0: */ andrewm@0: andrewm@0: #ifndef __JUCE_HEADER_FD693E32C8291DFA__ andrewm@0: #define __JUCE_HEADER_FD693E32C8291DFA__ andrewm@0: andrewm@0: //[Headers] -- You can add your own extra header files here -- andrewm@50: #ifndef TOUCHKEYS_NO_GUI andrewm@50: andrewm@0: #include "JuceHeader.h" andrewm@0: #include "../MainApplicationController.h" andrewm@0: //[/Headers] andrewm@0: andrewm@0: andrewm@0: andrewm@0: //============================================================================== andrewm@0: /** andrewm@0: //[Comments] andrewm@0: An auto-generated component, created by the Introjucer. andrewm@0: andrewm@0: Describe your class and how it works here! andrewm@0: //[/Comments] andrewm@0: */ andrewm@0: class ControlWindowMainComponent : public Component, andrewm@0: public TextEditor::Listener, andrewm@0: public ComboBoxListener, andrewm@0: public ButtonListener andrewm@0: { andrewm@0: public: andrewm@0: //============================================================================== andrewm@0: ControlWindowMainComponent (); andrewm@0: ~ControlWindowMainComponent(); andrewm@0: andrewm@0: //============================================================================== andrewm@0: //[UserMethods] -- You can add your own custom methods in this section. andrewm@0: void setMainApplicationController(MainApplicationController *controller) { andrewm@0: // Attach the user interface to the controller and vice-versa andrewm@0: controller_ = controller; andrewm@28: lastControllerUpdateDeviceCount_ = controller_->devicesShouldUpdate(); andrewm@0: updateInputDeviceList(); andrewm@0: } andrewm@0: andrewm@0: // TextEditor listener methods andrewm@0: void textEditorTextChanged(TextEditor &editor) {} andrewm@0: void textEditorReturnKeyPressed(TextEditor &editor); andrewm@0: void textEditorEscapeKeyPressed(TextEditor &editor); andrewm@0: void textEditorFocusLost(TextEditor &editor); andrewm@0: andrewm@0: void synchronize(); andrewm@26: andrewm@17: // Return the currently selected TouchKeys string andrewm@17: String currentTouchkeysSelectedPath(); andrewm@0: //[/UserMethods] andrewm@0: andrewm@0: void paint (Graphics& g); andrewm@0: void resized(); andrewm@0: void comboBoxChanged (ComboBox* comboBoxThatHasChanged); andrewm@0: void buttonClicked (Button* buttonThatWasClicked); andrewm@0: andrewm@0: andrewm@0: andrewm@0: private: andrewm@0: //[UserVariables] -- You can add your own custom variables in this section. andrewm@0: enum { andrewm@0: // Offsets between Juce UI IDs and positions in vector andrewm@0: kMidiInputDeviceComboBoxOffset = 3, andrewm@0: kTouchkeysComponentComboBoxOffset = 1, andrewm@0: kTouchkeysMaxOctave = 6 andrewm@0: }; andrewm@0: andrewm@0: void updateInputDeviceList(); andrewm@0: void updateOscHostPort(); andrewm@0: void updateKeyboardSegments(); andrewm@0: andrewm@0: MainApplicationController *controller_; // Pointer to the main application controller andrewm@0: std::vector midiInputDeviceIDs_; andrewm@0: int lastSelectedMidiInputID_; andrewm@31: int lastSelectedMidiAuxInputID_; andrewm@0: int lastSegmentUniqueIdentifier_; andrewm@31: andrewm@28: int lastControllerUpdateDeviceCount_; andrewm@0: //[/UserVariables] andrewm@0: andrewm@0: //============================================================================== andrewm@0: ScopedPointer midiInputGroupComponent; andrewm@0: ScopedPointer midiInputDeviceComboBox; andrewm@0: ScopedPointer