void itemOpennessChanged (bool isNowOpen)
    {
        if (isNowOpen)
        {
            clearSubItems();

            isDirectory = file.isDirectory();

            if (isDirectory)
            {
                if (subContentsList == 0)
                {
                    jassert (parentContentsList != 0);

                    DirectoryContentsList* const l = new DirectoryContentsList (parentContentsList->getFilter(), thread);
                    l->setDirectory (file, true, true);

                    setSubContentsList (l);
                    canDeleteSubContentsList = true;
                }

                changeListenerCallback (0);
            }
        }
    }
示例#2
0
BEGIN_JUCE_NAMESPACE

#include "juce_PluginListComponent.h"
#include "juce_PluginDirectoryScanner.h"
#include "../../gui/components/controls/juce_TextEditor.h"
#include "../../gui/components/windows/juce_AlertWindow.h"
#include "../../gui/graphics/fonts/juce_GlyphArrangement.h"
#include "../../gui/components/filebrowser/juce_FileSearchPathListComponent.h"
#include "../../text/juce_LocalisedStrings.h"
#include "../../events/juce_MessageManager.h"


//==============================================================================
PluginListComponent::PluginListComponent (KnownPluginList& listToEdit,
                                          const File& deadMansPedalFile_,
                                          PropertiesFile* const propertiesToUse_)
    : list (listToEdit),
      deadMansPedalFile (deadMansPedalFile_),
      optionsButton ("Options..."),
      propertiesToUse (propertiesToUse_)
{
    listBox.setModel (this);
    addAndMakeVisible (&listBox);

    addAndMakeVisible (&optionsButton);
    optionsButton.addListener (this);
    optionsButton.setTriggeredOnMouseDown (true);

    setSize (400, 600);
    list.addChangeListener (this);
    changeListenerCallback (0);
}
示例#3
0
SkinCompGUI::SkinCompGUI(SkinComp* comp,SkinGUI* skinGUI):
BoundDrivenComponent(&comp->graphicArea)
{
    this->skinGUI = skinGUI;
	this->comp = comp;
    
	comp->addChangeListener(this);
    
	changeListenerCallback(comp);
    
    this->setOpaque(false);
    
}
//==============================================================================
JucerDocumentEditor::JucerDocumentEditor (JucerDocument* const doc)
    : document (doc),
      tabbedComponent (TabbedButtonBar::TabsAtTop),
      compLayoutPanel (0),
      lastViewportX (0),
      lastViewportY (0),
      currentZoomLevel (1.0)
{
    setOpaque (true);

    if (document != nullptr)
    {
        setSize (document->getInitialWidth(),
                 document->getInitialHeight());

        addAndMakeVisible (tabbedComponent);
        tabbedComponent.setOutline (0);

        tabbedComponent.addTab ("Class", tabColour, new ClassPropertiesPanel (*document), true);

        if (document->getComponentLayout() != nullptr)
            tabbedComponent.addTab ("Subcomponents", tabColour,
                                    compLayoutPanel = new ComponentLayoutPanel (*document, *document->getComponentLayout()), true);

        tabbedComponent.addTab ("Resources", tabColour, new ResourceEditorPanel (*document), true);

        SourceCodeEditor* codeEditor = new SourceCodeEditor (&document->getCppDocument(),
                                                             new CppCodeEditorComponent (document->getCppFile(),
                                                                                         document->getCppDocument().getCodeDocument()));

        tabbedComponent.addTab ("Code", tabColour, codeEditor, true);

        updateTabs();

        tabbedComponent.setCurrentTabIndex (1);

        document->addChangeListener (this);

        resized();
        refreshPropertiesPanel();

        changeListenerCallback (nullptr);
    }
}
//==============================================================================
ComponentOverlayComponent::ComponentOverlayComponent (Component* const target_,
                                                      ComponentLayout& layout_)
    : target (target_),
      borderThickness (4),
      layout (layout_),
      selected (false),
      dragging (false),
      originalAspectRatio (1.0)
{
    setMinimumOnscreenAmounts (0, 0, 0, 0);
    setSizeLimits (borderThickness * 2 + 2, borderThickness * 2 + 2, 8192, 8192);

    addChildComponent (border = new ResizableBorderComponent (this, this));

    border->setBorderThickness (BorderSize<int> (borderThickness));

    target->addComponentListener (this);

    changeListenerCallback (nullptr);
    layout.getSelectedSet().addChangeListener (this);

    setRepaintsOnMouseActivity (true);
    border->setRepaintsOnMouseActivity (true);
}