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@0
|
24 #include "JuceHeader.h"
|
andrewm@0
|
25 #include "../MainApplicationController.h"
|
andrewm@0
|
26 //[/Headers]
|
andrewm@0
|
27
|
andrewm@0
|
28
|
andrewm@0
|
29
|
andrewm@0
|
30 //==============================================================================
|
andrewm@0
|
31 /**
|
andrewm@0
|
32 //[Comments]
|
andrewm@0
|
33 An auto-generated component, created by the Introjucer.
|
andrewm@0
|
34
|
andrewm@0
|
35 Describe your class and how it works here!
|
andrewm@0
|
36 //[/Comments]
|
andrewm@0
|
37 */
|
andrewm@0
|
38 class ControlWindowMainComponent : public Component,
|
andrewm@0
|
39 public TextEditor::Listener,
|
andrewm@0
|
40 public ComboBoxListener,
|
andrewm@0
|
41 public ButtonListener
|
andrewm@0
|
42 {
|
andrewm@0
|
43 public:
|
andrewm@0
|
44 //==============================================================================
|
andrewm@0
|
45 ControlWindowMainComponent ();
|
andrewm@0
|
46 ~ControlWindowMainComponent();
|
andrewm@0
|
47
|
andrewm@0
|
48 //==============================================================================
|
andrewm@0
|
49 //[UserMethods] -- You can add your own custom methods in this section.
|
andrewm@0
|
50 void setMainApplicationController(MainApplicationController *controller) {
|
andrewm@0
|
51 // Attach the user interface to the controller and vice-versa
|
andrewm@0
|
52 controller_ = controller;
|
andrewm@0
|
53 updateInputDeviceList();
|
andrewm@0
|
54 }
|
andrewm@0
|
55
|
andrewm@0
|
56 // TextEditor listener methods
|
andrewm@0
|
57 void textEditorTextChanged(TextEditor &editor) {}
|
andrewm@0
|
58 void textEditorReturnKeyPressed(TextEditor &editor);
|
andrewm@0
|
59 void textEditorEscapeKeyPressed(TextEditor &editor);
|
andrewm@0
|
60 void textEditorFocusLost(TextEditor &editor);
|
andrewm@0
|
61
|
andrewm@0
|
62 void synchronize();
|
andrewm@0
|
63 //[/UserMethods]
|
andrewm@0
|
64
|
andrewm@0
|
65 void paint (Graphics& g);
|
andrewm@0
|
66 void resized();
|
andrewm@0
|
67 void comboBoxChanged (ComboBox* comboBoxThatHasChanged);
|
andrewm@0
|
68 void buttonClicked (Button* buttonThatWasClicked);
|
andrewm@0
|
69
|
andrewm@0
|
70
|
andrewm@0
|
71
|
andrewm@0
|
72 private:
|
andrewm@0
|
73 //[UserVariables] -- You can add your own custom variables in this section.
|
andrewm@0
|
74 enum {
|
andrewm@0
|
75 // Offsets between Juce UI IDs and positions in vector
|
andrewm@0
|
76 kMidiInputDeviceComboBoxOffset = 3,
|
andrewm@0
|
77 kTouchkeysComponentComboBoxOffset = 1,
|
andrewm@0
|
78 kTouchkeysMaxOctave = 6
|
andrewm@0
|
79 };
|
andrewm@0
|
80
|
andrewm@0
|
81 void updateInputDeviceList();
|
andrewm@0
|
82 void updateOscHostPort();
|
andrewm@0
|
83 void updateKeyboardSegments();
|
andrewm@0
|
84
|
andrewm@0
|
85 MainApplicationController *controller_; // Pointer to the main application controller
|
andrewm@0
|
86 std::vector<int> midiInputDeviceIDs_;
|
andrewm@0
|
87 int lastSelectedMidiInputID_;
|
andrewm@0
|
88 int lastSegmentUniqueIdentifier_;
|
andrewm@0
|
89 //[/UserVariables]
|
andrewm@0
|
90
|
andrewm@0
|
91 //==============================================================================
|
andrewm@0
|
92 ScopedPointer<GroupComponent> dataLoggingGroupComponent;
|
andrewm@0
|
93 ScopedPointer<GroupComponent> midiInputGroupComponent;
|
andrewm@0
|
94 ScopedPointer<ComboBox> midiInputDeviceComboBox;
|
andrewm@0
|
95 ScopedPointer<Label> label;
|
andrewm@0
|
96 ScopedPointer<GroupComponent> groupComponent;
|
andrewm@0
|
97 ScopedPointer<Label> label2;
|
andrewm@0
|
98 ScopedPointer<ComboBox> touchkeyDeviceComboBox;
|
andrewm@0
|
99 ScopedPointer<Label> label3;
|
andrewm@0
|
100 ScopedPointer<TextButton> touchkeyStartButton;
|
andrewm@0
|
101 ScopedPointer<Label> touchkeyStatusLabel;
|
andrewm@0
|
102 ScopedPointer<GroupComponent> oscGroupComponent;
|
andrewm@0
|
103 ScopedPointer<Label> label7;
|
andrewm@0
|
104 ScopedPointer<TextEditor> oscHostTextEditor;
|
andrewm@0
|
105 ScopedPointer<Label> label8;
|
andrewm@0
|
106 ScopedPointer<TextEditor> oscPortTextEditor;
|
andrewm@0
|
107 ScopedPointer<ToggleButton> oscEnableButton;
|
andrewm@0
|
108 ScopedPointer<ToggleButton> oscEnableRawButton;
|
andrewm@0
|
109 ScopedPointer<Label> label4;
|
andrewm@0
|
110 ScopedPointer<ComboBox> touchkeyOctaveComboBox;
|
andrewm@0
|
111 ScopedPointer<TextButton> loggingButton;
|
andrewm@0
|
112 ScopedPointer<GroupComponent> oscInputGroupComponent;
|
andrewm@0
|
113 ScopedPointer<ToggleButton> oscInputEnableButton;
|
andrewm@0
|
114 ScopedPointer<Label> label6;
|
andrewm@0
|
115 ScopedPointer<TextEditor> oscInputPortTextEditor;
|
andrewm@0
|
116 ScopedPointer<TextButton> playLogButton;
|
andrewm@0
|
117 ScopedPointer<TabbedComponent> keyboardZoneTabbedComponent;
|
andrewm@0
|
118 ScopedPointer<TextButton> addZoneButton;
|
andrewm@0
|
119 ScopedPointer<TextButton> removeZoneButton;
|
andrewm@0
|
120 ScopedPointer<TextButton> touchkeyAutodetectButton;
|
andrewm@0
|
121
|
andrewm@0
|
122
|
andrewm@0
|
123 //==============================================================================
|
andrewm@0
|
124 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ControlWindowMainComponent)
|
andrewm@0
|
125 };
|
andrewm@0
|
126
|
andrewm@0
|
127 //[EndFile] You can add extra defines here...
|
andrewm@0
|
128 //[/EndFile]
|
andrewm@0
|
129
|
andrewm@0
|
130 #endif // __JUCE_HEADER_FD693E32C8291DFA__
|