1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-21 01:24:21 +00:00

Introjucer: code editor improvements, icon class reshuffle.

This commit is contained in:
jules 2012-07-24 15:45:44 +01:00
parent c2697bdce9
commit 87db662f29
17 changed files with 270 additions and 93 deletions

View file

@ -87,6 +87,27 @@ public:
TextButton openProjectButton, saveAndOpenButton;
};
//==============================================================================
class LogoComponent : public Component
{
public:
LogoComponent()
{
Rectangle<float> iconSize (getIcons().mainJuceLogo.getBounds());
setSize (400, (int) (400 * iconSize.getWidth() / iconSize.getHeight()));
}
void paint (Graphics& g)
{
g.setColour (findColour (mainBackgroundColourId).contrasting (0.3f));
g.fillPath (getIcons().mainJuceLogo,
RectanglePlacement (RectanglePlacement::centred)
.getTransformToFit (getIcons().mainJuceLogo.getBounds(),
getLocalBounds().toFloat()));
}
};
//==============================================================================
ProjectContentComponent::ProjectContentComponent()
: project (nullptr),
@ -96,6 +117,8 @@ ProjectContentComponent::ProjectContentComponent()
setOpaque (true);
setWantsKeyboardFocus (true);
addAndMakeVisible (logo = new LogoComponent());
treeSizeConstrainer.setMinimumWidth (200);
treeSizeConstrainer.setMaximumWidth (500);
@ -109,6 +132,7 @@ ProjectContentComponent::~ProjectContentComponent()
{
JucerApplication::getApp().openDocumentManager.removeListener (this);
logo = nullptr;
setProject (nullptr);
contentView = nullptr;
removeChildComponent (&bubbleMessage);
@ -141,13 +165,22 @@ void ProjectContentComponent::resized()
{
Rectangle<int> r (getLocalBounds());
treeViewTabs.setBounds (r.removeFromLeft (treeViewTabs.getWidth()));
if (treeViewTabs.isVisible())
treeViewTabs.setBounds (r.removeFromLeft (treeViewTabs.getWidth()));
if (resizerBar != nullptr)
resizerBar->setBounds (r.removeFromLeft (4));
if (contentView != nullptr)
{
contentView->setBounds (r);
logo->setVisible (false);
}
else
{
logo->setBounds (r.reduced (r.getWidth() / 4, r.getHeight() / 4));
logo->setVisible (true);
}
}
void ProjectContentComponent::lookAndFeelChanged()
@ -215,12 +248,13 @@ void ProjectContentComponent::setProject (Project* newProject)
project->addChangeListener (this);
updateMissingFileStatuses();
resized();
}
else
{
treeViewTabs.setVisible (false);
}
resized();
}
}
@ -344,6 +378,7 @@ void ProjectContentComponent::hideEditor()
contentView = nullptr;
updateMainWindowTitle();
commandManager->commandStatusChanged();
resized();
}
void ProjectContentComponent::hideDocument (OpenDocumentManager::Document* doc)