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__
|