//============================================================================== //File browser property //============================================================================== FileTreePropertyComponent::FileTreePropertyComponent(SidebarPanel &ownerPanel, String name, DirectoryContentsList &_listToShow): PropertyComponent(name, 1000), fileComp(_listToShow), upButton (String::empty, DrawableButton::ImageOnButtonBackground), currentDir(""), owner(ownerPanel), standardLookAndFeel(new LookAndFeel_V2()) { addAndMakeVisible(fileComp); addAndMakeVisible(currentDir); currentDir.setLookAndFeel(standardLookAndFeel); currentDir.setColour(Label::backgroundColourId, Colours::white); fileComp.setDragAndDropDescription("FileBrowser"); addAndMakeVisible (upButton); upButton.addListener (this); Path arrowPath; arrowPath.addArrow (Line<float> (50.0f, 100.0f, 50.0f, 0.0f), 40.0f, 100.0f, 50.0f); DrawablePath arrowImage; arrowImage.setFill (Colours::white); arrowImage.setPath (arrowPath); upButton.setImages (&arrowImage); fileComp.setColour (FileTreeComponent::backgroundColourId, Colours::black); fileComp.setColour (TreeView::linesColourId, Colours::white); }
FileSearchPathListComponent::FileSearchPathListComponent() : addButton ("+"), removeButton ("-"), changeButton (TRANS ("change...")), upButton (String::empty, DrawableButton::ImageOnButtonBackground), downButton (String::empty, DrawableButton::ImageOnButtonBackground) { listBox.setModel (this); addAndMakeVisible (listBox); listBox.setColour (ListBox::backgroundColourId, Colours::black.withAlpha (0.02f)); listBox.setColour (ListBox::outlineColourId, Colours::black.withAlpha (0.1f)); listBox.setOutlineThickness (1); addAndMakeVisible (addButton); addButton.addListener (this); addButton.setConnectedEdges (Button::ConnectedOnLeft | Button::ConnectedOnRight | Button::ConnectedOnBottom | Button::ConnectedOnTop); addAndMakeVisible (removeButton); removeButton.addListener (this); removeButton.setConnectedEdges (Button::ConnectedOnLeft | Button::ConnectedOnRight | Button::ConnectedOnBottom | Button::ConnectedOnTop); addAndMakeVisible (changeButton); changeButton.addListener (this); addAndMakeVisible (upButton); upButton.addListener (this); { Path arrowPath; arrowPath.addArrow (Line<float> (50.0f, 100.0f, 50.0f, 0.0f), 40.0f, 100.0f, 50.0f); DrawablePath arrowImage; arrowImage.setFill (Colours::black.withAlpha (0.4f)); arrowImage.setPath (arrowPath); upButton.setImages (&arrowImage); } addAndMakeVisible (downButton); downButton.addListener (this); { Path arrowPath; arrowPath.addArrow (Line<float> (50.0f, 0.0f, 50.0f, 100.0f), 40.0f, 100.0f, 50.0f); DrawablePath arrowImage; arrowImage.setFill (Colours::black.withAlpha (0.4f)); arrowImage.setPath (arrowPath); downButton.setImages (&arrowImage); } updateButtons(); }
//============================================================================== Button* OldSchoolLookAndFeel::createDocumentWindowButton (int buttonType) { Path shape; if (buttonType == DocumentWindow::closeButton) { shape.addLineSegment (Line<float> (0.0f, 0.0f, 1.0f, 1.0f), 0.35f); shape.addLineSegment (Line<float> (1.0f, 0.0f, 0.0f, 1.0f), 0.35f); ShapeButton* const b = new ShapeButton ("close", Colour (0x7fff3333), Colour (0xd7ff3333), Colour (0xf7ff3333)); b->setShape (shape, true, true, true); return b; } else if (buttonType == DocumentWindow::minimiseButton) { shape.addLineSegment (Line<float> (0.0f, 0.5f, 1.0f, 0.5f), 0.25f); DrawableButton* b = new DrawableButton ("minimise", DrawableButton::ImageFitted); DrawablePath dp; dp.setPath (shape); dp.setFill (Colours::black.withAlpha (0.3f)); b->setImages (&dp); return b; } else if (buttonType == DocumentWindow::maximiseButton) { shape.addLineSegment (Line<float> (0.5f, 0.0f, 0.5f, 1.0f), 0.25f); shape.addLineSegment (Line<float> (0.0f, 0.5f, 1.0f, 0.5f), 0.25f); DrawableButton* b = new DrawableButton ("maximise", DrawableButton::ImageFitted); DrawablePath dp; dp.setPath (shape); dp.setFill (Colours::black.withAlpha (0.3f)); b->setImages (&dp); return b; } jassertfalse; return nullptr; }