mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-26 02:14:22 +00:00
Improvements to ComponentMovementWatcher to check visibility. TopLevelWindow activation fix. Changed MidiMessage default constructor to an empty sysex.
This commit is contained in:
parent
5e67b6c7c5
commit
e05f6a2b95
22 changed files with 322 additions and 347 deletions
|
|
@ -32,46 +32,43 @@ BEGIN_JUCE_NAMESPACE
|
|||
#include "windows/juce_ComponentPeer.h"
|
||||
#include "../../events/juce_MessageManager.h"
|
||||
#include "../../application/juce_Application.h"
|
||||
#include "layout/juce_ComponentMovementWatcher.h"
|
||||
|
||||
|
||||
//==============================================================================
|
||||
class ModalComponentManager::ModalItem : public ComponentListener
|
||||
class ModalComponentManager::ModalItem : public ComponentMovementWatcher
|
||||
{
|
||||
public:
|
||||
ModalItem (Component* const comp, Callback* const callback)
|
||||
: component (comp), returnValue (0), isActive (true), isDeleted (false)
|
||||
: ComponentMovementWatcher (comp),
|
||||
component (comp), returnValue (0), isActive (true)
|
||||
{
|
||||
jassert (comp != 0);
|
||||
|
||||
if (callback != 0)
|
||||
callbacks.add (callback);
|
||||
|
||||
jassert (comp != 0);
|
||||
component->addComponentListener (this);
|
||||
}
|
||||
|
||||
~ModalItem()
|
||||
{
|
||||
if (! isDeleted)
|
||||
component->removeComponentListener (this);
|
||||
}
|
||||
void componentMovedOrResized (bool, bool) {}
|
||||
|
||||
void componentBeingDeleted (Component&)
|
||||
{
|
||||
isDeleted = true;
|
||||
cancel();
|
||||
}
|
||||
|
||||
void componentVisibilityChanged (Component&)
|
||||
void componentPeerChanged()
|
||||
{
|
||||
if (! component->isShowing())
|
||||
cancel();
|
||||
}
|
||||
|
||||
void componentParentHierarchyChanged (Component&)
|
||||
void componentVisibilityChanged()
|
||||
{
|
||||
if (! component->isShowing())
|
||||
cancel();
|
||||
}
|
||||
|
||||
void componentBeingDeleted (Component& comp)
|
||||
{
|
||||
if (component == &comp || comp.isParentOf (component))
|
||||
cancel();
|
||||
}
|
||||
|
||||
void cancel()
|
||||
{
|
||||
if (isActive)
|
||||
|
|
@ -84,7 +81,7 @@ public:
|
|||
Component* component;
|
||||
OwnedArray<Callback> callbacks;
|
||||
int returnValue;
|
||||
bool isActive, isDeleted;
|
||||
bool isActive;
|
||||
|
||||
private:
|
||||
JUCE_DECLARE_NON_COPYABLE (ModalItem);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue