/* ============================================================================== This file was auto-generated! ============================================================================== */ #include "MainComponent.h" //============================================================================== MainContentComponent::MainContentComponent() { allUsersList.addListener(this); for( int i = 1; i < 10; ++i) { allUsersList.addItem(String(i), i); } allUsersList.setSelectedItemIndex(0); setSize (600, 400); } MainContentComponent::~MainContentComponent() { } void MainContentComponent::paint (Graphics& g) { g.fillAll (Colour (0xff001F36)); } void MainContentComponent::resized() { elements.clear(); FlexBox headerBox; { headerBox.items.add(FlexItem(allUsersList).withFlex(1.0).withMargin({2.0}) ); addAndMakeVisible(allUsersList); } FlexBox contentBox; { FlexBox segmentBox; segmentBox.flexWrap = FlexBox::Wrap::wrap; segmentBox.flexDirection = FlexBox::Direction::row; { auto count = allUsersList.getSelectedItemIndex() + 1; DBG( "count: " + String( count ) ); for( int i = 0; i < count; ++i ) { segmentBox.items.add( FlexItem(1, 1).withFlex(1).withMargin({2.0}).withMinWidth(80) ); auto& flexItem = segmentBox.items.getReference( segmentBox.items.size() - 1); elements.add( new PlaceHolder("segmentBox" + String(i+1), false) ); addAndMakeVisible( elements[elements.size()-1] ); flexItem.associatedComponent = elements[elements.size()-1]; } } contentBox.items.add( FlexItem(segmentBox).withFlex(1.0).withMargin({2.0}) ); } FlexBox selectedSequenceBox; { elements.add( new PlaceHolder("selectedSequenceBox", false) ); addAndMakeVisible( *(elements.getLast()) ); selectedSequenceBox.items.add( FlexItem( *(elements.getLast()) ).withFlex(1.0).withMargin({2.0}) ); } FlexBox footerBox; { elements.add( new PlaceHolder("footerBox", false) ); addAndMakeVisible( *(elements.getLast()) ); footerBox.items.add( FlexItem( *(elements.getLast()) ).withFlex(1.0).withMargin({2.0}) ); } FlexBox interface; interface.flexDirection = FlexBox::Direction::column; interface.items.add( FlexItem(headerBox).withFlex(0.5) ); interface.items.add( FlexItem(contentBox).withFlex(1) ); interface.items.add( FlexItem(selectedSequenceBox).withFlex(0.5) ); interface.items.add( FlexItem(footerBox).withFlex(0.5) ); interface.performLayout(getLocalBounds()); } void MainContentComponent::comboBoxChanged(juce::ComboBox *comboBoxThatHasChanged) { if( comboBoxThatHasChanged == &allUsersList ) { DBG( "comboBoxChanged selectedID:" + String(allUsersList.getSelectedId()) ); loadedSession = allUsersList.getSelectedItemIndex(); allUsersList.setSelectedItemIndex(loadedSession); resized(); } }