void buttonClicked(Button* button) { if (button == &colourButton) { ColourSelector colourSelector (ColourSelector::showColourAtTop | ColourSelector::showColourspace); colourSelector.setSize (200, 200); CallOutBox callOut (colourSelector, colourButton, nullptr); callOut.runModalLoop(); setProperties(startTime, endTime, colourSelector.getCurrentColour().getARGB()); } else if (button == &timeButton) { // ownerListBoxModel->filePlayer->setActiveLoopPoint (startTime, endTime, loopIndex, timeButton.getToggleState()); ownerListBoxModel->filePlayer->setLoopTimes (startTime, endTime); ownerListBoxModel->filePlayer->setLoopBetweenTimes (timeButton.getToggleState()); } else if (button == &removeButton) { ownerListBoxModel->dataList.removeProperty(propertyName, nullptr); ownerListBoxModel->getNumRows(); ownerListBoxModel->reorderLoopPoints(); } }
void pMixLookAndFeel::drawCallOutBoxBackground (CallOutBox& box, Graphics& g, const Path& path, Image& cachedImage) { if (cachedImage.isNull()) { cachedImage = Image (Image::ARGB, box.getWidth(), box.getHeight(), true); Graphics g2 (cachedImage); DropShadow (Colours::black.withAlpha (0.7f), 8, Point<int> (0, 2)).drawForPath (g2, path); } g.setColour (Colours::black); g.drawImageAt (cachedImage, 0, 0); g.setColour (Colours::lightgrey); g.fillPath (path); }
void ProcessorList::mouseDownInCanvas(const MouseEvent& e) { isDragging = false; Point<int> pos = e.getPosition(); int xcoord = pos.getX(); int ycoord = pos.getY(); //std::cout << xcoord << " " << ycoord << std::endl; ProcessorListItem* fli = getListItemForYPos(ycoord); if (fli != 0) { //std::cout << "Selecting: " << fli->getName() << std::endl; if (!fli->hasSubItems()){ clearSelectionState(); fli->setSelected(true); } } else { //std::cout << "No selection." << std::endl; } if (fli != 0) { if (xcoord < getWidth() - getScrollBarWidth()) { if (e.mods.isRightButtonDown() || e.mods.isCtrlDown()) { if (fli->getName().equalsIgnoreCase("Sources")) { currentColor = SOURCE_COLOR; } else if (fli->getName().equalsIgnoreCase("Filters")) { currentColor = FILTER_COLOR; } else if (fli->getName().equalsIgnoreCase("Utilities")) { currentColor = UTILITY_COLOR; } else if (fli->getName().equalsIgnoreCase("Sinks")) { currentColor = SINK_COLOR; } else { return; } int options; options += (0 << 0); // showAlpha options += (0 << 1); // showColorAtTop options += (0 << 2); // showSliders options += (1 << 3); // showColourSpace ColourSelector colourSelector(options); colourSelector.setName ("background"); colourSelector.setCurrentColour (findColour (currentColor)); colourSelector.addChangeListener (this); colourSelector.addChangeListener (getProcessorGraph()); colourSelector.setColour (ColourSelector::backgroundColourId, Colours::transparentBlack); colourSelector.setSize (300, 275); CallOutBox callOut (colourSelector, *fli, 0);//*this, 0); callOut.setTopLeftPosition (e.getScreenX(), e.getScreenY()); callOut.setArrowSize(0.0f); callOut.runModalLoop(); } else { fli->reverseOpenState(); } } if (fli == baseItem) { if (fli->isOpen()) { getUIComponent()->childComponentChanged(); } else { getUIComponent()->childComponentChanged(); totalHeight = itemHeight + 2*yBuffer; } } } repaint(); }